controlling mismatch in MC simulations

  • Thread starter sceptico@gmail.com
  • Start date
S

sceptico@gmail.com

Guest
I've got a simulation testbench with multiple instances of a 6T SRAM
cell and each instance is used to measure one specification. When I
run MC simulations with the mismatch only option, Cadence assigns each
transistor a unique Vt (Vt is the only mismatch variable in this
case). However, I want to simulate mismatch between the 6 transistors
inside the cell, but not between each instance of the 6T cell. I need
6T instances to be identical. I thought of a couple tricks to do this
but neither seemed practical. For example, I can create unique models
for each transistor in the 6T cell and use global process parameters
to model mismatch (This will complicate things while simulating other
circuits). Cadence also lets me define correlations between
transistors but doesn't allow 1.0 correlation. Any suggestions?

Thank you,
Umut Arslan
 
Hi Umut,

A similar question has been already discussed in this forum. I thought
this link useful for you. Please let me know otherwise.

http://groups.google.com/group/comp.cad.cadence/browse_thread/thread/2e3eb8bed53a60aa/2c48fb870c626391?lnk=st&q=#2c48fb870c626391

Cheers,

Riad.
 
Hi Riad,

Thanks for the link but I am actually asking a different question than
the one posted in the link. I know that mismatch only MC assigns a
different parameter value at each iteration. I am asking whether there
is a way to control the mismatch between two transistors in the
testbench. In my setup, I want to have mismatch between 6 transistors
in the SRAM cell, but I want each instance of the cell to be
identical.

Umut
 
Hi Umut !

Spectre supports a mismatch correlation but I have never used in the
case you're describing. I rather used it to correlate matched devices,
i.e, force Spectre to not exceed a certain mismatch percentage between
2 subcircuits by defining a correlation parameter.


I may need to give it a go with your case but I'm offline right now.

You may give a look at the Spectre Ref manual in the meanwhile.
There is a snippet from this doc.
---
Mismatch Correlation (Matched Devices):
The syntax of the instance or mismatch correlation statement is:
correlate dev=[list of subcircuit instances] {param=[list of
parameters]} cc=<value>
where the device or subcircuit instances to be matched are listed in
the list of subcircuit
instances, and the list of parameters specifies exactly which
parameters with mismatch
variations are to be correlated.
The instance mismatch correlation statement is used to specify
correlations for particular
subcircuit instances. If a subcircuit contains a device, you can
effectively use the instance
correlation statements to specify that certain devices are correlated
(i.e. matched) and give
the correlation coefficient. You can optionally specify exactly which
parameters are to be
correlated by giving a list of parameters (each of which must have had
distributions specified
for it in a mismatch block), or specify no parameter list, in which
case all parameters with
mismatch statistics specified are correlated with the given
correlation coefficient. The
correlation coefficients are specified in the <value> field and must
be between +/- 1.0.
---

There is a good explanation of Matched Devices and Correlate
Statements in the following document as well:
http://www.designers-guide.org/Modeling/montecarlo.pdf

Once again, I'm not sure is Spectre handles your specific case. Andrew
is the best person in here to comment about it !

Riad.
 

Welcome to EDABoard.com

Sponsor

Back
Top