• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. Create a symbol from layout

Stats

  • Locked Locked
  • Replies 13
  • Subscribers 126
  • Views 26003
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Create a symbol from layout

Sinochka
Sinochka over 7 years ago

I have created a symbol by momentum for a transformer in 65nm technology

but when i use mentioned symbol in a schematic and try to run LVS, but i have gotten error consider that the symbol could not read.

could anybody guide me?

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 7 years ago

    This is a bit of an open-ended question, especially as you didn't say which tools you're using. Which LVS tool are you using? I wouldn't expect that you'd get an error saying that a symbol couldn't be read though. Broadly speaking I'd expect that you have to:

    1. Create the symbol with the right pins
    2. Copy this across to the auCdl view (or auLvs view - depends on which tool you're using for LVS)
    3. In the CDF, ensure that the component will be netlisted correctly to match your LVS extraction rules
    4. In the LVS deck, you'll have to add logic to recognise the device - i.e. some kind of recognition layer to identify the device correctly and figure out the connectivity to the pins. Maybe some parameter extraction to work out whether the dimensions of the transformer match the schematic, if you're not going to treat it as a black box.

    Alternatively, you might just create a schematic for the transformer with metal resistors at each pin to stop the pins from being seen as shorts (since the transformer coils are just metal tracks between pins), and then add those metal resistors on the transformer layout. It's not really checking that the transformer is present in the LVS, but at least you can manually check the transformer and allow a component in the schematic for simulation without it getting in the way of LVS.

    If this is unclear, contacting customer support would be a good idea. Trying to explain all this (briefly) in a public forum with such little information to go on is quite hard!

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Sinochka
    Sinochka over 7 years ago in reply to Andrew Beckett

    Hi

    Thank you for your attention

    I am using Keysight Momentum-Virtuoso tool (Momentum for golden gate tools) for creation of symbol

    for LVS tool i am using Calibre tool and nmLVS.

    1. I have created the symbol with right pins configuration, actually the symbol has been created by a tool that is for creation of circuit simulator view from Keysight Momentum-Virtuoso

    2. I have crated auCdl view from Symbol due to using Calibre tool for Lvs

    but I have got the following error

    *Error* Cell: MN_V1_23_07  in library: mahanisi is

    missing a simInfo section in it's CDF for the current

    simulator

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Sinochka
    Sinochka over 7 years ago in reply to Sinochka

    Dear Andrew could you please guide me, how could i complete the CDF for the mentioned error?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Sinochka
    Sinochka over 7 years ago in reply to Sinochka

    Dear Andrew could you please guide me, how could i complete the CDF for the mentioned error?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • Andrew Beckett
    Andrew Beckett over 7 years ago in reply to Sinochka

    I can't help you with Calibre (it's a Mentor tool) or Momentum or Golden Gate (they're Keysight tools), but if you know what the CDL needs to look like, it should just be a matter of defining in the Tools->CDF->Edit in the CIW, picking "Base" and then lib/cell for the component, and then in the Simulation Information tab, pick "auCdl" from the cyclic field, and fill in a netlist procedure (probably pick something like ansCdlCompPrim), and then the termOrder being the names of the pins of your component - you may need to be careful about the order, I don't know. The modelName should be whatever Calibre will use to recognise the device.

    For the most part, you probably would be best to ask Mentor about this, because the main challenge will be getting Calibre to recognise the device. Once that's sorted out, I'm sure they can help you get the netlisting sorted out so that it netlists whatever Calibre LVS is expecting.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Sinochka
    Sinochka over 7 years ago in reply to Andrew Beckett

    Ok

    Thank you for your attention

    Sincerely

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Sinochka
    Sinochka over 7 years ago in reply to Andrew Beckett

    Hi Dear Andrew

    Due to my problem for checking LVS:

    I am trying to make a netlist by Virtuoso CDL Out from my schematic that includes the symbol which i have created.

    I have attached the CDL out template, also the output netlist file and the source.added file are in the following respectively:

    ************************************************************************
    * auCdl Netlist:
    *
    * Library Name:  mahanisi
    * Top Cell Name: TB_LVS
    * View Name:     schematic
    * Netlisted on:  Aug  2 09:28:40 2018
    ************************************************************************

    .INCLUDE  /.../source.added
    *.BIPOLAR
    *.RESI = 2000
    *.RESVAL
    *.CAPVAL
    *.DIOPERI
    *.DIOAREA
    *.EQUATION
    *.SCALE METER
    *.MEGA
    .PARAM
    ************************************************************************
    * Library Name: mahanisi
    * Cell Name:    TB_LVS
    * View Name:    schematic
    ************************************************************************
    .SUBCKT TB_LVS pNEG pPOS pS_NEG pS_POS
    *.PININFO pNEG:B pPOS:B pS_NEG:B pS_POS:B
    XC0 pS_POS pS_NEG pS_NEG crtmom_rf nv=288 nh=288 w=160.0n s=160.0n stm=3 spm=5
    + m=1
    XI13 pNEG pPOS pS_NEG pS_POS

    .ENDS

    source.added file's text is in the following:

    * SPICE NETLIST
    ***************************************

    .SUBCKT MN_V1_23_07_can NEG  POS  S_NEG  S_POS  
    .ENDS

    ***************************************

    Could you please take a look at them and investigate my problem?

    The problem is:

    When the netlist is created by CDL Out the subcircuit can not be detected, however i have added the intended subcircuit in source.added file by myself.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Sinochka
    Sinochka over 7 years ago in reply to Andrew Beckett

    I have also attached the schematic for understanding the pin configuration

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 7 years ago in reply to Sinochka

    Two questions:

    1. What views do you have for the MoM cell (presumably called NM_V1_23_07_can)? Perhaps show the library manager contents for that cell?
    2. What does the auCdl simulation information look like in the CDF for this cell (using Tools->CDF->Edit in the CIW)?

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Sinochka
    Sinochka over 7 years ago in reply to Andrew Beckett

    1.In the first situation when i have created a symbol by Keysight Momentum-Virtuoso tool the following views are:

    ads

    auLvs

    layout

    momentum

    mommdl

    spectre

    symbol

    then i am copying the symbol view and making the auCdl then auCdl appears in the views list.

    2.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 7 years ago in reply to Sinochka

    OK, you have two choices (both require you to edit the "Base" CDF (you're showing the Effective CDF above - the Base CDF is necessary if you want to save to disk and the CDL netlister to run in background which is the default):

    1. Set the netlistProcedure to ansCdlSubcktCall - in this case it will netlist with whatever the CellName is (which in your case is OK as it matches the external subckt)
    2. Set the netlistProcedure to ansCdlCompParamPrim and then set modelName to NM_V1_23_07_can (this is needed if the cell name doesn't match how you want it netlisted).

    The ansCdlCompPrim is not intended for netlisting instances of subckts (i.e. with the namePrefix being "X").

    Regards,

    Andrew.

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • Sinochka
    Sinochka over 7 years ago in reply to Andrew Beckett

    The ansCdlCompParamPrim for netlistProcedure and change the model name to device name were useful for creating netlist from schematic and now the subcircuit is in schematic.

    Due to checking LVS when the Calibre want to compare layout vs Schematic it compares Netlist source ( the .cdl file which has been created by schematic) vs Layout source from GDSII file (which has been  created as .sp file)

    The current problem is that the .sp file does not include the intended device.

    The .sp file's text is as follow:

    * SPICE NETLIST
    ***************************************
    .SUBCKT TB_LVS pS_NEG pS_POS pPOS pNEG
    ** N=4139 EP=4 IP=0 FDC=1

    X0 pS_NEG pS_POS pS_NEG crtmom_rf w=1.60761e-07 s=1.59913e-07 nv=289 nh=289 stm=3 spm=5 $X=137250 $Y=-152160 $D=251

    .ENDS
    ***************************************

    Could you please guide me about the mentioned matter?

    I will appreciate if you could inform me about how the .sp file is created from GDSII?

    Is there any tool setting for Layout like CDL export to could recognize the subcircuit to the translator in layout?

    Sincerely

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 7 years ago in reply to Sinochka

    I am assuming that this .sp file is created by Calibre LVS? If so, then you would be best asking this to Mentor, since Calibre is their tool (it's not a Cadence tool). I imagine that it's not recognising the device in the layout during the extraction part of the LVS and just sees it as routing - I mentioned this as being a likely thing you'd have to deal with in an earlier reply.

    Other than the generation of the CDL netlist, this is mostly an issue for Calibre, so this is not the best place to ask such a question.

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Sinochka
    Sinochka over 7 years ago in reply to Andrew Beckett

    Thank you for the advices

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information