( ESNUG 372 Item 15 ) ------------------------------------------- [05/31/01]

Subject: ( ESNUG 370 #3 )  DC Instance Names Having Device Types In Them

> Do you think Synopsys could be convinced to do something more meaningful
> with device instance names other than U1, U2 and U3?  Wouldn't U_nand2_0
> and U_NR4B_33 be more meaningful?
>
>     - Iain Clark
>       LSI Logic


From: Nir Sever <nir@zoran.co.il>

Hi John,

Why would you need to code the device type in the instance name?  The next
argument in the instantiation statement IS the device.  I prefer having
the instance name to represent the place in the hierarchy from which this
instance was created.

    - Nir Sever
      Zoran                                      Israel

         ----    ----    ----    ----    ----    ----   ----

From: Leo Butler <lbutler@brocade.com>
To: Iain Clark <irc@lsil.com>

Hi, Iain.

Saw your name in lights, had to write to hassle you. ;-)

Sounds like a job for a Perl script to me.  I have some code that reads LEF
and builds a cell library database, which could be used in conjunction with
parsing the Verilog netlist and finally renaming any instances of cells that
were in the LEF (LSI's cells, for instance) to include the cell name.

I wouldn't want to use this for layout, but for reporting it ought to be
fine.  My issue with using it for backend is the name length.  I've run into
issues where database size was affected by long instance names.  Some tool
coders just don't understand the concept of a hash to avoid such issues...

Last thought, perhaps lsinetlist could be updated to do this, too.  We all
want a tool to read a netlist and create a data structure, and it would be
great if there was then an API to allow you to write some code to manipulate
the database.  More Perl, perhaps?  :-)

    - Leo Butler
      Brocade Communications                     San Jose, CA

         ----    ----    ----    ----    ----    ----   ----

From: Iain Clark <irc@lsil.com>
To: Leo Butler <lbutler@brocade.com>

Leo,

I certainly recognize the possibility of internal tools but that's not
efficient nor elegant but in my mental model of the perfect universe the
tool vendor addresses the customer's needs.  If I were to build this thing,
I'd make it uniquify every instance name as well. I think I'm only adding
about 7 chars per name.  Right now, I'd only make it operate on leaf level
cells.  I might make it spit out the maximum name mength as well.

Can you expand on your last paragraph somewhat?  It may be that lsivega
is the better place for this functionality.

    - Iain Clark
      LSI Logic

         ----    ----    ----    ----    ----    ----   ----

From: Leo Butler <lbutler@brocade.com>
To: Iain Clark <irc@lsil.com>

Hi, Iain.

Agreed, lsivega is probably the perfect place for it.  The idea being we all
want to read a netlist and do "something" to it; how nice to have that
functionality handled for us and then provide an API to access/manipulate
the data structure.

I'm not sure what issues you run into while reading the netlist with the
less-descriptive names, so I don't have any specific solutions.  Just
curious, have you ever used Debussy?  It is more than a waveform viewer;
it reads the netlist and traces paths into and out of hierarchy.  Pretty
cool, used over here for debugging all the time.

Just a thought.

    - Leo Butler
      Brocade Communications                     San Jose, CA

         ----    ----    ----    ----    ----    ----   ----

From: Pinhong Chen <phchenb@tsmc.com>

Hi, John,

I saw Iain's email to ESNUG with a title "Why can't DC instance name have
device name in them?".  Well, you can use the following perl script to
modify your gate-level netlist:

   #!/usr/bin/env perl
   $/=";";
   $dont=0;
   while(<>){
      if(/(\w+)\s+(\S+?)\s*\(/o){
         $dev=$1;
         $iname=$2;
         if($dev ne "module"){
            $iname =~ s/\bU(\d+)/U_${dev}_$1/o;
            s/(\w+\s+)(\S+?)(\s*\()/$1$iname$3/o;
         }
      }
      print;
   }

Hope this helps!

    - Pinhong Chen
      TSMC                                       San Jose, CA


 Sign up for the DeepChip newsletter.
Email
 Read what EDA tool users really think.


Feedback About Wiretaps ESNUGs SIGN UP! Downloads Trip Reports Advertise

"Relax. This is a discussion. Anything said here is just one engineer's opinion. Email in your dissenting letter and it'll be published, too."
This Web Site Is Modified Every 2-3 Days
Copyright 1991-2024 John Cooley.  All Rights Reserved.
| Contact John Cooley | Webmaster | Legal | Feedback Form |

   !!!     "It's not a BUG,
  /o o\  /  it's a FEATURE!"
 (  >  )
  \ - / 
  _] [_     (jcooley 1991)