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