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

1.2.2 VGA顯示軟件設計
在Nios II軟件開(kāi)發(fā)過(guò)程中,使用Altera提供的IO操作函數對SDRAM進(jìn)行寫(xiě)操作,并且利用Altera提供的API函數對Flash進(jìn)行讀操作。具體函數如下:
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; i101376;i++)
{ IOWR_16DIRECT (SDRAM_0_BASE, 0, buf[i]);
2 驗證實(shí)例
基于提出的AVS視頻解碼芯片驗證框架,實(shí)現了基于FPGA的AVS解碼芯片驗證平臺,驗證平臺分為視頻解碼系統和VGA顯示系統兩部分。視頻解碼系統可以嵌入待驗證的硬件模塊或下載待驗證的視頻解碼器?;谠摻獯a芯片驗證平臺,完成了AVS解碼芯片以及其中幀內預測、熵解碼和環(huán)路濾波等主要硬件模塊的驗證。相對于Modelsim的軟件仿真,硬件驗證平臺大大提高了驗證速度,同時(shí)也為成功投片提供了可靠保障。圖5為驗證平臺中視頻解碼系統的軟硬件解碼過(guò)程。
在硬件系統設計過(guò)程中,FPGA驗證已成為了系統設計的重要一環(huán)。本文提出了視頻解碼芯片的驗證框架,并設計實(shí)現了基于FPGA的視頻解碼芯片驗證平臺。該硬件驗證平臺包括視頻解碼系統和VGA顯示系統兩部分,通過(guò)視頻解碼系統可以嵌入待驗證的視頻解碼系統和硬件模塊,提高了驗證速度和效率。該驗證平臺具有操作靈活、驗證效率高、可重用性強和易擴展為驗證其他視頻標準解碼芯片的驗證平臺等優(yōu)點(diǎn)?;谠擈炞C平臺已實(shí)現了多個(gè)硬件模塊和AVS視頻解碼芯片的驗證。
fpga相關(guān)文章:fpga是什么
pic相關(guān)文章:pic是什么
評論