0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

管脚约束问题导致生成bit时报错 如何在不重新Implentation情况下生成bit?

敷衍作笑谈 来源:敷衍作笑谈 作者:敷衍作笑谈 2022-08-02 09:02 次阅读

FPGA开发中,我们经常遇到因为管脚忘记约束,导致最后生成bit的时候报错。

1.管脚电平未约束

poYBAGGYHKaAdvF-AAG2kYthBXM663.png
poYBAGGYHKeAJ_tpAAF2x4xbngg973.png

像上面这个图中,由于在约束中忘记指定mdc和mdio的电平,再经过了长时间的综合和实现后,最后的Generate Bitstream报错了。

这种情况下,如何才能不重新Implementation的情况下生成bit呢?

打开实现后的routed.dcp文件:

open_checkpoint ./Work/eth_demo.runs/impl_1/top_routed.dcp

然后通过下面指令设置这两个管脚的电平:

set_property IOSTANDARD LVCMOS15 [get_ports mdc]
set_property IOSTANDARD LVCMOS15 [get_ports mdio]

pYYBAGGYHKiAPGnYAACkh7eOdj4106.png

设置完成后,可以在I/O Ports窗口中看到这两个管脚的电平已经改了过来

pYYBAGGYHKqABqMqAAJwDGXX-Z0729.png


然后再点左侧的生成bit:

poYBAGGYHKuABDeBAAGQHkGgpLc533.png


提示生成文件的位置和名字:

pYYBAGGYHKyAC2crAAEzaDMTVzQ488.png

在正确生成后,可以看到tcl中提示write_bitstream completed successfully:

poYBAGGYHK6AbBD-AAEbv0NtROk547.png

管脚电平修改后由于跟布局布线都没有关系,因此直接生成bit是可以的。

2.管脚位置未约束

如果是管脚位置未约束,那我们就不能在dcp中修改位置然后直接生成bit了,因为位置变了,布局布线也需要改变。如果这个管脚的功能的需要的,那我们只能重新Implementation,如果这个管脚功能是不需要的,

那如果这个管脚的功能我们可以先不用,就想把经过了长时间的Synthsis和Implentation后的工程生成bit文件。

还是像上面一样,打开route.dcp文件,然后点击坐标的Report DRC

pYYBAGGYHK-AYCLHAACeHPsUd_4882.png

可以看到有两个问题,一个是NSTD-1,一个是UCIO-1

poYBAGGYHLCAC9z8AAJokwLPWHU505.png

我们只需要把这两个DRC的问题设成warning,不让工具在生成bit的时候报错,也是可以生成bit的。执行tcl脚本如下:

set_property SEVERITY {Warning} [get_drc_checks UCIO-1]
set_property SEVERITY {Warning} [get_drc_checks NSTD-1]

然后再Generate Bitstream。


审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1603

    文章

    21326

    浏览量

    593245
  • 电平
    +关注

    关注

    5

    文章

    338

    浏览量

    39566
  • 管脚
    +关注

    关注

    1

    文章

    222

    浏览量

    31601
收藏 人收藏

    评论

    相关推荐

    cubeMX生成文件keil5编译报错是什么原因导致的?

    cubeMX 生成 文件 keil5 编译报错
    发表于 04-25 06:36

    在keil5下定义64bit编译报错的原因?

    请问,有在keil 5 下,定义过64 bit的数据类型吗? 定义为 int64_t ,编译报错,如果不报错,应该怎么定义?谢谢
    发表于 04-23 08:20

    用ST MC Workbench生成代码时报错怎么解决?

    用 ST MC Workbench生成代码时报错
    发表于 04-11 07:08

    使用STM32CubeMX生成的keil文件,在keil中运行时报错的原因?

    在使用STM32CubeMX过程中,生成的keil文件。 file:///C:/Users/Zhanggp/AppData/Local/Temp/ksohtml11808/wps1.jpg在keil 中运行时出现了报错.
    发表于 03-26 07:10

    CCU8能否用于在没有CPU干预的情况下生成SPWM信号?

    CPU 的情况下使用 CCU8 单元生成控制电机的必要信号,从而允许我在程序中执行其他任务? 如果可能的话,有没有应用说明可以指导我实现自己的愿望?
    发表于 01-22 08:02

    生成式AI如何重新定义零售业

    从个性化商品推荐到营销内容创建再到代码生成生成式 AI 正在提升顾客体验、优化运营并提高生产力。
    的头像 发表于 01-16 10:24 180次阅读

    因为生成式AI兴起《纽约时报》起诉OpenAI和微软

    因为生成式AI兴起《纽约时报》起诉OpenAI和微软 对于生成式AI技术在训练AI时是否会侵犯版权这个问题一直没有全面而准确的答案,极具争议性,很多机构都在评估研究这个问题,也有一些不同的看法,现在
    的头像 发表于 12-28 17:08 489次阅读

    MCUXpresso IDE下生成镜像文件的方法及其与IAR,MDK差异

    MCUXpresso IDE下生成镜像文件的方法及其与IAR,MDK差异
    的头像 发表于 09-28 17:05 575次阅读
    MCUXpresso IDE<b class='flag-5'>下生成</b>镜像文件的方法及其与IAR,MDK差异

    mcu200t使用哪个开发包生成.bit 和mcs file?

    mcu200t 使用哪个开发包生成.bit 和mcs file,求下载链接,哪里能找到分别在windows和linux环境下操作过程,网上分享的视频太短了,前面省略太多内容。
    发表于 08-16 06:02

    生成DDR200T开发板FPGA bit/mcs文件时如何下载Release package?

    求助,生成DDR200T开发板FPGA bit/mcs文件时需要下载Release package怎么下载?
    发表于 08-12 08:30

    mcu200t开发板在使用make bit产生bit文件时报错如何解决?

    请问一下mcu200t开发板在使用make bit产生bit文件时发生了如下错误,如何解决
    发表于 08-12 07:25

    mcs生成报错怎么解决?

    按照书上步骤使用 make mcsCORE=e203 FPGA_NAME=artydevkit 命令时报错: Makefile recipe for target ‘obj/system.bit
    发表于 08-12 06:49

    Snap:bit:使用Snap电路为Micro:bit供电

    电子发烧友网站提供《Snap:bit:使用Snap电路为Micro:bit供电.zip》资料免费下载
    发表于 06-19 11:03 0次下载
    Snap:<b class='flag-5'>bit</b>:使用Snap电路为Micro:<b class='flag-5'>bit</b>供电

    Vivado布线和生成bit参数设置

    本文主要介绍Vivado布线参数设置,基本设置方式和vivado综合参数设置基本一致,将详细说明如何设置布线参数以优化FPGA设计的性能,以及如何设置Vivado压缩BIT文件。
    的头像 发表于 05-16 16:40 3251次阅读
    Vivado布线和<b class='flag-5'>生成</b><b class='flag-5'>bit</b>参数设置

    如何使用RSA硬件加速能多快生成2048bit的密钥?

    面,可能会导致误判。尝试改正后,生成的密钥是正常的,但速度比OpenSSL纯软件慢。正常使用RSA硬件加速能多快生成2048bit的密钥?这个补丁有优化版吗?
    发表于 05-06 08:05