一種面向H.264視頻編碼器的SoC驗證平臺
摘要:構建了面向H.264視頻編碼器的SoC驗證平臺,采用FPGA原型系統完成H.264編碼器驗證。采用Wishbone總線(xiàn)連接32位微處理器OR120 0以及其他的必要IP核構建基本SoC平臺,并在此基礎上集成H.264硬件編碼模塊;根據H.264編碼器的數據流要求,設計了逐行輸入/宏塊順序輸出的多端口SDRAM控制器;移植了μC/OS-II實(shí)時(shí)操作系統和μC/TCP-IP協(xié)議棧,用于輸出編碼后比特流。
關(guān)鍵詞:SoC;H.264;OR1200;SDRAM控制器;MT9P031;EP2C70F896C6
引言
H.264編碼算法復雜,其硬件實(shí)現包含眾多模塊。H.264編碼器往往采用軟硬件協(xié)同設計:在宏塊級及以下,運算量巨大,用軟件往往無(wú)法實(shí)現實(shí)時(shí)編碼,適用于用硬件實(shí)現;而在宏塊級以上,是一些圖像信息打包的工作,運算量小,且隨視頻序列的不同而不同,為了保證編碼器的通用性和靈活性往往用軟件實(shí)現。軟硬件協(xié)同設計技術(shù)是SoC的主要技術(shù)之一,但同時(shí)它也使SoC芯片的規模和SOC設計的復雜度大大提高。在這種情況下,仿真和驗證就成為了影響項目進(jìn)度的瓶頸,往往占整個(gè)芯片開(kāi)發(fā)周期50%~80%的時(shí)間。為了縮短SoC驗證時(shí)間,基于FPGA的原型驗證(包括硬件原型和軟件原型)已經(jīng)成為SoC設計流程前期階段的常用手段。
OR1200以及其他諸多的與之配套的IP核由Opencores組織負責開(kāi)發(fā)和維護,功能強大,軟硬件開(kāi)發(fā)工具齊全,采用免費和開(kāi)源的授權策略,可以自由地獲取源代碼,而且大多都經(jīng)過(guò)了ASIC驗證,已經(jīng)受到學(xué)術(shù)界和工業(yè)界越來(lái)越多的關(guān)注。
為了搭建適用于H.264視頻編碼器的SoC驗證平臺,本文主要做了以下幾項工作:
①采用OR1200微處理器作為SoC系統的控制核心,通過(guò)Wishbone總線(xiàn)互聯(lián)規范將Opencores組織發(fā)布維護的相關(guān)IP核集成在目標SoC系統上,構成了最初的SoC驗證平臺。
②采用臺灣友晶科技公司發(fā)布的500萬(wàn)像素圖像視頻采集模塊,為H.264視頻編碼系統提供原始視頻數據,并根據H.264標準的要求,在視頻采集模塊中加入了RGB到YUV顏色空間轉換模塊,以及逐行輸入/任意宏塊順序輸出的多端口SDRAM控制器(簡(jiǎn)稱(chēng)為“多端口SDRAM控制器 ”)模塊。
③在所構建的SoC驗證平臺上移植了μC/OS-II系統以及μC/TCP-IP協(xié)議棧,使H.264視頻編碼系統生成的數據流輸出到通用處理器終端,作進(jìn)一步的驗證。
1 相關(guān)技術(shù)簡(jiǎn)介
1.1 OR1200微處理器以及Wishbone總線(xiàn)
OR1200是一種32位、標量、哈佛結構、5級整數流水線(xiàn)的RISC處理器,支持Cache、MMU和基本的DSP功能。在300 MHz時(shí),可以提供300 DMIPS和300M次32位×32位的DSP乘加操作的能力。OR1200定位于嵌入式、移動(dòng)和網(wǎng)絡(luò )應用環(huán)境。
Wishbone總線(xiàn)規范是一種片上系統IP核互連體系結構。它定義了一種IP核之間公共的邏輯接口,減輕了系統組件集成的難度,提高了系統組件的可重用性、可靠性和可移植性。Opencores組織經(jīng)過(guò)ASIC或FPGA驗證的開(kāi)源IP核大多都支持Wishbone總線(xiàn)協(xié)議。
1.2 H.264/AVC視頻編碼標準
H.264/AVC標準是迄今最新的一套視頻編碼標準,它與以往的MPEG2標準相比,碼流節省了50%以上。H.264標準中所用的編碼技術(shù)主要有:幀內預測、運動(dòng)估計、整形變換和環(huán)路濾波等。
H.264標準以宏塊(16x16大小的像素塊)為單位進(jìn)行編碼。所以它的數據輸入是以宏塊為單位的像素塊,輸出是經(jīng)過(guò)了預測編碼、變換編碼以及量化和熵編碼之后的比特流數據。
1.3 TRDB-D5M圖像采集模塊
TRDB-D5M圖像采集模塊中的采用Micron公司生產(chǎn)的CMOS傳感器MT9P031。它具有以下特性:低功耗,逐行掃描圖像傳感器;最高支持到2 592×1944@12fps;12位A/D轉換器;支持攝像模式(viewfinder)和快照模式(snapshot);曝光時(shí)間可調;雙線(xiàn)串行接口(I2C總線(xiàn)接口)等。
2 SoC驗證平臺的總體框架
如圖1所示,SoC驗證平臺主要包括OR1200處理器、片上RAM控制器、SSRAM控制器、Flash控制器、UART-BOOT模塊(用于啟動(dòng))、UART-16550模塊(用于顯示信息)、GPIO模塊、DM9000A控制器、圖像采集模塊、雙端口SDRAM控制器和VGA控制器。
評論