《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的AVS視頻解碼芯片驗(yàn)證平臺(tái)設(shè)計(jì)
基于FPGA的AVS視頻解碼芯片驗(yàn)證平臺(tái)設(shè)計(jì)
來源:電子技術(shù)應(yīng)用2012年第1期
魏先政,李風(fēng)志,秦 盼,王祖強(qiáng)
山東大學(xué) 信息科學(xué)與工程學(xué)院,山東 濟(jì)南250100
摘要: 針對(duì)AVS視頻解碼芯片仿真和驗(yàn)證的要求,提出了基于FPGA的驗(yàn)證平臺(tái)框架。該驗(yàn)證平臺(tái)主要用于對(duì)AVS解碼芯片進(jìn)行硬件模塊的驗(yàn)證,從而為整個(gè)視頻解碼芯片的開發(fā)提供可靠的依據(jù)。該平臺(tái)基于Nios II軟核處理器,可使軟件模塊和硬件模塊在一個(gè)平臺(tái)下真正實(shí)現(xiàn)軟硬件協(xié)同工作?;谠撈脚_(tái)實(shí)現(xiàn)了多個(gè)硬件模塊和AVS視頻解碼芯片的驗(yàn)證,其結(jié)果證明了該驗(yàn)證平臺(tái)的正確性和可靠性。
中圖分類號(hào): TN919.8
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2012)01-0038-03
Design of verification platform for AVS video decoder based on FPGA
Wei Xianzheng,Li Fengzhi,Qin Pan,Wang Zuqiang
School of Information Science and Engineering,Shandong University,Jinan 250100,China
Abstract: According to the requirements of AVS video decoder chip simulation and verification, this paper proposes a framework of verification platform based on FPGA. This platform is mainly used to verify hardware modules of AVS decoder chip, and provides a reliable basis for development of the entire video decoder chip. The platform, based on Nios II softcore processor, enables software modules and hardware modules work together. The verification results of several hardware modules and AVS decoder chip prove its validity and reliability.
Key words : AVS video decoder;FPGA;verification platform;collaborative work of hardware and software

    AVS是我國(guó)具備自主知識(shí)產(chǎn)權(quán)的第二代信源編碼標(biāo)準(zhǔn),其編碼效率比MPEG-2高2~3倍,與AVC相當(dāng),但技術(shù)方案簡(jiǎn)潔,芯片實(shí)現(xiàn)復(fù)雜度低,是一套包含系統(tǒng)、視頻、音頻和媒體版權(quán)管理在內(nèi)的完整標(biāo)準(zhǔn)體系,為數(shù)字音視頻產(chǎn)業(yè)提供了全面的解決方案。

    從2012年11月1日起,AVS標(biāo)準(zhǔn)將被強(qiáng)制執(zhí)行,屆時(shí),所有在中國(guó)內(nèi)地上市的地面數(shù)字電視接收機(jī)(包括機(jī)頂盒、一體機(jī))必須內(nèi)置AVS解碼功能,否則將無(wú)法銷售。由此,在未來十年時(shí)間內(nèi),高清晰度/標(biāo)準(zhǔn)清晰度AVS解碼芯片的國(guó)內(nèi)需求量年均將達(dá)到4 000多萬(wàn)片。
    在芯片設(shè)計(jì)中,驗(yàn)證所花費(fèi)的時(shí)間約占整個(gè)設(shè)計(jì)周期的70%~80%。驗(yàn)證成為大規(guī)模集成電路設(shè)計(jì)的主要瓶頸。一方面,視頻解碼器需要對(duì)大量的一致性測(cè)試碼流進(jìn)行驗(yàn)證,在考慮時(shí)序信息以后,軟件的仿真速度非常慢,因此,需要基于FPGA的硬件仿真平臺(tái)來提高仿真和驗(yàn)證的速度。另一方面,門數(shù)百萬(wàn)級(jí)以上的芯片設(shè)計(jì)每次投片費(fèi)用巨大,投片前進(jìn)行基于FPGA的驗(yàn)證是保證投片成功的一個(gè)必不可少的環(huán)節(jié)。
    當(dāng)前關(guān)于視頻解碼芯片的FPGA驗(yàn)證平臺(tái)的文獻(xiàn)并不多。參考文獻(xiàn)[2]用2塊VirtexE系列的FPGA搭建了視頻解碼芯片的驗(yàn)證平臺(tái);參考文獻(xiàn)[2]則采用Xilinx公司的兩片F(xiàn)PGA和Altera公司的2片EP2C35 FPGA完成驗(yàn)證平臺(tái)的設(shè)計(jì)。本文針對(duì)視頻解碼器芯片的仿真和驗(yàn)證要求,通過對(duì)驗(yàn)證平臺(tái)框架的優(yōu)化,提出基于1塊Altera的FPGA芯片,設(shè)計(jì)實(shí)現(xiàn)視頻解碼器的硬件驗(yàn)證平臺(tái)。
1 驗(yàn)證平臺(tái)組成和設(shè)計(jì)
    硬件驗(yàn)證平臺(tái)應(yīng)該具有可重用的特點(diǎn)。在芯片的設(shè)計(jì)階段,硬件驗(yàn)證平臺(tái)可以作為仿真驗(yàn)證平臺(tái),要求能夠獨(dú)立完成整個(gè)視頻解碼的過程。一方面可以將視頻解碼系統(tǒng)的硬件模塊載入,以驗(yàn)證硬件模塊的功能;另一方面可以載入視頻解碼系統(tǒng)的軟件部分,讓硬件模塊和軟件模塊在一個(gè)平臺(tái)下真正實(shí)現(xiàn)軟硬件協(xié)同工作,以驗(yàn)證整個(gè)解碼系統(tǒng)的功能,實(shí)現(xiàn)視頻解碼的全過程。
    本驗(yàn)證平臺(tái)以Altera公司的DE2多媒體開發(fā)平臺(tái)為主體,在FPGA內(nèi)嵌入Nios II軟核處理器,結(jié)合Nios II可自定義CPU指令和用戶外設(shè)的特點(diǎn),配合PC機(jī)軟件程序、VGA顯示器以及自定義SDRM存儲(chǔ)器端口控制模塊,搭建出一個(gè)完整的視頻解碼芯片驗(yàn)證平臺(tái),如圖1所示。

    考慮到方便設(shè)計(jì)和占用資源少的原因,該驗(yàn)證平臺(tái)僅用一塊FPGA,故將其分為兩部分來設(shè)計(jì):視頻解碼部分和VGA顯示部分。其中,視頻解碼部分可以獨(dú)立完成視頻碼流解碼過程,將輸入的視頻文件解碼成YUV文件;同時(shí),可將設(shè)計(jì)的AVS視頻解碼器的硬件模塊載入,以驗(yàn)證硬件模塊的功能,并且為分析所設(shè)計(jì)模塊的性能參數(shù)提供可靠依據(jù)。VGA顯示部分主要控制VGA顯示器顯示解碼生成的YUV文件。這兩部分構(gòu)成了一個(gè)“視頻解碼—VGA顯示”的完整的驗(yàn)證平臺(tái)。
1.1 視頻解碼設(shè)計(jì)
    該系統(tǒng)主要分為視頻解碼系統(tǒng)硬件設(shè)計(jì)和軟件程序開發(fā)。
1.1.1 視頻解碼硬件設(shè)計(jì)
    視頻解碼系統(tǒng)硬件設(shè)計(jì)框圖如圖2所示,采用一塊Altera EP2C35F672C6 FPGA,它能提供豐富的內(nèi)存資源和容量,以及新算法資源,增強(qiáng)時(shí)鐘管理支持,其結(jié)構(gòu)體系將使系統(tǒng)性能達(dá)到更高層次,擴(kuò)大輸入輸出帶寬,提高時(shí)鐘頻率、內(nèi)存速度和數(shù)據(jù)處理速度。在FPGA上實(shí)現(xiàn)Nios II軟核CPU、SDRAM、Flash、Timer、Epcs controller等模塊相連。Nios II 軟核CPU和其他IP模塊之間通過Avalon片上總線相連,該總線規(guī)定了主部件和從部件之間進(jìn)行連接的端口和通信的時(shí)序。該部分允許將設(shè)計(jì)的硬件模塊或者AVS視頻解碼系統(tǒng)掛接到Avalon總線上,通過Nios II軟核處理器的控制,與PC機(jī)中的軟件解碼程序協(xié)同工作,共同完成視頻解碼過程。同時(shí)還能夠計(jì)算出其所占用資源以及加入硬件模塊后所節(jié)省的時(shí)間,便于準(zhǔn)確分析所驗(yàn)證硬件模塊的性能參數(shù)。

    根據(jù)系統(tǒng)的功能要求和Nios II軟核處理器的高度可配置性,通過硬件開發(fā)工具SoPC Builder定制的硬件系統(tǒng)框圖如圖3所。Nios II系統(tǒng)用CFI-Flash存儲(chǔ)輸入的視頻頻碼流文件,SDRAM用作運(yùn)行程序的內(nèi)存。同時(shí)加入了SD卡,預(yù)留存儲(chǔ)以后需要解碼的大容量視頻文件,生成的解碼文件暫存在PC機(jī)上,這樣極大地減少了片上RAM的使用率。

1.1.2 視頻解碼軟件實(shí)現(xiàn)

 


    在完成系統(tǒng)的硬件設(shè)計(jì)后, 利用Altera提供的Nios II IDE軟件,實(shí)現(xiàn)應(yīng)用程序的軟件設(shè)計(jì),主要是CPU控制主程序以及能夠獨(dú)立完成視頻解碼的軟件程序。將待驗(yàn)證的硬件模塊掛接到Avalon總線上,此時(shí)FPGA中既放入解碼系統(tǒng)的硬件模塊,也放入了解碼系統(tǒng)的軟件模塊,RISC CPU 完成PC機(jī)上CPU的功能,控制系統(tǒng)軟硬件模塊的運(yùn)行。待解碼的AVS視頻碼流通過USB接口送給驗(yàn)證平臺(tái)上的視頻解碼系統(tǒng),RISC CPU協(xié)調(diào)放在FPGA中的AVS解碼系統(tǒng)硬件模塊和軟件模塊以完成解碼。AVS數(shù)據(jù)經(jīng)過解碼,轉(zhuǎn)換成可以播放的YUV格式的視頻數(shù)據(jù)。
1.2 VGA顯示設(shè)計(jì)
    該部分將上述視頻解碼軟件轉(zhuǎn)換成的YUV數(shù)據(jù)經(jīng)過視頻控制器做一些后處理和視頻格式轉(zhuǎn)換的工作,然后將YUV視頻數(shù)據(jù)通過VGA控制接口,最后在VGA顯示器上將這些視頻信號(hào)顯示出來。下面分別介紹該部分的硬件開發(fā)設(shè)計(jì)和軟件程序?qū)崿F(xiàn)。
1.2.1 VGA顯示硬件設(shè)計(jì)
    在該設(shè)計(jì)中,Nios II軟核處理器主要完成CFI-Flash和SDRAM存儲(chǔ)器的讀寫操作,并且控制VGA的顯示。在SoPC Builder中搭建VGA顯示部分的硬件系統(tǒng)。針對(duì)系統(tǒng)的要求,在FPGA外圍連接了SRAM、SDRAM和Flash等存儲(chǔ)器,它們可以滿足視頻處理過程中對(duì)于存儲(chǔ)器的不同要求。其中,SRAM作為CPU控制主程序運(yùn)行的內(nèi)存;Flash用于存儲(chǔ)播放的YUV視頻文件;SDRAM容量大、速度快,用于VGA顯示的緩存,確保視頻播放的流暢。并沒有直接將SDRAM掛接到Avalon總線上,而是自己編寫了SDRAM端口控制器,再將其掛接到Avalon總線上,通過端口控制器對(duì)SDRAM進(jìn)行讀寫操作。
    視頻文件從Flash寫到SDRAM后,再經(jīng)過VGA控制器顯示到顯示器上。VGA控制器采用Verilog語(yǔ)言編寫,使其具有更高執(zhí)行性能,如圖4所示。

1.2.2 VGA顯示軟件設(shè)計(jì)
    在Nios II軟件開發(fā)過程中,使用Altera提供的IO操作函數(shù)對(duì)SDRAM進(jìn)行寫操作,并且利用Altera提供的API函數(shù)對(duì)Flash進(jìn)行讀操作。具體函數(shù)如下:
Alt_flash_fd * fd
fd = alt_flash_open_dev("/dev/cfi_flash");
alt_read_flash(fd, CFI_FLASH_BASE+202752*j, buf, 202752);
for(i=0; i<101376;i++)
{ IOWR_16DIRECT (SDRAM_0_BASE, 0, buf[i]);
2 驗(yàn)證實(shí)例
    基于提出的AVS視頻解碼芯片驗(yàn)證框架,實(shí)現(xiàn)了基于FPGA的AVS解碼芯片驗(yàn)證平臺(tái),驗(yàn)證平臺(tái)分為視頻解碼系統(tǒng)和VGA顯示系統(tǒng)兩部分。視頻解碼系統(tǒng)可以嵌入待驗(yàn)證的硬件模塊或下載待驗(yàn)證的視頻解碼器。基于該解碼芯片驗(yàn)證平臺(tái),完成了AVS解碼芯片以及其中幀內(nèi)預(yù)測(cè)、熵解碼和環(huán)路濾波等主要硬件模塊的驗(yàn)證。相對(duì)于Modelsim的軟件仿真,硬件驗(yàn)證平臺(tái)大大提高了驗(yàn)證速度,同時(shí)也為成功投片提供了可靠保障。圖5為驗(yàn)證平臺(tái)中視頻解碼系統(tǒng)的軟硬件解碼過程。

    在硬件系統(tǒng)設(shè)計(jì)過程中,F(xiàn)PGA驗(yàn)證已成為了系統(tǒng)設(shè)計(jì)的重要一環(huán)。本文提出了視頻解碼芯片的驗(yàn)證框架,并設(shè)計(jì)實(shí)現(xiàn)了基于FPGA的視頻解碼芯片驗(yàn)證平臺(tái)。該硬件驗(yàn)證平臺(tái)包括視頻解碼系統(tǒng)和VGA顯示系統(tǒng)兩部分,通過視頻解碼系統(tǒng)可以嵌入待驗(yàn)證的視頻解碼系統(tǒng)和硬件模塊,提高了驗(yàn)證速度和效率。該驗(yàn)證平臺(tái)具有操作靈活、驗(yàn)證效率高、可重用性強(qiáng)和易擴(kuò)展為驗(yàn)證其他視頻標(biāo)準(zhǔn)解碼芯片的驗(yàn)證平臺(tái)等優(yōu)點(diǎn)?;谠擈?yàn)證平臺(tái)已實(shí)現(xiàn)了多個(gè)硬件模塊和AVS視頻解碼芯片的驗(yàn)證。
參考文獻(xiàn)
[1] 中華人民共和國(guó)國(guó)家標(biāo)準(zhǔn),信息技術(shù) 先進(jìn)音視頻編碼第二部分:視頻[GB/T] 20090.2-2006,2006年3月.
[2] 李宇,梅順良.基于FPGA的視頻解碼芯片驗(yàn)證平臺(tái)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2008,6(2).
[3] 朱本營(yíng),林濤.基于FPGA的H.264/AVC視頻解碼系統(tǒng)驗(yàn)證平臺(tái)的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2008,33(7).
[4] 郭書軍.嵌入式處理器原理及應(yīng)用&mdash;Nios系統(tǒng)設(shè)計(jì)和C語(yǔ)言編程[M].北京:清華大學(xué)出版社,2004.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。