The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.03 - March (2009 vol.58)
pp: 394-408
Feng Shi , Yale University, New Haven
Yiorgos Makris , Yale University, New Haven
ABSTRACT
A fast and accurate simulator with elaborate hazard detection capabilities is vital for asynchronous circuits, not only for the purpose of design validation through logic simulation, but even more importantly for the purpose of test validation through fault simulation. Towards this end, we developed SPIN-SIM, a logic and fault simulator built around Eichelberger’s classical hazard detection method, yet extended in various ways in order to overcome its limitations. More specifically, in order to improve simulation accuracy and hazard detection, SPIN-SIM i) employs a 13-valued algebra for which it adapts Eichelberger’s method, ii) maintains partial orders of causal signal transitions through relative time-stamps, and iii) unfolds time-frames judiciously to distinguish between hazards and actual transitions. Experimental results demonstrate that, at the cost of a negligible increase in computational time over Eichelberger’s method, if any at all, SPIN-SIM achieves significantly more accurate logic simulation and, by extension, drastically more efficient fault simulation. Furthermore, while the proposed method was developed and is presented for the class of Speed-Independent circuits, it is easily extendible to various other classes of asynchronous circuits.
INDEX TERMS
Test generation, Simulation, Testability, Hazard Identification, Asynchronous Circuits
CITATION
Feng Shi, Yiorgos Makris, "Enhancing Simulation Accuracy through Advanced Hazard Detection in Asynchronous Circuits", IEEE Transactions on Computers, vol.58, no. 3, pp. 394-408, March 2009, doi:10.1109/TC.2008.141
REFERENCES
[1] A.J. Martin, A. Lines, R. Manohar, M. Nystroem, P. Penzes, R. Southworth, and U. Cummings, “The Design of an Asynchronous MIPS R3000 Microprocessor,” Proc. 17th Conf. Advanced Research in VLSI (ARVLSI '97), pp. 164-181, 1997.
[2] S.B. Furber, D.A. Edwards, and J.D. Garside, “AMULET3: A 100MIPS Asynchronous Embedded Processor,” Proc. Int'l Conf. Computer Design (ICCD '00), pp. 329-334, 2000.
[3] A. Bink and R. York, “ARM996HS: The First Licensable, Clockless 32-Bit Processor Core,” IEEE Micro, vol. 27, no. 2, pp. 58-68, 2007.
[4] F. te Beest, A. Peeters, M. Verra, K. van Berkel, and H. Kerkhoff, “Automatic Scan Insertion and Test Generation for Asynchronous Circuits,” Proc. Int'l Test Conf. (ITC '02), pp. 804-813, 2002.
[5] F. te Beest and A. Peeters, “A Multiplexer Based Test Method for Self-Timed Circuits,” Proc. Int'l Symp. Asynchronous Circuits and Systems (ASYNC '05), pp. 166-175, 2005.
[6] M. Roncken, E. Aarts, and W. Verhaegh, “Optimal Scan for Pipelined Testing: An Asynchronous Foundation,” Proc. Int'l Test Conf. (ITC '96), pp. 215-224, 1996.
[7] S. Banerjee, S.T. Chakradhar, and R.K. Roy, “Synchronous Test Generation Model for Asynchronous Circuits,” Proc. Int'l Conf. VLSI Design (ICVD '96), pp. 178-185, 1996.
[8] M.A. Breuer, “The Effects of Races, Delays, and Delay Faults on Test Generation,” IEEE Trans. Computers, vol. 23, no. 10, pp.1078-1092, 1974.
[9] O. Roig, J. Cortadella, M.A. Peiia, and E. Pastor, “Automatic Generation of Synchronous Test Patterns for Asynchronous Circuits,” Proc. Design Automation Conf. (DAC '97), pp. 620-625, 1997.
[10] E.B. Eichelberger, “Hazard Detection in Combinational and Sequential Switching Circuits,” IBM J. Research and Development, vol. 9, no. 2, pp. 90-99, 1965.
[11] W.A. Clark, “Macromodular Computer Systems,” Proc. AFIPS Spring Joint Computer Conf., vol. 30, pp. 335-336, 1967.
[12] C.J. Myers and T. Meng, “Synthesis of Timed Asynchronous Circuits,” IEEE Trans. VLSI Systems, vol. 1, no. 2, pp. 106-119, June 1993.
[13] D. Muller and W. Bartky, A Theory of Asynchronous Circuits, Annals of Computing Laboratory of Harvard Univ., pp. 204-243, 1959.
[14] C.J. Myers, Asynchronous Circuit Design. John Wiley & Sons, 2001.
[15] S. Sur-Kolay, M. Roncken, K. Stevens, P.P. Chaudhuri, and R. Roy, “Fsimac: A Fault Simulator for Asynchronous Sequential Circuits,” Proc. Ninth Asian Test Symp. (ATS '00), pp. 114-119, 2000.
[16] S.H. Unger, Asynchronous Sequential Switching Circuits. Wiley-Interscience, 1969.
[17] J.P. Hayes, “Digital Simulation with Multiple Logic Values,” IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems, vol. 5, no. 2, pp. 274-283, Apr. 1986.
[18] T.J. Chakraborty, V.D. Agrawal, and M.L. Bushnell, “Delay Fault Models and Test Generation for Random Logic Sequential Circuits,” Proc. Design Automation Conf. (DAC '92), pp. 165-172, 1992.
[19] S. Chakraborty, D. Dill, and K. Yun, “Min-Max Timing Analysis and an Application to Asynchronous Circuits,” Proc. IEEE, vol. 87, no. 2, pp. 332-346, 1999.
[20] D.S. Kung, “Hazard-Non-Increasing Gate-Level Optimization Algorithms,” Proc. Int'l Conf. Computer-Aided Design (ICCAD '92), pp. 631-634, 1992.
[21] J. Brzozowski and Z. Esik, “Hazard Algebras,” Formal Methods in System Design, vol. 23, no. 3, pp. 223-256, 2004.
[22] J.E. Chen, C.L. Lee, and W.J. Shen, “Single-Fault Fault-Collapsing Analysis in Sequential Logic Circuits,” IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems, vol. 10, no. 12, pp. 1559-1568, Dec. 1991.
[23] H.K. Lee and D.S. Ha, “Hope: An Efficient Parallel Fault Simulator for Synchronous Sequential Circuits,” IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems, vol. 15, no. 9, pp. 1048-1058, Sept. 1996.
[24] J. Cortadella, M. Kishinevsky, A. Kondratyev, L. Lavagno, and A. Yakovlev, “Petrify: A Tool for Manipulating Concurrent Specifications and Synthesis of Asynchronous Controllers,” IEICE Trans. Information and Systems, vol. E80-D, no. 3, pp.315-325, 1997.
[25] F. Shi and Y. Makris, “Fault Simulation and Random Test Generation for Speed-Independent Circuits,” Proc. Great Lakes Symp. VLSI (GLSVLSI '04), pp. 127-130, 2004.
[26] D.L. Dill, Trace Theory for Automatic Hierarchical Verification of Speed-Independent Circuits. MIT Press, 1989.
55 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool