High-level synthesis techniques for functional test pattern execution1

Functional debugging often dominates the time and cost of the ASIC system development, mainly due to the limited controllability and observability of the storage elements in designs, and therefore the intermediate variables in functional specifications. We propose a new divide-and-conquer approach for maximizing the simultaneous controllability of an arbitrary set of the user-selected variables in the design at the debugging time for facilitating the functional test pattern execution while minimizing the hardware overhead. The approach imposes minimal restriction on register sharing so that the synthesized designs will have the desired characteristic while minimizing the additional hardware overhead and minimizing the disruption of the optimization potential when scheduling, allocation and binding tasks in high-level synthesis are performed. The effectiveness of the proposed approach is demonstrated on a number of designs.

[1]  Pierre G. Paulin,et al.  Force-directed scheduling for the behavioral synthesis of ASICs , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[2]  G. Brown,et al.  Automatic test generation for functional verification of microprocessors , 1994, Proceedings of IEEE 3rd Asian Test Symposium (ATS).

[3]  Aharon Aharon,et al.  Test Program Generation for Functional Verification of PowePC Processors in IBM , 1995, 32nd Design Automation Conference.

[4]  Alice C. Parker,et al.  The high-level synthesis of digital systems , 1990, Proc. IEEE.

[5]  Randy H. Katz,et al.  Verifying a multiprocessor cache controller using random test generation , 1990, IEEE Design & Test of Computers.

[6]  A. W. M. van den Enden,et al.  Discrete Time Signal Processing , 1989 .

[7]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[8]  Takeshi Ogura,et al.  High-level design validation using algorithmic debugging , 1994, Proceedings of European Design and Test Conference EDAC-ETC-EUROASIC.

[9]  Stewart Lawson,et al.  Wave digital filters , 1990 .

[10]  A. Jefferson Offutt,et al.  Constraint-Based Automatic Test Data Generation , 1991, IEEE Trans. Software Eng..

[11]  E.A. Lee,et al.  Synchronous data flow , 1987, Proceedings of the IEEE.

[12]  Wolfgang Rosenstiel,et al.  Breakpoints and Breakpoint Detection in Source Level Emulation , 1996, TODE.

[13]  Ahmed Amine Jerraya,et al.  Automatic generation of interfaces for distributed C-VHDL cosimulation of embedded systems: an industrial experience , 1996, Proceedings Seventh IEEE International Workshop on Rapid System Prototyping. Shortening the Path from Specification to Prototype.

[14]  Christos A. Papachristou,et al.  Test synthesis in the behavioral domain , 1995, Proceedings of 1995 IEEE International Test Conference (ITC).

[15]  Miodrag Potkonjak,et al.  Design-for-debugging of application specific designs , 1995, ICCAD.

[16]  Daniel P. Siewiorek,et al.  Automated Synthesis of Data Paths in Digital Systems , 1986, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[17]  K. D. Jones,et al.  The automatic generation of functional test vectors for Rambus designs , 1996, DAC '96.

[18]  Miodrag Potkonjak,et al.  Fast prototyping of datapath-intensive architectures , 1991, IEEE Design & Test of Computers.

[19]  L. Stok Transfer free register allocation in cyclic data flow graphs , 1992, [1992] Proceedings The European Conference on Design Automation.

[20]  Ingo Könenkamp,et al.  A prototyping system for verification and evaluation in hardware-software cosynthesis , 1995, Proceedings Sixth IEEE International Workshop on Rapid System Prototyping. Shortening the Path from Specification to Prototype.

[21]  A.V. Oppenheim,et al.  Analysis of linear digital networks , 1975, Proceedings of the IEEE.

[22]  Wolfgang Rosenstiel,et al.  Debugging of behavioral VHDL specifications by source level emulation , 1995, Proceedings of EURO-DAC. European Design Automation Conference.

[23]  Wen-Jong Fang,et al.  A real-time RTL engineering-change method supporting on-line debugging for logic-emulation applications , 1997, DAC.

[24]  Carlos Urias Munoz,et al.  Automatic Generation of Random Self-Checking Test Cases , 1983, IBM Syst. J..

[25]  Daniel P. Siewiorek,et al.  Functional test generation for pipelined computer implementations , 1991, [1991] Digest of Papers. Fault-Tolerant Computing: The Twenty-First International Symposium.

[26]  A. Fettweis Wave digital filters: Theory and practice , 1986, Proceedings of the IEEE.

[27]  J.E. DeGroat,et al.  Experiences in testing and debugging the i960 MX VHDL model , 1994, Proceedings of VHDL International Users Forum.

[28]  Frank Vahid,et al.  System specification with the SpecCharts language , 1992, IEEE Design & Test of Computers.

[29]  Jen-Tien Yen,et al.  Multiprocessor design verification for the PowerPC 620 microprocessor , 1995, Proceedings of ICCD '95 International Conference on Computer Design. VLSI in Computers and Processors.

[30]  Fumio Arakawa,et al.  Design methodology for GMICRO/500 TRON microprocessor , 1993, Proceedings of 1993 IEEE International Conference on Computer Design ICCD'93.

[31]  Reinaldo A. Bergamaschi,et al.  Data-path synthesis using path analysis , 1991, 28th ACM/IEEE Design Automation Conference.

[32]  Yu-Chin Hsu,et al.  Data path allocation based on bipartite weighted matching , 1990, 27th ACM/IEEE Design Automation Conference.

[33]  Ehud Shapiro,et al.  Algorithmic Program Debugging , 1983 .

[34]  Elizabeth M. Rudnick,et al.  Enhancing high-level control-flow for improved testability , 1996, Proceedings of International Conference on Computer Aided Design.

[35]  Bogdan Korel,et al.  Dynamic method for software test data generation , 1992, Softw. Test. Verification Reliab..

[36]  Fadi J. Kurdahi,et al.  REAL: A Program for REgister ALlocation , 1987, 24th ACM/IEEE Design Automation Conference.

[37]  Taewhan Kim,et al.  Register allocation for data flow graphs with conditional branches and loops , 1993, Proceedings of EURO-DAC 93 and EURO-VHDL 93- European Design Automation Conference.

[38]  Kunle Olukotun,et al.  A software-hardware cosynthesis approach to digital system simulation , 1994, IEEE Micro.

[39]  Wen-Jong Fang,et al.  A Real-time Rtl Engineering-change Method Supporting On-line Debugging For Logic-emulation Applications , 1997, Proceedings of the 34th Design Automation Conference.

[40]  Niraj K. Jha,et al.  Behavioral synthesis for easy testability in data path scheduling , 1992, ICCAD.

[41]  Audra E. Kosh,et al.  Linear Algebra and its Applications , 1992 .