• 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. [Spectre] Multiple spectre instances compiling Ahdl behavioral...

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 126
  • Views 14460
  • 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

[Spectre] Multiple spectre instances compiling Ahdl behavioral components

fgarcia
fgarcia over 11 years ago
Hello,

 I am trying to  instantiate several instances of spectre with the aim of simulate INDEPENDENT circuits.
 However, the particularity of those circuits, (lets call them main), is that the netlists reference an external circuit which includes several behavioral sources ( we will call this circuit behavioral_circuit ).

 So, when I run in parallel the instances of spectre with the following concurrent commands, from the directory /path/,

    spectre -f psfascii +error +warn +log folder_0/0.log -r  folder_0/spectre_simulation folder_0/main_circuit_netlist.scs
    spectre -f psfascii +error +warn +log folder_1/1.log -r  folder_1/spectre_simulation folder_1/main_circuit_netlist.scs
    ....
    spectre -f psfascii +error +warn +log folder_n/n.log -r  folder_1/spectre_simulation folder_n/main_circuit_netlist.scs

spectre creates an ahdl compiling folder for each behavioral source in behavioral_circuit.
It seems that each the different instances of spectre try to compile the behavioral sources

    Reading link:  /opt/cadence/MMSIM121/tools.lnx86/spectre/etc/ahdl/discipline.h
    Reading file:  /opt/cadence/MMSIM121/tools.lnx86/spectre/etc/ahdl/disciplines.vams
    Reading link:  /opt/cadence/MMSIM121/tools.lnx86/spectre/etc/ahdl/constants.h
    Reading file:  /opt/cadence/MMSIM121/tools.lnx86/spectre/etc/ahdl/constants.vams

which means that I have several spectre processes concurrently writing IN THE SAME folder:
    
    /path/main_circuit_netlist.ahdlSimDB
                 |
                 -->bsource.va.bsource_1.ahdlcmi
                 |
                 -->bsource.va.bsource_2.ahdlcmi
                 |
                 .
                 .
                 .
                 |
                 -->bsource.va.bsource_n.ahdlcmi

Therefore, I get errors due to this resource (folders) sharing.

With this scenario explained, I want to know if it is possible to compile the behavioral sources only one time (task done by the first spectre thread) and these resources be shared between the other instances.
If it is not possible, I would like to know how to tell spectre in which folder compile the sources.
( I know that I can run the following commands:)

    spectre -f psfascii +error +warn +log folder_0/0.log -r  folder_0/spectre_simulation folder_0/main_circuit_netlist_0.scs
    spectre -f psfascii +error +warn +log folder_1/1.log -r  folder_1/spectre_simulation folder_1/main_circuit_netlist_1.scs
    ....
    spectre -f psfascii +error +warn +log folder_n/n.log -r  folder_1/spectre_simulation folder_n/main_circuit_netlist_2.scs

Which produce the following output

     /path/main_circuit_netlist_0.ahdlSimDB
                     |
                     -->bsource.va.bsource_1.ahdlcmi
                     |
                     -->bsource.va.bsource_2.ahdlcmi
                     |
                     .
                     .
                     .
                     |
                     -->bsource.va.bsource_n.ahdlcmi

     /path/main_circuit_netlist_1.ahdlSimDB
                     |
                     -->bsource.va.bsource_1.ahdlcmi
                     |
                     -->bsource.va.bsource_2.ahdlcmi
                     |
                     .
                     .
                     .
                     |
                     -->bsource.va.bsource_n.ahdlcmi

     /path/main_circuit_netlist_2.ahdlSimDB
                     |
                     -->bsource.va.bsource_1.ahdlcmi
                     |
                     -->bsource.va.bsource_2.ahdlcmi
                     |
                     .
                     .
                     .
                     |
                     -->bsource.va.bsource_n.ahdlcmi


Thanks,


Fernando.
  • Cancel
Parents
  • fgarcia
    fgarcia over 11 years ago

     Thanks Frank.
    I am working on that, cause as you said it seems not to work always.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • fgarcia
    fgarcia over 11 years ago

     Thanks Frank.
    I am working on that, cause as you said it seems not to work always.

    • 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