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

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

3天内不再提示

Vivado怎么避免信号被优化掉

FPGA之家 来源:FPGA之家 2023-01-31 18:03 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

刚写了一段 Verilog代码,辛辛苦苦花了很长时间综合,在debug的过程中,却找不到需要debug的信号了,查看网表发现没有?

这种情况是因为我们的某些中间信号被优化掉了。

被优化掉的原因有可能是你这个信号确实对后面的输出没用,我写的这个项目由于还在中间过程,功能还没有完善,所以不想把大量的中间信号作为输出,所以被优化掉了,以至于在debug过程中找不到这些信号。

如何解决这个问题呢?

很简单,最常用的就是在变量定义的时候添加语句:

(* keep = "true" *)

例如:

8a15322a-9679-11ed-bfe3-dac502259ad0.png

这样即可,从网表中可以找到这些变量了。

8a38ab6a-9679-11ed-bfe3-dac502259ad0.png

当然还有其他办法,例如:

1、 信号前面将keep hierarchy选择yes ,或者选择soft(在综合时保持层次),这样有利于你从模块中找到你想抓取的信号和信号名不被更改。

(* keep_hierarchy = "yes" *)module fre( a, b, c, d);

or

(* keep_hierarchy = "yes" *)fre fre_inst( a, b, c, d);

2、 信号前面使用(* DONT_TOUCH= “{TRUE|FALSE}” *),可以防止信号在综合,以及布局布线的时候被优化掉。

(* dont_touch = "true" *) wire a;

不在话下。

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

    关注

    11

    文章

    2903

    浏览量

    79702
  • DEBUG
    +关注

    关注

    3

    文章

    95

    浏览量

    21262
  • Vivado
    +关注

    关注

    19

    文章

    848

    浏览量

    70499

原文标题:Vivado中如何避免信号被优化掉?

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    程序运行速度很慢如何优化

    频率: 过高频率的中断会占用大量CPU时间。优化ISR代码,使其尽可能短小精悍。能合并的中断尽量合并。 使用RTOS特性: 如果使用了RTOS,确保任务优先级设置合理,避免高优先级任务长时间阻塞低优先级任务。利用信号量、消息队列
    发表于 11-17 06:12

    开源RISC-V处理器(蜂鸟E203)学习(二)修改FPGA综合环境(移植到自己的Xilinx FPGA板卡)

    的板卡只有125M单端时钟,所以约束的修改如下图所示,为了避免混淆直接将时钟信号名都改了。 这里需要修改脚本,如图修改ip.tcl脚本,这个生成vivado的IP,添加如下两行脚本,配置
    发表于 10-31 08:46

    如何使用Nexys Video开发板移植e203

    的管脚从input中去掉,可以改成wire类型避免报错,如CLK32768KHZ信号;另外需要加一个时钟分频模块,产生32.768kHz的时钟 clk_div u_32768_clk( .clk
    发表于 10-27 06:26

    vivado上进行benchmark跑分(微架构优化之前)

    已有的vivado工程中将simulation文件加入sim_source: 将top.v加入,并设置到顶层: 修改tb_top.v文件(https://www.rvmcu.com
    发表于 10-24 09:39

    Vivado浮点数IP核的握手信号

    Vivado浮点数IP核的握手信号 我们的设计方案中,FPU计算单元将收到的三条数据和使能信号同步发给20多个模块,同时只有一个模块时钟使能,进行计算,但结果都会保留,发给数选。计
    发表于 10-24 07:01

    Vivado浮点数IP核的一些设置注意点

    信号:(输出ready可选择) 以资源或性能作为优化目标也是可选的: 运算周期数也可调,越复杂的计算可选择的最大周期数越大: 控制信号有时钟使能和复位: 计算异常,不同的计算有不同的异常
    发表于 10-24 06:25

    Nucleistudio+Vivado协同仿真教程

    内部ROM启动,故需要修改 .cfg 配置文件,位置如下? 双击打开后,将划线的flash启动部分注释 然后修改Build选项,使反汇编生成机器指令文件:右键工程,点击properties 在
    发表于 10-23 06:22

    vivado仿真时GSR信号的影响

    利用vivado进行设计xilinx FPGA时,写完设计代码和仿真代码后,点击run simulation(启动modelsim进行仿真)。
    的头像 发表于 08-30 14:22 1043次阅读
    <b class='flag-5'>vivado</b>仿真时GSR<b class='flag-5'>信号</b>的影响

    信号发生器如何与波束赋形算法配合优化

    结果调整算法参数(如权值量化位数、更新周期),迭代优化性能。 3. 动态场景优化信号发生器模拟用户移动性 挑战:波束赋形算法需实时跟踪移动用户的位置变化,避免波束失配导致的
    发表于 08-08 14:41

    如何使用One Spin检查AMD Vivado Design Suite Synth的结果

    本文讲述了如何使用 One Spin 检查 AMD Vivado Design Suite Synth 的结果(以 Vivado 2024.2 为例)。
    的头像 发表于 05-19 14:22 1017次阅读
    如何使用One Spin检查AMD <b class='flag-5'>Vivado</b> Design Suite Synth的结果

    使用DDS生成三个信号并在Vivado中实现低通滤波器

    本文使用 DDS 生成三个信号,并在 Vivado 中实现低通滤波器。低通滤波器将滤除相关信号
    的头像 发表于 03-01 14:31 2482次阅读
    使用DDS生成三个<b class='flag-5'>信号</b>并在<b class='flag-5'>Vivado</b>中实现低通滤波器

    当DeepSeek问到:如何优化112Gbps信号过孔阻抗?

    当高速先生问DeepSeek如何优化112Gbps信号过孔阻抗时,得到的答案是这样的……
    的头像 发表于 02-11 14:03 707次阅读
    当DeepSeek<b class='flag-5'>被</b>问到:如何<b class='flag-5'>优化</b>112Gbps<b class='flag-5'>信号</b>过孔阻抗?

    如何避免labview生成的exewindows防护系统自动删除

    为啥labview生成的exewindows认为是病毒,自动删除掉,如何避免
    发表于 01-20 16:04

    AFE7070输出含有的本振信号比较强,怎么可以抑制

    输出的含有本振信号比较强,问一下怎么可以抑制,还是寄存器没有配置好,调节IQ相位差会有一定的效果,但是输出本振频点仍然效果不够理想。
    发表于 12-26 08:01

    PCB设计中的Stub对信号传输的影响

    PCB设计中应尽量减少Stub的存在,或者在无法完全避免Stub的情况下,通过优化Stub的长度和几何形状来降低它们对信号的影响。
    的头像 发表于 12-20 18:28 215次阅读
    PCB设计中的Stub对<b class='flag-5'>信号</b>传输的影响