Xcell China 27 - (Page 14) 技 術 專 欄 CABAC 模塊的系統化設計和驗證 H.264/AVC 視頻編碼器是多年來群策 群力的成果,所形成的標準以顯著低 於以前標準的比特率提供優良的視頻品 質。開發人員可以使用一種稱為 H.264/ AVC Joint Model (JM) 的參考 C 源代碼。並 且可以用此源代碼作為 HDL 中所實現功 能的參考起點。 上下文自適應二進制算術編碼 (CABAC) 是 H.264 視頻標準的組成部分。 CABAC 模塊的功能是用標準通訊組件在 HDL 中手工轉換的。在這種驗證中使用最 多的組件是 FIFO 接口。原始 JM 源代碼還 可以用來生成模塊的測試矢量文件。 我們還構建了另外一種測試環境,它 使用 JM 模型生成 CABAC HDL 模塊的輸入 激勵並依據 JM 參考模型產生的結果來驗 證 HDL 的輸出結果。這是對傳統 HDL 測 試平台基礎上的重大改進。 模塊驗證過程包括以下三個步驟: 1. HDL 功能仿真。帶有輸入和輸出測試 矢量的 MATLAB 驗證可以分別輸入到 ModelSim 中進行仿真然後比較結果。 2. 硬件功能驗證。這是一個中間步驟, 其目的是找出在 HDL 功能仿真過程 中未發現的所有漏洞。此階段 通過 System Generator for DSP 控制單步時 鐘。在 JM 源模型生成的文件中我們 可以提取輸入和輸出測試矢量。在 System Generator for DSP 中構建文件接 口時大家應特別慎重,以防出錯。 3. 硬件實時驗證。使用 HDL 功能仿真的 輸入測試矢量以實際的輸入速率和時 鐘輸入到硬件中運行,同時採集硬件 的輸出,並將其輸入到 MATLAB 中與 輸出測試矢量進行比較。 為了在 System Generator for DSP 中仿 真 HDL模塊,我們可以通過在邊界處插入 轉換器,以此來創建一個黑匣子來代錶 VHDL 的頂層文件,亦如圖 1 所示。這些 轉換器將 ModelSim 的未知“X”狀態轉換 成 Simulink 仿真中的零。圖 2 所示為整體 仿真的測試平台設置。 讀取激勵數據,而 JTAG 端口則用來連接 ChipScope 分析器。儘管這給用戶的感受 是一樣的,但現在 HDL 是完全在硬件中 實現。圖 3 所示為系統設置。 這種環境設置的優點是您可以完全從 特定接口的細節中抽象出來,而不必再 去瞭解如何用以太網提供輸入激勵或從 CABAC 模塊中如何讀 取輸出。圖 3 所示專 用網關模塊就是完全 從這些細節中抽象出 來的。 實時硬件驗證 前述仿真和操作 為在時間層上進行模 塊的詳細執行提供了 良好的環境。在完整 的設計中,我們通常 希望使用代錶真實測試情況的大型測試 集。顯然單周期或單步接口操作不適合 這種驗證方式。 現在,使用與ML506開發板相同的硬 件設置,可以用通過一種稱為 M-HWcosim 的新型 MATLAB 接口所提供的大型數據集 進行驗證。M-HWcosim 是 MATLAB M 文件 向硬件傳輸數據的 API。現在,MATLAB 腳 本編寫環境可以向在硬件中運行的實際 CABAC 模塊提供所有數據。 具有流程控制的 FIFO 允許在運行 MATLAB 的計算機和全速運行 CABAC 模塊 的硬件之間進行異步通訊。這種環境抽 象出該接口的細節,在 CABAC 模塊的大 型數據集驗證中起 重要作用。有關這 種環境的詳情,請見 www.xilinx.com/cn 上 的白皮書《用 System Generator 進行系統 化 HDL 設計、驗證和鑒定》。 在圖 2 中,“Slice_input subsystem”模 塊和“MB_input subsystem”模塊通過使用 專用接口代碼來讀取 JM 源代碼創建的包 含激勵的文件。“Output_compare”子系 統是特殊模塊,該模塊將仿真的結果與 JM 源代碼產生的原始測試矢量結果進行 比較。此仿真是以單步執行的。 結論 在完整的系統設計中,驗證的工作 量常常不亞於實際設計。符合 H.264 標 準的 CABAC 模塊設計借助 JM 源代碼模 型從高級語言生成測試矢量。其中, HDL 設計驗證與 System Generator for DSP 和 MATLAB 相結合。另外,與高速運行 CABAC 模塊的開發板相結合則是對傳統 環境的重大改進。這顯著縮短了構建驗 證環境所需的時間,從而使您能集中精 力於手頭的實際模塊。 HDL 功能仿真 在此步驟中,我們可以將 ModelSim 仿 真與 System Generator for DSP 仿真相結合, 如圖 1 所示。 使用 ChipScope 分析器用硬件進行功 能仿真 下一步我們可以使用熟悉的環境, 在這個環境中將整個 HDL 模塊映射到硬 件上,同時還需要帶有以太網和 JTAG 的 ML506 開發板。以太網連接用來提供並 下一步(請點擊下列資料了解詳細內容:) • • • 免費收看在線錄制講座“System Generator 入門培訓”,以熟悉 System Generator for DSP 下載《System Generator for DSP 用戶指南》 訂購 Xilinx H.264 CABAC 核 圖 1 – CABAC HDL 的黑匣子和 ModelSim 協同仿真 14 賽靈思中國通訊 27期 http://www.xilinx.com/cn http://china.xilinx.com/support/training/rel/system-generator.htm http://china.xilinx.com/support/sw_manuals/sysgen_bklist.pdf http://china.xilinx.com/products/ipcenter/DO-DI-H264-CABAC.htm
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.