利用SoC平臺設(shè)計(jì)并驗(yàn)證MPEG-4/JPEG編解碼IP
本文引用地址:http://www.ex-cimer.com/article/167069.htm
鋸齒狀掃描(Zigzag Scan):經(jīng)過量化之后,每個 8 x 8 的小方塊里面除了左上角區(qū)域以外其它部份幾乎都會變?yōu)?。為了把連續(xù) 0 的個數(shù)予以編碼,對每個8 x 8 的小方塊做鋸齒狀掃描,使得二維變成一維。鋸齒狀掃描單元支持所有MPEG-4及JPEG鋸齒狀掃描方法。鋸齒狀掃描單元產(chǎn)生的結(jié)果在編碼的狀態(tài)送到VLC單元。反鋸齒狀掃描單元產(chǎn)生的結(jié)果在解碼的狀態(tài)送到AC/DC預(yù)測單元。
可變長編解碼器(Variable Length Coding/Dec
oding, VLC/VLD):當(dāng)資經(jīng)過運(yùn)動估計(jì)(ME),DCT,量化及AC/DC預(yù)測后,VLC 經(jīng)由適當(dāng)?shù)木幋a成流,再透過網(wǎng)傳輸流交由使用者端的解碼器譯碼成MPEG4 的影像??勺冮L編碼器(VLC)是一種和霍夫曼編碼法相同的功能,常出現(xiàn)的值用較短的碼值,少出現(xiàn)的用長的碼值達(dá)到較好的壓縮比,因此,會先建一個碼簿配合查表動作。另外,為怕有的值在碼簿中搜查到,所以提出固定長編碼法除這些額外的值。我們在進(jìn)查表前先進(jìn)資掃描的動作,其中掃描可分為三種方式,分別為Horizontal Scan、Vertical Scan 及ZigZag Scan。VLC/VLD單元支持MPEG-4 固定VLC和JPEG客戶定義霍夫曼編碼方法。VLC單元產(chǎn)生的結(jié)果在編碼的狀態(tài)是最后的壓縮比特流。VLD單元產(chǎn)生的結(jié)果在解碼的狀態(tài)送到鋸齒狀掃描單元。
運(yùn)動補(bǔ)償(Motion Compensation, MC):在做運(yùn)動估計(jì)的同時已經(jīng)做了一些假設(shè),假設(shè)畫面中的物體不會放大或縮小、變型或旋轉(zhuǎn)、突然出現(xiàn)或消失,但在真實(shí)的世界里這些假設(shè)不恒成立。如果只做運(yùn)動估計(jì),重建畫面與原始畫面會產(chǎn)生誤差,而且隨著畫面數(shù)目增加而增加。為了彌補(bǔ)運(yùn)動估計(jì)的不足,必須設(shè)計(jì)運(yùn)動補(bǔ)償單元。在編碼的狀態(tài),運(yùn)動補(bǔ)償單元將原始區(qū)塊減去內(nèi)插產(chǎn)生的區(qū)塊,剩余的區(qū)塊送到DCT單元。在解碼的狀態(tài),運(yùn)動補(bǔ)償單元將IDCT單元產(chǎn)生的區(qū)塊加上內(nèi)插區(qū)塊產(chǎn)生重建的區(qū)塊。
圖四所示為一SoC系統(tǒng)構(gòu)造圖,包括了FA526 CPU,MPEG4/JPEG編解碼器,視頻輸入輸出接口和MPEG4/JPEG編解碼器所需的系統(tǒng)內(nèi)存控制器。視頻捕獲(video capture) 接口執(zhí)行傳遞視頻數(shù)據(jù)到系統(tǒng)內(nèi)存的任務(wù)。
接著使用智原科技的虛擬平臺環(huán)境(VPE)驗(yàn)證MPEG4/JPEG模塊的時序。如圖五所示,智原科技的VPE系統(tǒng)是一個通用的基于高級微控制器總線架構(gòu)(AMBA)的SoC集成驗(yàn)證環(huán)境。設(shè)計(jì)者可以使用VPE與EDA仿真器驗(yàn)證IP的功能以及SoC芯片的完整性。它集成了
智原科技CPU仿真模型
AMBA總線器件仿真模型(master/ slave / arbiter / decoder … )
智原科技 starcells仿真模型(sdmc, gpio, smc …. )
其它相關(guān)器件仿真模型(sdram/ rom/ I/O model )
設(shè)計(jì)者可以根據(jù)需要添加自己的設(shè)計(jì),例如掛在AHB上的MPEG4編解碼器。每一個功能模塊都可以在VPE中獨(dú)立仿真。智原科技可在VPE上提供了AMBA的各個功能模塊的仿真模型,設(shè)計(jì)者可以很方便的搭建起一個基于AMBA的SoC系統(tǒng)并進(jìn)行測試。其VPE的仿真模型包括下列:
行為級模型(Behavioral Model)
-AHB 主器件(Master)
-AHB 從器件(Slave)
-AHB 監(jiān)視器(Monitor)
-APB 從器件(Slave)
RTL 級模型
-仲裁器(Arbiter)
-解碼器(Decoder)
-有直接存儲器存?。―MA)通道的AHB-to-APB橋接器
-沒有直接存儲器存?。―MA)通道的AHB-to-APB橋接器
完成了功能仿真后,我們利用如圖六所示A320的SoC設(shè)計(jì)平臺做FPGA硬件仿真,A320集成了完成設(shè)計(jì)所需的IP。用FPGA實(shí)現(xiàn)的邏輯模塊通過AHB/APB總線連接器與A320設(shè)計(jì)平臺連接,可以很方便地完成功能驗(yàn)證,調(diào)試等一系列動作。因?yàn)锳320芯片上的IP均為硅驗(yàn)證,在驗(yàn)證設(shè)計(jì)的同時也保證了從設(shè)計(jì)到芯片的一致性。
我們設(shè)計(jì)了一款能與A320進(jìn)行驗(yàn)證的FPGA開發(fā)板,如下圖七所示。MPEG4/JPEG編解碼器開發(fā)板包括Xilinx Virtex-II XC2V4000 BF957, 視頻捕獲和A320接口。他提供了板上FPGA (XC2V4000 BF957),SAA7113 視頻捕獲芯片,CMOS傳感器模塊,16個LED用以顯示調(diào)試的信息,2個擴(kuò)展總線和一個AHB連接器連接A320開發(fā)板。我們也制作文檔說明Pin腳的定義,方便使用者理解設(shè)計(jì)原理。
我們也提供原理圖給使用者,如下圖八所示,使用者可完全理解訊號流的走向。
我們的測試環(huán)境很方便,如下圖九所示,利用ARM的軟件開發(fā)環(huán)境,
完成FPGA驗(yàn)證的MPEG4/JPEG編解碼器可與A320平臺上的IP結(jié)合,再加上其它需要的IP,如AHB-PCI橋等共同流片,就是另一個平臺(如下圖十)或是一個針對音/視頻的成品。平臺化能因?yàn)榇罅恳杨A(yù)先驗(yàn)證過的架構(gòu)而加快設(shè)計(jì)時間。平臺化也是利用IP復(fù)用方法設(shè)計(jì)SoC。SoC設(shè)計(jì)開發(fā)平臺實(shí)際上是一個綜合的開發(fā)系統(tǒng)。其中核心芯片集成了常用的IP,為開發(fā)提供了最基礎(chǔ)的支持。開發(fā)測試板提供了硬件的開發(fā)環(huán)境,VPE提供了軟件仿真的環(huán)境。使用VPE平臺,SoC系統(tǒng)的開發(fā)變得簡潔、高效。好的驗(yàn)證及開發(fā)平臺使帶有MPEG4/JPEG編解碼器的SoC能快速的完成設(shè)計(jì),驗(yàn)證及流片,智原科技的A320平臺就是一個好的SoC驗(yàn)證及開發(fā)平臺。
評論