Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Monte Carlo for Inherited Block in Cadence

Not open for further replies.


Newbie level 3
Dec 17, 2013
Reaction score
Trophy points
Activity points
I am in the beginning stage of my research and I am trying to reproduce the output for Arbiter PUF, which I am struggling at one point now from almost two months now. I would be very grateful if you can just give me a hint on it.

I am trying to implement the PUF on Cadence Virtuoso and Struggling with introducing process variation. My Monte Carlo is working correctly as I have predicted for a single 8 bit block (i.e. for the one block among those parallel 5 blocks). However when I try to have process variation on the five blocks, the process variation introduced on those blocks are same thus giving me the same output each time I run. Actually I want to run Monte Carlo in such a way that each of these block get different value so that the output produced from each of these block differ.


It would very helpful is you can just give an idea of how to invoke Monte Carlo differently for each block.

Look forward for your kind help.

Last edited by a moderator:

Re: Monte Carlo for Inheritent Block in Cadence

Perhaps you want to make each block have a parameter
such as seedTPD, which can be passed down to the
elements which should vary with a gauss() or track().
If you give those functions different seeds then you will
get divergent randomness, not correlated (when / how
the psuedorandom MC value is nailed down and propagated,
I haven't looked at since before DFII rolled out, and that
simulator is now long dead).

Like propertize the control variable for each block with
'seedB1', 'seedB2', ... and set those seeds differently,
and see how things spread statistically.

Re: Monte Carlo for Inheritent Block in Cadence

Hi, Thanks you so much for the reply.

When I run process variation and mismatch, for the single block( by single block, I mean one complete parallel blocks out of 5 parallel blocks there in the figure), it works the way I expected. However for other 4 blocks, the Monte Carlo passes the same value as that for the first block. So blockwise there is no variation.

Yes I will try to explore more on what you suggested more.

Thanks again.

Re: Monte Carlo for Inheritent Block in Cadence

... I will try to explore more on what you suggested

See this tutorial on how to change seed figures (pp. 42 ff.):


  • Cadence_Monte_Carlo_simulation_tutorial.pdf
    1,009.3 KB · Views: 171

Re: Monte Carlo for Inheritent Block in Cadence


Thank you very much. It seems very interesting pdf and I have to go through it. I am very grateful to you.

Thanks again.

Re: Monte Carlo for Inheritent Block in Cadence


I saw the tutorial you send me. But still I am missing something and I really don't know what. I am running Virtuoso 6.1.4.

I have tried to explain my problem in the most simplest way ever possible here in this pdf file. Please if you can just give an idea then it would be great for me.

Best regards,


  • Monte Carlo.pdf
    376.1 KB · Views: 119

Re: Monte Carlo for Inheritent Block in Cadence

I can't see if you compare results from runs with different seeds - that's what you should do. If you don't want to edit the control file (necessary to change the seed), you could also change the Starting Run # from the Spectre/Affirma GUI for 2 different runs to compare (that's not quite the same as changing the seed, but helps to get more differences between the runs) - if you use this MC setUp: Starting_Run-change.png

You just vary the tox parameters - may be this is not enough. Also try and vary the vth parameter(s), I think this is more important for changes.
And - at least for a trial - use higher gauss percent numbers, just to see if it works.

These are only a few ideas how you could go on. Don't know if these are effective. Good luck!
Not open for further replies.

Part and Inventory Search

Welcome to