1
用於多媒體系統晶片之模組設計與功能協調 (3/3)
Module Design and its Function Coor dination for
Multimedia System on Chip
計畫編號:NSC 89-2218-E-009-078 執行期限:89 年 8 月 1 日至 90 年 7 月 31 日 主持人:任建葳 國立交通大學電子工程學系 參與人員:林泰吉、鐘啟睿、周漢良、蕭允泰
一、中文摘要
本計畫的目標在於多媒體系統晶片中核心矽 智財(silicon IP)的發展及功能模組之間的協 調。第三年完成的項目包括了系統晶片中時脈 訊號及暫存器子系統的低功率設計、包裝於 BVCI 介面中,用於 MPEG-4 的輪廓編碼器 IP 及用於 JPEG-2000 的 EBCOT 熵編碼器 IP,另 外我們也提供一個完整的設計環境,將以 DSP 為基礎的內嵌式系統實現在以一個簡單處理 器 為 主 控 器 的 異質(heterogeneous)計算平台 上,並且自動產生協同處理器及所需的介面與 轉換器。 關 鍵 詞: 多 媒體 核 心 技 術 、輪 廓編碼器、 EBCOT 熵編碼器、異質計算平台 Abstr actThis project is to develop silicon IP cores and study the coordination among them. In this third year, we have studied low-power clocking techniques and register file design for the SoC. We have also developed two useful IP cores – the shape encoder and the EBCOT entropy encoder for MPEG-4 and JPEG-2000 standards respectively. Finally, we have also proposed an integrated design environment (CASCADE) for DSP applications on a simple controller-hosted heterogeneous computing platform, which generates appropriate coprocessing datapaths and their interfaces automatically.
Keywor ds: multimedia core, shape encoder,
EBCOT coder, and heterogeneous platform
二、計畫緣由與目的
在電腦、通訊及消費性電子等 3C 領域中,單 晶片系統(System on Chip – SoC)的設計是未 來的趨勢。針對多媒體系統晶片的高設計及驗 證複雜度,目前解決方案為已經驗證且可重複 使用的矽智財和以平台為基礎的設計方法。本 計畫主要是探討系統晶片中各功能模組的設 計及驗證方法和各功能模組間互相協調的方 式。設計一個愈趨複雜的系統晶片時,各獨立 的功能模組之間的協調與系統中共同資源的 分享就必須即早的考慮,使硬體能充分利用並 減小模組間的介面緩衝器。 本篇報告將針對今年度計畫工作項目分 項敘述與討論。包含用於多媒體系統晶片中的 (1)低功率時脈及暫存器組,(2)用於 MPEG-4 的輪廓編碼器,(3)用於 JPEG-2000 的 EBCOT 熵編碼器,及(4)可重組及延伸架構的 DSP 設 計環境。
三、研究方法及成果
(1) 低功率時脈及暫存器組 (Low Power Clock and Register File)時脈(clock)子系統(subsystem)和記憶體子系 統是超大型積體電路(VLSI)中兩個主要消耗 功率的單元。這個功率消耗領先的情況會隨著 製程快速進步且元件不斷的縮小而越來越明 顯,因為時脈訊號的速度持續不斷地向上攀 升、並且越來越多的應用整合大量的記憶體進 系統級的單晶片中。我們在這個計畫中針對這 兩個子系統的消耗功率建立初步的模型並且 分別加以探討。 圖一 多率快速傅立葉轉換 我們認為依各個區塊的運算特性劃分為不同 的時脈區域(clock domain),並分別供給其需要
2 的時脈訊號可以大幅降低時脈子系統的功率 逸散(power dissipation)。我們將這個想法實際 應用在一個多率(multirate)的快速傅立葉轉換 (FFT)架構中,圖一是一個十六點的分成四個 低頻的快速傅立葉轉換的架構圖。 圖二 時脈訊號的佈局 我們給予五個不同的區塊各自所需要的時脈 訊號,其線路的佈局及操作的時續圖分別表示 於圖二及圖三。在晶片大小約略相同的情況 下,我們降低了時脈子系統約五成(47% ~ 51%) 的功率消耗,相當於省下了整個架構上大約兩 成(14% ~ 28%)功率。 圖三 時序圖 記憶體分割(memory partitioning)是個常用的 省電方法,我們運用這個方法在低功率暫存器 組(register file)的設計中。暫存器組分割可以 有 效 的降 低 功率 但 需 付 出 一些 額外的代價 (overheads),於是我們提出了一個簡單的模 型,不需事先佈局(layout)就可以精確預估最佳 分割的大小,我們的實驗結果和實際的佈局後 模擬(post-layout simulation)完全吻合。 (2) 用於 MPEG-4 的輪廓編碼器 (Shape Encoder for MPEG-4)
新一代的視訊標準 MPEG-4 相對於目前流行 的 MPEG-1, 2 及 H.261, 263 最大進步就是以物 件 (object) 方 式 處 理 多媒體訊號並 提供互動 (interactive)的能力。在影像處理方面,其關鍵 並 且 使 之 成 為 可 能 (enabling) 的 技 術 輪 廓 (shape)訊號及其相關編碼方式。在 MPEG-4 中每個物件的輪廓訊號是以區塊為單位,利用 訊 號 位 置 的 相 關 性 進 行 查 表 (Context-based Arithmetic Encoding – CAE)。輪廓編碼可分為 三個主要的步驟 – (1) 產生 context,也就是依 據固定的樣板去發掘出空間上多餘(redundant) 的資訊、(2)查機率表及(3)算數編碼(arithmetic encoding),後兩者因為已經有許多的應用,也 有不少相當有效率的實現方式,所以我們把重 心放在第一個步驟上。 BVCI protocol Pause Packet Packet Packet Chain Data Buffer Write enable Context Generation
context symbol valid stall 圖四 輪廓編碼 圖四是我們所提出的輪廓編碼架構圖,為了方 便與其他的模組做溝通,我們使用 VCI OCB (On-Chip Bus)的標準介面規格,第一部份必須 從主控端收取、儲存資料,並且將資料依樣板 讀取產生 context,主要的設計方向是減少控 制訊號的複雜度及儲存資料的暫存器。相對於 一般移位暫存器(shift register)的實現方式,我 們採用了多工器配合靜態的暫存器來減少資 料的轉變,進而降低動態功率(dynamic power) 的消耗,圖五是我們所提出的 context 產生器。 3 Rows 20 Columns Block 1 Sweep_counter Mux control Dump Three 16 to 1 M ux 4-bit First row Third row Second row block T shift 圖五 以多工器為基礎的 context 產生器
3 我們已將上述所提的輪廓編碼器實作及驗證 完成,目前正進行實體的晶片驗證(已經 CIC 下線)。我們採用.35μm,1P4M 製程,利用 Synopsys Design Compiler 合 成 及 Avant! Apollo 完成 physical 設計。圖六為我們的晶片 線路佈局。晶片面積大小為 2.512×2.424mm2。 其時脈達 62.5 MHz (post-layout simulation), 平均消耗功率為 66 mW。 extVDD RERROR RDATA[7] RDATA[6] RDATA[4] RDATA[5] VSS VDD extVSS RDATA[3] RDATA[2] RDATA[1] extVSS extVDD RDATA[0] REOP re se t cl o ck C M D V A L E O P V D D V S S W D A T A [0 ] W D A T A [1 ] W D A T A [2 ] W D A T A [3 ] ex tV D D ex tV S S W D A T A [4 ] W D A T A [5 ] W D A T A [6 ] V D D V S S W D A T A [7 ] W D A T A [8 ] W D A T A [9 ] ADDRESS[0] ADDRESS[1] ADDRESS[2] extVDD extVSS WDATA[19] WDATA[18] WDATA[17] WDATA[16] VDD VSS WDATA[15] WDATA[14] WDATA[13] WDATA[12] extVDD extVSS WDATA[11] WDATA[10] C M D A C K RS P V AL V DD V S S C M D [0 ] C M D [1 ] PL E N [3 ] PL E N [2 ] PL E N [1 ] e xtV D D ex tV S S PL E N [0 ] C L E N [3 ] C L E N [2 ] C L E N [1 ] V DD V S S C L E N [0 ] 圖六 輪廓編碼晶片佈局圖 (3) 用於 J PEG-2000 的 EBCOT 熵編碼器 (EBCOT Entr opy Encoder for
J PEG-2000) JPEG 為目前在電腦、通訊、消費性電子等 3C 產 品 領域 中 最廣 範 使 用 的 數位 影像壓縮標 準。在其推出了將近十年之後,其下一代新的 標準 JPEG-2000 整合了最新發展的技術,並針 對了現今及未來應用的需求提供了更高的壓 縮率、在低位元率(bit-rate)時提供更佳的影像 品質。JPEG-2000 計算主要的兩部份是前級的 離 散 小 波 轉 換 (DWT) 與 後 級 的 EBCOT , EBCOT 包含了區塊編碼(block coding,如圖七) 與 分 層 的 位 元 階 層 資 料 流 的 產 生 (layered bit-stream generation),而運算量主要都集中在 前者。它將一張張的 bit-plane 分別利用其相對 應的位元係數模型(coefficient bit modeling)做 查 表 的 算 術 編 碼 (context-based arithmetic coding)。EBCOT 主要都是位元層次的運算, 市面上的處理器是以一個字元(word)為運算 最 基 本 的 單 位 , 而 無 法 有 效 率 的 處 理
EBCOT。在這個計畫中我們便設計了一個符 合 JPEG-2000 標準的矽智財(silicon IP)來有效 率的處理 EBCOT 的運算,而這個 IP 也非常容 易的與一般的處理器或是其他 JPEG-2000 的 IP (e.g. DWT IP)結合使用。 Context Formation Distortion Estimation Memory MQ Coder Distortion values Block bit-stream Bit-plane data νp, χ σ, η, ζ 圖七 區塊編碼器 為了易於 VLSI 的實現,我們修改了 EBCOT 演算法降低了 4Kb 的記憶體需求量。提高平 行度為硬體加速器最有效的提升速度方式,我 們探討了 EBCOT 中區塊編碼四種平行度的可 能性。最後我們採用了 pixel-skipping 的技巧 來提升 pixel 之間的平行度。針對 EBCOT 算 術編碼單元 – MQ- coder,我們使用管線化架 構提升系統的 throughput,並提出以下兩種新 的方法來有效地提高系統的時脈 – Variable -cycle Code-register Re-normalization 及 Multi -cycle Flushing。 Context Formation MQ Coder SRAM
SRAM SRAM SRAM
SRAM SRAM SRAM SRAM SRAM SRAM SRAM SRAM 圖八 EBCOT 晶片佈局圖
4 我們已將上述所提的 EBCOT 架構實作完成並 通過驗證,目前正在進行晶片驗證(已經由 CIC 下線)。我們採用.35μm,1P4M 製程,利用 Synopsys Design Compiler 合 成 及 Avant! Apollo 完成 physical 設計。圖八為我們的晶片 線 路 佈 局 圖 。 晶 片 面 積 大 小 為 3.345×3.313mm2。其時脈最高可達 142 MHz (post-layout simulation),當其工作頻率設定在 100 MHz 時,壓縮三十張 256×256 4:4:4 彩色 影像僅需 0.5 秒,而壓縮三十張 512×512 4:2:0 彩色影像也只需要 0.92 秒。也就是說,我們 所 設 計 的 EBCOT IP 可 以 適 用 於 大 多 數 JPEG-2000 的應用,如 Motion JPEG-2000。
(4) 可重組及延伸架構的 DSP 設計環境 (Configur able and Scalable DSP Envir onment) 現今的消費性產品越來越多樣化,而運算量也 高 達 無法 有 效益 的 實 現 在 單一 的微處理器 上,系統中較重要的部份通常都會有特殊架構 的硬體來加速。隨著系統晶片的設計日益複 雜,工程師也傾向使用一些已驗證過或直接採 購一些硬體模組來降低產品的風險,最重要的 是,提前產品的上市。問題是,要整合這些現 有但規格不一的硬體模組是一個頗麻煩的工 作,而且因為對於規格的認知差異,常常出現 人為的錯誤。再者,因為這些現有的模組不是 針對將要生產的產品所設計,難免會有些規格 不合,或是不需要、多餘的設計。 Micro-Controller Task Interpreter Configurable SIU (Stream Interfacing Unit)
Data-Driven DSP Accelerator Functional Units I/ O B u s 圖九 DSP 基本運算平台 我們延續了上一年度介面設計的計畫,針對大 部份的 DSP 為基礎的內嵌式系統提出了一個 如圖九的基本運算平台,並發展了一套設計環 境,讓工程師仍然使用 C 及原先熟悉的軟體 流程來發展新的產品。此環境我們將之稱作 CASCADE (Configurable and Scalable DSP Environment),它依照選定的微處理器及規格 所訂定的速度表現,將工作由軟體端支配至硬 體端執行,而硬體加速器的多寡及其內部平行 的功能模組皆依規格而自動產生,所以不會有 硬體規格不符合的狀況。另外,硬體和軟體部 份都溝通介面也是自動化產生,避免人為的疏 失而發生錯誤。 C/C++ Host Programs
Prior Compilation & Performance Evaluation
Parallelism Analysis & Task Dispatch
Code Replacement
(Software Driver) Functional Unit Determination Operation Allocation/Scheduling
Optimal Binding
Dataflow Control Optimization
Synthesizable Verilog Compilation
Executable Micro-C ontroller
Data-dr iven Accelerators
Co-Simulation & Performance Evaluation
圖十 CASCADE 設計流程 圖十是 CASCADE 設計的流程,它緊密地和 微處理器的設計環境結合,可以讓熟悉微處理 器的工程師快速的上手,就如同原來純粹軟體 的環境一般,我們也同時提供了 FPGA 環境來 做軟硬體的共同模擬驗證設計的正確性。 我們已經成功的使用 CASCADE 設計出一個 標準 JPEG 的編碼器在 ARM7-TDMI 為主控器 的計算平台之上。CASCADE 自動產生了以四 個乘加器為核心的加速硬體,將原來純粹以軟 體實現的系統有效的加速 623%來符合我們所 給定的規格,使之能夠應用在我們的視訊處理 系統中。