我正在阅读Nexys 4 DDR的教程,我正在实现一个简单的MUX
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)值&#39; DEFAULT&#39;而不是用户指定的特定值。这可能会导致I / O争用或与电路板电源或连接不兼容,从而影响性能,信号完整性或在极端情况下导致设备或其所连接的组件受损。要更正此违规,请指定所有I / O标准。除非所有逻辑端口都定义了用户指定的I / O标准值,否则此设计将无法生成比特流。要允许使用未指定的I / O标准值创建比特流(不推荐),请使用以下命令:set_property SEVERITY {Warning} [get_drc_checks NSTD-1]。注意:使用Vivado运行基础结构(例如,launch_runs Tcl命令)时,将此命令添加到.tcl文件,并将该文件添加为执行运行的write_bitstream步骤的预挂钩。问题端口:LED0。
和
UCIO#1严重警告1个逻辑端口中的1个没有为用户分配特定位置约束(LOC)。这可能会导致I / O争用或与电路板电源或连接不兼容,从而影响性能,信号完整性或在极端情况下导致设备或其所连接的组件受损。要更正此违规,请指定所有引脚位置。除非所有逻辑端口都定义了用户指定的站点LOC约束,否则此设计将无法生成比特流。要允许使用未指定的引脚位置创建比特流(不推荐),请使用以下命令:set_property SEVERITY {Warning} [get_drc_checks UCIO-1]。注意:使用Vivado运行基础结构(例如,launch_runs Tcl命令)时,将此命令添加到.tcl文件,并将该文件添加为执行运行的write_bitstream步骤的预挂钩。问题端口:LED0。
任何想法?
答案 0 :(得分: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}];