Related Work

Part of the Embedded Systems book series (EMSY)


In this chapter we look at work that relates to the CSAR debug approach and its infrastructure. We discuss related work to increase the internal observability of a silicon SOC implementation in Sect. 9.1, and related work to increase a debug engineer’s control over the execution of a silicon SOC implementation in Sect. 9.2. We give an overview of related debug standardization in Sect. 9.3. In Sect. 9.4, we describe related debug tools for implementing DfD support in an SOC implementation, for accessing an SOC in its debug environment using a standardized API, and for using the on-chip debug support to facilitate the subsequent debugging of a silicon SOC implementation by a debug engineer. We furthermore present an overview of debug algorithms in literature in Sect. 9.5.


  1. 1.
    Yael Abarbanel, Ilan Beer, Leonid Glushovsky, Sharon Keidar, and Yaron Wolfsthal. Focs: Automatic generation of simulation checkers from formal specifications. In Proc. International Conference on Computer Aided Verification, pages 538–542, London, UK, 2000. Springer-Verlag.Google Scholar
  2. 2.
    Miron Abramovici, Paul Bradley, Kumar Dwarakanath, Peter Levin, Gerard Memmi, and Dave Miller. A reconfigurable design-for-debug infrastructure for SoCs. In Proc. Design Automation Conference, pages 7–12, New York, NY, USA, 2006. Association for Computing Machinery, Inc.Google Scholar
  3. 3.
    D.A. Abramson and R. Sosic. Relative Debugging Using Multiple Program Versions. In Proc. International Symposium on Languages for Intensional Programming, 1995.Google Scholar
  4. 4.
    Allinea Softeware Inc. Allinea DDT 4.1: High-impact debugging from novice to master, 2013.Google Scholar
  5. 5.
    Altera Corporation. Quartus II Handbook Version 13.0 - Design Debugging Using the SignalTap II Logic Analyzer, 2013.Google Scholar
  6. 6.
    Ehab Anis and Nicola Nicolici. On Using Lossless Compression of Debug Data in Embedded Logic Analysis. In Proc. IEEE International Test Conference, 2007.Google Scholar
  7. 7.
    ARM Limited. ARM920T (Rev1) Technical Reference Manual, 2001.Google Scholar
  8. 8.
    ARM Limited. ARM RealView ESL API v2.0 Developer’s Guide, 2007.Google Scholar
  9. 9.
    ARM Limited. CoreSight SoC Technical Reference Manual Revision r2p0, 2012.Google Scholar
  10. 10.
    Arnaldo Azevedo, Bart Vermeulen, and Kees Goossens. Architecture and design flow for a debug event distribution interconnect. In Proc. International Conference on Computer Design, pages 439–444, 2012.Google Scholar
  11. 11.
    K. Basu and P. Mishra. Efficient trace data compression using statistically selected dictionary. In Proc. IEEE VLSI Test Symposium, 2011.Google Scholar
  12. 12.
    Kanad Basu and Prabhat Mishra. RATS: Restoration-aware trace signal selection for post-silicon validation. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 2012.Google Scholar
  13. 13.
    C. Beddoe-Stephens. Semiconductor wafer probing. Test and Measurement World Magazine, pages 33–35, November 1982.Google Scholar
  14. 14.
    Michael Bedy, Steve Carr, Xianlong Huang, and Ching-Kuang Shene. A visualization system for multithreaded programming. In Proc. SIGCSE Technical Symposium on Computer Science Education, pages 1–5, 2000.Google Scholar
  15. 15.
    Gérard Berry. Scade: Synchronous design and validation of embedded control software. In S. Ramesh and Prahladavaradan Sampath, editors, Next Generation Design and Verification Methodologies for Distributed Embedded Control Systems, pages 19–33. Springer Netherlands, 2007.Google Scholar
  16. 16.
    Gerard Berry. Synchronous design and verification of critical embedded systems using SCADE and esterel. Lecture Notes in Computer Science, 2008.Google Scholar
  17. 17.
    Marc Boule and Zeljko Zilic. Generating Hardware Assertion Checkers For Hardware Verification, Emulation, Post-Fabrication Debugging and On-Line Monitoring. Springer-Verlag, 2008.Google Scholar
  18. 18.
    R.H. Carver and K.-C. Tai. Replay and testing for concurrent programs. IEEE Software, 8(2):66–74, March 1991.CrossRefGoogle Scholar
  19. 19.
    Cell Broadband Engine Debugging for Unknown Events. IEEE Design and Test of Computers, 24(5):486–493.Google Scholar
  20. 20.
    K. Mani Chandy and Leslie Lamport. Distributed snapshots: determining global states of distributed systems. ACM Transactions on Computer Systems, 3(1):63–75, 1985.Google Scholar
  21. 21.
    Debapriya Chatterjee, Calvin McCarter, and Valeria Bertacco. Simulation-based signal selection for state restoration in silicon debug. In Proc. International Conference on Computer-Aided Design, 2011.Google Scholar
  22. 22.
    C\ualin Ciordaş. Monitoring-Aware Network-on-Chip Design. PhD thesis, Eindhoven University of Technology, 2008.Google Scholar
  23. 23.
    C\ualin Ciordaş, Andreas Hansson, Kees Goossens, and Twan Basten. A Monitoring-aware Network-On-Chip Design Flow. Journal of Systems Architecture, 54(3-4):397–410, March 2008.CrossRefGoogle Scholar
  24. 24.
    Peter Dahlgren, Paul Dickinson, and Ishwar Parulkar. Latch Divergency In Microprocessor Failure Analysis. In Proc. IEEE International Test Conference, pages 755–763, 2003.Google Scholar
  25. 25.
    Ehab Anis Daoud and Nicola Nicolici. Real-time lossless compression for silicon debug. Transactions on Computer-Aided Design of Integrated Circuits and Systems, 28(9):1387–1400, 2009.CrossRefGoogle Scholar
  26. 26.
    Andrew DeOrio, Daya Khudia, and Valeria Bertacco. Post-silicon bug diagnosis with inconsistent executions. In Proc. International Conference on Computer-Aided Design, 2011.Google Scholar
  27. 27.
    Andrew DeOrio, Jialin Li, and Valeria Bertacco. Bridging pre- and post-silicon debugging with BiPeD. In Proc. International Conference on Computer-Aided Design, 2012.Google Scholar
  28. 28.
    Travis M Eiles, GL Woods, and V Rao. Optical probing of vlsi ic’s from the silicon backside. In Proc. International Symposium for Testing and Failure Analysis, pages 27–33, 1999.Google Scholar
  29. 29.
    Leandro Fiorin, Gianluca Palermo, and Cristina Silvano. Mpsocs run-time monitoring through networks-on-chip. In Proc. Design, Automation, and Test in Europe conference, pages 558–561, 2009.Google Scholar
  30. 30.
    Robert L. Franch, Phillip Restle, James K. Norman, William V. Huott, Joshua Friedrich, R. Dixon, Steve Weitzel, K. van Goor, and G. Salem. On-chip timing uncertainty measurements on ibm microprocessors. In Proc. IEEE International Test Conference, 2007.Google Scholar
  31. 31.
    Bill Gatliff. Embedding with GNU: The gdb Remote Serial Protocol. Embedded Systems Programming, pages 108–113, 1999.Google Scholar
  32. 32.
    Holger Giese and Stefan Henkler. Architecture-Driven Platform Independent Deterministic Replay for Distributed Hard Real-Time Systems. In Proc. ISSTA Workshop on the Role Of Software Architecture for Testing and Analysis, pages 28–39, 2006.Google Scholar
  33. 33.
    Aaron J. Goldberg and John L. Hennessy. Mtool: An integrated system for performance debugging shared memory multiprocessor applications. IEEE Transactions on Parallel and Distributed Systems, 4(1):28–40, January 1993.Google Scholar
  34. 34.
    Kees Goossens, Om Prakash Gangwal, Jens Röver, and A. P. Niranjan. Interconnect and Memory Organization in SOCs for Advanced Set-Top Boxes and TV—Evolution, Analysis, and Trends. In Jari Nurmi, Hannu Tenhunen, Jouni Isoaho, and Axel Jantsch, editors, Interconnect-Centric Design for Advanced SoC and NoC, chapter 15, pages 399–423. Kluwer Academic Publishers, 2004.Google Scholar
  35. 35.
    Siegfried Grabner, Dieter Kranzmüller, and Jens Volkert. Debugging of concurrent processes. In Proc. International Parallel and Distributed Processing Symposium, pages 547–554, January 1995.Google Scholar
  36. 36.
    Hong Hao and Rick Avra. Structured Design-for-Debug - The SuperSPARC™ II Methodology and Implementation. In Proc. IEEE International Test Conference, pages 175–183, Washington, DC, USA, 1995. IEEE Computer Society Press.Google Scholar
  37. 37.
    Timothy L. Harris. Dependable software needs pervasive debugging. In Proc. Workshop on ACM Special Interest Group on Operating Systems, pages 38–43, New York, NY, USA, 2002. Association for Computing Machinery, Inc.Google Scholar
  38. 38.
    C.F. Hawkins, J.M. Soden, E.I. Cole Jr., and E.S. Snyder. The Use of Light Emission in Failure Analysis of CMOS ICs. In Proc. International Symposium for Testing and Failure Analysis, 1990.Google Scholar
  39. 39.
    Matthew W. Heath, Wayne P. Burleson, and Ian G. Harris. Synchro-tokens: A deterministic GALS methodology for chip-level debug and test. IEEE Transactions on Computers, 54(12):1532–1546, December 2005.Google Scholar
  40. 40.
    H. K. Heinrich, N. Pakdaman, D. Kent, and L. Cropp. Backside optical detection of internal gate delays in flip-chip mounted silicon vlsi circuits. In Proc. Lasers and Electro-Optics Society Annual Meeting, pages 559–560, 1990.Google Scholar
  41. 41.
    Kalon Holdbrook, Sunil Joshi, Samir Mitra, Joe Petolino, Renu Raman, and Michelle Wong. microSPARC: A Case Study of Scan-Based Debug. In Proc. IEEE International Test Conference, pages 70–75, Washington, DC, USA, 1994. IEEE Computer Society Press.Google Scholar
  42. 42.
    A.B.T. Hopkins and K.D. McDonald-Maier. Debug support for complex systems on-chip: A review. IEE Proceedings Computers and Digital Techniques, 153(4):197–207, July 2006.Google Scholar
  43. 43.
    Yu-Chin Hsu, Furshing Tsai, Wells Jong, and Ying-Tsai Chang. Visibility enhancement for silicon debug. In Proc. Design Automation Conference, 2006.Google Scholar
  44. 44.
    William Huott, Moyra McManus, Daniel Knebel, Steven Steen, Dennis Manzer, Pia Sanda, Steven Wilson, Yuen Chan, Antonio Pelella, and Stanislav Polonsky. The Attack of the "Holey Shmoos": A Case Study of Advanced DFD and Picosecond Imaging Circuit Analysis (PICA). In Proc. IEEE International Test Conference, page 883, Washington, DC, USA, 1999. IEEE Computer Society Press.Google Scholar
  45. 45.
    IEEE. IEEE Standard for Embedded Core Test - IEEE Std 1500-2005. IEEE Press, 2005.Google Scholar
  46. 46.
    IEEE. IEEE Standard for Reduced- Pin and Enhanced-Functionality Test Access Port and Boundary-Scan Architecture-IEEE Std 1149.7-2009. IEEE Press, 2010.Google Scholar
  47. 47.
    IEEE. IEEE Draft Standard for Access and Control of Instrumentation Embedded within a Semiconductor Device-IEEE P1687, 2013.Google Scholar
  48. 48.
    IEEE. IEEE Standard Test Access Port and Boundary-Scan Architecture-IEEE Std 1149.1-2001. IEEE Press, 2013.Google Scholar
  49. 49.
    IEEE. IEEE P1149.10 - High Speed Test Access Port and On-Chip Distribution Architecture Working Group, 2014.Google Scholar
  50. 50.
    IEEE-ISTO. IEEE-ISTO 5001-2012 - The Nexus 5001 Forum Standard for a Global Embedded Processor Debug Interface.Google Scholar
  51. 51.
    IPextreme. Multicore debug and performance optimization IP for complex SoCs, 2008.Google Scholar
  52. 52.
    Don Douglas Josephson, Steve Poehhnan, and Vincent Govan. Debug methodology for the McKinley processor. In Proc. IEEE International Test Conference, pages 451–460, Washington, DC, USA, 2001. IEEE Computer Society Press.Google Scholar
  53. 53.
    Mohammad Reza Kakoee, M.H, Saeed Safari, and Zainalabedin Navabi. On-chip verification of nocs using assertion processors. Proc. Euromicro Symposium on Digital System Design, pages 535–538, 2007.Google Scholar
  54. 54.
    H.F. Ko and N. Nicolici. Algorithms for state restoration and trace-signal selection for data acquisition in silicon debug. IEEE Transaction on Computer-Aided Design of Integrated Circuits and Systems, 2009.Google Scholar
  55. 55.
    H.F. Ko and N. Nicolici. Automated trace signals selection using the RTL descriptions. In Proc. IEEE International Test Conference, 2011.Google Scholar
  56. 56.
    Wido Kruijtzer, Pieter van der Wolf, Erwin de Kock, Jan Stuyt, Wolfgang Ecker, Albrecht Mayer, Serge Hustin, Christophe Amerijckx, Serge de Paoli, and Emmanuel Vaumorin. Industrial ip integration flows based on ip-xact standards. In Proc. Design, Automation, and Test in Europe conference, 2008.Google Scholar
  57. 57.
    A.D. Kshemkalyani and M. Singhal. Distributed Computing: Principles, Algorithms, and Systems. Distributed Computing: Principles, Algorithms, and Systems. Cambridge University Press, 2008.Google Scholar
  58. 58.
    Lauterbach GmbH. Lauterbach APIs.Google Scholar
  59. 59.
    Rick Leatherman and Neal Stollon. An Embedded Debugging Architecture for SoCs. IEEE Potentials, 24(1):12–16, February 2005.Google Scholar
  60. 60.
    T. J. LeBlanc and J. M. Mellor-Crummey. Debugging Parallel Programs with Instant Replay. IEEE Transactions on Computers, 36(4):471–482, 1987.CrossRefGoogle Scholar
  61. 61.
    M. Levittt, S. Nori, S. Narayanan, GP Grewal, L. Youngs, A. Jones, G. Billus, and S. Paramanandam., debuggability, and manufacturability of the ultrasparc-i microprocessor. In Proc. IEEE International Test Conference, 1995.Google Scholar
  62. 62.
    X. Lui and Q. Xu. Trace signal selection for visibility enhancement in post-silicon validation. In Proc. Design, Automation, and Test in Europe conference, 2009.Google Scholar
  63. 63.
    Albrecht Mayer. A seamless tool access architecture from esl to end product. In Inf. Proc. System, Software, SoC and Silicon Debug Conference, 2009.Google Scholar
  64. 64.
    Albrecht Mayer, Harry Siebert, and Klaus D. McDonald-Maier. Boosting Debugging Support for Complex Systems on Chip. Computer, 40(4):76–81, 2007.CrossRefGoogle Scholar
  65. 65.
    Charles E. McDowell and David P. Helmbold. Debugging concurrent programs. ACM Computing Surveys, 21(4):593–622, 1989.CrossRefGoogle Scholar
  66. 66.
    B.P. Miller and J.-D. Choi. Breakpoints and halting in distributed programs. In Proc. International Conference on Distributed Computing Systems, pages 316–323, June 1988.Google Scholar
  67. 67.
    MIPI Alliance Debug Working Group.Google Scholar
  68. 68.
    MIPS Technologies, EJTAG Specification, Document Number: MD00047, Revision 02.53, 1 2001.
  69. 69.
    Ghassan Misherghi and Zhendong Su. Hdd: hierarchical delta debugging. In Proc. International Conference on Software Engineering, 2006.Google Scholar
  70. 70.
    \refauJosé Augusto Miranda Nacif, \refauFlávio Miana de Paula, Harry Foster, Claudionor José Nunes Coelho, Jr, and Antônio Otávio Fernandes. The chip is ready. am i done? on-chip verification using assertion processors. In Proc. IFIP International Conference on Very Large Scale Integration, 2003.Google Scholar
  71. 71.
    Satish Narayanasamy, Gilles Pokam, and Brad Calder. Bugnet: Recording application-level execution for deterministic replay debugging. IEEE Micro, 26(1):100–109, 2006.Google Scholar
  72. 72.
    N. Nataraj, T. Lundquist, and Ketan Shah. Fault localization using time resolved photon emission and stil waveforms. In Proc. IEEE International Test Conference, volume 1, pages 254–263, September 2003.Google Scholar
  73. 73.
    NVIDIA Corporation. NVIDIA Parallel Nsight - Power of GPU Computing Simplicity of Visual Studio, 2011.Google Scholar
  74. 74.
    Roman Obermaisser, Christian El Salloum, Bernhard Huber, and Hermann Kopetz. The time-triggered system-on-a-chip architecture. In Proc. IEEE International Symposium on Industrial Electronics, pages 1941–1947. IEEE, 2008.Google Scholar
  75. 75.
    OCP International Partnership - Debug Working Group.Google Scholar
  76. 76.
    M. Paniccia, T. Eiles, V. R. M. Rao, and Wai Mun Yee. Novel optical probing technique for flip chip packaged microprocessors. In Proc. IEEE International Test Conference, pages 740–747, Washington, DC, USA, October 1998.Google Scholar
  77. 77.
    Sung-Boem Park, Ted Hong, and Subhasish Mitra. Post-silicon bug localization in processors using instruction footprint recording and analysis. IEEE Transaction on Computer-Aided Design of Integrated Circuits and Systems, 2009.Google Scholar
  78. 78.
    Sung-Boem Park, Anne Bracy, Hong Wang, and Subhasish Mitra. BLoG: post-silicon bug localization in processors using bug localization graphs. In Proc. Design Automation Conference, pages 368–373, New York, NY, USA, 2010. ACM.Google Scholar
  79. 79.
    M. Pellauer, M. Lis, D. Baltus, and R. Nikhil. Synthesis of synchronous assertions with guarded atomic actions. In Proc. International conference on Formal Methods and Models for Co-Design, 11–14 July 2005.Google Scholar
  80. 80.
    Rex Petersen, Pankaj Pant, Pablo Lopez, Aaron Barton, Jim Ignowski, and Doug Josephson. Voltage transient detection and induction for debug and test. In Proc. IEEE International Test Conference, 2009.Google Scholar
  81. 81.
    V. Petrescu, M. Pelgrom, H. Veendrick, P. Pavithran, and J. Wieling. A Signal Integrity Self Test (SIST) concept for the debug of nanometer CMOS ICs. In Proc. International Solid State Circuits Conference, pages 544–545, San Francisco, CA, USA, January 2006.Google Scholar
  82. 82.
    Rogue Wave Software, Inc. TotalView Debugger, 2013.Google Scholar
  83. 83.
    Michiel Ronsse and Koen De Bosschere. RecPlay: a fully integrated practical record/replay system. ACM Transactions on Computer Systems, 17(2):133–152, 1999.CrossRefGoogle Scholar
  84. 84.
    Smruti R. Sarangi, Brian Greskamp, and Josep Torrellas. CADRE: Cycle-Accurate Deterministic Replay for Hardware Debugging. In Proc. International Conference on Dependable Systems and Networks, pages 301–312, Washington, DC, USA, 2006. IEEE Computer Society Press.Google Scholar
  85. 85.
    Geert Seuren and Tom Waayers. Extending the digital core-based test methodology to support mixed-signal. In Proc. IEEE International Test Conference, pages 281–289. IEEE, 2004.Google Scholar
  86. 86.
    F.C. Sica, Jr. Coelho, C.N., J.A.M. Nacif, H. Foster, and A.O. Fernandes. Exception handling in microprocessors using assertion libraries. In Proc. Symposium Integrated Circuits and Systems Design, 7–11 Sept. 2004.Google Scholar
  87. 87.
    N. Stollon. On-Chip Instrumentation: Design and Debug for Systems on Chip. Springer-Verlag, 2010.Google Scholar
  88. 88.
    Synopsys, Inc. Identify - Simulator-like Visibility into Hardware Debug, 2011.Google Scholar
  89. 89.
    Synopsys, Inc. Verdi 3 - Automated Debug System, 2012.Google Scholar
  90. 90.
    B. Tabbara and K. Hashmi. Transaction-Level Modelling and Debug of SoCs. In Proc. IP SOC Conference, 2004.Google Scholar
  91. 91.
    Shan Tang and Qiang Xu. In-band cross-trigger event transmission for transaction-based debug. In Proc. Design, Automation, and Test in Europe conference, pages 414–419, New York, NY, USA, 2008. ACM.Google Scholar
  92. 92.
    Temento Systems. DiaLite Platform, 2007.Google Scholar
  93. 93.
    Bart Vermeulen and Sjaak Bakker. Debug architecture for the En-II system chip. IET Computers & Digital Techniques, 1(6):678–684, 11 2007.Google Scholar
  94. 94.
    Bart Vermeulen and Kees Goossens. Debugging Multi-Core Systems on Chip. In George Kornaros, editor, Multi-Core Embedded Systems, chapter 5, pages 153–198. CRC Press/Taylor & Francis Group, 2010.Google Scholar
  95. 95.
    Bart Vermeulen and Kees Goossens. Obtaining consistent global state dumps to interactively debug systems on chip with multiple clocks. In Proc. High-Level Design Validation and Test Workshop, 6 2010.Google Scholar
  96. 96.
    Bart Vermeulen and Hervé Vincent. DfD-Assisted System Test Analysis for Manufacturing Test Program Improvements. In Informal Proc. IEEE Workshop on Silicon Debug and Diagnosis, Ajaccio, Corsica, France, 5 200–4.Google Scholar
  97. 97.
    B. Vermeulen, S. Oostdijk, and F. Bouwman. Test and debug strategy of the pnx8525 nexperia™ digital video platform system chip. In Proc. IEEE International Test Conference, pages 121–130, 2001.Google Scholar
  98. 98.
    Andreas Wieferink, Tim Kogel, Rainer Leupers, Heinrich Eyr, Achim Nohl, and Andreas Hoffmann. A generic tool-set for SoC multiprocessor debugging and synchronization. In Proc. International Conference on Application-Specific Systems, Architectures, and Processors, pages 161–171, June 2003.Google Scholar
  99. 99.
    Xilinx, Inc. ChipScope Pro Software and Cores—User Guide, 2012.Google Scholar
  100. 100.
    Xilinx, Inc. LogiCORE IP ChipScope AXI Monitor (v3.03.a), 4 2012.Google Scholar
  101. 101.
    Joon-Sung Yang and N.A. Touba. Enhancing silicon debug via periodic monitoring. In Proc. International Symposium on Defect and Fault Tolerance of VLSI Systems, pages 125–133, October 2008.Google Scholar
  102. 102.
    Andreas Zeller. Why programs fail-a guide to systematic debugging. Elsevier, 2006.Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  1. 1.NXP SemiconductorsEindhovenThe Netherlands
  2. 2.Faculty of Electrical EngineeringEindhoven University of TechnologyEindhovenThe Netherlands

Personalised recommendations