問題
在FPGA編碼中,經常會遇到一些信號、模塊等被綜合工具優化,而有些信號恰恰是我們需要的,或者需要觀測的,針對這種情況,DONT TOUCH可以滿足我們的需求,該屬性的使用頻率也較高。
屬性說明
DONT TOUCH可以用于替代屬性KEEP和KEEP HIERARCHY,與兩者僅作用于綜合階段相比,DONT TOUCH可以作用范圍包括布局和布線階段,依舊可以保持不被優化。
當和其他屬性沖突時,DONT TOUCH的優先級最高。
屬性用法
DONT TOUCH作用對象包括信號、模塊、網標,格式為(*DONT TOUCH=VALUE*),屬性值VALUE可設置為TRUE/FALSE或者yes/no。
作用于信號:
(*DONT TOUCH= “YES“*)wire signal;
作用于模塊:
(*DONT TOUCH= “YES“*)module module_test(in,out);
作用于例化單元:
(*DONT TOUCH= “YES“*)Inst Inst_example(.in(in),.out(out));
通常,DONT TOUCH屬性不建議使用在XDC文件中,因為對于信號來說,通常優化是發生在讀取XDC前,因此設置屬性可能導致無效。
唯一一種推薦使用到XDC中的場景,是當RTL代碼中使用了DONT TOUCH屬性并設置為YES時,想讓該屬性不生效但又不想改變RTL設計時,可以在XDC文件中再次進行DONT TOUCH屬性設置為NO的設置,此時后者設置生效,信號將會被優化。
審核編輯:劉清
-
FPGA
+關注
關注
1630文章
21796瀏覽量
605225 -
Vivado
+關注
關注
19文章
815瀏覽量
66799
原文標題:Vivado中DONT TOUCH的使用
文章出處:【微信號:FPGA通信小白成長之路,微信公眾號:FPGA通信小白成長之路】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論