Black-Box Modelling statistical variation of reference signals in analog IC design
In analog design, often controlling the statistics of the reference signals coming to your block is crucial if it directly translates to specs like jitter. Reference signal can be a constant current/voltage or a VBG/R current supplied by the reference generation block owned by another designer, Mr. A and you may find yourself in a situation where you have to negotiate with Mr. A on how much variation after trim can be tolerated (essentially deciding whether to put trim in your design or improve trim options in the reference) or how much mismatch in the mirroring of this VBG/R current can be tolerated by you.
I don't have good intuition so I often turn to Monte Carlo simulations to quantify my constraints but it means I have to model the bandgap variations statistically on my own. I found a very simple and fast way to do this by declaring the bandgap voltage as a design variable, V1, and then adding a new model file :
statistics { process { vary V1 dist=unif N=1 } }
In Spectre, for uniform variation, N=1 makes the variable vary with a std dev of 2.3 and mean 1 (i.e. from -3 to 5). Suppose a +-10% variation works for me, then I declare the bandgap variation as VBG = 1+0.025*(V1-1), this gives the required statistical variation (with an ideal vcvs, VBG/R can be generated and R can be sized to get the mismatch constraint as well).
It should be kept in mind that this variation is independent of any other process variation, hence this will underrepresent the cases where your circuit and the reference move in the same direction and will overrepresent the cases where they move in different directions. This may help you identify the breaking points better but makes your variance number unreliable if the correlation is indeed significant and the blocks are placed close on the die (Although if trim is being exercised for one block, variance itself can become a doubtful quantity as trim will alter the distribution for one of the blocks)
(reference for the model file: https://community.cadence.com/cadence_technology_forums/f/custom-ic-design/38316/monte-carlo-design-variables )