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