Home > Community > Forums > Custom IC Design > ADEL check model files and paths

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: *

 ADEL check model files and paths 

Last post Mon, Apr 1 2013 12:38 AM by Andrew Beckett. 2 replies.
Started by acook 27 Mar 2013 05:16 AM. Topic has 2 replies and 780 views
Page 1 of 1 (3 items)
Sort Posts:
  • Wed, Mar 27 2013 5:16 AM

    • acook
    • Top 500 Contributor
    • Joined on Thu, Oct 4 2012
    • Manchester, NH
    • Posts 27
    • Points 480
    ADEL check model files and paths Reply

    Hello,

    I would like to create a trigger that checks my model libraries and paths when I run a simulation. It would check the model paths as well as the model files. If they are not set to the EDA defaults, I would like a dialog box to come up warning me that I am simulating with a non-standard set of models.

    The trigger would occur when I hit the run button in ADE. If that is not possible, it would run when I load an ADE state.

    I've had time where I used my own models for weeks unknowningly because I had needed to make a change to the models at one point for one reason or another.

    I am running CDS6

     Thank you,

    Aaron

    Filed under:
    • Post Points: 5
  • Sat, Mar 30 2013 7:50 AM

    • acook
    • Top 500 Contributor
    • Joined on Thu, Oct 4 2012
    • Manchester, NH
    • Posts 27
    • Points 480
    Re: ADEL check model files and paths Reply

    Let me rephrase into smaller peices:

    1. How do I create a trigger that will execture immediatly after I hit "run" in ADE?
    2. How do I get the information of which model files I have loaded from ADE into SKILL?
    • Post Points: 20
  • Mon, Apr 1 2013 12:38 AM

    Re: ADEL check model files and paths Reply

    You'd need to insert a preFunc or postFunc to an existing "flowchart" step (or you could add another flowchart step, but probably easiest to do it something like the below). And use (say) asiGetModelLibSelectionList(session) (where session is what is passed into the trigger) to get the model files.

     

    /* abPostNetlistTrigger.il
    
    Author     A.D.Beckett
    Group      Custom IC (UK), Cadence Design Systems Ltd.
    Language   SKILL
    Date       Sep 09, 2009 
    Modified   
    By         
    
    Example of defining a trigger to be invoked after netlisting.
    Works by adding a postFunc to the asiComposeSimInput flowchart step.
    
    for example:
    
    abDefinePostNetlistTrigger('spectre)
    abDefinePostNetlistTrigger('hspiceD)
    
    Could use similar code to define a preFunc trigger for the asiNetlist
    step - this would allow you to trigger before the netlisting.
    
    ***************************************************
    
    SCCS Info: @(#) abPostNetlistTrigger.il 09/09/09.14:38:50 1.2
    
    */
    
    procedure(abPostNetlistTrigger(session)
      let((simulator existingPostFunc)
        simulator=asiGetSimName(session)
        printf("TRIGGER: netlist Directory is %L\n" asiGetNetlistDir(session))
        printf("TRIGGER: psf Directory is %L\n" asiGetPsfDir(session))
        existingPostFunc=concat('abPostNetlistTrigger_ simulator)
        if(getd(existingPostFunc) then
          funcall(existingPostFunc session)
        else
          t
        ) ; if
      ) ; let
    ) ; procedure abPostNetlistTrigger
    
    procedure(abDefinePostNetlistTrigger(simulator)
      let((flow postFunc step)
        flow=asiGetFlowchart(asiGetTool(simulator))
        step=asiGetFlowchartStep(flow 'asiComposeSimInput)
        postFunc=step->postFunc
        ;--------------------------------------------------------------------
        ; Doesn't seem to be a postFunc for this step, but just in case,
        ; future proof it...
        ;--------------------------------------------------------------------
        when(postFunc && neq(postFunc 'abPostNetlistTrigger)
          putd(concat('abPostNetlistTrigger_ simulator) getd(postFunc))
        ) ; when
        asiChangeFlowchartStep(flow ?name 
          'asiComposeSimInput ?postFunc 'abPostNetlistTrigger
        )
      ) ; let
    ) ; procedure abDefinePostNetlistTrigger 
    

     

    • Post Points: 5
Page 1 of 1 (3 items)
Sort Posts:
Started by acook at 27 Mar 2013 05:16 AM. Topic has 2 replies.