XILINX XST綜合的選項的含義


所謂綜合,就是將HDL語言、原理圖等設計輸入翻譯成由與、或、非門和RAM、觸發器等基本邏輯單元的
邏輯連接(網表),並根據目標和要求(約束條件)優化所生成的邏輯連接,生成EDF文件。
完成了輸入、仿真以及管腳分配后就可以進行綜合和實現了。在過程管理區雙擊Synthesize-XST。
如圖所示
2011-11-18_214102.jpg
綜合可能有3種結果:如果綜合后完全正確,則在Synthesize-XST前面有一個打鈎的綠色小圈圈;如果有警
告,則出現一個帶感嘆號的黃色小圓圈,如本例所示;如果有錯誤,則出現一個帶叉的紅色小圈圈。綜合
完成之后,可以通過雙擊View RTL Schematics來查看RTL級結構圖,察看綜合結構是否按照設計意圖來實
現電路。ISE會自動調用原理圖編輯器ECS來瀏覽RTL結構,所得到的RTL結構如圖所示,綜合結果符合設計
者的意圖。

2011-11-18_214756.jpg
可以得到資源使用的圖標
2011-11-18_214102.jpg
一般在使用XST時,所有的屬性都采用默認值。其實XST對不同的邏輯設計可提供豐富、靈活的屬性配置。
下面對ISE13.2中內嵌的XST屬性進行說明。打開ISE中的設計工程,在過程管理區選中“Synthesis –XST”
並單擊右鍵,彈出界面如圖所示。
2011-11-18_214102.jpg
XST配置頁面分為綜合選項(Synthesis Options)、HDL語言選項(HDL Options)以及Xilinx特殊選項(Xilinx
Specific Options)等三大類,分別用於設置綜合的全局目標和整體策略、HDL硬件語法規則以及Xilinx特有的結
構屬性
 
 
 
 
 
 
 
 
 

分別介紹一些選項的意義:
【Optimization Goal】:優化的目標。該參數決定了綜合工具對設計進行優化時,是以面積還是以速度作為優
先原則。面積優先原則可以節省器件內部的邏輯資源,即盡可能地采用串行邏輯結構,但這是以犧牲速度為代價
的。而速度優先原則保證了器件的整體工作速度,即盡可能地采用並行邏輯結構,但這樣將會浪費器件內部大量
的邏輯資源,因此,它是以犧牲邏輯資源為代價的。
〖Optimization Effort〗:優化器努力程度。這里有【normal】和【high】兩種選擇方式。對於
【normal】,優化器對邏輯設計僅僅進行普通的優化處理,其結果可能並不是最好的,但是綜合和優化流程執行
地較快。如果選擇【high】,優化器對邏輯設計進行反復的優化處理和分析,並能生成最理想的綜合和優化結
果,在對高性能和最終的設計通常采用這種模式;當然在綜合和優化時,需要的時間較長。
【Use Synthesis Constraints File】:使用綜合約束文件。如果選擇了該選項,那么綜合約束文件XCF有效。
【Synthesis Constraints File】:綜合約束文件。該選項用於指定XST綜合約束文件XCF的路徑
【Global Optimization Goal】:全局優化目標。可以選擇的屬性包括有【AllClockNets】、
【Inpad To Outpad】、【Offest In Before】、【Offest Out After】、【Maximm Delay】。
該參數僅對FPGA器件有效,可用於選擇所設定的寄存器之間、輸入引腳到寄存器之間、寄存器到輸出引腳
之間,或者是輸入引腳到輸出引腳之間邏輯的優化策略。
【Generate RTL Schematic】:生成寄存器傳輸級視圖文件。該參數用於將綜合結果生成RTL視圖。 
【Write Timing Constraints】:寫時序約束。該參數僅對FPGA有效,用來設置是否將HDL源代碼中用於
控制綜合的時序約束傳給NGC網表文件,該文件用於布局和布線。
Xilinx特殊選項
Xilinx特殊選項用於將用戶邏輯適配到Xilinx芯片的特殊結構中,不僅能節省資源,還能提高設計的工作頻率.
也給大家介紹一些選項:
       【Add I/O Buffers】:插入I/O緩沖器。該參數用於控制對所綜合的模塊是否自動插入I/O緩沖器。默認
為自動插入。 
       【Max Fanout】:最大扇出數。該參數用於指定信號和網線的最大扇出數。這里扇出數的選擇與設計的
性能有直接的關系,需要用戶合理選擇。
2011-11-18_214756.jpg
【Register Duplication】:寄存器復制。該參數用於控制是否允許寄存器的復制。對於高扇出和時序不能
滿足要求的寄存器進行復制,可以減少緩沖器輸出的數目以及邏輯級數,改變時序的某些特性,提高設計
的工作頻率。默認為允許寄存器復制。
【Equivalent Register Removal】:等效寄存器刪除。該參數用於指定是否把寄存器傳輸級功能等效的寄存
器刪除,這樣可以減少寄存器資源的使用。如果某個寄存器是用Xilinx的硬件原語指定的,那么就不會被刪
除。默認為使能。
【Register Balancing】:寄存器配平。該參數僅對FPGA有效,用於指定是否允許平衡寄存器。可選項有
【No】、【Yes】、    【Forward】和【Backward】。采用寄存器配平技術,可以改善某些設計的時序條
件。其中,【Forward】為前移寄存器配平,【Backward】為后移寄存器配平。采用寄存器配平后,所用到
的寄存器數就會相應地增減。默認為寄存器不配平。
【Move First Flip-Flop Stage】:移動前級寄存器。該參數僅對FPGA有效,用於控制在進行寄存器配平
時,是否允許移動前級寄存器。如果【Register Balancing】的設置為【No】,那么該參數的設置無效。

【Move Last Flip-Flop Stage】:移動后級寄存器。該參數僅對FPGA有效,用於控制在進行寄存器配平
時,是否允許移動后級寄存器。如果【Register Balancing】的設置為【No】,那么該參數的設置無效。
【Pack I/O Registers into IOBs】:I/O寄存器置於輸入輸出塊。該參數僅對FPGA有效,用於控制是否
將邏輯設計中的寄存器用IOB內部寄存器實現。在Xilinx系列FPGA的IOB中分別有輸入和輸出寄存器。如果
將設計中的第一級寄存器或最后一級寄存器用IOB內部寄存器實現,那么就可以縮短IO引腳到寄存器之間
的路徑,這通常可以縮短大約1~2ns的傳輸時延。默認為【Auto】。 
【Slice Packing】:優化Slice結構。該參數僅對FPGA有效,用於控制是否將關鍵路徑的查找表邏輯盡量
配置在同一個Slice或者CLB模塊中,由此來縮短LUT之間的布線。這一功能對於提高設計的工作頻率、改善
時序特性是非常有用的。 默認為允許優化Slice結構。 
【Optimize Instantiated Primitives】:優化已例化的原語。該參數控制是否需要優化在HDL代碼中已例
化的原語。默認為不優化。

 

轉載自:http://bbs.21ic.com/blog-731039-96621.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM