09.08.2013 Views

RTL Design Flow - Computation Structures Group

RTL Design Flow - Computation Structures Group

RTL Design Flow - Computation Structures Group

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Weak (or Algebraic) Division<br />

Definition: support of f as sup( f ) = { set of all<br />

variables v that occur in f as v or v }<br />

Example: f = A B + C<br />

sup( f ) = { A, B, C }<br />

Definition: we say that f is orthogonal to g,<br />

f ⊥ g, if sup( f ) ∩ sup( g ) = φ<br />

Example: f = A + B g = C + D<br />

∴ f ⊥ g since { A, B } ∩ { C, D } = φ<br />

Weak Division Example<br />

f = abc + abde + abh + bcd<br />

g = c + de + h<br />

Theorem: f / g = f / c ∩<br />

f / c = ab + bd<br />

f / de = ab<br />

f / h = ab<br />

f / de ∩ f / h<br />

f / g = (ab + bd) ∩ ab ∩ ab = ab<br />

f = ab(c + de + h) + bcd<br />

Time complexity: O( | f | | g | )<br />

13<br />

15<br />

Weak Division - 2<br />

We say that g divides f weakly if there exist h, r<br />

such that f = gh + r where h ≠ φ and g ⊥ h<br />

Example: f = ab + ac + d<br />

g = b + c<br />

f = a(b + c) + d h = a r = d<br />

We say that g divides f evenly if r = φ<br />

The quotient f / g is the largest h such that<br />

f = gh + r i.e., f = ( f / g )g + r<br />

How to Find Good Divisors?<br />

$64K question<br />

Strong division: Use existing nodes in the<br />

multilevel network to simplify other nodes<br />

Weak division: Generate good algebraic<br />

divisors using algorithms based on “kernels”<br />

of an algebraic expression<br />

14<br />

16

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!