Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com 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.

How to simulating multiple netlists in a single ocean script

Status
Not open for further replies.

pd

Full Member level 1
Joined
May 23, 2006
Messages
99
Helped
5
Reputation
10
Reaction score
3
Trophy points
1,288
Location
India
Activity points
2,243
Hi,
I want to systematically add few stuff to my circuit and then obtain the result from it by running a single ocean script. In my case I want to add two more inverter in each subsequent netlist to study the effect of tapping from delayed stages. But when I run the simulation by adding multiple design() statements, I don't see ant change in results. Perhaps even though it's running, but it's not able to change the netlist which it simulates multiple times in a single ocean script. When I print the variable which is passed as the name of the design netlist file, it prints properly, but while it simulates in a single script, it doesn't seem to be simulating the changed netlists in each run.

Please suggest me a way to achieve the required goal ie simulate multiple netlists in a single ocean script. as soon as possible.

Here is the part of the code I had written to try simulating multiple netlists(attached inside the zip file) in the main ocean script file.


design_file_list='( "~/simulation/fight_model_variable_fb_delayy/spectre/schematic/netlist/netlist_2
fb_inv" "~/simulation/fight_model_variable_fb_delayy/spectre/schematic/netlist/netlist_4
fb_inv" "~/simulation/fight_model_variable_fb_delayy/spectre/schematic/netlist/netlist_6
fb_inv" "~/simulation/fight_model_variable_fb_delayy/spectre/schematic/netlist/netlist_8
fb_inv")

foreach(design_file design_file_list
design(design_file)
analysis('tran ?stop "30n" ?errpreset "conservative" ?step "1p"
?maxstep "5p" )
run()
.
.
.
)
 

you need to change the name of the result directory, using "resultsDir" just before "run()".

PS: you do not need to have the analysis definition in the "foreach" loop.
 

Re: How to simulating multiple netlists in a single ocean sc

you need to change the name of the result directory, using "resultsDir" just before "run()".

PS: you do not need to have the analysis definition in the "foreach" loop.
Hi Joannes,
Thanks for the reply.
But I am not clear about the following. Actually I had created a single schematic and made multiple netlists by just editing the original one to add two inverters in each stage. I have not actually designed another schematic for that. Hence in my case all the netlists are in the directory /home/pratap/simulation/fight_model_variable_fb_delayy/spectre/schematic which is given as,
resultsDir( "/home/pratap/simulation/fight_model_variable_fb_delayy/spectre/schematic" )
So what should I do for this situation. Is it a must to create different schematics for each netlist?
-pd
 

Re: How to simulating multiple netlists in a single ocean sc

pd said:
I have not actually designed another schematic for that. Hence in my case all the netlists are in the directory /home/pratap/simulation/fight_model_variable_fb_delayy/spectre/schematic which is given as, resultsDir( "/home/pratap/simulation/fight_model_variable_fb_delayy/spectre/schematic" )
You set the netlist directory with design(design_file)". I do not see any "resultsDir" in your code...

pd said:
So what should I do for this situation. Is it a must to create different schematics for each netlist?
No, you do not need to create separate schematics, you only need to create separate simulation directories.
 

Re: How to simulating multiple netlists in a single ocean sc

Hi,
I created multiple design directories and put the corresponding netlists in each of them. But it gives these errors.The first one was coming in earlier case also, but it was still running. Then I tried renaming them to "netlist". As all of them were now in different directories, it was possible. But it was manual job and painful. But even after all those I got the error below.



\i load("/home/pratap/ocean_script/delay_Vs_fb_tap_pt.ocn")
\e *Error* Incorrect netlist file name "netlist_0fb_inv". Must be "netlist".
.
.
\o Delete psf data in ~/simulation/fight_model_variable_fb_delayy/spectre/schematic/netlist/psf.
\o Error ~/simulation/fight_model_variable_fb_delayy/spectre/schematic/netlist/netlist_8fb_inv_dir/netlistHeader file not found
\o The directory you specified does not contain valid PSF
\o results. Please check the line for typographical errors or
\o look in the directory for a logFile and PSF result files.[/code]


I feel the best way would be to change the name of the required netlists to "netlist" within the ocean script and then simulate each of the desired netlist and get the results out of them. Is it possible?

Thanks,
-pd
 

I think you are seeing the screwball Cadence scheme of building
the "real" netlist (input.scs) out of chunks, failing because
you don't have the chunks in the various directories.

You could go into one of the run directories that you got from
working within the design system and look at all the header
and footer files vs the input.scs that you find, see which are
used and copy them over. Or, you could maybe make the
Ocean run using the "real" netlist instead of the half-baked
one and having the script kick off the building of the input deck.
 

Re: How to simulating multiple netlists in a single ocean sc

I have never tried this, at any rate, from the ocean reference:
createNetlist
createNetlist( [?recreateAll b_recreateAll] [?display b_display] )
=> t_filename / nil
Description
Creates the simulator input file.
If the design is specified as lib/cell/view, this command netlists the design, if required, and creates the simulator input file. When the b_recreateAll argument is set to t and the design is specified as lib/cell/view, all the cells in the design hierarchy are renetlisted, before creating the simulator input file. If the design is specified as netlist file, that netlist is included in the simulator input file. Also see the design function.
To my understanding, this will create your input.scs using the netlist file you specify.
 

Perhaps, but I think it may still require the header and footer chunks
to reside in the same directory as the netlist "core", that you're
pointing at.

It's probably trivial to make it so. You just need to figure out
which of the various files are used in building up the input deck,
and copy from the "template" directory.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top