Home > Community > Forums > Custom IC Design > [Spectre] Multiple spectre instances compiling Ahdl behavioral components

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 [Spectre] Multiple spectre instances compiling Ahdl behavioral components 

Last post Tue, Feb 18 2014 2:07 AM by Frank Wiedmann. 4 replies.
Started by fgarcia 12 Feb 2014 03:45 AM. Topic has 4 replies and 1985 views
Page 1 of 1 (5 items)
Sort Posts:
  • Wed, Feb 12 2014 3:45 AM

    • fgarcia
    • Not Ranked
    • Joined on Mon, Nov 21 2011
    • Madrid, Madrid
    • Posts 4
    • Points 50
    [Spectre] Multiple spectre instances compiling Ahdl behavioral components Reply
    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.
    • Post Points: 5
  • Mon, Feb 17 2014 1:41 AM

    • fgarcia
    • Not Ranked
    • Joined on Mon, Nov 21 2011
    • Madrid, Madrid
    • Posts 4
    • Points 50
    Re: [Spectre] Multiple spectre instances compiling Ahdl behavioral components Reply

    I've found the solution: CDS_AHDLCMI_SHIPDB_COPY.

    However I am still trying to set CDS_AHDLCMI_SIMDB_DIR to place the compiled sources (it does not seem to work properly, cause all the compiled files are created in the path from where spectre is invoked).

    • Post Points: 20
  • Mon, Feb 17 2014 4:47 AM

    • Frank Wiedmann
    • Top 75 Contributor
    • Joined on Wed, Jul 16 2008
    • Muenchen, Bavaria
    • Posts 82
    • Points 1,275
    Re: [Spectre] Multiple spectre instances compiling Ahdl behavioral components Reply

    You might want to try setting CDS_AHDLCMI_SHIPDB_DIR, see http://support.cadence.com/wps/mypoc/cos?uri=deeplinkmin:DocumentViewer;src=pubs;q=/veriaref/veriaref13.1/appF.html#1033232. However, I (and at least one other Cadence customer) have found that this method does not seem to be very reliable. CCR 1239276 has been filed for this.

    • Post Points: 20
  • Mon, Feb 17 2014 11:22 AM

    • fgarcia
    • Not Ranked
    • Joined on Mon, Nov 21 2011
    • Madrid, Madrid
    • Posts 4
    • Points 50
    Re: [Spectre] Multiple spectre instances compiling Ahdl behavioral components Reply

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

    • Post Points: 20
  • Tue, Feb 18 2014 2:07 AM

    • Frank Wiedmann
    • Top 75 Contributor
    • Joined on Wed, Jul 16 2008
    • Muenchen, Bavaria
    • Posts 82
    • Points 1,275
    Re: [Spectre] Multiple spectre instances compiling Ahdl behavioral components Reply

    If you keep having problems, please don't hesitate to contact Cadence Support and have them file another CCR on your behalf. This will improve our chances that Cadence will fix this soon. And if you manage to find a reliable solution, please let me know.

    • Post Points: 5
Page 1 of 1 (5 items)
Sort Posts:
Started by fgarcia at 12 Feb 2014 03:45 AM. Topic has 4 replies.