Difference between revisions of "Ultrasim and Spectre"
From Vlsiwiki
| Line 1: | Line 1: | ||
For analog circuits described in Verilog - A | For analog circuits described in Verilog - A | ||
include the following command into the file that runs Ultrasim, preferably toward the end: | include the following command into the file that runs Ultrasim, preferably toward the end: | ||
| − | ahdl_include "< | + | ahdl_include "<filename>" |
To instantiate the models in the netlist, you can simply refer to it via a call to its module name. | To instantiate the models in the netlist, you can simply refer to it via a call to its module name. | ||
| Line 29: | Line 29: | ||
Instantiating the module in the netlist file : | Instantiating the module in the netlist file : | ||
| + | ... | ||
| + | ... | ||
... | ... | ||
I0 (input, output) inverter | I0 (input, output) inverter | ||
| Line 38: | Line 40: | ||
I0 (input, output) inverter high=2.0 low=1.0 margin=1.5 | I0 (input, output) inverter high=2.0 low=1.0 margin=1.5 | ||
| − | |||
| − | [[Sample Buffer in Spectre]] | + | [[Sample Buffer.ckt in Spectre]] |
==Running the Simulation== | ==Running the Simulation== | ||
Revision as of 05:14, 13 November 2009
For analog circuits described in Verilog - A include the following command into the file that runs Ultrasim, preferably toward the end: ahdl_include "<filename>"
To instantiate the models in the netlist, you can simply refer to it via a call to its module name.
Example:
Verilog-A module:
`include "constants.vams"
`include "disciplines.vams"
module inverter(in, out);
input in;
output out;
electrical in, out;
parameter real high = 1.0
parameter real low = 0.0;
parameter real margin = 0.5;
analog begin
if (in < noise margin)
out = high;
else
out = low;
end
endmodule
Instantiating the module in the netlist file :
... ... ... I0 (input, output) inverter ... ahdl_include inverter.va
The inverter module can be used as a subckt in spectre. Parameters defined in the Verilog-A module can also be changed during instantiation such as by:
I0 (input, output) inverter high=2.0 low=1.0 margin=1.5
Running the Simulation
Both simulators can be accessed through the Analog Design Environment GUI or via Command line.
-Ultrasim Command Line (Start in lang=spectre mode) ultrasim -spectre -raw ./log_dir +log ./log_dir/ultrasim.out input.ckt -Spectre Command Line spectre -raw ./log_dir +log ./log_dir/spectre.out input.ckt