• 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. adding white and flicker noise sources in cadence virtu...

Stats

  • Locked Locked
  • Replies 7
  • Subscribers 126
  • Views 21401
  • 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

adding white and flicker noise sources in cadence virtuoso

OneNewBoy
OneNewBoy over 12 years ago

Hi all,

I am new to cadence virtuoso/spectre. I want to design an ADC for which I have written some components through verilog A containing their respective noise models implemented through white_noise and flicker_noise functions.

Now how to activate those sources in spectre simulation ? It's only active in small signal analysis as far as I know.
However I want noise to be present along with the main signal so that I can measure SNR etc using calculator function.

So which type of analysis to use: tran or noise ? and how (few lines of analysis statement will help)

Moreover, from cadence virtuoso manual I found that we can perform small signal analysis during transient analysis, by using below command:

  Name tran stop=stop actimes=time acnames=name

However I got a syntax error of  "ERROR (SPECTRE-16062): Output of circuit is not specified." on running below code snippet on a simple test circuit :

tran tran stop=4u write="spectre.ic" writefinal="spectre.fc" \

    annotate=status maxiters=5 actimes=[2u] acnames=[noise1]

noise1 noise start=2u stop=2.1u

finalTimeOP info what=oppoint where=rawfile

I stuffed another "info what=oppoint" statement between 2nd and 3rd line, still same error. Here my understanding is tran analysis stops at 2u and till 2.1 the simulator will run noise analysis (if wrong please correct me). I am still trying to debug this and it may be a plain syntax error. However can someone please answer above questions and guide me through the right approach.

 Thanks a lot!

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

    In addition to Tawna's suggestion, you could perform a small signal noise analysis at different time points. This is not the same as adding noise during the transient, but instead it is like running the small signal noise analysis at different bias points.

    You tried doing that, but got the statements wrong. You'd need:

    tran tran stop=4u write="spectre.ic" writefinal="spectre.fc" \
        annotate=status maxiters=5 actimes=[2u] acnames=[noise1]
    noise1 (posOutputNode negOutputNode) noise start=startFreq stop=stopFreq ...

    The noise analysis needs to know where you're measuring the noise, and the frequency sweep range for the results. It's not the time duration it does it for. 

    I suspect it's really transient noise you're after - although you should check if you really need to use transient noise. Transient noise is generally the method of last resort - there are often much more efficient ways to get the same result.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 12 years ago

    In addition to Tawna's suggestion, you could perform a small signal noise analysis at different time points. This is not the same as adding noise during the transient, but instead it is like running the small signal noise analysis at different bias points.

    You tried doing that, but got the statements wrong. You'd need:

    tran tran stop=4u write="spectre.ic" writefinal="spectre.fc" \
        annotate=status maxiters=5 actimes=[2u] acnames=[noise1]
    noise1 (posOutputNode negOutputNode) noise start=startFreq stop=stopFreq ...

    The noise analysis needs to know where you're measuring the noise, and the frequency sweep range for the results. It's not the time duration it does it for. 

    I suspect it's really transient noise you're after - although you should check if you really need to use transient noise. Transient noise is generally the method of last resort - there are often much more efficient ways to get the same result.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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