2017-11-17 19 views
0

私はNexys 4 DDRのチュートリアルを取得していますし、私は簡単なMUXVivado 2015.1 VHDL入力/出力違反

library IEEE; 

use IEEE.STD_LOGIC_1164.ALL; 

library UNISIM; 
use UNISIM.VComponents.all; 

-- Uncomment the following library declaration if using 
-- arithmetic functions with Signed or Unsigned values 
--use IEEE.NUMERIC_STD.ALL; 

-- Uncomment the following library declaration if instantiating 
-- any Xilinx leaf cells in this code. 
--library UNISIM; 
--use UNISIM.VComponents.all; 

entity lab1_2_1 is 
    Port (SW0 : in STD_LOGIC; 
      SW1 : in STD_LOGIC; 
      SW2 : in STD_LOGIC; 
      LED0 : out STD_LOGIC); 
end lab1_2_1; 

architecture Behavioral of lab1_2_1 is 

      Signal SW2_bar : STD_LOGIC; 
      Signal SW0_int : STD_LOGIC; 
      Signal SW1_int : STD_LOGIC; 


begin 
      SW2_bar <= not SW2; 
      SW0_int <= SW0 and SW2_bar; 
      SW1_int <= SW1 and SW2; 
      LED0 <= SW0_int or SW1_int; 

end Behavioral; 

を実装しています、私はビットストリームを生成する部分を取得する場合、私はこの重要な警告を受けます

NSTD#1重要な警告1つの論理ポートのうち1つは、ユーザーが割り当てた特定の値ではなく、I/O規格(IOSTANDARD)の値 'DEFAULT'を使用します。これは、I/O競合や、ボードの電源や接続性に影響を与え、性能、信号の完全性に影響を与えたり、極端な場合にはデバイスまたはデバイスが接続されているコンポーネントに損傷を与える可能性があります。この違反を修正するには、すべてのI/O規格を指定します。すべての論理ポートにユーザが指定したI/O規格値が定義されていない限り、このデザインはビットストリームの生成に失敗します。指定されていないI/O標準値(推奨されません)でビットストリームを作成できるようにするには、set_property SEVERITY {Warning} [get_drc_checks NSTD-1]コマンドを使用します。注記:Vivado Runsインフラストラクチャ(例:launch_runs Tclコマンド)を使用する場合、このコマンドを.tclファイルに追加し、そのファイルを実装実行のwrite_bitstreamステップのプリフックとして追加します。問題ポート:LED0。

UCIO#1重大警告1から論理ポートには、ユーザが特定のロケーション制約(LOC)が割り当てられていません。これは、I/O競合や、ボードの電源や接続性に影響を与え、性能、信号の完全性に影響を与えたり、極端な場合にはデバイスまたはデバイスが接続されているコンポーネントに損傷を与える可能性があります。この違反を修正するには、すべてのピン位置を指定します。すべての論理ポートにユーザが指定したサイトLOC制約が定義されていない限り、このデザインはビットストリームを生成できません。指定されていないピン位置(推奨されない)でビットストリームを作成するには、set_property SEVERITY {Warning} [get_drc_checks UCIO-1]コマンドを使用します。注記:Vivado Runsインフラストラクチャ(例:launch_runs Tclコマンド)を使用する場合、このコマンドを.tclファイルに追加し、そのファイルを実装実行のwrite_bitstreamステップのプリフックとして追加します。問題ポート:LED0。

どのようなアイデアですか?

+1

ハードウェアを設計しています。あなたのデザインにIOセルを指定していないようです。 FPGAをPCBの残りの回路に接続する電子機器を指定していません。 (例えば、どのような電圧が関与しているか、どのような電流を流すか、どんなスルーレートか)これはVHDLで指定できるものではなく、使用しているFPGA環境に妥当なものです。あなたはマニュアルを読む必要があります。 –

+0

@MatthewTaylorありがとうございました。私はそれを解決することができました。 – ayo

答えて

2

Vivadoは、IOとIO規格の物理的な場所を定義することを期待しています。 IO規格は、FPGAのピンに接続された電圧レベルとプルアップ/プルダウン抵抗に依存します。

制約ファイル(SDCやXDCなど)に追加することができます。たとえば、出力LED0をFPGAのA1に接続し、IO規格を2.5V LVCMOSと定義しました。正しい値は、FPGAボードのマニュアルに記載されています。

set_property PACKAGE_PIN A1  [get_ports {LED0}]; 
set_property IOSTANDARD LVCMOS25 [get_ports {LED0}];