Home > Community > Forums > Custom IC Design > verilogA timestep dynamic management

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

 verilogA timestep dynamic management 

Last post Thu, Jun 27 2013 6:48 AM by Fabb. 2 replies.
Started by Fabb 27 Jun 2013 12:06 AM. Topic has 2 replies and 459 views
Page 1 of 1 (3 items)
Sort Posts:
  • Thu, Jun 27 2013 12:06 AM

    • Fabb
    • Top 500 Contributor
    • Joined on Mon, Jun 17 2013
    • Grenoble, Isere
    • Posts 22
    • Points 320
    verilogA timestep dynamic management Reply

    Hello,

    I am developping a verilogA module with an agressive transition on a specific current (transition occure at Ith).

    To improve the accuracy I would like to reduce time step close to it.

    Using  $bound_step(10p) should work, but it is for the complete simulation set, so I would prefer to dynamicazlly reduce time step only close to the transition.

    For this I try

        @(cross(I-Ith,0,1p,1p))    $discontinuity (0),

    and I monitor the time step with

         $display("\n--t=%r",$abstime);

    I am not able to to see the impact of (cross and discontinuity statment) on the time step.

    Is it normal ?

    regards

    fab

    • Post Points: 20
  • Thu, Jun 27 2013 12:14 AM

    Re: verilogA timestep dynamic management Reply

    Fab,

    You can call $bound_step with a varying argument - so you could adaptively adjust the value of $bound_step during the simulation. Such a technique is commonly used in VCO models to ensure a sufficient number of points per period. You should call $bound_step on each timestep, but you could conditionally alter the variable you're passing to it.

    The $discontinuity is just a hint to the simulator to tell it how to cope - it will already force a timestep at (or close to) the threshold crossing - but it will not necessarily force it to zoom in and keep the timesteps short.

    It's not obvious what you're trying to do - maybe showing more of your model would help?

    Regards,

    Andrew.

    • Post Points: 20
  • Thu, Jun 27 2013 6:48 AM

    • Fabb
    • Top 500 Contributor
    • Joined on Mon, Jun 17 2013
    • Grenoble, Isere
    • Posts 22
    • Points 320
    Re: verilogA timestep dynamic management Reply

     thank you, indeed I am now managing the time step much more accuratly.

     

    regards,

     

    fabrice

    • Post Points: 5
Page 1 of 1 (3 items)
Sort Posts:
Started by Fabb at 27 Jun 2013 12:06 AM. Topic has 2 replies.