剛寫了一段 Verilog代碼,辛辛苦苦花了很長時間綜合,在debug的過程中,卻找不到需要debug的信號了,查看網(wǎng)表發(fā)現(xiàn)沒有?
這種情況是因為我們的某些中間信號被優(yōu)化掉了。
被優(yōu)化掉的原因有可能是你這個信號確實對后面的輸出沒用,我寫的這個項目由于還在中間過程,功能還沒有完善,所以不想把大量的中間信號作為輸出,所以被優(yōu)化掉了,以至于在debug過程中找不到這些信號。
如何解決這個問題呢?
很簡單,最常用的就是在變量定義的時候添加語句:
(* keep = "true" *)
例如:
這樣即可,從網(wǎng)表中可以找到這些變量了。
當(dāng)然還有其他辦法,例如:
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}” *),可以防止信號在綜合,以及布局布線的時候被優(yōu)化掉。
(* dont_touch = "true" *) wire a;
不在話下。
-
信號
+關(guān)注
關(guān)注
11文章
2834瀏覽量
77728 -
DEBUG
+關(guān)注
關(guān)注
3文章
94瀏覽量
20304 -
Vivado
+關(guān)注
關(guān)注
19文章
825瀏覽量
67911
原文標(biāo)題:Vivado中如何避免信號被優(yōu)化掉?
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
如何避免labview生成的exe被windows防護系統(tǒng)自動刪除
AFE7070輸出含有的本振信號比較強,怎么可以抑制掉?
PCB設(shè)計中的Stub對信號傳輸?shù)挠绊?/a>

提高網(wǎng)絡(luò)性能的阻抗優(yōu)化技巧
Vivado之實現(xiàn)布局布線流程介紹

vivado導(dǎo)入舊版本的項目,IP核心被鎖。
如何應(yīng)對UWB室內(nèi)定位信號被遮擋

Vivado使用小技巧

評論