在SoC設(shè)計(jì)中采用ESL設(shè)計(jì)和驗(yàn)證方法
本文討論電子系統(tǒng)級(ESL)設(shè)計(jì)和驗(yàn)證方法學(xué)在系統(tǒng)級芯片(SoC)設(shè)計(jì)中的應(yīng)用。ESL設(shè)計(jì)是能夠讓SoC設(shè)計(jì)工程師以緊密耦合方式開發(fā)、優(yōu)化和驗(yàn)證復(fù)雜系統(tǒng)架構(gòu)和嵌入式軟件的一套方法學(xué),它還提供下游寄存器傳輸級(RTL)實(shí)現(xiàn)的驗(yàn)證基礎(chǔ)。已有許多世界領(lǐng)先的系統(tǒng)和半導(dǎo)體公司采用ESL設(shè)計(jì)。他們利用ESL開發(fā)具有豐富軟件的多處理器器件,這些器件為創(chuàng)新終端產(chǎn)品獲得成功提供必需的先進(jìn)功能性和高性能。
為什么中國的電子產(chǎn)業(yè)將會對ESL感興趣?因?yàn)橹袊I(lǐng)先的電子公司正在經(jīng)歷一場對他們競爭力非常關(guān)鍵的轉(zhuǎn)型。通過采納技術(shù)創(chuàng)新策略,中國將成為純粹的知識產(chǎn)權(quán)(IP)提供者,而不是純粹的IP消費(fèi)者。那些擁有知識產(chǎn)權(quán)的公司將持有通向IP庫的鑰匙。
為成功地執(zhí)行創(chuàng)新策略,中國公司必須采用創(chuàng)新領(lǐng)先公司所使用的先進(jìn)設(shè)計(jì)方法學(xué)。ESL設(shè)計(jì)正是這樣一種方法學(xué)。它已經(jīng)被諸多國際系統(tǒng)和半導(dǎo)體公司采用。在中國,大唐已率先在中國3G手機(jī)技術(shù)-TD-SCDMA開發(fā)中采用ESL設(shè)計(jì),清華大學(xué)及其一些產(chǎn)業(yè)合作單位也采用ESL方法學(xué)開發(fā)先進(jìn)的地面數(shù)字多媒體廣播應(yīng)用。
嵌入式軟件驅(qū)動SoC設(shè)計(jì)
圖1總結(jié)了市場調(diào)研公司國際商業(yè)策略(InternaTIONal Business STrategies)對SoC設(shè)計(jì)工程師所做的調(diào)查數(shù)據(jù)。它表明,兩種主要的SoC設(shè)計(jì)挑戰(zhàn)--與設(shè)計(jì)嵌入式軟件和硬件架構(gòu)的相關(guān)工作量隨著工藝的縮小而急劇增加,而硬件實(shí)現(xiàn)(RTL設(shè)計(jì)、綜合、物理設(shè)計(jì)等)工作量的增加則要少得多。請注意,該調(diào)查提到的嵌入式軟件由半導(dǎo)體制造商提供,這些軟件不包括由系統(tǒng)生產(chǎn)商開發(fā)的使終端產(chǎn)品差異化的軟件。
圖1:隨著工藝節(jié)點(diǎn)的縮小,主要設(shè)計(jì)工作從硬件實(shí)現(xiàn)轉(zhuǎn)向設(shè)計(jì)嵌入式軟件和硬件架構(gòu)。
主要設(shè)計(jì)工作從硬件實(shí)現(xiàn)轉(zhuǎn)移到嵌入式軟件和硬件架構(gòu)這種顯著變化表明,芯片已真正成為一個(gè)嵌入式系統(tǒng)。
嵌入式軟件開發(fā)工作量的增加,主要是由于能夠?qū)崿F(xiàn)消費(fèi)產(chǎn)品之間兼容性和互操作性的無線及多媒體標(biāo)準(zhǔn)(或者其中之一)越來越多。諸如JPEG、MPEG、3G、GSM/EDGE、IEEE 802.11/a/b/g WLAN、藍(lán)牙和UWB等標(biāo)準(zhǔn),都是現(xiàn)代電子產(chǎn)業(yè)獲得商業(yè)成功所必需的。
架構(gòu)開發(fā)工作量的增加主要是由于SoC需要集成和優(yōu)化越來越復(fù)雜的處理、存儲資源以及通信協(xié)議,這些對以必備的性能執(zhí)行嵌入式軟件很有必要。實(shí)際上,先進(jìn)SoC現(xiàn)已采用3個(gè)或更多微處理器以及3個(gè)或更多數(shù)字信號處理器(DSP)。甚至連主流設(shè)計(jì)也已包含一個(gè)微處理器和兩個(gè)DSP,而包含兩個(gè)微處理器和兩個(gè)DSP的情況也很常見。
換句話說,嵌入式軟件現(xiàn)正驅(qū)動著SoC設(shè)計(jì),而且嵌入式軟件對開發(fā)中國自己的通信和媒體互操作性標(biāo)準(zhǔn)也非常關(guān)鍵。
為什么采用ESL設(shè)計(jì)
業(yè)界領(lǐng)先公司采用ESL設(shè)計(jì)是因?yàn)樗乖O(shè)計(jì)工程師能夠及早進(jìn)行軟件開發(fā),實(shí)現(xiàn)快速設(shè)計(jì)和派生設(shè)計(jì)、快速硬件驗(yàn)證以及快速硬件/軟件(HW/SW)驗(yàn)證。它還提供可以用來驗(yàn)證下游RTL實(shí)現(xiàn)符合系統(tǒng)規(guī)范的功能測試平臺。此外,ESL設(shè)計(jì)工具可綜合針對應(yīng)用優(yōu)化的定制處理器,以及快速開發(fā)和實(shí)現(xiàn)先進(jìn)算法。
及早進(jìn)行軟件開發(fā):對于一個(gè)大型軟件開發(fā)任務(wù),盡可能早地開始軟件開發(fā)很有必要,即使原有軟件的復(fù)用程度很高。
采用基于SystemC語言的ESL設(shè)計(jì)方法學(xué),SoC架構(gòu)工程師可生成一個(gè)用來仿真SoC行為,如果需要,還可仿真SoC周期精確時(shí)序的高級模型。這個(gè)模型稱為事務(wù)級模型(TLM),它使軟件設(shè)計(jì)工程師在RTL設(shè)計(jì)或者硅原型完成前的好幾個(gè)月就可著手進(jìn)行軟件開發(fā)工作。
1.快速設(shè)計(jì)和派生設(shè)計(jì)
不斷變化的消費(fèi)市場要求不斷推出“新的和改進(jìn)的”產(chǎn)品。一些改進(jìn)可以通過重新對SoC進(jìn)行編程來獲得,但更多的
軟件可能需要更多的硬件資源,因此設(shè)計(jì)工程師必須采用可實(shí)現(xiàn)快速硬件設(shè)計(jì)和派生設(shè)計(jì)的方法。
RTL平臺曾被設(shè)計(jì)用來減少派生設(shè)計(jì)問題,它通過為未來設(shè)計(jì)提供一個(gè)經(jīng)過預(yù)驗(yàn)證的架構(gòu)來實(shí)現(xiàn)這一點(diǎn)。然而,為滿足新的市場需求而優(yōu)化RTL架構(gòu)以及集成RTL IP所帶來的困難,會顯著減緩設(shè)計(jì)過程。一個(gè)未經(jīng)優(yōu)化的架構(gòu)可能對性能和功耗產(chǎn)生負(fù)面影響。最終,設(shè)計(jì)團(tuán)隊(duì)可能被迫放棄功能性以達(dá)到性能和功耗目標(biāo)。
TLM應(yīng)用于函數(shù)調(diào)用和數(shù)據(jù)包傳輸層。這是一個(gè)抽象層,“設(shè)計(jì)意圖”在該層被捕獲,而且該層給設(shè)計(jì)工程師提供了一個(gè)直接而清晰的系統(tǒng)行為視圖。硅IP的SystemC TLM模型很容易集成到SoC架構(gòu)的TLM中,這使SoC架構(gòu)師能快速研究并分析多個(gè)備選硬件架構(gòu)和硬件/軟件分割方案(每個(gè)方案具有不同的性能和經(jīng)濟(jì)上的折衷)以確定最佳架構(gòu)。這種方法明顯加快了初始設(shè)計(jì),但它最大的好處是在快速轉(zhuǎn)變的派生設(shè)計(jì)中采用最初的SoC TLM作為易于更改的平臺。TI便是采用這種方法開發(fā)OMAP系列處理器和調(diào)制解調(diào)器。
2.快速驗(yàn)證
TLM的抽象級別明顯高于RTL的抽象級別,它描述模塊內(nèi)的電路狀態(tài)、精確到納秒的轉(zhuǎn)換以及精確到位的總線行為。因此,意法微電子等領(lǐng)先公司認(rèn)為,相比使用RTL,使用周期精確的TLM將使硬件驗(yàn)證和硬件/軟件協(xié)同驗(yàn)證速度快1,000倍或者更多。這種方法不僅可產(chǎn)生用于驗(yàn)證系統(tǒng)行為和RTL實(shí)現(xiàn)的功能測試基準(zhǔn)(testbench),它還支持SystemC與RTL的協(xié)同仿真,這樣SoC TLM可被當(dāng)作一個(gè)“測試臺”,當(dāng)下游RTL實(shí)現(xiàn)模塊可用時(shí),它們便可在這個(gè)測試臺上進(jìn)行驗(yàn)證。
高通公司的經(jīng)驗(yàn)表明,系統(tǒng)級的HW/SW協(xié)同驗(yàn)證要優(yōu)于C/RTL實(shí)現(xiàn)級的HW/SW協(xié)同驗(yàn)證。一個(gè)維特比解碼器設(shè)計(jì)可在20ms內(nèi)執(zhí)行一個(gè)信息包,但是在C/RTL級進(jìn)行仿真卻需要6個(gè)小時(shí),高通估計(jì)必須仿真1,000個(gè)信息包才能達(dá)到合理的置信度,因此總共需要6,000小時(shí)的仿真時(shí)間,但這是不現(xiàn)實(shí)的。而1,000個(gè)信息包與一個(gè)TLM進(jìn)行協(xié)同驗(yàn)證將只需要6個(gè)小時(shí),或者更少。
針對應(yīng)用優(yōu)化的處理器的綜合:不斷增強(qiáng)的處理能力需求經(jīng)
常通過采用額外標(biāo)準(zhǔn)通用(GP)處理器內(nèi)核來滿足。然而,構(gòu)建GP內(nèi)核是用來解決廣范圍內(nèi)的應(yīng)用,它可能無法以必備的性能執(zhí)行一個(gè)給定軟件算法,且可能占用過多芯片面積和功率。另外,它通常還需支付大量的額外IP許可費(fèi)和版權(quán)費(fèi)。
采用指令集(IS)針對應(yīng)用需求優(yōu)化過的處理器可解決這個(gè)問題。定制IS處理器可在只有絕對必要的硬件資源條件下提供必備的性能。利用ESL工具,這樣的處理器可以從結(jié)構(gòu)描述或者定制IS本身開始自動綜合。ESL工具還自動生成處理器的軟件開發(fā)工具,例如指令集仿真器、匯編器、鏈接器、反匯編器、調(diào)試器和C編譯器。
以英飛凌為例,該公司據(jù)稱在兩個(gè)月內(nèi)就為特定應(yīng)用的多速率DSP開發(fā)出網(wǎng)表和開發(fā)工具。
3.先進(jìn)算法開發(fā)
在消費(fèi)設(shè)備中使用的諸如JPEG和MPEG等很多先進(jìn)算法都是數(shù)字信號處理算法,必須實(shí)現(xiàn)這些算法以達(dá)到對不同設(shè)備來說可能不同的性能和功耗目標(biāo)。先進(jìn)算法通常首先設(shè)計(jì)成浮點(diǎn)算術(shù)形式的參考算法(實(shí)際上,像JPEG和MPEG這樣的標(biāo)準(zhǔn)算法一般都以這種形式實(shí)現(xiàn)),然后再轉(zhuǎn)換成定點(diǎn)算術(shù)形式,嵌入式軟件和RTL實(shí)現(xiàn)便是從定點(diǎn)算術(shù)形式衍生出來的。
針對DSP算法的圖形化ESL設(shè)計(jì)以及仿真工具能實(shí)現(xiàn)這種流程。對于通信和多媒體應(yīng)用,采用可定制DSP算法的預(yù)設(shè)計(jì)庫能加速算法開發(fā)。另外還存在一些標(biāo)準(zhǔn)算法庫,例如3G W-CDMA、GSM/EDGE、IS-95 CDMA、IEEE 802.11/a/b/g 無線局域網(wǎng)(WLAN)、藍(lán)牙和UWB。當(dāng)HW/SW分割后,采用微架構(gòu)庫可加速RTL實(shí)現(xiàn)的開發(fā)。大唐使用這樣的工具與其他公司合作開發(fā)了TD-SCDMA的基帶庫。
TLM方法論
TLM是可實(shí)現(xiàn)及早開始軟件開發(fā)、ESL設(shè)計(jì)以及驗(yàn)證任務(wù)的虛擬集成平臺,圖2顯示了TLM在SoC設(shè)計(jì)中所處的中心位置。
圖2:ESL設(shè)計(jì)與驗(yàn)證任務(wù)。
SoC TLM本質(zhì)上是器件資源的一個(gè)網(wǎng)絡(luò)模型,它全無實(shí)現(xiàn)的細(xì)節(jié)。功能模塊的行為模型是根據(jù)它們的輸入激勵(lì)和輸出響應(yīng)來建立的。模塊通過由API連接至每個(gè)模塊的一個(gè)或者一組總線進(jìn)行通信,這些通信過程則被建模成具有相關(guān)數(shù)據(jù)傳輸?shù)臄?shù)據(jù)流機(jī)制。這樣避免了不必要的實(shí)現(xiàn)細(xì)節(jié),這些細(xì)節(jié)會模糊設(shè)計(jì)工程師的系統(tǒng)行為視圖并減慢仿真速度。模塊行為與通信分開,可實(shí)現(xiàn)功能模塊的快速修改或者替換而無需重新設(shè)計(jì)總線,反之亦然,它對快速的IP集成以及復(fù)雜的“what if”分析也非常關(guān)鍵。
有三種常見的TLM使用模式:程序員視圖(PV)、架構(gòu)師視圖(AV)以及驗(yàn)證視圖(VV)。盡管這些模式代表三種不同的系統(tǒng)視圖,但是大多數(shù)模型都能以所有三種模式進(jìn)行配置。
1.程序員視圖
程序員視圖TLM是SoC的一種功能正確模型,它允許使用傳統(tǒng)軟件以及及早開發(fā)新軟件。一般情況下,PV TLM由處理器、存儲器、外設(shè)的功能模型以及將事務(wù)引導(dǎo)到正確存儲器或外設(shè)的路由器功能模型組成(見圖3)。
圖3:程序員視圖TLM。
PV使軟件開發(fā)人員能夠訪問必需的系統(tǒng)資源和屬性,比如寄存器的可見性、寄存器的精確性和中斷處理等,同時(shí)它還可直接鏈接目標(biāo)處理器和調(diào)試環(huán)境的指令集仿真器(ISS)。目標(biāo)RTOS的API以及目標(biāo)處理器的編譯器用來開發(fā)軟件對象代碼,此階段的應(yīng)用軟件開發(fā)只需一個(gè)數(shù)據(jù)流模式(schema)。因此,PV是不定時(shí)的,PV仿真可在每秒數(shù)百萬條指令的速度范圍內(nèi)很好地執(zhí)行。
2.架構(gòu)師視圖
架構(gòu)師視圖TLM是具有SoC時(shí)序?qū)傩缘南嗤P汀T撃P褪乖O(shè)計(jì)團(tuán)隊(duì)能夠分析SoC性能以便在設(shè)計(jì)實(shí) 現(xiàn)之前準(zhǔn)確找出瓶頸(見圖4)。最終的硬件/軟件分割決定是在這個(gè)視圖中實(shí)現(xiàn)的。
圖4:架構(gòu)師視圖TLM。
時(shí)序的捕獲不是顯式就是隱式。顯式時(shí)序可以近似地模仿SoC的硬件性能,它用系統(tǒng)事件和事件同步的函數(shù)表示,而模塊內(nèi)部時(shí)序則可能非常精確。
隱式定時(shí)模型使用嵌入到TLM API調(diào)用中的時(shí)序注釋,因此時(shí)序注釋獨(dú)立于功能性。這允許對各種功能模塊的候選架構(gòu)和實(shí)現(xiàn)進(jìn)行快速修改和性能描述,它還可提高仿真速度,使隱式定時(shí)模型的仿真速度超過顯式定時(shí)模型。
指令精確的ISS可通過PV-AV事務(wù)器連接到一個(gè)架構(gòu)視圖上,允許在執(zhí)行軟件的同時(shí)分析系統(tǒng)性能。PV-AV事務(wù)器還能評估在操作系統(tǒng)(OS)中執(zhí)行應(yīng)用的架構(gòu)。OS以PV模式引導(dǎo),應(yīng)用則以AV模式執(zhí)行。
3.驗(yàn)證視圖TLM
驗(yàn)證視圖本質(zhì)上就是AV模型,它在周期精確的時(shí)序方面得到增強(qiáng)。這種模型能夠?qū)崿F(xiàn)可精確預(yù)測真實(shí)芯片時(shí)序的硬件驗(yàn)證和硬件/軟件驗(yàn)證,它還使開發(fā)團(tuán)隊(duì)能創(chuàng)建用于RTL驗(yàn)證的測試基準(zhǔn)。用Verilog和/或者VHDL編寫的RTL模型一旦完成,便可在VV TLM模型中例示,這樣在完整的SoC實(shí)現(xiàn)模型完成之前就能進(jìn)行系統(tǒng)驗(yàn)證以及調(diào)試。
VV仿真的執(zhí)行速度一般比RTL仿真和C/RTL HW/SW協(xié)同驗(yàn)證速度快三個(gè)數(shù)量級。
這三個(gè)TLM視圖組成了全部ESL設(shè)計(jì)流程(如圖5所示),不同模型可以利用易于設(shè)計(jì)的處理器和轉(zhuǎn)換器協(xié)同執(zhí)行。
圖5:帶有三種主要TLM使用模式的HW/SW開發(fā)流程。
ESL設(shè)計(jì)成功案例
領(lǐng)先的系統(tǒng)和半導(dǎo)體公司已經(jīng)公開宣稱ESL設(shè)計(jì)的結(jié)果超出預(yù)期,他們已轉(zhuǎn)向采用在準(zhǔn)硅片多處理器系統(tǒng)仿真模型上開發(fā)軟件的標(biāo)準(zhǔn)操作過程,該模型能以近似實(shí)時(shí)性能執(zhí)行。在某些情況下,仿真模型僅在兩秒內(nèi)就可引導(dǎo)普通的RTOS,例如嵌入式Linux。TLM方法具有良好的精確性,在將硅原型交付制造之前,這種精確性對于優(yōu)化芯片架構(gòu)的性能和功耗來說很關(guān)鍵。
例如,某大型日本打印機(jī)公司采用ESL設(shè)計(jì)方法,因?yàn)榛赗TL的方法已不能應(yīng)對每一代打印機(jī)所需的架構(gòu)上的重大修改。該公司對其從低端家庭打印機(jī)到高端網(wǎng)絡(luò)打印機(jī)的所有產(chǎn)品都采用相同的基本算法。然而,不同打印機(jī)類型在數(shù)據(jù)通信、處理、存儲需求上的重大差異要求那些算法有明顯不同的實(shí)現(xiàn),包括不同的存儲器架構(gòu)和通信總線架構(gòu)。
優(yōu)化這些不同架構(gòu)只能在ESL設(shè)計(jì)提供的TLM抽象級別上才能得到有效實(shí)現(xiàn)。不過,簡單地轉(zhuǎn)向ESL設(shè)計(jì)而缺少到RTL實(shí)現(xiàn)的鏈接將導(dǎo)致下游問題。該公司用管腳精確的事務(wù)器建立了這種允許SystemC TLM與RTL協(xié)同驗(yàn)證的鏈接。
從RTL轉(zhuǎn)到ESL設(shè)計(jì)是一條很好的轉(zhuǎn)移路徑。ESL是一種“由中間開始(middle-out)”的設(shè)計(jì)流程,允許重復(fù)利用原有的RTL IP。在那些沒有傳統(tǒng)約束的情況下,可以采用“自頂向下”的設(shè)計(jì)流程。東芝公司便是采用這種流程,利用設(shè)計(jì)套件開發(fā)用戶可配置媒體嵌入式處理器(MeP)。這個(gè)設(shè)計(jì)套件的基礎(chǔ)是使設(shè)計(jì)工程師能針對特定應(yīng)用定制配置的ESL設(shè)計(jì)環(huán)境。設(shè)計(jì)工程師可研究不同配置以確定哪種配置最佳,他們不僅要驗(yàn)證架構(gòu),而且還要驗(yàn)證每個(gè)硬件和軟件模塊是否滿足系統(tǒng)要求。
LSI邏輯公司在其ZSP數(shù)字信號處理器內(nèi)核設(shè)計(jì)中采用了類似方法。LSI對每種不同的內(nèi)核開發(fā)周期和事務(wù)精確的SystemC模型,這使設(shè)計(jì)工程師能夠?qū)oC架構(gòu)中的內(nèi)核性能建模。這些模型還使設(shè)計(jì)工程師能對硬軟件交互進(jìn)行調(diào)試。此外,設(shè)計(jì)師還可分析處理器的吞吐量和時(shí)延以及存儲器性能。
本文小結(jié)
ESL設(shè)計(jì)和驗(yàn)證方法使設(shè)計(jì)工程師能夠?qū)W⒂谀切┙o產(chǎn)品及IP帶來差異化和價(jià)值的系統(tǒng)設(shè)計(jì)屬性,即功能性和性能。這些屬性是由先進(jìn)算法、復(fù)雜的多處理器和存儲器架構(gòu)、高級通信協(xié)議以及針對應(yīng)用優(yōu)化的處理器(它們都由嵌入式軟件驅(qū)動)決定的。RTL實(shí)現(xiàn)的精巧性與高效的實(shí)現(xiàn)有關(guān),但其價(jià)值則存在系統(tǒng)設(shè)計(jì)中。IP的創(chuàng)新和擁有將成為中國電子產(chǎn)業(yè)的下一場革命,而ESL設(shè)計(jì)和驗(yàn)證方法學(xué)將成為這場革命的支撐力量。