• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC SKILL
  3. stream Out using SKILL

Stats

  • Locked Locked
  • Replies 10
  • Subscribers 143
  • Views 20492
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

stream Out using SKILL

ahata
ahata over 14 years ago

Hello,

I'using the following code in order to transalte my OA layouts to gds.

xstSetField("library" libName)
xstSetField("topCell" cell )
xstSetField("strmFile" strmOutCellName )
xstSetField("virtualMemory" "true")
xstOutDoTranslate()

I seek throughout the Cadence documentation in order to see how the xstOutDoTranslate function is defined and I couldn't find anything about it. So could anyone tell me how this function is defined and which parameters I can tuned?

 My second question, when the xstOutDoTranslate is properly configured, once this command is executed it always produces a pop-up message highlighting the errors and warnings occurred during the translation and forces you to answer the question if I want to see the log file or not. Since I'd like to do the translation of several cells subsequently, is there any to not allowed this pop-up  windows to be prompt? 

Thanks in advance

 ahata

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago

    Many of the fields are covered in the documentation (hit the Help button on the stream out form). 

    However, the simplest is to save a template from the form - and then you can see the available names there.

    Currently the "Show Completion Message Box" can't be set from xstSetField, nor is it saved in the template (I believe this is fixed in the next release, IC616). However, you can do:

     envSetVal("xstream" "xstShowCompletionMsgBox" 'boolean nil)

    which will influence it the first time (only) the interface is used - so I think that will do what you want.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ahata
    ahata over 14 years ago

    Many thanks Andrew

    Setting that env variable to nil made the case, so now I can generate all my gds files in seconds...

    On the other hand, I check the help documentation about the xstOutDoTranslate() function and it seams that this function is not returning any value. I just wanted to create a "checking error" code to check with SKILL if the translation succeded or not.

     br

    ahata

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ahata
    ahata over 14 years ago

    Hi,

     I would like to know how to get CDL files using SKILL code similar to what is done with the gds if there is a way. So is there any function for cdl export that would do the same as the xstOutDoTranslateto stream out gds files???

     I try using the cdlOutKeys parameter to configure the cdl extractio0n but I do not know how to call this configuration with an SKILL instruction. I need this to create a bunch of cdl files in a simple skill code.

    Many thaniks in advance

    br

    ahata

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ahata
    ahata over 14 years ago

    Hi,

     I would like to know how to get CDL files using SKILL code similar to what is done with the gds if there is a way. So is there any function for cdl export that would do the same as the xstOutDoTranslateto stream out gds files???

     I try using the cdlOutKeys parameter to configure the cdl extractio0n but I do not know how to call this configuration with an SKILL instruction. I need this to create a bunch of cdl files in a simple skill code.

    Many thaniks in advance

    br

    ahata

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago
    The way to do this is to create an si.env file in a directory with similar contents to one you might get from using it interactively. Then invoke the UNIX command:

    si -command netlist -batch runDirectoryPath

    This could be launched from Virtuoso using ipcBeginProcess, say.

    Regards,

    Andrew
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago

    Ahata,

    You can define the function xstOutOnCompletion to trigger when the stream out finishes. See the documentation for more details.

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ahata
    ahata over 14 years ago

     

    Andrew Beckett said:

    Ahata,

    You can define the function xstOutOnCompletion to trigger when the stream out finishes. See the documentation for more details.

    Andrew.

     

     

    i tried to use this function to check whether the streamOut translation  xstOutDoTranslate() ) worked or not and some weird stuff happened. 

    So initially I had my SKILL code with only the xstOutDoTranslate() instruction and everything went normal.

    ...

    xstOutDoTranslate()

    ...

    Then I added also the line  for xstOutOnCompletion as follows

    ...

    xstOutDoTranslate()

    xstOutOnCompletion(stat)

    ...

    The following error message appeared:

    *Error* apply: undefined function - xstOutOnCompletion

    Then if I erase the  the line xstOutOnCompletion(stat) and my code stays as:

    ...

    xstOutDoTranslate()

    ...

    The same error message appears again: 

    *Error* apply: undefined function - xstOutOnCompletion 

    So I need to close cadence and open it again in order to make my original code to work again.

     

    I don't know why this is happening...but I'm still able to create my gds files....

    btw, I'm using version cadence 6.1.4.

     

    Ahata

     

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago

    Ahata,

    You need to define the function xstOutOnCompletion - you don't call it, you define it. e.g.

    procedure(xstOutOnCompletion(stat)
    ...
    )

    There's an example in the documentation (although not a very useful one).

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ahata
    ahata over 14 years ago

    ok ok!

    Thereby, I need to create a function that gives me the status of the translation (in the manual example the xstOutOnCompletion uses this variable to chech if the translation was correct) .

    Anyways, my code ensures that all parameters set for the translation are correct, so the translation should be correct. In other case, I can always create a shell script which will verify the warning or error messages ocurred during the translation.

    Thanks!!

    Sergio

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ahata
    ahata over 14 years ago

    I finally managed to stream out my cdl netlis. I used the following code (in case anyone wants to use it)

                strmOutCDLName = buildString( list( cell "src" "net" ) "." )
                cdlOutKeys = list(nil            
                    'cdsNetlistingMode "Analog"   
                    'runInBackground 'nil
                    'simStopList '("auCdl")
                    'simViewList '("auCdl" "schematic")
                    'globalGndSig ""
                    'globalPowerSig ""
                    'shrinkFACTOR 0
                    'checkScale "meter"
                    'diodeCheck "none"
                    'capacitorCheck "none"
                    'resistorCheck "none"
                    'resistorModel ""
                    'shortRES 2000
                    'simNetlistHier 't
                    'pinMAP ''nil
                    'displayPININFO 't
                    'checkLDD ''nil
                    'incFILE ""
                    'connects ""
                    'setEQUIV ""
                    'simRunDir ALO_WORK_DIR
                    'hnlNetlistFileName strmOutCDLName
                    'simSimulator "auCdl"
                    'simViewName "schematic"
                    'simCellName cell
                    'simLibName libName
                    'cdlSimViewList '("auCdl" "schematic")
                    'cdlSimStopList '("auCdl")                   
                )
           
                mgc_rve_set_cdlout_keys(libName cell "schematic" strmOutCDLName)
                    when( mgc_rve_globals->show_cdl_dlg && !mgc_rve_export_cdl_dlg(t)
                          return()
                    ) ; when
                    printf("\n*** Exporting netlist for cell %s ***\n" cell)
                    g_mgcExportCdlConnectFile = strmOutCDLName
                   when( mgc_rve_create_sienv_file()
                          si_cmd = mgc_rve_export_get_cdl_cmd(libName cell "schematic" strmOutCDLName)                 
                          pid=ipcBeginProcess(si_cmd)
                          ipcWait(pid)
                          printf("%L" ipcReadProcess(pid))
                    ) ; when
                    instruction = buildString( list( "mv" strmOutCDLName ALO_CDLOUT_FOLDER_PATH ) )
                 system(instruction)   
    thanks for your help
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information