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.

Create spectre netlists using a script

Status
Not open for further replies.

sammyt09

Newbie level 6
Joined
Sep 15, 2008
Messages
14
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,283
Activity points
1,452
create spectre netlist

Hi,

I wonder if anybody could please help?

Does anybody know if it is possibly to create spectre netlists automatically using a skill/ocean script?

Currently, to create a spectre netlist, I have to run up ADE and then manually do:
-> Simulation > Netlist > Create

Surely, there must be some way of doing this via a script, which means I dont have to run up ADE everytime I change the design? As I am running testbenches using Ocean, I dont really want to have to run up the ADE GUI.

Any help would be greatly appreciated! Thanks in advance.


sammyt09
 

ocean create netlist

ADE--->session---->save script
then you copy it to you ocean
 

Hi jecyhale,

Thanks very much for your reply, however, this still does not really help.

The script saved by ADE defines the location of the spectre netlist. What I want to do is have a script which actually creates this spectre netlist.

My aim is to:

1. Create a spectre netlist from a schematic
2. Run the testbench

I want to do this entirely within Ocean, i.e, I dont want have to run up the ADE GUI at any point. At present, (2) is easily done within Ocean, but still need to find a method of doing (1) within a script.

Thanks again jecyhale

If anyone else has any input, I would be very grateful.



Regards

sammyt09
 

There are not other methods for you creating netlist but using ADE tool.
 

I am not really shure about the new spectre but there was different starting methods or run options for spectre's executeable.

There are run option in nonintercative mode where you simply have the netlist and the simulator controls as file location.

That I know was before 6.0
 

sammyt09 said:
Hi jecyhale,

Thanks very much for your reply, however, this still does not really help.

The script saved by ADE defines the location of the spectre netlist. What I want to do is have a script which actually creates this spectre netlist.

My aim is to:

1. Create a spectre netlist from a schematic
2. Run the testbench

I want to do this entirely within Ocean, i.e, I dont want have to run up the ADE GUI at any point. At present, (2) is easily done within Ocean, but still need to find a method of doing (1) within a script.

Thanks again jecyhale

If anyone else has any input, I would be very grateful.



Regards

sammyt09

I think you should create the script and netlist, then merge them together to you test bench.
 

jecyhale said:
I think you should create the script and netlist, then merge them together to you test bench.

Yap, you have to create your own script. For example using ocean, you can use this functions :

design(<library name> <cell name> <view name>)
createNetlist(?recreateAll t)
 

t4kdungdung said:
jecyhale said:
I think you should create the script and netlist, then merge them together to you test bench.

Yap, you have to create your own script. For example using ocean, you can use this functions :

design(<library name> <cell name> <view name>)
createNetlist(?recreateAll t)


i met the same problem, too
hope this works, i will try it later:)
really appreciate!
 

t4kdungdung said:
Yap, you have to create your own script. For example using ocean, you can use this functions :

design(<library name> <cell name> <view name>)
createNetlist(?recreateAll t)


why it doesnt work?

it shows an error when i run ocean and load the script:
*Error createNetlist: unrecognized Keyword

and design(<library name> <cell name> <view name>) means the full path of the view name ? can you give me an example?
thanks
 

here is the example:

ocnWaveformTool( 'awd )
simulator( 'spectre )
design( "LNA_R20_tmp" "tmp" "schematic")
createNetlist( ?recreateAll t ?display nil)
resultsDir( "/home/pasha/SGB25/sim/tmp/spectre/schematic" )
.....
.....
This is the beginning of script
 

pavel_adameyko said:
here is the example:

ocnWaveformTool( 'awd )
simulator( 'spectre )
design( "LNA_R20_tmp" "tmp" "schematic")
createNetlist( ?recreateAll t ?display nil)
resultsDir( "/home/pasha/SGB25/sim/tmp/spectre/schematic" )
.....
.....
This is the beginning of script

how it knows where the lib path is? where do you put the *.ocn file to run?
 

To run script do the following in command line (ciw) :
load("/.../../script.ocn")
so u write the full path to the file "script.ocn" between brackets

if you dont want to write full path every time, you can set the directory where your script file lay with command setSkillPath(), then you can write
load("script.ocn")
 

yep, we can run ocean both in CIW or type ocean under the file located path and then load the ocean script file.

my problem is when i input the following lines in the script file
************************************
design( "LNA_R20_tmp" "tmp" "schematic")
createNetlist( ?recreateAll t ?display nil)
************************************
my ocean script could not run properly.
i read CDSDOC help, it says it should in this style:
**************************************
design(?lib "libname" ?cell "cell name" ?view "schematic")
createNetlist( ?recreateAll t ?XXXXXX)
=>"./input.scs"
***********************************
i tried but also failed.
 

pavel_adameyko said:
To prchen,
what is the error message?

i cannot remember for the moment, i will tell you tomorrow when i go to office.
thanks :)
 

pavel_adameyko said:
To prchen,
what is the error message?
hi,
***************example from cdsdoc*******************
design("mylib" "ampTest" "schematic")
; design using lib-cell-view can only be specified in CIW of workbench
createNetlist()
run()
****************************************************

i tried the following, not in CIW, but in Terminal,
**********1. part of the ocean script*************************
ocnWaveformTool( 'wavescan )
simulator( 'spectre )
design( ?lib "/projects/umc/users/kzhu/lib_kzhu" ?cell "tb_lochain2" ?view "schematicj")
createNetlist(?recreateAll t)
resultsDir( "/projects/umc/users/kzhu/simulation/tb_lochain2/spectre/schematic" )
******************************************************

there is no error message pops out, but not running, either, with following note:
********************************************************
spectre completes with 0 errors, 23705 warnings, and 28 notices.
You do not have the required cellViews or properties open
for this session. You may have purged the data from virtual
memory or the schematic data has been closed. You can type:
simulator('simulatorName) to reset the session or quit the
application that you are using.
The design has not been specified as yet. Please specify
the design using the design() command, or refer to
ocnHelp(' design).
The design has not been specified as yet. Please specify
the design using the design() command, or refer to
ocnHelp(' design).
You must specify a design before using the "paramAnalysis"
command. See ocnHelp( 'design )................
*********************************************************

then i tried the following in Terminal, it runs with error pops out
**********2. part of the ocean script*************************
ocnWaveformTool( 'wavescan )
simulator( 'spectre )
design( "/projects/umc/users/kzhu/lib_kzhu/tb_lochain2/schematicj")
createNetlist(?recreateAll t)
resultsDir( "/projects/umc/users/kzhu/simulation/tb_lochain2/spectre/schematic" )
******************************************************

***********error of 2. part of the ocean script*****************
*Error* Specified filename does not exist: /projects/umc/users/kzhu/lib_kzhu/tb_lochain2/schematic

You do not have the required cellViews or properties open
for this session. You may have purged the data from virtual
memory or the schematic data has been closed. You can type:
simulator('simulatorName) to reset the session or quit the
application that you are using.
The design has not been specified as yet. Please specify
the design using the design() command, or refer to
ocnHelp(' design)...............................
************************************************************


and i read from CDSDOC for createNetlist item
**********************************************************
createNetlist( [?recreateAll b_recreateAll] [?display b_display] )
=> t_filename / nil
**********************************************************

it says "If the design is specified as lib/cell/view, this command netlists the design, if required, and creates the simulator input file"
so, i think this is the right one for me to run ocean in Terminal with design specified as ib/cell/view. but why error?
t_filename means Returns the name of the simulator input file on success, otherwise nil is returned. and i dont know how to use => t_filename, also with something wrong here when i run it
********example from cdsdoc**********
createNetlist()
=> "/usr/foo/netlist/input.scs"
*****************************************

anyway, i can only run when the design is specified as netlist file as following
**********3. part of script********************
design( "/projects/umc/users/kzhu/simulation/tb_lochain2/spectre/schematic/netlist/netlist")
createNetlist(?recreateAll t)
***************************************
this works! but how to use => t_filename / nil ?

PS: i am not get used to run ocean in CIW, but rather in Terminal, b/c i can still do something else in CIW while the ocean is running
 

Hi
you are right - we can specify the same design by two ways:
1. directly write the path to netlist file of design
...
design("/home/pasha/SGB25/Sim/lna_test/spectre/schematic/netlist/netlist")
createNetlist(?recreateAll t)
...
2.specify your project
...
design("diff_prj" "lna_test" "schematic")
createNetlist(?recreateAll t)
....
Both ways should work. For the second way the right command is
design("diff_prj" "lna_test" "schematic")
not
design(?lib "diff_prj" ?cell "lna_test" ?view "schematic")

So doing the following
design("diff_prj" "lna_test" "schematic")
createNetlist(?recreateAll t) (you can also display netlist by using createNetlist(?recreateAll t ?display t) )
i get on CIW
"/home/pasha/SGB25/Sim/lna_test/spectre/schematic/netlist/input.scs" - this is file returned by createNetlist(), but i don't use it anyway - just run()
run("/home/pasha/SGB25/Sim/lna_test/spectre/schematic/netlist/input.scs") also should work
Regards.

Added after 1 minutes:

PS. How i can run scripts in terminal?
 

pavel_adameyko said:
Hi
.........

PS. How i can run scripts in terminal?

open a terminal, go to the directory where your ocean script is stored, just type "ocean" and click enter, it will enter to ocean environment, then type load("XXX.ocn") to run the ocean script called XXX.ocn. in this way, you dont need to open icfb
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top