- The uses of simulation as well as a brief mention of hardware design languages.
- The differences in scope and function between digital and analog simulators.
- Covering the abstraction level of simulators from low to high.
Circuit simulation is even able to perform analyses on expansive designs
The ability to design without having to commit to the expenses and time associated with a physical product is of undeniable value, especially at the outset of product development, when several key elements of the board are liable to change. Pivoting between circuit elements and even circuits themselves via digital integration is expeditious and allows for highly accurate analysis, often much more robust than low-tech analog measurements. Although testing cannot account for every quirk of the physical world, models have become comprehensive enough to provide more than adequate stand-ins while operating speeds far in excess of actual devices.
It should come as no surprise that the growth of circuit simulation, both in sophistication and power, has vastly increased productivity during design. The result is not just faster development speeds, but also more thorough designs due to the ease at which users can quickly build, probe, and analyze circuitry. Whether proof-of-concept or revision, circuit simulation provides an indisputable framework for modern PCB design.
Circuit Simulation: Functions and Implementations
Circuit simulation is the natural progression of the proof-of-concept builds one might find on a breadboard or other similar protoboard in terms of development cycle and sophistication. Circuit software blends a few major advantages:
- Flexibility - Simulations are both idealized where advantageous and nonidealized in areas where ignoring nonidealized effects would misrepresent the true performance of the circuit. Often, design for test or simulation will flout maximum and minimum limits of manufacturing technology to expedite the overall production.
- Speed - Even for simple circuits, the ability to rapidly build, simulate, probe, and analyze circuitry easily outpaces traditional analog methods, to make no mention of more complex designs.
- Design integration - It is easy to transfer circuits under simulation to further stages of the design, such as the schematic, without reproducing work. This not only saves time but also reduces the chance of error due to translation.
Simulations attempting to model the real-world performance of materials or nonidealized components are still able to perform exceedingly well compared to real-world counterparts. In these modeling cases, accuracy is important, as many factors within the circuit are dependent upon them – things such as impedance matching, parasitics, temperature, and more will have a pronounced effect on the overall performance of the components, substrate, and board features. Design aspects such as variations in manufacturing processes based on tolerances of equipment and material can be properly accounted for at this point of the board’s genesis, which can also double as an evaluation of acceptable yield using Monte Carlo simulations.
To test and build designs, engineers use hardware description languages, or HDLs, to synthesize virtual recreations of hardware. HDLs serve two important functions at the commencement of development: they are able to provide a much faster method to build and test circuits when fluidity in design is high while also generating a netlist for further downstream hardware builds. Porting code to hardware also provides a more valid approximation than the design environment alone, further serving the design-for-testing goal of the software. To aid in compatibility, HDLs operate without being tied to a specific circuit logic.
Differentiating Analog and Digital Simulation
Mixed-signal systems occupy a very important area in PCB design. In general, analog components are environment-facing devices that measure or interact with some continuous phenomenon in the physical world, while digital components operate on the basis of high and low voltage levels that signify triggers for on and off levels in circuitry. The separation between these two domains can be easily blurred – many IC packages may contain onboard analog to digital or digital to analog converters depending on the direction of the data flow for the component in question. Like any other circuit, both purely analog or digital, as well as mixed systems, require significant testing and probing to optimize the schematic design and improve underlying efficiency.
The method of representing and working with analog and digital circuits differs tremendously. Digital circuit simulation represents a purposeful collapse of some complexities inherent to analog design, primarily that the former’s Boolean logic allows for rapid evaluation compared to the transistor-based simulation of the latter. Analog computations, while comprehensive, can become overwhelming at large scales for complex circuits. Major design software is likely to include support for both analog and digital designs, but it’s valuable to understand the differences in operation between the two modes:
- Analog - Analog components are those that will be most familiar to beginners of network analysis, including basic circuit building blocks like resistors, capacitors, inductors, diodes, transistors, and other similarly fundamental design elements. Simulation software such as PSPICE provides ample features for users to study circuit responses to various stimuli conditions. This includes, but is not limited to:
- AC/DC waveform analysis and circuit response.
- Transient analysis for the transition to or from steady-state behavior in switching circuits. This includes oscillatory response behavior of the circuit (underdamped, critically damped, or overdamped) as well as inherent properties of the transients, such as rise time and overshoot or other errors.
- Transfer function for time/frequency domain conversions as well as amplification for op-amp network and circuits of similar functionality.
- Digital - Digital circuits model in a more abstract fashion. As digital circuitry can have a more direct implementation of software operating devices like microcontrollers or FPGAs, designers will often use these environments to simulate circuits by selectively encoding certain features or enabling/disabling components entirely. This is not to say electrical characteristics are not important – one of the top concerns for digital design is working around things like skew or rise/fall time. Rather, digital circuits have an extra layer of control to contend with. While there are a handful of design languages, most digital toolsets incorporate at least one of the following:
- Verilog is a modular hierarchical programming environment operating with concurrency. It can roughly be thought of as a more rigid C used exclusively for circuit modeling. A portion of the language is synthesizable, meaning it can be directly ported to FPGA or other programmable hardware.
- VHDL is a bit more abstract than Verilog, which offers advantages and disadvantages. While it is not directly synthesizable, this allows for modeling and simulation prior to gate and wire translation. VHDL resembles more of a traditional programming language due to its strong typing. Because of this, VHDL has an inherent learning curve that allows the designer to improve flexibility in design approaches with some practice. However, these additional design approaches that function at the behavioral level may not be feasible for gate-level implementation.
It should be noted that Verilog and VHDL are not necessarily in conflict, and in fact, engineers and developers are likely to encounter projects that combine both languages within their design.
Analog and digital waveforms – and their intricacies – require some different simulation approaches to accurately process
Understanding Abstraction in Simulation
Simulation is a broad stage of the greater development of the board and encompasses several levels of abstraction. Similar to programming languages, the closer the simulation is to actual hardware, the more impenetrable it can appear to those unfamiliar with that level of design. Meanwhile, high-level abstractions are more readily digestible but require a translation to be understood by hardware like a lower abstraction level simulation. Every level of abstraction has its uses, and though designers may naturally gravitate towards the abstraction level that most readily fits their needs and background knowledge, the ability to work within the different levels of abstraction as the product calls for will assist in reducing development times:
- Circuit-level simulation - The lowest level of circuit abstraction, dealing directly with the circuit parameters of various components. Requires continuous simulation techniques, which can rapidly become resource intensive in larger circuits, but are able to provide the closest real-world modeling possible. With both of these characteristics in mind, circuit-level simulation is generally reserved for the most critical sections of the circuit where there is little room for deviation from expected performance.
- Transistor-level simulation - A simulation using transistors, most commonly associated with the SPICE family of software. Due to the non-linear nature of transistors, a more involved algorithm is necessary to determine whether the matrix converges to some value.
- Logic-level simulation - The Boolean representation of the data and the level that designers typically operate within. Here, sequential and combinatorial logic data structures are utilized in a format reminiscent of common programming languages that are easy for designers to read and write before being synthesized into a file formatted for hardware. Also known as register-transfer level (RTL).
- Switch-level simulation - To simplify computational intensity, switch-level simulation replaces transistors with switches; at this level, the function is more important than performance. By removing some of the qualities that the software has to track, the speed and feasible size of the simulation increase dramatically.
- Gate-level simulation - Further reduces circuit complexity by replacing components with logic gates (think NAND, NOR, and other similar truth-table designs). The operation mode can switch from continuous to event-driven, further reducing the computational load on the system.
- Interface-level simulation - The highest level of simulation. This simulation grants designers significant latitude to the point where circuits may not necessarily be physically realizable. While designers must remain cognizant to avoid investing significant time into purely theoretical circuits, this level avoids the high granularity of circuit simulation inherent to the lower levels of abstraction.
- Functional-level simulation - This design level still constraints on the appropriate hardware. As opposed to concerning yourself with the individual Booleans at gate-level, function-level instead focuses its attention on the ultimate I/O of a particular circuit or circuit block.
- Behavioral-level simulation - The broadest outlook of circuit control. The purpose of this level is to understand the how and why of the circuit that can lead to experimentation with the design. It can be difficult to translate from this level to synthesis, yet this level remains useful for the rapid prototyping stage of development when the intricate details of the circuit are not a pressing issue.
The levels of abstraction in simulation
Circuit simulation unlocks a design’s potential by removing the practical restrictions on the ability to build and test different circuit configurations. Designers can enjoy benefits in addition to PSPICE functionality as a part of Cadence’s PCB Design and Analysis Software toolset, which provides even greater control over all ECAD-related design stages. Coupled with OrCAD PCB Designer, product development has never been faster.