• 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. Monte Carlo: Define instance mismatch correlation in IC61...

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 125
  • Views 2146
  • 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

Monte Carlo: Define instance mismatch correlation in IC61.6/7

Majdo
Majdo over 7 years ago

Hello,

I have spent a lot of time investigating following task:

Assume I have to perform mismatch simulations of a comparator using montecarlo anlaysis in ADE-XL. I need to collect comparator offset (dc sim) and duty cycle ( tran).
As a result I would like to have a scatter plot where on X-axis offset voltage and on Y-axis duty cycle.

I have tried several methods but without any success.

Apporach 1: I have one test withe two instances of the comparator (I1/ I2). I have a dc /transient simulation preset in single test.
Comparator I1 has stimuli for dc offset extraction, while I2 has stimuli for transient analysis ( duty cycle extraction).

 I have specified instance as "Master" of CMP_TOP cell  in montecarlo "Specify Inst/device" menu.

As a result on line has been created for test:

Test Type Sch/Master/Subcircuit Data
tst Master CMP_TOP I1, I2

I have checked mismatch data applied for devices inside the comparator but only to see that a different set of values have been used for I1 and I2. I have looked for every possible option/setting  but no way where I could specify correlation between the devices in I1 and I2.

I know for a fact that when you are defining parameter distribution for montecarlo there is a statistic block where a special syntax exists that allows to define correlation between devices/parameters.

Mismatch Correlation (Matched Devices)

The syntax of the instance or mismatch correlation statements are:

correlate dev=[list of subcircuit instances] {param=[list of parameters]} cc=<value>
correlate dev=[<wildcard_expression] {param=[list of parameters]} cc=<value>

Approach2: create 2 separate test benches + schematics and then use the same method to specify device for mc variation. Just a note that the instance name will have to be exactly the same otherwise different set of variations will be used for each setup.

I am using IC617ISR15 and MMSIM 16.1.

Question1: Is there a way in MC setup how achieve that a any occurrence of a cell inside the test bench schematic will end up having the same statics parameter variations within  single mc simulation run?

Question2: Assuming I will have two test benches where the offset will be expression calculated in test1 and duty cycle in test 2. How to make a scatter plot in montecarlo sweep where on x-ais will be expression value from one test and on Y-axis value of an expression from another test?

Many thanks!
Regards Marian

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 7 years ago
    Hi Marian,
    I’d do this by having two test benches - and then using the Specify Instances/Devices button on the bottom of the monte carlo form in ADE XL. You can then specify that you only want the mismatch to be applied to the specified instances (the instance names don’t have to match) in each test bench - and provided that it’s the same cellView, the mismatch should correlated. Setting correlation coefficients won’t help (and is unnecessary - and would be complicated anyway).
    To use the scatter plot capability, unfortunately it seems to be restricted to only measurements from the same test (I can’t really see a good reason for this other than historical). The good news is that it’s easy to workaround. Say I have a measurement on my first test (the test is called “DC”) called “DCoffset” then what I’d do is create a measurement on the second test also called “DCoffset” and set it to calcVal(“DCoffset” "DC”) . This means it will retrieve the value from the corresponding point in the other test, but because it’s in my transient test I can then use it in my scatter plot.
    I filed CCR 1848935 (against ADE Assembler) as I think this is a reasonable thing to want to do and I think we should make it possible without creating an artificial extra output.
    Regards,
    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