ESL設計之所以會受歡迎,主要源于以下3方面的特性:功能正確和時鐘精確型的執行環境使提前開發軟件成為可能,縮短了軟硬件集成的時間;
系統設計更早地與驗證流程相結合,能確定工程開發產品的正確性;在抽象層設置的約束和參數可以被傳遞到各種用于設計實現的工具中。
1.更早地進行軟件開發
有了虛擬的原型平臺意味著可以更早地開始軟件開發。對于目前基于SystemC語言的ESL設計方法學來說,ESL設計工程師可用SystemC生成一個用來仿真SoC行為的事務級模型。由于事務級模型比RTL模型的開發速度要快得多。在RTL實現以前,完成TLM建模后的系統就可以開始軟件的開發。
那么,軟件的開發可以與RTL實現同時展開,而不是傳統的在RTL實現完成以后才開始軟件開發。雖然部分與硬件實現細節有關的軟件要在RTL完成以后才能開始,但還是可以節省大量開發時間。
對于一個大型軟件開發任務,盡可能早地開始軟件開發很有必要。這樣不但節省了大量軟件開發的時間,還使軟硬件的集成和驗證變得更加容易。如此獨一無二的特性吸引了很多公司將其作為設計流程中特定的一環。
2.更高層次上的硬件設計
為了適應不斷變化的市場要求,需要不斷推出新產品或經過改進的產品。在SoC設計中可以通過改進一些模塊的性能、增加功能模塊或存儲器、甚至在系統結構上做出重大的調整。因此,設計工程師必須擁有可實現的快速硬件設計方法。
為了實現快速的硬件設計,ESL設計須建立在較高的抽象層次之上,如事務級建模(TLM)。事務級建模可實現較早開始軟件開發、ESL設計及驗證任務的虛擬集成平臺。
以前,RTL平臺曾被用來減少設計修改的問題,它通過為未來設計提供一個經過預驗證的系統結構來實現這一點。然而,為滿足新的市場需求而優化RTL系統結構和集成RTL級的IP所帶來的困難越來越大,這會顯著減緩設計過程。而一個未經優化的系統結構可能對性能和功耗產生負面影響。最終,設計團隊可能會因為性能目標和成本目標的沖突而被迫放棄。
事務級模型被應用于函數調用和數據包傳輸層。這是一個抽象層,設計意圖在該層被捕獲,而且該層給設計工程師提供了一個直接而清晰的系統行為視圖。而在ESL設計中的事務模型更容易集成到SoC架構的事務模型中,使SoC結構設計師能快速研究并分析多個備選硬件架構和硬件/軟件分割方案以確定最佳架構。這種方法明顯加快了初始設計,但它的最大好處是在快速轉變的設計中采用最初的SoC TLM作為易于更改的平臺。
傳輸級模型可以分為事件觸發型和時鐘精確型。事件觸發機制在硬件設計仿真中經常使用,它能維持大量并發性事件的順序。然而,面對如此眾多的執行事件,如果想要在更高的抽象層執行得更快,就必須將它們歸結到相應的時鐘周期或指令周期,這就是時鐘精確型模型的原理。所以,將大量有嚴格順序的事件抽象到每個時鐘節拍內建模,進而搭建出的虛擬原型平臺可以達到比事件觸發型的仿真快10倍以上的仿真速度,而并不影響功能和性能的評估結果。
這些模型能夠提供比RTL級模型快好幾個數量級的仿真速度。在保證功能正確的前提下,只損失一些時序精度,所以對ESL工具的挑戰就是既要保持足夠精度的時序信息來幫助設計決策,又要提供足夠的仿真速度以滿足大型的系統軟件(如OS啟動)在可接受的時間內完整運行。
只要掌握了這種平衡,就可以在高級設計中驗證時序和設置約束條件,再將這些優化的設計分割、分配到各個不同的軟硬件設計工作組去加以實現。RTL或帶有時序信息的RTL仿真通常只能提供10 MIPS到數百MIPS左右的系統仿真性能,然而,時鐘精確型的ESL仿真卻能達到100 kMIPS到1 MMIPS的仿真速度。一般來說,ESL上的仿真只會同RTL仿真的時序有些細微差別,這足以滿足在時鐘級別上驗證系統行為的目的。
3.設計的可配置性和自動生成
越來越多的系統強調自己的可配置性,如不同的處理器、不同的總線帶寬、不同的存儲器容量、無數的外設,所以在仿真中模擬各種不同的配置對設計者來說非常有價值。設計的風險在于需要綜合驗證環境,配置和生成出來的設計必須與驗證環境得到的結果完全一致,并延續到整個設計流程中。
而且系統互連已不再是固定不變的IP總線和橋,通常系統互連是由可配置的結構生成器產生的。配置這些部件的本質就是要在存儲器和處理器間提供足夠優化和高性能的帶寬。通過ESL模型,結構設計師能夠找到最好的配置方案,但是,這樣產生出來的結果需要與一套骨架的驗證環境同步到設計實現中去。
ESL設計領域有3種不同的層次,最高的層次是算法開發,在設計和實現層次是系統架構開發,第3種就是設計的自動生成過程。ESL設計更進一步的目標是能夠自動生成IP。一旦系統設計經過各種權衡確定方案之后,各種可配置的模塊也可以將參數最終確定下來,就可以利用工具將確定的方案自動裝配產生出來了。
例如,ARM已經實現了從RealView SoC Designer ESL環境中自動導入Synopsys DesignWare CoreAssembler SoC的集成和綜合流程,并且可以從CoreAssembler或Mentor Graphics公司的Platform Express中啟動ARM PL300 AXI可配置互連生成器,來生成AXI總線系統。
4.方便的結構設計
ESL結構設計能完成功能到運算引擎的映射,這里的引擎指的是那些可編程的目標,如處理器、可配置的DSP協處理器,或者特殊的硬件模塊如UART外設、互連系統和存儲器結構。這是系統設計的開始環節,從行為上劃分系統,驗證各種配置選擇的可行性及優化程度。在這個領域中的工具很多,如CoWare公司的ConvergenSC、Synopsys公司的CoCencentric System Studio、ARM公司的RealView SoC Designer,這些工具都可用于開始時的結構設計。
ESL工具對于開發可配置結構體系是非常關鍵的,它使系統結構從抽象的行為級很容易地映射到具體的硬件設計,從而方便決定哪些模塊可以被復用,哪些新模塊需要設計。它還能提供必要信息指導最優化的通信、調度和仲裁機制。
為了在結構設計中方便復用、模擬IP模塊,就必須對它們進行建模,比如用SystemC語言對處理器和總線這樣主要的IP進行事務級建模。在事務級模型完成后,在RTL建模和軟件開發的同時可以對體系結構進行驗證和評估。系統體系結構的開發需要使用帶有時間信息的事務級模型。
周期精確的RTL模型對系統體系結構的分析能夠提供精確的分析。但RTL模型的開發遠比事務級模型的開發需要更多的時間,而且當模型需要做出改變以適應軟硬件劃分調整的時候,事務級模型更加靈活。雖然事務級模型的精確性比RTL模型要低,但實驗表明包含時間信息的事務級模型能夠提供足夠的精確度。
-
soc
+關注
關注
38文章
4122瀏覽量
217938 -
ESL
+關注
關注
1文章
74瀏覽量
21329 -
模型
+關注
關注
1文章
3172瀏覽量
48714 -
系統
+關注
關注
1文章
1007瀏覽量
21314
發布評論請先 登錄
相關推薦
評論