發(fā)布日期:2022-07-15 點(diǎn)擊率:56
ESL的發(fā)展
ESL的發(fā)展分別影響到軟件和硬件領(lǐng)域(見圖1)。在硬件方面,我們看到逐漸向更高級的設(shè)計(jì)抽象等級發(fā)展。最初使用多邊形來開始設(shè)計(jì),但是后來在電子硬件設(shè)計(jì)早期轉(zhuǎn)向使用原理圖。后來,設(shè)計(jì)工程師采用了集成的原理圖獲取和仿真工具。目前,他們使用HDL來實(shí)現(xiàn)大部分的設(shè)計(jì)。一個(gè)有趣的觀察是:大量的設(shè)計(jì)工程師還使用圖形工具進(jìn)行調(diào)試和分析。設(shè)計(jì)的可視化依然是在功能描述中的設(shè)計(jì)過程的一個(gè)關(guān)鍵部分。同樣地,某種程度上需要依賴于圖形來理解更高的復(fù)雜性。這在實(shí)質(zhì)上提高了設(shè)計(jì)抽象。
在軟件流程上,我們見證了從位和字節(jié)級的機(jī)器代碼、匯編語言到編譯語言的轉(zhuǎn)變。面向?qū)ο蟮恼Z言的最新趨勢已經(jīng)在軟件實(shí)現(xiàn)中得到廣泛的使用。面向?qū)ο缶幊?OOP)方法相對于程序編程方法的主要優(yōu)勢在于,它使程序設(shè)計(jì)工程師能創(chuàng)建在增加新的對象類型時(shí)不需要模塊被改變。程序設(shè)計(jì)工程師可以創(chuàng)建繼承很多現(xiàn)有對象的很多功能的新對象。這種OOP方法也被用于SystemVerilog語言中來構(gòu)建復(fù)雜的測試基準(zhǔn),這種基準(zhǔn)用于系統(tǒng)級設(shè)計(jì)驗(yàn)證,通過支持?jǐn)嘌浴⒐δ芨采w和經(jīng)改善的受約束隨機(jī)測試發(fā)生可以實(shí)現(xiàn)很大的驗(yàn)證優(yōu)勢。在設(shè)計(jì)范例中的這些改變使得設(shè)計(jì)質(zhì)量更高,并且在軟件/硬件開發(fā)領(lǐng)域?qū)崿F(xiàn)更高的復(fù)用。
圖1:用于系統(tǒng)設(shè)計(jì)和功能驗(yàn)證的ESL流程的基本架構(gòu)
ESL設(shè)計(jì)流程方面
ESL適合于設(shè)計(jì)流程中的設(shè)計(jì)實(shí)現(xiàn)和功能驗(yàn)證。引入了一種稱為TLM的概念。一般而言,TLM將支持在更高抽象級的設(shè)計(jì),或換言之,實(shí)現(xiàn)細(xì)節(jié)更少,使系統(tǒng)匯編、變更和確認(rèn)的速度更快。
這些TLM模型可以來自IP提供商,或用戶可以針對特定的功能自己創(chuàng)建,我們提供用于幫助自動(dòng)創(chuàng)建這些模型之間的系統(tǒng)級接口的工具。
對于在功能驗(yàn)證中提供一種虛擬原型來說,能快速地用抽象的方法對SoC進(jìn)行描述的能力很關(guān)鍵。在一般的硬件/軟件系統(tǒng)驗(yàn)證中,軟件可以產(chǎn)生針對硬件的真實(shí)激勵(lì)。在這種方法中的一種更徹底的功能測試可以幫助減少在后期發(fā)現(xiàn)的設(shè)計(jì)缺陷,在設(shè)計(jì)流程中發(fā)現(xiàn)缺陷的時(shí)間通常太遲;如果具有一個(gè)系統(tǒng)工作模型,那么,就為軟件開發(fā)和硬件實(shí)現(xiàn)的并行處理提供了基礎(chǔ)。另外一個(gè)模型來源是使用運(yùn)算綜合來產(chǎn)生用于設(shè)計(jì)實(shí)現(xiàn)的TLM(用于系統(tǒng)級匯編和分析)以及RTL模型,在這種來源中,用C或C++來開發(fā)一種特殊的處理算法。因?yàn)殚_發(fā)中的系統(tǒng)可以在相同的硬件和軟件環(huán)境中進(jìn)行顯現(xiàn),ESL將可以實(shí)現(xiàn)在硬件和軟件之間實(shí)現(xiàn)一種重要的架構(gòu)設(shè)計(jì)約束的交換。
對于每一個(gè)抽象等級,出現(xiàn)了某種更受歡迎的語言,這種語言能最有效地滿足需求,從而幫助創(chuàng)建整個(gè)系統(tǒng)流程(圖2)。盡管這些受歡迎的語言可能并不是解決某種需求的唯一選擇,但是它們通常具有某些更好的功能來幫助這個(gè)過程。
圖2:不同的模型抽象提取層需要采用不同的語言
C/C++及其變體,像SystemC能提供系統(tǒng)級和TLM設(shè)計(jì)的最佳的系列功能,但是也可以使用在采用其他語言的流程中。
在設(shè)計(jì)中處理行為和通信量作為一種事務(wù)的概念已經(jīng)沿用多年,但是在最近才作為接口定義和SoC設(shè)計(jì)中的標(biāo)準(zhǔn)得到認(rèn)可。事務(wù)的定義枚舉了起始、時(shí)序持續(xù)時(shí)間結(jié)束以及每個(gè)數(shù)據(jù)操作的內(nèi)容,而不是試圖解釋一堆事件和邊界。最近的OSCI TLM標(biāo)準(zhǔn)設(shè)定了構(gòu)建系統(tǒng)模塊的強(qiáng)大模型的基礎(chǔ),這種系統(tǒng)模塊可以在沒有不必要的約束行為或?qū)崿F(xiàn)選擇的條件下,容易地被互連、執(zhí)行以及分析。
對于設(shè)計(jì)一個(gè)系統(tǒng)的更完整的觀點(diǎn)來說,UML可以用來對最高級行為進(jìn)行建模,可以執(zhí)行這些模型,并使模型更精確以幫助推動(dòng)流程的其余部分。因?yàn)閁ML可以支持創(chuàng)新的ESL方法學(xué)而獲得普及,這種方法學(xué)將架構(gòu)、設(shè)計(jì)和驗(yàn)證域綁定在統(tǒng)一的觀點(diǎn)下。
ESL流程開發(fā)
特別地,ESL類包括基于平臺(tái)的設(shè)計(jì)、事務(wù)級建模、基于C的仿真、硬件/軟件協(xié)同仿真、性能優(yōu)化以及基于C的綜合。要在幾種解決方案中作出選擇,設(shè)計(jì)工程師可以構(gòu)建適合他們需求的ESL環(huán)境。Mentor Graphics擁有很多發(fā)展前景廣闊的解決方案。Mentor Graphics是ESL領(lǐng)域內(nèi)的領(lǐng)導(dǎo)者,提供的解決方案包括Perspecta,它用于設(shè)計(jì)、建模、性能分析和確認(rèn);無縫地用于全面的硬件和軟件協(xié)同驗(yàn)證,Questa用于先進(jìn)的功能驗(yàn)證,Catapult C用于系統(tǒng)級C綜合等。我們還預(yù)見到向ESL的發(fā)展將不斷繼續(xù),包括與現(xiàn)有的RTL相銜接的解決方案,以及從開始輸入到制造相結(jié)合的完整的自動(dòng)化、經(jīng)驗(yàn)證的流程。
本文小結(jié)
利用ESL的新的系統(tǒng)級設(shè)計(jì)方法的目的是在設(shè)計(jì)流程中實(shí)現(xiàn)直接的好處。盡早地確認(rèn)系統(tǒng)功能行為能幫助降低迭代次數(shù),在這一級的更快仿真使得有機(jī)會(huì)考察可選的設(shè)計(jì)架構(gòu),發(fā)現(xiàn)更好的選擇,做出更多的設(shè)計(jì)練習(xí)。獲得目標(biāo)結(jié)果將有助于增加10~100倍的效率,并使未來10到15年的設(shè)計(jì)可能實(shí)現(xiàn),并有助于彌合硬件和軟件開發(fā)的鴻溝。
作者:Chee-Chun Tay
應(yīng)用顧問
Mentor Graphics