透過您的圖書館登入
IP:3.147.104.120
  • 學位論文

應用於系統晶片之可程式化即時匯流排追蹤器

Real-Time Configurable AHB Bus Tracer for SoC

指導教授 : 黃稚存
若您是本文的作者,可授權文章由華藝線上圖書館中協助推廣。

摘要


在現今的系統晶片中,為了支援更多的功能特性,匯流排整合了許多系統元件諸如處理器、加速器、以及其他周邊控制器。 然而,隨著整合複雜度的增加,確保一個正確無誤的系統晶片是越來越困難。 為了達到診斷以及除錯的需要,追蹤匯流排上的傳輸可以觀察到整體系統執行的情況。 在此論文中,我們針對AHB提出了一個應用於系統晶片之可程式化即時匯流排追蹤器。 為了使得設計者更容易分析匯流排上的訊號,我們設計了一個Transaction Generation Unit將匯流排上的訊號轉換成Transaction 的形式。 並且提供了一個可規劃的事件觸發單元去捕捉使用者想觀察到的存取行為。 在追蹤的過程中,我們以一個Trace Window來觀察匯流排上的訊號。 一個Trace Window 能讓我們觀察到事件觸發前後的匯流排行為。 為了減少追蹤時所產生的資料量,我們針對不同類型的追蹤資料設計不同的壓縮方法,並且針對單筆傳輸以及突發傳輸採取不同的壓縮機制。 對於單筆傳輸以及突發傳輸,可以分別達到91% 以及97%的壓縮率。 此壓縮結果讓我們得以在合理的追蹤腳位數目下將追蹤資料即時的傳送出來。 為了不影響追蹤時整體系統的效能,我們透過JTAG介面來存取匯流排追蹤器。 在分析過程中,我們以國立清華大學以及國立交通大學共同開發的Starfish系統來當作我們的測試環境。 在TSMC 0.13μm的製程之下,匯流排追蹤器花費了48.8 K gates並可以支援200MHz的速度。 我們將匯流排追蹤器整合到Starfish系統,追蹤器可以透過16根腳位即時的追蹤資料,並只佔了整體7.2%的面積。 最後,我們列舉了死結、突發傳輸錯誤等例子來展示追蹤器除錯以及診斷的能力,並且透過追蹤器我們實際發現到Starfish系統中DMA介面傳輸的錯誤。

並列摘要


In modern SoC, the on-chip bus infrastructure integrates many dedicated components such as processors, accelerators, and other dedicated peripherals for the demand of more functionality. With the increasing complexity, the guarantee of a bug-free system is more difficult. For the need of diagnosing and debugging, tracing the operations on the bus provides a great observability to the system execution. In this thesis, we propose a real-time configurable bus tracer which targets at the AHB bus infrastructure. For facilitating observability, a Transaction Generation Unit which provides a method of modeling the bus signals to a transaction is proposed. We support a configurable event trigger to capture the transactions which the designer is interested. In addition, a trace mechanism of configurable Trace Window is introduced which is able to explore transactions before and after trigger event whenever the trigger occurs. For reducing huge amount of the trace data, a transaction is classified to 4 types of trace data which are compressed with different methods. Besides, we also provide a compression mechanism for both single mode and burst mode, and the 91% and 97% compression ratio can be achieved respectively. As a result, the bus tracer is capable of transporting the trace data through a constrained on-chip trace port. To be non-intrusive to the system, the bus tracer is programmed through the JTAG interface. As a case study, the bus tracer is integrated to the Starfish system which is developed by National Tsing-Hua University and National Chiao-Tung University. The bus tracer runs at 200MHz and costs about 48.8K gates in TSMC 0.13μm technology. In overall system, the area overhead of the bus tracer is about 7.2% with a 16-bit trace port. For demonstrating the capability of debugging and diagnosing, there are examples of detecting deadlock, multicycle waiting, and burst transfer violation with our bus tracer. In real design, we find a protocol bug of DMA interface through tracing bus operations in the Starfish system.

參考文獻


[4] E. Anis and N. Nicolici, “Low cost debug architecture using lossy compression for silicon debug”, in Proc. Design, Automation, and Test in Europe (DATE), Apr. 2007, pp. 1–6.
[5] Chung-Fu Kao, Ing-Jer Huang, and Chi-Hung Lin, “An embedded multi-resolution AMBA trace analyzer for microprocessor-based SoC integration”, in Proc. IEEE/ACM Design Automation Conf.(DAC), June 2007, pp. 477–482.
[6] Fu-Ching Yang, Cheng-Lung Chiang, and Ing-Jer Huang, “A reverse-encoding-based on-chip AHB bus tracer for efficient circular buffer utilization”, in Proc. Asia and South Pacific Design Automation Conf. (ASP-DAC), Yokohama, Jan. 2009, pp. 721–726.
[7] A.M Gharehbaghi and M Fujita, “On-chip transaction level debug support for systemon-chips”, in SoC Design Conference(ISOCC), 2009 International, Nov. 2009, pp. 124–127.
[8] Shan Tang and Qiang Xu, “A debug probe for concurrently debugging multiple embedded cores and inter-core transactions in NoC-based systems”, in Proc. Asia and South Pacific Design Automation Conf. (ASP-DAC), Seoul, Mar. 2008, pp. 416–421.

延伸閱讀