Home > Community > Forums > Custom IC Design > Virtuoso ADEGXL: SKILL function falltime(...)

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

 Virtuoso ADEGXL: SKILL function falltime(...) 

Last post Sun, May 6 2012 3:23 PM by Andrew Beckett. 3 replies.
Started by Eberhard2010 17 Apr 2012 09:39 AM. Topic has 3 replies and 2377 views
Page 1 of 1 (4 items)
Sort Posts:
  • Tue, Apr 17 2012 9:39 AM

    • Eberhard2010
    • Not Ranked
    • Joined on Tue, Apr 10 2012
    • Karlsruhe, Baden-Wurttemberg
    • Posts 7
    • Points 110
    Virtuoso ADEGXL: SKILL function falltime(...) Reply

    Hello Virtuoso SKILL Programmers,

    I m using the ADEGXL for measuring delay, power, slewrate of some digital blocks like NAND2 NOR2 a.s.o.

    As it is described in the Manual of the SKILL function fallTime, it can be applied e.g.:

    wavelet=fallTime(v("/Y" ?result "tran-tran") 0.9 nil 0 nil 90 10 t "time")

    => srrWave:0x188ac0a0

     

    For falltime 0.9V=VDD 0V=GND 10%-90% and multiple occurencies, i got this object.

    I my transient simulation the Output Y of my circuit falls at multiple times, so the fallTime is unfortuenatly displayed as a waveform.

    Now I want to know how a get the exact values out of this object "srrWave:0x188ac0a0". I mean, when the fall is detected, how often is a fall deteced, what is the outcome for each fall case seperately a.s.o.

     

    Also the functionality "export results" excludes waveforms, so I have no chance to get this values out here.

    Can I somehow modify the print-method for "export results" to get my desired values?

     

    As this is a very common issue, I guess there's a very easy solution for it. But I don't get it yet. Maybe someone can help me out?

    Kind Regards Eberhard2010

    • Post Points: 20
  • Sat, Apr 21 2012 8:57 AM

    Re: Virtuoso ADEGXL: SKILL function falltime(...) Reply

    BTW, I think you probably want the 90 and 10 arguments the other way around (according to the documentation) - but anyway, that's not the point here.

    There's not really a way to make a waveform get flattened into the ADE XL output table. You can send the expression from the calculator to a table, and then export that.

    The other alternative is to write an OCEAN script measurement in ADE XL, and then ocnPrint the results into a file, maybe.

    Probably best to contact customer support, so it can be discussed with you in more detail, and then if needed an enhancement request can be filed.

    Regards,

    Andrew.

    • Post Points: 20
  • Tue, Apr 24 2012 8:01 AM

    • Eberhard2010
    • Not Ranked
    • Joined on Tue, Apr 10 2012
    • Karlsruhe, Baden-Wurttemberg
    • Posts 7
    • Points 110
    Re: Virtuoso ADEGXL: SKILL function falltime(...) Reply
    Dear Andrew,

    1)
    thanks for your mail.
    2)
    I dont think 10%<->90% is exchanged as it's a product of the Analysis Calculator XL (should be skill syntax). However for RiseTime it's the other way round.
    GUI for FallTime:
    Initial Value:0.9V
    Final Value: 0V
    Percent High:90%
    Percent Low:10%
    => fallTime(v("/Y" ?result "tran-tran") 0.9 nil 0 nil 90 10 t "time" )

    3)
    The issue of these tables you mentioned is that they show the fallTime just for one sweep parameter. But I've multiples and also multiple corners. Manual export of the tables is also not nice due to much data.
    4)
    In the mean time, i found something like:

    wavelet2=fallTime(v("/Y" ?result "tran-tran") 0.9 nil 0 nil 90 10 t "cycle")
    wavelet3=value(value(wavelet2 'Cload 5e-16) 'slope_vec 0.02695948)
    print(value(wavelet3 'cycle 1))

    If I loop over the sweep variables, I should get all I need. I will write a skill procedure to dump the values in a file.

    5)
    ocnPrint!!! is really brilliant, I like it ;-) Thanks.
    ocnPrint("test.txt" wavelet2)

    6)
    As I'm phd student at a university we re not really able to access customer support. I was lucky to post something in Cadence Forum. Maybe you have a hint for me. You know a dedicated skill forum where I can ask these kind of question?

    7)
    I'm very interested in Cadence EDA/ OpenAccess/ ParameterVariation-Aware-Simulation. You know if there are any internships at Cadence ADE / Ocean development center?

    Thanks so much for your help. It 's very nice of you to take time and answer so "simplistic" questions to me :-)

    Regards Eberhard2010
    • Post Points: 20
  • Sun, May 6 2012 3:23 PM

    Re: Virtuoso ADEGXL: SKILL function falltime(...) Reply

    Hi Eberhard,

    2) Actually you have the initial and final values back to front, so that compensates for it. According to the docs, and the defaults in the UI, the order would normally be 10 and 90. Still, never mind, it works...

    3) In recent enough versions of IC615, the tables should handle parametric data, AFAIK.

    6) This is the right forum. However, remember that it's manned by volunteers (from Cadence and from the community) and so there's no guaranteed response - we just do this in our spare time.

    7) I'm not aware of anything right now, but maybe you could send a direct message to Patrick Haspel (you should be able to find him as a member on the community) - he's responsible for our European University Programme.

    Regards,

    Andrew.

    • Post Points: 5
Page 1 of 1 (4 items)
Sort Posts:
Started by Eberhard2010 at 17 Apr 2012 09:39 AM. Topic has 3 replies.