提高FPGA設(shè)計生產(chǎn)力的工具、技巧和方法
影響FPGA設(shè)計周期生產(chǎn)力的最大因素是什么?許多設(shè)計人員的答案是,時序收斂是影響產(chǎn)品設(shè)計走向市場的關(guān)鍵。高效實現(xiàn)時序收斂,獲得可信的結(jié)果是每一位設(shè)計師的夢想。然而,這僅僅是問題的一部分。
本文引用地址:http://m.butianyuan.cn/article/81536.htm要在整個設(shè)計周期中真正做到高效率,設(shè)計師需要依賴整個設(shè)計環(huán)境以及其中的多種工具來管理流程復(fù)雜性,并為FPGA設(shè)計的獨特風(fēng)格和方法提供真實的解決方案。一個完整有效的設(shè)計環(huán)境提供了問題的焦點和透明性,最好是提供一個無縫的解決方案。
要提供最大的生產(chǎn)力,一個完整的FPGA設(shè)計環(huán)境應(yīng)當包括如下一些主要特性:
·快速確定時序問題—所提供的工具能夠為設(shè)計師提供關(guān)鍵信息,從而使他們迅速發(fā)現(xiàn)潛在的瓶頸。
·利用一系列視圖探究結(jié)果—設(shè)計良好的工具可以讓設(shè)計師從多個視角察看有關(guān)時序路徑的信息。
·以設(shè)計為中心,而非工具—能夠在不同視圖間無縫切換,工具操作透明,但設(shè)計問題清晰。
·提供有意義的中間結(jié)果—生產(chǎn)力包括能在盡早的階段監(jiān)測設(shè)計性能。如果盡早解決問題,結(jié)果是每天可以有更多的重復(fù)機會。
·管理復(fù)雜的源代碼結(jié)構(gòu)—設(shè)計工具需要方便的源文件的管理,提供兼容設(shè)計人員所喜好的源代碼控制機制的能力和方法。
使用支持更快、更容易的時序收斂并且支持設(shè)計聚集的設(shè)計工具。下面的例子詳細討論了上面的話題。
快速確定時序問題
“設(shè)計滿足時序要求嗎?”每次通過布局布線完成設(shè)計實施時,通常設(shè)計師都會問這個問題。無論答案是什么,設(shè)計人員都希望以簡潔的形式立即獲得此類信息,如圖1所示。
下一個問題就是“到底有多少滿足時序要求,又有多少沒有達到?”圖2給出了與每一約束對應(yīng)的時序結(jié)果簡表。
利用不同的視圖探究結(jié)果
一旦以摘要形式呈現(xiàn)時序結(jié)果,還可以很容易地察看特定約束或路徑的詳細信息。從上面的摘要中,簡單地點擊一條約束,設(shè)計師就可以看到更詳細的時序報告,如圖3所示。
設(shè)計人員可以非常快速方便地從高層時序摘要轉(zhuǎn)到詳細的文本信息,了解特定的時序路徑。
文字信息只是了解設(shè)計時序特性的一種方法。通常,圖形顯示更有幫助。對于上面的設(shè)計,點擊超鏈接可以得到在FPGA器件中時序路徑的實際物理實現(xiàn)的圖形顯示,如圖4所示。
圖4中的例子顯示出時序路徑從一個起始塊,通過每個中間塊,最后終止在路徑端點的實際物理布局。視圖也給出了這些塊之間實際布線的視覺表現(xiàn)。該視圖可以幫助回答與時序相關(guān)的問題,如:“有沒有特別長的路徑?”以及“有沒有邏輯的布局跨越了多個時鐘區(qū)域?”隨著設(shè)計師逐漸放大視圖到特定點,應(yīng)當可以看到如圖5所示的片內(nèi)部配置。
上面的物理器件視圖通常很有用,但對于理解設(shè)計中不同的時序路徑細節(jié)來說,其它表示方式也同樣有用。一種基于原理圖技術(shù)的視圖如圖6所示。
在這一時序路徑視圖中,很容易看出數(shù)據(jù)路徑中的邏輯層次數(shù),并了解時序路徑如何穿越設(shè)計層次中的不同部分。還可以逐漸放大顯示的原理圖,顯示其它邏輯連接到構(gòu)成本路徑的單元的情況。
以設(shè)計為中心,而非工具
通過同一設(shè)計問題的多種視圖,設(shè)計師能夠以不同的方式考慮時序問題,并定制針對問題的最適合的解決方案。當所有這些觀察點都集成在單個設(shè)計環(huán)境中時,在不同視圖之間的切換就只需點擊一下鼠標就可以了。有時還可以將多個視圖并列顯示,如圖7所示。
提供有意義的中間結(jié)果
在FPGA設(shè)計過程的中間,運行多個實施是很平常的。對于有大量時序要求的大型設(shè)計來說,能夠檢查中間結(jié)果是很有用的。通過方便的方法暫停、檢測和恢復(fù)實施過程,設(shè)計師可以在設(shè)計編譯的過程中獲得更好的設(shè)計可視性,如圖8所示。
想象一下,過度的時序約束可能需要更多時間才能夠完成設(shè)計實施的布局和布線階段。通過暫停流程,有些設(shè)計師可能認為設(shè)計時序已經(jīng)“足夠接近”,從而可以將設(shè)計提交到實驗室繼續(xù)進行功能調(diào)試。同時,做完這一步后,還可以恢復(fù)布局布線,繼續(xù)進行優(yōu)化處理以滿足最終時序要求。
更重要的是,通過檢查中間結(jié)果,設(shè)計師可以更快地確定是否存在任何時序關(guān)鍵區(qū)域并盡早采取行動。
管理復(fù)雜的源代碼結(jié)構(gòu)
隨著設(shè)計復(fù)雜性的增加,源代碼結(jié)構(gòu)的復(fù)雜性也在增加。許多設(shè)計師采用第三方源代碼控制工具來管理復(fù)雜性并保證源代碼文件的一致性。這些文件不僅限于HDL源文件,還包括約束文件、仿真測試基準等。
每位設(shè)計師都有處理這些問題的特有風(fēng)格和方法,因此并沒有適用于所有用戶的萬能解決方案。通過提供方便的機制來確定并有選擇地輸出FPGA設(shè)計項目中的所有源代碼/文件,設(shè)計師可以采用最適合自己需要的外部源代碼控制工具。輸出過程還包括輸出ASCII 形式的項目信息,以后可利用這一信息重建這一項目的早期階段。
結(jié)語
對FPGA設(shè)計生產(chǎn)力來說,快速實現(xiàn)時序接近確實是一項關(guān)鍵因素。能否快速了解設(shè)計時序狀態(tài)是衡量FPGA設(shè)計環(huán)境有效性的關(guān)鍵。由于導(dǎo)致時序路徑出現(xiàn)時序失敗的原因很多,因此設(shè)計師需要從多種不同角度(文字和圖形)掌握方便察看時序信息的能力。這樣他們才能夠做出如何改進設(shè)計時序的最佳決策。無縫且透明的綜合工具將可幫助快速實現(xiàn)時序收斂。
評論