芯路恒电子技术论坛

 找回密码
 立即注册
热搜: 合集
查看: 10015|回复: 0

【Vivado常见问题】【DRC NSTD-1 DRC UCIO-1】无法生成bitstream(部分管脚位置或电平未指定)

[复制链接]
  • TA的每日心情
    慵懒
    2021-2-24 10:16
  • 422

    主题

    780

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    15848
    QQ
    发表于 2020-10-24 13:14:55 | 显示全部楼层 |阅读模式
    生成bit失败.jpg
    报错截图.jpg

    [DRC NSTD-1] Unspecified I/O Standard: 4 out of 4 logical ports use I/O standard (IOSTANDARD) value 'DEFAULT', instead of a user assigned specific value. This may cause I/O contention or incompatibility with the board power or connectivity affecting performance, signal integrity or in extreme cases cause damage to the device or the components to which it is connected. To correct this violation, specify all I/O standards. This design will fail to generate a bitstream unless all logical ports have a user specified I/O standard value defined. To
    allow bitstream creation with unspecified I/O standard values (not recommended), use this command: set_property SEVERITY {Warning} [get_drc_checks NSTD-1].  NOTE: When using the Vivado Runs infrastructure (e.g. launch_runs Tcl command), add this command to a .tcl file and add that file as a pre-hook for write_bitstream step for the implementation run. Problem ports: a, b, out, and sel.


    [DRC UCIO-1] Unconstrained Logical Port: 4 out of 4 logical ports have no user assigned specific location constraint (LOC). This may cause I/O contention or incompatibility with the board power or connectivity affecting performance, signal integrity or in extreme cases cause damage to the device or the components to which it is connected. To correct this violation, specify all pin locations. This design will fail to generate a bitstream unless all logical ports have a user specified site LOC constraint defined.  To allow bitstream creation with unspecified pin locations (not recommended), use this command: set_property SEVERITY {Warning} [get_drc_checks UCIO-1].  NOTE: When using the Vivado Runs infrastructure (e.g. launch_runs Tcl command), add this command to a .tcl file and add that file as a pre-hook for write_bitstream step for the implementation run.  Problem ports: a, b, out, and sel.



    问题原因

    此种情况发生在对一个工程进行全编译后生成bitstream时,如果没有给工程添加IO约束,那么整个工程生成的bitstream就没有任何意义,所以生成bitstream的时候就会报该错误并生成失败。


    正确的做法

    仔细检查管脚,看是否报告的对应管脚没有指定位置,电平,然后根据实际物理电路给工程加入合理且正确的IO约束之后,再编译生成bitstream。


    例外情况

    但是假如工程就是有些信号暂时没法指定管脚呢,比如顶层设计端口包含串口,LED、按键,此时只想验证按键和串口,LED由于当前硬件限制没有对应的物理电路,没法确定管脚。这种情况可以使用一句脚本语言来暂时忽略该限制。只需要创建一个tcl脚本,在脚本中输入下述内容即可
    set_property SEVERITY {Warning} [get_drc_checks NSTD-1]
    set_property SEVERITY {Warning} [get_drc_checks RTSTAT-1]
    set_property SEVERITY {Warning} [get_drc_checks UCIO-1]

    ,然后在工程设置中的Bitstream选项中,添加该tcl文件到tcl.pre项中,如下图所示:
    设置添加tcl.jpg

    添加tcl.jpg


    以下为编写好的tcl文件。
    pre_hook.tcl (171 Bytes, 下载次数: 542)

    或者不创建文件,直接将上面三句话写在你工程的管脚约束xdc文件的开头也是可以的。


    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|Archiver|芯路恒电子技术论坛 |鄂ICP备2021003648号

    GMT+8, 2024-4-20 10:24 , Processed in 0.115113 second(s), 35 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

    快速回复 返回顶部 返回列表