Architecture of Datapathoriented Coarsegrain Logic and Routing for

  • Slides: 30
Download presentation
Architecture of Datapathoriented Coarse-grain Logic and Routing for FPGAs Andy Ye, Jonathan Rose, David

Architecture of Datapathoriented Coarse-grain Logic and Routing for FPGAs Andy Ye, Jonathan Rose, David Lewis Department of Electrical and Computer Engineering University of Toronto {yeandy, jayar, lewis}@eecg. utoronto. ca 1

Outline • Motivation – Datapath regularity • An datapath-oriented FPGA – Architecture – CAD

Outline • Motivation – Datapath regularity • An datapath-oriented FPGA – Architecture – CAD flow • Experimental results – Area efficiency • Conclusion 2

Modern FPGAs • Very large logic capacities – Over 10 million equivalent logic gates

Modern FPGAs • Very large logic capacities – Over 10 million equivalent logic gates • Increasingly used to implement large and complex applications – Central processing units – Graphics accelerators – Digital signal processors – Packet switching networks 3

Datapath Circuits • Large applications – Contain a greater amount of datapath circuits •

Datapath Circuits • Large applications – Contain a greater amount of datapath circuits • Datapath circuits – Consist of multiple identical logic structures called bit-slices • Regularity • Predictability 4

An Example Carry In A 0 B 0 A 1 B 1 A 2

An Example Carry In A 0 B 0 A 1 B 1 A 2 B 2 A 3 B 3 Full Adder C 0 C 1 C 2 C 3 Carry Out 5

An Example 6

An Example 6

Research Goal • Design a new FPGA architecture – Utilize datapath regularity • Reduce

Research Goal • Design a new FPGA architecture – Utilize datapath regularity • Reduce the implementation area of datapath circuits on FPGAs • Implement a full set of CAD tools for the new architecture – – Synthesis Packing Placement Routing 7

Key Architectural Features • A bus-oriented logic block architecture • A mixture of coarse-grain

Key Architectural Features • A bus-oriented logic block architecture • A mixture of coarse-grain tracks and finegrain routing tracks 8

Datapath FPGA Overview L Routing Channels L L S L L Logic Block S

Datapath FPGA Overview L Routing Channels L L S L L Logic Block S Switch Block Coarse grain routing tracks Fine grain routing tracks 9

Logic Block — Super-cluster BLE Local BLE Routing BLE Network BLE A Cluster BLE

Logic Block — Super-cluster BLE Local BLE Routing BLE Network BLE A Cluster BLE BLE Cluster 3 LUT BLE BLE Cluster 4 MUX BLE BLE Cluster 2 DFF BLE BLE Cluster 1 M A Basic Logic Element (BLE) 10

Datapath FPGA Overview L Routing Channels L S L L Super-cluster L S Switch

Datapath FPGA Overview L Routing Channels L S L L Super-cluster L S Switch Block Coarse grain routing tracks Fine grain routing tracks 11

Coarse-grain Routing Tracks Cluster M M Fine-grain Routing M Coarse-grain Routing Switch Block Super-cluster

Coarse-grain Routing Tracks Cluster M M Fine-grain Routing M Coarse-grain Routing Switch Block Super-cluster M M 12

CAD Flow • CAD flow for the datapath-oriented FPGA consists of – Synthesis –

CAD Flow • CAD flow for the datapath-oriented FPGA consists of – Synthesis – Packing – Placement – Routing • Conventional CAD flow – Minimize area and delay metrics – Destroy datapath regularity 13

Datapath-oriented CAD Flow • Preserve datapath regularity (bit-sliced structures) • Map the preserved regularity

Datapath-oriented CAD Flow • Preserve datapath regularity (bit-sliced structures) • Map the preserved regularity onto the datapath-oriented FPGA architecture • Maximize the utilization of coarse-grain routing tracks – Minimize the implementation area of datapath structures 14

Datapath Representation • Datapath circuits are represent by netlists of datapath components (VHDL or

Datapath Representation • Datapath circuits are represent by netlists of datapath components (VHDL or Verilog) • Datapath component library – – – Multiplexers Adders/subtracters Shifters Comparators Registers • Each component consists of identical bit-slices 15

Synthesis • Enhanced module compaction algorithm • Based on the Synopsys FPGA compiler •

Synthesis • Enhanced module compaction algorithm • Based on the Synopsys FPGA compiler • Augmented with several datapath-oriented features – Preserve datapath regularity by preserving bitslice boundaries – Achieve as good area results as the conventional synthesis tools 16

An Example Datapath Circuit a 0 sel b 0 mux c 0 b 1

An Example Datapath Circuit a 0 sel b 0 mux c 0 b 1 mux c 1 d 0 cin a 1 a 2 b 2 mux c 2 d 1 a 3 b 3 mux c 3 d 2 d 3 + + s 0 s 1 s 2 s 3 cout 17

Synthesis a 0 sel b 0 mux cin c 0 d 0 cin a

Synthesis a 0 sel b 0 mux cin c 0 d 0 cin a 0 b 0 c 0 sel + s 0 4 -LUT d 0 4 -LUT s 0 18

Synthesis cin a 0 b 0 c 0 sel a 1 b 1 c

Synthesis cin a 0 b 0 c 0 sel a 1 b 1 c 1 sel a 2 b 2 c 2 sel a 3 b 3 c 3 sel 4 -LUT d 0 d 1 d 2 d 3 4 -LUT cout 4 -LUT s 0 s 1 s 2 s 3 19

Packing • Based on the T-VPACK packing algorithm • Pack adjacent bit-slices into super-clusters

Packing • Based on the T-VPACK packing algorithm • Pack adjacent bit-slices into super-clusters • Utilize carry connections in super-clusters to minimize the delay of carry chains 20

An Example • Four clusters per super-cluster • Two BLEs per cluster • Six

An Example • Four clusters per super-cluster • Two BLEs per cluster • Six inputs per cluster BLE BLE 21

Packing Into Clusters a 0 b 0 c 0 sel cin a 0 b

Packing Into Clusters a 0 b 0 c 0 sel cin a 0 b 0 c 0 sel BLE 4 -LUT d 0 cin BLE s 0 22

Packing Into Super-clusters a 0 b 0 c 0 sel a 1 b 1

Packing Into Super-clusters a 0 b 0 c 0 sel a 1 b 1 c 1 sel BLE d 0 cin BLE d 1 BLE s 0 a 2 b 2 c 2 sel BLE d 2 BLE s 1 a 3 b 3 c 3 sel BLE d 3 BLE s 2 BLE cout s 3 23

Placement • Based on the VPR placer • Use simulated annealing algorithm • For

Placement • Based on the VPR placer • Use simulated annealing algorithm • For super-clusters containing datapath circuits – Move super-clusters only • For super-clusters containing non-datapath circuits - Move individual clusters 24

Routing • Based on the VPR router • Use the path finder algorithm •

Routing • Based on the VPR router • Use the path finder algorithm • As much as possible – Route buses through coarse-grain routing tracks – Route individual signals through fine-grain routing tracks • When necessary – Use coarse-grain routing tracks for individual signals – Use fine-grain routing tracks for buses 25

Area Efficiency • Benchmarks – 15 datapath circuits from the Pico-java processor • Architectural

Area Efficiency • Benchmarks – 15 datapath circuits from the Pico-java processor • Architectural assumptions – – – Four BLEs per cluster Four clusters per super-cluster Four coarse-grain tracks sharing configuration memory Logic track length of two Disjoint switch block topology • Architectural variables – Number of coarse-grain tracks 26

Area Efficiency circuit area in minimum transistor area (x 106) normalized circuit area 1.

Area Efficiency circuit area in minimum transistor area (x 106) normalized circuit area 1. 60 100. 0% 1. 50 95. 0% 1. 40 90. 0% 0% 0%- 10%- 20%- 30%- 40%- 50%- 60%- % of coarse 10% 20% 30% 40% 50% 60% 70% grain tracks 27

Logic Track Length Vs. Area • Architectural assumptions – Four clusters per super-cluster –

Logic Track Length Vs. Area • Architectural assumptions – Four clusters per super-cluster – Four coarse-grain tracks share configuration memory – 50% of tracks are coarse-grain tracks – Disjoint switch block topology • Architectural variables – Number of BLEs per cluster – Logic track length 28

Logic Track Length Vs. Area circuit area in minimum transistor area (x 106) N=2

Logic Track Length Vs. Area circuit area in minimum transistor area (x 106) N=2 2. 20 N=4 N=8 2. 00 N = 10 1. 80 1. 60 1 2 4 8 track length 16 29

Conclusion • Proposed a datapath-oriented FPGA architecture and its CAD tools • Best area

Conclusion • Proposed a datapath-oriented FPGA architecture and its CAD tools • Best area is achieved when – 40% - 50% of tracks are coarse-grain routing tracks – Four BLEs per cluster – Logic track length of two • Best area is 9. 6% smaller than conventional FPGAs 30