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