Monday, May 23, 2016

Spectre Save Statement

save I1.I2.I3  //--- save all I3 I/O currents
save I1.I2.I3.* // --- save all hierarchical voltages inside I3

two ways to use the save statement, suppose the two lines above are in a file save.scs:
1.  use include in input.scs
    include "/try/save.scs"

2. in ocean:
    definitionFile(
    "/doc/ocean/sim/save.scs"
    )

Wednesday, May 18, 2016

VerilogIn creates a schematic which has shorted nets

Problem:

When importing a verilog netlist in Virtuoso to create schematic using File->Import->Verilog.  The netlist seems to import successfully, however in schematic, the power nets are shorted

Solution:

On the Verilog In form, in the "Schematic Generation Options" tab enable the option "Minimize Crossovers".   This will relax some of the placement constraints that verilogIn uses to create a schematic. This will give you the correct schematic.

Thursday, May 12, 2016

Cadence doesn't show Cell Name in Symbol

Problem:  New Cadence version doesn't create cell name by any reason as shown below(2nd symbol)

Solution:


Monday, May 9, 2016

Plotting temperature when it is changed as a dynamic transient parameter



The simulation temperature is changed during a transient analysis, by making it a 
dynamic parameter.

For example:
tran tran stop=20n errpreset=conservative write="spectre.ic" \
    writefinal="spectre.fc" annotate=status maxiters=5 \
    param=temp param_vec=[0 120 1u 170] param_step=1m
This will change the simulation temperature from 120 degrees at time=0, to 170 
degrees at time=1us.
How can the temperature be plotted as a function of time?

Add this line to a file which is included in the netlist:
save temp
When using ADE, type "save temp" in a new file with .scs extension such as 
 "include.scs".  Then add the file in Setup - Model Libraries. The "temp" variable 
will then be available for plotting in the Results Browser.