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