電子電氣架構 --- SOC設計流程及其集成開發環境
我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。
老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師:
周末洗了一個澡,換了一身衣服,出了門卻不知道去哪兒,不知道去找誰,漫無目的走著,大概這就是成年人最深的孤獨吧! 舊人不知我近況,新人不知我過往,近況不該舊人知,過往不與新人講。縱你閱人何其多,再無一人恰似我。
時間不知不覺中,來到新的一年。2025開始新的忙碌。成年人的我也不知道去哪里渡自己的靈魂,獨自敲擊一些文字算是對這段時間做一個記錄。
片上系統(SOC——SystemOnaChip)是指在單芯片上集成微電子應用產品所需的全部功能系統,其是以超深亞微米(VDSMVery Deep Subnicron)工藝和知識產權(IP——Intellectual Property)核復用(Reuse)技術為支撐。
SOC技術是當前大規模集成電路(VLSI)的發展趨勢,也是世紀集成電路技術的主流,其為集成電路產業和集成電路應用技術提供了前所未有的廣闊市場和難得的發展機遇。SOC為微電子應用產品研究、開發和生產提供了新型的優秀的技術方法和工具,也是解決電子產品開發中的及時上市(TTM——Time to Market)的主要技術與方法。
片上系統(SOC)引入導致嵌入式系統的設計方法變革
就目前現狀而言,若以嵌入式系統所采用的核心器件——處理器進行劃分,嵌入式系統可以分為三種類型:
-> 基于微控制器(MCU)的嵌入式系統;
-> 基于信號處理器(DSP)的嵌入式系統;
-> 基于微處理器(MPU)的嵌入式系統。
其中基于MCU的嵌入式系統是一種低端嵌入式系統,這種系統共同的特點是系統運行速度低、數據處理能力弱和存儲空間有限(K級),因此只適合于低端的電子產品;基于DSP的嵌入式系統是中低端嵌入式系統,這種系統共同特點是系統運行速度較高、數據處理能力強,但是存儲空間也是有限的(K級M級);基于MPU的嵌入式系統通常可以分為兩種類型:基于CISC架構微處理器的嵌入式系統和基于RISC架構微處理器的嵌入式系統。
其中,CISC架構微處理器通常是由x體系結構進行嵌入應用擴展而獲得一種類型的嵌入式處理器;RISC架構嵌入式微處理器可以分為三大體系結構:arm體系結構、PowerPC體系結構和MIPS體系結構。基于這三大體系結構的嵌入式處理器品種繁多,功能也各異。但基于此類處理器的
嵌入式系統共同特點是運行速度高、數據處理能力強、存儲空間足夠大(G級),因此是一種高端的嵌入式系統。
無論是低端、中端或高端嵌入式系統,其經典的設計方法仍然是一種板級電子系統設計方法:首先,根據嵌入式系統的設計要求,并且按一定的設計規則,把整個嵌入系統劃分成具有特定功能的若干個功能模塊,如處理器模塊、信號采集模塊、執行機構控制模塊等;然后,根據系統模塊劃分的結果,選擇現成已商品化的模塊或自行研制各功能模塊;最后,把這些模塊組合成一個完整的嵌入式系統。隨著集成電路技術的發展和嵌入式系統小型化和微型化等方面要求,板級電子系統設計已經開始出現如下幾個方面的變化:
(1)嵌入式系統的核心器件——處理器(包括MCUDSP和MPU等)已經開始向單芯片系統方向發展。例如經典8051系列微控制器已經從原來只有簡單的并行I/O和串行接口(UART)發展到具有并行I/O、多UART接口、紅外線傳輸、A/D轉換器、D/A轉換器、模擬比較器、可編程模擬信號放大器、濾波器、PWM等的可編程片上系統(SOPC)型MCU芯片,即只需要極其少量的外圍器件就可以完成一個具有特定功能的嵌入式系統的設計工作;
(2)嵌入式系統的核心器件——處理器(包括MCUDSP和MPU等)已經開始向平臺級芯片方向發展,目前所推出的高檔嵌入式處理器,無論是基于arm體系結構、PowerPC體系結構還是基于MIPS體系結構的高檔嵌入式處理器,在單芯片上不僅具有各種功能的外圍接口,而且通常內置有RISC協處理器(例如RISC微控制器數字信號處理器等),同時還具有測試和自開發接口,因此完全可以把其認為是一種硬件平臺級芯片,這樣使得嵌入式系統設計與開發重點由板級系統設計轉到芯片級系統設計;
(3)嵌入式系統的核心器件——處理器(包括MCUDSP和MPU等)已經向高處理速度方向發展,從而使板級電子系統的PCB設計難度增加,設計重點不僅是PCB版圖設計,更重要的是電磁兼容性和系統可靠性設計。由此可見,由于嵌入式系統的核心部件——處理器向片上系統(SOC)發展板級設計工作量逐漸減少,未來的嵌入系統的發展的重點將從板級電子系統設計轉到芯片級電子系統設計上(即轉移到片上系統設計上)。因此,基于片上系統(SOC)設計方法必將成為未來嵌入式系統的發展主流;
對于一般的嵌入式系統設計者來講,尤其是國內的嵌人式系統設計者來講,基于片上系統(SOC)的設計方法還是主要停留在板級電子系統設計方法層次,即利用已經推出的商用SOC芯片進行板級電子系統設計。這主要是由于設計工具資金集成電路工藝等方面的限制所致,但是由于近年來多晶圓(MPW)項目和CPLD/FPGA技術的發展,尤其是可編程片上系統(SOPC——SystemonaProgrammablechip)芯片的出現使得一般的系統設計者進入芯片級電子系統設計成為可能。自從1999年出現第一個可編程片上系統(SOPC)器件以來,已經有眾多可編程器件供應商推出了具有自己特色的可編程器件,最為典型的是世界上兩大可編程器件供應商——Xilinx公司和Altera公司在FPGA/CPLD基礎推出的系列可編程片上系統器件。其中Xilinx公司先后推出的可編程片上系統器件有Virtex系列VirtexE系列、VirtexII系列、VirtexPro系列、Spaxtan系列、SpartanII系列等;Altera公司先后推出的可編程片上系統器件有APEX系統、APEX II系列、Mercury系列、Excalibur系列、Stratix系列、Cyclone系列等。每個系列器件都有多種產品,以適用于不同的應用要求。因此,對于國內一般的系統設計者來講,基于可編程片上系統(SOPC)器件的嵌入式系統設計將是進入芯片級電子系統設計的敲門磚。
那么,從板級電子系統設計到芯片級電子系統設計轉變將導致哪些方面的變化?主要表現在如下幾個方面:
-> (1)在設計描述工具方面,傳統的板級電子系統設計主要采用電路原理圖和元器件外形封裝圖作為設計描述語言工具而現在的芯片級電子系統設計主要采用文本方式的硬件描述語言(HDL——Hardware Description Language)作為設計描述語言工具
-> (2)在設計流程方面板極電子系統設計主要經歷電子系統原理圖設計與仿真、印刷電路板(PCB)設計與仿真分板(包括信號完整性分析、電磁兼容性分析等)等二個階段,而芯片級電子系統設計通常需要經歷系統級設計與仿真、算法級設計與仿真、寄存器傳輸級(RTL)設計與仿真、邏輯綜合與驗證、版圖設計綜合與驗證等個階段;
-> (3)在軟硬件協同設計方面,板級電子系統設計所采用的方法是先進行硬件系統設計后再進行軟件系統設計的方法,難以實現軟硬同步設計或協同設計,而芯片級電子系統設計可以比較容易實現軟硬件同時設計或協同設計;
-> (4)在設計實現方面,板級電子系統設計主要基于具有特定功能的集成電路器件,而芯片級電子系統設計主要是基于具有特定功能的電路模塊——知識產權核(IP核)。因此,板級電子系統設計與芯片級電子系統設計無論是在設計方法上還是在設計工具方面都發生了較大的變化。
隨著現代信息技術的發展,電子產品生命周期越來越短,特別是電子工業技術不斷發展,基于深亞微米和超深亞微米的超大規模集成電路技術的片上系統(SOC)芯片需求日益擴大,傳統的板級電子系統設計方法已不能適應產業界對電子產品需求。因此,基于知識產權(IP)核復用的芯片級電子系統設計方法將成為嵌入式系統設計的主流方式。基于可編程片上系統(SoPC)的設計流程基于可編程片上系統(SOPC)的芯片級電子系統設計主要有兩大支撐點:可編程片上系統器件所能提供的片上資源和可復用IP核庫所能提供的IP核資源。
其中可編程片上系統器件所能提供的片上資源是由集成電路工藝技術發展決定的,對于系統設計者來講,應根據設計要求盡量選擇合適的器件;可復用TP核庫所能提供的IP核資源需要通過系統設計者自行建設。在基于SOC的電子系統設計中,針對各類專門技術、專門應用、專門工具、專門生產工藝、專門產品的IP資源庫的建設和共享已形成一種規范,貫穿在系統設計的全過程。圖1為典型的基于IP核庫的片上系統(SOC)設計流程:
從圖可以看出,在基于可編程上系統(SOPC)的嵌入式系統設計流程中,除了需要強有力的EDA設計工具支持外,離開充分的資源庫的支持,可以說是寸步難行,并且必將失去競爭力。從總體上講,各個層次的IP庫和EDA工具是芯片級電子系統設計者必備的兩翼,可選的IP核庫資源是一種設計者能力的表征。圖2為芯片級電子系統設計中自頂向下設計方法的流程中所依賴的庫支持說明。
在片上系統(SOC)設計流程中的軟硬件協同設計
在片上系統(SOC)的設計流程中,除了依賴強有力的IP核庫和先進的EDA(電子設計自動化)工具支持外,與傳統專用集成電路(ASIC)設計流程最顯著的區別在于——軟硬件協同設計。圖3展示了軟硬件協同設計的一般流程,凸顯了這一設計方法上的創新與突破。
在軟硬件協同設計的過程中,傳統的硬件描述語言(如VHDL、Verilog HDL)和軟件設計語言(如C/C++)已難以滿足這一新興設計方法的需求。為此,必須引入新的系統級描述語言,以更好地支持軟硬件協同設計。
基于可編程片上系統(SOPC)的集成設計環境
片上系統(SOC)設計所需的EDA工具,從硬件設計角度來看,在設計流程的前端與ASIC設計并無太大差異。然而,從整個芯片設計的宏觀視角出發,這兩種類型的芯片設計存在顯著區別。這是因為,在SOC設計中,通常包含微處理器,所設計的系統級芯片必須與設備驅動程序、操作系統或嵌入式實時操作系統進行接口,同時還需要應用程序來完成數字計算、信號處理變換、控制決策等復雜功能。
因此,在設計的前期階段,需要進行軟硬件協同設計,以明確哪些功能應由硬件實現,哪些功能應由軟件實現,并進行合理的功能劃分。在設計的中后期,則需進行軟硬件協同驗證,即將軟硬件設計置于一個虛擬的集成環境中進行仿真驗證,以確保硬件性能達到設計目標,軟件功能滿足設計要求。
基于可編程片上系統(SOPC)的芯片級電子系統集成設計環境
根據可編程片上系統(SOPC)的設計流程和軟硬件協同設計的一般流程,本文提出了基于可編程片上系統(SOPC)的芯片級電子系統的集成設計環境(如圖所示)。此集成環境是一種典型的軟硬協同設計集成環境(或平臺),由兩個不同層次、不同功能的EDA集成設計環境組成。
第一層次的EDA集成設計環境是SOC系統級集成設計環境,主要用于完成嵌入式系統的系統級設計。首先,需要根據客戶的需求進行系統的功能定義和性能評估,以確定系統規格。其次,根據已確定的系統規格,運用系統級描述語言(如C/C++或System C等)進行系統設計描述與設計驗證,以確保所定義的系統規格在功能上可以實現。再次,在驗證了系統規格的功能可行性后,需要進行系統軟硬件功能劃分,以明確哪些功能由軟件系統實現,哪些功能由硬件系統實現,哪些功能需要軟硬件協同完成。對于既可通過軟件系統實現也可通過硬件系統實現的功能,還需進行性能與成本的評估。最后,對于已確定的硬件系統功能,還需進行芯片與PCB(印刷電路板)功能的劃分,以明確哪些功能可在芯片上實現,哪些功能只能在PCB上實現。
第二層次的EDA集成設計環境:SOC硬件與軟件系統集成設計
第二層次的EDA集成設計環境,即SOC(系統級芯片)硬件系統集成設計環境和SOC軟件系統集成設計環境,主要用于完成嵌入式系統的軟硬件系統設計。在系統級設計的功能劃分基礎上,SOC的硬件系統設計和軟件系統設計并行進行。
在硬件系統設計中,通常經歷多個設計階段:首先是行為描述與驗證,包括硬件系統的系統級、算法級、寄存器傳輸級的行為描述與仿真驗證;接著是邏輯綜合與驗證,以及可測性設計綜合與邏輯生成;然后是器件適配與仿真驗證,最后是器件物理編程與物理驗證,以及版圖生成與驗證。其中,前幾個設計階段是基于SOPC(可編程片上系統)的硬件系統設計流程。
在軟件系統設計中,也經歷了一系列階段:軟件系統編輯、軟件系統編譯、軟件系統仿真調試,以及軟件系統編程等。
在軟硬件系統設計過程中,為了確保系統的性能價格比達到最優,需要不斷進行軟硬件協同設計。通常在硬件系統行為描述與仿真之后,就可以將所設計的硬件系統與軟件系統置于虛擬器件的軟硬件協同仿真驗證環境中,以驗證硬件系統集成的系統所能達到的功能、性能、成本等,從而使得所實現的芯片級電子系統的性能價格比達到最優。
基于可編程片上系統(SOPC)的嵌入式系統集成設計環境是一個相當復雜的集成EDA開發環境。常見的可編程片上系統集成化EDA開發套件,如Altera公司的Quartus II系列EDA工具套件和Xilinx公司的ISE.x系列EDA工具套件,雖然儲存集成化程度較高,但也難以達到理想中的集成化程度。因此,系統設計者需要根據現有的商用化EDA工具來構建這樣的集成設計環境。有理由相信,在不久的將來,將會推出類似的集成EDA工具環境,而片上系統(SOC)正是嵌入式系統的發展方向。
嵌入式系統的核心:微處理器與SOC的發展
嵌入式系統的核心部件是微處理器。隨著集成電路技術的發展以及電子產品及時面市的要求,微處理器(包括微控制器、數字信號處理器、嵌入式處理器)正向著單芯片系統方向發展。這使得基于片上系統(SOC)的電子系統成為嵌入式系統的發展方向和主流。
目前,國內的基于片上系統(SOC)的嵌入式系統設計大都停留在板級電子系統設計水平。然而,隨著可編程片上系統(SOPC)器件的應用和發展,相信在今后的若干年內,基于SOC的嵌入式系統設計會逐漸過渡到芯片級電子系統的設計水平。由于芯片級電子系統設計方法與板級電子系統設計方法有著本質的區別,因此,對于系統設計者來說,了解與掌握芯片級電子系統的設計流程以及集成設計環境是至關重要的。
為此,本文以圖示方式直觀地給出了基于可編程片上系統(SOPC)的芯片級電子系統設計流程和集成設計環境,全面展示了芯片級電子系統所涉及到的問題。通常,需要采用System C(或其他類似語言)才能完成軟硬件協同設計。這種設計通常是從一個給定的系統任務開始的,通過有效地分析系統任務和所需要的資源,采用一系列的變換方法,并且遵循特定的準則,自動生成符合系統功能要求和實現代價約束的硬件和軟件框架。
這種全新的軟硬件協同設計思想需要解決許多問題,包括系統級建模、系統級描述語言、軟硬件劃分、性能評估、協調綜合、協同仿真以及協同驗證等。
擱筆分享完畢!
愿你我相信時間的力量
做一個長期主義者
本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/900030.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/900030.shtml
英文地址,請注明出處:http://en.pswp.cn/news/900030.shtml
如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!