Vivado怎么避免信号被优化掉

刚写了一段 verilog代码,辛辛苦苦花了很长时间综合,在debug的过程中,却找不到需要debug的信号了,查看网表发现没有?
这种情况是因为我们的某些中间信号被优化掉了。
被优化掉的原因有可能是你这个信号确实对后面的输出没用,我写的这个项目由于还在中间过程,功能还没有完善,所以不想把大量的中间信号作为输出,所以被优化掉了,以至于在debug过程中找不到这些信号。
如何解决这个问题呢?
很简单,最常用的就是在变量定义的时候添加语句:
(* keep = true *)
例如:
这样即可,从网表中可以找到这些变量了。
当然还有其他办法,例如:
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;
不在话下。

北斗模块新选择,SKYLAB新推出低成本北斗模块SKG125
检查晶闸管的触发能力(方法之一)
从容面对严苛环境 TI推出高温非易失性闪存器SM28VLT32-HT
智伴儿童机器人1X智能课件引领儿童教育新方向
三星S8首发选择中国,库克频频来访,手机市场中国到底多重要!
Vivado怎么避免信号被优化掉
上海航天电源技术有限责任公司锂电池产品系列
新品开箱:看北通宙斯游戏手柄初音未来限定版玩转甜美机械风
三大运营商高度重视雄安新区建设 可能成为中国率先规模商用实验5G的地区
PCB回收:如何回收电路板
索尼与松下的唯一出路:转向专业细分市场
3种常见的三坐标测量仪
林利处理器发布会:异构计算、物联网安全和汽车工业的未来
Si24R2F + 超低功耗2.4G无线射频NTC测温单发射芯片
单片机控制的便携式篮球计时器设计
电气设备的热管理助于防止过热和电路故障
华测导航前三季度净利润同比预增27.79%至30.05%
“网红”长沙有了新地标!24日海信品质之家等你来打卡
半导体模拟开关的一些小知识
苹果新专利:防指纹涂层,暗示未来或推出钛金属外壳设备