Ocean and X-Windows

S

Stefan Joeres

Guest
Hi alltogether,

at the moment I'm trying to run some complex simulations in ocean and I
wonder why ocean wants to open a connection to an existing X-Server when
starting up.
Is there an option to suppress this ?
My scripts do run ocean several times from a remoteshell and it's not
possible to keep that X-Server open for this purpose ...

Thanks for any help,

Stefan
 
Was wondering if the -nograph option would help?

ocean -nograph < input.ocn > oceanrun.log


"Stefan Joeres" <joeres@halifax.rwth-aachen.de> wrote in message news:<bqa9hm$f5g$1@nets3.rz.RWTH-Aachen.DE>...
Hi alltogether,

at the moment I'm trying to run some complex simulations in ocean and I
wonder why ocean wants to open a connection to an existing X-Server when
starting up.
Is there an option to suppress this ?
My scripts do run ocean several times from a remoteshell and it's not
possible to keep that X-Server open for this purpose ...

Thanks for any help,

Stefan
 
"Stefan" == Stefan Joeres <joeres@halifax.rwth-aachen.de> writes:
Stefan> Hi alltogether, at the moment I'm trying to run some complex
Stefan> simulations in ocean and I wonder why ocean wants to open a
Stefan> connection to an existing X-Server when starting up. Is
Stefan> there an option to suppress this ? My scripts do run ocean
Stefan> several times from a remoteshell and it's not possible to
Stefan> keep that X-Server open for this purpose ...

Stefan> Thanks for any help,

Stefan> Stefan

Hi Stefan

Partha's suggestion should work. In case you are using the graphics
functions too, cadence includes a null X server. It is call Xndx and is
in <cdsroot>/tools/dfII/bin. This should allow you to use the regular
graphics and create postscript hardcopies.

I must say that I have never used the method above for Cadence software
but only for MATLAB. YMMV.

Satya

--
Remove XXX and YYY to get my address
 
Hi Satya,

thanks for your help. Can you tell me how to use that null X Server ?
It seems it doesn't include any help from the command line.

Stefan
 
"Stefan" == Stefan Joeres <joeres@halifax.rwth-aachen.de> writes:
Stefan> Hi Satya, thanks for your help. Can you tell me how to use
Stefan> that null X Server ? It seems it doesn't include any help
Stefan> from the command line.

Stefan> Stefan
Stefan

I would use it as Xndx -pn -ac :1 . Then use display localhost:1 .
I did not have success with the Xndx program ( I just tried it, haven't
looked into it too much). However, Xvfb (another null X server, this
time from the XFree86 project) did work. You can look for Xvfb on
google. If you are not successful with that, let me know and I will try
to find it out for you (I downloaded the Xvfb binaries from somewhere
and I don't remember where).

Satya





--
Remove XXX and YYY to get my address
 
Xndx is not intended for standalone use by the way. It is there _only_ for the
tools to use for the -nograph option. It can be made to work standalone (I have
done this in the past), but if you're using ocean or a DFII executable (icms,
icfb etc), then just using -nograph will take care of starting Xndx and
channelling the display to that for you.

To answer the original question as to why it needs an Xserver connection, it's
because the plot() command will bring up a window, even when using the "ocean"
command (which has a textual front end).

Regards,

Andrew.

On 30 Nov 2003 16:35:34 -0700, snmishra@XXXhotYYYpop.com wrote:

"Stefan" == Stefan Joeres <joeres@halifax.rwth-aachen.de> writes:

Stefan> Hi Satya, thanks for your help. Can you tell me how to use
Stefan> that null X Server ? It seems it doesn't include any help
Stefan> from the command line.

Stefan> Stefan
Stefan

I would use it as Xndx -pn -ac :1 . Then use display localhost:1 .
I did not have success with the Xndx program ( I just tried it, haven't
looked into it too much). However, Xvfb (another null X server, this
time from the XFree86 project) did work. You can look for Xvfb on
google. If you are not successful with that, let me know and I will try
to find it out for you (I downloaded the Xvfb binaries from somewhere
and I don't remember where).

Satya
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
I'm sorry, but the suggested solutions don't solve my problem.

I'm using a simple shell-script to start my simulations like

#!/bin/tcsh
ocean -nograph <sim1.ocn
ocean -nograph <sim2.ocn
ocean -nograph <sim3.ocn

Whenever I use the -nograph option, ocean doesn't completely load the
simulation-script. It stop's with an output of some variables and a "t" at
the end. It's the same when I try to open the scripts with "load sim1.ocn"
from the ocean-command line.

When using ocean without the "-nograph" option everything works fine, and
I'm not using a plot-command throughout the script.

Any suggestions ?

Stefan
 
"Stefan" == Stefan Joeres <joeres@halifax.rwth-aachen.de> writes:
Stefan> I'm sorry, but the suggested solutions don't solve my
Stefan> problem. I'm using a simple shell-script to start my
Stefan> simulations like

Stefan> #!/bin/tcsh
Stefan> ocean -nograph <sim1.ocn ocean -nograph <sim2.ocn ocean
Stefan> -nograph <sim3.ocn

Stefan> Whenever I use the -nograph option, ocean doesn't completely
Stefan> load the simulation-script. It stop's with an output of some
Stefan> variables and a "t" at the end. It's the same when I try to
Stefan> open the scripts with "load sim1.ocn" from the ocean-command
Stefan> line.

Stefan> When using ocean without the "-nograph" option everything
Stefan> works fine, and I'm not using a plot-command throughout the
Stefan> script.

Stefan> Any suggestions ?

Stefan> Stefan

Could you please post a minimal script that reproduces the problem?

Satya

--
Remove XXX and YYY to get my address
 
I'd have to see the script to be able to give any more suggestions...

Andrew.

On Tue, 2 Dec 2003 10:48:39 +0100, "Stefan Joeres"
<joeres@halifax.rwth-aachen.de> wrote:

I'm sorry, but the suggested solutions don't solve my problem.

I'm using a simple shell-script to start my simulations like

#!/bin/tcsh
ocean -nograph <sim1.ocn
ocean -nograph <sim2.ocn
ocean -nograph <sim3.ocn

Whenever I use the -nograph option, ocean doesn't completely load the
simulation-script. It stop's with an output of some variables and a "t" at
the end. It's the same when I try to open the scripts with "load sim1.ocn"
from the ocean-command line.

When using ocean without the "-nograph" option everything works fine, and
I'm not using a plot-command throughout the script.

Any suggestions ?

Stefan
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
Hi,

I actually use 2 scripts (because it didn't work by just putting them
together into one) :

script number one (which is executed from the shell) :
---------
ocean -nograph <oceanScript1.ocn
ocean -nograph <oceanScript2.ocn
----------

the oceanScripts themself look like this :
----------
; INIT
simulator( 'spectre )
design( "/AMS_CDS_3.51/Sim/Test5/spectre/schematic/netlist/netlist")
resultsDir( "/AMS_CDS_3.51/Sim/Test5/spectre/schematic/" )
modelFile( '("/software/init.scs" "") '("/software/definitions.scs" "")
'("/software/include.scs" "slow") )
temp( 27 )
desVar( "vctrl" 1.044)
desVar( "W_TG" 1 )
desVar( "W_INV" 1 )
p = outfile( "./outfile_slow_5")
save( 'v "/osc_out" )
converge( 'ic "/osc_out" "0" )
desVar( "lambda_TG" 1)
desVar( "lambda_INV" 1)

; MAIN

lambdaTGList=list(1 1.5 2 4 )
lambdaINVList=list(1 1.5 2 4 )
WeiteTGList=list(0.16u 0.32u 0.48u 0.96u 1.92u )
WeiteINVList=list(0.16u 0.32u 0.48u 0.96u 1.92u )

foreach(lambdaTG lambdaTGList
desVar("lambda_TG" lambdaTG)
foreach(lambdaINV lambdaINVList
desVar("lambda_INV" lambdaINV)
foreach(Winv WeiteINVList
desVar("W_INV" Winv )
foreach(Weite WeiteTGList
desVar("W_TG" Weite )
delete( 'analysis )
analysis('tran ?stop "10n" )
paramAnalysis( "vctrl" ?values '(0 0.1666666666666667 0.3333333333333333
0.5 0.6666666666666666 0.8333333333333333 0.999999
paramRun()
pvctrl=cross( frequency( VT("/osc_out"
"/AMS_CDS_3.51/Sim/Test5/spectre/schematic")), 1.565G)
if(
numberp(cross(frequency(VT("/osc_out"
"/AMS_CDS_3.51/Sim/Test5/spectre/schematic")),1.565G))
; IF TRUE
(pvctrl=cross(frequency(VT("/osc_out"
"/home/joeres/AMS_CDS_3.51/Sim/Test5/spectre/schematic")),1.565G))
; ELSE
(pvctrl=1.5)
) ; ENDIF

delete('analysis)
desVar( "vctrl" pvctrl)
analysis('tran ?stop "10n" )
analysis('pss ?fund "1.565G" ?harms "5" ?errpreset "conservative" ?p
"/osc_out" ?n "/gnd!" )
analysis('pnoise ?relharmnum "" ?start "10k" ?stop "100G" ?maxsideband
"3" ?p "/osc_out" ?n "/gnd!" ?oprobe "" ?ipro
run()
PhaseNoise = value(phaseNoise(1 "pss_fd" ?result "pnoise") 1000000)
ocnPrint( ?output p pvctrl )
ocnPrint( ?output p Weite )
ocnPrint( ?output p lambdaTG)
ocnPrint( ?output p Winv )
ocnPrint( ?output p "-------------------------")
drain(p)
) ; END FOREACH
) ; END FOREACH
) ; END FOREACH
) ; END FOREACH
close(p)

; END MAIN
--------- END OCEAN SCRIPT

Another thing I was wondering about : When I try to put an 'ocnPrint(
?output p "TEXT)' as first statement - ocean complains about something like
"not a function" or similar (can't compile this at the moment ...)

Thanks in advance,

Stefan
 
Maybe you need to use the wait command:

#!/bin/tcsh
ocean -nograph -log /dev/null < sim1.ocn
wait
ocean -nograph -log /dev/null < sim2.ocn
wait

---
Erik


snmishra@XXXhotYYYpop.com wrote in message news:<uo4qwji3xl.fsf@quandary.nsc.com>...
"Stefan" == Stefan Joeres <joeres@halifax.rwth-aachen.de> writes:

Stefan> I'm sorry, but the suggested solutions don't solve my
Stefan> problem. I'm using a simple shell-script to start my
Stefan> simulations like

Stefan> #!/bin/tcsh
Stefan> ocean -nograph <sim1.ocn ocean -nograph <sim2.ocn ocean
Stefan> -nograph <sim3.ocn

Stefan> Whenever I use the -nograph option, ocean doesn't completely
Stefan> load the simulation-script. It stop's with an output of some
Stefan> variables and a "t" at the end. It's the same when I try to
Stefan> open the scripts with "load sim1.ocn" from the ocean-command
Stefan> line.

Stefan> When using ocean without the "-nograph" option everything
Stefan> works fine, and I'm not using a plot-command throughout the
Stefan> script.

Stefan> Any suggestions ?

Stefan> Stefan

Could you please post a minimal script that reproduces the problem?

Satya
 
Apologies for the delay in responding. Not sure what causes it to fail, but one
thing I would point out is that you are using Artist calculator functions VT()
in an OCEAN script - this is not a good idea, since they don't always behave
properly. You're better off using:

selectResults('tran)

and then using the v() function. Or using the ?result 'tran argument to
the v() function. There's a PCR to get the VT, IT etc functions to behave
properly with OCEAN - but they aren't actually documented OCEAN functions,
so the documentation doesn't suggest that they should work...

Since you didn't give what the error was, I can't advise much more...

Andrew.

On Tue, 2 Dec 2003 21:10:53 +0100, "Stefan Joeres"
<joeres@halifax.rwth-aachen.de> wrote:

Hi,

I actually use 2 scripts (because it didn't work by just putting them
together into one) :

script number one (which is executed from the shell) :
---------
ocean -nograph <oceanScript1.ocn
ocean -nograph <oceanScript2.ocn
----------

the oceanScripts themself look like this :
----------
; INIT
simulator( 'spectre )
design( "/AMS_CDS_3.51/Sim/Test5/spectre/schematic/netlist/netlist")
resultsDir( "/AMS_CDS_3.51/Sim/Test5/spectre/schematic/" )
modelFile( '("/software/init.scs" "") '("/software/definitions.scs" "")
'("/software/include.scs" "slow") )
temp( 27 )
desVar( "vctrl" 1.044)
desVar( "W_TG" 1 )
desVar( "W_INV" 1 )
p = outfile( "./outfile_slow_5")
save( 'v "/osc_out" )
converge( 'ic "/osc_out" "0" )
desVar( "lambda_TG" 1)
desVar( "lambda_INV" 1)

; MAIN

lambdaTGList=list(1 1.5 2 4 )
lambdaINVList=list(1 1.5 2 4 )
WeiteTGList=list(0.16u 0.32u 0.48u 0.96u 1.92u )
WeiteINVList=list(0.16u 0.32u 0.48u 0.96u 1.92u )

foreach(lambdaTG lambdaTGList
desVar("lambda_TG" lambdaTG)
foreach(lambdaINV lambdaINVList
desVar("lambda_INV" lambdaINV)
foreach(Winv WeiteINVList
desVar("W_INV" Winv )
foreach(Weite WeiteTGList
desVar("W_TG" Weite )
delete( 'analysis )
analysis('tran ?stop "10n" )
paramAnalysis( "vctrl" ?values '(0 0.1666666666666667 0.3333333333333333
0.5 0.6666666666666666 0.8333333333333333 0.999999
paramRun()
pvctrl=cross( frequency( VT("/osc_out"
"/AMS_CDS_3.51/Sim/Test5/spectre/schematic")), 1.565G)
if(
numberp(cross(frequency(VT("/osc_out"
"/AMS_CDS_3.51/Sim/Test5/spectre/schematic")),1.565G))
; IF TRUE
(pvctrl=cross(frequency(VT("/osc_out"
"/home/joeres/AMS_CDS_3.51/Sim/Test5/spectre/schematic")),1.565G))
; ELSE
(pvctrl=1.5)
) ; ENDIF

delete('analysis)
desVar( "vctrl" pvctrl)
analysis('tran ?stop "10n" )
analysis('pss ?fund "1.565G" ?harms "5" ?errpreset "conservative" ?p
"/osc_out" ?n "/gnd!" )
analysis('pnoise ?relharmnum "" ?start "10k" ?stop "100G" ?maxsideband
"3" ?p "/osc_out" ?n "/gnd!" ?oprobe "" ?ipro
run()
PhaseNoise = value(phaseNoise(1 "pss_fd" ?result "pnoise") 1000000)
ocnPrint( ?output p pvctrl )
ocnPrint( ?output p Weite )
ocnPrint( ?output p lambdaTG)
ocnPrint( ?output p Winv )
ocnPrint( ?output p "-------------------------")
drain(p)
) ; END FOREACH
) ; END FOREACH
) ; END FOREACH
) ; END FOREACH
close(p)

; END MAIN
--------- END OCEAN SCRIPT

Another thing I was wondering about : When I try to put an 'ocnPrint(
?output p "TEXT)' as first statement - ocean complains about something like
"not a function" or similar (can't compile this at the moment ...)

Thanks in advance,

Stefan
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 

Welcome to EDABoard.com

Sponsor

Back
Top