introduction to fpga - umu.sehpac.cs.umu.se/teaching/sem-hpsc-14/presentations/fpga... · 2015. 2....

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

Upload: others

Post on 25-Jan-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

  • Introduction to FPGA

    Jens Hahne, Hongrui Deng,Arne Döring, 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 Döring, Daniele Mele (RWTH)FPGA January 29, 2015 1 / 26

  • Outline

    1 FPGA ArchitectureOverviewLogic Block ArchitectureRouting ArchitectureInput / Output ArchitectureComparision with CPU

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

  • 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 Döring, Daniele Mele (RWTH)FPGA January 29, 2015 3 / 26

  • 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 Döring, Daniele Mele (RWTH)FPGA January 29, 2015 4 / 26

  • Outline

    1 FPGA ArchitectureOverviewLogic Block ArchitectureRouting ArchitectureInput / Output ArchitectureComparision with CPU

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

  • 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 Döring, Daniele Mele (RWTH)FPGA January 29, 2015 6 / 26

  • 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 Döring, Daniele Mele (RWTH)FPGA January 29, 2015 7 / 26

  • 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 Döring, Daniele Mele (RWTH)FPGA January 29, 2015 8 / 26

  • 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 Döring, Daniele Mele (RWTH)FPGA January 29, 2015 9 / 26

  • FPGA Architecture – Logic Block Architecture

    Categories of Logic Block Architecture

    1 fine-grain

    2 coarse-grain

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

  • 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 Döring, Daniele Mele (RWTH)FPGA January 29, 2015 11 / 26

  • 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 Döring, Daniele Mele (RWTH)FPGA January 29, 2015 12 / 26

  • 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 Döring, Daniele Mele (RWTH)FPGA January 29, 2015 13 / 26

  • 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 Döring, Daniele Mele (RWTH)FPGA January 29, 2015 14 / 26

  • Outline

    1 FPGA ArchitectureOverviewLogic Block ArchitectureRouting ArchitectureInput / Output ArchitectureComparision with CPU

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

  • 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 Döring, Daniele Mele (RWTH)FPGA January 29, 2015 16 / 26

  • FPGA Architecture – Hierarchical routing architecture

    More predictable inter-logic block delay

    Adjacent CLB incurs significant and distinct delay penalty

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

  • 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 Döring, Daniele Mele (RWTH)FPGA January 29, 2015 18 / 26

  • FPGA Architecture – Routing example

    Example

    a ∧ (b ∨ c)

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

  • FPGA – Addressed features FPGA description parameters

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

  • Outline

    1 FPGA ArchitectureOverviewLogic Block ArchitectureRouting ArchitectureInput / Output ArchitectureComparision with CPU

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

  • 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 Döring, Daniele Mele (RWTH)FPGA January 29, 2015 22 / 26

  • Outline

    1 FPGA ArchitectureOverviewLogic Block ArchitectureRouting ArchitectureInput / Output ArchitectureComparision with CPU

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

  • 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 Döring, Daniele Mele (RWTH)FPGA January 29, 2015 24 / 26

  • 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 Döring, Daniele Mele (RWTH)FPGA January 29, 2015 25 / 26

  • 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 Döring, Daniele Mele (RWTH)FPGA January 29, 2015 26 / 26

    FPGA ArchitectureOverviewLogic Block ArchitectureRouting ArchitectureInput / Output ArchitectureComparision with CPU