Introduction to the Design and Development of Mixed Signal
Transcription
Introduction to the Design and Development of Mixed Signal
Introduction to the Design and Development of Mixed Signal Integrated Circuits Tutorial 2 Prashant Bhadri Raghuram Srinivasan Sunday, August 7, 2005 15:30-18:30 pm IEEE International 45th Mid-West Symposium on Circuits and Systems Cincinnati, Ohio Copyright Information This presentation is an “Open Access” material and therefore please credit the presenters if you reproduce any of this information Presenter’s Information Education z B.S. in Electronics and Communication z M.S. in Electrical Engineering z Post-Doctoral Fellow at the Doheny Eye Institute, Keck’s School of Medicine University of Southern California, Los Angeles Research Focus z Engineering Solutions in Medical Domain z Analog, Digital, Mixed Signal Circuit Design, Testing and Analysis z Field Programmable Gate Arrays z Product Development of Medical Devices Prashant R Bhadri Doctoral Researcher University of Cincinnati Academic Achievements z 30 papers presented and published in journals, conferences, and magazines z 2 provisional patents z Recipient of Rindsberg Fellowship z Recipient of SPIE Travel Award Education z B.S. in Electrical Engineering z M.S. in Computer Engineering Research Focus z Improving Simulation Time using MultiThreading in a Frequency Extended VHDL-AMS z Analog, Digital, Mixed signal Circuit Design, Testing and Analysis z Formal Verification Methods to Analog and Mixed-Signal Systems Raghuram Srinivasan Doctoral Researcher University of Cincinnati Information Prashant R. Bhadri Raghuram Srinivasan Department of ECECS, College of Department of ECECS, College of Engineering, University of Cincinnati, Engineering, University of Cincinnati, PO Box-210030,Cincinnati, Ohio - 45221 PO Box-210030,Cincinnati, Ohio - 45221 Fax – (513)556-7326 Fax – (513)556-7326 Email: [email protected] Email: [email protected] Copy of the material available on: Distributed Processing Laboratory: www.ececs.uc.edu/~dpl Dr. Fred R. Beyette Homepage: www.ececs.uc.edu/~beyette Outline of the Tutorial Motivation Overview Detailed Design Process Simulation with VHDL-AMS Evaluation Process Conclusions Acknowledgements Question and Answers Motivation Major need for mixed-signal chips driven by consumer products Cell phones Music players Digital Cameras As frequency increases, digital circuits become more analog Clock distribution (PLL’s, pulse shapers, oscillators) Pad design (buffers, protection circuits) Interconnect (become more like transmission lines) Logic cells (become more like RF and microwave circuits) When Digital becomes Analog? Issues in Mixed-Circuit Design As feature size decreases, RF circuit issues become dominant in both digital and analog circuits Noise Coupling noise Component noise Power supply and ground noise Circuit parameters Impedance mismatches Gain Major need for analysis methods and tools Status of Mixed-Signal Design Current technology supports mixed-signal circuits on a chip Bi-CMOS CMOS extended with analog insulator layer Design tools just coming online Analog and Mixed-Signal (AMS) modeling and simulation AMS synthesis (still in research stage) Comparison of CMOS, Bipolar and Bi-CMOS Reference: R.J. Baker, CMOS Circuit Design, Layout, and Simulation, Second Edition, John Wiley and Sons, 2005 Common Applications of Bi-CMOS Bi-CMOS circuits are used in places where devices with significant drive current can be used to significantly enhance system performance Many microprocessor designs utilize BiCMOS circuits in their bus controllers, floating point processing unit and the processor core where speed is critical Circuits where power consumption is a concern (ex. Cache Memory) are implemented in the less power hungry CMOS circuits Reference: R.J. Baker, CMOS Circuit Design, Layout, and Simulation, Second Edition, John Wiley and Sons, 2005 Outline of the Tutorial Motivation Overview Detailed Design Process Simulation with VHDL-AMS Evaluation Process Conclusions Acknowledgements Question and Answers M-S Design Flow SPECIFICATION DESIGN TESTING VERIFICATION FABRICATION Component Flow Specifications Functional Descriptions, Algorithms + Functional Design Architecture Circuit Floorplan Physical Design - Blocks Abstraction Reference: Ken Kundert, Henry Chang, Dan Jeffries, Gilles Lamant, Enrico Malavasi, Fred Sendig, "Design of Mixed-Signal Systems-on-a-Chip", IEEE Trans. on CAD of ICs and Systems, Vol.19, No. 12, pp. 1561-1571, December 2000. System Domain Integrated circuit design: Complex activity Well-defined process The system is divided into functional blocks (subsystems) Defined first with respect to their interfaces between each other A series of design steps each follow modeling the results Simulation of the model assures the design meets the requirements Iterative Design Process Hardware System Design Flow Reference: Prashant Bhadri, Raghuram Srinivasan, Prosenjit Mal, Fred Beyette Jr., Harold Carter, “Design and Analysis of Mixed Mode Integrated Circuits” IEEE Potentials Magazine, February 2005, pp: 6-11 M-S Design vs. Digital Design Components – Analog/Digital Design Input – Behavioral/Structural Verification – VHDL/Spice/VHDL-AMS Synthesis – Analog is time consuming Fabrication & Testing – Separate steps for Analog and Digital Components Flow Description Results Specifications Layout Design Verification Design System Design Courtesy: Dr. Harold Carter Circuit Design Novel Issues in M-S Design Specification – Too many decision parameters Design – Diverse fields of specializations required Verification – Analysis of multiple domains Evaluation – Statistical analysis Fabrication – SOC fabrication Outline of the Tutorial Motivation Overview Detailed Design Process Simulation with VHDL-AMS Evaluation Process Conclusions Acknowledgements Question and Answers Definitions A set of requirements that need to be satisfied Requirements of a “Good” Specification: Unambiguous Avoid contradictions Realizable with current technology capabilities Specification Parameters Functional parameters - Throughput Analog parameters – Bandwidth, Gain, Threshold etc. Design parameters – Area, Power, etc. Types of components available Environment – Temperature, Pressure etc. Industry Standards provides the base specification Advantages of Clear Specification Quicker design cycle due to fewer errors Testing of components from respective specifications: ex: Virtuoso Aptivia Specification-driven environment Driving Design Cycles – HDL Models are capable of: Being subjected to behavioral analysis (simulation) Layout generation (ASIC, FPGA) Examples of Specification Tools Statecharts/Automata Formal Specification HDL’s: ObjectiveVHDL, SystemVerilog, HDL Monitors, OpenVera, Rosetta Software: SpecC, SystemC, Java Behavioral Models: VHDL-AMS/ VHDL/ Matlab Challenges in a M-S Environment Increased design parameters, increases constraints Multiple levels/domains of specification Constant updates due to technology advances System Specification In a product development environment, the specification document presents the first set of guidelines for an initial design of the system that would solve a given problem System specifications contain explicit details of the design: Size Speed Power Cost Functionality Constraints on available resources need to be taken into account before developing these for the system and the specification in turn imposes constraints on the design process Most standard designs detailed data sheets are available to design engineers Reference: Prashant Bhadri, Raghuram Srinivasan, Prosenjit Mal, Fred Beyette Jr., Harold Carter, “Design and Analysis of Mixed Mode Integrated Circuits” IEEE Potentials Magazine, February 2005, pp: 6-11 System Design Translation of the “Specs” into a micro-electronic circuit Before Beginning: Top Down / Bottom Up Level of Abstraction Type of Final Design – SOC/MS/Analog/Digital Availability of Resources Example M-S System Reference: http://www.techonline.com/community/tech_topic/bluetooth/33005 M-S Design Process Review Specification Design Control Circuitry Replace blocks in design with circuit components Check if IP/Parameterized models are available Power/Layout/Area aware design Characteristics of a “Good” Design Tradeoff between analog and digital components Reduced layout complexity Post-fab testability Flexibility in design modifications: Corrections Posterity Challenges in M-S Design Full custom design vs. IP reuse Multiple domains make controller design more complex Optimization choices much fewer Stricter Design Rules System Design Use of Hardware Description Languages (HDL’s) for describing a system in the Register Transfer Level (also called RTL) Higher levels of abstraction (e.g., behavioral level) are employed for larger designs; lower levels (e.g., gate level, transistor level) for smaller designs This shift from purely digital to Mixed-Signal (MS) systems has risen due to the high values of operating frequencies in communication circuits and shrinking feature sizes Design productivity is one of the major issues of concern in VLSI systems With the size of the chip decreasing exponentially, the complexity of the gates has been increasing exponentially but design methodologies have not kept up with the circuit complexity Reference: Prashant Bhadri, Raghuram Srinivasan, Prosenjit Mal, Fred Beyette Jr., Harold Carter, “Design and Analysis of Mixed Mode Integrated Circuits” IEEE Potentials Magazine, February 2005, pp: 6-11 Design Hierarchy Bread Board Printed Circuit Board SMT ASIC Block Level Implementation Lakshminarayanan Ramasamy, “ ASIC System Development of MEMS Bio-Chip Analyzer with Calibration, Signal Capture and Display Circuit”, Masters Thesis, March 2005 PCB & SMT Implementation Lakshminarayanan Ramasamy, “ ASIC System Development of MEMS Bio-Chip Analyzer with Calibration, Signal Capture and Display Circuit”, Masters Thesis, March 2005 M-S Design Photoreceiver Flow Diagram* Photocurrent is generated that is amplified and processed Conversion of the signal from analog to digital with standard CMOS digital circuitry or use the analog signal directly to the next stage of the circuitry Various implementations of photoreceiver circuits is presented where the front end is an optical detector followed by amplifier and processing. *Prashant Bhadri et.al.,“Design and implementation of CMOS photoreceivers”, Proc. SPIE: Optical Information Systems II, October 2004, Vol. 5557, p. 173-184 Optical Detector Configurations CMOS Photodetector* Response to optical illumination in the visible to IR wavelength range Photodetectors fabricated through the MOSIS foundry service Types of photodetectors are: P-diffusion to N-well N-well to P-substrate Combination Bipolar Junction Phototransistor Reference: Prashant Bhadri et. al, “Implementation of CMOS photodetectors in optoelectronic circuits” Proc. IEEE: Lasers and Electro-Optics Society, The 15th Annual Meeting of the IEEE, November 2002, Vol. 2, p. 683 - 684 ASIC Circuit User threshold programmable photoreceiver that monolithically integrates at chip level with the Multi Technology-FPGA User programmed with the receiver threshold set to one of eight sensitivity levels The output from the photoreceiver cell can be stored in SRAM cells By decoding three programming bits (IN0, IN1, IN2) 8 different threshold levels can be established and hence the user can program the sensitivity of the receiver *Prashant Bhadri et.al.,“Design and implementation of CMOS photoreceivers”, Proc. SPIE: Optical Information Systems II, October 2004, Vol. 5557, p. 173-184 Layout Level Transimpedance Amp. Differential Amp. Threshold generation Metal Shielding Guard Rings N-well/p-substrate photo-diode Reference: Prosenjit Mal et.al.,“Development of a Multi-technology FPGA: A Reconfigurable Architecture for Photonic Information Processing” Proc. SPIE: Emerging Optoelectronic Applications, June 2004, Vol. 5363, p. 27-38 System Layout Reference: Prosenjit Mal et.al.,“Development of a Multi-technology FPGA: A Reconfigurable Architecture for Photonic Information Processing” Proc. SPIE: Emerging Optoelectronic Applications, June 2004, Vol. 5363, p. 27-38 Summary Top Level FPGA Design MTFPGA Chip Layout Commercial FPGA devices are electronic Need for incorporation of nontraditional multi technologies into CMOS VLSI systems Proposed a novel architecture that extends the flexibility, rapid prototyping and reusability benefits associated with conventional electronics into the multi-technology domain MTB Floor Plan Reference: Prosenjit Mal et.al.,“Development of a Multi-technology FPGA: A Reconfigurable Architecture for Photonic Information Processing” Proc. SPIE: Emerging Optoelectronic Applications, June 2004, Vol. 5363, p. 27-38 Circuit Design The circuits are designed as cell libraries and then simulated using one of many available circuit simulators These designs are close to the required specification values as a general idea is obtained during this step The challenges are in the form of shrinking chip design requirements, pushing the power and performance boundaries and the need to integrate most of the applications Due to the gradual evolution of the semiconductor process technology, new types of circuit architecture are being implemented As many of the innovative applications assume very low-cost implementations of circuit building blocks, low-cost technology such as CMOS Reference: Prashant Bhadri, Raghuram Srinivasan, Prosenjit Mal, Fred Beyette Jr., Harold Carter, “Design and Analysis of Mixed Mode Integrated Circuits” IEEE Potentials Magazine, February 2005, pp: 6-11 Gate Layout Layout can be very time consuming Design gates to fit together nicely Build a library of standard cells Standard cell design methodology VDD and GND should abut (standard height) Adjacent gates should satisfy design rules NMOS at bottom and PMOS at top All gates include well and substrate contacts Other Issues Noise Power Delay Chip Noise Circuit noise includes all the disturbances by the circuit’s topology Interconnect noise includes noise coming from capacitive or inductive coupling between interconnects Power supply noise, which refers to deviations of the supply and ground voltages from their nominal values Substrate noise in mixed-signal integrated circuits: For Example: The charge injected in the substrate by the logic gates during the transitions may interfere severely with the operation of sensitive analog circuits Reference: Bartolo’s Thesis, Chapter 1 Shot Noise In a transistor the major contributor to noise is called shot noise. The formula for shot noise in a diode is given as: Reference: Lowen, S.B et.al,“ Power-law shot noise”, Information Theory, IEEE Transactions on Volume 36, Issue 6, Nov. 1990 Page(s):1302 - 1318 Thermal Noise The noise generated by the agitation and interaction of electrons is called thermal noise. The internal kinetic energy of a particle can be expressed through its temperature. The kinetic energy of a body is zero at a temperature of absolute zero. The noise generated by a resistor, for example, is proportional to its absolute temperature as well as the bandwidth over which the noise is to be measured. Reference: Bing Wang,et.al; “MOSFET thermal noise modeling for analog integrated circuits”, Solid-State Circuits, IEEE Journal of Volume 29, Issue 7, July 1994 Page(s):833 - 835 ue 6, Nov. 1990 Page(s):1302 - 1318 Charge Injection Problem Solution When the switch is on, the voltage across the sampling capacitor tracks the timevarying input signal within the bandwidth. Some charges are present in the MOS channel, this is a result of forming a conducting channel under the MOS gate. When the switch is turned off, charges either flow to the input source or to the sampling capacitor and create a small voltage which . is a function of several parameters which include input impedance, source impedance, clock falling edge. Reference: http://kabuki.eecs.berkeley.edu/~gchien/thesis/Masters/appB/appendixB.pdf Clock Feed-through When the clock voltage on the gate switches between high and low, this voltage. drop is coupled into the signal via the capacitor divider. The clock feed-through can be corrected to the first order by using a differential signal path. As long as the error is present on both signal inputs and the same magnitude, it can be cancelled by taking the input differentially. This technique, once again, depends on the absolute matching of transistors. Reference: http://kabuki.eecs.berkeley.edu/~gchien/thesis/Masters/appB/appendixB.pdf Ground Bounce For significant flows the voltage drop across this inductor is given by: VB = L dI/dt For a 50 mA current change over 3 ns in a 3mm x 1 cm line VB = 50 mV which is enough “noise” to disrupt digital signal quality. Reference: http://klabs.org/richcontent/Tutorial/new_modules/ground_bounce.pdf Latch-up This spiking problem leads to a condition called latch-up Falling edge spike goes through C2 turning on transistor Q2 Current flow through Q2 causes voltage drop across RW1 and RW2 turning on transistor Q1 Current flow through Q1 causes voltage drop across RS1 and RS2 further turning on Q2 Rising edge spike has same effect starting with pass through C1 Reference: R.J. Baker, CMOS Circuit Design, Layout, and Simulation, Second Edition, John Wiley and Sons, 2005 Solutions to Latch-up Slow the rise/fall time to reduce the size of the spikes Reduce the size of drain region to reduce C1 and C2. Reduce RW1 and RS2 by placing substrate and well contacts close to the transistor drains Place n+ and p+ regions around critical circuits. These features (called guard rings) are effective but take space and limit the ability to use poly as an interconnect layer Reference: R.J. Baker, CMOS Circuit Design, Layout, and Simulation, Second Edition, John Wiley and Sons, 2005 Layout Design It is very important for a layout designer to understand the bounds of laying out a circuit as it depends on the type of the circuit designed This step characterizes a chip as a whole where a circuit is laid out, then extracted and its functionality checked During the extraction process a large number of parasitic including capacitances, inductances and resistances is obtained that lead to more complications in circuit design Therefore one of the fundamental limitations of high speed design is to have a strong understanding of layout extraction Most of the layouts are implemented using software tools like Magic, Cadence, and Tanner Tools etc Reference: Prashant Bhadri, Raghuram Srinivasan, Prosenjit Mal, Fred Beyette Jr., Harold Carter, “Design and Analysis of Mixed Mode Integrated Circuits” IEEE Potentials Magazine, February 2005, pp: 6-11 Definitions Process of virtually simulating the design and checking conformance with the specs Advantages of Verification: Early error detection Fine tuning the design based on verification output Reliable time metrics can be obtained Verification in a M-S Environment Multiple domains, multiple abstraction levels Simulation cycle handles notion of time in discrete and continuous values Separate simulation engines, working with the same set of signals Output Analysis in Time/Frequency Spice Circuit Simulator First IC evaluation software Has inbuilt components models for circuit elements Allows different levels of models for varying accuracy requirements Provides accurate measurement for power and timing Supports only structural models Comparison of Spice and VHDL-AMS Parameter Behavioral Models Multiple Analysis Modes Digital Components Mixed Time Modeling Equation Set Analysis Power/Area Analysis VHDL-AMS Spice Evolution of M-S HDL’s MAST – Developed during the early 80’s, required expert users VHDL-AMS – First version of the LRM in 1993, shifted burden from user to simulator Verilog-AMS – Extension of Verilog Highlights of VHDL-AMS Inclusion of continuous valued “quantities” Allows design entry at the behavioral or structural levels No concept of components like Spice, only equation sets Analog solution based on numerical integration VHDL-AMS Simulator Design LIBRARIES VHDL-AMS SIMULATOR KERNEL DAE SOLVER FES TyVIS DIGITAL KERNEL LEXICAL ANALZER SPICE WARPED Kernel VHDL Challenges in M-S Verification Convergence – not always a guarantee Large variations in time steps Parasitic capacitances – model order and E.M effects “Ripple Effect”: Whole design needs to be verified during design modifications High Frequency Analysis support still primitive Verification Verification is the process by which the correctness of the design and implementation details is compared to the original specifications Hardware description languages model complex systems A/D components SOC’s have given rise to Analog and Mixed Signal (AMS) tools These tools combine methods from traditional circuit simulators like SPICE and digital simulation kernels like VHDL to deal with both of these components Any unsatisfactory or incorrect parameters can be detected and the design can be modified to correct the errors or approach certain tolerance levels Reference: Prashant Bhadri, Raghuram Srinivasan, Prosenjit Mal, Fred Beyette Jr., Harold Carter, “Design and Analysis of Mixed Mode Integrated Circuits” IEEE Potentials Magazine, February 2005, pp: 6-11 Electronic Circuit Design Process A CMOS foundry takes a wafer of silicon and processes it into an array of circuits (called die). The wafer will also contain test structures, process monitoring plugs and alignment reticules. The individual die are diced from the wafer and packaged into a variety of electronic devices. Reference: R.J. Baker, CMOS Circuit Design, Layout, and Simulation, Second Edition, John Wiley and Sons, 2005 MOSIS: The MOS Integration Service MOSIS WEBSITE The MOS Integration Service (MOSIS) provides a low cost method for implementing CMOS designs. The service works by purchasing fabrication runs from commercial CMOS foundries and distributing the cost over a larger number of circuit designers. For more information visit the MOSIS web page at www.mosis.org Wafer Cleaning Oxidation Epitaxial Growth Lithography Fabrication Process Description Implantation Diffusion NO Metal Layer? YES Fabricated Chip Metal Deposition Annealing Reference: R.J. Baker, CMOS Circuit Design, Layout, and Simulation, Second Edition, John Wiley and Sons, 2005 Fabrication The chip is fabricated (generally on lightly doped p-type or n-type silicon wafer) using specific fabrication technology (i.e. TSMC 0.35µm or IBM 0.13µm process etc.) that has been specified at circuit design level or before A series of photolithographic mask layers are designed depending on type process and number of steps involved Subsequently, the whole design runs through several fabrication steps that involve oxidation, photo-lithography (developing photo-resist layers, exposing to UV and etching), implantation of p+ or n+ source/drain region, metallization for forming contacts and developing field oxide for isolation of transistors Fabrication processes are characterized by minimum feature size in a transistor, gate oxide thickness, no. of poly and metal layers available for interconnections, sheet resistances of different wells, doped regions, and metal and poly-silicon Reference: Prashant Bhadri, Raghuram Srinivasan, Prosenjit Mal, Fred Beyette Jr., Harold Carter, “Design and Analysis of Mixed Mode Integrated Circuits” IEEE Potentials Magazine, February 2005, pp: 6-11 Testing Overview Block Diagram of the Photoreceiver Photoreceiver Testing Logic Analyzer Testing Photoreceiver Circuit Courtesy: Dr. Prosenjit Mal Photoreceiver Layout Example of Mixed Signal {Optical} Testing Laser Diode P1 LD Drive Cubicle Splitter P2 Optical Power Meter P3 Fiber Coupler Optical Fiber Computer (LabVIEW Program) P4 Detector/Receiver Multi-meter Power Source Reference: Prashant Bhadri, Raghuram Srinivasan, Prosenjit Mal, Fred Beyette Jr., Harold Carter, “Design and Analysis of Mixed Mode Integrated Circuits” IEEE Potentials Magazine, February 2005, pp: 6-11 Example Optical input power changes from 0 – 1mW Most sensitive settings (000) switches around 450µW Least sensitive settings (111) switches around 675µW User can fine tune the range with Vadj Vadj can be changed 0 – 3.3V corresponds to input range shift of 90µW General M-S Tests Continuity Tests: Detecting on Chip ESD Validating Connectivity between Device and Tester Fault Elimination Breakdown Test: Current Limit Voltage Limit Power Supply Test: IDDQ Metal Errors – shorted traces Implant/Diffusion errors – shorted substrate Faulty ESD Clamps Open/Floating Wells Open/Floating Digital gate input Reference: Prof. Forrest Brewer www. bears.ece.ucsb.edu/class/ece224b/Lecture3mixedtest.ppt General M-S Tests (Contd.) Impedance Measurement Z=V/I (Usually Z=DV/DI) Force V, measure I (High Impedance) Force I, Measure V (Low Impedance) Defined Testing Levels Reduce possibility of DUT damage Increase accuracy of measurement Power Analysis Testing over Operation Range Voltage/Current/Freq Memory devices Processors Reference: Prof. Forrest Brewer www. bears.ece.ucsb.edu/class/ece224b/Lecture3mixedtest.ppt Testing To facilitate the testing process, a number of test structures are evenly distributed all over the chip Test station equipment includes pattern generator, logic analyzer, probe station, semi-conductor parameter analyzer, oscilloscope etc While pattern generator and logic analyzer are used for digital test pattern generations and measurements, other equipment facilitate probing of device parameters and analog data measurements The chip is run on through a number of test vector sets which are generated from computer using various test algorithms In conclusion, the circuit is verified for its functionalities and specifications. Also tests are run for a period of time to check any variation of performance Reference: Prashant Bhadri, Raghuram Srinivasan, Prosenjit Mal, Fred Beyette Jr., Harold Carter, “Design and Analysis of Mixed Mode Integrated Circuits” IEEE Potentials Magazine, February 2005, pp: 6-11 Outline of the Tutorial Motivation Overview Detailed Design Process Simulation with VHDL-AMS Evaluation Process Conclusions Acknowledgements Question and Answers VHDL-AMS Overview Capabilities Language Overview Solution Cycle Solvability Discontinuities Predefined Attributes Conclusion References Half Wave Rectifier BEGIN -- behavior --diode equations if( vDiode >= (-1.0 * Vt)) USE eqn1_1: iDiode == saturation_current * (exp(vDiode/Vt) - 1.0); ELSIF ((vDiode < (-3.0 * Vt)) AND (vDiode > -BV)) use eqn1_2: ELSE iDiode == neg_sat; eqn1_3: iDiode == neg_sat * (exp(-(BV + vDiode)/Vt) - 1.0 + saturation_current); END USE ; --resistor equation eqn2: v2 == 100.0 * i2; --voltage source equation eqn4: vs == 5.0 * sin(2.0 * 3.14 * 100000.0 * real(time'pos(now)) * 1.0e-15 ); END behavior ; Bouncing Ball Model ENTITY bouncing_ball IS END ENTITY bouncing_ball; ARCHITECTURE simple OF bouncing_ball IS QUANTITY v: real; QUANTITY s: real; CONSTANT G: real := 9.81; CONSTANT Air_Res: real := 0.1; BEGIN -- specify initial conditions using the break statement b1:BREAK v => 0.0, s => 30.0; b2:BREAK v => -0.7*v WHEN NOT(s'above(0.0)); velocity: v == s'dot ; acceleration: v'dot == -G; END ARCHITECTURE simple; ∑-∆ Modulator BEGIN comp1: compr port map(clk_enable , analog_vin, dac_out); and1: andComp port map(clk_in, clk_enable, enable_count); count1: counter port map(clear, enable_count, counter_op); da_conv: dac port map(counter_op, dac_out, electrical'reference); M-S Simulation Mixed representations of time, synchronization Multiple physical domains Conservative and non-conservative models Solvability, Convergence VHDL-AMS – VHDL 1076.1-1999 Superset of VHDL 1076 Analysis types – transient, noise, small signal frequency Solve Differential Algebraic Equations (DAE) Tolerances, discontinuity handling Language Overview Nature definitions Terminals and Quantities Quantity Attributes – Implicit quantities/signals Mixed-signal interfaces Mixed-signal descriptions of behavior Quantities . . . ARCHITECTURE sinebehavior OF sineSource IS QUANTITY Irsine THROUGH ta2 TO tb2; QUANTITY resistor: REAL; . . . Represents an unknown in the set of DAEs Continuous time waveform Pre-defined attributes create implicit quantities Types of Quantities ENTITY example IS PORT ( PORT QUANTITY interface_q: REAL; QUANTITY TERMINAL elec_p, elec_n: ELECTRICAL); END ENTITY example; BRANCH QUANTITY ARCHITECTURE simple OF example IS QUANTITY v1, v2 ACROSS i1, i2, i3 THROUGH elec_p TO elec_n; FREE QUANTITY QUANTITY free_q: REAL; . . . Terminal ENTITY diode IS . . . PORT ( TERMINAL anode, cathode: ELECTRICAL); END ENTITY diode; Represents a node in an electrical circuit Support for structural composition with conservative semantics Belongs to a NATURE Electrical Systems Environment PACKAGE electrical_system IS SUBTYPE voltage IS REAL TOLERANCE “default_voltage”; SUBTYPE current IS REAL TOLERANCE “default_current”; SUBTYPE charge IS REAL TOLERANCE “default_charge”; NATURE electrical IS voltage ACROSS -- across type current THROUGH -- through type electrical_ref REFERENCE; -- reference type ALIAS ground IS electrical_reference; NATURE electrical_vector IS ARRAY ( NATURAL RANGE <>) OF ELECTRICAL; END PACKAGE electrical_system; Nature Definition Electrical nature in package electrical system Represents a physical discipline/energy domain Each node is of a certain nature Defines the types of quantities incident on the terminal Subnature declaration – different tolerance levels Other nature definitions: thermal, translational, rotational, fluidic, magnetic, etc.. Relation between Elements Terminal Nature Structure Information Type Information Quantity Simultaneous Statement(1) ARCHITECTURE simple OF bouncing_ball IS . . . BEGIN . . . velocity: v == s'dot ; acceleration: v'dot == -G; . . . Expresses relationship between quantities – used by the analog solver May appear anywhere a concurrent statement may appear Simultaneous Statements(2) LHS and RHS – Floating point type One quantity must appear in each simultaneous statement Tolerance group determined by the quantities Other Forms of Simultaneous Statements Simultaneous IF statement Simultaneous CASE statement Simultaneous procedural statement – functions DAE Solvers and Tolerance z z z z DAE – Differential Algebraic Equations Solver – Uses numerical integration to reduce DAE’s to linear/non-linear equations Tolerance – Accept all solutions within a certain amount of variance Necessary to adjust for accuracy of numerical methods Simulation Cycle Analysis Syntax, Semantics Elaboration Flatten out processes & signals Digital/Analog Solver Simulation Sierra – VHDL-AMS Simulator SCRAM Intermediate Representation C++ VHDL-AMS TyVIS/SIERRA PLOTTER Graphical Operation Simulation Operation Analog/DAE Solver SEAMS: Simulation Environment for VHDL-AMS – Frey et al., 1998 Winter Simulation Conference Solvability General Solvability - # of equations equals # of unknown quantities For VHDL-AMS: #(Equations) = #(through quantities) + #(free quantities) + #(interface quantities of mode OUT) Each scalar simultaneous statement creates one equation Sample Solvability Problem ENTITY battery IS ENTITY battery IS PORT ( TERMINAL plus, minus: PORT ( TERMINAL plus, minus: electrical ); electrical ); END ENTITY battery; END ENTITY battery; ARCHITECTURE simple OF battery IS ARCHITECTURE simple OF battery IS CONSTANT v_nominal: REAL := 9.0; CONSTANT v_nominal: REAL := 9.0; QUANTITY v ACROSS plus TO minus; QUANTITY v ACROSS i THROUGH plus TO minus; BEGIN v = = v_nominal; END ARCHITECTURE simple; BEGIN v = = v_nominal; END ARCHITECTURE simple; Solvability – Simultaneous IF Statement ENTITY sfgAmp IS GENERIC ( gain: REAL := REAL’HIGH); PORT (QUANTITY input: IN REAL; QUANTITY output: OUT REAL); END ENTITY sfgAmp; ARCHITECTURE ideal OF sfgAmp IS BEGIN IF gain /= REAL’HIGH USE output = = gain * input; ELSE input = = 0.0; END USE; END ARCHITECTURE ideal; Same # in each USE clause Discontinuities BEGIN -- specify initial b1:BREAK v => 0.0, s => 30.0; b2:BREAK v => -0.7*v WHEN NOT(s'above(0.0)); velocity: v == s'dot ; acceleration: v'dot == -G; END ARCHITECTURE simple; BREAK ! Break Statement Prompts analog solver to reset its state Coincides with a digital event Explicitly say which event – to improve simulation speed Is also employed to specify initial conditions A model not having a BREAK at a discontinuity is erroneous! Predefined Attributes z Implicit signals/quantities created: Quantity Attributes Q’above(E), Q’dot, Q’integ, Q’slew(n1,n2) Frequency domain: Q’ztf( num, den, t, initial_delay), Q’ltf( num, den) z Signal Attributes S’ramp( n1, n2), S’slew( n1, n2) Summary Use VHDL-AMS for your M-S circuits! Some Sources: www.ececs.uc.edu/~dpl : University of Cincinnati www.syssim.ecs.soton.ac.uk: Southampton, UK www.dolphin.fr: Dolphin Systems - Smash www.mentor.com: Mentor Graphics – Advance MS References z z z z The System Designer's Guide to VHDL-AMS – Ashenden et al. Modeling Semicondutor Devices using the VHDL-AMS Language – KasulaSrinivas, MS Thesis, University of Cincinnati, 1998. Introduction to the VHDL-AMS Language – Christen et al., Tutorial Presented at DAC, 1999 VHDL 1076.1 LRM – IEEE Press, 2003 Outline of the Tutorial Motivation Overview Detailed Design Process Simulation with VHDL-AMS Evaluation Process Conclusions Acknowledgements Question and Answers Performance Evaluation using R-Software Introduction ‘R’ statistical software was initially introduced by Ross Ihaka and Robert Gentleman at Department of Statistics of University of Auckland, New Zealand during 1990s Since 1997: international “R-core” team of 15 people collaborated in an effort to make it an open source R is a language and environment for statistical computing and graphics. R provides a wide variety of statistical (linear and nonlinear modelling, classical statistical tests, time-series analysis, classification, clustering, . ...) and graphical techniques, and is highly extensible Reference: 1. Huang Chen - www.math.ntu.edu.tw/~hchen/ Prediction/notes/R-programming.ppt 2. The R Project for Statistical Computing - http://www.r-project.org/ Highlights of R R is a language and environment for data manipulation, calculation and graphical display:R is similar to the award-winning S system, which was developed at Bell Laboratories by John Chambers et al. a large, coherent, integrated collection of intermediate tools for interactive data analysis, graphical facilities for data analysis and display either directly at the computer or on hardcopy a well developed programming language which includes conditionals, loops, user defined recursive functions and input and output facilities. Reference: 1. Huang Chen - www.math.ntu.edu.tw/~hchen/ Prediction/notes/R-programming.ppt 2. The R Project for Statistical Computing - http://www.r-project.org/ The core of R is an interpreted computer language:It allows branching and looping as well as modular programming using functions. Most of the user-visible functions in R are written in R, calling upon a smaller set of internal primitives. It is possible for the user to interface to procedures written in C, C++ or FORTRAN languages for efficiency, and also to write additional primitives Reference: 1. Huang Chen - www.math.ntu.edu.tw/~hchen/ Prediction/notes/R-programming.ppt 2. The R Project for Statistical Computing - http://www.r-project.org/ What R Does & Does Not ? Data handling and storage Not a database, but connects to DBMSs Matrix algebra Hash tables and regular expressions No graphical user interfaces, but connects to Java, TclTk High-level data analytic and statistical functions Language interpreter can be very slow, but allows to call own C/C++ code Graphics No spreadsheet view of data, but connects to Excel/MsOffice Programming language: loops, branching, subroutines No professional / commercial support Reference: 1. Huang Chen - www.math.ntu.edu.tw/~hchen/ Prediction/notes/R-programming.ppt 2. The R Project for Statistical Computing - http://www.r-project.org/ Data Analysis and Presentation The R distribution contains functionality for large number of statistical procedures. Linear and generalized linear models Nonlinear regression models Time series analysis Classical parametric and nonparametric tests Clustering Smoothing Large set of functions which provide a flexible graphical environment for creating various kinds of data presentations. Reference: 1. Huang Chen - www.math.ntu.edu.tw/~hchen/ Prediction/notes/R-programming.ppt 2. The R Project for Statistical Computing - http://www.r-project.org/ References z “The New S Language: A Programming Environment for Data Analysis and Graphics” by Richard A. Becker, John M. Chambers and Allan R. Wilks (the “Blue Book”) . z “Statistical Models in S” edited by John M. Chambers and Trevor J. Hastie (the “White Book”) z Internet site (via http://cran.r-project.org). Reference: 1. Huang Chen - www.math.ntu.edu.tw/~hchen/ Prediction/notes/R-programming.ppt 2. The R Project for Statistical Computing - http://www.r-project.org/ WHAT IS A SYSTEM ? Factors System Inputs SYSTEM Responses Courtesy: Dr. Harold Carter System Outputs Experimental Research Define Define System System Define system outputs first Then define system inputs Finally, define behavior (i.e., transfer function) Identify Identify Factors Factors and and Levels Levels Identify system parameters that vary (many) Reduce parameters to important factors (few) Identify values (i.e., levels) for each factor Identify Identify Response(s) Response(s) Identify time or space effects of interest Design Design Experiments Experiments Identify factor-level experiments Courtesy: Dr. Harold Carter Create and Execute System; Analyze Data Define Define Workload Workload Workloads are inputs that are applied to system Workload can be a factor (but often isn't) Create Create System System Create system so it can be executed Real prototype Simulation model Empirical equations Execute Execute System System Execute system for each factor-level binding Collect and archive response data Analyze Analyze & & Display Display Data Data Courtesy: Dr. Harold Carter Analyze data according to experiment design Evaluate raw and analyzed data for errors Display raw and analyzed data to draw conclusions Examples ANALOG SIMULATION Which of three solvers is best? What is the system? Responses Fastest simulation time Most accurate result Most robust to types of circuits being simulated Factors Solver Type of circuit model Matrix data structure Courtesy: Dr. Harold Carter EPITAXIAL GROWTH New method using nonlinear temp profile What is the system? Responses Total time Quality of layer Total energy required Maximum layer thickness Factors Temperature profile Oxygen density Initial temperature Ambient temperature Generic Model for Network Protocol Data file “latency.dat” Latency 22 23 19 18 15 20 26 17 19 17 Courtesy: Dr. Harold Carter System: wireless network with new protocol Workload: 10 messages applied at single source Each message identical configuration Experiment output Roundtrip latency per message (ms) Data Distribution Box Plot Summary Latency Min. :15.00 1st Qu.:17.25 Median :19.00 Mean :19.60 3rd Qu.:21.50 Max. :26.00 Courtesy: Dr. Harold Carter Scatter Plot Mean: 19.6 ms Variance: 10.71 ms2 Std Dev: 3.27 ms Verify Model Preconditions Check randomness Use plot of residuals around mean Residuals appear random Courtesy: Dr. Harold Carter Check normal distribution Use quantile-quantile plot Pattern adheres consistently along ideal Q-Q line Confidence Intervals Sample mean vs Population mean CI: > 30 samples CI: < 30 samples Courtesy: Dr. Harold Carter Reference: Raj Jain, “The Art of Computer Systems Performance Analysis,” Wiley, 1991. T- Test Analysis t.test (dataset1,conf.level = 0.99) One Sample t-test data: dataset1 t = 18.9382, df = 9, p-value = 1.468e-08 alternative hypothesis: true mean is not equal to 0 99 percent confidence interval: 16.2366 22.9634 sample estimates: mean of x 19.6 Courtesy: Dr. Harold Carter t.test (dataset1,conf.level = 0.95) One Sample t-test data: dataset1 t = 18.9382, df = 9, p-value = 1.468e-08 alternative hypothesis: true mean is not equal to 0 95 percent confidence interval: 17.25879 21.94121 sample estimates: mean of x 19.6 Scatter and Line Plots Regression Plot Depth 1 2 3 4 5 6 7 8 9 10 Resistance 1.689015 4.486722 7.915209 6.362388 11.830739 12.329104 14.011396 17.600094 19.022146 21.513802 Residual Plot Normally Distributed Error Linear Regression Statistics model = lm(Resistance ~ Depth) summary(model) Residuals: Min 1Q Median 3Q Max -2.11330 -0.40679 0.05759 0.51211 1.57310 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -0.05863 0.76366 -0.077 0.94 Depth 2.13358 0.12308 17.336 1.25e-07 *** --Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1 Residual standard error: 1.118 on 8 degrees of freedom Multiple R-Squared: 0.9741, Adjusted R-squared: 0.9708 F-statistic: 300.5 on 1 and 8 DF, p-value: 1.249e-07 Courtesy: Dr. Harold Carter Comparing Two Sets of Data Example: Consider two wireless different access points. Which one is faster? Inputs: same set of 10 messages communicated through both access points. Approach: Take difference of data and determine CI of difference. If CI straddles zero, cannot tell which access point is faster. Response (usecs): Latency1 Latency2 22 19 23 20 19 24 18 20 15 14 20 18 26 21 17 17 19 17 17 18 Courtesy: Dr. Harold Carter CI95% = (-1.27, 2.87) usecs Confidence interval straddles zero. Thus, cannot determine which is faster with 95% confidence Plots with Error Bars Execution time of SuperLU linear system solution on parallel computer Ax = b For each p, ran problem multiple times with same matrix size but different values Determined mean and CI for each p to obtain curve and error intervals Courtesy: Dr. Harold Carter Statistical Point Analysis Output from Model Mean, Std Dev, Variance, Box Plot Check for Randomness Residual Analysis T-test Analysis Confidence Interval Check for Distribution Q-Q Plot Specification Compare Decision Outline of the Tutorial Motivation Overview Detailed Design Process Simulation with VHDL-AMS Evaluation Process Conclusions Acknowledgements Question and Answers Conclusions Increasing trend towards highly integrated systems, there is an ever growing demand for hardware based on SOC technology Development of these complex components places correspondingly multifarious demands on the design engineer, New CAD and simulation resources are providing system and chip designers with the design tools necessary for integrated CMOS hardware New CAD tools can be used with a standard design methodology to produce mixed technology designs Integrate analog, digital and mixed signal into a single device design that can be fabricated through a conventional CMOS fabrication process Design methodology and new CAD/simulation tools allow the design engineer to focus on the intricacies of mixed mode integrated circuit design (ex noise reduction, signal cross-talk, etc.) without loosing site of chip functionality or system level performance specification Reference: Prashant Bhadri, Raghuram Srinivasan, Prosenjit Mal, Fred Beyette Jr., Harold Carter, “Design and Analysis of Mixed Mode Integrated Circuits” IEEE Potentials Magazine, February 2005, pp: 6-11 Outline of the Tutorial Motivation Overview Detailed Design Process Simulation with VHDL-AMS Evaluation Process Conclusions Acknowledgements Question and Answers Dr. Carla Purdy Dr. Harold W Carter Dr. Fred R Beyette Jr. Associate Professor Professor and Dept. Head Associate Professor Department of ECECS Department of ECECS Department of ECECS University of Cincinnati University of Cincinnati University of Cincinnati Aaron C. Barnes, M.S Alla S. Kumar L. Ramasamy, M.S Co-Director, Microsurgery Graduate Student Doctoral Researcher Advanced Design Lab Department of ECECS Department of ECECS Doheny Retina Institute University of Cincinnati University of Cincinnati Univ. of Southern California Question and Answers