剛寫了一段 Verilog代碼,辛辛苦苦花了很長(zhǎng)時(shí)間綜合,在debug的過程中,卻找不到需要debug的信號(hào)了,查看網(wǎng)表發(fā)現(xiàn)沒有?
這種情況是因?yàn)槲覀兊哪承┲虚g信號(hào)被優(yōu)化掉了。
被優(yōu)化掉的原因有可能是你這個(gè)信號(hào)確實(shí)對(duì)后面的輸出沒用,我寫的這個(gè)項(xiàng)目由于還在中間過程,功能還沒有完善,所以不想把大量的中間信號(hào)作為輸出,所以被優(yōu)化掉了,以至于在debug過程中找不到這些信號(hào)。
如何解決這個(gè)問題呢?
很簡(jiǎn)單,最常用的就是在變量定義的時(shí)候添加語句:
(* keep = "true" *)
例如:

這樣即可,從網(wǎng)表中可以找到這些變量了。

當(dāng)然還有其他辦法,例如:
1、 信號(hào)前面將keep hierarchy選擇yes ,或者選擇soft(在綜合時(shí)保持層次),這樣有利于你從模塊中找到你想抓取的信號(hào)和信號(hào)名不被更改。
(* keep_hierarchy = "yes" *)module fre( a, b, c, d);
or
(* keep_hierarchy = "yes" *)fre fre_inst( a, b, c, d);
2、 信號(hào)前面使用(* DONT_TOUCH= “{TRUE|FALSE}” *),可以防止信號(hào)在綜合,以及布局布線的時(shí)候被優(yōu)化掉。
(* dont_touch = "true" *) wire a;
不在話下。
-
信號(hào)
+關(guān)注
關(guān)注
12文章
2914瀏覽量
80122 -
DEBUG
+關(guān)注
關(guān)注
3文章
95瀏覽量
21379 -
Vivado
+關(guān)注
關(guān)注
19文章
857瀏覽量
71106
原文標(biāo)題:Vivado中如何避免信號(hào)被優(yōu)化掉?
文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
Vivado時(shí)序約束中invert參數(shù)的作用和應(yīng)用場(chǎng)景
程序運(yùn)行速度很慢如何優(yōu)化?
開源RISC-V處理器(蜂鳥E203)學(xué)習(xí)(二)修改FPGA綜合環(huán)境(移植到自己的Xilinx FPGA板卡)
弱信號(hào)樣品在比表面與孔徑分析中的數(shù)據(jù)處理與增強(qiáng)技巧
如何使用Nexys Video開發(fā)板移植e203
在vivado上進(jìn)行benchmark跑分(微架構(gòu)優(yōu)化之前)
vcs和vivado聯(lián)合仿真
Vivado浮點(diǎn)數(shù)IP核的握手信號(hào)
Vivado浮點(diǎn)數(shù)IP核的一些設(shè)置注意點(diǎn)
Nucleistudio+Vivado協(xié)同仿真教程
vivado仿真時(shí)GSR信號(hào)的影響
信號(hào)發(fā)生器如何與波束賦形算法配合優(yōu)化?
Vivado無法選中開發(fā)板的常見原因及解決方法
如何使用One Spin檢查AMD Vivado Design Suite Synth的結(jié)果
Vivado怎么避免信號(hào)被優(yōu)化掉
評(píng)論