1
Introducing the Spectre Circuit Simulator
The Spectre® circuit simulator is a modern circuit simulator that uses direct methods designed to simulate analog and digital circuits at the differential equation level. The basic capabilities of the Spectre circuit simulator are similar in function and application to SPICE; however, the Spectre circuit simulator has not descended from SPICE. The Spectre and SPICE simulators use the same basic algorithms—such as implicit integration methods, Newton-Raphson, and direct matrix solution; however, every algorithm is newly implemented. Spectre algorithms, the best currently available, give you an improved simulator that is faster, more accurate, more reliable, and more flexible than previous SPICE-like simulators.
In addition to the baseline simulation functionalities, Spectre supports multiple simulation technologies in a common simulation platform, allowing you to choose the most effective technology for your application, but retaining the same Spectre simulation infrastructure - netlist format, analysis and options syntax, device models, output formats, and feature functions across all the technology choices. The Spectre simulator technology family includes the Spectre® Classic technology, the accelerated parallel simulation (APS) technology, the Spectre® X technology, and the extensive partitioning simulation (XPS) technology.
Spectre® APS maintains baseline Spectre simulation accuracy, fully supports all Spectre functionalities, and provides highly enhanced significant single- and multi-core simulation performance, with an effective simulation capacity of multi-million transistors and tens of millions of parasitic elements. For more information, see The Spectre APS Circuit Simulator.
Spectre X introduces the next-generation SPICE simulation technology, significantly improves simulation performance and capacity over Spectre APS, and features with a simple high-level preset use model. With an effective simulation capacity of tens of millions of transistors and hundreds of millions of parasitic elements, the ability to exploit modern parallel computer architectures with over a hundred active cores, Spectre X is the technology of choice for the largest and most challenging contemporary simulation problems. For more information, see The Spectre X Circuit Simulator.
Spectre® XPS, incorporating a completely new circuit partitioning and multi-rate technology, further extends the simulation performance and simulation capacity to effectively enable full-chip simulation at advanced process nodes. See The Spectre XPS Circuit Simulator for details on Spectre XPS.
This chapter discusses the following:
- Spectre Usability Features and Customer Service
- Variation Analysis
- Analog HDL
- AHDL Linter
- RF Capabilities
Spectre Usability Features and Customer Service
The following features and services help you use the Spectre circuit simulator easily and efficiently:
- You can run the Spectre circuit simulator standalone or run it under the Virtuoso® analog design environment. To see how the Spectre circuit simulator is run under the analog circuit design environment, read the Virtuoso Analog Design Environment User Guide. You can also run the Spectre circuit simulator in the Composer-to-Spectre direct simulation environment. The environment provides a graphical user interface for running the simulation.
- The Spectre circuit simulator gives you an online help system. With this system, you can find information about any parameter associated with any Spectre component or analysis. You can also find articles on other topics that are important to using the Spectre circuit simulator effectively.
-
You can type
spectre -hat the UNIX command line to get detailed information about a feature, analysis, model, and option. -
Spectre diagnosis mode, available as an
optionsstatement parameter, gives you information to help diagnose convergence problems.
Variation Analysis
In order to provide practical design robustness assessment to circuit designers, Spectre, Spectre APS, and Spectre XPS support a simple variation analysis capability. It enables you to impose different levels of variation on device performance characteristics, instead of being dependent on the foundry statistical model, thereby enabling circuit designers to explore circuit design robustness under different conditions. This capability is not meant to replace the traditional statistical analysis approach for yield estimation or optimization, but rather providing a tool for circuit designers to expose design sensitivity. With this new capability, statistical simulation can be performed on a larger scale, for example, full SRAM design.
The variation analysis follows the Spectre Monte Carlo use model, but does not require the identification and parameterization of statistical parameters. An example is shown below
vary ids primitive=[bsim4] dist=gauss std=2.5 percent=yes
vary ids primitive=[bsim4] dist=gauss std=4.5 percent=yes
mc1 montecarlo variations=mismatch seed=4321 numruns=3 method=vade {
The example imposes a 2.5% Gaussian mismatch variation, plus a 4.5% Gaussian process variation, on all BSIM4 Ids currents.
When using the variation analysis, process and mismatch statements are used to define the ids variation. Additionally, the primitive, the distribution type, and the standard deviation need to be defined.
The variation analysis is enabled by the method=vade option (vade = Variation Aware Design Exploration) in the Monte Carlo statement. Spectre XPS supports all Monte Carlo options and distribution types “uniform”, “Gaussian”, “limit”, and “shift” whereas Spectre and Spectre APS support all Monte Carlo options and “uniform” and “Gaussian” distribution types.
Factor truncate is not supported for gamma distribution
Output of the variation analysis are family plots, measure file, and montecarlo.mcdat file. To view warning and errors of individual variation runs please check the <netlist>_#.log files.
Supported Features
The following table lists the features that are supported by Spectre, Spectre APS, Spectre MS, and Spectre XPS (SPICE, SRAM, DRAM, and Flash):
| Feature Name | Spectre | Spectre APS | Spectre X | Spectre MS | XPS Flash | XPS SPICE | XPS SRAM | XPS DRAM |
|---|---|---|---|---|---|---|---|---|
|
Yes1 |
||||||||
|
Yes2 |
Yes3 |
|||||||
|
Direct EMIR Analysis4 |
||||||||
|
Iterated EMIR Analysis5 |
||||||||
|
Yes/No6 |
||||||||
|
Yes/No7 |
||||||||
|
Yes/No8 |
||||||||
|
Yes/No9 |
||||||||
|
Circuit Checks (dynamic)10 |
||||||||
Analog HDL
The Spectre circuit simulator works with Verilog®-A, an analog high-level description language (AHDL). The Verilog-A language is an open standard and is part of the Spectre Verilog-A option. The Verilog-A language is upward compatible with Verilog-AMS, a powerful and industry-standard mixed-signal language.
The Verilog-A language uses functional description text files (modules) to model the behavior of electrical circuits and other systems. It allows you to create your own models by simply writing down the equations. The AHDL lets you describe models in a simple and natural manner. This is a higher level modeling language than previous modeling languages, and you can use it without being concerned about the complexities of the simulator or the simulator algorithms. In addition, you can combine AHDL components with Spectre built-in primitives.
The Verilog-A language lets designers of analog systems and integrated circuits create and use modules that encapsulate high-level behavioral descriptions of systems and components. The behavior of each module is described mathematically in terms of its terminals and external parameters applied to the module. Designers can use these behavioral descriptions in many disciplines (electrical, mechanical, optical, and so on).
The Verilog-A language borrows many constructs from Verilog and the C programming language. These features are combined with a minimum number of special constructs for behavioral simulation. These high-level constructs make it easier for designers to use a high-level description language for the first time.
For more information on Verilog-A, refer to the Cadence® Verilog®-A Language Reference manual.
AHDL Linter
You can use the AHDL Linter feature to analyze the Spectre/Spectre APS testcases containing Verilog-A models. The AHDL Linter feature enables you to detect issues in the Verilog-A models. AHDL Linter checks the design for:
AHDL linter consists of static and dynamic lint checks. Static lint checks are performed before analysis. Dynamic lint checks are performed during analysis for dynamic modeling issues.
AHDL Linter in Spectre/Spectre APS is activated using the following command-line options:
%spectre -ahdllint netlist.scs
%spectre +aps -ahdllint netlist.scs
For more information on the AHDL Linter feature, refer to AHDL Linter Checks.
RF Capabilities
The Spectre® circuit simulator RF analysis (Spectre RF) analyses add capabilities to the Spectre circuit simulator, such as direct, efficient computation of steady-state solutions and simulation of circuits that translate frequency.
For more information on RF analyses, refer to the Spectre Circuit Simulator and Accelerated Parallel Simulator RF Analysis in ADE Explorer User Guide.
Return to top