( ESNUG 267 Item 8 ) -------------------------------------------- [9/29/97]

From: Victor_Duvanenko@truevision.com (Victor Duvanenko)
Subject: Tricking DC Into Giving You High Speed Comparitors

John,

A tidbit for the speed-desparate...  If you only have the basic DesignWare
license and care about speed then you'll care about this message.  If you
compile without "-ungroup_all" then you can use "report_resources" to
find out the implementation that Synopsys chose for every operation (e.g.
ripple, or carry-look-ahead, etc.).

The basic DesignWare gives you CLA implementations for adders, subtractors
and incrementors.  However, it does not provide CLA for comparisons (e.g.
"if ( A > B ) then ).  If you care about speed, these comparisons
are critical, and as you all know, a comparison is really nothing more than
a subtraction that pays attention to the carry-out bit.  So, to speed up
your designs do something like the following:

   Tmp := ( '0' & A ) - ( '0' & B )
   if ( Tmp( Tmp'high ) = '0' ) then ...

This will result in a faster implementation, since Synopsys will hopefully
choose the CLA for the subtractor, which you're licensed for.  I think it is
very unfortunate for the user comunity that Synopsys chose not to provide
the CLA implementation for comparisons (but, provides them for adders and
subtractors).  I actually don't quite understand why they even need to do
anything special for comparisons -- they could have just implemented
it as a subtraction and there would be no need for this nonesense at all.

Maybe Synopsys could fix this, or for the VHDL guys, maybe we'll have to
overload the comparisons operators to get around this in a more readable
fashion.

  - Victor J. Duvanenko
    Truevision



 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)