The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Simulators >> RF Simulators >> Changing default length of device in spectre
https://designers-guide.org/forum/YaBB.pl?num=1147782733

Message started by pthoppay on May 16th, 2006, 5:32am

Title: Changing default length of device in spectre
Post by pthoppay on May 16th, 2006, 5:32am

Dear All,

I am using a 0.18 um process, I am uisng the minimum length devices in my schematic, but when I extract the netlist using the analog enviroment, the netlist takes the default length of the device which is 1um.

How do I change the default length of the device to 0.18um. Please help to acheive this.

Regards,
Prakash.


Title: Re: Changing default length of device in spectre
Post by Geoffrey_Coram on May 16th, 2006, 7:00am

Your description makes it sound like you specified a length (0.18u) in the schematic environment, but the netlist that is created has a different value (1u).

Is that right?  Then there must be a bug in the netlisting code for your environment.

Title: Re: Changing default length of device in spectre
Post by bernd on May 16th, 2006, 8:15am

First question, what do you mean by 'when I extract the netlist'?
Are you doing a simple netlist creation out of the Analog Environment or
do you preforming an parasitic extraction?

Maybe your cell CDF (Component Description Format) is not
defined right.

Title: Re: Changing default length of device in spectre
Post by pthoppay on May 16th, 2006, 8:31am

Hi,

What i meant by extracting the netlist is using the fucntion "create netlist" in the analog enviroment. Sorry for the confusion.

Yes, you are right I specified 0.18u and there is no value for "length" in the netlist and hence the simulator assumes the default length, but for any other value apart from 0.18 u it uses correct value. I have attached the netlist alongwith, from which it can be seen that in the MOSFET description there is no value for "L" and hence the simulator assumes the default value ( i read somewhere it is 1u). So my question is where and how should I change the default value, so that when there is no length specified in the netlist it takes as 0.18u and not any other value.

Thanks and Regards,
Prakash.

Title: Re: Changing default length of device in spectre
Post by bernd on May 16th, 2006, 9:10am

Modifying the default value of l from your MOS
is the wrong approach.
You rather should check why the local setting of l
was not taken into account.

1. Start form you model file
  there must be something like
  model <modeName> bsim3v3
  if you device refers direct to a model
  or
  subckt <modelName> n1 n2 n3
    parameters w=1u l=1u

For bsim3v3 w and l are defined instance parameters.
For a subcircuit the parameters must be defined in
the parameter list with a default value.

2. Check your cell CDF for the MOS.
  You can do this over the GUI
  CIW->Tools->CDF->Edit..
  Make sure your CDF Tpye is set to 'Base'.
  Check there if you have the parameter l in the
  'Component Parameters' section as well as in
  the 'Simulation Information' for the simulator
  spectre (I assume).
  For the simInfo of spectre l must be also in the list
  of 'instParameters'.

  An optional way of checking the cell CDF is to
  use the SKILL command cdfDump.
  cdfDump( "yourLibName" "./mos.cdf" ?cellName "yourCellName" ?level 'base ?edit t )

 You'll get a textual output you must see something like this for l
 
 cdfCreateParam( cdfId
       ?name           "l"
       ?prompt         "Length (M)"
       ?units          "lengthMetric"
       ?defValue       ""
       ?type           "string"
       ?display        "artParameterInToolDisplay('l)"
       ?parseAsNumber  "yes"
       ?parseAsCEL     "yes"
   )

and

cdfId->simInfo->spectre = '( nil
       propMapping       nil
       namePrefix        ""
       otherParameters   (model)
       instParameters    (w l as ad ps pd nrd nrs m trise region)
       termOrder         (D G S B)
       termMapping       (nil D \:d G \:g S \:s B \:b)
       componentName     someName
   )


You can reload the CDF file with load( ""./mos.cdf" ) after modification.

3. If all is proper defined the netlister should take care of the local setting of l.

Bernd

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.