<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 用Palladium加快多媒體芯片的系統(tǒng)級(jí)驗(yàn)證

          用Palladium加快多媒體芯片的系統(tǒng)級(jí)驗(yàn)證

          作者: 時(shí)間:2007-08-21 來源:網(wǎng)絡(luò) 收藏

          引言

          目前,多媒體芯片的開發(fā)面臨著集成度高、產(chǎn)品上市時(shí)間緊迫、市場(chǎng)變化迅速等諸多挑戰(zhàn)。不同于傳統(tǒng)的ASIC,多媒體芯片通常是復(fù)雜的SoC,在芯片中除了核心的音視頻處理電路以外,一般都有MCU、DSP或CPU來協(xié)助音視頻處理電路完成系統(tǒng)級(jí)的控制功能,或者由DSP、CPU完成某些音視頻算法。有的多媒體芯片內(nèi)部甚至集成了多個(gè)MCU、DSP或CPU。另外,大部分多媒體芯片都需要與外部CPU協(xié)同工作,如PC攝像頭多媒體芯片需要和PC一起工作,移動(dòng)多媒體芯片需要和處理器一起工作。

          中星微電子公司致力于多媒體芯片的開發(fā),并可提供完整的軟件和系統(tǒng)解決方案。根據(jù)功能的不同,軟件可分為驅(qū)動(dòng)程序、固件和應(yīng)用程序。對(duì)多媒體芯片進(jìn)行系統(tǒng)級(jí)驗(yàn)證要同時(shí)驗(yàn)證驅(qū)動(dòng)程序、固件等軟件部分。基于NC-SystemC,中星微開發(fā)出系統(tǒng)級(jí)的驗(yàn)證平臺(tái),該平臺(tái)用SystemC集成芯片的驅(qū)動(dòng)程序和應(yīng)用程序,用Perl來解析測(cè)試命令,用NC器進(jìn)行SystemC和Verilog的聯(lián)合,較好地解決了軟硬件聯(lián)合的問題,大大提高了驗(yàn)證效率。但由于多媒體芯片規(guī)模比較大,依據(jù)一個(gè)系統(tǒng)級(jí)的仿真向量對(duì)芯片進(jìn)行仿真時(shí)往往需要幾個(gè)小時(shí),比如仿真一秒鐘的聲音需要7~10個(gè)小時(shí),仿真一幅1.3M或3M的圖像需要1~2個(gè)小時(shí)。在驗(yàn)證初期,系統(tǒng)的硬件和軟件都不穩(wěn)定,往往需要花費(fèi)大量時(shí)間來驗(yàn)證一個(gè)很小的問題,這嚴(yán)重影響了芯片的開發(fā)進(jìn)度。在驗(yàn)證后期,迫于流片時(shí)間的壓力,又沒有時(shí)間對(duì)芯片進(jìn)行充分驗(yàn)證。因此,工程師迫切需要一種新的驗(yàn)證方法來加快仿真速度,這就是硬件加速器。

          目前,EDA市場(chǎng)上有許多硬件加速器的解決方案,Cadence的Palladium是基于定制CPU的解決方案,其它都是基于FPGA的。本文采用Palladium作為硬件加速解決方案。

          基于ARM的STB

          STB的硬件結(jié)構(gòu)

          基于ARM的STB(可綜合測(cè)試平臺(tái))的硬件結(jié)構(gòu)如圖1所示。

          傳統(tǒng)的硬件加速器大多工作在ICE(電路內(nèi)仿真)模式下,這種模式的測(cè)試激勵(lì)由外部硬件設(shè)備提供。但是,由于硬件加速器的工作速度有限,無法實(shí)現(xiàn)與外部高速設(shè)備的直接連接,因此,需要采用Cadence的速率適配器(Speedbridge)來進(jìn)行速率轉(zhuǎn)換,這樣又會(huì)增加整個(gè)驗(yàn)證系統(tǒng)的復(fù)雜程度。STB的基本思想是用可綜合的RTL來實(shí)現(xiàn)SoC驗(yàn)證中用到的所有仿真模型。由于不同的SoC芯片對(duì)各個(gè)仿真模型的要求不完全相同,所以,仿真模型必須是可配置的。STB中利用ARM來配置各個(gè)仿真模型,并控制各個(gè)仿真模型對(duì)芯片進(jìn)行操作,比如讀/寫芯片的寄存器、為芯片提供音視頻輸入數(shù)據(jù)等。同時(shí),ARM也可以運(yùn)行芯片的驅(qū)動(dòng)程序和應(yīng)用程序(實(shí)際上許多手機(jī)處理器都是ARM)。STB可以對(duì)中星微的所有多媒體芯片進(jìn)行系統(tǒng)級(jí)的軟硬件聯(lián)合驗(yàn)證,能夠降低驗(yàn)證環(huán)境的復(fù)雜度,實(shí)現(xiàn)更靈活的配置,同時(shí)不會(huì)降低性能。

          STB的ARM子系統(tǒng)

          ARM子系統(tǒng)包括ARM、多層AHB總線、連接到AHB總線上的SRAM控制器、SDRAM控制器、DMA控制器、外部異步接口CPU_BFM、AHB-APB接口電路,以及連接到APB總線上的中斷控制器、定時(shí)器等。

          多層AHB總線可以連接8個(gè)AHB主設(shè)備和8個(gè)AHB從設(shè)備。不同的AHB主設(shè)備可以同時(shí)訪問不同的AHB從設(shè)備,從而提高了系統(tǒng)的數(shù)據(jù)吞吐能力。為了簡(jiǎn)化設(shè)計(jì),多層AHB總線不支持Burst、Split、Retry和Error傳輸。為了適應(yīng)不同仿真模型的需求,多層AHB總線對(duì)AHB總線的傳輸類型沒有限制,支持SINGLE和所有INCR及WRAP傳輸類型。

          DMA控制器協(xié)助ARM完成數(shù)據(jù)搬運(yùn)工作。DMA控制器提供了4個(gè)硬件通道和4個(gè)軟件通道,每個(gè)通道可以獨(dú)立設(shè)置源地址、目的地址、傳輸長(zhǎng)度和控制字。DMA控制器支持嵌套操作,即高優(yōu)先級(jí)的數(shù)據(jù)傳輸可以暫時(shí)打斷低優(yōu)先級(jí)的數(shù)據(jù)傳輸,高優(yōu)先級(jí)的數(shù)據(jù)傳輸結(jié)束后再繼續(xù)進(jìn)行低優(yōu)先級(jí)的數(shù)據(jù)傳輸。為了提高數(shù)據(jù)傳輸?shù)乃俾什⒈M量減少對(duì)多層AHB總線的占用,DMA控制器使用了兩個(gè)AHB主設(shè)備:一個(gè)AHB主設(shè)備負(fù)責(zé)從源地址讀取數(shù)據(jù),然后把數(shù)據(jù)存人FIFO中;另一個(gè)AHB主設(shè)備則從FIFO中讀取數(shù)據(jù),并寫到目的地址中。

          CPU_BFM模擬了手機(jī)處理器的異步接口,用來訪問其它異步接口。CPU_BFM是STB控制DUV的主要途徑,ARM通過CPU_BFM可以讀寫DUV的寄存器,DMA控制器可以通過CPU_BFM把需要解碼的音視頻數(shù)據(jù)快速寫到DUV中,或者把解碼后的數(shù)據(jù)讀入到STB中。ARM可以配置CPU_BFM的讀寫寬度,從而具有更大的靈活性。

          AHB-APB接口電路提供了ARM控制大多數(shù)仿真模型的通路。ARM子系統(tǒng)中的中斷控制器和定時(shí)器都連接到APB總線上。

          STB的其它仿真模型

          除了ARM子系統(tǒng)外,STB還集成了其它仿真模型,如USB OTG、UTMI PHY、圖像傳感器、ADC、SCI、SPI、IIC、NOR閃存、NAND閃存、SD卡等。這些仿真模型都連接到APB總線上,ARM通過AHB-APB來配置和控制這些仿真模型。

          STB的軟件架構(gòu)

          eCos(嵌入式可配置操作系統(tǒng))是一種針對(duì)16位、32位和64位處理器的可移植嵌入式實(shí)時(shí)操作系統(tǒng)。eCos的源代碼是公開的,其最大的特點(diǎn)是模塊化,內(nèi)核可配置。它的另一個(gè)優(yōu)點(diǎn)是使用多任務(wù)搶占機(jī)制,具有最小的中斷延遲,支持嵌入式系統(tǒng)所需的所有同步原語,并擁有靈活的調(diào)度策略和中斷處理機(jī)制,因而具有良好的實(shí)時(shí)性。

          STB的軟件基于eCos構(gòu)建,如圖2所示。HAL、eCos內(nèi)核、eCos內(nèi)核API、硬件驅(qū)動(dòng)程序構(gòu)成了eCos的基本架構(gòu)。DUV驅(qū)動(dòng)程序可以調(diào)用STB硬件驅(qū)動(dòng)程序、eCos內(nèi)核API和HAL硬件抽象層。DUV應(yīng)用程序調(diào)用DUV驅(qū)動(dòng)程序和文件系統(tǒng)對(duì)DUV進(jìn)行系統(tǒng)級(jí)驗(yàn)證。如果對(duì)相對(duì)比較簡(jiǎn)單的DUV進(jìn)行驗(yàn)證,可以不使用文件系統(tǒng)和eCos。

          Palladium的使用流程

          Palladium是基于定制CPU的硬件加速解決方案。和傳統(tǒng)的基于FPGA的硬件加速器相比,Palladium的編譯速度快、調(diào)試能力強(qiáng),并支持多用戶。

          Palladium支持SA(模擬加速)和ICE兩種模式,后者的運(yùn)行速度更快,但要求測(cè)試平臺(tái)完全可綜合。本文選用ICE模式,其流程順序?yàn)槟P吞鎿Q、代碼綜合、編譯硬件、編譯軟件、運(yùn)行和測(cè)試。

          模型替換

          由于ICE模式只能處理可綜合的RTL代碼,所以需要把測(cè)試平臺(tái)和DUV中所有不可綜合的仿真模型(如存儲(chǔ)器的仿真模型)都替換為可綜合的仿真模型,把所有不可綜合的語句如initial、PLI調(diào)用等放入∥synopsys translate_off/on語句塊中。Palladium可以支持Pullup和Pulldown。

          代碼綜合

          對(duì)驗(yàn)證的測(cè)試平臺(tái)和DUV進(jìn)行綜合,把RTL代碼轉(zhuǎn)化為門級(jí)網(wǎng)表。典型的綜合腳本如下:


          綜合結(jié)束后可以檢查報(bào)告文件hdlIce.log,如果有錯(cuò)誤提示,就需要修改RTL代碼并重新綜合;如果有警告提示,則需要確認(rèn)是否有問題。

          編譯硬件

          對(duì)綜合后的門級(jí)網(wǎng)表進(jìn)行編譯,把門級(jí)網(wǎng)表轉(zhuǎn)化為可以在Palladium上運(yùn)行的數(shù)據(jù)庫。編譯過程分為如下步驟:輸入門級(jí)網(wǎng)表、設(shè)置設(shè)計(jì)、設(shè)置仿真器配置、設(shè)置時(shí)鐘、設(shè)置編譯、選項(xiàng)、預(yù)編譯、ICE準(zhǔn)備、編譯。

          編譯軟件

          編譯STB中在ARM上運(yùn)行的軟件,把編譯后的軟件代碼存為數(shù)據(jù)文件。同時(shí)準(zhǔn)備其它的數(shù)據(jù)文件,如音視頻輸入數(shù)據(jù)等。

          運(yùn)行

          在Palladium上運(yùn)行編譯好的數(shù)據(jù)庫,運(yùn)行過程分為如下步驟:下載設(shè)計(jì)的數(shù)據(jù)庫和各個(gè)存儲(chǔ)器的初始化文件、設(shè)置內(nèi)置邏輯分析儀的觸發(fā)條件、設(shè)置波形信息、復(fù)位芯片、運(yùn)行芯片、上載存儲(chǔ)器內(nèi)容和仿真波形。

          調(diào)試

          檢查上載的存儲(chǔ)器內(nèi)容和仿真波形,如果不符合設(shè)計(jì)的要求,則查找相應(yīng)原因。如果是測(cè)試平臺(tái)和DUV的錯(cuò)誤,則需要修改相應(yīng)的RTL代碼并重新進(jìn)行綜合、編譯硬件和運(yùn)行;如果是ARM軟件的錯(cuò)誤,則需要修改ARM軟件、編譯軟件并運(yùn)行。

          Palladium的測(cè)試結(jié)果

          對(duì)Palladium的使用可分為三個(gè)階段:第一階段主要測(cè)試Palladium的基本流程,重點(diǎn)是STB的硬件和基本軟件;第二階段用已經(jīng)流片的設(shè)計(jì)進(jìn)行測(cè)試,測(cè)試重點(diǎn)是STB的軟件和Palladium的功能、運(yùn)行性能以及測(cè)試能力;第三階段用Palladium對(duì)正待開發(fā)的芯片進(jìn)行驗(yàn)證。

          Palladium可以正確仿真數(shù)字邏輯,并且能夠處理多時(shí)鐘和異步時(shí)鐘。Palladium的運(yùn)行速度大約是200 kHz~500kHz,比RTL仿真快了100倍~500倍。

          使用Palladium時(shí)的限制在于,Palladium只能做數(shù)字邏輯的功能驗(yàn)證,不能做模擬電路的驗(yàn)證,也不能驗(yàn)證建立時(shí)間和保持時(shí)間等時(shí)序問題。為了達(dá)到更好的運(yùn)行性能,需要對(duì)DUV中相關(guān)的時(shí)鐘電路進(jìn)行優(yōu)化,所以該部分電路不能通過Palladium進(jìn)行驗(yàn)證。另外,由于替換了存儲(chǔ)器仿真模型和其它不可綜合的仿真模型,所以該部分也不能通過Palladium進(jìn)行驗(yàn)證。所有Palladium不能驗(yàn)證的部分必須采用傳統(tǒng)的邏輯仿真器進(jìn)行充分驗(yàn)證。

          可以看出,Palladium不可能取代傳統(tǒng)的邏輯仿真和FPGA原型驗(yàn)證,Palladium只是這些驗(yàn)證手段的補(bǔ)充。

          結(jié)語

          基于Cadence提供的Palladium硬件加速解決方案,本文構(gòu)建了一個(gè)全新的驗(yàn)證平臺(tái)。該平臺(tái)加速了多媒體的系統(tǒng)級(jí)驗(yàn)證,使得工程師可以在流片之前對(duì)芯片進(jìn)行更充分的軟硬件驗(yàn)證。



          關(guān)鍵詞: 仿真 基帶 終端 內(nèi)核

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();