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

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

Jan 16, 2016

Download

Documents

Merryl Miller
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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