IPC vs Ocean script
CADForums.net Forum Index CADForums.net
Discussion of AutoCAD and other CAD software.
 
 FAQFAQ   MemberlistMemberlist     RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 
Google
 
Web cadforums.net
IPC vs Ocean script

 
Post new topic   Reply to topic    CADForums.net Forum Index -> Cadence
Author Message
Sam
Guest





Posted: Thu Oct 28, 2004 11:24 am    Post subject: IPC vs Ocean script Reply with quote

Hi all,

I'm currently implementing an IPC handler dealing with Ocean netlist generation.
I'm facing this issue: If two netlisting requests arrived on the IPC chanel,
the first netlisting request begins, then the second request starts too as the
previous one is not terminated; the result is that the execution of first Ocean
script stops after "simulator()" command, as the latest Ocean script is
succesfully executed.
It seems that dfII is leaving my procedure after simulator() command, as soon as
a event arrived on IPC channel.

Is there a way to start new requests after execution of previous one when using
IPC protocol? Or which method should I use to manage simultaneous events?

Example of procedure to be executed :
-------------------------------------
procedure( DoOceanNetlist( simulatorName lib cell view )
simulator( simulatorName )
design(lib cell view)
createNetlist()
)


IPC request 1:
--------------
DoOceanNetlist( 'spectre "lib1" "cell1" "view1" )

IPC request 2:
--------------
DoOceanNetlist( 'spectre "lib2" "cell2" "view2" )


Thanks in advance,

Sam.

Back to top
fogh
Guest





Posted: Thu Oct 28, 2004 7:45 pm    Post subject: Re: IPC vs Ocean script Reply with quote

Sam wrote:
Quote:
Hi all,

I'm currently implementing an IPC handler dealing with Ocean netlist
generation.
I'm facing this issue: If two netlisting requests arrived on the IPC
chanel,
the first netlisting request begins, then the second request starts too
as the
previous one is not terminated; the result is that the execution of
first Ocean
script stops after "simulator()" command, as the latest Ocean script is
succesfully executed.
It seems that dfII is leaving my procedure after simulator() command, as
soon as
a event arrived on IPC channel.

Is there a way to start new requests after execution of previous one
when using
IPC protocol? Or which method should I use to manage simultaneous events?

Example of procedure to be executed :
-------------------------------------
procedure( DoOceanNetlist( simulatorName lib cell view )
simulator( simulatorName )
design(lib cell view)
createNetlist()
)


IPC request 1:
--------------
DoOceanNetlist( 'spectre "lib1" "cell1" "view1" )

IPC request 2:
--------------
DoOceanNetlist( 'spectre "lib2" "cell2" "view2" )


It is not too clear to me. If the child is ocean it will fail on the design
call. You should interpret this with an icfb -nograph. But then again, why would
you do that instead of executing in the current session ?
Back to top
Sam
Guest





Posted: Fri Oct 29, 2004 12:39 pm    Post subject: Re: IPC vs Ocean script Reply with quote

Quote:
It is not too clear to me. If the child is ocean it will fail on the
design call. You should interpret this with an icfb -nograph. But then
again, why would you do that instead of executing in the current session ?


Well, I wrote an external tool, which is connected to dfII via IPC chanel.
This tool is able to ask Cadence to generate netlists. Those netlists are
generated into dfII using ocean commands. The problem is, when my external tool
sends several netlisting requests via CDS ipc chanel, CDS don't wait for the
previous job to be finished, before starting a new one. The result is that I
only get netlist corresponding to lastest request. The previous ones are never done.
My question:
Is it possible to tell CDS ipc to execute a job only after completion of the
previous one? Or which method should I use to manage simultaneous events on IPC
chanel?

Thanks,

Sam.

Back to top
fogh
Guest





Posted: Fri Oct 29, 2004 6:03 pm    Post subject: Re: IPC vs Ocean script Reply with quote

Sam wrote:
Quote:
It is not too clear to me. If the child is ocean it will fail on the
design call. You should interpret this with an icfb -nograph. But then
again, why would you do that instead of executing in the current
session ?


Well, I wrote an external tool, which is connected to dfII via IPC chanel.
This tool is able to ask Cadence to generate netlists. Those netlists are
generated into dfII using ocean commands. The problem is, when my
external tool
sends several netlisting requests via CDS ipc chanel, CDS don't wait for
the previous job to be finished, before starting a new one. The result
is that I only get netlist corresponding to lastest request. The
previous ones are never done.
My question:
Is it possible to tell CDS ipc to execute a job only after completion of
the previous one? Or which method should I use to manage simultaneous
events on IPC chanel?

I don t think icfb can handle things in parallel just like that. I would not
even know how to do stg like that. Short of starting multiple icfb processes.

Your external tool should just wait for dfII. For instance dfII prints a line
procedure( DoOceanNetlist( simulatorName lib cell view )
printf("ocean netlisting %L %L %L for %L simulation..." lib cell view
simulatorName )
simulator( simulatorName )
design(lib cell view)
createNetlist()
printf("done\n")
)

and your external does a gets() before it asks for another.

But it would really be clearer if you posted your code !
Back to top
Erik Wanta
Guest





Posted: Fri Oct 29, 2004 8:45 pm    Post subject: Re: IPC vs Ocean script Reply with quote

Sam:
cid=ipcBeginProcess(your process)
ipcWait(cid)

Note that you can create netlists from ADE with:
asiCreateNetlist(asiGetCurrentSession() "nil")
---
Erik


Sam <agnes.sam@NoSpamfree.fr> wrote in message news:<clsvpk$cjj$1@newshost.mot.com>...
Quote:
It is not too clear to me. If the child is ocean it will fail on the
design call. You should interpret this with an icfb -nograph. But then
again, why would you do that instead of executing in the current session ?


Well, I wrote an external tool, which is connected to dfII via IPC chanel.
This tool is able to ask Cadence to generate netlists. Those netlists are
generated into dfII using ocean commands. The problem is, when my external tool
sends several netlisting requests via CDS ipc chanel, CDS don't wait for the
previous job to be finished, before starting a new one. The result is that I
only get netlist corresponding to lastest request. The previous ones are never done.
My question:
Is it possible to tell CDS ipc to execute a job only after completion of the
previous one? Or which method should I use to manage simultaneous events on IPC
chanel?

Thanks,

Sam.
Back to top
 
Post new topic   Reply to topic    CADForums.net Forum Index -> Cadence All times are GMT
Page 1 of 1

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum




Windows Server DSP VoIP Electronics New Topics
Contact Us
Powered by phpBB