• 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. ADE-XL: How to force individual result directories for each...

Stats

  • Locked Locked
  • Replies 24
  • Subscribers 125
  • Views 27797
  • 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

ADE-XL: How to force individual result directories for each Monte Carlo point?

dontpanic
dontpanic over 10 years ago

Hi! I am having an issue with the way ADE-XL (6.1.6-64b.500.11) is treating the results directories when running Monte Carlo simulations.

I have in my testbench a custom VA component that samples and dumps signals to the disk. For example, if I run a simulation in "Single run, sweeps and corners" mode with 3 corners, my dumped results are stored in the following directories and files:

[...]/[my_lib]/[my_cell]/adexl/results/data/Interactive.7/1/sch__noiseless/psf/myDumpedSimData/vOUTdiff.csv
[...]/[my_lib]/[my_cell]/adexl/results/data/Interactive.7/2/sch__noiseless/psf/myDumpedSimData/vOUTdiff.csv
[...]/[my_lib]/[my_cell]/adexl/results/data/Interactive.7/3/sch__noiseless/psf/myDumpedSimData/vOUTdiff.csv

The problem is when I switch to "Monte Carlo Sampling" mode. For instance, if I run 48 MC points for only 1 corner (and setting in my Job Setup options "Max. Jobs"=8), I see the following directories are being created:

[...]/[my_lib]/[my_cell]/adexl/results/data/MonteCarlo.3/1/sch__noiseless/groupRunDataDir/psf/myDumpedSimData/vOUTdiff.csv
[...]/[my_lib]/[my_cell]/adexl/results/data/MonteCarlo.3/1/sch__noiseless/groupRunDataDir/psf/myDumpedSimData/vOUTdiff.csv~

[...]/[my_lib]/[my_cell]/adexl/results/data/MonteCarlo.3/7/sch__noiseless/groupRunDataDir/psf/myDumpedSimData/vOUTdiff.csv
[...]/[my_lib]/[my_cell]/adexl/results/data/MonteCarlo.3/7/sch__noiseless/groupRunDataDir/psf/myDumpedSimData/vOUTdiff.csv~

[...]/[my_lib]/[my_cell]/adexl/results/data/MonteCarlo.3/13/sch__noiseless/groupRunDataDir/psf/myDumpedSimData/vOUTdiff.csv
[...]/[my_lib]/[my_cell]/adexl/results/data/MonteCarlo.3/13/sch__noiseless/groupRunDataDir/psf/myDumpedSimData/vOUTdiff.csv~

[...]/[my_lib]/[my_cell]/adexl/results/data/MonteCarlo.3/19/sch__noiseless/groupRunDataDir/psf/myDumpedSimData/vOUTdiff.csv
[...]/[my_lib]/[my_cell]/adexl/results/data/MonteCarlo.3/19/sch__noiseless/groupRunDataDir/psf/myDumpedSimData/vOUTdiff.csv~

[...]/[my_lib]/[my_cell]/adexl/results/data/MonteCarlo.3/25/sch__noiseless/groupRunDataDir/psf/myDumpedSimData/vOUTdiff.csv
[...]/[my_lib]/[my_cell]/adexl/results/data/MonteCarlo.3/25/sch__noiseless/groupRunDataDir/psf/myDumpedSimData/vOUTdiff.csv~

[...]/[my_lib]/[my_cell]/adexl/results/data/MonteCarlo.3/31/sch__noiseless/groupRunDataDir/psf/myDumpedSimData/vOUTdiff.csv
[...]/[my_lib]/[my_cell]/adexl/results/data/MonteCarlo.3/31/sch__noiseless/groupRunDataDir/psf/myDumpedSimData/vOUTdiff.csv~

[...]/[my_lib]/[my_cell]/adexl/results/data/MonteCarlo.3/37/sch__noiseless/groupRunDataDir/psf/myDumpedSimData/vOUTdiff.csv
[...]/[my_lib]/[my_cell]/adexl/results/data/MonteCarlo.3/37/sch__noiseless/groupRunDataDir/psf/myDumpedSimData/vOUTdiff.csv~

[...]/[my_lib]/[my_cell]/adexl/results/data/MonteCarlo.3/43/sch__noiseless/groupRunDataDir/psf/myDumpedSimData/vOUTdiff.csv
[...]/[my_lib]/[my_cell]/adexl/results/data/MonteCarlo.3/43/sch__noiseless/groupRunDataDir/psf/myDumpedSimData/vOUTdiff.csv~

So even though all the 48 MC points run without problems, ADE-XL is arranging/processing the results directories in a way that the files with the dumped signals are being overwritten, and in the end I am only left with 8 individual "vOUTdiff.csv" files (+8 old "vOUTdiff.csv~").

The root of the problem seems to be in the way the simulations are being launched, since in the individual spectre.out logs I see the warnings coming from my VA code messages about the files being overwritten (see attached excerpt below), and also that the MC points are being treated as "iterations".

How can I avoid this behavior, and force ADE-XL/spectre to keep the individual results directories for every MC point, while being able to run many MC points in parallel?

Thanks in advance for any help!

Cheers,

Jorge

  • Cancel
  • dontpanic
    dontpanic over 10 years ago
    Cadence (R) Virtuoso (R) Spectre (R) Circuit Simulator
    Version 14.1.0.527.isr6 64bit -- 31 Mar 2015
    Copyright (C) 1989-2015 Cadence Design Systems, Inc. All rights reserved worldwide. Cadence, Virtuoso and Spectre are registered trademarks of Cadence Design Systems, Inc. All others are the property of their respective holders.

    [...]

    ************************************************
    Monte Carlo Analysis `mc1': iteration = (1 -> 6)
    ************************************************
    Important parameter values:
    seed = 1151
    sampling = standard
    variations = all
    firstrun = 1
    numruns = 6
    nullmfactorcorrelation = no
    donominal = yes
    method = standard


    **** Performing nominal run for `mc1'

    ***************************************************
    Transient Analysis `tran': time = (0 s -> 136.5 ns)
    ***************************************************
    Finding DC approximate solution failed. Try again with try_fast_op set to no.
    Trying `homotopy = gmin' for initial conditions.
    Trying `homotopy = source' for initial conditions.
    Trying `homotopy = dptran' for initial conditions.

    [...]

    **** Performing monte carlo loop for `mc1'

    1 0.00%

    ***************************************************
    Transient Analysis `tran': time = (0 s -> 136.5 ns)
    ***************************************************
    Finding DC approximate solution failed. Try again with try_fast_op set to no.

    Warning from spectre at iteration = 1 during IC analysis, during transient analysis `tran', during Monte Carlo analysis `mc1'.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 73: I281: Overwriting file ../psf/myDumpedSimData/vOUTp.csv. Saving old contents of file in ../psf/myDumpedSimData/vOUTp.csv~.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 74: I281: Overwriting file ../psf/myDumpedSimData/vOUTm.csv. Saving old contents of file in ../psf/myDumpedSimData/vOUTm.csv~.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 80: I281: Overwriting file ../psf/myDumpedSimData/vOUTdiff.csv. Saving old contents of file in ../psf/myDumpedSimData/vOUTdiff.csv~.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 73: sample2disk__vIN: Overwriting file ../psf/myDumpedSimData/vINp.csv. Saving old contents of file in ../psf/myDumpedSimData/vINp.csv~.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 84: I281: Overwriting file ../psf/myDumpedSimData/vOUTcm.csv. Saving old contents of file in ../psf/myDumpedSimData/vOUTcm.csv~.
    Further occurrences of this warning will be suppressed.

    [...]
    finalTimeOP: writing operating point information to rawfile.
    modelParameter: writing model parameter values to rawfile.
    element: writing instance parameter values to rawfile.
    outputParameter: writing output parameter values to rawfile.
    designParamVals: writing netlist parameters to rawfile.
    primitives: writing primitives to rawfile.
    subckts: writing subcircuits to rawfile.
    mc1: iteration = 1 (0 %), step = 1 (0 %)
    2 20.00%

    ***************************************************
    Transient Analysis `tran': time = (0 s -> 136.5 ns)
    ***************************************************
    Finding DC approximate solution failed. Try again with try_fast_op set to no.

    Warning from spectre during IC analysis, during transient analysis `tran', during Monte Carlo analysis `mc1'.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 73: I281: Overwriting file ../psf/myDumpedSimData/vOUTp.csv. Saving old contents of file in ../psf/myDumpedSimData/vOUTp.csv~.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 74: I281: Overwriting file ../psf/myDumpedSimData/vOUTm.csv. Saving old contents of file in ../psf/myDumpedSimData/vOUTm.csv~.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 80: I281: Overwriting file ../psf/myDumpedSimData/vOUTdiff.csv. Saving old contents of file in ../psf/myDumpedSimData/vOUTdiff.csv~.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 84: I281: Overwriting file ../psf/myDumpedSimData/vOUTcm.csv. Saving old contents of file in ../psf/myDumpedSimData/vOUTcm.csv~.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 73: I279: Overwriting file ../psf/myDumpedSimData/vRESp.csv. Saving old contents of file in ../psf/myDumpedSimData/vRESp.csv~.
    Further occurrences of this warning will be suppressed.

    Trying `homotopy = gmin' for initial conditions.
    Trying `homotopy = source' for initial conditions.
    Trying `homotopy = dptran' for initial conditions.
    [...]
    finalTimeOP: writing operating point information to rawfile.
    modelParameter: writing model parameter values to rawfile.
    element: writing instance parameter values to rawfile.
    outputParameter: writing output parameter values to rawfile.
    designParamVals: writing netlist parameters to rawfile.
    primitives: writing primitives to rawfile.
    subckts: writing subcircuits to rawfile.
    mc1: iteration = 2 (20 %), step = 1 (20 %)
    3 40.00%

    ***************************************************
    Transient Analysis `tran': time = (0 s -> 136.5 ns)
    ***************************************************
    Finding DC approximate solution failed. Try again with try_fast_op set to no.

    Warning from spectre during IC analysis, during transient analysis `tran', during Monte Carlo analysis `mc1'.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 73: I281: Overwriting file ../psf/myDumpedSimData/vOUTp.csv. Saving old contents of file in ../psf/myDumpedSimData/vOUTp.csv~.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 73: sample2disk__vIN: Overwriting file ../psf/myDumpedSimData/vINp.csv. Saving old contents of file in ../psf/myDumpedSimData/vINp.csv~.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 74: I281: Overwriting file ../psf/myDumpedSimData/vOUTm.csv. Saving old contents of file in ../psf/myDumpedSimData/vOUTm.csv~.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 74: sample2disk__vIN: Overwriting file ../psf/myDumpedSimData/vINm.csv. Saving old contents of file in ../psf/myDumpedSimData/vINm.csv~.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 80: I281: Overwriting file ../psf/myDumpedSimData/vOUTdiff.csv. Saving old contents of file in ../psf/myDumpedSimData/vOUTdiff.csv~.
    Further occurrences of this warning will be suppressed.

    Trying `homotopy = gmin' for initial conditions.
    Trying `homotopy = source' for initial conditions.
    Trying `homotopy = dptran' for initial conditions.
    [...]
    finalTimeOP: writing operating point information to rawfile.
    modelParameter: writing model parameter values to rawfile.
    element: writing instance parameter values to rawfile.
    outputParameter: writing output parameter values to rawfile.
    designParamVals: writing netlist parameters to rawfile.
    primitives: writing primitives to rawfile.
    subckts: writing subcircuits to rawfile.
    mc1: iteration = 3 (40 %), step = 1 (20 %)
    4 60.00%

    ***************************************************
    Transient Analysis `tran': time = (0 s -> 136.5 ns)
    ***************************************************
    Finding DC approximate solution failed. Try again with try_fast_op set to no.

    Warning from spectre during IC analysis, during transient analysis `tran', during Monte Carlo analysis `mc1'.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 73: I281: Overwriting file ../psf/myDumpedSimData/vOUTp.csv. Saving old contents of file in ../psf/myDumpedSimData/vOUTp.csv~.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 73: sample2disk__vIN: Overwriting file ../psf/myDumpedSimData/vINp.csv. Saving old contents of file in ../psf/myDumpedSimData/vINp.csv~.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 74: I281: Overwriting file ../psf/myDumpedSimData/vOUTm.csv. Saving old contents of file in ../psf/myDumpedSimData/vOUTm.csv~.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 74: sample2disk__vIN: Overwriting file ../psf/myDumpedSimData/vINm.csv. Saving old contents of file in ../psf/myDumpedSimData/vINm.csv~.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 80: I281: Overwriting file ../psf/myDumpedSimData/vOUTdiff.csv. Saving old contents of file in ../psf/myDumpedSimData/vOUTdiff.csv~.
    Further occurrences of this warning will be suppressed.

    Trying `homotopy = gmin' for initial conditions.
    Trying `homotopy = source' for initial conditions.
    Trying `homotopy = dptran' for initial conditions.
    [...]
    finalTimeOP: writing operating point information to rawfile.
    modelParameter: writing model parameter values to rawfile.
    element: writing instance parameter values to rawfile.
    outputParameter: writing output parameter values to rawfile.
    designParamVals: writing netlist parameters to rawfile.
    primitives: writing primitives to rawfile.
    subckts: writing subcircuits to rawfile.
    mc1: iteration = 4 (60 %), step = 1 (20 %)
    5 80.00%

    ***************************************************
    Transient Analysis `tran': time = (0 s -> 136.5 ns)
    ***************************************************
    Finding DC approximate solution failed. Try again with try_fast_op set to no.

    Warning from spectre during IC analysis, during transient analysis `tran', during Monte Carlo analysis `mc1'.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 73: I281: Overwriting file ../psf/myDumpedSimData/vOUTp.csv. Saving old contents of file in ../psf/myDumpedSimData/vOUTp.csv~.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 73: sample2disk__vIN: Overwriting file ../psf/myDumpedSimData/vINp.csv. Saving old contents of file in ../psf/myDumpedSimData/vINp.csv~.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 74: I281: Overwriting file ../psf/myDumpedSimData/vOUTm.csv. Saving old contents of file in ../psf/myDumpedSimData/vOUTm.csv~.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 74: sample2disk__vIN: Overwriting file ../psf/myDumpedSimData/vINm.csv. Saving old contents of file in ../psf/myDumpedSimData/vINm.csv~.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 80: I281: Overwriting file ../psf/myDumpedSimData/vOUTdiff.csv. Saving old contents of file in ../psf/myDumpedSimData/vOUTdiff.csv~.
    Further occurrences of this warning will be suppressed.

    Trying `homotopy = gmin' for initial conditions.
    Trying `homotopy = source' for initial conditions.
    Trying `homotopy = dptran' for initial conditions..
    [...]
    finalTimeOP: writing operating point information to rawfile.
    modelParameter: writing model parameter values to rawfile.
    element: writing instance parameter values to rawfile.
    outputParameter: writing output parameter values to rawfile.
    designParamVals: writing netlist parameters to rawfile.
    primitives: writing primitives to rawfile.
    subckts: writing subcircuits to rawfile.
    mc1: iteration = 5 (80 %), step = 1 (20 %)
    6 100.00%

    ***************************************************
    Transient Analysis `tran': time = (0 s -> 136.5 ns)
    ***************************************************
    Finding DC approximate solution failed. Try again with try_fast_op set to no.

    Warning from spectre during IC analysis, during transient analysis `tran', during Monte Carlo analysis `mc1'.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 73: I281: Overwriting file ../psf/myDumpedSimData/vOUTp.csv. Saving old contents of file in ../psf/myDumpedSimData/vOUTp.csv~.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 74: I281: Overwriting file ../psf/myDumpedSimData/vOUTm.csv. Saving old contents of file in ../psf/myDumpedSimData/vOUTm.csv~.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 80: I281: Overwriting file ../psf/myDumpedSimData/vOUTdiff.csv. Saving old contents of file in ../psf/myDumpedSimData/vOUTdiff.csv~.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 84: I281: Overwriting file ../psf/myDumpedSimData/vOUTcm.csv. Saving old contents of file in ../psf/myDumpedSimData/vOUTcm.csv~.
    WARNING (ASL-3218): "[my_custom_VA_component]/veriloga/veriloga.va" 73: sample2disk__vIN: Overwriting file ../psf/myDumpedSimData/vINp.csv. Saving old contents of file in ../psf/myDumpedSimData/vINp.csv~.
    Further occurrences of this warning will be suppressed.

    Trying `homotopy = gmin' for initial conditions.
    Trying `homotopy = source' for initial conditions.
    Trying `homotopy = dptran' for initial conditions.
    [...]
    finalTimeOP: writing operating point information to rawfile.
    modelParameter: writing model parameter values to rawfile.
    element: writing instance parameter values to rawfile.
    outputParameter: writing output parameter values to rawfile.
    designParamVals: writing netlist parameters to rawfile.
    primitives: writing primitives to rawfile.
    subckts: writing subcircuits to rawfile.
    mc1: iteration = 6 (100 %), step = 1 (20 %)
    Total time required for montecarlo analysis `mc1': CPU = 39.1258 ks (10h 52m 6s), elapsed = 11.259 ks (3h 7m 39s).
    Time accumulated: CPU = 39.1608 ks (10h 52m 41s), elapsed = 11.4698 ks (3h 11m 10s).
    Peak resident memory used = 1.24 Gbytes.


    Aggregate audit (4:21:07 AM, Wed Sep 2, 2015):
    Time used: CPU = 39.2 ks (10h 52m 44s), elapsed = 11.5 ks (3h 11m 13s), util. = 341%.
    Time spent in licensing: elapsed = 49.1 ms.
    Peak memory used = 1.24 Gbytes.
    Simulation started at: 1:09:54 AM, Wed Sep 2, 2015, ended at: 4:21:07 AM, Wed Sep 2, 2015, with elapsed time (wall clock): 11.5 ks (3h 11m 13s).
    spectre completes with 0 errors, 48 warnings, and 24 notices.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    Jorge,

    Please report this to customer support. It needs more investigation than I have currently time for (it's possible one of the other folks on the forum could answer this of course, but I think customer support is the best channel for this question.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Frank Wiedmann
    Frank Wiedmann over 10 years ago

    The easiest solution for your problem is probably to attach empty (dummy) prerun scripts to all of your tests. Cadence has provided me with a script that automates this. Please refer Cadence Support to Case 45811574 if you are interested in this script.

    Andrew: It might be a good idea to write this up in a Solution.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • dontpanic
    dontpanic over 10 years ago
    Andrew, Frank, thanks so much for your replies. I will submit the case to customer support asap (which due to timing issues will probably still be in a while :\ ).
    I was hoping maybe there was an easy way to bypass this problem for the time being, but I guess I'll need to think of something else (I tried attaching an empty pre-run script to my test, but unluckily nothing seems to change).

    Thanks again for your help!

    Cheers,

    Jorge.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Frank Wiedmann
    Frank Wiedmann over 10 years ago
    I'm a bit surprised that attaching the pre-run script does not work for you. Here is something else you can try: Wait until all jobs have started simulating and then select "Run -> Stop All Jobs".
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • dontpanic
    dontpanic over 10 years ago
    Dear Frank, I tried again adding the empty pre-run script idea and now it's working! Thanks so much!!! :)

    I guess for some reason on my first try my ADE-XL setup did not update this change, but I tried again and in my currently ongoing simulations I can clearly see that now each MC point is being run as a separate spectre call with "numruns=1", and in the simulation logs I also see now the entries "Monte Carlo Analysis `mc1': iteration = (1 -> 1)", which is what I expected.

    ...Is there anywhere documented why adding a pre-run script achieves this behavior???

    Thanks again for your help.

    Jorge.

    P.S. BTW, I tried looking in the CDS Support website Case 45811574 for the automated way of adding the pre-run script, but found nothing. Maybe I should I ask "in private" to CDS support?
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    Hi Jorge,

    Without even looking at Frank's case, the reason why this works is that when using a pre-run script with Monte Carlo, it expects to run the pre-run script for each point in the monte carlo. This means that each monte carlo point will be a separate simulation. The fact that you have a pre-run script at all forces this - rather than just having to ask for as many jobs as there are points (which would try to run them all in parallel) - even if the pre-run script doesn't do anything.

    You can't see Frank's case - normally cases are private.

    I will take a look (later today, I hope) to create a solution for this (ideally the AE who dealt with Frank's case would have proposed one for me to review). Then I'll post a pointer to that.

    Thanks - I'd hop on it right away, but I'm in the middle of something at the moment...

    Cheers,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Frank Wiedmann
    Frank Wiedmann over 10 years ago

    Cadence Support Cases are not visible for users from other companies, so you have to ask Cadence Support for the script.

    Pre-run scripts are mostly used for calibration and usually set different variable values for different Monte-Carlo samples. This makes it impossible to run several samples with a single netlist with numruns>1.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • dontpanic
    dontpanic over 10 years ago
    That's just great, Andrew; thanks so much for your support!
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • dontpanic
    dontpanic over 10 years ago
    Sure Frank, no problem; I'm sure we'll come up with a very nice solution! :)
    • 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