niyati shah jonathan rose department of ece university of toronto · 2012. 9. 13. · niyati shah...

36
Jonathan Rose Department of ECE University of Toronto [email protected] 1 Niyati Shah Department of ECE University of Toronto [email protected]

Upload: others

Post on 06-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

Jonathan Rose Department of ECE University of Toronto [email protected]

1

Niyati Shah Department of ECE University of Toronto [email protected]

Page 2: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

2

Logic Block

Logic Block

¡  Involves connecting output pins of logic blocks to input pins of other logic blocks

¡  Interconnection network is designed by an FPGA architect to achieve routability when connecting pins to pins

Interconnection Network

Page 3: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

3

¡  Making connections from output pins of logic blocks to specific “target” wire segments in the FPGA

¡  Or from specific wire segments to input pins

Logic Block Target Wire

Segment

Interconnection Network

Target Wire Segment

Logic Block

Interconnection Network

Page 4: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

4

Page 5: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

¡  Modern FPGAs are so large, and with processor speed no longer scaling, compile time is a huge issue

¡  One Solution: pre-compiled blocks that route by abutment

5

Page 6: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

6 6 6

f

Output

Pre-defined interface of wire segments

Pre-Placed and Routed Adder from Library

a b c d

Inputs

LB

Pre-Placed and Routed Divider

from Library

LB

Requires effective pin-to-wire routing!

𝑓=(𝑎+𝑏+𝑐)÷𝑑

Page 7: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

¡  Multiplexers: Expensive to implement in soft logic; plenty in the fabric. Why not use ‘em as logic?

7

Logic Block

S S Using an Input Connection Block Multiplexer as a

Logic Multiplexer

Logic Block

Requires effective pin-to-wire routing!

Page 8: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

¡  Effective Pin-to-Wire Routing conflicts with the basic purpose of FPGA routing architectures: §  Efficiently enable Pin-to-Pin Routing

¡  Pin-to-Wire routing missing one interconnect stage §  The final or initial connection block

¡  Many ways to enter and exit a logic block but limited ways to enter and exit a wire segment

¡  Clearly, Pin-to-Wire Routing will be more difficult 8

Page 9: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

¡  Difficult, but not impossible §  Most FPGAs are architected to ensure that circuits with

high routing demand will succeed ▪  Not all circuits have high demand

¡  Hypothesis: For some circuits the extra routability could make up for difficulty of Pin-to-Wire Routing

¡  Will test hypothesis experimentally and measure impact of Pin-to-Wire routing on 1.  Routed wirelength, 2.  Critical path delay 3.  Router effort (router heap push and pop count)

9

Page 10: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

10

Page 11: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

11

Packing using T-VPack

Placement and Routing using

VPR 5.0.2

Mapped MCNC Circuit

Classical Architecture

Page 12: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

12

Page 13: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

Method is proxy for routing-by-abutment motivation:

For each circuit: 1.  Run regular flow: pack, place & route 2.  Determine minimum tracks per channel, W 3.  Set tracks to W+30%

Call this ‘Base Routing’ and record: 1.  Routed wirelength, 2.  Critical path delay 3.  Router effort

13

Page 14: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

14

¡  Create 2 sides that we will then essentially route by abutment

Boundary Column

Left Module

Right Module

Page 15: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

15

Boundary Column

Left Module

Right Module Boundary

Column

Left Module

Right Module

Single-Sided Nets Double-Sided Nets

Page 16: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

16 Boundary Column

Left Module

Right Module Boundary

Column

Left Module

Right Module

Page 17: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

17 Boundary Column

Left Module

Right Module

Page 18: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

18 Boundary Column

Left Module

Right Module Boundary

Column

Left Module

Right Module

Left Module

Right Module Boundary

Column

Page 19: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

¡  Base routing – original circuit routed as usual ¡  Split Routing – route two sides independently

¡  What to expect? ¡  Shouldn’t the answer be (almost) the same? ¡  Calculated the % increase of geometric mean of

Split over Base for each metric

19

Page 20: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

¡  Decrease in wirelength can be attributed to: §  On double-sided nets, multiple crossings are forbidden ▪  total net length may end up shorter, but could increase

critical path §  borne out by increase in Critical Path Delay

¡  Results indicate that Pin-to-Wire Routing is quite inexpensive §  However, target segment was chosen from Base Routing! §  Using this “Known Good Solution” is probably misleading

20

Routed Wirelength

Critical Path Delay

Router Effort Unroutes Heap Push # Heap Pop #

-4% 5% 11% 99% 2

Page 21: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

21 Boundary Column

Left Module

Right Module Boundary

Column

Left Module

Right Module Boundary

Column

Left Module

Right Module

Perturbed Segment

Page 22: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

22

¡  More difficulty apparent in significant increases ¡  Router is working much harder ¡  However, if target wire segments are not overly

congested, pin-to-wire routing can succeed at some cost

Method (vs. Base)

Routed Wire length

Critical Path Delay

Router Effort Un- routes Heap

Push # Heap Pop #

Split -4% 5% 11% 99% 2 Split

Perturbed 6% 16% 66% 255% 2

Page 23: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

¡  Previous experiment has fixed amount of pin-to-wire routing

¡  Question: How much Pin-to-Wire Routing can be introduced in a circuit before significantly impacting its delay, area and router effort?

¡  Want to vary the amount of Pin-to-Wire Routing in a routing by varying the fraction, F, of nets being split

23

Page 24: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

¡  Base measurement done as before

¡  For each circuit vary F from 0 to 100% of nets §  Split each of those nets and do perturbed pin-to-wire

routing on it

24

Page 25: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

25

Net’s Bounding Box

Page 26: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

26

Net’s Bounding Box

Wire Segment at the center

¡  Select a wire segment from the net’s base routing, lying near the center of the net’s bounding box

Page 27: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

27

Wire Segment at the center

Perturbed Target Wire Segment

Page 28: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

28

Page 29: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

29

0  

1  

2  

3  

4  

5  

6  

7  

8  

9  

0%   20%   40%   60%   80%   100%   120%  

Num

ber  o

f  Unrou

tes  

Frac1on,  F,  of  Nets  Split  

Unroutes  

Page 30: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

30

Variation in %increase over base for Wirelength and Critical Path Delay as a function of amount of pin-to-wire routing

0  

5  

10  

15  

20  

25  

30  

35  

0%   20%   40%   60%   80%   100%   120%  

%  In

crease  vs.  Base  

Frac1on,  F,  of  Nets  Split  

Cri7cal  Path  Delay   Wirelength  

Page 31: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

31

Variation in %increase over base for Heap Push and Pop Count as a function of amount of pin-to-wire routing

0  

200  

400  

600  

800  

1000  

1200  

1400  

0%   20%   40%   60%   80%   100%   120%  

%  In

crease  vs.  Base  

Frac1on,  F,  of  Nets  Split  

Heap  Push  Count   Heap  Pop  Count  

Page 32: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

¡  Clearly, there is a price to be paid for increasing the amount of pin-to-wire routing

¡  The price is not always prohibitive

32

Page 33: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

¡  These results will vary depending on how hard the original routing problem is §  Original experiments routed at min W + 30% §  Will vary number of tracks/channel from 0% to +50%

¡  As track count increases, we expect: §  the performance gap between pin-to-wire and pin-to-

pin routing to reduce §  unroutes to be eliminated

33

Page 34: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

0  

2  

4  

6  

8  

10  

12  

14  

16  

18  

20  

0   10   20   30   40   50   60  

Num

ber o

f Unr

oute

s

% increase in Channel Width over Minimum

Unroutes  

34

Page 35: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

¡  Measured the difficulty faced by a router and a routing architecture in the face of pin-to-wire routing

¡  Significant increase in wirelength, critical path delay, and router effort and some loss of routability §  But tolerable under some circumstances

¡  Future Work: Measure impact of routing architecture (Fs, Fc, etc.) on Pin-to-Wire Routing

35

Page 36: Niyati Shah Jonathan Rose Department of ECE University of Toronto · 2012. 9. 13. · Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca . 2 Logic Block

36