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