abdullah aldahami (11074595) jan 29, 2010 1. this paper propose a new resynthesis algorithm for...

26
Abdullah Aldahami (11074595) Jan 29, 2010 1

Upload: lamar-ewbank

Post on 01-Apr-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Abdullah Aldahami (11074595) Jan 29, 2010 1.  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques

Abdullah Aldahami(11074595)

Jan 29, 2010 1

Page 2: Abdullah Aldahami (11074595) Jan 29, 2010 1.  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques

This paper propose a new resynthesis algorithm for FPGA area reduction.

The existing resynthesis techniques consider only single-output Boolean functions and the combinational portion of a circuit.

The new technique consider multi-output functions and retiming, and develop effective algorithms that incorporate recent improvements to SAT-based Boolean matching.

2

Page 3: Abdullah Aldahami (11074595) Jan 29, 2010 1.  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques

Resynthesis: is a technique that rewrites circuit structures while maintaining the functionalities of transition and output functions to reduce area.

Programmable Logic Block (PLB) consists of a network of interconnected non-programmable and programmable logic devices.

3

Page 4: Abdullah Aldahami (11074595) Jan 29, 2010 1.  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques

4

2.1 SAT-Based Boolean Matching (BM) for MIMO Functions

First, describing the MIMO resynthesis algorithm for combinational blocks.

Using SAT-based Boolean matching to determine whether a Boolean function f can be implemented using a specific logic block.

Extending algorithms to allow multi-output logic functions and multi-output programmable logic blocks (PLBs).

Page 5: Abdullah Aldahami (11074595) Jan 29, 2010 1.  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques

5

2.2 Combinational Resynthesis Algorithm

• In MIMO resynthesis, there is a risk that a substitution will introduce a combinational cycle in the circuit.

• This problem does not occur if resynthesis is limited to MISO logic blocks.

• To avoid this scenario, substitutions for MIMO logic blocks are tested prior to Boolean matching.

Page 6: Abdullah Aldahami (11074595) Jan 29, 2010 1.  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques

6

Figure 1: A MIMO extracted from IWLS’05 benchmark circuit

(a) Before resynthesis

(b) After resynthesis

Page 7: Abdullah Aldahami (11074595) Jan 29, 2010 1.  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques

7

(a) Before resynthesis

Considering the MIMO, logic block consisting of nodes 1, 2 and 4 (shaded portion) in Figure 1(a).

MIMO resynthesis can introduce new reverse paths to the circuit; there is a path 3 ~ 5 outside the logic block before resynthesis.

Page 8: Abdullah Aldahami (11074595) Jan 29, 2010 1.  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques

8

(b) After resynthesis

Depending on the logic implemented, Boolean matching may determine that this logic block can be implemented by a two node logic block (6 and 7, in Figure 1(b)) saving one LUT.

After resynthesis, a new path 5 ~ 3 is created inside the logic block. Together, these paths form a combinational cycle.

Page 9: Abdullah Aldahami (11074595) Jan 29, 2010 1.  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques

9

(b) After resynthesis

For each input/output node pair ini and outj , connectivity tests are performed inside and outside the logic block. If there is a path outj ; ini outside the logic block and a path ini ; outj inside the new logic block, this resynthesis step is discarded and the Boolean matching is not performed.

Page 10: Abdullah Aldahami (11074595) Jan 29, 2010 1.  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques

10

Figure 2: (Case 1) Classical Retiming without Duplication

(a) Original logic block (b) Backward retimed logic block

(c) Combinationally resynthesized logic block

(d) Forward retimed resynthesized logic block.

Combinational Resynthesis Algorithm

Page 11: Abdullah Aldahami (11074595) Jan 29, 2010 1.  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques

Figure 3: (Case 2) Peripheral Retiming without Duplication.

(a) Original logic block

(b) Peripheral retimed logic block

(c) Combinationally resynthesized logic block (with no feasible forward retiming)

(d) Combinationally resynthesized logic block (with feasible forward retiming)

(e) Forward retimed resynthesized logic block. 11

Page 12: Abdullah Aldahami (11074595) Jan 29, 2010 1.  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques

Figure 3: (Case 2) Peripheral Retiming without Duplication.

(a) Original logic block

Classical retiming, which requires a non-negative number of registers during retiming, cannot be performed.

The registers between two LUTs cannot be moved either forward or backward by classical retiming.

12

Page 13: Abdullah Aldahami (11074595) Jan 29, 2010 1.  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques

Figure 3: (Case 2) Peripheral Retiming without Duplication.

(b) Peripheral retimed logic block

In this case, a peripheral retiming can be used to maximize the combinational portion of the logic block.

The peripheral retiming may result in a negative number of registers at the peripheral edges of a logic block (the one driving output out2)

13

Page 14: Abdullah Aldahami (11074595) Jan 29, 2010 1.  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques

Figure 3: (Case 2) Peripheral Retiming without Duplication.

(c) Combinationally resynthesized logic block (with no feasible forward retiming)

It is possible that combinational resynthesis will create an infeasible solution.

There is no way to recover the negative edge using a local forward retiming.

14

Page 15: Abdullah Aldahami (11074595) Jan 29, 2010 1.  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques

Figure 3: (Case 2) Peripheral Retiming without Duplication.

(d) Combinationally resynthesized logic block (with feasible forward retiming)

(e) Forward retimed resynthesized logic block.

This resynthesis step is discarded to guarantee the existence of a valid forward retiming.

15

Page 16: Abdullah Aldahami (11074595) Jan 29, 2010 1.  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques

16

Figure 4: (Case 3) Peripheral Retiming with Duplication.

(a) Original logic block (b) Logic block after duplication

(c) Peripheral retimed logic block (d) Combinationally resynthesized logic block

(e) Forward retimed resynthesized logic block (f) The final result after merging LUTs.

Page 17: Abdullah Aldahami (11074595) Jan 29, 2010 1.  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques

Figure 4: (Case 3) Peripheral Retiming with Duplication.

(a) Original logic block

The inputs are duplicated for each input with different numbers of registers in multiple paths to the output.

17

Page 18: Abdullah Aldahami (11074595) Jan 29, 2010 1.  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques

Figure 4: (Case 3) Peripheral Retiming with Duplication.

(b) Logic block after duplication

Here, there are two paths from x2 to output, where the numbers of registers are 1 and 0, respectively, so: x2 is duplicated to x12 and x02.

All LUTs driven by the duplicated inputs are also duplicated.

18

Page 19: Abdullah Aldahami (11074595) Jan 29, 2010 1.  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques

Figure 4: (Case 3) Peripheral Retiming with Duplication.

(c) Peripheral retimed logic block

Duplication enables peripheral retiming

19

Page 20: Abdullah Aldahami (11074595) Jan 29, 2010 1.  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques

Figure 4: (Case 3) Peripheral Retiming with Duplication.

(d) Combinationally resynthesized

logic block

The combinational portion can be resynthesized.

One LUT is saved.

20

Page 21: Abdullah Aldahami (11074595) Jan 29, 2010 1.  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques

Figure 4: (Case 3) Peripheral Retiming with Duplication.

(e) Forward retimed resynthesized logic block

(f) The final result after merging LUTs21

Page 22: Abdullah Aldahami (11074595) Jan 29, 2010 1.  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques

22

Figure 5: Programmable Logic Block (PLB) templates used in resynthesis.

The algorithms have been implemented using the Open Access Gear (OAGear) package.

The SAT-based Boolean matcher is implemented in C++ and uses theminiSAT2.0 package.

The results using the biggest 20 Microelectronics Center of North Carolina (MCNC) benchmarks, including 10 combinational and 10 sequential applications.

Page 23: Abdullah Aldahami (11074595) Jan 29, 2010 1.  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques

23

Compares the MISO and MIMO resynthesis for the 10 combinational applications. The MIMO resynthesis reduces area by 0.09% (up to 0.4%) with 15× runtime

overhead compared to the MISO resynthesis on average. MIMO reduces area by 0.4% compared to MISO for “misex3”. Compared to ABC, the resynthesis considering multi-outputs reduces area by up

to 1.41% for “spla”.

Page 24: Abdullah Aldahami (11074595) Jan 29, 2010 1.  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques

24

Compared to the ABC mapper, sequential resynthesis reduces area by 5.07% (up to 15.91% for “s298”) on average.

Compared to the combinational version, the sequential resynthesis reduces area by 0.7% (up to 10% for “s298”) with 2× runtime overhead.

Page 25: Abdullah Aldahami (11074595) Jan 29, 2010 1.  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques

25

New resynthesis algorithm was proposed that considers multi-output logic blocks and retiming.

The resynthesis considering multi-output Boolean functions reduces area by up to 0.4% compared to the one considering single-output Boolean functions

The sequential resynthesis reduces area by 10% compared to combinational resynthesis when both consider multi-output functions.

The proposed resynthesis reduces area by up to 16% compared to the best existing academic technology mapper, Berkeley ABC.

Page 26: Abdullah Aldahami (11074595) Jan 29, 2010 1.  This paper propose a new resynthesis algorithm for FPGA area reduction.  The existing resynthesis techniques

26