【问题标题】:Vivado 2015.1 VHDL Input/ Output ViolationVivado 2015.1 VHDL 输入/输出违规
【发布时间】:2017-11-17 10:11:06
【问题描述】:

我正在学习 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) 值“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 个逻辑端口中的 1 个没有用户分配的特定位置约束 (LOC)。这可能会导致 I/O 争用或与电路板电源或连接不兼容,从而影响性能、信号完整性,或者在极端情况下会损坏设备或其连接的组件。要纠正此违规行为,请指定所有引脚位置。除非所有逻辑端口都定义了用户指定的站点 LOC 约束,否则此设计将无法生成比特流。要允许使用未指定的管脚位置(不推荐)创建比特流,请使用以下命令:set_property SEVERITY {Warning} [get_drc_checks UCIO-1]。注意:使用 Vivado Runs 基础架构(例如,launch_runs Tcl 命令)时,将此命令添加到 .tcl 文件中,并将该文件添加为实现运行的 write_bitstream 步骤的预挂钩。问题端口:LED0。

有什么想法吗?

【问题讨论】:

  • 您正在设计硬件。您似乎没有为您的设计指定 IO 单元;您尚未指定将 FPGA 连接到 PCB 其余部分的电路的电子设备。 (例如涉及什么电压、什么驱动电流、什么转换速率) 这不是您可以在 VHDL 中指定的内容,而是您正在使用的 FPGA 环境的适当内容。您需要阅读手册。
  • @MatthewTaylor 谢谢。我能够解决它。

标签: vhdl xilinx vivado


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多