Home
  • Products
  • Solutions
  • Support
  • Company

This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  • Products
  • Solutions
  • Support
  • Company
Community Custom IC Design Evaluated waveform discontinuity

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 125
  • Views 3593
  • 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

Evaluated waveform discontinuity

sidm
sidm over 1 year ago

Hello, 

I am using "freq" function to get a waveform representing the frequency of a signal versus time but at some of the corners I see the evaluated output of "freq" function as discontinuous. Screenshot below for reference where the yellow and red waveforms start abruptly after 1us.

Is there something I can do in the simulation settings or elsewhere to remove this discontinuity so that the waveforms start as the "green" one ?

regards 

  • Cancel
Parents
  • sidm
    sidm over 1 year ago

    Hi All, 

    It will be very helpful to get some insights on this. 

    regards

    Sid

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago in reply to sidm

    Sid,

    This is the second post you have chased in a few days. If it's urgent, please contact customer support - that's what it's for. Everyone who responds here (including me, as a Cadence employee) does so as a volunteer - in their spare time - and sometimes the day job gets in the way...

    Especially as the first post was on a Sunday. Be reasonable!

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago in reply to Andrew Beckett

    What is the exact expression you are using, and what does the source waveform look like for each of the three traces (I'm interested really in what it looks like up to the times that the green, yellow and red curves start at)?

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 1 year ago in reply to Andrew Beckett

    What is the exact expression you are using, and what does the source waveform look like for each of the three traces (I'm interested really in what it looks like up to the times that the green, yellow and red curves start at)?

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • sidm
    sidm over 1 year ago in reply to Andrew Beckett

    thanks for the reply. The source waveform is of an oscillator called "in" as described in the below expression. The tran simulation runs till 20us. I have tried with both "falling" and "rising" edge in the expression resulting in the same response. Also I tried the auto/user mode to set the threshold which in this case is 0. Using the "clip" function or not also doesn't make much of a difference.

    The expression is freq(clip(VT("/in") 0 2e-05) "rising" ?xName "time" ?mode "auto" ?threshold 0)

    "in" waveform looks like the below - 

    "in" waveform from 0 to 1us : 

    regards 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago in reply to sidm

    Well, there must be two transitions of the green waveform earlier (which looks likely from the waveforms you've shown). The freq function outputs its first point at the second transition (obviously it can't compute the frequency before that). The red and yellow waveforms seem to be around 0 until the signal really starts changing. I'm not sure there's a great deal you can do about this, other than clip the green signal so that it omits the beginning part, but the ramp-up is going to cross a threshold somewhere. There's certainly nothing to ensure that the other waveforms start in the same place. You could (I suppose) do something like:

    freq(clip(VT("/in") 0 2e-05) "rising" ?xName "time" ?mode "auto" ?threshold 0)+VT("/in")*0

    that will (I think) cause the initial frequency point to be extrapolated back to 0 (the addition of a waveform multiplied by 0 will not affect the Y values, but the X points will then be generated.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • sidm
    sidm over 1 year ago in reply to Andrew Beckett

    Thanks Andrew, from the addition of a waveform multiplied by 0 the resultant output (red and yellow waveforms) has a constant value in the previously discontinuous region as shown in the below screenshot.  

    regards

    • 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