ArChiVED: Architectural checking via event digests for high performance validation

Simulation-based techniques play a key role in validating the functional correctness of microprocessor designs. A common approach for validating microprocessors (called instruction-by-instruction, or IBI checking) consists of running a RTL and an architectural simulation in lock-step, while comparing processor architectural state at each instruction retirement. This solution, however, cannot be deployed on long regression tests, because of the limited performance of RTL simulators. Acceleration platforms have the performance power to overcome this issue, but are not amenable to the deployment of an IBI checking methodology. Indeed, validation on these platforms requires logging activity on-platform and then checking it against a golden model off-platform. Unfortunately, an IBI checking approach following this paradigm entails a large slowdown for the acceleration platform, because of the sizable amount of data that must be transferred off-platform for comparison against the golden model. In this work we propose a sequence-by-sequence (SBS) checking approach that is efficient and practical for acceleration platforms. Our solution validates the test execution over sequences of instructions (instead of individual ones), thus greatly reducing the amount of data transferred for off-platform checking. We found that SBS checking delivers the same bug-detection accuracy as traditional IBI checking, while reducing the amount of traced data by more than 90%.

[1]  Somayeh Sardashti,et al.  The gem5 simulator , 2011, CARN.

[2]  Giuseppe Patanè,et al.  Parallel CRC Realization , 2003, IEEE Trans. Computers.

[3]  Albert Meixner,et al.  Error Detection Using Dynamic Dataflow Verification , 2007, 16th International Conference on Parallel Architecture and Compilation Techniques (PACT 2007).

[4]  M.M. Denneau The Yorktown Simulation Engine , 1982, 19th Design Automation Conference.

[5]  Young-Il Kim,et al.  Simulation acceleration of transaction-level models for SoC with RTL sub-blocks , 2005, Proceedings of the ASP-DAC 2005. Asia and South Pacific Design Automation Conference, 2005..

[6]  Ming Wang,et al.  Hardware emulation for functional verification of K5 , 1996, DAC '96.

[7]  Zeljko Zilic,et al.  Adding Debug Enhancements to Assertion Checkers for Hardware Emulation and Silicon Debug , 2006, 2006 International Conference on Computer Design.

[8]  Louise Trevillyan,et al.  EDA in IBM: past, present, and future , 2000, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[9]  Albert Meixner,et al.  Argus: Low-Cost, Comprehensive Error Detection in Simple Cores , 2007, 40th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 2007).

[10]  C. Kennedy,et al.  High-speed parallel CRC circuits , 2008, 2008 42nd Asilomar Conference on Signals, Systems and Computers.

[11]  Anant Agarwal,et al.  Logic emulation with virtual wires , 1997, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[12]  Shabtay Matalon,et al.  Building Transaction-Based Acceleration Regression Environment using Plan-Driven Verification Approach , 2007 .

[13]  Young-Il Kim,et al.  Communication-efficient hardware acceleration for fast functional simulation , 2004, Proceedings. 41st Design Automation Conference, 2004..

[14]  Avi Ziv,et al.  Checking architectural outputs instruction-by-instruction on acceleration platforms , 2012, DAC Design Automation Conference 2012.

[15]  John L. Henning SPEC CPU2006 benchmark descriptions , 2006, CARN.