Quantcast
Channel: Cadence Custom IC Design Forum
Viewing all 4891 articles
Browse latest View live

How to index spectre vector parameters (even possible?)?

$
0
0

Is it possible to have a vector parameter as a top level design variable and then pick out elements from that inside of a subckt based on an index parameter?  The following shows what  tried and hopefully it is clear what the desired result would be.

simulator lang=spectre
global 0
parameters MYTOP=[3.3 2.7 1.8 5.0]
subckt my_subcell VOUT
parameters MYINDEX=0

  // this one gives an error:

  V0 (VOUT 0) vsource dc=MYTOP[MYINDEX] type=dc

  // no error on this, but of course that isn't what I was looking for.
  //V0 (VOUT 0) vsource dc=MYINDEX type=dc
ends my_subcell
I7 (OUT3) my_subcell MYINDEX=3
I6 (OUT2) my_subcell MYINDEX=2
I5 (OUT1) my_subcell MYINDEX=1
I4 (OUT0) my_subcell MYINDEX=0
R3 (OUT3 0) resistor r=1K
R2 (OUT2 0) resistor r=1K
R1 (OUT1 0) resistor r=1K
R0 (OUT0 0) resistor r=1K

dcOp dc write="spectre.dc" oppoint=screen

The above trial gives

Cannot run the simulation because syntax error `Unexpected identifier "MYINDEX". Expected integer or operator' was encountered at line 17, column 33. Correct the syntax error and rerun the simulation.

Thanks so much

-Dan


Simulate Variable Capacitor

$
0
0

I am new to Cadence and I would like to sweep a Capacitor value in my design from 1fF to 10fF but I do not know how to do so. I am using ADE L, may you please give me some suggestions of how to go about doing this. 

Changing Monte Carlo Seed automatically

$
0
0

Hi,

I wanted to know if there is a way to automatically set seed for Monte Carlo simulation to a random number in each run like cpu time, date, ... ? My version of Cadence is IC6.1.8.

Thanks,

How to Describe Branch Current with Bsource

$
0
0

Hi, I'm new spectre user.

I found simulator reference with GOOGLE.

It mentioned that we could use this syntax:

name (node1 node2) bsource behav_param param_list

subckt as below

vsrc (P 1) DC=0

r1 (1 N) resistor=1

bsrc (1 N) bsource i = {sgn(i("vsrc:1"))*ABS(i("vsrc:1")**2)/2000)}

I got these error message:    

1. ERROR (SFE-874): "xxx.scs" 16: Cannot run the simulation because syntax error `Unexpected block statement "{"' was encountered at line 16, column 20. Correct the syntax error and rerun the simulation.
2. ERROR (SFE-874): "xxx.scs" 16: Cannot run the simulation because syntax error `Unexpected quoted string ""vsrc:1". Expected end of file or end of line' was encountered at line 16, column 27. Correct the syntax error and rerun the simulation.
3. ERROR (SFE-709): "xxx.scs" 16: No master specified for instance `ABS'

4. ERROR (SFE-709): "xxx" 16: No master specified for instance `i'.

Is there something illegal? (Except 1, 3)

How to model bidir switch in RNM

$
0
0

I was wondering if there was a way of modelling bidir switch.

Using code, I always have a problem of propagating signal.

For instance:

module bidir_sw( a, b, ctrl);

inout a;

inout b;

inout ctrl

wreal a;

wreal b;

logic ctrl;

// this will only work from b -> a

assign a = (ctrl == 1'b1) ? b : `wrealZState;   

// this will only work from a -> b

assign b = (ctrl == 1'b1) ? a : `wrealZState;

endmodule

Is there an easy way to make it work both ways, using XCELIUM ?

Schematics On White Background

$
0
0

I have a preference for working on a white background.  I briefly tried changing the background to white using Default Editor Background Color.  However this has some knock-on effects e.g. grey wires are hard to see and things highlight in white.

Is there a recommended list of settings and setting values for working with a white schematic background?

It'd be great if Virtuoso had a single button that changed the background to white and adjusted everything else to suit.

Differential Pair Measurement

$
0
0

I would like to make a differential pair measurement, that is between one node of a floating capacitor to VSS. How do I go about doing this? Thank you.

Will RHEL 8 work with IC6.1.8


Cannot find any 32 bits or 64 bits executable version of "spectremdl".

$
0
0

Hello

I am trying to use spectremdl to do simulation. When I type spectremdl in interminal I get "Cannot find any 32 bits or 64 bits executable version of "spectremdl"." when I type "which spectremdl" I get the location of the file "spectremdl" at /opt/Cadence/Incisive14/tools/bin. Is spectremdl installed correctly on my computer?

Thanks

Wen

Use CDF parameter in ADE

$
0
0

Hi,

I have a bunch of parametrized FinFET transistors and I would like to use some of their CDF parameters in my ADE session (as design variables, in expressions...).

Is there a way to do this?

Simulate variable number of symbol blocks

$
0
0

Hi,

I would like to simulate x number of symbol blocks without having to copy and paste these symbol blocks. For example, the schematic I have below represents  a single row of 2 pixels (each symbol block is a pixel). What I want to do is simulate 100 or more pixels. In addition, adjacent pixels should be driven by complimentary Data signal. 

How do I go about doing so? Any suggestions will be helpful. Thanks 

Regards,

KenKim

Ocean scripting

$
0
0

Hi,

I have a script which generates netlist with values in suffix format (1m, 1u, 1n etc.). I want it to generate in engineering format (1e-3, 1e-6, 1e-9 etc.). 

Script is below : 

envSetVal("asimenv.startup" "projectDir" 'string "<Directory Path>")
simulator( 'spectre )
setup( ?numberNotation 'engineering)
design( "<Design Name>" "<Cell Name>" "schematic" "r")
desVar( "wireopt" 3 )
envOption(
'setTopLevelAsSubckt t
)
saveOption( ?outputParamInfo nil )
saveOption( ?elementInfo nil )
saveOption( ?modelParamInfo nil )
createNetlist( ?recreateAll t)
exit

Thanks

export ADE output expressions to CSV

$
0
0

Is there a way to print the ADE output expressions to a CSV file, when some of the expressions fail to evaluate in ocean/skill, without using Assembler? e.g. if part of the expression is nil (e.g. dB20() of a value which is 0), ocean stops with this message:

*Error* difference: can't handle (nil - nil)
*Error* load: error while loading file - "2.ocn" at line 211

Assembler seems to handle the error better; it just returns "eval err" on the nil results and continues to print the valid results.

1. Is there some error handling option in ocean, to continue if the result is nil?

2. I tried  waveout.il groups.google.com/.../ or www.thecadforums.com/.../andrew-becketts-program-to-write-waveforms-to-an-ascii-file.32869
but when it gets to a nil result it gives:
Error* quotient: Attempted to divide by zero - (4.59756e-21 0.0)

3. Or better, is there some way to import a psf results dir run from plain Spectre into Assembler/Explorer just to print out a CSV of the output expressions? I tried to copy the psf dir into an existing maestro run dir and re-evaluate the expressions in Assembler, but the expressions did not re-evaluate.

1 dB compression point cannot be get when using montecarlo in ADE XL

$
0
0

Hello all

I am now simulating a PA, and want to find how seriously the PA is influenced by process variations. I run pss to find it's 1 dB

 compression point in ADE L. And when I using montecarlo in ADE XL to find the performance variation, I can not get the result of the expression.

Since the expression is checked in ADE L, it should be correct. I checked the log file, pss simulation is executed, But there is no scalar output. can

anyone give me some advice? 

Thanks 

Went

use sweep and montecarlo at the same time

$
0
0

Hellow all

I sweep pss to get PA's 1 dB compression point. And I am trying to put this sweep into montecarlo sweep (different from sweep) to see how the compression point is influenced by process variation. But it seems that the sweep does not work well cause the amplitude of the output wave does not change. It seems that the input amplitude, which I set to sweep, stays the same for every sweep.

Thanks

Wen


Unknown variable appear in ADE window when I run the simulation

$
0
0

Hi everybody,

I am going to simulate a DCO with TSMC 65nm (However the problem I have does not seem to be related to the type of the circuit).

When I run the simulation, some unkown variable appear in ADE window (circled in the attached pic). Parameters are "intf", "pf", "pPar", "pP", "p", "pw", "e", "nf", "n", "nw". Do you know what these variable are and how should I get rid of them?

Another point is I have this problem with the version 6.1.5, and when I run the circuit with the version 6.1.7 I don't have this problem. (I have to make it work with 6.1.5 version for some reasons).

  

Simvision: remove analog navigator buttons

$
0
0

Is there an option/preference to remove the signal navigation buttons that appear on the right side of analog traces in Simvision?  I find that these controls clutter my view and would like to turn them off (for all analog signals), or at least be able to choose which signals have them displayed.  Thanks!

Consistent path to results for corner simulation?

$
0
0

I would like to know whether the results of corner simulation can be made to appear in a consistent directory path.

What I see is that corner simulation causes the results to go into numbered directories, but the numbers are not necessarily predictable.

Example: results/maestro/Plan.1.Run.0/1/transient/psf

I am using ADE Assembler.

For reference, what I am trying to do is the following:

- run a transient simulation with certain design variables needed to achieve faster settling time

- use the spectre.fc from the transient to run a pss simulation with slightly different design variables needed to ensure low noise

- then run pnoise and pxf from this pss

I am using a Run Plan to achieve the change in design variables.

But I need the pss run to point to the spectre.fc for the corresponding corner and the location does not seem to be consistent/predictable.

-Mike

How can I place vias with the size exact same cut width without metals around?

$
0
0

How can I place vias with the size exact same cut width without metals around?
As the red part only in the image below?


Schematic Toolbars

$
0
0

When opening a design in tab in maestro (IC6.1.8), the schematic opens without the create, edit, select, view toolbars.  So typically the first thing I do is right click on the toolbar and turn these on.

If I recall correctly, earlier versions of the tool had these toolbars enabled by default.

Is there a way (e.g. .cdsinit) to have these toolbars enabled by default when I open a design in tab?

Viewing all 4891 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>