在全集成設(shè)計環(huán)境中開發(fā)視頻IP
典型的視頻處理系統(tǒng)使用一個微處理器來控制一個視頻流水線,該視頻流水線包括一個視頻源和宿,一個用于存儲視頻數(shù)據(jù)的大型存儲器,和一個視頻處理系統(tǒng)(圖 1)。
在實現(xiàn)和調(diào)試各種視頻算法時,您需要通過軟件和硬件仿真來驗證其功能性。視頻流的實時特性和每幀所需的大量視頻數(shù)據(jù),令視頻處理應(yīng)用的仿真產(chǎn)生了特別的挑戰(zhàn)。
設(shè)計環(huán)境
視頻基本套件 (VSK) 支持廣泛視頻應(yīng)用領(lǐng)域的高性能視頻處理系統(tǒng)的快速開發(fā)與調(diào)試。VSK 采用賽靈思®Virtex™-4 XC4VSX35 器件,該器件通過結(jié)構(gòu)中高比例的乘法累加塊(也稱為 DSP48)而針對 DSP 處理進行了優(yōu)化,并具有豐富的視頻接口特性集支持,如 DVI、VGA、分量 (HD)、復(fù)合、S-視頻和 SDI等。
通常,開發(fā)視頻算法需要使用硬件對實時數(shù)據(jù)流進行視頻操作驗證,需要仿真環(huán)境來開發(fā)和測試視頻處理組件。VSK 為視頻系統(tǒng)的每個組件同時提供了軟件仿真和實時操作,可讓您開發(fā)視頻 IP(包括濾波器、視頻塊集、加速器和視頻接口轉(zhuǎn)換)或最終應(yīng)用程序,如編解碼器、圖像增強、動態(tài)伽馬校正和運動估計等。與工具套件的集成和 I/O 多樣性使能快捷而容易地把視頻引入板上和優(yōu)化其運行算法。
與 VSK 一起提供的還有參考設(shè)計,其中一些使用 HDL 編寫,其他的則用Xilinx System Generator for DSP 設(shè)計環(huán)境構(gòu)建。為了去除通過各種視頻接口引入數(shù)據(jù)并把它們發(fā)送到 Virtex-4 器件的復(fù)雜性,所以我們附帶了一個視頻接口塊集庫,使所有接口塊集均可通過一個 MicroBlaze™ 控制器來進行控制。
為了突出顯示 VSK 的部分能力,我將對 MPEG-4 第 2 部分解碼器演示設(shè)計進行說明。
MPEG-4 第 2 部分
該 MPEG-4 解碼器演示系統(tǒng)由 FPGA 硬件評估平臺、賽靈思 IP 核和嵌入式軟件組成,并一起對工業(yè)標準編碼視頻位流執(zhí)行解壓操作。
對于此設(shè)計,F(xiàn)PGA 被編程為執(zhí)行解壓和驅(qū)動視頻顯示之用。一個Compact Flash 卡用于保存多個壓縮視頻流和 FPGA 配置位流。一個位于 FPGA 內(nèi)的嵌入式處理器從 Compact Flash 卡讀取位流,將其寫入一個外部DDR 存儲器中,然后將其發(fā)送到 MPEG-4 第 2 部分解碼器。然后通過視頻 I/O 子卡,將解碼器的輸出重新格式化為要在外部監(jiān)視器上顯示的視頻標準。
系統(tǒng)概覽如圖 2 所示。MPEG-4 解碼器核、DDR 存儲器控制器、顏色空間轉(zhuǎn)換器、VGA 接口、宏塊格式轉(zhuǎn)換器、以及 MicroBlaze 軟核處理器及相關(guān)外圍電路,在XC4VSX35 FPGA 中實現(xiàn)。
而ZBT 存儲器、DDR 存儲器、System ACE™ 技術(shù)、Compact Flash 連接器、兩線式 LCD 顯示器,和一個數(shù)模轉(zhuǎn)換器,都是位于硬件平臺上。
嵌入式處理器
視頻系統(tǒng)一般需要有一個控制處理器。該處理器通常用于與主機系統(tǒng)通信,建立視頻處理操作,計算系數(shù),且一般作為低速率數(shù)據(jù)處理器運行。
VSK 具有輸入與輸出源的視頻標準,與 System Generator 硬件聯(lián)合仿真能力相配合,可讓您通過實時視頻流快速測試和調(diào)試系統(tǒng)。
在該 MPEG-4 演示設(shè)計中,嵌入式 MicroBlaze 處理器用作總體系統(tǒng)級控制器,處理以下功能,如用戶接口,從 Compact Flash 卡中讀取壓縮位流,將位流發(fā)送到 MPEG-4 解碼器核,和監(jiān)視所有系統(tǒng)狀態(tài)標志等。
通過Xilinx System Generator for DSP,可大大簡化 MicroBlaze 處理器整合到框架中的設(shè)計流程。您可以結(jié)合使用 Xilinx System Generator 與嵌入式開發(fā)套件 (EDK) 軟件工具,去實現(xiàn)和仿真具有一個處理器和 FPGA 視頻處理器功能、對實況視頻流進行操作的系統(tǒng)。System Generator 自動生成軟件驅(qū)動程序來支持用于向 System Generator 設(shè)計的數(shù)據(jù)讀寫。
兩種方法學(xué)目前均支持集成一個 MicroBlaze 控制器:
• System Generator 設(shè)計導(dǎo)出到 EDK 系統(tǒng)。當(dāng)在 pcore(處理器核)導(dǎo)出模式下使用時,內(nèi)存映射塊和所有其他塊被封裝到一個 pcore 外設(shè)中。內(nèi)存映射接口的軟件驅(qū)動程序及文檔也被生成并隨該外設(shè)一起提供。
• EDK 項目導(dǎo)入到 System Generator 設(shè)計中,以便進行硬件聯(lián)合仿真。當(dāng)在 EDK 導(dǎo)入模式下使用時,通過運行 EDK 導(dǎo)入向?qū)⒁粋€ EDK 文件導(dǎo)入到 System Generator 中。當(dāng)導(dǎo)入向?qū)瓿珊?,?nbsp;EDK 系統(tǒng)象一個黑盒子的被拉入 System Generator 設(shè)計中。在導(dǎo)入過程中,EDK 系統(tǒng)通過快速單工鏈路 (FSL) 接口進行擴展,該接口用于與內(nèi)存映射進行通信。
硬件聯(lián)合仿真
觀看最后輸出視頻是所有視頻系統(tǒng)一項重要的質(zhì)量測量指標。VSK 具有的輸入與輸出源視頻標準,與 System Generator 硬件聯(lián)合仿真能力相配合,可讓您通過實時視頻流快速測試和調(diào)試系統(tǒng)。
System Generator 提供了硬件聯(lián)合仿真接口,可以將 System Generator 圖編譯為 FPGA 位流,并將該位流與一個新的運行時硬件聯(lián)合仿真塊相關(guān)聯(lián)。當(dāng)在 Simulink 中仿真該設(shè)計時,編譯部分的結(jié)果將通過硬件而非軟件來計算。
System Generator 提供了高速硬件聯(lián)合仿真接口,允許Simulink 矢量或矩陣信號在單個事務(wù)中向 FPGA 硬件讀出或?qū)懭?。通過使用這些接口,您可以極大地減少仿真過程中 PC/硬件交易的數(shù)量,進一步加快仿真速度,超出傳統(tǒng)硬件聯(lián)合仿真所能達到的速度。
利用以太網(wǎng)技術(shù)的普及和先進性,該接口提供給外部 FPGA 器件一種便捷和高帶寬的聯(lián)合仿真方法。
VSK 支持兩種以太網(wǎng)聯(lián)合仿真模式:
• 基于網(wǎng)絡(luò)的以太網(wǎng)硬件聯(lián)合仿真接口提供了通過 IPv4 網(wǎng)絡(luò)基礎(chǔ)設(shè)施到 FPGA 平臺的聯(lián)合仿真接入。由于 IPv4 網(wǎng)絡(luò)分布廣泛,因此該接口提供了一種直接與連接到有線或無線網(wǎng)絡(luò)的遠程硬件進行通信的方式。該接口特別適用于在遠處的 FPGA 平臺(如跨局或跨國),或多個設(shè)計者必須共享一個開發(fā)板的情況?;诰W(wǎng)絡(luò)的以太網(wǎng)接口支持工作在 10/100 Mbps 半/全雙工模式。
• 點對點以太網(wǎng)硬件聯(lián)合仿真提供了一種通過原始以太網(wǎng)連接進行的聯(lián)合仿真接口。原始以太網(wǎng)連接指第 2 層(數(shù)據(jù)鏈路層)以太網(wǎng)連接,位于一個支持的 FPGA 開發(fā)板和一個 PC 主機之間,沿途沒有路由網(wǎng)絡(luò)設(shè)備。點對點以太網(wǎng)接口支持工作在 10/100/1000 Mbps 半/全雙工模式。只要底層連接支持,還可支持在千兆位以太網(wǎng)連接的巨大框架。
結(jié)論
憑借這一完整且易用的解決方案,視頻基本套件是一個理想硬件平臺來評估賽靈思 FPGA成為廣泛的視頻與成像應(yīng)用領(lǐng)域。通過完全集成 Xilinx System Generator for DSP 軟件并擁有其支持,VSK 可以充分利用新的高速以太網(wǎng)硬件聯(lián)合仿真能力,實現(xiàn)編解碼器、IP 和視頻算法的實時系統(tǒng)集成、開發(fā)和驗證。
VSK 包括軟件、硬件、相機、電纜和一份詳細的用戶指南及參考設(shè)計。它包括一套限制版的 System Generator for DSP、ISE™ 軟件,和嵌入式設(shè)計套件 (EDK) FPGA 設(shè)計工具,以及一個賽靈思 ML402-SX35 開發(fā)板,視頻 I/O 子卡 (VIODC),CMOS 圖像傳感器相機,電源和電纜。
Sabine Lam ,DSP 技術(shù)營銷工程師 賽靈思公司 sabine.lam@xilinx.com