Parallel Logic Simulation of Million-Gate VLSI Circuits

Parallel Logic Simulation of Million-Gate VLSI Circuits

Parallel Logic Simulation of Million-Gate VLSI Circuits Lijuan Zhu, Gilbert Chen, and Boleslaw K. Szymanski Rensselaer Polytechnic Institute, Computer Science Department zhul4,cheng3,[email protected] Carl Tropper Tong Zhang McGill University, School of Computer Science Rensselaer Polytechnic Institute, ECSE [email protected] [email protected] Abstract blocks, gate-level logic simulation in which a circuit is modeled as a collection of logic gates, switch-level simu- The complexity of today’s VLSI chip designs makes ver- lation in which circuit elements are modeled as transistors, ification a necessary step before fabrication. As a result, and circuit level simulation in which resistors and wires gate-level logic simulation has became an integral compo- with propagation delays are also represented. nent of the VLSI circuit design process which verifies the Gate-level simulations can be classified into two cate- design and analyzes its behavior. Since the designs con- gories: oblivious and event-driven [13]. In the former, ev- stantly grow in size and complexity, there is a need for ever ery gate is evaluated once at each simulation cycle, while more efficient simulations to keep the gate-level logic veri- in the latter, a gate is evaluated only when any of its in- fication time acceptably small. puts has changed. For large circuits, event-driven simula- The focus of this paper is an efficient simulation of large tion is more efficient because fewer logic gates are evalu- chip designs. We present the design and implementation ated at any instant of the simulated time. Still, very large of a new parallel simulator, called DSIM, and demonstrate and complex systems take substantial amounts of time to DSIM’s efficiency and speed by simulating a million gate simulate, even utilizing event-driven simulators [5]. Con- circuit using different numbers of processors. sequently, parallel simulation has become a necessity for such circuits. 1. Introduction and background 1.1. A Viterbi decoder design The development process of a hardware unit may take As our benchmark, we selected the circuits implement- several months or even years, and the costs of instrumenta- ing a state-parallel RE Viterbi decoder whose block dia- tion needed for its fabrication may reach several billions of gram is shown in Figure 1(a). The decoder contains three dollars. Therefore circuit simulations done before fabrica- functional blocks: branch metric unit (BMU) which cal- tion have became an important and necessary step to avoid culates all the branch metrics; add-compare-select (ACS) design errors. units which update the accumulative survivor path metrics; Hardware designs are supported by hardware descrip- and a survivor memory unit (SMU) which stores the sur- tion languages, or HDLs, such as VHDL (Very High Speed vivor paths and generate the decoder output. For a trellis IC Hardware Description Languages) [10] and Verilog [2]. with N states, a state-parallel decoder implements N ACS By using a HDL, one can describe arbitrary digital hard- units that operate in parallel. ware at any level. Chips are designed either in bottom-up As extensively discussed in the literature (e.g., [6, 7]), or top-down fashion. The preferred style of most Verilog the SMU is conventionally designed in two different styles, based designs is top-down. HDLs support different ways of register exchange (RE) and trace back (TB), targeting dif- describing a chip. Verilog, for example, provides three lev- ferent power/complexity versus throughput trade-offs. Ba- els of abstraction: behavioral level, register-transfer level sically speaking, RE can easily support very high decoding and gate level. Accordingly, circuit simulation can be clas- throughput (e.g., hundreds Mbps or even several Gbps) but sified into four groups [13]: behavioral or functional simu- requires a large number of transistors and consumes a lot lation in which circuit elements are modeled as functional of power. TB decreases implementation complexity and is Proceedings of the 13th IEEE International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS’05) 1526-7539/05 $20.00 © 2005 IEEE Figure 1. (a) The block diagram of a state-parallel Viterbi decoder, and (b) a sample four-state register exchange structure for SMU quite power-efficient but cannot support very high decod- this paper. ing throughput. In the RE Viterbi decoder, as illustrated in Many researchers have developed parallel simulators to Figure 1, the decoder output is obtained by a simple register speed up logic simulation. Meister gave a good albeit bit shift operation and the critical path typically lies in ACS re- dated review of parallel logic simulation in [16]. cursion. On the other hand, in the TB Viterbi decoder, cer- Lungeanu and Shi [17] developed a parallel simulator tain number of memory accesses are required to obtain each for VHDL designs, using both a conservative and an opti- decoder output, which often results in the trace back being mistic protocols. Williams [18] developed Icarus Verilog, the critical path. One important parameter in both RE and an open-source Electronic Design Automation (EDA) se- TB Viterbi decoders is the decoding decision depth, which quential Verilog simulator. In [14, 15], Li et al designed is the length of the memory path. For convolutional codes, and implemented DVS, an objected-oriented framework for the decision depth selection has been well discussed [3]. distributed Verilog simulation. The distributed simulation We simulate an RE Viterbi decoder with a constraint length engine is based on the Clustered Time Warp (CTW) [4]. of 11, corresponding to 1.2 million NAND gates. All these parallel logic simulators simulated circuits of quite modest size of about several thousands gates. The 1.2. Parallel Discrete Event-driven Simulation simulator described in this paper has been developed with the explicit goal of simulating large circuits, having mil- To speed up simulations, parallel discrete event simu- lions of gates. lation (PDES) for large circuits has been advocated and The rest of the paper is organized as follows. Section used. In this approach, the model is composed of some 2 contains a description of our circuit simulator. Section disjoint submodels [16], each represented by the so-called 3 provides performance results for our simulations of the Logical Process (LP). Each processor takes charge of sim- Viterbi decoder. The final section contains our concluding ulating one or more LPs, and each LP interacts with all remarks and plans for future work. of the LPs which are influenced by the given LP’s local changes. These interactions are enforced by messages car- 2. Verilog Simulation rying events between LPs. Each message is timestamped with the simulation time at which its event should execute. The simulator which we have designed and imple- In parallel simulation of circuits, each gate is modeled as mented consists of a translator, a parser and a simulator an LP. A gate propagates its output signals to the connected proper. gates. If the LP of a connected gate resides on a different To enhance the design’s modularity and encapsulation, processor, the output generates a messages sent to that pro- Verilog defines modules in a hierarchical structure. How- cessor. Each processor maintains a future event queue from ever, this structure is difficult to process by a simulator. The which events are selected for execution. To achieve a cor- goal of the translator is to flatten the hierarchical modules rect simulation, the order of the final execution of events into a netlist without a hierarchical structure, and to gen- must preserve causality in the simulated process. This is erate/output the source file of the netlist with the flattened the main challenge in parallel simulation. Two major tech- structure. It is composed of the following components: niques were developed to address this challenge: conserva- tive and optimistic [9]. We focus on optimistic protocols in • Parsing: The translator first reads in the source file Proceedings of the 13th IEEE International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS’05) 1526-7539/05 $20.00 © 2005 IEEE in Verilog format, performing the syntax and seman- LPs which model gates execute the gate behavior and tic checking as well as storing each module in lists of schedule new events according to their outputs. An event gates, wires, inputs, and outputs. consists of three items: the identifier of the LP to which the event is sent, the bit (0 or 1) representing the output of the • Flattening: The translator parses the source file again, gate (LP) sending this event, and the index of the port in but now, each time there is a module instantiation, the the receiving gate (that is the port that is directly connected translator expands it with the original module defini- with the gate sending the event). Each event is also times- tion, renaming all of the gates and wires. tamped with the simulation time at which the event should • Outputting: Using the information stored for the root be executed. module (normally, the last module processed), the At the start of the simulation, an initialization stage ac- translator outputs the netlist of this module. tivates the primary input LPs that initialize events (with the current simulation time) at its subordinate LPs from the first For simulation proper, we use DSIM, a new genera- input vector in the list. They also schedule events destined tion Time Warp simulator developed to support efficient to themselves with a time-stamp equal to the current sim- parallel simulations on distributed clusters with thousands ulation time plus the input data interval. The latter events, of processors [8]. DSIM features an efficient and scal- when executed, will simulate the arrival of the next input able GVT (Global Virtual Time) algorithm, referred to as vector from the input list.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    4 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us