约束 – 有没有办法全局设置IOSTANDARD约束而不必为每个单独的I / O设置它?-Altera-Intel社区-FPGA CPLD-ChipDebug

约束 – 有没有办法全局设置IOSTANDARD约束而不必为每个单独的I / O设置它?

问题描述

ISE和Vivado工具自动设置默认I / O标准。有没有办法改变其他I / O标准?

解决/修复方法

Vivado:

以下Tcl命令将所有非MGT引脚设置为IOSTANDARD(在本例中为LVCMOS18):

 set_property IOSTANDARD LVCMOS18 [get_ports -of_objects [get_iobanks -filter {BANK_TYPE!〜“BT_MGT”}]] 

ISE设计套件:

在UCF文件中添加以下约束:

NET“*”IOSTANDARD = USER_DEFAULT_IOSTANDARD;

此约束将覆盖XCF或HDL代码中的I / O标准约束,并将所有I / O设置为USER_DEFAULT_IOSTANDARD。

如果设计中还有其他IOSTANDARD,则需要添加相应的IOSTANDARD约束来覆盖此全局约束。例如,如果分配USET_DEFAULT_IOSTANDARD是单端标准,并且设计中存在一些差分I / O,则在MAP过程中会出现错误;您必须在UCF中为这些差分I / O手动指定正确的I / O标准。

不支持DEFAULT IOSTANDARD约束。

注意:在最新的ISE 13.x软件中,对网络约束的传播规则进行了更改。

此新传播规则可能会阻止上述约束按预期工作。上述约束可能会对您的给定设计提供不一致的结果。

使用通配符指定IOSTANDARD并不理想,因为通配符将与内部网络匹配。内部网络不支持I / O标准约束。建议为设计中的每个I / O指定IOSTANDARD。

DEFAULT约束确实支持DRIVE和SLEW;但是,这不适用于IOSTANDARD。

警告:NgdBuild:1421 – 文件’example_top.ucf’中第’41’行的’DEFAULT IOSTANDARD’约束不会全局设置设计的iostandard。

指定每个I / O的建议方法是使用PAR过程下的“Back Annotate Pin Locations”选项。这列出了从PAR运行成功锁定的所有引脚,您可以为每个引脚添加IOSTANDARD。

请登录后发表评论

    没有回复内容