• 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. Once more question about StreamOut

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 143
  • Views 15178
  • 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

Once more question about StreamOut

MedAn
MedAn over 8 years ago

Hi all!

I know, there were already a lot of questions and answer about srtmout command.

But could you pls. explain this question again, how we can start export GDS file under skill?

When I try to do it manually under unix - all works fine, for example:

strmout -logFile "acg_layPcellTest.err" -view "layout" -topCell "acg_layPcellTest" -techLib "SG13_dev" -strmFile "acg_layPcellTest.gds" -library "acg_test" -runDir "./gds"

And if I write in my code follwoing:

sprintf(args "-library \"%s\" -strmFile \"%s\" -techLib \"%s\" -topCell \"%s\" -view \"%s\" -logFile \"%s\" -runDir \"./gds\" -hierDepth \"32767\"" lib strcat(cell ".gds") tf->libName cell view strcat(cell ".err")); 

ipcBeginProcess(sprintf(nil "strmout %s" args)

All also works fine, gds will be created but in CIW I sow, taht procedure return nil.

But if I try, to create mane code as was show on this forum:

streamOutKeys = ncons(nil); 

streamOutKeys->library = lib;
streamOutKeys->strmFile = strcat(cell ".gds");
streamOutKeys->techLib = tf->libName;
streamOutKeys->topCell = cell;
streamOutKeys->view = view;
streamOutKeys->logFile = strcat(cell ".err");

templateFile = makeTempFileName("./streamOutKeys");
prt = outfile(templateFile);
fprintf(prt "streamOutKeys='");
pprint(streamOutKeys prt);
newline(prt);
close(prt);

sprintf(nil "strmout %s" templateFile)

I have following error:

ERROR (XSTRM-102): The './streamOutg4021' option specified is invalid. View the available options using the "-help" command and then specify the valid option.
INFO (XSTRM-273): Translation failed. '1' error(s) and '0' warning(s) found.

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 8 years ago

    That's because the streamOutKeys approach was for the old IC5141 stream interface ("pipo strmout templateFile") rather than the IC61X stream interface ('strmout").

    The ipcBeginProcess won't return nil - it will return a handle on the process - which you can then use:

    id=ipcBeginProcess(...)
    ipcWait(id) ; wait for it to finish.

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • MedAn
    MedAn over 8 years ago
    But what we need to use instead streamOutKeys?
    Only "inline" arguments?
    I take a new documentation for 6.1.7 and there are still used streamOutKeys:
    streamOutKeys=list(nil
    'hierDepth "32767" ;- (0-32767) - Hierarchy Depth Limit
    'strmTextNS "cdba" ;- Text NameSpace
    'viaCutArefThreshold "0" ;- Write a STRUCT if the number

    page 164.

    Sorry for the my understanding.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 8 years ago

    No, the streamOutKeys mechanism is really a legacy support and is used just to seed the UI; it's not for batch use (it used to be for batch use in IC5141). In the documentation (on the page you specify) it says "Seeding the XStream Out GUI using streamOutKeys SKILL List and .cdsinit File".

    You can however write all the options you want into a simple file with name-value pairs in each line and then invoke "strmout -templateFile filename". If you want to know the syntax of the file, one way is to bring up the UI and save the template from the form. Essentially the options in the template file are the same as the command line options - it's just sometimes more convenient to put all those option-value pairs in a file instead.

    Does that answer your question?

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • MedAn
    MedAn over 7 years ago
    Hi Andrew!

    Yes. Thx. you.
    • 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