片上系統(tǒng)SoC( system on chip)是ASIC( application specific integrated circuits)設計方法學中的新技術(shù),是指以嵌入式系統(tǒng)為核心,以IP核復用技術(shù)為基礎,集軟、硬件于一體,并追求產(chǎn)品系統(tǒng)最大包容的集成芯片。 SoC最早出現(xiàn)在20世紀90年代中期,1994年MOTOROLA公司發(fā)布了Flex Core系統(tǒng),用來制作基于68000和PowerPC的定制微處理器。1995年,LSILogic公司為SONY公司設計的SoC是基于IP( IntellectuaLProperty)核進行SoC設計的最早報道。由于SoC可以利用已有的電路和IP核進行設計,從而能夠顯著地提高設計效率,得到了迅速發(fā)展。從技術(shù)層面上看,以下幾個方面推動了SoC技術(shù)的發(fā)展: ①微電子技術(shù)的不斷創(chuàng)新和發(fā)展,大規(guī)模集成電路的集成度和工藝水平不斷提高,已從亞微米進入到深亞微米和超深亞微米。其特點為工藝特征尺寸越來越小,芯片尺寸越來越大,單片上的晶體管數(shù)越來越多,時鐘速度越來越快,電源電壓越來越低,布線層數(shù)越來越多,I/O引線越來越多。這使得將微處理器、存儲器、DSP和各種接口集成到一塊芯片上成為可能。 ②計算機性能的大幅度提高,使很多復雜算法得以實現(xiàn),為計算機輔助設計提供了物理基礎。 ③EDA(ElectroniCdesign automation,采用CAD技術(shù)進行電子系統(tǒng)和專用集成電路設計)綜合開發(fā)工具的自動化和智能化程度不斷提高,為集成電路設計提供了不同用途和不同級別的一體化開發(fā)集成環(huán)境。 ④硬件描述語言(HDL)的發(fā)展為集成電路設計提供了建立各種硬件模型的工作媒介。目前,比較流行的HDL語言包括已成為IEEE STD1076標準的VHDL、已成為IEEE STD 1364標準的Verilog HDL和作為Altera公司企業(yè)標準的AHDL等。 為了加快SoC芯片設計的速度,人們將已有的IC電路以模塊的形式,在SoC芯片設計中調(diào)用,從而簡化芯片的設計,縮短設計時間,提高設計效率。IP核是一種預先設計好、已經(jīng)過驗證,并具有某種確定功能的集成電路、器件或部件。本文闡述了現(xiàn)代集成電路技術(shù)中的SoC及其IP核的設計方法,在分析了SoC的特點及其IP核的基本特征后,給出了SoC及其IP核設計中的系統(tǒng)級設計軟件、IP核開發(fā)流程和關(guān)鍵技術(shù),并提出了將其應用于綜合業(yè)務接入系統(tǒng)的集成電路設計中。 SoC的特點及其IP核的基本特征 SoC的特點 SoC將數(shù)字電路、模擬電路、信號采集和轉(zhuǎn)換電路、存儲器、MPU、MCU、DSP等集成在一塊芯片上實現(xiàn)一個系統(tǒng)。以超深亞微米(VDSM)工藝和IP核復用( IPReuse)技術(shù)為支撐的系統(tǒng)級芯片技術(shù)將是超大規(guī)模集成電路(VLSI)發(fā)展的必然趨勢和主流。其特點在于:①功能強,規(guī)模大。SoC芯片中不僅包括了MPU、SRAM、DRAM、EPROM、閃速存貯器、ADC、DAC等數(shù)字電路設計中的基本模塊,還具有一些其它模擬和射頻電路,因此其功能是非常強大的。②結(jié)構(gòu)復雜。VDSM使系統(tǒng)級芯片更大更復雜。數(shù)百萬門的SoC中不僅包括了復雜的數(shù)字電路部分,更包括了一些模擬電路和射頻電路,這就使得SoC的結(jié)構(gòu)復雜,相應的設計工作也復雜化。③速度高,時序關(guān)系復雜。隨著工藝向0.13μm或更小尺寸90nm發(fā)展,需要精確處理的不是門延遲而是互連線延遲。數(shù)百兆的時鐘頻率以及模塊內(nèi)和模塊外錯綜復雜的信號間時序關(guān)系給設計帶來了許多的問題,如時序驗證、低功耗設計、信號的完整性以及電磁干擾和信號串擾等。 IP核的基本特征 IP核的基本特征包括:①通用性。通用性好是指具有某一功能的IP核,可以在不同應用方面使用。IP核具有滿足子功能可配置甚至可編程的特點,如最常見的嵌入式CPU模塊就具有非常好的通用性。②正確性。正確性有百分之百的保證,是指IP核的實現(xiàn)嚴格遵守一系列的可重用設計開發(fā)規(guī)范,IP核的驗證用例必須具有完備性,功能覆蓋率、測試覆蓋率都能夠達到百分之百,并能夠完全覆蓋IP核工作的臨界條件,提供相應的大流量測試、隨機性測試,甚至能夠提供軟硬件協(xié)同仿真的測試環(huán)境等。③可移植性。可移植性好是指IP核的實現(xiàn),如行為描述、網(wǎng)表、GDSII文件,具有可移植性,其設計輸入可以在不同的開發(fā)平臺上重現(xiàn);綜合用批處理文件具有可移植性,IP核的綜合結(jié)果可以用不同的綜合工具,在不同的綜合庫條件下正確重現(xiàn);IP核的驗證可以用不同的仿真器,在不同的仿真庫條件下重現(xiàn)。 SoC的系統(tǒng)級設計軟件及其IP核開發(fā)流程 SoC的系統(tǒng)級設計軟件 (1)VirtuaL ComponentCodesign和SignaL ProcessingWorkSystem軟件。 這兩個軟件是Cadence公司的系統(tǒng)級設計工具,具有對系統(tǒng)級設計的定義、分析和優(yōu)化能力。Virtual ComponentCodesign (VCC)是一個可以提供IP核重用的、基于平臺的軟硬件協(xié)同設計開發(fā)環(huán)境。它提供了系統(tǒng)集成和驗證的必要技術(shù)和工具,可利用其環(huán)境進行系統(tǒng)的關(guān)鍵體系結(jié)構(gòu)的決策,如軟硬件的劃分。VCC能提高IC設計的效率和結(jié)果的可預測性。SignaLProcessingWorksystem ( SPW)是一個系統(tǒng)級的DSP設計工具,它實現(xiàn)從C描述到RTL的轉(zhuǎn)換。SPW可集成C、MATLAB、HDL等模塊以及3G無線通信、藍牙等模塊庫,輸出Verilog/VHDL描述。 (2)Cocentric系統(tǒng)軟件 Synopsys公司的Cocentric系列提供了復雜系統(tǒng)的關(guān)鍵元件模塊的并發(fā)設計、驗證、細化和實現(xiàn)的設計工具和設計方法,這些模塊可以包含硬件模塊和軟件模塊。Cocentric系列包括System Studio、FixedpointDesigner、System CHDL Cosimulation和System CCompiler。System Studio提供一個系統(tǒng)級軟硬件協(xié)同設計工具環(huán)境,提供多層次的、圖形化的及HDL的抽象描述方法,使設計者在一個基于C、C++和System C的統(tǒng)一環(huán)境中,快速生成所設計系統(tǒng)的可執(zhí)行的系統(tǒng)級功能說明,該說明可用于驗證,也可用于硬件或軟件實現(xiàn)。Fixed-pointDesigner能進行浮點類型到定點類型的轉(zhuǎn)換。System CHDLCosimulation提供了一個模擬器接口,使模擬器與一些硬件描述語言模擬器同步。System CCompiler能實現(xiàn)System C描述到門級描述或RTL級VHDL/Verilog描述的轉(zhuǎn)換。 IP核開發(fā)流程 SoC中IP核開發(fā)流程主要包括IP核設計和IP核驗證兩條主線。IP核設計流程一般可劃分為確定規(guī)格和模塊劃分、子模塊的定義和設計、頂層模塊的設計和產(chǎn)品化等4個階段。IP核驗證流程包括了建立參照模型、建立測試平臺和準備驗證用例、回歸測試、形式驗證。IP核開發(fā)流程如圖1所示. IP核設計分4個階段: ①確定規(guī)格和劃分模塊。IP核的規(guī)格主要包括概述、功能需求、性能需求、物理需求、詳細的結(jié)構(gòu)模塊框圖、對外系統(tǒng)接口的詳細定義、可配置功能詳細描述、需要支持的制造測試方法和需要支持的驗證策略等。確定規(guī)格的過程一般又包括行為建模功能論證和可行性分析等活動。劃分模塊是指在給出IP核結(jié)構(gòu)模塊框圖的同時,對于每個子模塊給出一個詳細的功能描述,同時必須明確子模塊之間的接口的時序要求。確定規(guī)格和劃分模塊是IP核開發(fā)是否成功最為關(guān)鍵的一步。 圖1 IP核開發(fā)流程 ②子模塊定義和設計。在對所有子模塊的規(guī)格進行討論和審查后,需要重點檢查時序接口和功能接口的一致性,并隨后整理出子模塊的詳細設計方案,再按照實現(xiàn)方案開始編寫RTL代碼、編寫時間約束文件、綜合批處理文件、子模塊驗證用測試平臺( testbench)和測試套件( testsuite)等。當完成并通過代碼規(guī)范性檢查、測試覆蓋率檢查、功能覆蓋率檢查、性能分析,包括DFT、STA檢查,功耗分析檢查等驗收以后,子模塊就可用來與其他模塊一起集成。 ③頂層模塊設計。頂層模塊的設計就是把子模塊集成起來,產(chǎn)生頂層模塊,并對它做綜合處理和功能驗證。綜合過程包括編寫綜合的批處理文件,在不同的參考庫上綜合,針對在制造上的可測試性插入掃描鏈、ATPG,并進行最終的性能分析和功耗分析等。驗證過程包括根據(jù)由行為模型發(fā)展來的測試向量對頂層模塊進行仿真測試、針對IP核的可配置選項進行多種配置條件下的回歸測試和利用仿真工具檢驗測試向量的覆蓋率等。 ④ IP核的產(chǎn)品化。IP核產(chǎn)品化的過程包括提供 IP核設計和驗證用testbench,用商用轉(zhuǎn)換器進行打包提交,但轉(zhuǎn)換后需要重新驗證,比如做回歸測試以確保轉(zhuǎn)換有效,并強調(diào)在幾個主流仿真器上做仿真,在幾種主要工藝庫上做綜合和門級仿真,并做形式驗證以保證網(wǎng)表和RTL級的一致性,產(chǎn)生或更新用戶文檔等。 IP核驗證的主要過程有: ①建立參照模型。這里的參照模型主要用于對系統(tǒng)功能進行驗證以及和RTL模型的對照驗證,該模型可用System C/Verilog/VHDL等語言來構(gòu)造。 ②建立測試平臺。測試平臺的建立是指與子模塊設計并行,搭建驗證環(huán)境和開發(fā)測試用例,并針對IP核的行為級模型對測試環(huán)境和測試用例進行調(diào)試,從而同步準備好用來仿真測試RTL級IP核的驗證環(huán)境和測試用例。 ③回歸測試。回歸測試保證在修改一個錯誤或加入一個新功能時,用來保證已經(jīng)驗證過的基本功能仍然正確。在驗證過程中找到一個錯誤或加入一個新的功能時,要把它們對應的測試用例及時加入到回歸測試集中。 ④形式驗證。形式驗證是一種系統(tǒng)級的驗證手段,不需要測試向量,而是通過判斷兩個設計是否等價來確認它們的功能是否一致。因此形式驗證必須事先有一個參照設計。在IP核驗證過程中,前面建立的參照模型就是參照設計。形式驗證常用來判斷設計更改后和更改前實現(xiàn)的功能是否一致。同時,形式驗證也被用來確認綜合后、插入掃描鏈后、版圖提取后網(wǎng)表實現(xiàn)的功能前后是否一致。 SoC及其IP核的關(guān)鍵技術(shù) IP核的關(guān)鍵技術(shù) IP核開發(fā)的技術(shù)模型如圖2所示,它集中體現(xiàn)了IP核開發(fā)的幾個技術(shù)需求:① IP核規(guī)格的定義;②IP核模塊的編碼、綜合、驗證、文檔開發(fā)等;③IP核開發(fā)過程中EDA工具的支撐;④ IP核開發(fā)過程中的質(zhì)量控制;⑤ IP核打包提交技術(shù);⑥ IP核評測技術(shù)。其中IP核的規(guī)格定義、IP核的驗證、IP核的打包提交被認為是IP核開發(fā)過程中的三大關(guān)鍵技術(shù)。 IP核的規(guī)格定義必須能夠解決以下問題:①明確IP核需要提供什么樣的功能,性能需要達到什么樣的技術(shù)指標;②定義好IP核與外部系統(tǒng)的接口;③定義好IP核在可移植性方面所做的努力;④定義好IP核的面積和功耗等物理特性。 IP核的驗證必須是完備的、具有可重用性的。IP核驗證的完備性首先要求在設計IP核仿真測試方案時必須體現(xiàn)出以下幾個方面:①從IP核的規(guī)格出發(fā),對每一個模塊測試功能點( testfeature)進行分析,定義每個子模塊的仿真測試目標,并確定哪一個測試向量可以驗證該測試功能點;②整理一個明確的測試列表,包括對目標的估計和測試覆蓋情況;③對測試用例詳細設計,并定義驗證通過的標準。IP核驗證的可重用性首先要求搭建的IP核仿真環(huán)境是由一系列可重用的測試組件構(gòu)成的,如定義總線功能模型、通用的數(shù)據(jù)處理任務集等。 IP核打包技術(shù)是指在IP核開發(fā)基本結(jié)束后將分布的設計信息進行集成的技術(shù)。其主要目的是使得設計者提供完整、清晰、明了的設計信息。軟IP核開發(fā)者提交給用戶的信息應包括:① 可綜合的HDL代碼和它的子模塊;②綜合腳本文件及時間約束文件;③插入掃描鏈和做ATPG的腳本文件;④綜合和仿真用參照庫模型;⑤驗證中使用的總線功能模型和其他的系統(tǒng)組件模型;⑥測試激勵文件及相應測試向量;⑦用戶文檔包括用戶手冊/功能描述、數(shù)據(jù)手冊等;⑧應用要點包括該IP核使用的具體的例子、可配置特性等。對需要軟件支持的IP核,還應該提供相應的嵌入式軟件信息。 SoC中IP核集成中的關(guān)鍵技術(shù) SoC中IP核集成中需要考慮的問題有: ①在對系統(tǒng)結(jié)構(gòu)模塊劃分過程中,必須考慮目標SoC采用什么樣的片上總線結(jié)構(gòu),確定哪些IP核需要購買,IP核模塊的對接需要增加哪些連接性設計,哪些IP核需要從頭開始設計。建立正確、高效、靈活的片上總線結(jié)構(gòu)已成為IP核集成的關(guān)鍵。在IP核集成的過程中,既可以選用國際上公開通用的總線結(jié)構(gòu)也可以選用根據(jù)特定應用而自主開發(fā)的片上總線。國際上比較成熟的總線結(jié)構(gòu)有ARM公司的AMBA總線等。在確定片上總線結(jié)構(gòu)時,并不排斥在IP核內(nèi)部做一些接口轉(zhuǎn)換的設計,但是這種設計的內(nèi)容要盡可能簡單。 ②模塊之間的接口協(xié)議應盡可能簡單,模塊間的接口定義盡可能與國際上通用的接口協(xié)議一致。其中一個常用的設計技巧就是在數(shù)據(jù)傳送的接口中建立申請和應答機制。這雖然會造成芯片在時序、面積、功耗等方面的損耗,但可以有效縮短SoC的開發(fā)周期。 ③要注意積累IP核集成的經(jīng)驗。一旦成功地將一個IP核集成到了一個系統(tǒng),就應該進一步完善該IP核,使之具有更好的可重用性,并逐步建立一系列的衍生IP核。同時,把集成該IP核的經(jīng)驗教訓及時記錄下來形成技術(shù)文檔,以便于后面的IP核集成。 ④對于IP核的集成,還應該使時鐘分布、關(guān)鍵路徑的走線、電源、地線的走線及IP核支持的測試結(jié)構(gòu)與系統(tǒng)芯片保持一致。 SoC中IP核集成中的另一個關(guān)鍵技術(shù)是IP核的評估與選擇。IP核的評估是指通過一個完整的Checklist來系統(tǒng)地檢查IP核設計。評測分為系統(tǒng)設計、編碼、綜合和驗證等部分,并根據(jù)評測規(guī)則的重要程度為不同的規(guī)則檢查分配不同的權(quán)值。這樣在評測之后,就可以直觀地看出整個設計的可重用性和在每一部分上的得失。它有助于我們了解一個設計的可重用性,以幫助從性能、規(guī)模、成本和功耗等不同方面來評估IP核。 目前業(yè)界比較具有影響力的評測標準是由Synopsys和Mentor聯(lián)合開發(fā)推行的基于RMM的OpenMORE評測標準。選擇IP核模塊時首要考慮的因素是IP核與目標系統(tǒng)的配合程度。一般說來,最好選擇那些無需修改的IP核模塊。但是如今的大多數(shù)設計人員在獲得了IP核后必須進行修改,修改的范圍包括各個設計層次上的IP核模型。這種修改會耗費大量的時間和資源,不僅會耽誤產(chǎn)品的研發(fā)進度,還會給整個設計流程引入風險,并讓IP核廠商的支持變得困難重重。雖然某種程度的修改是不可避免的,但是如果設計人員能夠犧牲一點芯片面積或功能來換取盡可能少地修改IP核模塊,那么情況就會有所改善。即使某些模塊的功能可能超過了系統(tǒng)的需求,但是為了盡量少地進行IP核的修改,也應該在某些不太重要的功能上做出妥協(xié),以便直接使用一些我們需要的功能模塊。選擇IP核模塊時還要考慮到諸如評估IP核的品質(zhì)、集成的方便程度和可重用性以及IP核提供者所能提供的技術(shù)支持程度等因素。如使用手冊的內(nèi)容是否詳盡完備、是否提供完整的設計和驗證環(huán)境、是否有成功集成的先例以及接口定義標準的遵從程度、未來發(fā)展升級的可能性、獲取IP核授權(quán)的效率和合作廠商的可信賴程度等。 綜合業(yè)務接入系統(tǒng)集成電路設計中的應用 隨著計算機網(wǎng)絡向更高的傳輸速率發(fā)展,從100Mbit/s到1000Mbit/s,從1000Mbit/s到1Gbit/s,目前已經(jīng)達到10Gbit/s或40Gbit/s,不久可達到80Gbit/s或100Gbit/s,因此計算機網(wǎng)絡具有巨大的潛力。目前計算機網(wǎng)絡主要用于計算機間的數(shù)據(jù)傳輸,其巨大的潛力沒有很好的得到充分挖掘。利用計算機網(wǎng)絡,以軟交換設備為核心,能夠提供話音、圖像和數(shù)據(jù)等多媒體綜合業(yè)務的下一代網(wǎng)絡( nextgenaration network,以下簡稱NGN)正深刻地改變著傳統(tǒng)的電信觀念和體系框架,是電信網(wǎng)絡發(fā)展與演進的目標。NGN中的關(guān)鍵接入設備為綜合業(yè)務接入設備。 利用本文介紹的SoC及其IP核的設計方法,對綜合業(yè)務接入設備中的綜合業(yè)務接入集成電路及IP核進行了設計。根據(jù)SoC的系統(tǒng)需求,利用系統(tǒng)級設計軟件SPW進行音視頻編解碼算法、通信協(xié)議的設計和驗證,根據(jù)信號流程圖生成正確的模擬效果并自動生成Verilog源程序。設計中部分IP核從第三方購買,自主開發(fā)研究了語音接口,進行了音頻編解碼G.711、G.723。1、G.728算法和協(xié)議的IP核設計;研制了具有自主知識產(chǎn)權(quán)的語音壓縮算法和IP核,提高了網(wǎng)絡語音通信的安全性;開發(fā)了視頻接口,進行了視頻編解碼MPEG-24算法和協(xié)議的IP核設計;設計了RS232、RS485異步通信接口,制定了通信協(xié)議,并開發(fā)其IP核;開發(fā)了以太網(wǎng)接口,進行了信令協(xié)議SIP、H.323、MGCP和H.248的IP核設計。項目中音視頻編解碼IP核、數(shù)據(jù)采集接口電路IP核和以太網(wǎng)通信接口傳輸協(xié)議IP核的總線標準采用AMBA,并完成RTL代碼和TestBench的開發(fā),進行RTL級的仿真,完成綜合、生成網(wǎng)表、生成時序和面積報表,生成功耗報表,并完善開發(fā)文檔,其中包括IP核性能的描述、RTL代碼文件的說明、綜合結(jié)果的說明、內(nèi)部寄存器列表及說明、詳細的功能描述和操作流程描述、測試激勵文件說明和測試方案與測試方法說明等。 SoC設計原型的驗證采用Altera公司內(nèi)嵌ARM922T硬核的Excalibur器件,實時操作系統(tǒng)采用μC/OS-II,并在以太網(wǎng)上進行了語音、圖像和數(shù)據(jù)的傳輸實驗。 該集成電路可以廣泛應用于國內(nèi)外通信企業(yè)生產(chǎn)的IAD、語音網(wǎng)關(guān)、數(shù)據(jù)采集器和視頻編解碼器中,從而填補我國基于軟交換的NGN中關(guān)鍵集成電路芯片的空白。 結(jié)束語 利用本文介紹的設計方法可以使IP核的設計過程條理化,從而可以避免設計過程中做重復的工作。其結(jié)果是縮短了IP核的設計周期而且所開發(fā)的IP核具有更高的正確性和更好的可移植性,最重要的是開發(fā)過程中所形成的文檔將更加有利于IP核的集成和后續(xù)的IP核開發(fā)。由于IP核的開發(fā)周期是SoC開發(fā)周期的一個重要的組成部分,所以通過該IP核的設計方法可以有效地縮短SoC的開發(fā)周期,提高產(chǎn)品的市場競爭力。采用該SoC及其IP核設計方法,設計了NGN中綜合業(yè)務接入系統(tǒng)集成電路,取得了良好的效果。 |