How to make parallel calculations on SKILL ?
My situation: I've got program GUI on SKILL, it starts external program / sh("./program &") /. External program is calculating and GUI must at the same time output intermediate data to window from external program (it's clear) AND GUI must respond to user actions (stop program, pause, exit, e.t.c)
you probably can do this with IPC like this : instead of launching your program with sh, lauch it with ipcBeginProcess. you can define skill callback functions to synchronously process output from the program. then, execution can continue normally and callbacks will be called whenever data is available. procedure( launchProcess() process = ipcBeginProcess( "command" nil "myDataHandler" "myErrHandler" "myPostExecFunction" ) ) ; procedure procedure( myDataHandler( childId data ) printf( "program outputted %s\n" data ) ) ; myDataHandler procedure( myErrorHandler( childId data ) printf( "program error : %s\n" data ) ) ; myErrorHandler procedure( myPostExecFunction( childId status) printf( "program terminated with status %d\n" status ) ) ; myPostExecFunction
Hi it is not possible to start several SKILL calculations parallel, but what you can do, is to start several ipcProcesses outside of cadence. You can communicate synchronous or asynchronous with a chip process. These are the main functions you need. ipcBeginProcess() ipcReadProzess() ipcWriteProcess() ipcKillProcess() CU Arnold