The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Jul 18th, 2024, 8:22am
Pages: 1
Send Topic Print
Verilog-A model Monte Carlo simulation with spectre (Read 6406 times)
yueguoguo
New Member
*
Offline



Posts: 5

Verilog-A model Monte Carlo simulation with spectre
Jan 09th, 2013, 2:14am
 
Hi all,
I am simulating my verilog-a model using Cadence spectre.
To study the process variations of the device, I need to vary the model parameters during each of my simulation analysis to get the statistics.
Can any of you provide me with help on how to do this?
Thanks in advance.
Back to top
 
 
View Profile   IP Logged
Geoffrey_Coram
Senior Fellow
******
Offline



Posts: 1999
Massachusetts, USA
Re: Verilog-A model Monte Carlo simulation with spectre
Reply #1 - Jan 9th, 2013, 6:49am
 
You should read the documentation on Monte-Carlo (spectre -help montecarlo), set up a netlist, and post that netlist.  Then someone might help you debug the netlist and Monte-Carlo setup.
Back to top
 
 

If at first you do succeed, STOP, raise your standards, and stop wasting your time.
View Profile WWW   IP Logged
yueguoguo
New Member
*
Offline



Posts: 5

Re: Verilog-A model Monte Carlo simulation with spectre
Reply #2 - Jan 9th, 2013, 6:51pm
 
Hi,
Thanks for your suggestion.
I am new to behavioral modelling using verilog-a, therefore my problem is not how to debug it but how to do it.  :)
I have read the help doc provided by spectre but found no clues about how to access parameters in a verilog-a model and vary them in the simulations.
For example,
I have a verilog-a module A in which there are parameter P.
I instantiate it in my netlist as a component and simulated with the circuit.
Can I directly change the parameter P in my simulations? I mean, not change the verilog-a code, but change it as a variable in spectre.

Thanks.
Back to top
 
 
View Profile   IP Logged
Geoffrey_Coram
Senior Fellow
******
Offline



Posts: 1999
Massachusetts, USA
Re: Verilog-A model Monte Carlo simulation with spectre
Reply #3 - Jan 11th, 2013, 7:54am
 
What I meant by "debug your Monte-Carlo setup" was that you would create a netlist, using your best understanding of the documentation, and we would help you figure out if you misunderstood.

From the documentation, you should be able to set up a netlist with some statistics blocks, use the parameters in those stat blocks to set the parameter P of your Verilog-A model, and run the simulation.  The only trick I can see you might have trouble with is making sure the netlist contains a parameter assignment for the Verilog-A module:

X1 (a b) my_va_module

isn't good enough, you need

X1 (a b) my_va_module P=value

so that you can pass the statistically-determined value into the module.
Back to top
 
 

If at first you do succeed, STOP, raise your standards, and stop wasting your time.
View Profile WWW   IP Logged
yueguoguo
New Member
*
Offline



Posts: 5

Re: Verilog-A model Monte Carlo simulation with spectre
Reply #4 - Jan 12th, 2013, 3:40am
 
Hi Geoffrey,

Thanks for your suggestions.
I have already successfully set up the netlist with the monte-carlo analysis.
Exactly as you said, I need to assign the parameters of the verilog-a model I defined and then give them randomly distributed values in the statistical blocks.

Now I encountered with another problem.
As you may know, in the monte carlo analysis session, we need to set some child analysis, and in order to record down the output values into a ASCII file we need to use the oceanEval statement to export the scalar values.
I used the expression as
m1 montecarlo xxxx xxxx {
 tran tran start=0 stop=50n
 export v1=oceanEval("v(\"net013\") 50n")
}
which means I want to record down the voltage of node "net013" at the time point of 50ns in each of the transient analysis.
The monte carlo simulation can be successfully run with no errors, however the output values seemed not to be as that I expected.
I would like to know whether there are any problems with my oceanEval expressions? I have been looking for any references but without any satisfactory results. This expression is not introduced in the ocean reference manual.
Or there may be other problems?

Thanks.

-yueguoguo
Back to top
 
 
View Profile   IP Logged
Geoffrey_Coram
Senior Fellow
******
Offline



Posts: 1999
Massachusetts, USA
Re: Verilog-A model Monte Carlo simulation with spectre
Reply #5 - Jan 14th, 2013, 6:05am
 
What if you just do
export v1=oceanEval("v(\"net013\")")

since your tran analysis stops at 50n?
Back to top
 
 

If at first you do succeed, STOP, raise your standards, and stop wasting your time.
View Profile WWW   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2024 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to editor@designers-guide.org. Consider submitting a paper or model.