Vivado 2015.1 VHDL 输入/输出违规 [英] Vivado 2015.1 VHDL Input/ Output Violation

查看:36
本文介绍了Vivado 2015.1 VHDL 输入/输出违规的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在学习 Nexys 4 DDR 的教程,我正在实现一个简单的 MUX

I am getting through the tutorial of Nexys 4 DDR and I am implementing a simple 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;

当我开始生成比特流时,我收到了这个严重警告

When I get to the part of generating a bitstream, I get this critical warning

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.

有什么想法吗?

推荐答案

Vivado 希望您定义 IO 和 IO 标准的物理位置.IO 标准取决于电压电平和连接到 FPGA 引脚的上拉/下拉电阻.

Vivado expects you to define physical locations of the IOs and IO standards. IO standard depends on the voltage level and pull-up/pull-down resistors connected to pins of the FPGA.

您可以将这些添加到约束文件(例如 SDC 或 XDC)中.例如,我将输出LED0分配到FPGA的引脚A1,并将IO标准定义为2.5V LVCMOS.正确的值可以在您的 FPGA 板手册中找到.

You may add those into a constraint file (e.g. SDC or XDC). For example, I assigned output LED0 to pin A1 of the FPGA and defined the IO standard as 2.5V LVCMOS. The correct values can be found in the manual of your FPGA board.

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

这篇关于Vivado 2015.1 VHDL 输入/输出违规的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆