22
Functionally Linear Decomposition and Synthesis (FLDS) of Logic Circuits for FPGAs @Tomasz S. Czajkowski and Stephen D. Brown ,IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 27, NO. 12, DECEMBER 2008 Vishesh Kalra EE800 11089943

Functionally Linear Decomposition and Synthesis (FLDS) of Logic Circuits for FPGAs

Embed Size (px)

DESCRIPTION

Functionally Linear Decomposition and Synthesis (FLDS) of Logic Circuits for FPGAs. Vishesh Kalra EE800 11089943. @Tomasz S. Czajkowski and Stephen D. Brown , IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 27, NO. 12, DECEMBER 2008. Earlier Method’s. - PowerPoint PPT Presentation

Citation preview

Page 1: Functionally Linear Decomposition and  Synthesis (FLDS) of  Logic Circuits for FPGAs

Functionally Linear Decomposition and Synthesis (FLDS) of Logic Circuits for FPGAs

@Tomasz S. Czajkowski and Stephen D. Brown ,IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS,

VOL. 27, NO. 12, DECEMBER 2008

Vishesh KalraEE800

11089943

Page 2: Functionally Linear Decomposition and  Synthesis (FLDS) of  Logic Circuits for FPGAs

Earlier Method’s

• Transforms >Logic function->Different Domains->Analysis• Binary Decision Diagrams(BDD)• Linear(OR/XOR) and Non Linear(AND/OR/NOT)• More Recently Davio and Shanon’s for XOR based

Decomposition

Page 3: Functionally Linear Decomposition and  Synthesis (FLDS) of  Logic Circuits for FPGAs

Introduction

• XOR based Logic Synthesis Approach. Methods >Gaussian Elimination >Binary Decision Diagrams to represent Logic functions

Page 4: Functionally Linear Decomposition and  Synthesis (FLDS) of  Logic Circuits for FPGAs

Concept of Linearity

• Concept of Linearity >F(x)=∑Gi(y)*Hi(x-y)

>X,Y are set of Variables(Y≤X). > ∑ represents XOR gate. >F is weighted sum of functions of Gi(Basis), where weighting factors are

determined by Hi(Selector).• This retains ability to synthesize original function

using Davio/Shanon’s as well as BDD.

Page 5: Functionally Linear Decomposition and  Synthesis (FLDS) of  Logic Circuits for FPGAs

Concept of Vector Space

• 1 0 2 6 2 0 1 3 5 2 0 0 0 0 0

Two Left most vectors are known as “Basis”

Page 6: Functionally Linear Decomposition and  Synthesis (FLDS) of  Logic Circuits for FPGAs

Concept of Vector Space

• Suppose we have a vector

1 -3 4 -2 5 4 Gaussian Elimination

2 -6 9 -1 8 2 -------------------------- 2 -6 9 -1 9 7 -1 3 -4 2 -5 -4 1 -3 4 -2 5 4 0 0 1 3 -2 -6 0 0 0 0 1 5 0 0 0 0 0 0

Page 7: Functionally Linear Decomposition and  Synthesis (FLDS) of  Logic Circuits for FPGAs

Basis

1 4 5

2 9 8 2 9 9

-1 -4 -5

Page 8: Functionally Linear Decomposition and  Synthesis (FLDS) of  Logic Circuits for FPGAs

Truth Table Decomposition

GaussianElimination

BASIS VECTOR

Page 9: Functionally Linear Decomposition and  Synthesis (FLDS) of  Logic Circuits for FPGAs

Synthesis

• G1=c; G2=d;

• Next Step-Try Express entire truth table as combination of these two vectors(Basis Vectors)

• Expressing each Column as h1iG1 (XOR)h2iG2

• To find h1i and h2i we solve linear equation

of the form Ax=B;

• A=[G1 G2] ,x=[h1i h2i]T , B=one of the other columns

Page 10: Functionally Linear Decomposition and  Synthesis (FLDS) of  Logic Circuits for FPGAs

Synthesis Continued

By inspection,h1i=1,h2i=1

Page 11: Functionally Linear Decomposition and  Synthesis (FLDS) of  Logic Circuits for FPGAs

Synthesis Results

• Next Step-To find Selector Functions that will identify the columns in which given Basis Vector appears.

• We look at the columns for which h1=1, i.e.

ab=01 and ab=11,• Selector Function for G1,i.e. H1=b and G2,i.e.

H2=a;

• Result=f=G1H1(XOR)G2H2= bc (xor) ad;

Page 12: Functionally Linear Decomposition and  Synthesis (FLDS) of  Logic Circuits for FPGAs

Multi Output Synthesis

f

g

abcd

e

f

g

f=(a+b)d (xor) abc

Page 13: Functionally Linear Decomposition and  Synthesis (FLDS) of  Logic Circuits for FPGAs

Ripple Carry Adder

Page 14: Functionally Linear Decomposition and  Synthesis (FLDS) of  Logic Circuits for FPGAs

Performance Considerations

• Some Problems with the above mentioned of merging Truth tables.

>Storing a Truth Table in memory will become complex for more than 20 variables.(Increase in memory)Another Solution Proposed – Gaussian-Jordan

Elimination instead of Gaussian Elimination.

Page 15: Functionally Linear Decomposition and  Synthesis (FLDS) of  Logic Circuits for FPGAs

Another Efficient Approach

Page 16: Functionally Linear Decomposition and  Synthesis (FLDS) of  Logic Circuits for FPGAs

FPGA Considerations

• Size Of LUT, used by an FPGA.

INPUT KEY(SIZE OF LUT)

HASH TABLE

Check if LUT is created or it’s compliment

Y

Instead of adding New LUT, wire or inverter is added thereby saving Area

N

Page 17: Functionally Linear Decomposition and  Synthesis (FLDS) of  Logic Circuits for FPGAs

Modifying FLDS for Reducing Area• We can Replace XOR gate by Or gate if

>Product of a pair of Basis Function or their respective selector functions is zero.

>Then XOR gate use to sum Basis-Selector Products can be replaced by an OR gate.

• 3 BASIS Functions i.e. G1=c , G2=D , G3=1, and it is found that selector functions for G1 and G2 are complements of each other and their product is 0.

• Therefore Unnecessary to add them using XOR.

Page 18: Functionally Linear Decomposition and  Synthesis (FLDS) of  Logic Circuits for FPGAs

Experiments

• Technique was tested on a set of 99 MCNC benchmarks, mapping each design into a network of four input LUT’s.

• On the 25 of the benchmarks (classified as XOR based Logic circuits), approach provides significant area savings.

Page 19: Functionally Linear Decomposition and  Synthesis (FLDS) of  Logic Circuits for FPGAs

Results-XOR Based Logic Circuits

• FLDS VS BDS-PGA >XOR based logic functions can be significantly reduced in size and logic depth 18.8% and 14.5% respectively• FLDS VS ABC >25.3% in area and 7.7% in depth.

Page 20: Functionally Linear Decomposition and  Synthesis (FLDS) of  Logic Circuits for FPGAs

Results-NON-XOR Based Logic Circuits

• FLDS VS ABC >ABC produces circuits with 6.2% lower area results and 16.5 lower depth.

Page 21: Functionally Linear Decomposition and  Synthesis (FLDS) of  Logic Circuits for FPGAs

Future Work Proposed by Authors

• Both Altera and Xilinx FPGA’s contain Carry chains to implement Fast Ripple Carry Adders.

• These Adders contain XOR gates outside LUT’s.

• It is possible to utilize these XOR gate outside LUT Network to further reduce area taken by logic function.

Page 22: Functionally Linear Decomposition and  Synthesis (FLDS) of  Logic Circuits for FPGAs

THANK YOU