Scripting Vivado脚本
我正在使用Vivado运行我的Verilog代码。尽管我在运行合成和实现时没有看到任何错误,但无法构建比特流 这是我得到的错误: 错误:[Drc 23-20]规则冲突(NSTD-1)未指定的I/O标准-12个逻辑端口中有12个使用I/O标准(IOSTANDARD)值“默认”,而不是用户指定的特定值。这可能导致I/O争用或与板电源或连接不兼容,影响性能、信号完整性,或在极端情况下导致设备或其连接的组件损坏 这也表明: 要更正此冲突,请指定所有I/O标准。除非所有逻辑端口都定义了用户指定的I/O标准值,否则此设计将无法生成位流。要允许使用未指定的I/O标准值创建位流(不推荐),请使用以下命令:Scripting Vivado脚本,scripting,tcl,constraints,vivado,parallella,Scripting,Tcl,Constraints,Vivado,Parallella,我正在使用Vivado运行我的Verilog代码。尽管我在运行合成和实现时没有看到任何错误,但无法构建比特流 这是我得到的错误: 错误:[Drc 23-20]规则冲突(NSTD-1)未指定的I/O标准-12个逻辑端口中有12个使用I/O标准(IOSTANDARD)值“默认”,而不是用户指定的特定值。这可能导致I/O争用或与板电源或连接不兼容,影响性能、信号完整性,或在极端情况下导致设备或其连接的组件损坏 这也表明: 要更正此冲突,请指定所有I/O标准。除非所有逻辑端口都定义了用户指定的I/O标准
set_property SEVERITY {Warning} [get_drc_checks NSTD-1]
注意:当使用Vivado Runs基础结构(例如,launch_Runs Tcl命令)时,将此命令添加到.Tcl文件中,并将该文件添加为实现运行的write_位流步骤的预钩子
这可以归结为如何使用Vivado在
Tcl
中编写脚本?我将建议的命令添加到tcl控制台,但仍然出现相同的错误。我建议您按照工具的指示执行,例如,为顶级端口指定IO标准,如果您有sys\u rst\n
顶级端口,您可以将以下行添加到.xdc
约束文件中:
set_property IOSTANDARD LVCMOS18 [get_ports sys_rst_n]
当然,您应该更改LVCMOS18
,以匹配您端口的IO标准
您得到的错误实际上是而不是
Tcl
问题。您想修复这些IOs,否则可能会损坏硬件
- 打开路由检查点(dcp)
- 使用IO端口窗口修复具有默认IO标准的IO(如果需要,逐个修复)
- 从tcl窗口创建比特流
- 从上面(从tcl控制台)复制为修复IOs而运行的命令,并将这些命令放入tcl文件中
- 将此tcl文件添加为“post route physopt”的钩子,以便tcl在实现流程的最后一步执行时自动运行
- 如果将来要重新运行实现,则应该将命令放在项目xdc文件中