Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
High-Level Simulation of Substrate Noise Generation Including Power Supply Noise Coupling Marc van Heijningen, Mustafa Badaroglu, Stéphane Donnay, Marc Engels and Ivo Bolsens IMEC v.z.w., Kapeldreef 75, B-3001 Leuven, Belgium [heijning,badar]@imec.be Abstract Substrate noise caused by large digital circuits will degrade the performance of analog circuits located on the same substrate. To simulate this performance degradation, the total amount of generated substrate noise must be known. Simulating substrate noise generated by large digital circuits is however not feasible with existing circuit simulators and detailed substrate models due to the long simulation times and high memory requirements. We have developed a methodology to simulate this substrate noise generation at a higher level. Not only does this methodology take noise coupling from switching gates into account, but also noise coupling from the power supply is included. This paper describes this simulation methodology. In the paper it is shown that the high-level simulations correspond very well with SPICE simulations and that a large gain in simulation speed is obtained. This high-level simulation methodology makes it possible to predict substrate noise generation of large digital circuits in a very efficient way, early in the design flow of mixed-signal ASICs. 1 Introduction There is a trend to integrate more and more functionality on one single chip. Also analog circuits, for example analog-to-digital converters, are integrated on the same silicon substrate as digital signal processing circuits [1]. This integration of analog and digital circuits on one silicon substrate will cause substrate noise coupling problems: the performance of the analog circuits will degrade due to substrate noise generated by the digital circuits. The substrate noise coupling problem consists of three parts: generation of substrate noise by the digital circuits, propagation of noise through the substrate and impact of substrate noise on analog circuits. Most research done in recent years has concentrated on modeling the propagation and the impact of substrate noise [2]. Those modeling and simulation techniques are only useful when working with small circuits because of the complexity of the extracted models. It is not possible to use those techniques to simulate substrate noise generation of large digital circuits. Other techniques have been proposed to model and simulate the noise generation. In [3] and [4] methodologies are proposed that use verilogHDL and analogHDL routines to count the switching transitions of a digital circuit and calculate the substrate noise using mathematical expressions. Because a mathematical expression is used for the generated substrate noise, rather than the real waveforms, these simulations can never result in an accurate prediction of generated substrate noise. A methodology that does make use of simulated noise waveforms is presented in [5], but a very simple model is used to extract the injected noise currents and the resulting substrate voltage is not calculated. All of these methodologies do not include noise coupling from the power supply, which can be a dominant source of substrate noise, and neglect noise generation from switching inputs that do not necessarily cause output switching events. Another simulation methodology that does take power supply noise coupling into account is presented in [6]. But only the root-mean-square of the power supply current is taken into account and not the transient behavior of this current. In this paper, however, we present a methodology to simulate substrate noise generation from switching gates as well as the power supply. This allows to study the effect of different inductance values in the power supply connection and also the effect of extra on-chip decoupling capacitance. Our methodology also takes into account noise coupling from switching inputs, that do not necessarily cause an output change, and we use a detailed substrate model to extract the injected substrate noise currents. The high-level simulations result in the total generated substrate voltage noise. This substrate voltage can be used as input signal for a SPICE simulation of sensitive analog circuits, including a substrate model, to determine the performance degradation due to substrate noise coupling. The paper is organized as follows. Section 2 will give a description of our high-level substrate noise simulation methodology. Section 3 and 4 will describe the different steps in this methodology in more detail. In section 5 the results of our high-level substrate noise simulations will be compared with SPICE simulations. 2 Substrate Noise Simulation Methodology The high-level simulation methodology for substrate noise generation consists of two parts: a one-time characterization of all stan- dard cells to extract the substrate current generation for every possible switching combination and a VHDL gate level simulation (with an extended VHDL gate library) for each design to extract the switching events. From these switching events the total generated substrate noise is calculated. This methodology is schematically shown in figure 1. The characterization of a standard cell library, resistors and well capacitors to the original SPICE circuits of the digital gates. For the SPICE description of the digital gates, Layout Parasitics Extraction (LPE) data is used, to include interconnect coupling within the gates. Figure 2 shows this model for the example of a CMOS inverter. In this work only low-ohmic (typiin Vss adapt library to extract switching events event based models library INPUT: gate-level digital design digital standard cell library create substrate models for each cell macro model library extraction (section 3) substrate noise simulation (section 4) perform gate-level digital simulation switching event database extract substrate noise and power supply currents substrate noise macro model library substrate noise computation OUTPUT: substrate noise voltage Figure 1: Substrate noise simulation methodology shown in figure 1 above the dotted line, consists of creating detailed substrate models for each standard cell and extracting the generated switching noise and power current waveforms for all possible switching combinations. These currents, together with a reduced substrate model for the gate, are combined in a macro model. Finally all macro models are collected in a single library. The standard cell library also has to be extended to include switching event extraction routines. Using the extended VHDL gate library a normal VHDL gate level simulation is performed for a given design. During the simulation all switching events are recorded and collected in a switching event file. Finally the macro models are combined together using the switching event data. The resulting equivalent substrate model for the entire digital circuit is used to simulate the total generated substrate voltage noise. The next two sections describe this methodology in more detail. 3 Macro Model Library Extraction This section describes the steps that are necessary to extract substrate noise generation data from a given library of digital standard cells. 3.1 SPICE Substrate Modeling Switching MOSFETs generate substrate currents via two mechanisms: capacitive coupling from source, drain and gate to substrate and impact ionization. Most substrate current is produced by capacitive coupling from drain and source junctions and, depending on the technology, impact ionization [7]. In our simulations we use the BSIM3v3 MOSFET model, which includes both capacitive coupling and impact ionization. To simulate the amount of substrate noise generated by a digital gate, a model of the substrate must be included in the simulation. We have modeled the substrate in SPICE by adding substrate Vdd out p+ n+ n+ p+ p-well n-well p+ n+ p- epi p+ bulk Figure 2: SPICE substrate model cally 10 m cm) substrates are considered and therefore the entire substrate can be approximated by one electrical node. The resistor and capacitor values can be calculated using simple empirical expressions, taking into account geometry information of MOSFETs, wells and substrate taps. This model is used as a reference to calculate the accuracy of the high-level simulations. In [8], the validity of this model has been verified with measurements. More detailed substrate models can be created and are certainly required for highohmic substrates [9] and RF applications [10]. Other tools [11] [12] can be used to extract very accurate substrate models, but these models are too complex to be used to simulate the substrate noise generation of large digital circuits. 3.2 Substrate Macro Model To simulate the substrate noise generation of large digital circuits, macro models for all digital gates have been created. These macro models include the two noise sources (i.e., coupling from the MOSFETs and coupling from the power supply) and a simplified version of the substrate model. The macro models are created in such a way that they can easily be combined in parallel to form the total substrate noise simulation model. The basis for the macro model is the assumption that switching gates will inject a noise current into the substrate. This current flows back to AC ground via the substrate impedance, generating the substrate voltage. The substrate impedance (i.e., the impedance between substrate and AC ground) can be approximated by the parallel combination of a resistor and capacitor. Figure 3 shows that this approximation is valid up to several GHz. This figure shows the substrate impedance of a CMOS inverter gate for an accurate substrate model extracted with the tool LAYIN [12], for the simple substrate model shown in figure 2 and for the macro model. The macro model is shown in figure 4. Rsub is determined by the resistance between Vss and substrate, Cwell is the junction capacitance between Vdd and substrate and Ccir is the circuit capacitance between Vdd and Vss. Current source Inoise models the substrate current injection from switching nodes and current source Ipower models the power supply current consumption. Note that the substrate noise current Inoise does not directly correspond to the sum of the substrate currents of the MOSFETs in the digital gate. This current is derived in such a way that it will reproduce the correct substrate voltage that corresponds to the substrate voltage generated by the full SPICE substrate model. substrate impedance |Zsub| To extract the waveform for the current source Inoise , shown in figure 4, a SPICE simulation is performed for the digital cell with the detailed substrate model. A digital input pattern is applied to the gate that covers all switching combinations and the resulting substrate voltage is recorded. This voltage is then imposed on the substrate node of the macro model using a voltage controlled voltage source. By measuring the current flowing through this source the waveform for Inoise is obtained. This waveform is recorded for each switching action for a period of 2 ns and a time step of 10 ps. Layin model Simple model Macro model 10 k Ω 1kΩ 3.4 Power Supply Current Extraction 1 MHz 10 MHz 100 MHz 1 GHz 10 GHz 100 GHz Frequency Figure 3: Substrate impedance of a CMOS inverter gate for the different substrate models Ipower Vss Vdd Ccir Rsub Inoise Cwell Vsubstrate Figure 4: Macro model created for each digital gate 3.3 Noise Current Extraction Noise coupling from switching MOSFETs is not only caused when the output of a digital gate switches, but also input transitions that do not cause output transitions will cause substrate noise. In figure 5 this is illustrated for a NAND gate ( Z = A B ). The rising edge of digital inputs and output A B Z injected substrate noise current I [uA] 8 4 0 -4 -8 0 2 4 6 time [ns] 8 Figure 5: Injected substrate noise current for NAND gate input A causes a substrate current that is as large as the current caused by a changing output. Also for flip-flops it is important to take noise coupling from switching inputs into account: negative clock edges (for a positive edge triggered flip-flop) and changes on the data input do not directly cause an output transition but will cause substrate noise and these input transitions occur constantly. Apart from substrate noise caused by switching MOSFETs there is another important noise source: noise coupling from the digital power supply [13]. This power supply will contain switching noise and can show oscillations (ringing or ground bounce). Since in each digital gate the ground is connected to the substrate via Rsub , the total resistance from ground to substrate can be very low (less than 1 for large digital circuits). So all noise and ringing on the digital ground is directly coupled to the substrate and this noise source can easily dominate the total substrate noise generation. To include noise coupling from the power supply in our methodology, the current source Ipower has been added in the macro model of figure 4. The waveform of this current source is extracted during the simulation of the noise currents by measuring the current flowing through the supply voltage source. To accurately simulate noise coupling from the power supply, the ringing effects must also be included in the macro model. This requires that the circuit capacitance Ccir between power and ground is extracted for each cell and added to the macro model. This extraction is performed by a small signal simulation of the digital gate without the substrate model. 3.5 VHDL Library Extension Finally, the VHDL standard cell library has to be extended to enable the detection of all input switching events. This library is created by adding switching event detection processes to the original VHDL library. When the cells from this library are invoked during a gatelevel simulation all input transitions are recorded together with the time of occurrence, the cell type, instance name and state of the other inputs. For flip-flops also the output state is recorded. Figure 6 shows the encapsulation of the VHDL standard cell with the switching activity sensors. This encapsulation does not change any input or output port declaration of the standard cell. A VITAL VHDL library is used for the standard cells to enable the use of back-annotation delays extracted from the layout or wire-load models. This delay information is crucial for an accurate extraction of the switching activities during the simulation. Also included in the encapsulation library is an input glitch removal process. Glitch removal is necessary because the VHDL simulation will record every glitch as a complete up-down (or vice versa) transition while in reality (or in the SPICE simulation) there is only a minor spike in the signal. When these glitches would not be removed from the VHDL simulation, two noise current waveforms, which do not necessarily cancel each other out, would be added to the total noise current, while in reality the noise associated with this glitch is negligible. However, the substrate noise generated by the gate that causes the glitch signal is taken into account. 3.6 Library Characterization Results As a test case the library characterization has been performed for a commercial 0.5 m CMOS technology for a design consisting ✁ swithing activity sensor for A Glitch filter Vdc Lb request Switching for recording recorder Ipower,tot Vss state of A before switching Vdd A A NAND2 VITAL Model Lb Ccir,tot Z Z B B swithing activity sensor for B Inoise,tot Rsub,tot state of B before switching request Glitch for recording filter Cwell,tot Vsubstrate Figure 7: Equivalent substrate noise simulation circuit Figure 6: Switching recording in VHDL of 96 different gates. The extraction figures are mentioned in the next table. The entire characterization is performed automatically by a C++ program. The macro model library size could be greatly reduced by storing the data in binary format instead of the current ASCII format. The element values of this model are calculated using the following expressions: 1 1 R sub,gate all gates ✂ Rsub,tot = ✂ Cwell,gate Cwell,tot = all gates ✂ Ccir,tot = number of different cells number of switching combinations total extraction time macro model library size 96 4780 39 hours 21 Mbyte Ccir,gate all gates The waveforms of the noise current and power supply current in the total substrate model are calculated by accumulating all individual waveforms belonging to the switching events: ✂ Inoise,event (t Inoise,tot (t) = 4 Substrate Noise Simulation To simulate the total generated substrate noise for a given circuit, first a normal gate-level VHDL simulation is performed using the special VHDL switching event detection library. During this simulation an output file is created that contains a list of all switching events. A part of such an output file is shown below. 55 NS 55 NS 55.924 NS 57.063 NS 57.063 NS 57.08 NS 57.08 NS 1H00-----1H01-----11H1-----L1-------L1-------0H-------H--------- FD2Q FD2 FD2 EO ND2 EN IV buf_reg_3 buf_reg_0 buf_reg_0 U31 U29 U30 U26 The elements recorded in this file are the time instance of the switching event, the state of the inputs (and in case of flip-flops, also the output state), the cell type and instance name. Next, the macro models for all individual gates in the design have to be combined together. For high-ohmic substrates the macro models can be combined together in small groups taking the floorplanning information into account. These groups of macro models can be combined together by connecting the substrate nodes to a substrate resistor mesh. Also power routing parasitics can be added between the groups of macro models. For low-ohmic substrates, used in these experiments, this resistor mesh can be approximated by one electrical node and all macro models can be connected in parallel. This results in one equivalent substrate noise simulation model, shown in figure 7. tevent ) ✄ all switching events ✂ Ipower,event (t Ipower,tot (t) = ✄ tevent ) all switching events Finally, parasitics (e.g., inductances from wirebonds) in the power supply connections are added. An “external” voltage source can be included to set the correct operating point (e.g., set Vdd to 3.3 Volt). By solving the equivalent substrate circuit, the resulting substrate voltage is obtained. The substrate noise generation of the switching gates, without power supply noise, can be simulated by using an ideal on-chip power supply (i.e., set the inductance Lb to 0 nH). The effect of different power supply connection parasitics (e.g., the use of different packages or number of parallel power connections) and extra (on-chip) decoupling capacitance on substrate noise and power supply noise can also be simulated. 5 Experimental Results In this section the comparison between high-level and SPICE simulations will be shown for two circuits: a 4 bit counter and a multiplier. The last part of this section summarizes the simulation times and circuit details. 5.1 Four Bit Counter The first test circuit is a 4 bit counter, consisting of 4 flip-flops and a combinatorial feedback circuit. Using our simulation methodology we can simulate the generated substrate noise of this circuit for different inductance values. Figure 8 shows the comparison between the SPICE and the high-level simulations of the substrate voltage produced by the counter, for one clock period (a rising and falling clock edge). At the rising clock edge (55 ns) the four flip-flops are clocked and 13 combinatorial switching events occur. The negative clock edge (60 ns) only causes a falling edge on the clock inputs of the flip-flops. Although no output changes occur at the falling clock edge still a significant amount of substrate noise is generated. Figure 8 clearly shows the good correspondence between the SPICE Vsubstrate [mV] High-level 0.50 0.25 0.00 -0.25 Vsubstrate [mV] SPICE High-level 3.0 Lb=0nH+0 Ω -0.50 Ivdd[mA] 12.5 1.5 0.0 0.0 -1.5 -12.5 -3.0 90 Lb=2nH+0.5Ω -25.0 45 58 0 60 62 64 time [ns] 66 68 70 Figure 9: SPICE and high-level simulation of substrate noise voltage (top) and power supply current (bottom) for the multiplier circuit without power supply noise -45 -90 54 56 58 time [ns] 60 62 64 Figure 8: SPICE versus high-level simulation of generated substrate noise with (bottom) and without (top) power supply noise coupling for the counter circuit SPICE and the high-level simulation. A quantitative comparison is given in the next table where the root mean square (RMS) values of the substrate noise are listed. This RMS value is an indication for the total substrate noise power. SPICE (with supply noise) High-level (no supply noise) High-level (with supply noise) Vsub,rms [mV] 12.3 0.48 12.6 error 96.1% 2.4% For the high-level simulation with power supply noise coupling, an inductance value of 2 nH + 0.5 has been used. The error value given in the table is the error of the high-level simulation result with respect to the SPICE simulation. These results show that a high-level substrate noise simulation without power supply noise coupling severely underestimates the amount of generated substrate noise. 5.2 Multiplier The multiplier circuit consists of an 8-bit up counter and 8-bit down counter followed by a 16-bit Booth multiplier, which multiplies the two counter values. Figure 9 shows the comparison of a SPICE and high-level simulation for substrate voltage noise and power supply current. The simulation is performed without power supply noise coupling (Lb = 0 nH) and shows the result of approximately 170 switching activities, occuring after one rising clock edge. The next table gives the comparison of the RMS value of the substrate voltage for a SPICE simulation and high-level simulation with and without power supply noise coupling. SPICE (with supply noise) High-level (no supply noise) High-level (with supply noise) Vsub,rms [mV] 18.4 0.079 19.4 error 99.6% 5.4% Again it is clearly visible that the power supply noise coupling is a dominant source of substrate noise. To obtain a good correspondence with the SPICE simulations, the power supply noise coupling must be included in the high-level simulations. It is also important that the high-level simulations are valid when studying the frequency spectrum of the generated substrate noise. Figure 10 shows the frequency spectrum of the substrate noise voltage (in dB relative to a 1 volt sine wave) for the multiplier circuit with power supply noise coupling included (Lb = 2 nH + 0.5 ). This spectrum is obtained by taking a Fast Fourier Transform of a 1200 ns period of the substrate voltage with a time step of 10 ps. The increase of the substrate noise around 400 MHz is caused by ringing of the on-chip power signal, which is coupled to the substrate. Most substrate noise is concentrated at multiples of the digital clock frequency of 42 MHz. The location and amplitude of the major noise peaks corresponds well for the SPICE and high-level simulation. 5.3 Simulation Figures The next table summarizes the details of the circuits, the simulation times and model parameters. Also included in this table are figures for a large circuit, which can no longer be simulated with SPICE. This circuit is a multi-rate channel select filter and up/down converter for a cable modem front-end. References Vsubstrate [dB] -20 SPICE -60 -100 -20 high-level -60 [1] L. Tan, J. Putnam, F. Lu, L. D’Luna, D. Mueller, K. Kindsfater, K. Cameron, R. Joshi, R. Hawley, and H. Samueli, “A 70Mb/s Variable-Rate 1024-QAM Cable Receiver IC with Integrated 10b ADC and FEC Decoder,” in Tech. Dig. Int. Solid State Circuits Conf., pp. 200–201, 1998. [2] N. K. Verghese and D. J. Allstot, “Verification of RF and mixed-signal integrated circuits for substrate coupling effects,” in Proc. 1997 IEEE Custom Integrated Circuits Conf., pp. 363–370, 1997. [3] M. K. Mayes and S. W. Chin, “All Verilog Mixed-Signal Simulator with Analog Behavioral and Noise Models,” in Tech. Digest of the Symposium on VLSI Circuits, pp. 186–187, 1996. -100 0 200 400 600 freq [MHz] 800 1000 Figure 10: SPICE and high-level simulation of the frequency spectrum of the substrate noise voltage for a for the multiplier circuit with power supply noise included circuit details area (equiv.gates) transistors max.clk.freq.[MHz] simulation data clock cycles tot. switching events SPICE sim. time (a) VHDL sim. time (b) Noise calculation (c) Speedup = a/(b+c) model parameters Rsub,tot [ ] Cwell,tot [F] Ccir,tot [F] counter 34 160 100 counter 50 856 435 sec. 1.0 sec. 5.2 sec. 70x counter 327 536f 850f multiplier 994 4178 42 multiplier 208 63545 37 hours 29 sec. 4.9 min. 412x multiplier 10.8 15.24p 26.40p filter 81012 371355 160 filter 800 100981 — 32 min. 10 min. — filter 0.14 1.26n 2.28n 6 Conclusions For large designs it is not feasible to use a circuit simulator like SPICE to simulate the amount of generated substrate noise. Therefore a high-level substrate noise simulation methodology is required. In this paper a new methodology for the simulation of substrate noise generation for large digital circuits is presented. For each digital gate a macro model is extracted that models the substrate current injection and power supply current for all switching combinations. A VHDL switching event detection library is created to record all switching events during a standard VHDL gatelevel simulation. By combining the switching event data with the substrate macro models, one equivalent substrate noise simulation model is derived for an entire digital circuit. This model is used to simulate the amount of generated substrate noise. We have verified our high-level methodology with SPICE simulations for two test circuits. It has been shown that a significant improvement in simulation speed is obtained while retaining good accuracy. Acknowledgments This work was partly funded under the Flemish IWT project FRONT-ENDS and the ESPRIT project BANDIT. [4] M. Nagata and A. Iwata, “Substrate noise simulation techniques for analog-digital mixed LSI design,” IEICE Trans. Fundamentals, vol. E82-A, pp. 271–277, Feb. 1999. [5] P. Miliozzi, L. Carloni, E. Charbon, and A. SangiovanniVincentelli, “SUBWAVE: a methodology for modeling digital substrate noise injection in mixed-signal ICs,” in Proc. 1996 IEEE Custom Integrated Circuits Conf., pp. 385–388, 1996. [6] S. Mitra, R. A. Rutenbar, L. R. Carley, and D. J. Allstot, “A Methodology for Rapid Estimation of Substrate-Coupled Switching Noise,” in Proc. 1995 IEEE Custom Integrated Circuits Conf., pp. 129–132, 1995. [7] J. Briaire and K. Krisch, “Substrate Injection and Crosstalk in CMOS Circuits,” in Proc. 1999 IEEE Custom Integrated Circuits Conf., pp. 483–486, 1999. [8] M. van Heijningen, J. Compiet, P. Wambacq, S. Donnay, M. Engels, and I. Bolsens, “Modeling of Digital Substrate Noise Generation and Experimental Verification Using a Novel Substrate Noise Sensor,” in Proceedings of the ESSCIRC, pp. 186–189, 1999. [9] T. Blalack, J. Lau, F. J. R. Clément, and B. A. Wooley, “Experimental Results and Modeling of Noise Coupling in a Lightly Doped Substrate,” in IEDM’96 Tech. Dig., pp. 623–626, Dec. 1996. [10] W. Liu, R. Gharpurey, M. C. Chang, U. Erdogan, R. Aggarwal, and J. P. Mattia, “R.F. MOSFET Modeling Accounting for Distributed Substrate and Channel Resistances with Emphasis on the BSIM3v3 SPICE Model,” in Technical Digest of the IEEE International Electron Devices Meeting, pp. 309– 312, 1997. [11] SPACE of the Delft University of http://cobalt.et.tudelft.nl/ space/space.html. Technology, [12] Layin of Snaketech, http://www.snaketech.com. [13] P. Larsson, “di/dt Noise in CMOS Integrated Circuits,” Analog Integrated Circuits and Signal Processing, vol. 14, pp. 113–129, 1997.