Transaction-Based Communication-Centric Debug

The behaviour of systems on chip (SOC) is complex because they contain multiple processors that interact through concurrent interconnects, such as networks on chip (NOC). Debugging such SOCs is hard. Based on a classification of debug scope and granularity, we propose that debugging should be communication-centric and based on transactions. Communication-centric debug focuses on the communication and the synchronisation between the IP blocks, which are implemented by the interconnect using transactions. We define and implement a modular debug architecture, based on NOC, monitors, and a dedicated high-speed event-distribution broadcast interconnect. The manufacturing-test scan chains and IEEE1149.1 test access ports (TAP) are re-used for configuration and debug data read-out. Our debug architecture requires only small changes to the functional architecture. The additional area cost is limited to the monitors and the event distribution interconnect, which are 4.5% of the NOC area, or less than 0.2% of the SOC area. The debug architecture runs at NOC functional speed and reacts very quickly to debug events to stop the SOC close in time to the condition that raised the event. The speed at which data is retrieved from the SOC after stopping using the TAP is 10 MHz. We prove our concepts and architecture with a gate-level implementation that includes the NOC, event distribution interconnect, and clock, reset, and TAP controllers. We include gate-level signal traces illustrating debug at message and transaction levels

[1]  Kees G. W. Goossens,et al.  An event-based monitoring service for networks on chip , 2005, TODE.

[2]  R. Leatherman,et al.  An embedding debugging architecture for SOCs , 2005, IEEE Potentials.

[3]  L. Benini,et al.  Xpipes: a network-on-chip architecture for gigascale systems-on-chip , 2004, IEEE Circuits and Systems Magazine.

[4]  Alain Greiner,et al.  A generic architecture for on-chip packet-switched interconnections , 2000, DATE '00.

[5]  Erik Jan Marinissen,et al.  Design and DfT of a High-Speed Area-Efficient Embedded Asynchronous FIFO , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

[6]  Bart Vermeulen,et al.  Silicon debug: scan chains alone are not enough , 1999, International Test Conference 1999. Proceedings (IEEE Cat. No.99CH37034).

[7]  Kees G. W. Goossens,et al.  Trade Offs in the Design of a Router with Both Guaranteed and Best-Effort Services for Networks on Chip , 2003, DATE.

[8]  Kees G. W. Goossens,et al.  Transaction Monitoring in Networks on Chip: The On-Chip Run-Time Perspective , 2006, 2006 International Symposium on Industrial Embedded Systems.

[9]  Charles E. McDowell,et al.  Debugging concurrent programs , 1989, ACM Comput. Surv..

[10]  Kees G. W. Goossens,et al.  Trade-offs in the Configuration of a Network on Chip for Multiple Use-Cases , 2007, First International Symposium on Networks-on-Chip (NOCS'07).

[11]  Klaus D. Maier On-chip debug support for embedded Systems-on-Chip , 2003, Proceedings of the 2003 International Symposium on Circuits and Systems, 2003. ISCAS '03..

[12]  Andreas Hoffmann,et al.  A generic tool-set for SoC multiprocessor debugging and synchronization , 2003, Proceedings IEEE International Conference on Application-Specific Systems, Architectures, and Processors. ASAP 2003.

[13]  Kees G. W. Goossens,et al.  A Monitoring-Aware Network-on-Chip Design Flow , 2006, DSD.

[14]  Kees G. W. Goossens,et al.  Undisrupted Quality-of-Service during Reconfiguration of Multiple Applications in Networks on Chip , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

[15]  Thomas J. LeBlanc,et al.  Debugging Parallel Programs with Instant Replay , 1987, IEEE Transactions on Computers.

[16]  Jens Volkert,et al.  Debugging of concurrent processes , 1995, Proceedings Euromicro Workshop on Parallel and Distributed Processing.

[17]  John L. Hennessy,et al.  Mtool: An Integrated System for Performance Debugging Shared Memory Multiprocessor Applications , 1993, IEEE Trans. Parallel Distributed Syst..

[18]  Bart Vermeulen,et al.  Silicon debug of a co-processor array for video applications , 2000, Proceedings IEEE International High-Level Design Validation and Test Workshop (Cat. No.PR00786).

[19]  Richard H. Carver,et al.  Replay and testing for concurrent programs , 1991, IEEE Software.

[20]  Kees G. W. Goossens,et al.  Networks on Chips for High-End Consumer-Electronics TV System Architectures , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[21]  B. Vermeulen,et al.  Core-based scan architecture for silicon debug , 2002, Proceedings. International Test Conference.

[22]  J.D. Day,et al.  The OSI reference model , 1983 .

[23]  Luca Benini,et al.  Networks on Chips : A New SoC Paradigm , 2022 .

[24]  Klaus D. McDonald-Maier,et al.  Debug support for complex systems on-chip: a review , 2006 .

[25]  Andrei Radulescu,et al.  Communication services for networks on chip , 2004 .

[26]  Ran Ginosar,et al.  QNoC: QoS architecture and design process for network on chip , 2004, J. Syst. Archit..

[27]  Axel Jantsch,et al.  Guaranteed bandwidth using looped containers in temporally disjoint networks within the nostrum network on chip , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[28]  Sandeep Kumar Goel,et al.  Hierarchical data invalidation analysis for scan-based debug on multiple-clock system chips , 2002, Proceedings. International Test Conference.

[29]  Wayne P. Burleson,et al.  Synchro-tokens: a deterministic GALS methodology for chip-level debug and test , 2005, IEEE Transactions on Computers.

[30]  Fabien Clermidy,et al.  An asynchronous NOC architecture providing low latency service and its multi-level design framework , 2005, 11th IEEE International Symposium on Asynchronous Circuits and Systems.

[31]  Timothy Mark Pinkston,et al.  On Message.Dependent Deadlocks in Multiprocessor/Multicomputer Systems , 2000, HiPC.

[32]  Jens Sparsø,et al.  The MANGO clockless network-on-chip: Concepts and implementation , 2006 .

[33]  Renu Raman,et al.  MicroSPARC: a case-study of scan based debug , 1994, Proceedings., International Test Conference.

[34]  Om Prakash Gangwal,et al.  An efficient on-chip NI offering guaranteed services, shared-memory abstraction, and flexible network configuration , 2005 .

[35]  Melvin A. Breuer,et al.  Digital systems testing and testable design , 1990 .

[36]  Axel Jantsch,et al.  Networks on chip , 2003 .

[37]  Kees Goossens,et al.  AEthereal network on chip: concepts, architectures, and implementations , 2005, IEEE Design & Test of Computers.