歡迎您光臨本站 登入註冊首頁

概述

   片上系統(SOC——System-On-a-Chip)是指在單晶元上集成微電子應用產品所需的全部功能系統,其是以超深亞微米(VDSM-Ver……

    片上系統(SOC——System-On-a-Chip)是指在單晶元上集成微電子應用產品所需的全部功能系統,其是以超深亞微米(VDSM-Very Deep Subnicron)工藝和知識產權(IP——Intellectual Property)核復用(Reuse)技術為支撐。SOC技術是當前大規模集成電路(VLSI)的發展趨勢,也是21世紀集成電路技術的主流,其為集成電路產業和集成電路應用技術提供了前所未有的廣闊市場和難得的發展機遇。SOC為微電子應用產品研究、開發和生產提供了新型的優秀的技術方法和工具,也是解決電子產品開發中的及時上市(TTM——Time to Market)的主要技術與方法。

1  片上系統(SOC)引入導致嵌入式系統的設計方法變革
    就目前現狀而言,若以嵌入式系統所採用的核心器件——處理器進行劃分,嵌入式系統可以分為三種類型:基於微控制器(MCU)的嵌入式系統、基於信號處理器(DSP)的嵌入式系統、基於微處理器(MPU)的嵌入式系統。其中,基於MCU的嵌入式系統是一種低端嵌入式系統,這種系統共同的特點是系統運行速度低、數據處理能力弱和存儲空間有限(K級),因此只適合於低端的電子產品;基於DSP的嵌入式系統是中低端嵌入式系統,這種系統共同特點是系統運行速度較高、數據處理能力強,但是存儲空間也是有限的(K級、M級);基於MPU的嵌入式系統通常可以分為兩種類型:基於CISC架構微處理器的嵌入式系統和基於RISC架構微處理器的嵌入式系統。其中,CISC架構微處理器通常是由x86體系結構進行嵌入應用擴展而獲得一種類型的嵌入式處理器;RISC架構嵌入式微處理器可以分為三大體系結構:ARM體系結構、PowerPC體系結構和MIPS體系結構,基於這三大體系結構的嵌入式處理器品種繁多,功能也各異。但基於此類處理器的嵌入式系統共同特點是運行速度高、數據處理能力強、存儲空間足夠大(G級),因此是一種高端的嵌入式系統。

    無論是低端、中端或高端嵌入式系統,其經典的設計方法仍然是一種板級電子系統設計方法:首先,根據嵌入式系統的設計要求,並且按一定的設計規則,把整個嵌入系統劃分成具有特定功能的若干個功能模塊,如處理器模塊、信號採集模塊、執行機構控制模塊等;然後,根據系統模塊劃分的結果,選擇現成已商品化的模塊或自行研製各功能模塊;最後把這些模塊組合成一個完整的嵌入式系統。隨著集成電路技術的發展和嵌入式系統小型化和微型化等方面要求,板級電子系統設計已經開始出現如下幾個方面的變化:
(1)嵌入式系統的核心器件——處理器(包括MCU、DSP和MPU等)已經開始向單晶元系統方向發展,例如,經典8051系列微控制器已經從原來只有簡單的并行I/O和串列介面(UART)發展到具有并行I/O、多UART、介面、紅外線傳輸、A/D轉換器、D/A轉換器、模擬比較器、可編程模擬信號放大器、濾波器、PWM等的可編程片上系統(SOPC)型MCU晶元,即只需要極其少量的外圍器件就可以完成一個具有特定功能的嵌入式系統的設計工作;
(2)嵌入式系統的核心器件——處理器(包括MCU、DSP和MPU等)已經開始向平台級晶元方向發展,目前所推出的高檔嵌入式處理器,無論是基於ARM體系結構、PowerPC體系結構還是基於MIPS體系結構的高檔嵌入式處理器,在單晶元上不僅具有各種功能的外圍介面,而且通常內置有RISC協處理器(例如RISC微控制器、數字信號處理器等),同時還具有測試和自開發介面,因此安全可以把其認為是一種硬體平台級晶元,這樣使得嵌入式系統設計與開發重點由板級系統設計轉到晶元級系統設計;
(3)嵌入式系統的核心器件——處理器(包括MCU、DSP和MPU等)已經向高處理速度方向發展,從而使板級電子系統的PCB設計難度增加,設計重點不僅是PCB版圖設計,更重要的是電磁兼容性和系統可靠性設計。由此可見,由於嵌入式系統的核心部件——處理器向片上系統(SOC)發展,板級設計工作量逐漸減少,未來的嵌入系統的發展的重點將從板級電子系統設計轉到晶元級電子系統設計上(即轉移到片上系統設計上),因此基於片上系統(SOC)設計方法必將成為未來嵌入式系統的發展主流。

    對於一般的嵌入式系統設計者來講,尤其是國內的嵌人式系統設計者來講,基於片上系統(SOC)的設計方法還是主要停留在板級電子系統設計方法層次,即利用已經推出的商用SOC晶元進行板級電子系統設計,這主要是由於設計工具、資金、集成電路工藝等方面的限制所致。但是,由於近年來多晶圓(MPW)項目和CPLD/FPGA技術的發展,尤其是可編程片上系統(SOPC——System-on-a-Programmable-chip)晶元的出現,使得一般的系統設計者進入晶元級電子系統設計成為可能。自從1999年出現第一個可編程片上系統(SOPC)器件以來,已經有眾多可編程器件供應商推出了具有自己特色的可編程器件,最為典型的是世界上兩大可編程器件供應商——Xilinx公司和Altera公司在FPGA/CPLD基礎推出的系列可編程片上系統器件。其中,Xilinx公司先後推出的可編程片上系統器件有:Virtex系列、Virtex-E系列、Virtex-II系列、Virtex-Pro系列、Spaxtan系列、Spartan-II系列等;Altera公司先後推出的可編程片上系統器件有:APEX20系統、APEX II系列、Mercury系列、Excalibur系列、Stratix系列、Cyclone系列等。每個系列器件都有多種產品,以適用於不同的應用要求。因此,對於國內一般的系統設計者來講,基於可編程片上系統(SOPC)器件的嵌入式系統設計將是進入晶元級電子系統設計的敲門磚。

    那麼,從板級電子系統設計到晶元級電子系統設計轉變將導致哪些方面的變化?主要表現在如下幾個方面:
(1)在設計描述工具方面,傳統的板級電子系統設計主要採用電路原理圖和元器件外形封裝圖作為設計描述語言工具,而現在的晶元級電子系統設計主要採用文本方式的硬體描述語言(HDL——Hardware Description Language)作為設計描述語言工具;
(2)在設計流程方面,板極電子系統設計主要經歷電子系統原理圖設計與模擬、印刷電路板(PCB)設計與模擬分板(包括信號完整性分析、電磁兼容性分析等)等二個階段,而晶元級電子系統設計通常需要經歷系統級設計與模擬、演算法級設計與模擬、寄存器傳輸級(RTL)設計與模擬、邏輯綜合與驗證、版圖設計綜合與驗證等5個階段;
(3)在軟硬體協同設計方面,板級電子系統設計所採用的方法是先進行硬體系統設計后再進行軟體系統設計的方法,難以實現軟硬同步設計或協同設計,而晶元級電子系統設計可以比較容易實現軟硬體同時設計或協同設計;
(4)在設計實現方面,板級電子系統設計主要基於具有特定功能的集成電路器件,而晶元級電子系統設計主要是基於具有特定功能的電路模塊——知識產權核(IP核)。因此,板級電子系統設計與晶元級電子系統設計無論是在設計方法上還是在設計工具方面都發生了較大的變化。

    隨著現代信息技術的發展,電子產品生命周期越來越短,特別是電子工業技術不斷發展,基於深亞微米和超深亞微米的超大規模集成電路技術的片上系統(SOC)晶元需求日益擴大,傳統的板級電子系統設計方法已不能適應產業界對電子產品需求。因此,基於知識產權(IP)核復用的晶元級電子系統設計方法將成為嵌入式系統設計的主流方式。

2 基於可編程片上系統(SoPC)的設計流程
    基於可編程片上系統(SOPC)的晶元級電子系統設計主要有兩大支撐點:可編程片上系統器件所能提供的片上資源和可復用IP核庫所能提供的IP核資源。其中,可編程片上系統器件所能提供的片上資源是由集成電路工藝技術發展決定的,對於系統設計者來講,應根據設計要求盡量選擇合適的器件;可復用TP核庫所能提供的IP核資源需要通過系統設計者自行建設。在基於SOC的電子系統設計中,針對各類專門技術、專門應用、專門工具、專門生產工藝、專門產品的IP資源庫的建設和共享已形成一種規範,貫穿在系統設計的全過程。圖1為典型的基於IP核庫的片上系統(SOC)設計流程。
 
    從圖1可以看出,在基於可編程上系統(SOPC)的嵌入式系統設計流程中,除了需要強有力的EDA設計工具支持外,離開充分的資源庫的支持,可以說是寸步難行,並且必將失去競爭力。從總體上講,各個層次的IP庫和EDA工具是晶元級電子系統設計者必備的兩翼,可選的IP核庫資源是一種設計者能力的表徵。圖2為晶元級電子系統設計中自頂向下設計方法的流程中所依賴的庫支持說明。
 
    在圖1的片上系統(SOC)設計流程中,除了需要強有力的IP核庫和EDA工具支持外,與傳統的專用集成電路(ASIC)設計流程最明顯的區別就是——軟硬體協同設計,圖3給出軟硬體協同設計的一般流程。在軟硬體協同設計的過程中,傳統的硬體描述語言(VHDL、Verilog HDL)和軟體設計語言(C/C++)是無法適應軟硬體協同設計這一種新的設計方法上的突破,為此必須使用新的系統級描述語言——System C(或其他類似語言)才能完成。
 
    軟硬體協同設計通常是從一個給定的系統任務開始的,通過有效地分析系統任務和所需要的資源,採用一系列的變換方法並且遵循特定的準則,自動生成符合系統功能要求的、符合實現代價約束的硬體和軟體框架。這種全新的軟硬體協同設計思想需要解決許多問題:系統級建模、系統級描述語言、軟硬體劃分、性能評估、協調綜合、協同模擬和協同驗證。

3 基於可編程片上系統(SOPC)的集成設計環境
    片上系統(SOC)設計所需要的EDA工具,若從硬體設計角度看,在設計流程的前端與ASIC設計差別不大。但是,從整個晶元設計角度出發,這兩種類型的晶元設計區別較大。這是因為,在SOC設計中,一般都含有微處理器,所設計的系統級晶元都必須有設備驅動程序與操作系統或嵌入式實時操作系統介面,必須有應用程序完成數字計算、信號處理變換、控制決策等功能。因此,在設計的前期,需要進行軟、硬體協同設計,以便確定那些功能是由硬體完成的,那些功能是由軟體完成的,並且進行適當劃分。在設計的中後期,要進行軟硬體協同驗證,即把軟硬體設計放到一個虛擬的集成環境中進行模擬驗證,以便驗證硬體的性能是否達到設計目標,軟體功能是否實現設計要求。
    根據可編程片上系統(SOPC)設計流程和軟硬體協同設計的一般流程,作者提出基於可編程片上系統(SOPC)的晶元級電子系統的集成設計環境,如圖4所示。此集成環境是一種典型的軟硬協同設計集成環境(或平台),是由二個不同層次、不同功能的EDA集成設計環境組成。
 
    第一層次的EDA集成設計環境是SOC系統級集成設計環境,主要用於完成嵌入式系統的系統級設計。首先,需要根據客戶的要求,進行系統的功能定義和性能評估,以便確定系統規格;其次,根據已經確定的系統規格,應用系統級描述語言(C/C++或System C等)進行系統設計描述與設計驗證,以便確定所定義的系統規格在功能上是否可以實現;再次,在證明了系統規格在功能上可以實現后,就需要進行系統軟硬體功能劃分,以便確定系統的哪些功能是由軟體系統完成的、哪些功能是由硬體系統完成的、哪些功能需要軟硬體協同完成,對於既可以通過軟體系統完成也可以通過硬體系統完成的功能,需要進行性能與成本的評估;最後,對已經確定的硬體系統功能,還需要進行晶元與PCB功能的劃分,以便確定哪些功能可以在晶元上實現、哪些功能只能在PCB上實現。
    第二層次的EDA集成設計環境是SOC硬體系統集成設計環境和SOC軟體系統集成設計環境,主要用於完成嵌入式系統的軟硬系統設計。首先,根據系統級設計中的功能劃分,分別進行SOC的硬體系統設計和SOC的軟體系統設計。此時的硬體系統設計和軟體系統的設計是并行進行的。在硬體系統設計中,通常經歷幾個設計階段:行為描述與驗證(包括硬體系統的系統級、演算法級、寄存器傳輸級的行為描述與模擬驗證)、邏輯綜合與驗證、可測性設計綜合與邏輯生成、器件適配與模擬驗證、器件物理編程與物理驗證、版圖生成與驗證。其中,前4個設計階段是基於SOPC的硬體系統設計流程。在軟體系統設計中,通常經歷如下幾個階段:軟體系統編輯、軟體系統編譯、軟體系統模擬調試、軟體系統編程等。其次,在軟硬體系統設計過程中,為了確保系統的性能價格比達到最優,需要不斷進行軟硬體協同設計。通常在硬體系統行為描述與模擬之後,就可以把所設計的硬體系統與軟體系統置於虛擬器件的軟硬體協同模擬驗證環境中,以便驗證硬體系統集成的系統所能達到的功能、性能、成本等,從而使得所實現的晶元級電子系統的性能價格比達到最優。
    綜上所述,基於可編程片上系統(SOPC)的嵌入式系統集成設計環境是一個相當複雜的集成EDA開發環境,常見的可編程片上系統集成化EDA開發套件——Altera公司的Quartus II系列的EDA工具套件和Xilinx公司的ISE 5.x系列的EDA工具套件的儲存成化程度雖然較高,但也難以達到圖4所示的集成化程度。因此,需要系統設計設計者根據現有的商用化EDA工具構建這樣的集成設計環境。有理由相信在不久的將來,將會推出類似的集成EDA工具環境。

4 片上系統(SOC)是嵌入式系統發展方向
    嵌入式系統的核心部件是微處理器,由於集成電路技術的發展,以及電子產品及時面市的要求,促使微處理器(包括微控制器、數字信號處理器、嵌入式處理器)向單晶元系統方向發展,從而使得基於片上系統(SOC)的電子系統成為嵌入式系統的發展方向和主流。目前國內的基於片上系統(SOC)的嵌入式系統設計大都停留在板級電子系統設計水平,隨著可編程片上系統(SOPC)器件的應用發展,相信在今後的若干年內,基於SOC的嵌入式系統設計會逐漸過渡到晶元級電子系統的設計水平。由於晶元級電子系統設計方法與板級電子系統設計方法有著本質的區別,因此了解與掌握晶元級電子系統的設計流程、集成設計環境對於系統設計者來講是至關重要的,為此本文以圖示方式直觀地給出基於可編程片上系統(SOPC)的晶元級電子系統設計流程和集成設計環境,全面展示了晶元級電子系統所涉及到的問題。


[admin via 研發互助社區 ] 片上系統(SOC)設計流程及其集成開發環境已經有4961次圍觀

http://cocdig.com/docs/show-post-43063.html