Vivado設計套件新增手把手的方法,確保可預測且可重復設計的結果。
過去40年來,IC工藝技術飛速發展,帶動電子企業推出豐富的產品,讓當今的人們樂享其中。然而芯片工藝技術的發展對電子創新至關重要,而如果沒有學術界和電子設計自動化(EDA)產業同時快速推出工具的支持,芯片技術也是無法取得如此順利的發展。從二十世紀七十年代的晶體管級SPICE模擬發展到當今的數十億門系統級集成設計環境,如此進步確實神速。但對電子技術革新做出重大貢獻的設計方法,同樣令人驚嘆卻往往被人們忽略。
設計團隊能夠借助全球最先進的芯片和最出色的工具,但如果他們不能建立起有效的設計方法,也無法在適當的時間內推出產品、進而也難以獲得商業成功。好的設計方法不僅能縮短設計時間,讓設計團隊按時交付高質量產品,而且還能讓他們以可預測、可重復的方式開展工作,而這正是長期商業成功的關鍵所在。就此而言,設計方法應不斷發展完善,以充分發揮芯片和設計工具的改進。
為了幫助客戶進一步提高生產力,成功實現新一代創新技術,賽靈思針對其屢獲殊榮的Vivado?設計套件推出了UltraFast?設計方法,幫助使用Vivado的設計團隊加快在賽靈思28nm 7系列器件以及即將推出的20nm/16nm UtraScale?產品系列上成功實現設計。
Vivado設計套件的高級產品市場總監Ramine Roane指出,這款新的設計方法并不是完全另立門戶,而是公司根據業界專家的提議精選了數項最佳實例并將其精簡為一套有效方法,以推動設計團隊走向可預測的成功,該方法統稱為UltraFast設計方法。這些最佳實例涵蓋開發板規劃、設計創建、設計實現與收斂、編程和硬件調試等各個方面。
Roane指出:“UltraFast設計方法將幫助設計團隊充分利用Vivado設計套件和賽靈思All Programmable器件的先進技術,以提高生產力,并不斷縮短設計時間,準確預測設計進度,進而加速產品上市進程。”
UltraFast設計方法的推出是賽靈思如何保持領先于競爭對手整整一代水平的又一例證。賽靈思不僅推出最佳器件和最先進的工具套件,而且還提供了業界最全面的設計方法。
為了加速推廣UtraFast設計方法,賽靈思發行了免費的設計方法手冊《Vivado設計套件的UltraFast設計方法指南》(UG949),幫助讀者一步步了解設計方法,包括開發板的選擇、RTL設計乃至實現和最終調試等。該手冊提供了全面的檢查清單(checklist),引導工程師完成整個設計流程。此外,Vivado Design Suite 2013.3版本還將設計方法的許多元素實現了自動化(包括linting),并添加了新的設計規則檢查(DRC rule decks),題為“Methodology”和“Timing”。
新版Vivado設計套件還提供硬件描述語言(HDL)和賽靈思設計約束(XDC)模板,有助于優化綜合和實現的結果質量(QoR)。賽靈思還提供一系列免費的在線自學視頻,并在全球不同地區提供官方培訓課程。
加速收斂的設計方法
Roane指出,UltraFast設計方法的主旨就是把設計收斂提到設計流程的前端,也是QoR影響較大的地方(見圖1)。這樣,設計團隊就能快速組建出一個“設計期正確”(correct-by-construction)的設計方案上。Roane說:“如果能在設計流程早期階段全面了解情況并做出決策,就能有效避免實現階段耗時過長。”
?
Roane指出,Vivado設計套件是可編程行業唯一一款在流程的每個環節(從設計輸入到IP集成、RTL綜合、實現(優化、布局、物理優化、布線)乃至啟動)均支持交互設計分析和源文件交叉探測的設計套件。Roane說:“采用傳統工具時設計者只有到設計流程結束時、在規劃全面實現后才能發現問題,如果設計方案不能達到預期效果,唯一的辦法就是從頭再來,而且根本不清楚問題的原因,不得不進行多次長時間迭代循環。”
實現交叉探測和分析功能的主要因素在于Vivado設計套件的統一數據模型。Roane說:“統一數據模型使設計團隊能夠在整個流程中采用相同的分析和收斂程序。這相對于老式設計套件而言是一大優勢,能幫助工程師在多個環節上(甚至在尚未保存設計修改的臨時記憶中)修改設計方案,通過交叉探測到源文件或者其他設計視圖。賽靈思設計的這款統一數據模型能擴展運用到包含數百萬個邏輯單元的高端器件,而同類競爭工具剛剛開始滿足中端器件的要求。”
或許,能反映UltraFast設計方法加快設計收斂的最好例證就是“基線(Baselining)”概念。
通過Baselining快速時序收斂
“基線(Baselining)是一種用于加速設計收斂的技術,它著重于解決內部Fmax,這是最大問題,10次有9次收斂所出現的問題就是它。這能避免由于復雜的、極易出錯的I/O約束和時序特例而耽誤時間,防止用戶和工具被引導至錯誤的方向。采用基線技術,設計團隊能用最簡單的約束啟動收斂進程,集中精力于觸發器路徑。隨后,根據問題是出在時鐘路徑或數據路徑上,還是連線延遲或邏輯延遲,我們可采取有文檔記錄的修改措施,并重新運行分析。”
?
一旦設計團隊用基線XDC收斂了時序,就基本完工。隨后就需要添加I/O接口約束。Roane指出:“必須確保這些約束的正確性,這樣才能避免出現‘假的’時序問題。”
“正由于此,我們為源同步,中間對齊的DDR I/O約束等提供XDC模板。如果需要,我們可用時序特例來微調約束,或者進行一定的布局規劃。不過重要的是應當記住,如果相應路徑不是關鍵路徑,那最好不要采用時序特例。同樣,設計過度布局規劃造成的問題遠比帶來的作用要多。”
Roane指出,基線法并不能替代簽署約束(sign-off constraint):“仍然要在完備的約束的基礎上驗證設計方案。”
UltraFast設計方法還給出了獲得原始簽署約束的詳細步驟。Vivado通過大量批處理和圖形界面程序使這一任務自動化,分析時序路徑、時鐘網絡、時鐘之間的交互等。新的時序DRC規則也可用于檢查設計的約束及時鐘網絡。
VIVADO設計套件的ULTRAFAST設計方法指南
要熟悉UltraFast設計方法,可從閱讀《Vivado設計套件的UltraFast設計方法指南》開始。該指南分為6章,前兩章介紹本指南內容和設計流程建議,第三章到第六章深入分析UltraFast設計方法的最佳實踐。
第三章分析開發板和器件規劃,對PCB布局、時鐘資源規劃與分配、I/O規劃設計流程、FPGA功耗因素和系統依賴性給出了明智的建議。為了避免開發板改版,該設計方法概括介紹如何利用賽靈思功耗估計器(XPE)探索并找到滿足功耗預算分配要求的架構。
這一章還強調了用良好的I/O規劃啟動設計的重要性,給出了配合開發板規劃進行I/O規劃的建議,至少二者應當進行適當的協調。如果I/O規劃和開發板規劃二者不協調,就會在流程后期出現系統級的時序和配電問題。本章還討論了各種用電模式,對功率和散熱分析給出建議,并介紹了有關PCB的制冷考慮事項。此外,該章還給出了設計項目中實現賽靈思All Programmable 3D IC時的相關I/O建議,因為連接多芯片器件的插入器有著獨特的要求。
第四章《設計創建》首先介紹了創建可靠的設計層次以及選擇合適的IP等方面的策略和技巧,接下來的幾個部分介紹了實用的RTL編碼指南。本章內容還涉及控制信號集合(control signals and sets)、RAM和ROM推斷、形成正確的DSP和算術推斷的代碼、移位寄存器和延遲線編碼,以及所有推斷的寄存器、SRL和存儲器的初始化。本章還包括“參數、屬性與約束“,“時鐘”以及“實例化、推斷兩種方法的選擇”等內容。
“編寫HDL的方式對綜合如何推理邏輯有很大影響。良好的編碼風格使得設計使用架構中的固有資源,進而提高工作頻率。”
Roane指出:“編寫HDL的方式對綜合如何推斷邏輯有很大影響。良好的編碼風格使得設計使用架構中的固有資源,進而提高工作頻率。為幫助客戶充分利用這些資源,加速整體設計進程,我們提供了模板,指導這些組件推理,特別是RAM、移位寄存器和DSP資源的使用。這些模板內置于Vivado Design Suite 2013.3 版本中。”
本章還分三節著重介紹了提高可靠性、性能和功耗優化的有關編碼技術。每節都給出了約束建議,以充分發揮Vivado設計套件統一數據模型的優勢。
“實現高可靠性的編碼風格”這一節給出了時鐘域交叉(同步和異步)、未約束的復位和避免組合邏輯環路的建議。“提高性能的編碼風格”這一節給出了有關關鍵路徑上的高扇出和寄存器復制的建議,以及設計中實現流水線應注意的事項。“優化功耗的編碼風格”這一節介紹了您在設計中可能用到的多種不同節省功耗技術,囊括了經過檢驗且可靠的數據路徑和門控時鐘等方法,以及最大化門控元素、限制控制信號等一些微妙的建議。
第五章重點介紹了從綜合到布線整個實現流程。本章首先概括介紹了實現、綜合屬性和自下而上設計流程的優勢。如前所述,本章深入介紹了時序分析,并給出了時序收斂的基線法理念。此外,時序收斂這一節還給出了面對各種時序問題應該做什么、不應該做什么的很好建議。本章還討論了時序對功耗的可能影響。
本指南的最后一章也就是第六章介紹了配置和調試問題。這一章的前半部分一步步引導讀者了解生成比特流和配置賽靈思All Programmable器件中的最佳方法。后半部分主要介紹了設計流程中多個階段調試設計的最佳實踐。這部分探討了如何實現HDL實例化調試探測點流程,以及如何在網表中插入調試探測點流程。本章還討論了設計載入目標器件之后的設計調試策略。
本指南的附錄部分給出了更多豐富資源,或許最重要的資源就是UltraFast設計方法檢查清單,列出了設計團隊在設計周期中每個階段應考慮的事項,從最初的設計規劃到最后的硬件調試。Roane指出:“它給出了長長的問題清單,重點指出可能對下游工序造成影響的設計決策典型方面。” 檢查清單不僅可可讓讀者鏈接至指南中的有關方面介紹,還給出外部鏈接,介紹特定的設計問題。賽靈思的這個檢查清單還提供可下載的電子數據表。
對ULTRAFAST設計方法的支持
除了將所有最佳實踐編譯到極其有用的《Vivado設計套件的UltraFast設計方法指南》之外,賽靈思還在Vivado Design Suite 2013.3版本中融合了有關UltraFast設計方法的眾多建議。Vivado Design Suite2013.3版本目前支持UltraFast設計方法和時序DRC規則,能更好地指導用戶一步步完成設計工作,而且提供了非常方便的硬件描述語言(HDL)和約束模板,支持自動建構校正。
此外,賽靈思的全球培訓人員和聯盟成員生態系統也都正在積極支持UltraFast設計方法的使用。
舉例來說,Blue Pearl Software公司將賽靈思UltraFast設計規則添加到其Analyze RTL linting工具中。Roane指出:“Blue Pearl實現了UltraFast設計方法中有關RTL指南的自動化。除了執行語言linting之外,它還強制采用特定的編碼風格,確保賽靈思器件的最佳結果質量,包括使用適當復位類型、RAM或MAC編碼方式能最佳推理出賽靈思器件的內置固有模塊等。”
除了第三方EDA支持之外,賽靈思還積極測試其IP核,確保其符合UltraFast方法和DRC要求,并積極鼓勵所有聯盟成員IP廠商同樣確保符合指南要求。
最后同樣重要的是,賽靈思公司正在推出賽靈思及其全球合作伙伴共同提供的一系列培訓課程,發布全新的UltraFast設計方法QuickTake視頻。此外,所有賽靈思最新視頻均融合了UltraFast指南內容。
評論
查看更多