Logic emulation with virtual wires

Logic emulation enables designers to functionally verify complex integrated circuits prior to chip fabrication. However, traditional FPGA-based logic emulators have poor inter-chip communication bandwidth, commonly limiting gate utilization to less than 20%. Global routing contention mandates the use of expensive crossbar and PC-board technology in a system of otherwise low-cost commodity parts. Even with crossbar technology, current emulators only use a fraction of potential communication bandwidth because they dedicate each FPGA pin (physical wire) to a single emulated signal (logical wire). Virtual wires overcome pin limitations by intelligently multiplexing each physical wire among multiple logical wires, and pipelining these connections at the maximum clocking frequency of the FPGA. The resulting increase in bandwidth allows effective use of low-dimension direct interconnect. The size of the FPGA array can be decreased as well, resulting in low-cost logic emulation. This paper covers major contributions of the MIT Virtual Wires project. In the context of a complete emulation system, we analyze phase-based static scheduling and routing algorithms, present virtual wires synthesis methodologies, and overview an operational prototype with 20 K-gate boards. Results, including in-circuit emulation of a SPARC microprocessor, indicate that virtual wires eliminate the need for expensive crossbar technology while increasing FPGA utilization beyond 45%. Theoretical analysis predicts that virtual wires emulation scales with FPGA size and average routing distance, while traditional emulation does not.

[1]  Chung-Kuan Cheng,et al.  Multiple-level partitioning: an application to the very large-scale hardware simulator , 1991 .

[2]  D. Jones,et al.  A time-multiplexed FPGA architecture for logic emulation , 1995, Proceedings of the IEEE 1995 Custom Integrated Circuits Conference.

[3]  Henry L. Owen,et al.  FPGA-based emulator architectures , 1994 .

[4]  H. B. Bakoglu,et al.  Circuits, interconnections, and packaging for VLSI , 1990 .

[5]  Anant Agarwal,et al.  Emulation of the Sparcle microprocessor with the MIT Virtual Wires emulation system , 1994, Proceedings of IEEE Workshop on FPGA's for Custom Computing Machines.

[6]  Anant Agarwal,et al.  Virtual wires: overcoming pin limitations in FPGA-based logic emulators , 1993, [1993] Proceedings IEEE Workshop on FPGAs for Custom Computing Machines.

[7]  Ieee Circuits,et al.  IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems information for authors , 2018, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[8]  Russell Tessier,et al.  The Virtual Wires Emulation System: A Gate-Efficient ASIC Prototyping Environment , 1994 .

[9]  Duncan A. Buell,et al.  Splash 2 , 1992, SPAA.

[10]  Anant Agarwal,et al.  Emulation of a Sparc Microprocessor with the MIT Virtual Wires Emulation System , 1994 .

[11]  STEPHEN WALTERS,et al.  Computer-aided prototyping for ASIC-based systems , 1991, IEEE Design & Test of Computers.

[12]  Trevor Joseph Bauer The design of an efficient hardware subroutine protocol for FPGAs , 1994 .

[13]  Chung-Kuan Cheng,et al.  Routability improvement using dynamic interconnect architecture , 1995, Proceedings IEEE Symposium on FPGAs for Custom Computing Machines.

[14]  Dimitri P. Bertsekas,et al.  Data Networks , 1986 .

[15]  Joseph Varghese,et al.  An efficient logic emulation system , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[16]  Roy L. Russo,et al.  On a Pin Versus Block Relationship For Partitions of Logic Graphs , 1971, IEEE Transactions on Computers.

[17]  Malgorzata Marek-Sadowska,et al.  Time-multiplexed routing resources for FPGA design , 1996 .

[18]  Denis Trystram,et al.  Parallel algorithms and architectures , 1995 .

[19]  E. Tau,et al.  A First Generation DPGA implementation , 1995 .

[20]  Gregory F. Pfister,et al.  The Yorktown Simulation Engine: Introduction , 1982, 19th Design Automation Conference.

[21]  Vijayshri Maheshwari,et al.  Design of FPGAs with Area I/O for Field Programmable MCM , 1995, Third International ACM Symposium on Field-Programmable Gate Arrays.

[22]  William J. Dally,et al.  Virtual-channel flow control , 1990, [1990] Proceedings. The 17th Annual International Symposium on Computer Architecture.

[23]  Anant Agarwal,et al.  TIERS: Topology IndependEnt Pipelined Routing and Scheduling for VirtualWire™ Compilation , 1995, Third International ACM Symposium on Field-Programmable Gate Arrays.

[24]  Silvina Zimi Hanono B. s InnerView Hardware Debugger: A Logic Analysis Tool for the Virtual Wires Emulation System , 1995 .

[25]  Matthew Lyle Dahl An implementation of the virtual wires interconnect scheme , 1994 .

[26]  Frank B. Manning Automatic test, configuration, and repair of cellular arrays , 1975 .

[27]  Ernest S. Kuh,et al.  Novel techniques for high performance field-programmable logic devices , 1993 .

[28]  Joseph Varghese,et al.  An efficient logic emulation system , 1993, IEEE Trans. Very Large Scale Integr. Syst..

[29]  Donald Yeung,et al.  Sparcle: an evolutionary processor design for large-scale multiprocessors , 1993, IEEE Micro.

[30]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .