新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 提高FPGA設計生產(chǎn)力的工具、技巧和方法指南

提高FPGA設計生產(chǎn)力的工具、技巧和方法指南

——
作者:Davin Lim,Xilinx公司 時間:2007-12-04 來源:電子產(chǎn)品世界 收藏

作者:Davin Lim,Xilinx公司

能否快速了解設計時序狀態(tài)是衡量任何環(huán)境有效性的關(guān)鍵。

  影響周期生產(chǎn)力的最大因素是什么?許多設計人員的答案是,時序收斂(timing closure)是影響產(chǎn)品設計走向市場的關(guān)鍵,他們還為這個答案提供了充足的理由。高效實現(xiàn)時序收斂,獲得可信的結(jié)果是每一位設計師的夢想。然而,這僅僅是問題的一部分。要在整個設計周期中真正做到高效率,設計師需要依賴整個設計環(huán)境以及其中的多種工具來管理流程復雜性,并為的獨特風格和方法提供真實的解決方案。一個完整有效的設計環(huán)境提供了問題的焦點和透明性。與許多設計良好的工具一樣,最好是提供一個無縫的解決方案。

  要提供最大的生產(chǎn)力,一個完整的FPGA設計環(huán)境應當包括如下一些主要特性: 
    z  快速確定時序問題 - 所提供的工具能夠為設計師提供關(guān)鍵信息,從而使他們迅速發(fā)現(xiàn)潛在的瓶頸。 
    z  利用一系列視圖探究結(jié)果 - 并非所有問題都是采用同樣的方法解決的。設計良好的工具可以讓設計師從多個視角察看有關(guān)時序路徑的信息。這些工具既可以提供足夠的細節(jié),又能夠保持問題的焦點。
    z  以設計為中心,而非工具 - 能夠在不同視圖間無縫切換,工具操作是透明的,但設計問題依然清晰。
    z  提供有意義的中間結(jié)果 - 生產(chǎn)力包括能在盡早的階段監(jiān)測設計性能。如果設計師可以盡早解決問題,直接產(chǎn)生的結(jié)果是每天可  以有更多的反復機會。
    z  管理復雜的源代碼結(jié)構(gòu) - FPGA設計工具需要方便源文件的管理,提供兼容設計人員所喜好的源代碼控制機制的能力和方法。
  使用支持更快、更容易的時序收斂并且支持設計聚集的設計工具,下面的例子詳細討論了上面的話題。

快速確定時序問題
  “設計滿足時序要求嗎?”每次通過布局布線完成設計實施時,通常設計師都會問這個問題。無論答案是什么,設計人員都希望以簡潔的形式立即獲得此類信息(圖1)。

 
                           1. 性能摘要表
                      (點擊此圖看更大更詳細的版本)
下一個問題就是“到底有多少滿足時序要求,又有多少沒有達到?”圖2給出了每一約束對應的時序結(jié)果簡表。

 
                          2. 約束摘要表
                   ?。c擊此圖看更大更詳細的版本)
 
利用不同的視圖探究結(jié)果
  一旦以摘要形式呈現(xiàn)時序結(jié)果,還可以很容易地察看特定約束或路徑的詳細信息。從上面的摘要中,簡單地點擊一條約束,設計師就可以看到更詳細的時序報告,如圖3所示。

 
                            3. 詳細時序路徑報告
                      (點擊此圖看更大更詳細的版本)

{{分頁}}
  設計人員可以非??焖俜奖愕貜母邔訒r序摘要轉(zhuǎn)到詳細的文本信息,了解特定的時序路徑。
文字信息只是了解設計時序特性的一種方法。通常,圖形顯示更有幫助。對于上面的設計,點擊超鏈接可以得到路徑在FPGA器件中實際物理實現(xiàn)的圖形顯示(圖4)。


                            4. 時序路徑的器件視圖
                        (點擊此圖看更大更詳細的版本)
  圖4中的例子顯示出時序路徑從一個起始模塊,通過每個中間模塊,最后終止在路徑端點的實際物理布局。這一視圖也給出了這些模塊間實際布線實現(xiàn)的視覺表現(xiàn)。該視圖可以幫助回答與時序相關(guān)的問題,如:“有沒有特別長的路徑?”以及“有沒有邏輯的布局跨越了多個時鐘區(qū)域?”隨著設計師逐漸放大視圖到特定點,應當可以看到如圖5所示的內(nèi)部邏輯片配置。

 
                    5. 器件視圖中的時序路徑詳細顯示
                      (點擊此圖看更大更詳細的版本)
  上面的物理器件視圖通常很有用,但對于理解設計中不同的時序路徑細節(jié)來說,其它表示方式也同樣有用。一種基于原理圖技術(shù)的視圖如圖6所示。

 
                            6. 時序路徑的技術(shù)視圖
                       (點擊此圖看更大更詳細的版本)
  在這一時序路徑視圖中,很容易看出數(shù)據(jù)路徑中的邏輯層次數(shù)量,并了解時序路徑如何穿越設計層次中的不同部分。還可以逐漸放大顯示的原理圖,顯示其它邏輯連接到構(gòu)成本路徑的單元的情況。 
 
以設計為中心,而非工具
  通過提供同一設計問題的多種視圖,設計師能夠以不同的方式考慮時序問題,并定制針對問題的最適合的解決方案。當所有這些視角都集成在單個設計環(huán)境中時,在不同視圖之間的切換就只需點擊一下鼠標就可以了,不必再學習如何在不同的點式應用間以不同的方式來顯示時序路徑。有時還可以將多個視圖疊加或并列顯示,如圖7所示。

 
                 7. 時序路徑的不同視圖并列顯示
                 (點擊此圖看更大更詳細的版本)

{{分頁}}
 
提供有意義的中間結(jié)果
  在FPGA設計過程的中間,運行多個實施是很平常的。對于有大量時序要求的大型設計來說,能夠檢查中間結(jié)果是很方便的。通過方便的方法暫停、檢測和恢復實施過程,設計師可以在設計編譯的過程中獲得更好的設計可視性。圖8所示的設計工具提供了此類直接控制。 

 
                       8. 控制設計流程察看中間結(jié)果。
                      (點擊此圖看更大更詳細的版本)
  想象一下,過度的時序約束可能需要更多時間才能夠完成設計實施的布局和布線階段。通過中止流程,有些設計師可能認為設計時序已經(jīng)“足夠收斂”,從而可以將設計提交到實驗室繼續(xù)進行功能調(diào)試。同時,做完這一步后,還可以恢復布局布線,繼續(xù)進行優(yōu)化處理以滿足最終時序要求。 
  更重要的是,通過檢查中間結(jié)果,設計師可以更快地確定是否存在任何時序關(guān)鍵區(qū)域并盡早采取行動。 
 
管理復雜的源代碼結(jié)構(gòu)
  隨著設計復雜性的增加,源代碼結(jié)構(gòu)的復雜性也在增加。許多設計師采用第三方源代碼控制工具來管理復雜性并保證源代碼文件的一致性。這些文件不僅限于HDL源文件,還包括約束文件、仿真測試基準等。
  每位設計師都有處理這些問題的特有風格和方法,因此并沒有適用于所有用戶的萬能解決方案。通過提供方便的機制(圖9)來確定并有選擇地輸出FPGA設計項目中的所有源代碼/文件,設計師可以采用最適合自己需要的外部源代碼控制工具。輸出過程還包括輸出ASCII 形式的項目信息,以后可利用這一信息重建這一項目的早期階段。

 
                      9. 源代碼管理支持。
                    (點擊此圖看更大更詳細的版本)
 
結(jié)論
  對FPGA設計生產(chǎn)力來說,快速實現(xiàn)時序收斂確實是一項關(guān)鍵因素。能否快速了解設計時序狀態(tài)是衡量任何FPGA設計環(huán)境有效性的關(guān)鍵。由于導致時序路徑出現(xiàn)時序失敗的原因很多,因此設計師需要從多種不同角度(文字和圖形)掌握方便察看時序信息的能力。這樣他們才能夠做出如何改進設計時序的最佳決策。以無縫且透明的方式提供綜合工具將可幫助快速實現(xiàn)時序收斂。 
  除了核心的時序收斂技術(shù)以外,外圍的設計工具環(huán)境也會大大影響生產(chǎn)力。檢查和利用中間結(jié)果以及靈活管理復雜源代碼結(jié)構(gòu)等能力都會使設計師提高生產(chǎn)力。

Davin Lim是賽靈思公司設計軟件部技術(shù)和產(chǎn)品營銷組資深經(jīng)理。在此職位上,他的小組負責賽靈思ISE軟件的未來產(chǎn)品規(guī)劃。 Davin還負責為每一重要軟件版本提供新的培訓材料。他于1996年加入賽靈思公司,有從事FPGA、ASIC和PCB設計的工作背景。他持有安阿伯市密西根大學的學士學位,以及玻爾得市科羅拉多大學的電子工程碩士(MSEE)學位。Davin的電子郵件是: davin.lim@xilinx.com.
 
 


 



關(guān)鍵詞: FPGA設計

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉