Vivado 2015.1 VHDL输入/输出违规

时间:2017-11-17 10:11:07

标签: vhdl xilinx vivado

我正在阅读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。

任何想法?

1 个答案:

答案 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}];