0% found this document useful (0 votes)
36 views25 pages

Fpga1 - What Is

FPGAs can be configured to act like any circuit and accelerate computation. They come in various forms including PCIe-attached, in-storage, CPU integrated, and in-network. Compared to ASICs, FPGAs can be reprogrammed in the field, allow for parallel execution, and offer higher performance in terms of power and ports. The basic FPGA architecture includes configurable logic blocks, I/O blocks, programmable interconnects, DSP blocks, block RAM, and sometimes hard processor cores. FPGAs are programmed using a compiler toolchain and bitfiles, and can be used for acceleration by programming the FPGA, transferring data, performing computations, and transferring results back.

Uploaded by

Thy Nguyễn
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views25 pages

Fpga1 - What Is

FPGAs can be configured to act like any circuit and accelerate computation. They come in various forms including PCIe-attached, in-storage, CPU integrated, and in-network. Compared to ASICs, FPGAs can be reprogrammed in the field, allow for parallel execution, and offer higher performance in terms of power and ports. The basic FPGA architecture includes configurable logic blocks, I/O blocks, programmable interconnects, DSP blocks, block RAM, and sometimes hard processor cores. FPGAs are programmed using a compiler toolchain and bitfiles, and can be used for acceleration by programming the FPGA, transferring data, performing computations, and transferring results back.

Uploaded by

Thy Nguyễn
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 25

What Are FPGAs

and Why Should You Care


What Are FPGAs
Field-Programmable Gate Array
Can be configured to act like any circuit – More later!
Can do many things, but we focus on computation acceleration
FPGAs Come In Many Forms

PCIe-Attached In-Storage

CPU Integrated In-Network


How Is It Different From ASICs
+ FPGAs can be field-programmed
o Parallel execution
o Field-programmed
o Higher performance in terms of power consumption and
number of ports
o Function can be changed completely whenever
o FPGA fabric emulates custom circuits
Basic FPGA Architecture
“Configurable logic block (CLB)” Programmable
~
I/O block Latch
6-Input
Look-Up
Table
FF

Ex) 2-LUT for “AND”


Input 1 Input 2 Output Sequential circuit
0 0 0 construction
0 1 0
1 0 0
1 1 1
Programmable interconnect
Basic FPGA Architecture – DSP Blocks
“DSP block”
CLBs act as gates – Many needed to
implement high-level logic
Arithmetic operation provided as
efficient ALU blocks
o “Digital Signal Processing (DSP) blocks”
o Each block provides an adder + multiplier

× +/-
Basic FPGA Architecture – Block RAM
“Block RAM”
CLB can act as flip-flops
o (~1 bit/block) – tiny!
Some on-chip SRAM provided as blocks
o ~18/36 Kbit/block, MBs per chip
o Massively parallel access to data → multi-
TB/s bandwidth
Basic FPGA Architecture – Hard Cores
Some functions are provided as
Memory efficient, non-configurable “hard cores”
o Multi-core ARM cores (“Zynq” series)
o Multi-Gigabit Transceivers
o PCIe/Ethernet PHY
o Memory controllers
Ethernet
o …

ARM PCIe
DE10 – STANDARD
FPGA Compilation Toolchain
“Which transceiver instance should
top_transceiver_01 map to?”
High-Level High-level language vendor tool And so, so much more…
HDL Code
Constraint
Functional File Cycle-level
Simulation Simulation
Language
Compiler FPGA Vendor toolchain (Few open source)

Verilog/ Map/
Synthesize Netlist Place/ Bitfile
VHDL
Route
Programming/Using an FPGA Accelerator
Bitfile is programmed to FPGA over “JTAG” interface
o Typically used over USB cable
o Supports FPGA programming, limited debugging access, etc
PCIe-attached FPGA accelerator card is typically used similarly to GPUs
o Program FPGA, execute software
o Software copies data to FPGA board, notify FPGA
-> FPGA logic performs computations
-> Software copies data back from FPGA
FPGA flexibility gives immense freedom of usage patterns
o Streaming, coherent memory, …
FPGA Field Programmable Gate Array

32
CycloneII Architecture
FPGA www.altera.com

33
CycloneII Architecture
FPGA www.altera.com

34
Cyclone II Resource
FPGA www.altera.com

35
FPGA vs. ASIC

36

You might also like