• 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. Verilog-A control of temperature for single instances?

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 125
  • Views 9417
  • 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

Verilog-A control of temperature for single instances?

PistakioKernel
PistakioKernel over 3 years ago

Hello!

I would like to make a verilog-A block that can read a signal and force the temperature accordingly. It works great with the function $cds_set_temperature but unfortunately this will edit the global temperature used for every instance while I would like to only edit the temperature of some blocks. Is there a way to modify this function so that it only changes some specified instance temperature?

The alternative I was trying is to use SKILL to access the instance and edit its own temperature parameter but I wasn't able to get it working during a transient simulation...

Many thanks and best regards,

Francesco

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

    Hi Francesco,

    I don't believe this is possible, and I've not seen any enhancement requests to do this so far. You'll need to contact customer support for such an enhancement to be filed.

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 3 years ago

    Hi Francesco,

    I don't believe this is possible, and I've not seen any enhancement requests to do this so far. You'll need to contact customer support for such an enhancement to be filed.

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
Children
  • PistakioKernel
    PistakioKernel over 3 years ago in reply to Andrew Beckett

    Hi Andrew, I though to make a short update that serves as closure for this point, and that could leave a reference if someone could be interested in doing something similar in the future.

    It was possible to do it in the following way: Place all the instances that need to be varied with temperature in a block and place this block n times where every nth-placement of this block has a fixed temperature offset. the whole n-blocks need to cover the full temperature range of interest. Then bring all signals going IN and OUT of this n blocks to a "verilog temperature multiplexer" which reads the temperature and combines the IN and the OUT signals mixing proportionally the signals coming from the 2 to the closest fixed temperature blocks. Clearly the IN temperature multiplexer has [IN] amount of inputs and [IN*n] amount of outputs, while the OUT temperature multiplexer has [OUT*n] amount of inputs and [OUT] amount of outputs where [IN] and [OUT] is the number of signals that need to go IN or OUT of the temperature depended model.

    To give quick example: let's take N = 3 with fixed temperature offsets of -50C, 0C and 50C (t range of interest in this case -50C to 50C). Let's say the temperature signal is 25C at a certain simulation moment. then the verilog multiplexer would take 50% of the signals coming from/to block at fixed 0C and mix with 50% of the signals coming from/to from block at fixed 50C. if the temperature is -10C it would take 80% form the block at 0C and 20% from the block at -50C. as the number n grows the accuracy of the mixed model increases.

    A bit laborious but working. Thanks for your feedback and best regards,

    Francesco

    • 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