Introduction to FPGA - RWTH Aachen...

26
Introduction to FPGA Jens Hahne, Hongrui Deng, Arne D¨ oring, Daniele Mele High-Performance and Automatic Computing group in RWTH-Aachen [email protected] [email protected] [email protected] [email protected] January 29, 2015 Jens Hahne, Hongrui Deng, Arne D¨oring, Daniele Mele FPGA January 29, 2015 1 / 26

Transcript of Introduction to FPGA - RWTH Aachen...

Page 1: Introduction to FPGA - RWTH Aachen Universityhpac.rwth-aachen.de/teaching/sem-hpsc-14/presentations/FPGA... · Introduction to FPGA Jens Hahne, Hongrui Deng, Arne D oring, Daniele

Introduction to FPGA

Jens Hahne, Hongrui Deng,Arne Doring, Daniele Mele

High-Performance and Automatic Computing groupin RWTH-Aachen

[email protected]@[email protected]@rwth-aachen.de

January 29, 2015

Jens Hahne, Hongrui Deng, Arne Doring, Daniele Mele (RWTH)FPGA January 29, 2015 1 / 26

Page 2: Introduction to FPGA - RWTH Aachen Universityhpac.rwth-aachen.de/teaching/sem-hpsc-14/presentations/FPGA... · Introduction to FPGA Jens Hahne, Hongrui Deng, Arne D oring, Daniele

Outline

1 FPGA ArchitectureOverviewLogic Block ArchitectureRouting ArchitectureInput / Output ArchitectureComparision with CPU

Jens Hahne, Hongrui Deng, Arne Doring, Daniele Mele (RWTH)FPGA January 29, 2015 2 / 26

Page 3: Introduction to FPGA - RWTH Aachen Universityhpac.rwth-aachen.de/teaching/sem-hpsc-14/presentations/FPGA... · Introduction to FPGA Jens Hahne, Hongrui Deng, Arne D oring, Daniele

FPGA Architecture – Overview

1 Pre-fabricated silicon devices electrically programmable

2 Ad/dis-advantages to Application Specific Integrated Circuit (ASIC)technologies:

3 From small enterprises to large corporations FPGAs is the onlysolution for scalability and performance of Moore’s law

Jens Hahne, Hongrui Deng, Arne Doring, Daniele Mele (RWTH)FPGA January 29, 2015 3 / 26

Page 4: Introduction to FPGA - RWTH Aachen Universityhpac.rwth-aachen.de/teaching/sem-hpsc-14/presentations/FPGA... · Introduction to FPGA Jens Hahne, Hongrui Deng, Arne D oring, Daniele

FPGA –Components overview

1 Array of programmable logic blocks, including general logic, memoryand multiplier blocks

2 Programmable routing fabric for interconnection

3 Programmable input/output blocks (1/0)

Jens Hahne, Hongrui Deng, Arne Doring, Daniele Mele (RWTH)FPGA January 29, 2015 4 / 26

Page 5: Introduction to FPGA - RWTH Aachen Universityhpac.rwth-aachen.de/teaching/sem-hpsc-14/presentations/FPGA... · Introduction to FPGA Jens Hahne, Hongrui Deng, Arne D oring, Daniele

Outline

1 FPGA ArchitectureOverviewLogic Block ArchitectureRouting ArchitectureInput / Output ArchitectureComparision with CPU

Jens Hahne, Hongrui Deng, Arne Doring, Daniele Mele (RWTH)FPGA January 29, 2015 5 / 26

Page 6: Introduction to FPGA - RWTH Aachen Universityhpac.rwth-aachen.de/teaching/sem-hpsc-14/presentations/FPGA... · Introduction to FPGA Jens Hahne, Hongrui Deng, Arne D oring, Daniele

FPGA Architecture – Logic Block Architecture

Logic Block Architecture

1 What is Logic Block Architecture?

2 Categories of Logic Block Architecture

3 Some Examples

Jens Hahne, Hongrui Deng, Arne Doring, Daniele Mele (RWTH)FPGA January 29, 2015 6 / 26

Page 7: Introduction to FPGA - RWTH Aachen Universityhpac.rwth-aachen.de/teaching/sem-hpsc-14/presentations/FPGA... · Introduction to FPGA Jens Hahne, Hongrui Deng, Arne D oring, Daniele

FPGA Architecture – Logic Block Architecture

Logic Block Architecture

1 What is Logic Block Architecture?

2 Categories of Logic Block Architecture

3 Some Examples

Jens Hahne, Hongrui Deng, Arne Doring, Daniele Mele (RWTH)FPGA January 29, 2015 7 / 26

Page 8: Introduction to FPGA - RWTH Aachen Universityhpac.rwth-aachen.de/teaching/sem-hpsc-14/presentations/FPGA... · Introduction to FPGA Jens Hahne, Hongrui Deng, Arne D oring, Daniele

FPGA Architecture – Logic Block Architecture

What is Logic Block Architecture?

1 A logic Block is the basic functional unit of the FPGA

2 Capable of implementing many different combinational and sequentiallogic functions

3 Consist of some combination of these basic functional units:

Transistor pairsBasic small gates (such as two-input NAND’s or exclusive-OR’s)MultiplexersLook-up tables (LUT’s)Wide-fanin AND-OR structures

Jens Hahne, Hongrui Deng, Arne Doring, Daniele Mele (RWTH)FPGA January 29, 2015 8 / 26

Page 9: Introduction to FPGA - RWTH Aachen Universityhpac.rwth-aachen.de/teaching/sem-hpsc-14/presentations/FPGA... · Introduction to FPGA Jens Hahne, Hongrui Deng, Arne D oring, Daniele

FPGA Architecture – Logic Block Architecture

Logic Block Architecture

1 What is Logic Block Architecture?

2 Categories of Logic Block Architecture

3 Some Examples

Jens Hahne, Hongrui Deng, Arne Doring, Daniele Mele (RWTH)FPGA January 29, 2015 9 / 26

Page 10: Introduction to FPGA - RWTH Aachen Universityhpac.rwth-aachen.de/teaching/sem-hpsc-14/presentations/FPGA... · Introduction to FPGA Jens Hahne, Hongrui Deng, Arne D oring, Daniele

FPGA Architecture – Logic Block Architecture

Categories of Logic Block Architecture

1 fine-grain

2 coarse-grain

Jens Hahne, Hongrui Deng, Arne Doring, Daniele Mele (RWTH)FPGA January 29, 2015 10 / 26

Page 11: Introduction to FPGA - RWTH Aachen Universityhpac.rwth-aachen.de/teaching/sem-hpsc-14/presentations/FPGA... · Introduction to FPGA Jens Hahne, Hongrui Deng, Arne D oring, Daniele

FPGA Architecture – Logic Block Architecture

Categories of Logic Block Architecture1 fine-grain

consists of just a couple transistors, a couple logic gates liketwo-input NAND gate.

Such as, The Plessey FPGA uses two-input NAND gate as its basicblock.

Figure: The Plessey logic block.[1]

2 coarse-grainJens Hahne, Hongrui Deng, Arne Doring, Daniele Mele (RWTH)FPGA January 29, 2015 11 / 26

Page 12: Introduction to FPGA - RWTH Aachen Universityhpac.rwth-aachen.de/teaching/sem-hpsc-14/presentations/FPGA... · Introduction to FPGA Jens Hahne, Hongrui Deng, Arne D oring, Daniele

FPGA Architecture – Logic Block Architecture

Categories of Logic Block Architecture1 fine-grain2 coarse-grain

consists of fairly large logic blocks, often containing multiplexer,look-up tables(LUT), or flip-flops.

Such as, The Xilinx Logic Block uses an SRAM(Static Random-accessMemory) functioning as a loop-up table as its basic block.

Figure: Lookup table-based logic.[1]

Jens Hahne, Hongrui Deng, Arne Doring, Daniele Mele (RWTH)FPGA January 29, 2015 12 / 26

Page 13: Introduction to FPGA - RWTH Aachen Universityhpac.rwth-aachen.de/teaching/sem-hpsc-14/presentations/FPGA... · Introduction to FPGA Jens Hahne, Hongrui Deng, Arne D oring, Daniele

FPGA Architecture – Logic Block Architecture

Logic Block Architecture

1 What is Logic Block Architecture?

2 Categories of Logic Block Architecture

3 Some Examples

Jens Hahne, Hongrui Deng, Arne Doring, Daniele Mele (RWTH)FPGA January 29, 2015 13 / 26

Page 14: Introduction to FPGA - RWTH Aachen Universityhpac.rwth-aachen.de/teaching/sem-hpsc-14/presentations/FPGA... · Introduction to FPGA Jens Hahne, Hongrui Deng, Arne D oring, Daniele

Example

Taking a logic function f = ab + c as an example,

using two-input NAND gate:

Figure: Two-input NAND gateimplementation.[1]

using LUT:

Figure: Lookup table-basedimplementation.[1]

Jens Hahne, Hongrui Deng, Arne Doring, Daniele Mele (RWTH)FPGA January 29, 2015 14 / 26

Page 15: Introduction to FPGA - RWTH Aachen Universityhpac.rwth-aachen.de/teaching/sem-hpsc-14/presentations/FPGA... · Introduction to FPGA Jens Hahne, Hongrui Deng, Arne D oring, Daniele

Outline

1 FPGA ArchitectureOverviewLogic Block ArchitectureRouting ArchitectureInput / Output ArchitectureComparision with CPU

Jens Hahne, Hongrui Deng, Arne Doring, Daniele Mele (RWTH)FPGA January 29, 2015 15 / 26

Page 16: Introduction to FPGA - RWTH Aachen Universityhpac.rwth-aachen.de/teaching/sem-hpsc-14/presentations/FPGA... · Introduction to FPGA Jens Hahne, Hongrui Deng, Arne D oring, Daniele

FPGA Architecture – Routing Architecture

Provides communications among Configurable Logic Blocks(CLB)and I/O units

Global routing

Macroscopic allocation of wires

Interconnection of CLBs

Two approaches: hierarchical and island-style

Jens Hahne, Hongrui Deng, Arne Doring, Daniele Mele (RWTH)FPGA January 29, 2015 16 / 26

Page 17: Introduction to FPGA - RWTH Aachen Universityhpac.rwth-aachen.de/teaching/sem-hpsc-14/presentations/FPGA... · Introduction to FPGA Jens Hahne, Hongrui Deng, Arne D oring, Daniele

FPGA Architecture – Hierarchical routing architecture

More predictable inter-logic block delay

Adjacent CLB incurs significant and distinct delay penalty

Jens Hahne, Hongrui Deng, Arne Doring, Daniele Mele (RWTH)FPGA January 29, 2015 17 / 26

Page 18: Introduction to FPGA - RWTH Aachen Universityhpac.rwth-aachen.de/teaching/sem-hpsc-14/presentations/FPGA... · Introduction to FPGA Jens Hahne, Hongrui Deng, Arne D oring, Daniele

FPGA Architecture – Island-style routing architecture

Routing channels on 4 sides of logic blocks

# of wires in a channel pre-setted

Jens Hahne, Hongrui Deng, Arne Doring, Daniele Mele (RWTH)FPGA January 29, 2015 18 / 26

Page 19: Introduction to FPGA - RWTH Aachen Universityhpac.rwth-aachen.de/teaching/sem-hpsc-14/presentations/FPGA... · Introduction to FPGA Jens Hahne, Hongrui Deng, Arne D oring, Daniele

FPGA Architecture – Routing example

Example

a ∧ (b ∨ c)

Jens Hahne, Hongrui Deng, Arne Doring, Daniele Mele (RWTH)FPGA January 29, 2015 19 / 26

Page 20: Introduction to FPGA - RWTH Aachen Universityhpac.rwth-aachen.de/teaching/sem-hpsc-14/presentations/FPGA... · Introduction to FPGA Jens Hahne, Hongrui Deng, Arne D oring, Daniele

FPGA – Addressed features FPGA description parameters

Jens Hahne, Hongrui Deng, Arne Doring, Daniele Mele (RWTH)FPGA January 29, 2015 20 / 26

Page 21: Introduction to FPGA - RWTH Aachen Universityhpac.rwth-aachen.de/teaching/sem-hpsc-14/presentations/FPGA... · Introduction to FPGA Jens Hahne, Hongrui Deng, Arne D oring, Daniele

Outline

1 FPGA ArchitectureOverviewLogic Block ArchitectureRouting ArchitectureInput / Output ArchitectureComparision with CPU

Jens Hahne, Hongrui Deng, Arne Doring, Daniele Mele (RWTH)FPGA January 29, 2015 21 / 26

Page 22: Introduction to FPGA - RWTH Aachen Universityhpac.rwth-aachen.de/teaching/sem-hpsc-14/presentations/FPGA... · Introduction to FPGA Jens Hahne, Hongrui Deng, Arne D oring, Daniele

FPGA Architecture – Input/Output architecture

I/O cells includes I/O pad and surrounding supporting logic andcircuitry

Occupies large area in an FPGA (≈ 25%÷ 45%)

Different standard influences flexibility and silicon-area

Jens Hahne, Hongrui Deng, Arne Doring, Daniele Mele (RWTH)FPGA January 29, 2015 22 / 26

Page 23: Introduction to FPGA - RWTH Aachen Universityhpac.rwth-aachen.de/teaching/sem-hpsc-14/presentations/FPGA... · Introduction to FPGA Jens Hahne, Hongrui Deng, Arne D oring, Daniele

Outline

1 FPGA ArchitectureOverviewLogic Block ArchitectureRouting ArchitectureInput / Output ArchitectureComparision with CPU

Jens Hahne, Hongrui Deng, Arne Doring, Daniele Mele (RWTH)FPGA January 29, 2015 23 / 26

Page 24: Introduction to FPGA - RWTH Aachen Universityhpac.rwth-aachen.de/teaching/sem-hpsc-14/presentations/FPGA... · Introduction to FPGA Jens Hahne, Hongrui Deng, Arne D oring, Daniele

Comparison to CPU

FPGA CPU

-No fixed hardware structure -Fixed hardware structure(fixed: logic cells (peripheral structures, connections,not fixed: function, interconnection) operation predefine)

-Control over the hardware -Control over the software-Hardware Description Language -C, Java, ....

-Good for: -Good for:Intensive data processing Routine control operations

Jens Hahne, Hongrui Deng, Arne Doring, Daniele Mele (RWTH)FPGA January 29, 2015 24 / 26

Page 25: Introduction to FPGA - RWTH Aachen Universityhpac.rwth-aachen.de/teaching/sem-hpsc-14/presentations/FPGA... · Introduction to FPGA Jens Hahne, Hongrui Deng, Arne D oring, Daniele

References

Johathan Rose, Abbas El Gamal and Alberto Sangiovanni (1993)[1] Architecture of Field-Programmable Gate Arrays

http://fpgacenter.com/fpga/fpga or cpu.php

https://embeddedmicro.com/tutorials/mojo/what-is-an-fpga

Jens Hahne, Hongrui Deng, Arne Doring, Daniele Mele (RWTH)FPGA January 29, 2015 25 / 26

Page 26: Introduction to FPGA - RWTH Aachen Universityhpac.rwth-aachen.de/teaching/sem-hpsc-14/presentations/FPGA... · Introduction to FPGA Jens Hahne, Hongrui Deng, Arne D oring, Daniele

Credits

Overview (FPGA 1)

Logic Block Architecture (Hongrui Deng)

Routing Architecture (FPGA 1)

Input / Output Arch. and Capabilities (FPGA 1)

Comparison with CPU (Jens Hahne)

Jens Hahne, Hongrui Deng, Arne Doring, Daniele Mele (RWTH)FPGA January 29, 2015 26 / 26