netlistProcedure Help

Discussion in 'Cadence' started by Ercan Altuntas, Aug 10, 2004.

  1. Hi,

    I am trying to write a netlistProcedure for spectre. If a schematic view exits for
    the cellview, it will netlist this schematic a subcircuit. Otherwise a NPORT
    device will be netlisted. s parameters are saved a text view in the cell view.
    I couldn't find any examples for netlistProcedure. Can you give some hints for me?

    Thanks
     
    Ercan Altuntas, Aug 10, 2004
    #1
  2. Ercan Altuntas

    Erik Wanta Guest

    Ercan:
    We typically just use a schematic and place down a nXport component
    from analogLib for something like this. If you have a schematic view
    and s parameters for the cell you could create schematic_sp view that
    has the nXport component and use the hierarchy editor to switch to
    schematic_sp for that cell.
     
    Erik Wanta, Aug 11, 2004
    #2
  3. Ercan Altuntas

    Erik Wanta Guest

    Ercan:
    We typically just use a schematic and place down a nXport component
    from analogLib for something like this. If you have a schematic view
    and s parameters for the cell you could create schematic_sp view that
    has the nXport component and use the hierarchy editor to switch to
    schematic_sp for that cell.
     
    Erik Wanta, Aug 11, 2004
    #3
  4. Hi Erik,

    That is a good idea but my s parameter file is for a 6 port device and
    I have to change analogLib for this and also file path has to be an absolote
    path for nXport device. If the component is copied to another cell, then it
    will use the original cell's s parameter file.

    Thanks.
     
    Ercan Altuntas, Aug 12, 2004
    #4
  5. A couple of things:

    1. in analogLib there is now nport which is a parameterised component and
    supports a variable number of ports.

    2. If you want to do specifically what you describe, copy (say) n2port from
    analogLib into your library, and then use this as the netlisting procedure.
    Remove dataFile from the CDF parameters of your cell - because the file
    will be netlisted specifically by the netlisting procedure.

    This code assumes that the sparam.sp file will be in the stopping cellView
    (e.g. the spectre view).

    defun( abNportNetlistProc (inst)
    let((formatter netlister pathName)
    ;----------------------------------------------------------------
    ; Get hold of the formatter and netlister objects
    ;----------------------------------------------------------------
    formatter=nlGetFormatter(inst)
    netlister=nlGetNetlister(formatter)
    ;----------------------------------------------------------------
    ; Print the standard instance line
    ;----------------------------------------------------------------
    nlPrintInst(formatter inst)
    ;----------------------------------------------------------------
    ; Add on the path to the sparam.sp within the cellView
    ;----------------------------------------------------------------
    pathName=nlGetCurrentSwitchMaster(netlister)~>view~>readPath
    nlPrintString(netlister
    sprintf(nil " file=\"%s/sparam.sp\"" pathName)
    ) ; nlPrintString
    t
    )
    )

    If there's a schematic view, then the normal view switching will be used, and
    it won't use the netlisting procedure in that case. So nothing special is
    needed to support schematics.

    Andrew.
     
    Andrew Beckett, Aug 19, 2004
    #5
  6. Hi,

    Thanks for your answer. It is very helpful.

    I have one more question. By default spectre is before schematic view and it is
    the stop cell view. So is it possible to switch back to schematic from the
    netlistProcedure?

    Ercan
     
    Ercan Altuntas, Aug 20, 2004
    #6
  7. Ercan,

    No, you can't change the view list from the netlist procedure. It's too late as the netlist procedure will only get
    called if you're a stopping view. I can't think why you'd ever want it to work that way - it would remove the ability
    for the user to decide which view he wanted.

    You can control the switch list two ways. One using the hierarchy editor, as Eric Wanta outlined earlier. Second is to
    change the switch list in the Setup->Environment form - which can be defaulted using the .cdsenv
    setting:

    spectre.envOpts switchViewList string "spectre cmos_sch cmos.sch schematic veriloga ahdl"

    which can of course be done with SKILL:

    envSetVal("spectre.envOpts" "switchViewList" 'string "spectre cmos_sch cmos.sch schematic veriloga ahdl")

    (the above shows the default).

    Andrew.
     
    Andrew Beckett, Aug 20, 2004
    #7
  8. I know these options. switching to schematic seems to be best way
    because it is not practical to rely on extrapolated data from the s
    parameter values.

    Thank you very much.
     
    Ercan Altuntas, Aug 24, 2004
    #8
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.