ON-CHIP DEBUG ARCHITECTURES FOR IMPROVING OBSERVABILITY DURING POST-SILICON VALIDATION

Post-silicon validation has become an essential step in the design flow of system-onchip devices for the purpose of identifying and fixing design errors that have escaped pre-silicon verification. To address the limited observability of the circuits during post-silicon validation, embedded logic analysis techniques are employed in order to probe the internal circuit nodes at-speed and in real-time. In this dissertation, we propose novel on-chip debug architectures and the associated debug methods, which improve observability during at-speed post-silicon validation. First, we propose a novel embedded debug architecture that enables real-time lossless data compression in order to extend the observation window of a debug experiment. The proposed architecture is particularly suitable for in-field debugging on application boards that have sources of non-deterministic behavior, such as asynchronous interfaces. To quantify the performance gain from using lossless compression in embedded logic analysis, we present a new compression ratio metric that captures the trade-off between the area overhead and the increase in the observation window. Second, we propose a novel architecture based on lossy compression. This architecture enables a new debug method where the designer can iteratively zoom only in the intervals that contain erroneous samples. Thus, it is tailored for the identification of the hard-to-detect functional bugs that occur intermittently over a long execution time. When compared to increasing the size of the trace buffer, the proposed architecture has a small impact on silicon area, while significantly reducing the number of debug sessions. The new debug method is applicable to both automatic test equipment-based debugging, as well as in-field debugging on application boards, so long as the debug experiment can be reproduced synchronously.

[1]  Doug Josephson,et al.  The crazy mixed up world of silicon debug [IC validation] , 2004, Proceedings of the IEEE 2004 Custom Integrated Circuits Conference (IEEE Cat. No.04CH37571).

[2]  Zainalabedin Navabi Verilog Digital System Design , 1999 .

[3]  Don Douglas Josephson,et al.  Debug methodology for the McKinley processor , 2001, Proceedings International Test Conference 2001 (Cat. No.01CH37260).

[4]  Sridhar Narayanan,et al.  Testability, debuggability, and manufacturability features of the UltraSPARC-I microprocessor , 1995, Proceedings of 1995 IEEE International Test Conference (ITC).

[5]  Steven J. E. Wilton,et al.  Post-silicon debug using programmable logic cores , 2005, Proceedings. 2005 IEEE International Conference on Field-Programmable Technology, 2005..

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

[7]  Zeljko Zilic,et al.  Debug enhancements in assertion-checker generation , 2007, IET Comput. Digit. Tech..

[8]  Bart Vermeulen,et al.  Debug architecture for the En-II system chip , 2007, IET Comput. Digit. Tech..

[9]  Miron Abramovici,et al.  In-System Silicon Validation and Debug , 2008, IEEE Design & Test of Computers.

[10]  Kees G. W. Goossens,et al.  Communication-Centric SoC Debug Using Transactions , 2007, 12th IEEE European Test Symposium (ETS'07).

[11]  Subhasish Mitra,et al.  IFRA: Instruction Footprint Recording and Analysis for post-silicon bug localization in processors , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[12]  Harry D. Foster,et al.  Assertion-Based Design , 2010 .

[13]  B. Vermeulen,et al.  Data invalidation analysis for scan-based debug on multiple-clock system chips , 2002, Proceedings The Seventh IEEE European Test Workshop.

[14]  William K. Lam Hardware Design Verification: Simulation and Formal Method-Based Approaches (Prentice Hall Modern Semiconductor Design Series) , 2005 .

[15]  Kenneth M. Butler,et al.  Facilitating rapid first silicon debug , 2002, Proceedings. International Test Conference.

[16]  Zeljko Zilic,et al.  Assertion Checkers in Verification, Silicon Debug and In-Field Diagnosis , 2007, 8th International Symposium on Quality Electronic Design (ISQED'07).

[17]  Qiang Xu,et al.  A debug probe for concurrently debugging multiple embedded cores and inter-core transactions in NoC-based systems , 2008, 2008 Asia and South Pacific Design Automation Conference.

[18]  Terry A. Welch,et al.  A Technique for High-Performance Data Compression , 1984, Computer.

[19]  Birgit Wirtz,et al.  Reuse Methodology Manual For System On A Chip Designs , 2016 .

[20]  Henk Jan Bergveld,et al.  Test and debug features of the RTO7 chip , 2005, IEEE International Conference on Test, 2005..

[21]  Don Douglas Josephson The manic depression of microprocessor debug , 2002, Proceedings. International Test Conference.

[22]  Richard E. Anderson,et al.  IC failure analysis: techniques and tools for quality and reliability improvement , 1995 .

[23]  Simon L. Peyton Jones,et al.  Word - based dynamic algorithms for data compression , 1992 .

[24]  Giovanni De Micheli,et al.  Synthesis and Optimization of Digital Circuits , 1994 .

[25]  Harry Siebert,et al.  Debug support, calibration and emulation for multiple processor and powertrain control SoCs [automotive applications] , 2005, Design, Automation and Test in Europe.

[26]  Zeljko Zilic,et al.  Efficient Automata-Based Assertion-Checker Synthesis of SEREs for Hardware Emulation , 2007, 2007 Asia and South Pacific Design Automation Conference.

[27]  Xinli Gu,et al.  Re-using DFT logic for functional and silicon debugging test , 2002, Proceedings. International Test Conference.

[28]  Qiang Xu,et al.  In-band Cross-Trigger Event Transmission for Transaction-Based Debug , 2008, 2008 Design, Automation and Test in Europe.

[29]  Rodham E. Tulloss,et al.  The Test Access Port and Boundary Scan Architecture , 1990 .

[30]  Sandeep Kumar Goel,et al.  Automatic generation of breakpoint hardware for silicon debug , 2004, Proceedings. 41st Design Automation Conference, 2004..

[31]  Jhing-Fa Wang,et al.  Design and hardware architectures for dynamic Huffman coding , 1995 .

[32]  Donald E. Knuth,et al.  Dynamic Huffman Coding , 1985, J. Algorithms.

[33]  Nicola Nicolici,et al.  On using lossless compression of debug data in embedded logic analysis , 2007, 2007 IEEE International Test Conference.

[34]  Nur A. Touba,et al.  Expanding Trace Buffer Observation Window for In-System Silicon Debug through Selective Capture , 2008, 26th IEEE VLSI Test Symposium (vts 2008).

[35]  Thorsten Grotker,et al.  System Design with SystemC , 2002 .

[36]  Bart Vermeulen Functional Debug Techniques for Embedded Systems , 2008, IEEE Design & Test of Computers.

[37]  Zainalabedin Navabi,et al.  VHDL: Analysis and Modeling of Digital Systems , 1992 .

[38]  Stephan Merz,et al.  Model Checking , 2000 .

[39]  Trevor N. Mudge,et al.  Trace-driven memory simulation: a survey , 1997, CSUR.

[40]  Todd J. Foster,et al.  First Silicon Functional Validation and Debug of Multicore Microprocessors , 2007, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[41]  Nicola Nicolici,et al.  On Bypassing Blocking Bugs during Post-Silicon Validation , 2008, 2008 13th European Test Symposium.

[42]  Richard H. Livengood,et al.  Design for (physical) debug for silicon microsurgery and probing of flip-chip packaged integrated circuits , 1999, International Test Conference 1999. Proceedings (IEEE Cat. No.99CH37034).

[43]  Jorma Rissanen,et al.  Generalized Kraft Inequality and Arithmetic Coding , 1976, IBM J. Res. Dev..

[44]  Robert E. Tarjan,et al.  A Locally Adaptive Data , 1986 .

[45]  José Luis Núñez,et al.  Gbit/s lossless data compression hardware , 2003, IEEE Trans. Very Large Scale Integr. Syst..

[46]  Donal Heffernan,et al.  Emerging on-ship debugging techniques for real-time embedded systems , 2000 .

[47]  Mario Paniccia,et al.  Novel optical probing technique for flip chip packaged microprocessors , 1998, Proceedings International Test Conference 1998 (IEEE Cat. No.98CH36270).

[48]  Bart Vermeulen,et al.  Test and debug strategy of the PNX8525 Nexperia/sup TM/ digital video platform system chip , 2001, Proceedings International Test Conference 2001 (Cat. No.01CH37260).

[49]  Sabih H. Gerez,et al.  Algorithms for VLSI design automation , 1998 .

[50]  Josep Torrellas,et al.  Phoenix: Detecting and Recovering from Permanent Processor Design Bugs with Programmable Hardware , 2006, 2006 39th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'06).

[51]  Andrew R. Pleszkun Techniques for compressing program address traces , 1994, Proceedings of MICRO-27. The 27th Annual IEEE/ACM International Symposium on Microarchitecture.

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

[53]  Jos van Beers,et al.  Test features of a core-based co-processor array for video applications , 1999, International Test Conference 1999. Proceedings (IEEE Cat. No.99CH37034).

[54]  H. Wunderlich,et al.  Bit-flipping BIST , 1996, ICCAD 1996.

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

[56]  Mack W. Riley,et al.  Debug of the CELL Processor: Moving the Lab into Silicon , 2006, 2006 IEEE International Test Conference.

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

[58]  Ing-Jer Huang,et al.  A Hardware Approach to Real-Time Program Trace Compression for Embedded Processors , 2007, IEEE Transactions on Circuits and Systems I: Regular Papers.

[59]  Nicola Nicolici,et al.  Automated Trace Signals Identification and State Restoration for Improving Observability in Post-Silicon Validation , 2008, 2008 Design, Automation and Test in Europe.

[60]  Himanshu Bhatnagar Advanced ASIC Chip Synthesis: Using Synopsys Design Compiler Physical Compiler and Prime Time , 2002 .

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

[62]  Dhiraj K. Pradhan,et al.  A novel pattern generator for near-perfect fault-coverage , 1995, Proceedings 13th IEEE VLSI Test Symposium.

[63]  S. Borkar,et al.  An 80-Tile Sub-100-W TeraFLOPS Processor in 65-nm CMOS , 2008, IEEE Journal of Solid-State Circuits.

[64]  Qiang Xu,et al.  A Multi-Core Debug Platform for NoC-Based Systems , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

[65]  Klaus D. McDonald-Maier,et al.  Debug support strategy for systems-on-chips with multiple processor cores , 2006, IEEE Transactions on Computers.

[66]  Abraham Lempel,et al.  Compression of individual sequences via variable-rate coding , 1978, IEEE Trans. Inf. Theory.

[67]  Nicola Nicolici,et al.  Distributed Embedded Logic Analysis for Post-Silicon Validation of SOCs , 2008, 2008 IEEE International Test Conference.

[68]  Gundolf Kiefer,et al.  Deterministic BIST with multiple scan chains , 1998, Proceedings International Test Conference 1998 (IEEE Cat. No.98CH36270).

[69]  J. Soden,et al.  IC failure analysis: techniques and tools for quality reliability improvement , 1993, Proc. IEEE.

[70]  Zeljko Zilic,et al.  Efficient Automata-Based Assertion-Checker Synthesis of PSL Properties , 2006, 2006 IEEE International High Level Design Validation and Test Workshop.

[71]  K. Pagiamtzis,et al.  Content-addressable memory (CAM) circuits and architectures: a tutorial and survey , 2006, IEEE Journal of Solid-State Circuits.

[72]  Stuart Sutherland,et al.  Systemverilog for Design: A Guide to Using Systemverilog for Hardware Design and Modeling , 2006 .

[73]  Mark R. Greenstreet,et al.  Formal verification in hardware design: a survey , 1999, TODE.

[74]  Peter Dahlgren,et al.  Latch divergency in microprocessor failure analysis , 2003, International Test Conference, 2003. Proceedings. ITC 2003..

[75]  Abraham Lempel,et al.  A universal algorithm for sequential data compression , 1977, IEEE Trans. Inf. Theory.

[76]  Kees Goossens,et al.  Debugging Distributed-Shared-Memory Communication at Multiple Granularities in Networks on Chip , 2008 .

[77]  Nur A. Touba,et al.  Altering a pseudo-random bit sequence for scan-based BIST , 1996, Proceedings International Test Conference 1996. Test and Design Validity.

[78]  Nur A. Touba,et al.  A rapid and scalable diagnosis scheme for BIST environments with a large number of scan chains , 2000, Proceedings 18th IEEE VLSI Test Symposium.

[79]  Jacob A. Abraham,et al.  Delay fault testing and silicon debug using scan chains , 2004, Proceedings. Ninth IEEE European Test Symposium, 2004. ETS 2004..

[80]  Keith Baker,et al.  Shmoo plotting: the black art of IC testing , 1996, Proceedings International Test Conference 1996. Test and Design Validity.

[81]  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).

[82]  Kees G. W. Goossens,et al.  Transaction-Based Communication-Centric Debug , 2007, First International Symposium on Networks-on-Chip (NOCS'07).

[83]  Nicola Nicolici,et al.  Low Cost Debug Architecture using Lossy Compression for Silicon Debug , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

[84]  Y. Nishi,et al.  Handbook of Semiconductor Manufacturing Technology , 2007 .

[85]  Gundolf Kiefer,et al.  Application of deterministic logic BIST on industrial circuits , 2000, Proceedings International Test Conference 2000 (IEEE Cat. No.00CH37159).

[86]  Hans Jürgen Mattausch,et al.  CAM-based VLSI architecture for Huffman coding with real-time optimization of the code word table [image coding example] , 2005, 2005 IEEE International Symposium on Circuits and Systems.

[87]  Gérard Memmi,et al.  A reconfigurable design-for-debug infrastructure for SoCs , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[88]  B.J. Falkowski Equivalence checking for digital circuits , 2004, IEEE Potentials.

[89]  Jose L Nunez-Yanez,et al.  Gigabyte per second streaming lossless data compression hardware based on a configurable variable-geometry CAM dictionary , 2006 .

[90]  Josep Torrellas,et al.  CADRE: Cycle-Accurate Deterministic Replay for Hardware Debugging , 2006, International Conference on Dependable Systems and Networks (DSN'06).

[91]  Scot Hacker,et al.  MP3: The Definitive Guide , 2000 .

[92]  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.

[93]  Ismet Bayraktaroglu,et al.  Microprocessor silicon debug based on failure propagation tracing , 2005, IEEE International Conference on Test, 2005..

[94]  Zeljko Zilic,et al.  Incorporating efficient assertion checkers into hardware emulation , 2005, 2005 International Conference on Computer Design.

[95]  David P. Vallett IC Failure Analysis: The Importance of Test and Diagnostics , 1997, IEEE Des. Test Comput..

[96]  B. Vermeulen,et al.  Silicon debug: avoid needles respins , 2004, IEEE/CPMT/SEMI 29th International Electronics Manufacturing Technology Symposium (IEEE Cat. No.04CH37585).

[97]  Young-Jun Kwon,et al.  FakeFault: a silicon debug software tool for microprocessor embedded memory arrays , 1998, Proceedings International Test Conference 1998 (IEEE Cat. No.98CH36270).

[98]  Gene Eu Jan,et al.  A Lossless Data Compression and Decompression Algorithm and Its Hardware Architecture , 2006, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[99]  Wu-Tung Cheng,et al.  Using embedded infrastructure IP for SOC post-silicon verification , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[100]  Romain Desplats,et al.  Fault localization using time resolved photon emission and stil waveforms , 2003, International Test Conference, 2003. Proceedings. ITC 2003..

[101]  Yu-Chin Hsu,et al.  Visibility enhancement for silicon debug , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[102]  David A. Huffman,et al.  A method for the construction of minimum-redundancy codes , 1952, Proceedings of the IRE.

[103]  Sandeep Kumar Goel,et al.  Design for debug: catching design errors in digital chips , 2002, IEEE Design & Test of Computers.

[104]  Dawit Belete,et al.  Silicon symptoms to solutions: applying design for debug techniques , 2002, Proceedings. International Test Conference.