an automatic tool flow for the combined implementation of multi-mode circuits brahim al farisi,...

32
An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Upload: merryl-miller

Post on 16-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

An automatic tool flow for the combinedimplementation of multi-mode circuits

Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Page 2: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Overview

2

• Multi-mode circuit• FPGA• Dynamic reconfiguration:• Modular dynamic reconfiguration (MDR)• Dynamic circuit specialization (DCS)

• Novel tool flow• Experiments and results• Conclusions • Future work

Page 3: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Multi-mode circuit

3

• Several circuits, called modes, that are used mutually exclusive in time

• Example: software defined radio• Goal: Area efficient implementation

through hardware resource sharing

Page 4: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

FPGA

4

FFLUT

0

1

1

0

1

0

0

1

01 0

0 0

10

1 0

0 1

00

0

0

0

1

0

1

1

1

0

Page 5: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Conventional FPGA tool flow

5

• Input: textual description of functionality

SYNTHESIS

MAP

PLACE

HDL design

Configuration

ROUTE

LUT circuit

Page 6: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

entity multiplexer isport( sel : in std_logic_vector(1 downto 0); in : in std_logic_vector(3 downto 0); out : out std_logic);end multiplexer;

architecture behavior of multiplexer isbegin out <= in(conv_integer(sel));end behavior;

Textual description: HDL design

6

in0

in1

in2

in3

sel0

sel1

out

Page 7: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Conventional FPGA tool flow

7

SYNTHESIS

MAP

• Input: Textual description of functionality• Internal representation: LUT circuit• Output: FPGA configuration

PLACE

HDL design

Configuration

ROUTE

LUT circuit

100101011100001111

Page 8: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Dynamic reconfiguration of FPGAs

8

• Advantages:• Smaller area• Lower power usage• Increased speed

M1 M2 M3

• Goal: area reduction with reduced reconfiguration time

M1M2M3

• Disadvantage:• Reconfiguration

time

Page 9: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Dynamic reconfiguration of FPGAs

9

M1 M2 M3

• 2 tool flows:• Modular Dynamic Reconfiguration (MDR)• Dynamic Circuit Specialization (DCS)

M1M2M3

Page 10: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Modular Dynamic Reconfiguration (MDR)

10

Mode 1

SYNTHESIS

MAP

PLACE

Configuration 1

ROUTE

Mode 2

SYNTHESIS

MAP

PLACE

Configuration 2

ROUTE

Page 11: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

MDR

• Different modes are implemented independently• Complete area is rewritten Results in long reconfiguration times

11

Page 12: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Dynamic Circuit specialization

• Design with parameters: input signals that only change once a while

• Implement dependency on parameters using dynamic reconfiguration

12

Page 13: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Dynamic circuit specialization

13

• Input: annotated textual description of functionality

SYNTHESIS

Param. HDL

TMAP

TPLACE

Param. Conf.

TROUTE

Tunable circuit

Page 14: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

entity multiplexer isport( --BEGIN PARAM sel : in std_logic_vector(1 downto 0); --END PARAM in : in std_logic_vector(3 downto 0); out : out std_logic);end multiplexer;

architecture behavior of multiplexer isbegin out <= in(conv_integer(sel));end behavior;

Parameterised HDL design

14

in0

in1

in2

in3

sel0

sel1

out

Page 15: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Dynamic circuit specialization

15

SYNTHESIS

• Input: Annotated textual description of functionality

• Internal representation: Tunable CircuitParam. HDL

TMAP

TPLACE

Param. Conf.

TROUTE

Tunable circuit

Page 16: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Tunable circuit

16

Tunable look-up tableTunable connection

Page 17: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Dynamic circuit specialization

17

• Input: Annotated textual description of functionality

• Internal representation: Tunable Circuit• Output: Parameterised configuration

Param. HDL

SYNTHESIS

TMAP

TPLACE

Param. Conf.

TROUTE

Tunable Circuit

1A01010111B00C1111

A = sel0 AND sel1

B = sel1 C = sel0 OR sel1

Page 18: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Dynamic Circuit Specialization

• Reduced reconfiguration time• Takes as input 1 parameterised design• How to implement several modes with DCS?

18

Page 19: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Goal of our research

• Develop tool flow for dynamic reconfiguration of multi-mode circuits

• Reduce reconfiguration time • Combined implementation of different modes: Utilize similarities Increase correlation between configurations of the different modes

19

Page 20: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Novel tool flow

20

Mode 1

SYNTHESIS

MAP

Mode 2

SYNTHESIS

MAP

Param. Conf.

TROUTE

Merge

PLACE

Configuration 1

ROUTE

PLACE

Configuration 2

ROUTE

Page 21: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Generating a Tunable multi-mode circuit

21

Page 22: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Combined placement: virtual 3D FPGA

22

• Simultanous placement of different LUT circuits on FPGA• Extension of a simulated annaeling placer

Page 23: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Different cost functions

23

• CFRT: estimation of reconfiguration time (= number of switches that need to

be rewritten in the routing)

• CFWL: estimation of total wire length Tunable circuit

Page 24: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Reconfiguration time optimization

24

• Uses “edge matching” - previously proposed *

• Try to overlap connections of different modes

• Connections that overlap don’t require parameterised bits in the routing

*M. Rullmann and R. Merker, “Maximum edge matching for reconfigurablecomputing,” Parallel and Distributed Processing Symposium,International, vol. 0, p. 179, 2006.

Page 25: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Wire-length optimization

25

• Cost function that estimates total wire length needed by TRoute to implement Tunable circuit

Page 26: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Experiments

26

• Implemented novel tool flow in our JAVA version of VPR

• Regular expression matching hardware, constant coefficient FIR filters, and general MCNC benchmarks

• Circuits of 200-400 LBs• Only 2 modes considered• Comparison of MDR and DCS (this work)• Metrics:• Reconfiguration time• Wire length (of each mode separately)

Page 27: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Wire length

27

Page 28: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Results

28

Page 29: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Results

29

Page 30: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Conclusions

27

• Using combined placement and DCS:• Around 5X speedup of reconfig. time• Limited increase in wire length

• Better to optimize for wire length during combined placement: this also reduces reconfiguration time!

Page 31: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Future work

28

• Combining logic circuits instead of LUT circuits

• Take configuration frames into consideration

Page 32: An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt

Questions?

An automatic tool flow for the combinedimplementation of multi-mode circuits