HEADER
"PSFversion" "1.00"
"Run Generator" "drlRun rev. 1.0"
"Run Time Stamp" "Dec 24 11:46:49 2015"
"date" "Dec 24 11:46:49 2015"
"simulator" "spectre"
"netlistDir" "../netlist"
"tranSST2Data" "TRUE"
TYPE
"runObject" STRUCT(
"logName" ARRAY( * ) STRING *
"parent" STRING *
"sweepVariable" ARRAY( * ) STRING *
) PROP( "key" "runObject" )
VALUE
"Root" "runObject" (
("")
""
("temp")
)
"temp=-40/psf" "runObject" (
(
"../temp=-40/psf/logFile"
"../temp=-40/psf/artistLogFile"
)
"Root"
()
) PROP(
"netlistDir" "../netlist"
"dataDir" "../temp=-40"
"temp" -40
)
"temp=60/psf" "runObject" (
(
"../temp=60/psf/logFile"
"../temp=60/psf/artistLogFile"
)
"Root"
()
) PROP(
"netlistDir" "../netlist"
"dataDir" "../temp=60"
"temp" 60
)
"temp=125/psf" "runObject" (
(
"../temp=125/psf/logFile"
"../temp=125/psf/artistLogFile"
)
"Root"
()
) PROP(
"netlistDir" "../netlist"
"dataDir" "../temp=125"
"temp" 125
)
ad1
Showing posts with label ADE. Show all posts
Showing posts with label ADE. Show all posts
Thursday, December 24, 2015
"paMaster" Directory in simulation result directory
This directory is used from Parameter Analysis purpose. It contains an runObjFile file:
Sunday, December 20, 2015
Thursday, December 17, 2015
Set ADE Default Simulator
envSetVal("asimenv.startup" "simulator" 'string "spectre")
or
envSetVal("asimenv.startup" "simulator" 'string "ams")
or
envSetVal("asimenv.startup" "simulator" 'string "ams")
Wednesday, November 25, 2015
Benefit of Using Multiple Test in ADEXL
- Enables you to use different testbench schematic to test different aspect of the circuit performance, e.g. transient, ac, envelop, etc.
- Enables you to share variables
How to use APS in simulation
You should not use "aps" as the choice of simulator under Simulator/Directory/Host - that is obsolete and was the initial interface to the APS technology. In fact in later IC615 ISRs it has been removed. The correct interface is the Setup->High Performance Simulation.
In both modes the simulator is the same - but the interface via "aps" as the simulator is more limited because it dates from when APS had just been implemented and only supported a subset of spectre's capability.
In both modes the simulator is the same - but the interface via "aps" as the simulator is more limited because it dates from when APS had just been implemented and only supported a subset of spectre's capability.
Tuesday, November 24, 2015
Runs and Jobs
So, here we go. We're talking about 2 forms here. The first, the Job Policy Setup form, is accessed by selecting Options->Job Setup from the ADE XL window. The second, where most of the confusion seems to come in, is the Run Options form, accessed by selecting Options->Run Options.
The upper part of the Job Policy Setup form concerns how you want to distribute your simulation runs in ADE XL. This will vary depending on what type of job distribution system your company uses (LSF, SGE, etc.). We'll take that up another time. For now, let's just assume you have some sort of system that lets you fire off simulations onto a farm of machines.
Now we need to define some terms:
A "run" in ADE XL = pressing the green Run button in the UI. Each "run" could be a single simulation or it could be 100 corner simulations...
A "job" in ADE XL = a remote job that is started for a run.
The way ADE XL works is that each run starts a number of jobs (actually the process is called "ICRP") on whatever machines you tell it to use (local, SGE, LSF, etc). It uses the "Max. Jobs" field on the Job Policy Setup form to determine the maximum number of those jobs to start.
Those processes stay alive for some "linger time" so that ADE XL can more efficiently start new simulations as needed. So it will start by sending out a simulation to each job, and then as each simulation completes, it will send that job a new simulation until all simulations in the run are completed.
Remember that. A "job" is assigned to a particular "run" and will likely receive a series of simulations to perform (assuming the "run" involves more than a single simulation).
Let's skip to the Run Options form now.
The default in the Run Options form is Serial - i.e. if you hit the green Run button twice, the second run will not use any jobs until the first run completes.
If you set this to Parallel, if you hit the green Run button twice, the runs will start in parallel. They will either share resources equally (which means if Max Jobs = 10, each run will use 5 jobs). Or you can specify - something like 3 jobs per run.
This applies to all run modes--corners, sweeps, Monte Carlo, optimization, etc.
So - for any given run, all jobs run in parallel. However multiple runs in ADE XL are serial by default and can be made parallel.
Now, what about the fields at the bottom of the Job Policy Setup form--For Multiple Runs (reassign immediately or wait until currently running points complete)?
Let's say your setup is:
You start a run and the simulations are going to take 10 minutes. All ten jobs start running the simulations.
Now you start another run after making some changes to the setup.
So -- the question is -- do you want to immediately kill five of the current jobs and re-assign them to the second run or do you want to wait until the first five currently running simulations finish before re-assigning the jobs to the second run.
(Don't worry, the simulations that were killed will be assigned to re-run on one of the (now) five jobs assigned to the first run)
It's an efficiency issue. Do you want to waste the progress already made by the jobs on a simulation or do you want to make sure the subsequent run(s) start right away?
The upper part of the Job Policy Setup form concerns how you want to distribute your simulation runs in ADE XL. This will vary depending on what type of job distribution system your company uses (LSF, SGE, etc.). We'll take that up another time. For now, let's just assume you have some sort of system that lets you fire off simulations onto a farm of machines.
Now we need to define some terms:
A "run" in ADE XL = pressing the green Run button in the UI. Each "run" could be a single simulation or it could be 100 corner simulations...
A "job" in ADE XL = a remote job that is started for a run.
The way ADE XL works is that each run starts a number of jobs (actually the process is called "ICRP") on whatever machines you tell it to use (local, SGE, LSF, etc). It uses the "Max. Jobs" field on the Job Policy Setup form to determine the maximum number of those jobs to start.
Those processes stay alive for some "linger time" so that ADE XL can more efficiently start new simulations as needed. So it will start by sending out a simulation to each job, and then as each simulation completes, it will send that job a new simulation until all simulations in the run are completed.
Remember that. A "job" is assigned to a particular "run" and will likely receive a series of simulations to perform (assuming the "run" involves more than a single simulation).
Let's skip to the Run Options form now.
The default in the Run Options form is Serial - i.e. if you hit the green Run button twice, the second run will not use any jobs until the first run completes.
If you set this to Parallel, if you hit the green Run button twice, the runs will start in parallel. They will either share resources equally (which means if Max Jobs = 10, each run will use 5 jobs). Or you can specify - something like 3 jobs per run.
This applies to all run modes--corners, sweeps, Monte Carlo, optimization, etc.
So - for any given run, all jobs run in parallel. However multiple runs in ADE XL are serial by default and can be made parallel.
Now, what about the fields at the bottom of the Job Policy Setup form--For Multiple Runs (reassign immediately or wait until currently running points complete)?
Let's say your setup is:
- Run in parallel
- Share resources equally
- Max jobs = 10.
You start a run and the simulations are going to take 10 minutes. All ten jobs start running the simulations.
Now you start another run after making some changes to the setup.
So -- the question is -- do you want to immediately kill five of the current jobs and re-assign them to the second run or do you want to wait until the first five currently running simulations finish before re-assigning the jobs to the second run.
(Don't worry, the simulations that were killed will be assigned to re-run on one of the (now) five jobs assigned to the first run)
It's an efficiency issue. Do you want to waste the progress already made by the jobs on a simulation or do you want to make sure the subsequent run(s) start right away?
Prevent Simulation Results From Being Deleted in ADEXL
RMB (right mouse button) on a history item, you can select "Lock" to make sure those results will not be deleted when you hit the maximum number of saved entries.
Friday, November 20, 2015
Wednesday, October 28, 2015
Add Newline in Wavescan Label:
Tuesday, October 27, 2015
Update pPar("param_name") parameter input
Suppose you have a cell, and want to change one of its device property from a definite value to a pPar value (that is, a parent parameter). After you change the property value, you have to add a dummy pin and then recreate the symbol view. That way, the pPar parameter is updated correctly.
Sunday, October 25, 2015
Check Monte Carlo Simulation Simulation Netlist in ADE (IC5141)
Get Monte Carlo simulation netlist in IC5141
The Monte Carlo portion of the netlist is shown below:
mc1 montecarlo numruns=100 seed=1 variations=mismatch donominal=yes \
scalarfile="../monteCarlo/mcdata" paramfile="../monteCarlo/mcparam" \
saveprocessparams=yes processparamfile="../monteCarlo/processParam" \
processscalarfile="../monteCarlo/processData" savefamilyplots=yes \
sampling=lhs {
dcOp dc write="spectre.dc" maxiters=150 maxsteps=10000 annotate=status
dcOpInfo info what=oppoint where=rawfile
modelParameter info what=models where=rawfile
element info what=inst where=rawfile
outputParameter info what=output where=rawfile
designParamVals info what=parameters where=rawfile
primitives info what=primitives where=rawfile
subckts info what=subckts where=rawfile
export noExprs=oceanEval("0")
}
Subscribe to:
Posts (Atom)










