Enhancing post-silicon processor debug with Incremental Cache state Dumping

During post-silicon validation/debug of processors, it is common to alternate between two phases: processor execution and state dump. The state dump, where the entire processor state is dumped off-chip to a logic analyzer for further processing, is a major bottleneck. We present a technique for improving debug efficiency by reducing the volume of cache data dumped off-chip, while still capturing the complete state. The reduction is achieved by introducing hardware mechanisms to transmit only the portion of the cache that was updated since the last dump. We propose two design alternatives based on whether or not the processor is permitted to continue execution during the dump: Blocking Incremental Cache Dumping (BICD) and Non-blocking Incremental Cache Dumping (NICD). We observe a 64% reduction in overall cache lines dumped and the dump time reduces to an average of 16.8% and 0.0002% for BICD and NICD respectively.

[1]  David A. Wood,et al.  Adaptive cache compression for high-performance processors , 2004, Proceedings. 31st Annual International Symposium on Computer Architecture, 2004..

[2]  Chun-Hung Lai,et al.  A trace-capable instruction cache for cost efficient real-time program trace compression in SoC , 2009, 2009 46th ACM/IEEE Design Automation Conference.

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

[4]  Todd M. Austin,et al.  The SimpleScalar tool set, version 2.0 , 1997, CARN.

[5]  Wayne H. Wolf,et al.  SAMC: a code compression algorithm for embedded processors , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[6]  Preeti Ranjan Panda,et al.  Cache aware compression for processor debug support , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

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

[8]  Bo Yao,et al.  CacheCompress: a novel approach for test data compression with cache for IP embedded cores , 2007, ICCAD 2007.

[9]  Qiang Xu,et al.  On signal tracing in post-silicon validation , 2010, 2010 15th Asia and South Pacific Design Automation Conference (ASP-DAC).

[10]  Ehab Anis Daoud,et al.  Real-Time Lossless Compression for Silicon Debug , 2009, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[11]  Lei Yang,et al.  CRAMES: compressed RAM for embedded systems , 2005, 2005 Third IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS'05).

[12]  Luca Benini,et al.  Hardware-assisted data compression for energy minimization in systems with embedded processors , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[13]  BurgerDoug,et al.  The SimpleScalar tool set, version 2.0 , 1997 .

[14]  Qiang Xu,et al.  Trace signal selection for visibility enhancement in post-silicon validation , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

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

[16]  Preeti Ranjan Panda,et al.  Compressing Cache State for Postsilicon Processor Debug , 2011, IEEE Transactions on Computers.

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

[18]  Preeti Ranjan Panda,et al.  Online cache state dumping for processor debug , 2009, 2009 46th ACM/IEEE Design Automation Conference.

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

[20]  Nur A. Touba,et al.  Compressing Functional Tests for Microprocessors , 2005, 14th Asian Test Symposium (ATS'05).

[21]  Josep Torrellas,et al.  ReVive: cost-effective architectural support for rollback recovery in shared-memory multiprocessors , 2002, ISCA.