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