6
Heterogeneous FPGA architecture and CAD Peter Jamieson Supervisor: Jonathan Rose

Heterogeneous FPGA architecture and CAD Peter Jamieson Supervisor: Jonathan Rose

Embed Size (px)

Citation preview

Page 1: Heterogeneous FPGA architecture and CAD Peter Jamieson Supervisor: Jonathan Rose

Heterogeneous FPGA architecture and CAD

Peter Jamieson

Supervisor: Jonathan Rose

Page 2: Heterogeneous FPGA architecture and CAD Peter Jamieson Supervisor: Jonathan Rose

Motivation

• FPGAs are a popular technology for implementing digital circuits

• Consist of programmable logic and routing Fabric

Page 3: Heterogeneous FPGA architecture and CAD Peter Jamieson Supervisor: Jonathan Rose

Modern FPGA

• Add hard circuit structures to improve speed, area efficiency, and power consumption– Flip-flop– Memory– Multiplier

SOFTLOGIC

SOFTLOGIC

SOFTLOGIC

SOFTLOGIC

SOFTLOGIC

SOFTLOGIC

SOFTLOGIC

SOFTLOGIC

SOFTLOGIC

SOFTLOGIC

SOFTLOGIC

SOFTLOGIC

SOFTLOGIC

SOFTLOGIC

SOFTLOGIC

SOFTLOGIC

SOFTLOGIC

SOFTLOGIC

SOFTLOGIC

SOFTLOGIC

SOFTLOGIC

SOFTLOGIC

SOFTLOGIC

SOFTLOGIC

SOFTLOGIC

SOFTLOGIC

ME

MO

RY

BL

OC

K

ME

MO

RY

BL

OC

K

Page 4: Heterogeneous FPGA architecture and CAD Peter Jamieson Supervisor: Jonathan Rose

High-level Goals of our Research

• To improve the speed, area, and power consumption of an FPGA by architecting a better specific circuit

• To understand and develop algorithms needed to synthesize designs to these types of FPGAs

Page 5: Heterogeneous FPGA architecture and CAD Peter Jamieson Supervisor: Jonathan Rose

Past Research

Quartus - Logic optimization

Quartus - Technology map

Quartus - Pack blocks

Quartus - Place blocks

Quartus - Route blocks

FPGA programming file

HDL Description

Odin - Elaborate

Odin - Partial Map

module small (a, b, c, out);input a, b, c;output out;

assign out = (a * b) + (b & ~c));endmodule

Quartus - Logic optimization

Quartus - Technology map

Quartus - Pack blocks

Quartus - Place blocks

Quartus - Route blocks

FPGA programming file

HDL Description

Odin - Elaborate

Odin - Partial Map *

!&

+

a

b

c

outQuartus - Logic optimization

Quartus - Technology map

Quartus - Pack blocks

Quartus - Place blocks

Quartus - Route blocks

FPGA programming file

HDL Description

Odin - Elaborate

Odin - Partial Map

HE

TE

RO

GE

NE

OU

SS

TR

UC

TU

RE

(X)

!&

+

a

b

c

out

Quartus - Logic optimization

Quartus - Technology map

Quartus - Pack blocks

Quartus - Place blocks

Quartus - Route blocks

FPGA programming file

HDL Description

Odin - Elaborate

Odin - Partial Map

HE

TE

RO

GE

NE

OU

SS

TR

UC

TU

RE

(X)

4-LUT

4-LUT

a

b

cout

• Odin – Front-end Verilog Synthesis Tool for Heterogeneous FPGAs

• Used flow to implement Multiplexer to Multiplier mapping

a1

a2

a3

a0

out

es0 es1

AND

AND

AND

AND

AND

AND

AND

AND

ds0

ds1

ds2

ds3

OR

AND

AND

AND

AND

AND

AND

AND

AND

ds0

ds1

ds2

ds3

OR

Page 6: Heterogeneous FPGA architecture and CAD Peter Jamieson Supervisor: Jonathan Rose

Latest Research

• What if hard structures are not used?• Wasted silicon and routing resources (70-

90% of FPGA area from routing)!!!

• Looking into architecting new heterogeneous FPGA tiles to improve area efficiency