• 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. How to generate netlist without virtuoso

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 125
  • Views 6593
  • 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

How to generate netlist without virtuoso

yuanshangu
yuanshangu over 1 year ago

Hi,everyone

I can use Virtuoso to draw the schematic of a circuit, then use an Ocean script with the 'createNetlist' command to generate the netlist file needed for Spectre simulation. After that, I can use another Ocean script to control Spectre for simulation. Now, I don't want to use Virtuoso to draw the schematics (because I have many simple schematics to draw, and manual drawing in Virtuoso is too cumbersome). Can I write the netlist manually and then use an Ocean script to generate the netlist file needed for Spectre simulation? Or can I directly write the netlist file for Spectre simulation?

best regard!

  • Cancel
Parents
  • yuanshangu
    yuanshangu over 1 year ago

    "The netlist file that you specify for the Spectre® circuit simulator interface with the design command must be netlist. The full path can be specified. For example, /usr/netlist is acceptable. The netlistHeader and netlistFooter files are searched in the same directory where the netlist is located. Cadence recommends that you use the netlist generated from the Virtuoso® Analog Design Environment. Netlists from other sources can also be used, as long as they contain only connectivity. You might be required to make slight modifications."

    I saw the above paragraph in the Ocean User Guide. As it mentions, I can use netlist files from sources other than Virtuoso. What formats of netlist files does Virtuoso support? How can I use such a netlist file for simulation?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago in reply to yuanshangu

    OK, it's not "Virtuoso" that is supporting the netlist; it's Spectre. So the netlist should be in Spectre syntax (ideally) although Spectre also supports SPICE syntax too (Spectre syntax is cleaner and more regular).

    If you are going to use OCEAN to define the variables and analyses, then you would create the core netlist and then alongside it (in the same directory) you need two files, netlistHeader and netlistFooter (which can be empty). Then if you do:

    simulator('spectre)
    design("/path/to/netlist")
    desVar(...)
    modelFiles(...)
    analysis(...)
    run()

    it will assemble the final netlist (input.scs) from the netlist you provide, the netlistHeader/netlistFooter and the parameters/models/analyses that you're specified, and then spectre will be invoked.

    Alternatively, you could create the entire netlist yourself (including analysis statements) and just call "spectre file.scs" from the command-line.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 1 year ago in reply to yuanshangu

    OK, it's not "Virtuoso" that is supporting the netlist; it's Spectre. So the netlist should be in Spectre syntax (ideally) although Spectre also supports SPICE syntax too (Spectre syntax is cleaner and more regular).

    If you are going to use OCEAN to define the variables and analyses, then you would create the core netlist and then alongside it (in the same directory) you need two files, netlistHeader and netlistFooter (which can be empty). Then if you do:

    simulator('spectre)
    design("/path/to/netlist")
    desVar(...)
    modelFiles(...)
    analysis(...)
    run()

    it will assemble the final netlist (input.scs) from the netlist you provide, the netlistHeader/netlistFooter and the parameters/models/analyses that you're specified, and then spectre will be invoked.

    Alternatively, you could create the entire netlist yourself (including analysis statements) and just call "spectre file.scs" from the command-line.

    Andrew

    • 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