to generate a script

Discussion in 'Cadence' started by chinni, May 5, 2006.

  1. chinni

    chinni Guest

    hi, yesterday i have seen ur mail .sorry for inconvienience .now am
    mentioning clearly ,my doubt is am calling a perlscript by using a
    ipcbeginprocess (tht perlscript is to generate a plot for desired
    netname libname and etc).And my doubt is( first i have to convert or
    run that perlscript and convert it into gds form and agin i have to
    streamin and this procedure is for one signal doingin a manually) and
    through skill how can i call that perlscript and execute in ciw window
    to perform for multiple netnames at a time .if ur not clear about my
    question means can u mention me the addrees or path where i can find a
    information about this topic(how to stream in and stream out the
    perlscript which is called through (ipcbeginprocess) )

    2nd doubt :iam calling a perlscript through ipcbeginprocess and my
    question here is whether streamin and streamout functions can be done
    in ciw window wihtout running the script in terminaland then getting
    intogds form and again doing streamin

    3rd doubt :whether PIPO strmin and strmout functions are used to
    streamin and out directly in ciw window or otherwise any process is
    there for that

    4ht doubt: i want to convert the perlscript into( .gdsfile )form which
    i called through ipcbeginprocees
    and also want to strmin it through skillprog how to
    do this
     
    chinni, May 5, 2006
    #1
  2. Your question is still gobbledegook, but throughout the unnecessary
    abbreviations (why not write "you" and "your" rather than "u" and "ur" - if your
    English is not great, it makes it easier to understand) - I think you're
    asking how to run streamin/streamout from a perl script.

    That's easy. Create a template file (as you would from
    File->Export/Import->Stream form), and then invoke:

    pipo strmin templateFile

    or

    pipo strmout templateFile

    (you can invoke this from perl a number of ways, including using "system").

    Then use ipcBeginProcess to invoke your perl script. Read the manuals
    on how to do that.

    or u cud pst clrer Q so we cn fthm thru skillprog wht the f* ur on abut?

    Andrew.
    Andrew Beckett
    Principal European Technology Leader
    Cadence Design Systems, UK.
     
    Andrew Beckett, May 9, 2006
    #2
  3. chinni

    chinni Guest

    hi,
    sorry once again ,and thanks for your patience , i think the english
    which i wrote is not clear to you sorry for that andrew ,what my
    question is , if i want to run my perlscript many no of times how i
    will do that .i cant streamin & streamout using that stream forms right
    ..(whether it is possible to run my perlscript which is invoked by
    ipcbeginproces for many times menas i want to put my perlscript in a
    foreach loop so how i will do that).for example i want to run my script
    for many signals i cant do streamin & tstreamout every signal using
    stream form then how can i do that plz help me i need it soon plz
     
    chinni, May 10, 2006
    #3
  4. chinni

    chinni Guest

    hi ,

    i can streamin and streamout the perlscript without using file
    (streamin/streamout and terminal )form which is invoked by
    ipcbeginprocess
     
    chinni, May 10, 2006
    #4
  5. chinni

    S. Badel Guest

    sorry once again ,and thanks for your patience , i think the english
    Not that i want to debate once again on this, your keyboard contains more than a hundred keys, and
    you seem to ignore some important ones.

    A very useful one is the return key, which allows you to separate your text into *paragraphs*, which
    are not only used for giving your text an attracting look, but also to make it easier to read and
    even to *understand*.

    Another one is the shift key, which virtually multiplies the number of keys of your keyboard by two
    by modifying their function ! As an example, typing a letter key which holding down the shift key
    will produce an *uppercase* letter !

    (...)

    Of course, I'm being sarcastic pretending that you ignore this, the point being that you obviously
    do not put any effort in writing correctly, and no more into trying to help the reader understand
    your meaning.

    And *YOU* pay the price because even when somebody gathers enough courage to dive into your
    repelling heap of words, he's, despite his efforts, not able to understand your question...
    Now, stream-in and stream-out have a commonly agreed meaning over here which is : importing or
    exporting your *layout* data from/to GDS-II file format. You can not stream-in or stream-out
    signals, and a perl script even less (might be a nice extension to GDS in the future though ;), so
    obviously that's not what you mean.

    You say you want to generate power plots, but you can do this right away with SKILL, so I have to
    ask you why are you using a perl script in the first place ?

    If you explained in details what you want to do and why (ie, what result are you expecting), then
    you'll probably have a chance to get an answer.



    stéphane
     
    S. Badel, May 10, 2006
    #5
  6. chinni

    chinni Guest

    hi thanks for posting a reply so soon .Am having a perlscript which a
    generate a plot for single signal


    ..now i want to write a script for plotting of mutiple signals at a time
    using (foreach() function) using skill language .N ow my doubt how i
    import and export for every signal by running the script please answer
    as soon as i need it very urgent .sorry for asking this many times
     
    chinni, May 10, 2006
    #6
  7. chinni

    S. Badel Guest

    hi thanks for posting a reply so soon .Am having a perlscript which a
    so you are running simulations in the cadence environment, then using some SKILL code you want to
    send the simulation results to your perl script which produces plots.

    what does you perl script take as input ? x/y values in a file ?
     
    S. Badel, May 10, 2006
    #7
  8. chinni

    chinni Guest

    ya sure that only am asking. ya am giving (netname ,cellname,
    libname,cdslib)are the input and i get gds file as output when i run my
    perl script on terminal . And if i want to run
    perlscript in( command interpreter window )which was invoked by
    ipcbegin process.(And one thing whether ipcbeginprocess will convert it
    into gds file form am asking)
     
    chinni, May 10, 2006
    #8
  9. chinni

    S. Badel Guest

    ya sure that only am asking. ya am giving (netname ,cellname,
    basically, you want to do

    foreach( signal list_of_signals

    ;; run perl script
    ipcWait( ipcBeginProcess( "perl ..." ) )

    ;; stream in generated GDS file
    streamInKeys = list(nil)
    streamInKeys->runDir = "."
    streamInKeys->inFile = myfile.gds"
    streamInKeys->libName = "mylib"
    ; ...
    ; (fill in streamInKeys)
    ; ...

    file = outfile( "templateFile" )
    fprintf(file "streamInKeys='%L\n" streamInKeys)
    close(file)

    ipcWait( ipcBeginProcess( "pipo strmin templateFile" ) )

    ) ; foreach
     
    S. Badel, May 10, 2006
    #9
  10. chinni

    chinni Guest

    thank u very very much badel,my small doubt if i dont want to use
    ipcwait process because it waits until the signalw hich is in
    execution ,so am going to use post fucntion in ipce begin process then
    how to do and wht i have to mention in list (nil),whether i have to
    mention the variable (signal) in that.
    2: if i want to put my each signal in a different dir such as /tmp/s1
    for first signal and next like /tmp/s2 then how to do


    thank u very much i got the idea thank u
     
    chinni, May 11, 2006
    #10
  11. chinni

    chinni Guest

    hi ,

    can i give input for (myfile .gds) and mylib and dir name by forming a
    form menu like

    enter the cellname
    enter the netname
    enter libname
    like in this way if form a windoew and give inputs there and how can i
    pass thriugh that i/p to this
    these stream leys help me
     
    chinni, May 11, 2006
    #11
  12. You don't seem to have learned. I'm afraid I'm not going to bother answering any
    of your "questions" (if that's what they are) until you actually try to write
    something legible.

    You're still talking about signals and gds2 which is meaningless, as Stephane
    said before.

    Andrew.
    Andrew Beckett
    Principal European Technology Leader
    Cadence Design Systems, UK.
     
    Andrew Beckett, May 11, 2006
    #12
  13. chinni

    chinni Guest

    hi,

    first i have to streamout then only i get (input file ) and then i can
    stream in that input file and u didnt mention how to streamout
     
    chinni, May 11, 2006
    #13
  14. chinni

    chinni Guest

    sorry sorry please help me .my actual doubt is how i can run the perl
    script which takes input as net name, cellname ,libanme and gdsname
    ,after runnig the that perlscript i get a gdsform and the gdsfile
    i can stream in it.thats what i do normaly without a skill script and
    by using skill script how do .please answer to my question
     
    chinni, May 11, 2006
    #14
  15. chinni

    chinni Guest

    #!/usr/bin/perl
    use File::path;
    if($#ARGV < 1) {
    print("USAGE: plotNet.pl netName cellName <libName <cdslib
    <gdsName>>>\n");
    }
    else {
    $netName = $ARGV[0];
    $libName = $ARGV[2];
    $cellName = $ARGV[1];
    if($#ARGV >= 2) {
    $libName = $ARGV[2];
    } else {
    $libName = "PRATHAM_LAY";
    }
    if($#ARGV >= 3) {
    $cdslib = $ARGV[3];
    } else {
    $cdslib = "/db/ppi_pmu/pg1/Release/layout/pratham/cds/cds.lib";
    }

    if($#ARGV >= 4) {
    $gdsName = $ARGV[4];
    } else {
    $gdsName = $cellName.".gds";
    }
    open RSF, ">$cellName".".rsf" or die "Cannot open file for read: $!";
    open DRC, ">$cellName".".drc" or die "Cannot open file for read: $!";
    open DAT, "/prog/assura/plotNet.rsf" or die "Cannot open file for
    write: $!";

    while (<DAT>){
    s/amHndl_libName/$libName/;
    s/amHndl_cellName/$cellName/;
    s/amHndl_drcRuleFile/\.\/$cellName\.drc/;
    s/amHndl_outFileName/$gdsName/;
    print RSF $_;
    }
    close(DAT);
    close(RSF);
    open DAT, "/prog/assura/plotNet.drc" or die "Cannot open file for
    write: $!";
    while (<DAT>){
    s/amHndl_netName/$netName/;
    print DRC $_;
    }
    close(DAT);
    close(DRC);
    $runString = "assura $cellName.rsf -cdslib $cdslib |tee
    $cellName".".log";
    printf "$runString\n";
    system($runString)

    }

    am sending my perl scirpt i think now u can get what am asking .please
    make patience am new to this plz .my perlscript generates a plot for
    the data which is mentioned in printf:))of this script and performs for
    one signal and am asking if i want to perform for more signals(nothing
    but more nets )
    how i do by skill language usinfg ipcbeginprocess please answer me
    impotant
     
    chinni, May 11, 2006
    #15
  16. chinni

    chinni Guest

    i have sent my " perlscript" please answer to me and u told me to
    run the perlscript in above code that only am asking how to run it.
     
    chinni, May 11, 2006
    #16
  17. chinni

    S. Badel Guest

    Funny, indeed, because you are actually running a perl script which runs assura which produces a gds
    file that you stream back into dfII, while assura could directly produce dfII.

    If it had been clear from the beginning exactly what you were trying to do, you could have had a
    much simpler answer and saved a lot of ~typing~ effort...

    As an advice, look into the assura manual for how to produce dfII output.

    stéphane
     
    S. Badel, May 11, 2006
    #17
  18. Sorry, but how stupid is it possible to be and still be allowed to access a
    computer? This crap is going to show up on every future search on the
    topic.
     
    Svenn Are Bjerkem, May 11, 2006
    #18
  19. Yeah, we have plonked you for behaving stupid.
     
    Svenn Are Bjerkem, May 11, 2006
    #19
  20. chinni

    fogh Guest

    Chinni,

    Apparently you want to highlight multiple nodes after a successful
    assura LVS. To achieve this,
    1- you do not need perl. This can be done 100% from within SKILL.
    2- you do not need to stream out or stream in. This can be done in the
    'design framework 2' database format.

    That should simplify your solution. So drop the perl script, go in the
    assura and skill manual, and do this from scratch. You ll be better off.

    If you want to program, you will most likely have to interact with
    english speaking people. It will be a better investment for you to learn
    english rather than yet another programming language or electronic
    design technique.

    To those in the group who get so quickly offended by poor language, I
    wish they get one day faced with the necessity to relocate and learn a
    completely alien language in a matter of months. An then meet the blokes
    with no patience who get oh-so-offended by misuse of their beautiful
    native tongue.
     
    fogh, May 13, 2006
    #20
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.