研究生: |
謝銘昌 Ming-Chang Hsieh |
---|---|
論文名稱: |
內嵌式數位訊號處理器之偵錯基礎架構設計 Design of the Debugging Infrastructure for the Embedded DSP Core |
指導教授: |
黃稚存
Chih-Tsun Huang |
口試委員: | |
學位類別: |
碩士 Master |
系所名稱: |
電機資訊學院 - 資訊工程學系 Computer Science |
論文出版年: | 2007 |
畢業學年度: | 96 |
語文別: | 英文 |
論文頁數: | 71 |
中文關鍵詞: | 嵌入式除錯與追蹤 、除錯設計 、壓縮 |
外文關鍵詞: | Embedded Debug and Trace, Design for Debug, Compression |
相關次數: | 點閱:3 下載:0 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
在這篇論文中,我們提出一個可調變的數位訊號處理器(Digital Signal Processor)子系統及其除錯基本架構。在國立清華大學及國立交通大學所共同研發的計劃—超低功率數位訊號處理器核心開發計劃(Starfish)中加入,並實現我們所提出的架構。
在我們所提出的子系統中,整合了包括超低功率數位訊號處理器—Starfish、記憶體管理單元,指令緩衝區,資料緩衝區,及追蹤除錯單元。為了降低資料在匯流排中傳輸造成時間的負擔,我們將記憶體系統設計成二層的系統架構,且指令緩衝區及資料緩衝區具可擴展性。我們針對不同的應用程式及不同大小的緩衝區做實驗,找出具有最佳效能的組合。此外,我們也提出了一個可管理內部緩衝區的方法稱為—Smart page replacement policy。利用此方法,可大幅降低處理器對資料記憶體的需求,減少資料做不必要的搬移。根據我們的實驗結果,處理器對資料記憶體的需求,大約可降為原本的百分之五十,以提升系統效能。
在DSP子系統中,加入了追蹤除錯單元可有效地幫助整個系統的除錯。我們提出的追蹤除錯單元可以很容易的嵌入DSP子系統中,可追蹤程式執行的過程、暫存器的變化及重要的內部訊號,幫助軟硬體在發展中快速的除錯。我們提供各種可觸發追蹤除錯的條件,並且可動態地做重新設定。因此,使用者可以專注於他們感興趣部分。此外,我們提出具有高壓縮率的方法稱為—Advanced packet compression method,這個方法可以使得壓縮率達到百分之二十六,以及提供更詳細的追蹤資訊。
我們建構了一個FPGA模型在多媒體驗證平台(UMVP2000)上,並且可成功的展示MP3、H.264等應用程式。根據我們建構的DSP子系統及所提出的除錯架構,可有效的減輕在嵌入式數位訊號處理器或者微處理器的除錯過程中所遇到的挑戰。
In my thesis, we present a scalable DSP (Digital Signal Processor) subsystem and its debugging infrastructure framework. Our proposed framework has been ported to a low-power embedded DSP core, called Starfish, developed by National Tsing-Hua University and National Chiao-Tung University.
The Starfish subsystem integrates the Starfish core with memory management unit, instruction buffer, data buffer, and our trace/debug unit (TDU). The memory subsystem is a two-level architecture to reduce the overhead of the data transfer on the bus. With our scalable memory subsystem, we can evaluate the performance of the entire DSP system rapidly. A large variety of combinations of instruction/data buffers are experimented to obtain the optimized parameters with targeted applications. In addition, we also present a smart page replacement policy to manage these internal buffers. With this mechanism, the page request of the data memory will be manipulated efficiently. As compared with the original straightforward implementation, about a 50 percentage reduction of the data memory access can be achieved by using our approach.
Furthermore, our DSP subsystem also integrates a effective TDU to help the system debugging. Our TDU can be easily embedded in the DSP subsystem to help trace the program flow, register change, also customized internal signals. Locating and analysis the hardware/software bugs will become easy accordingly. The trace/debug conditions of our TDU are highly reconfigurable. Various trigging conditions with predefined program range can be configured dynamically. Therefore, the user is able to focus on the interested region. In addition, we proposed an advanced packet compression method to compress the trace information with a higher compression rate. The proposed approach achieves about up to 26 percentage data compression ratio with lot more detailed trace information.
An FPGA prototype has been constructed by using the multimedia verification platform, UMVP2000, to successfully demonstrate the targeted applications such as MP3 and H.264, with the help of the Starfish core design team, and the application development team. With the proposed DSP subsystem, the development and debugging challenges of the embedded DSP or microprocessor can be alleviated effectively.
[1] NTHU Design Technology Center, Starfish Development and Implementation, July 2007.
[2] Global UniChip Corp, Users Manual of UMVP-2000 Development Board, Mar. 2005.
[3] Inc. ARM Components, AMBA Specification Rev2.0, May 1999.
[4] Miron Abramovici, Paul Bradley, Kumar Dwarakanath, Peter Levin, Gerard Memmi,
and Dave Miller, “A Reconfigurable Design-for-Debug Infrastructure for SoCs”, in DAC,
2006, pp. 7–12.
[5] “Collett ASIC/IC Verification Study”, 2004.
[6] Inc. ARM Components, ARM926EJ-S Development Chip Reference Manual, 2006.
[7] Altera Corporation, Stratix II Device Family Data Sheet, 2007.
[8] Inc. ARM Components, RealView Developer Suite–Getting Started Guide, 2005.
[9] Inc. ARM Components, RealView Developer Suite–AXD and armsd Debuggers Guide,
2004.
[10] Inc. ARM Components, Multi-ICE User Guide, 2002.
[11] Global UniChip Corp, UMVP-2000 Library User Manual, Mar. 2006.
[12] Inc. ARM Components, Embedded Trace Macrocell Architecture Specification, 2004.
[13] Inc. ARM Components, RealView Hardware Platforms Product Selector, Mar. 2006.
[14] Altera Corporation, Quartus II – Design Debugging Using the SignalTap II Embedded
Logic Analyzer, 2006.
[15] Xilinx Inc., ChipScope Pro Software and Cores User Guide, Oct. 2004.
[16] Altera Corporation, Stratix II FPGA Family, 2006.
[17] Inc Analog Devices, ADSP-BF535 Blackfin Processor Hardware Reference, June 2004.
[18] Inc. ARM Components, AMBA AHB Trace Macrocell (HTM), 2004.
[19] Andrew B.T. Hopkins and Klaus D. McDonald-Maier, “Debug support strategy for
systems-on-chips with multiple processor cores”, IEEE TRANSACTIONS ON COMPUTERS,
vol. 55, no. 2, pp. 174–184, 2006.
[20] E. Anis and N. Nicolici, “On using lossless compression of debug data in embedded logic
analysis”, in Proc. Int’l Test Conf. (ITC), Santa Clara, Oct. 2007, pp. 1–10.
[21] Chung-Fu Kao, Ing-Jer Huang, and Chi-Hung Lin, “An Embedded Multi-resolution
AMBA Trace Analyzer for Microprocessor-based SoC Integration”, in DAC, 2007, pp.
477–482.
[22] V. ˇZivojnovi´c, J. Mart´ınez, C. Schl¨ager, and H. Meyr, “DSPstone: A DSP-oriented
benchmarking methodology”, in Proceedings of Int. Conf. on Signal Proc. Applic. and
Technology (ICSPAT’94), Dallas, Oct. 1994.
[23] Inc. ARM Components, ARM MultiTrace User Guide, 2001.
71