generation of a hspice netlist!!!!

Discussion in 'Cadence' started by elhaj khawla, Aug 7, 2009.

  1. elhaj khawla

    elhaj khawla Guest

    Hello,

    I want to generate a hspice netlist.
    In this netlist I use the command “.data …. .enddata”
    Exp:

    ..data par tmp ww ll
    + 25 0.3 0.4
    + 25 0.3 0.8
    ..enddata
    I need to use an expression in this command line??? As following:


    ..data ttt tmp ww ll
    + 25 0.3 ‘2*0.2’
    ..enddata

    Can you tell me how???
    Thanks a lot,
    Khawla.
     
    elhaj khawla, Aug 7, 2009
    #1
  2. elhaj khawla

    Riad KACED Guest

    Hi Khawla,

    Would you mind to make your question a bit clearer ?
    What do you mean by 'generate' ? Are you having a schematic in cadence
    and want to generate a netlist through ADE ?
    a more detailed description of your problem and what you want to
    achieve is very likely to help.
    As far as I understand, you want to change the 0.4 by 2*0.2. What
    about 0.6 ? changed by 2*0.3 or 3*0.2 ? What is the purpose of doing
    this anyway ?

    Cheers,
    Riad.
     
    Riad KACED, Aug 7, 2009
    #2
  3. elhaj khawla

    elhaj khawla Guest

    well,
    I want to create a netlist manually (without using cadence). that is
    an example, I just want to use an expression in the command
    ".data ... .enddata"
    ..data ttt tmp ww ll
    + 25 0.3 ‘expression’
    ..enddata

    the purpose is to sweep some parameters using some rules. (ww= ww 2*ww
    3*ww).
    I try to use other solutions but in the command ".dc" we can't use
    more than three sweeps.

    thanks a lot ;))
    Khawla
     
    elhaj khawla, Aug 7, 2009
    #3
  4. elhaj khawla

    Riad KACED Guest

    Hi Khawla,

    I'm not sure I fully understood your question but these are my
    comments anyway.
    You can make this with Skill although I recommend a Shell, Perl or
    whatever scripting/programming language you are comfortable with.
    This is my attempt using Perl, it may serve as a starting point for
    what you are looking for.

    ############################
    #!/usr/bin/perl -w

    use strict;

    my $max=10;
    my $temp=25;
    my $w=0.3;

    for( my $i=1; $i<=$max; $i++ )
    {
    my $newW=$i*$w;
    print "+ $temp $w $newW\n";
    }
    ############################

    Hope this help you evolving in your task.

    Cheers,
    Riad.
     
    Riad KACED, Aug 7, 2009
    #4
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.