Abstract
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.