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