• 沒有找到結果。

百萬閘單晶片系統之設計方法論─子計畫五 單晶片系統之相輔設計

N/A
N/A
Protected

Academic year: 2021

Share "百萬閘單晶片系統之設計方法論─子計畫五 單晶片系統之相輔設計"

Copied!
5
0
0

加載中.... (立即查看全文)

全文

(1)

行政院國家科學委員會補助專題研究計畫成果報告

※※※※※※※※※※※※※※※※※※※※※※※※※※

單晶片系統之相輔設計

Hardware-Software Codesign for System-On-a-Chip

※※※※※※※※※※※※※※※※※※※※※※※※※※

計畫類別:□個別型計畫

þ

整合型計畫

計畫編號:NSC90-2215-E002-010

執行期間:90 年 08 月 01 日至 91 年 07 月 31 日

計畫主持人:陳少傑

計畫參與人員:鄭伯燻、趙淳安、黃聰琦

本成果報告包括以下應繳交之附件:

□赴國外出差或研習心得報告一份

□赴大陸地區出差或研習心得報告一份

□出席國際學術會議心得報告及發表之報告各一份

□國際合作研究計畫國外研究報告書一份

執行單位:國立台灣大學電子工程研究所

九十一年

十月

十八日

(2)

百萬閘單晶片系統之設計方法論─子計畫五

單晶片系統之相輔設計

Har dwar e-Softwar e Codesign for System-On-a-Chips

計畫編號:NSC90-2215-E002-010

執行期限:90 年 08 月 01 日至 91 年 07 月 31 日

主持人:陳少傑 台灣大學電子工程研究所

計畫參與人員:鄭伯燻、趙淳安、黃聰琦 台灣大學電子工程研究所

一、中文摘要

目前,在學術界及工業界均針對單晶 片系統 (System-On-a-Chip, SOC)的設計提 出一些初步的方法及技術。然而,系統工 程師最欠缺的就是一套可以使其在製程之 前做系統設計的方法論及工具。我們在本 計畫中提出一套可用於多媒體系統 SOC 之 軟硬體設計工具。 在設計多媒體應用系統時通常可以分 成軟體與硬體兩大部份來考慮,由於硬體 的開發成本較高,所以設計者通常會希望 大部份的功能可以用軟體的方式來實現, 只有那些比較耗費運算能力及具執行時間 上限制的功能才會交給硬體來做。在這篇 報 告 中 , 我 們 提 出 一 個 系 統 功 能 層 次 (System-Function Level) 的軟硬體分割法 並將其運用在多媒體應用的系統分割上, 同時我們也以 JPEG 2000 編碼系統為例說 明如何應用我們提出的方法找出一個能滿 足所有設計限制的最佳解。而這篇報告中 所提出的軟硬體分割法不僅能用在傳統的 軟 硬 體 相 輔 設 計 (Hardware-Software Codesign) 流程之中,同時也可以應用在整 合 平 台 為 基 礎 的 功 能 - 架 構 相 輔 設 計 (Function-Architecture Codesign) 內。 關鍵詞:單晶片系統、軟硬體分割、系統 設計方法論 Abstr act

Currently, codesign methodologies and techniques are being proposed for the design of SOC both in academia and in industry. One of the most urgent tasks at this time is to allow a smooth transition from IC design to system design, which requires a hardware-software codesign methodology and a tool for designers to easily design their

highly complex designs before the actual costly fabrication. With this goal in mind, we are developing a hardware-software (H/W-S/W) CO-design tool for multimedia system SOC.

Implementing a multimedia system can be divided into two different portions: software portion and hardware portion. Due to the higher cost in developing hardware, the designer would usually prefer to implement a system mostly by a software-solution. Only the functions that have a higher performance requirement or a tight timing constraint would be implemented as hardware. In this report, we propose a system/function level hardware/software partitioning method to perform system partitioning for multimedia applications. We also use JPEG2000 coding system as an example to demonstrate how to perform design space exploration by using our methodology to obtain an optimal system partitioning that can satisfy user defined design constraints. Our partitioning method could not only be used in traditional hardware/software codesign flow, but also can be used under the integrated

(3)

platform-based function-architecture codesign.

Keywor ds: System-On-a-Chip,

Hardware-Software Partitioning, System design methodology

二、緣由與目的

隨 著 中央 處理器運算能力不斷地提 升,人們可在個人電腦上欣賞各式各樣的 多媒體影音娛樂。一些新的多媒體影音標 準像是 MPEG-I,MPEG-II,MP3,JPEG 2000 等都已能用純軟體執行的方式在電腦上呈 現。但當使用者想以更方便且更為便宜的 方式來使用它們時,如何減少不必要的系 統成本將成為製造業者的一個重要考量。 個人電腦之所以能夠執行各種程式主 要是因為它配有威力強大的處理器,但在 一個固定用途的產品內使用一顆運算能力 強大的多功能處理器會使得整體開發成本 大為提升,所以設計者往往會把比較複雜 的運算交由另行製造的 ASIC 來執行,如此 一來不但可以不需要選用功能強大的處理 器以降低開發成本同時又可以獲得很好效 能的執行效能,而所謂的軟硬體相輔設計 就是在討論如何以最低的成本來開發出一 個執行效率最好的產品。在這篇報告中我 們修改了傳統軟硬體相輔設計的方法並將 之 使 用 在 開 發 多 媒 體 應 用 (Multimedia Applications)上面,同時我們也加入了系統 單晶片 (System-on-Chip) 的概念盡量將整 個系統以單晶片的形式來完成。

三、研究方法

軟硬體相輔設計可以視為一種軟體與 硬體間相互合作開發的方法,它的目地在 於降低產品開發成本,縮短開發時間以及 減少設計開發者的負擔,而在整個相輔設 計的流程中,設計者應就所有可能的架構 分析其優點並找出最佳解決方案。一個產 品在軟體部份的設計往往能增加整個產品 應用的彈性及較佳的除錯環境,其缺點是 執行速度較慢。硬體所需的開發成本較 高,但相對地卻能增進整體執行效能。而 如何在軟體及硬體間做出最佳決擇正是軟 硬相輔設計所討論的問題。 在傳統的產品開發流程裡,軟體及硬 體被獨立開來進行設計一直到最後的階段 才做整合。在這種開發流程下大部份的功 能都會以硬體優先的方式來實現而不會去 考慮用軟體來幫助做一些簡易的運算,雖 然如此也能開發出整個系統,但其缺點在 於硬體上可能會有不必要的浪費,另一方 面,晚期的軟硬體整合若不順利還會增加 潛在的開發負擔。由此可知若有一種良好 的軟硬體相輔設計方法將可使整個開發過 程更有效率,同時又能降低製造產品所花 費的成本。 在整個開發過程中,軟體與硬體的分 割相當重要因為它會影響整個產品最後被 實現的架構,所以設計者在做軟硬體分割 時應該要考慮到最後希望用怎樣的形式來 呈現整個產品。在大多數的情形下,軟硬 體分割所討論的問題在於如何適當地將系 統內不同的功能分別對應到某顆處理器上 或是交由特定 ASIC 來執行。而針對整個過 程中不同的特定架構(Target Architecture) 或是分割目標(Partitioning Goal)及解決方 法,設計者可以做出各式各樣的假設。 軟硬體分割的流程是從建立一個與系 統相對應的分割圖形(Partitioning Graph)開 始,再來要決定用以實現整個系統的特定 架 構 , 訂 定 效 能 評 估 標 準 (Estimation Factors) 以 及 設 計 上 的 限 制 (Design Constraints) , 最 後 要 訂 定 目 標 方 程 式 (Objective Function),然後依據所訂定的目 標方程式找出一個能滿足所有條件的最佳 解。

四、結果與討論

當我們把一個系統切成數個子系統時 常可以輕易的挑出一些比較關鍵的功能來 給硬體做,但有時這種選擇並不明顯,而 在這種時候如果能有方便的電腦輔助工具 將會使整個工作更為簡便。在這篇報告中 我們針對多媒體應用提出了一個新的軟硬 體分割法,這個方法分為兩個步驟:在第一

(4)

個步驟中先以全軟體的形式將整個系統實 作出來並在所選用的特定架構上對整個軟 體進行執行效能評估並選出有機會被以硬 體形式實現的部份。在第二個步驟中我們 使用一個基因演算法(Genetic Algorithm)依 據使用者所下的設計限制來為整個系統找 出最佳的軟硬體分割。 我們以最新的 JPEG 2000 靜態影像編 碼系統為例,說明如何使用我們所提出的 軟硬體分割法來做設計空間的探索。在 JPEG 2000 的標準中,對一幅影像進行編碼 主 要 分 成 七 個 動 作 , 分 別 是 Inter-Component Transform, Tiling, Intra-Component Transform, Quantization, Context Formation 以 及 Arithmetic Coding,我們首先把整個系統以純軟體的 形式在個人電腦上實作,接著再移植到 Altera 公司出的 Excalibur SOPC 套件上, 使用其內建的 NIOS 嵌入式處理器來對整 個系統作軟體上的效能評估並選出有機會 用硬體來實現的部份,然後使用者所下的 設計限制來求出整個系統軟硬體分割的最 組合。

五、計畫成果自評

在這篇報告中我們提出了一個新的多 媒體應用單晶片系統軟硬體分割法,它主 要分為兩個步驟:在第一個步驟中先以全軟 體的形式將整個系統實作出來,並在所選 定的特定架構上對整個軟體的執行效能進 行評估且選出有機會被以硬體形式實現的 部份。在第二個步驟中,使用者可以下一 些設計上的限制來決定最後分割出來的結 果之差異性以及使用我們的方法來做設計 空間探索,而依照不同的設計限制將會得 到不同的系統分割結果。

六、參考文獻

[1] F. Balarin, M Chiodo, P. Giusto, H. Hsieh, A. Jurecska, L. Lavagno, C. Passerone, Sangiovanni-Vincentelli, E. Sentovich, K. Suzuki, and B. Tabbarra,

Hardware-Software Co-design of Embedded Systems The POLIS Approach, Kluwer Academic Publishers 1997.

[2] Henry Chang, Larry Cooke, Merrill Hunt, Grant Martin, Andrew McNelly, Lee Todd,

Surviving the SOC Revolution, Kluwer Academic Publishers 1999.

[3] R. Niemann, Hardware-software Co-design for Data Flow Dominated Embedded Systems, Kluwer Academic Plublishers, 1998.

[4] J. Henkel, Th. Benner, R.Ernst, W.Ye, N.Serafimov, and G. Glawe. “COSYMA: A Software-Oriented Approach to Hardware-software Codesign”, The Journal of Computer and Software Engineering, 2(3):293-314, 1994.

[5] Rajesh Kumar Gupta, Co-synthesis of Hardware and Software for Digital Embedded Systems, Kluwer Academic Publishers, 1995.

[6] R.K. Gupta and G. De Micheli, “Hardware-software Cosynthesis for Digital Systems”, IEEE Design and Test of Computers, pp. 29-49, 1993.

[7] Jorgen Staunstrup, Wayne Wolf,

Hardware-software Co-Design: Principles and Practice, Kluwer AcademicPublishers, 1997.

[8] R. Niemann, Hardware/Software Co-design for Data Flow Dominated Embedded Systems, Kluwer Academic Plublishers, 1998.

[9] J. Henkel and R. Ernst, ”A Hardware-software Partitioner using a dynamically determined Granularity.”, In

Proceedings 34th Design Automation Conference (DAC '97), pages 691 -- 696, 1997.

[10] R. Ernst, J. Henkel, and Th. Benner. “Hardware-software Cosynthesis for Microcontrollers.”, IEEE Design & Test of Computers, 10(4):64-75, December 1993. [11] P. V. Kundsen and J. Madsen. “PACE: A

Dynamic Programming Algorithm for Hardware-software Partitioning”.

International Workshop on

Hardware-software Codesign, pp.85-92, 1996.

[12] A. Kalavade; E.A. Lee, ”A Global Critically/Local Phase Driven Algorithm for

(5)

the Constrained Hardware/Software Partitioning Problem”, International Workshop on Hardware/Software Codseign, pp. 42-48,1994

[13] Mishra, S.M.; Balaram, A.,” Efficient hardware-software co-design for the G.723.1 algorithm targeted at VoIP applications”, IEEE International Conference on Multimedia, Volume: 3, Page(s): 1379 -1382 vol.3, 2000.

[14] Nieuwland, A.K.; Lippens, P.E.R. “A heterogeneous HW-SW architecture for hand-held multimedia terminals”, IEEE Workshop on Signal Processing Systems, Page(s): 113 –122, 1998.

[15] Kim, S.D.; Jang, S.K.; Lee, J.; Ra, J.B.; Kim, J.S.; Joung, U.; Choi, G.Y.; Kim, J.D.,”Efficient hardware-software co-implementation of H.263 video codec” 1998 IEEE Second Workshop on Multimedia Signal Processing, Page(s): 305 –310, 1998.

[16] Fayad, G.; Khordoc, K. ,”An object-oriented refinement methodology through the design of a settop-box”, Conference on Electrical

and Computer Engineering, 2000 Canadian, Volume: 2, Page(s): 1032 -1036 ,2000. [17] Suzuki, F.; Koizumi, H.; Hiramine, M.;

Yamamoto, K.; Yasuura, H.; Okino, K. “ A HW-SW co-design environment for multi-media equipments development using inverse problem “, Proceedings of the Fifth

International Workshop on

Hardware-software Codesign

(CODES/CASHE '97), Page(s): 153–157,1997.

[18] Castellano, J.P.; Sanchez, D.; Cazorla, O.; Suarez, A. ,”Pipelining-based tradeoffs for hardware-software codesign of multimedia systems”, 8th Euromicro Workshop on Parallel and Distributed Processing, 2000, Page(s): 383–390, 1999.

[19] Lippens, P.; Nagasamy, V.; Wolf, W., “CAD challenges in multimedia computing”, 1995 IEEE/ACM International Conference on Computer-Aided Design, Page(s): 502 –508, 1995.

[20] “JPEG 2000 image coding system -- Part 1,” Standard ISO/IEC 15444-1:2000, 2000.

參考文獻

相關文件

This kind of algorithm has also been a powerful tool for solving many other optimization problems, including symmetric cone complementarity problems [15, 16, 20–22], symmetric

市場學原理 電子商貿概論 營運管理學 商業財務學 專題習作. 選修單元(專修會計及財務) 計算機化會計系統

圖4 1 整合資訊系統風險 圖4.1 整合資訊系統風險..

銷貨單號碼 發票日期 運貨日期 銷貨總額 營業稅 品號 品名/規格 單價 數量 B 第一次正規化格式.

A Cloud Computing platform supports redundant, self-recovering, highly scalable programming models that allow workloads to highly scalable programming models that allow workloads to

If necessary, you might like to guide students to read over the notes and discuss the roles and language required of a chairperson or secretary to prepare them for the activity9.

Dennis Ritchie Brian Kernighan Douglas McIlroy Michael Lesk Joe Ossanna.. Multitasking and multi-user OS

In Section 4, we give an overview on how to express task-based specifications in conceptual graphs, and how to model the university timetabling by using TBCG.. We also discuss