• 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. Import spice netlist to schematic, problem with "netset...

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 125
  • Views 3006
  • 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

Import spice netlist to schematic, problem with "netset" property

Fabrizio Mannozzi
Fabrizio Mannozzi over 4 years ago

Hello, I need help to import correctly spice to obtain the schematic of a digital library.
I have reported below the setting using to import the spice netlist
I have modified the device map and the netlist to remove any technology data.

Using SpiceIn tool from Virtuoso 6.1.8 the setting modified from default value are:
*****************************************************
-Input tab:
Netlist language: SPICE
Reference Library List: [technologyLibrary] basic
Trigger CDF parameters callback: [on]
Device Mapping File: [on]
spectre
master cell for ground node: gnd!

-Device Map (modified to remove technology data):
-- Device Mapping file generated from SpiceIn GUI
devSelect := n nmos
inhTerms := vdd! [@vdd!:%:vdd!] gnd! [@gnd!:%:gnd!]
propMap := w w l l
addProp := model nmos

devSelect := p pmos
inhTerms := vdd! [@vdd!:%:vdd!] gnd! [@gnd!:%:gnd!]
propMap := w w l l
addProp := model pmos
--
-Analog Sch Generation
Power Net Name: vdd!
Ground Net Name: gnd!

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

In this example the spice netlist could be reduced to a single inverter:

.global vdd! gnd!

.subckt INV I O vdd! gnd!
M1 O I gnd! gnd! n w=1.5u l=0.5u
M2 O I vdd! vdd! p w=2.9u l=0.5u
.ends

*****************************************************
(The pins of schematics imported by SpiceIn are input-output but it can be solved by Andrew's script
"CCSupdatePinsDirectionFromSymInLib(lib)" found on the forum)

The schematic of inverter that I obtain after the import step has the pins of supply vdd! and gnd!
but it not possibile the setup the supply using the "netset" property of symbol and I need to setup
a net "vdd!" and "gnd!" on schematic that use these digital cells.

I suppose that it is possible to use the netset property to set the value of supply of cells but
with these setting it is not possible.
How can I import a schematic with power supplies settable through netset property?

Thanks,
Best Regards,
Fabrizio

  • Cancel
Parents
  • Fabrizio Mannozzi
    Fabrizio Mannozzi over 4 years ago

    Hello,

    I find a solution on forum and adapt it to work on all cells inside of library.

    This skill remove the IO pins of supply from schematic and call an Andrew skill to change the global net to inherit nets found on forum (CCSchangeGlobalsToInhConn.il).

    I need to remove the pins before to change the net from global to inherit otherwise an error occurs on supply pins.

    This is the skill used:

    procedure(deletePinsChangeGlobalsToInhConn(library)
    let((lib libName cellName cell cv c x)

    lib = ddGetObj(library)
    libName = lib~>name
    cellName = lib~>cells~>name

    foreach(cell lib~>cells
    when(ddGetObj(lib~>name cell~>name "schematic")
    cv=dbOpenCellViewByType(lib~>name cell~>name "schematic" "schematic" "a")
    inst=setof(c cv~>instances c~>cellName=="iopin")
    foreach(x inst
    dbDeleteObject(x)
    ); foreach
    printf("cellName: %L\n" cell~>name)
    CCSchangeGlobalsToInhConn(
    ?cellView cv
    ?mapList '(("vdd!" "vdd") ("gnd!" "gnd"))
    ?labelHeight 0.0625)

    schCheck(cv)
    dbSave(cv)
    dbClose(cv)
    );when
    );foreach

    );let
    );proc

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Fabrizio Mannozzi
    Fabrizio Mannozzi over 4 years ago

    Hello,

    I find a solution on forum and adapt it to work on all cells inside of library.

    This skill remove the IO pins of supply from schematic and call an Andrew skill to change the global net to inherit nets found on forum (CCSchangeGlobalsToInhConn.il).

    I need to remove the pins before to change the net from global to inherit otherwise an error occurs on supply pins.

    This is the skill used:

    procedure(deletePinsChangeGlobalsToInhConn(library)
    let((lib libName cellName cell cv c x)

    lib = ddGetObj(library)
    libName = lib~>name
    cellName = lib~>cells~>name

    foreach(cell lib~>cells
    when(ddGetObj(lib~>name cell~>name "schematic")
    cv=dbOpenCellViewByType(lib~>name cell~>name "schematic" "schematic" "a")
    inst=setof(c cv~>instances c~>cellName=="iopin")
    foreach(x inst
    dbDeleteObject(x)
    ); foreach
    printf("cellName: %L\n" cell~>name)
    CCSchangeGlobalsToInhConn(
    ?cellView cv
    ?mapList '(("vdd!" "vdd") ("gnd!" "gnd"))
    ?labelHeight 0.0625)

    schCheck(cv)
    dbSave(cv)
    dbClose(cv)
    );when
    );foreach

    );let
    );proc

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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