( ESNUG 378 Item 13 ) ------------------------------------------- [10/03/01]

Subject: ( DAC 01 #6 ) Offis Explains That Orinoco Does "Low Power Binding"

> "The Offis Orinoco guys had some neat ideas about going from C/C++ down
>  to gates optimizing for power.  However, without an underlying logic
>  synthesis engine, I would never trust Orinoco to give me real results.
>  The idea of generating scripts to coerce Behavioral Compiler into
>  giving them the schedule that they thought was optimal (for power) was
>  ridiculous -- not ridiculous in theory, but in practice."
>
>       - [ An Anon Engineer ]


From: Frank Poppen <frank.poppen@offis.de>

Hi John,

it was nice meeting you in during the Boston SNUG.  Germany seems to be so
far away from the SNUG community.  It was really great to finally get to
know all the people.  (Though the circumstances where quite shocking with
the terror and no way to fly back home before Sunday.)  We at Offis didn't
appreciate part of the comment of the Anon Engineer in the DAC 01 report:

 1.) Next to C/C++ (not necessarily SystemC) ORINOCO also processes VHDL.
 2.) Orinoco does NOT create a "low power schedule" (yet).  We plan to
     implement this.  What you DO get is a "low power binding".  This is a
     completely different story and it does work.  This comment hit me
     someway personally.  My SNUG paper proved that with this methodology
     power savings are possible up to 20%.

Let me try to explain what I mean with the terms scheduling, allocation
and binding: Designers either do scheduling manually (which operation has
to be executed first depending on the data-dependency-graph) or use Synopsys
Behavioral Compiler.  The next step is synthesis.  In this step DC,
allocates resources.  Depending on the timing constraints and the possible
parallelism in the design, DC might allocate two adders for an algorithm
that contains 100 additions.  Some of these operations (not necessarily one
half) will be bound to one allocated adder.  The rest will be bound to the
other adder.  If we do this step of binding operations on allocated
resources wisely we can save power.  Let's assume we have to bind 4
additions to 2 adders:

                       op1 = 0111 + 0111
                       op2 = 0000 + 0000
                       op3 = 0110 + 0111
                       op4 = 0000 + 0001

High activity means high power consumption.  Low activity means low power
consumption.

            "bad binding"  {op1,op2} => adder1
                           {op3,op4} => adder2

  0000     0000      0000     0001
  0111     0111      0110     0111      <- High activity at inputs
    |       |          |       |
   -----------        -----------
   \    +    /        \    +    /       <- High activity in ALU
    ---------          ---------
        |                  |
       0000               0001
       1110               1101          <- High activity at output

This bad binding causes a high power consumption!

            "good binding" {op1,op3} => adder1
                           {op2,op4} => adder2

  0110     0111      0000     0001
  0111     0111      0000     0000      <- Low activity at inputs
    |       |          |       |
   -----------        -----------
   \    +    /        \    +    /       <- Low activity in ALU
    ---------          ---------
        |                  |
       1101               0001
       1110               0000          <- Low activity at output

This good binding uses much less power.

By using data correlation and not destroying it with a "bad binding" we can
reduce activity dramatically and save power.  The complete paper is in the
Boston SNUG'01 proceedings and the title is: "Evaluation of a Behavioral
Low Power Design Flow Based on a Design Case".

  - Frank Poppen
    OFFIS Research Institute                     Oldenburg, Germany


 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)