( ESNUG 306 Item 3 ) ---------------------------------------------- [12/3/98]

From: eko@Aureal.com (Eugene Ko)
Subject: Bizarre, Mysterious 13% - 41% Area Increase With Aspec Libraries

John,

I'm using Aspec libraries, and Synopsys 1998.02 and 1998.08.

Even though I use no rams in my design, my design team shares a common setup
script, therefore a "ram.db" is added into everyone's (including my)
link_library and target_library.

Here's the problem: Although I don't have any rams in my design, the areas
increase about 15% to 40% if the Aspec RAMs are linked in!

My original design & environment was too big/complicated to send to the
Synopsys Support Center, so I replicated the problem using your simple,
public domain 8-bit counter from your "SNUG'95 Verilog Vs. VHDL Design
Contest".  Attached are 3 scenarios that use that simple 8-bit counter and
Aspec libs.

First: No Aspec "ram.db" In Link_library Nor Target_library

   link_library = {"sm222s.db"}
   target_library = {"sm222s.db"}
   read -f verilog counter8bit.v    // a simple 8-bit counter

   Total cell area:       430.00    // no ram.db in the link_library and
                                       target_library

Second: Aspec "ram.db" That Contains Only One Specific Aspec RAM

   link_library = {"sm222s.db", "ram.db"}
   target_library = {"sm222s.db", "ram.db"}
   read -f verilog counter8bit.v    // same RTL, same constraints

   Note: with each different specific Aspec ram in "ram.db", Synopsys puts
         out different results!  And my design DOES NOT use any RAMs!

   Total cell area:  538.00  // one ram, cs1rwd128x1t16d1.lib, in ram.db
   Total cell area:  492.00  // one ram, cs1rwd2048x16t16.lib, in ram.db
   Total cell area:  488.00  // one ram, cs1rwd1280x8t16.lib, in ram.db
   Total cell area:  554.00  // one ram, cs1rwd3840x21t16.lib, in ram.db
   Total cell area:  549.00  // one ram, cs2rwd512x24t16.lib, in ram.db

Third: Aspec "ram.db" That Contains 1, 2, 3, 4 Specific Aspec RAMs In It

   link_library = {"sm222s.db", "ram.db"}
   target_library = {"sm222s.db", "ram.db"}
   read -f verilog counter8bit.v    // same RTL, same constraints

   Total cell area:  492.00  // 1 ram  in ram.db
   Total cell area:  549.00  // 2 rams in ram.db
   Total cell area:  595.00  // 3 rams in ram.db
   Total cell area:  608.00  // 4 rams in ram.db

   Again, remember, my design doesn't use any RAMs, yet my areas grow
   if Aspec RAMs are in my link path.

I had submitted this bug to Synopsys two months ago.  They re-produced the
problem but no workarounds for me so far.  They talked to Aspec and looked
over their .lib source and report that it appears to be OK.  When I tried
all three above scenarios using Cascade libraries, I didn't have any area
problems at all.  (The main difference between Aspec libs and Cascade libs
is that Aspec uses table lookup timing model, Cascade however uses piecewise
linear model.  I don't think this means anything, but it is a known
difference between the two libs.)

It's been two months.  I can't wait any more.  Did anyone run into the same
situation?  Any solutions?  Thanks.

    - Eugene Ko                          
      Aureal Semiconductor     



 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)