問題
在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
+關注
關注
1645文章
22050瀏覽量
618524 -
Vivado
+關注
關注
19文章
835瀏覽量
68780
原文標題:Vivado中DONT TOUCH的使用
文章出處:【微信號:FPGA通信小白成長之路,微信公眾號:FPGA通信小白成長之路】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
使用vivado v2016.4運行實現時停留在opt_design
在vivado.log中找不到錯誤
Vivado for ZYBO無法提供該怎么辦?
DONT_TOUCH約束
touch DONT_TOUCH約束
Vivado 2017.1和Vivado 2016.4性能對比分析

Tcl在Vivado中的基礎應用

在ISE和Vivado中XADC的向導演示
如何使用Vivado IP Integrator組裝具有多個時鐘域的設計
如何在Vivado中應用物理優化獲得更好的設計性能
Vivado 2014.1中的許可和激活概述
在Vitis中把Settings信息傳遞到底層的Vivado
MCU學習筆記_DC

物理約束實踐:網表約束DONT_TOUCH
如何在Vivado中添加時序約束呢?

評論