Console-Based Circuit Simulation
in CADENCE Analog Artist:
A Tutorial Introduction to
Introduction and Setup
Perhaps you, like me, are among the dwindling number of IC designers who remember fondly the day when simulating a circuit meant typing text commands into a text window and reading the results as text output. Perhaps your nostalgia for that day, like mine, is based not solely on wistful longing for younger days but on the conviction that working this way is just plain faster than navigating the windows and menus of modern GUI-based circuit simulators. If so, then you, like me, felt somewhat put out when the world chose to abandon text-based programs like
A Preliminary Word: Using
Tutorial Example: A Fully Differential CMOS OpAmpFor the purposes of this tutorial I've created a CMOS op amp circuit and a test bench for it. The circuits are not necessary for the tutorial, but for a hands-on learning experience you might want to download the schematic files and play along in an
oceansession on your own machine. If nothing else, seeing the PDF versions of the schematics will make it easier to follow some of the commands in the next few lessons.
|Opamp Schematic (PDF)||fdopamp.pdf|
|Test Bench Schematic (PDF)||tfdopamp.pdf|
Getting Set Up: Creating a Netlist
Before we can get into the details of
ocean circuit simulation
in Lesson One, we need to netlist our
circuit. When doing this it's nice to give the Cadence Composer some
guidance on where to write the files, as otherwise they tend to get
written to obscure subdirectories of your root directory.
So let's suppose we've just finished editing our test bench schematic in
Cadence Composer, and now we want to netlist it and read it into
ocean. To do this, we first open the Analog Artist window.
(In my version this is done by choosing "Analog Environment" from the
"Tools" menu at the top of the schematic editor window.) Open the "Setup"
menu from the tool bar at the top of the Analog Artist window and choose
"Simulator/Directory/Host." In the "Project Directory" text box, enter
the directory from which you intend to invoke
Personally, I like to create a new directory called
for this purpose--for example, in this case, the full path to my target
/home/homer/circuits/emerald/spectre. So in my
case the screen would look like this:
Choose "OK" to confirm the new project directory. Then, back in the Analog Artist window, open the "Simulation" menu from the tool bar and choose "Netlist
-->Create." If your circuit contains no errors, a window containing the text of the netlist will pop up; you can close this window, unless you want to read through the netlist.
Note: The above procedure for setting the netlist directory
can be obviated by including the line
asimenv.startup projectDir string "./spectre"in the
After this step,
the directory you specified as the Project Directory should have a
new subdirectory called
tfdopamp (or whatever your circuit
was named). Looking into this subdirectory reveals an extensive hierarchy
of files and further subdirectories. The actual netlist that describes
your circuit is written to a file called
spectre/schematic/netlist. So, for example,
in my case the full path to the file would be
If you have successfully created this file, let's proceed on to Lesson One!
|Lesson 1: Basic Analysis Commands|
Homer Reid's Ocean Tutorial, by Homer Reid
|Last Modified: 11/16/16|