Difference between revisions of "Ultrasim and Spectre"

From Vlsiwiki
Jump to: navigation, search
m (moved Ultrasim to Ultrasim and Spectre: They use the same code)
Line 37: Line 37:
  
 
  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]]

Revision as of 03:57, 9 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 "<file>"

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


Netlist file in Spectre Language :

...
I0 (input, output) inverter
... 
ahdl_include inverter.va

The inverter module can be used as any other 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

Sample Buffer in Spectre