Quick
simulation for large designs using Ultrasim
If you haven't read the CAD tool information page, READ THAT FIRST.
Ultrasim is a fast event-driven circuit simulation engine. It differs
from Spectre in that the circuit is partitioned into a set of stages, usually
defined by transistor connected together by their sources and drains (referred
to as channel-connected components, CCCs, or channel-connected regions, CCRs).
Only when the inputs of the CCC change is the circuit simulation engine envoked on
that CCC. In addition, Ultrasim uses simplified device models to speed
analysis. So you are trading off Spectre's accuracy with Ultrasim's speed.
Ultrasim work very well on digital designs. For mixed-signal designs,
you must use care in how the design is partitioned and the accuracy options you
use to get good results on the analog pieces. This will be true for SRAM
sense amps, for example, or any PLL or DLL designs.
You will use Ultrasim for
functional verification; that is, to run large number of patterns through your
design to make sure that your design is logically correct. You may also
use Ultrasim for timing verification, although it is always a good idea, given
the approximate nature of the device models, to simulate at least a few patterns
in Spectre. You will find, however, that Ultrasim is dramatically faster
than Spectre on large designs.
- First, open a test schematic where
you have all of your input voltages defined (ex: not your inverter schematic,
but rather your inverter_test schematic) and launch 'ADE L'.
- Setup ->
Simulator/Directory/Host. Choose
UltraSim as your Simulator.
- Session ->
Load State. Here, load a state with your three model
libraries already defined. You will get the message 'you cannot load states
for a different simulator'. Ignore it.
- Setup -> Model
Libraries. Check that you have all
three model libraries defined. If you don't, copy-paste again from the
Spectre tutorial page.
Here's what's tricky. After you switch Simulators (Ultrasim <-> Spectre) your
model libraries will be reset.
So whenever you open ADE L, DEFINE YOUR
SIMULATOR FIRST, then modify your remaining settings. It
will not help to have all of your settings ready then switch simulators.
- Note that you can alternate between
simulating your schematic and your extraction, just as you did with Spectre.
(Adding 'calibre' before 'schematic' in Setup -> Environment)
Check this before you simulate so that you are
aware of what you are simulating.
- Now it's time to play with the
various degrees of tradeoff between accuracy and speed. Go to
Simulations -> Options -> Analog. 'Simulation
Mode' defines the level of complexity - Digital Extended is the fastest, and
Spice is the slowest but most accurate. Mixed Signal may be suitable for
timing delays, for example, and Digital Fast may be suitable for figuring out
the logical functionality of a huge design, but of course these terms are
relative. Try running faster modes to get a sense of which one you need.
- You can leave 'Speed Option' and
'Analog Option' as Default.
- Moving onto the next tab
'Algorithm', click on DC Method. You can skip DC for very large designs.
- The tab 'Component' has an option
called MOS Method. Again, the four options are fastest on the top of the menu
and gets slower as you move down. This defines the accuracy of your MOS device
model. You can leave it at Analog/MS Table.
- Analyses ->
Choose. You will see that only transient analysis and 'envlp'
are available. Choose trans and define a suitable stop time.
- You can automatically have your
outputs plotted by doing 'Outputs -> To be plotted -> Select On
Schematic'. Click as many nets as needed, then press esc.
- Netlist and Run.
If you get an error saying 'T0, T1, ...
are not defined', you will most likely find that your three model libraries were
not properly added.
[EE4321 HOME]