• 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. verilogA timestep dynamic management

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 125
  • Views 18509
  • 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

verilogA timestep dynamic management

Fabb
Fabb over 12 years ago

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

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 12 years ago

    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.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • apskohli
    apskohli over 5 years ago in reply to Andrew Beckett

    Hi Andrew,

    Can you please share the VCO model (verilog-A code) that you referred to above.

    I was looking for an accurate yet fast VCO model, this might be the solution I need.

    Thanks,

    Aman  

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • apskohli
    apskohli over 5 years ago in reply to Andrew Beckett

    Hi Andrew,

    Can you please share the VCO model (verilog-A code) that you referred to above.

    I was looking for an accurate yet fast VCO model, this might be the solution I need.

    Thanks,

    Aman  

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • ShawnLogan
    ShawnLogan over 5 years ago in reply to apskohli

    Dear apskohli,

    apskohli said:

    Can you please share the VCO model (verilog-A code) that you referred to above.

    I was looking for an accurate yet fast VCO model, this might be the solution I need.

    Have you seen the verilogA model provided by Ken Kundert at URL:

    http://www.designers-guide.org/Analysis/PLLnoise+jitter.pdf

    There are two verilogA based VCO models included in the paper that might be of interest to you.  The model you are referring to, per my understanding of this very old post, is from community member Fabb.  I am sure many others exist, but don't know the extent of your specific need(s).

    Other forum members, I am sure, will have other suggestions for verilogA based VCO models as they are pervasive in my experience.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 5 years ago in reply to ShawnLogan

    In addition to the model pointed to by Shawn, there's also a couple of vco models shipped with the IC release, in ahdlLib and bmslib which you can access by adding:

    DEFINE ahdlLib $(inst_root_with:tools/dfII/bin/virtuoso)/tools/dfII/samples/artist/ahdlLib
    DEFINE bmslib $(inst_root_with:tools/dfII/bin/virtuoso)/tools/dfII/samples/artist/bmslib

    to your cds.lib

    Andrew 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

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