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