89
2384-10 ICTP Latin-American Advanced Course on FPGADesign for Scientific Instrumentation SISTERNA Cristian Alejandro 19 November - 7 December, 2012 Universidad Nacional de San Juan Instituto de Investigaciones Antisismicas Av. San Martin 1290 - Oeste 5400 San Juan ARGENTINA FPGA Introduction

FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

  • Upload
    lyminh

  • View
    234

  • Download
    0

Embed Size (px)

Citation preview

Page 1: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

2384-10

ICTP Latin-American Advanced Course on FPGADesign for Scientific Instrumentation

SISTERNA Cristian Alejandro

19 November - 7 December, 2012

Universidad Nacional de San Juan Instituto de Investigaciones Antisismicas

Av. San Martin 1290 - Oeste 5400 San Juan ARGENTINA

FPGA Introduction

Page 2: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

FPGA INTRODUCTION

ICTP 2012 - CUBA

Cristian AlejandroSisterna, MScUniversidad Nacional San Juan Argentina

Page 3: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

Agenda2

Introduction FPGA ArchitectureConfiguration and routing cellsBasic slice resources available in Xilinx FPGAsBasic I/O resources available in Xilinx FPGAsClocking resources

Memory blocks and distributed memoryMultipliers and DSP blocksRouting

Spartan 6, Virtex 6, Virtex 7FPGA Configuration

Basic Architecture 2ICTP 2012Cristian Sisterna

Page 4: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

Introduction

ICTP 2012Cristian Sisterna

Page 5: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

PLDs Evolution

ICTP 2012

4

Cristian Sisterna

Page 6: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

FPGA?

ICTP 2012

5

Field

Programmable

Gate

Array

Cristian Sisterna

Page 7: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

FPGA: Competitive Market

ICTP 2012

6

Altera Inc. Actel Corp.

Lucent Technology Philips Semiconductors

Intel Corp. Motorola Semiconductors

QuickLogic Cypress

Lattice Semiconductors AMD

Vantis Xilinx

FPGA20002012

Cristian Sisterna

Page 8: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

FPGA Architecture

ICTP 2012Cristian Sisterna

Page 9: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

FPGA? – What is it?

ICTP 2012

8

Programmable Logic, Interconnections and RoutingProgrammable in System (ISP)Dedicated Blocks:

MemoryClock ControlDSP blocksEmbedded processor(s)Gigabits serial transmission/receptionEthernet controllerMemory controllers

Cristian Sisterna

Page 10: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

FPGA? – What is it? (cont.)

ICTP 2012

9

Up to1200 I/O More than 40 I/O standards. Single ended, DifferentialsMore than 40.000 Flips-Flops and Look-Up-Tables (LUTs)Soft-Coded Processors, 8051, ARM3PLLs and DLLs available (2-12) per device. Up to 550MHz.Programmable output impedanceDedicated hard coded blocks:

ProcessorsPCI E interfaceGigabit transceivers

Dedicated DSP blocksMemory blocks

Cristian Sisterna

Page 11: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

FPGA Architecture

ICTP 2012Cristian Sisterna

10

columns

filas

Rows

RAM MemoryBlock

CLBs

DSPBlock

I/O Block

Page 12: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

FPGA Architecture (cont.)

ICTP 2012Cristian Sisterna

11

I/O Block

DSPBlock

RAM MemoryRAM

CLBs

ComInterfaces

Page 13: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

Spartan-6 FPGA Architecture

Block RAM

DSP48

CMT

BUFGBUFIO

I/O

Memory Controller

MGT

PCIe Endpoint

CLB

12

ICTP 2012Cristian Sisterna

Page 14: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

ICTP 2012

13

Spartan 3 InternalView

Cristian Sisterna

Page 15: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

General Altera FPGA Architecture

ICTP 2012

14

Cristian Sisterna

Page 16: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

FPGA Silicon View

ICTP 2012Cristian Sisterna

15

Page 17: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

Resources Available in an FPGA

ICTP 2012Cristian Sisterna

16

ASMBL™ Column-Based

Architecture

500 MHz SmartRAM™BRAM/FIFO

0.6 - 11.1 GbpsRocketIO™

SelectIO withChipSync™Technology:

- 1 Gbps LVDS- 600 Mbps SE

500 MHz Xtreme DSP™ Slice

500 MHzXesium™ Clocking

IntegratedSystem Monitor

IntegratedTri-Mode

Ethernet MACCores

Integrated 450 MHzPowerPC Cores

4th GenerationAdvanced Logic

Page 18: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

Xilinx FPGA Architecture Alignment

ICTP 2012

17

Virtex-6 FPGAs Spartan-6 FPGAs

150K Logic Cell

Device

760K Logic Cell

Device

Common Resources

3.3 Volt compatible I/O

Hardened Memory Controllers

LUT-6 CLB

DSP Slices

BlockRAM

HSS Transceivers*

Parallel I/O FIFO Logic

System Monitor

Tri-mode EMAC

PCIe® Interface

High-performance Clocking

Basic Architecture 17Cristian Sisterna

Page 19: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

Xilinx FPGAs Overview

ICTP 2012Cristian Sisterna

18

Page 20: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

FPGA Configuration and Routing Cell

ICTP 2012Cristian Sisterna

Page 21: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

FPGA Logic Configuration Options

ICTP 2012

20

Cristian Sisterna

Page 22: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

FPGA Routing Options

ICTP 2012

21

Cristian Sisterna

Page 23: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

Logic and Routing Configuration

ICTP 2012

22

Configuration & Routing Bits 110101011101010010001

L

Cristian Sisterna

Page 24: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

FPGA Configuration Cells

ICTP 2012

23

Tipos de CeldasSRAMAnti-FuseFlashFlash y SRAM

Cristian Sisterna

Page 25: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

FPGA Cell Comparison

ICTP 2012

24

SRAM Anti_fuse Flash

Technology LatestOne or Two

generation behindOne or Two

generation behind

Speed Slower Faster Slower

Volatility yes No No

Power Poor Better Medium

Density Good Best Medium

Radiation Tolerant Poor Best Medium

External Configuration Yes No No

Cell size 1 1/10 1/7

Reprogrammable Yes No Si

Instant-On No Yes Yes

Security Poor Very Good Very Good

Config. Transistors 6 Transistors Tiny 2 transistors

Cristian Sisterna

Page 26: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

FPGA Architecture: Big Fight

ICTP 2012

25

Who is the big winner of thisfight?????

In general the FPGA arquitecture is similar among the largestvendors. Even though each vendor states the its FPGA is the

BEST. . .

The final user

Cristian Sisterna

Page 27: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

FPGA Architecture

ICTP 2012

26

The FPGAs from Xilinx are divided in

Spartan 2-3-6 Virtex 2-2P-4-5-6

High performanceExpensive

Good performanceGreat relation price/performance

Cristian Sisterna

Page 28: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

CLB SLICEs

ICTP 2012Cristian Sisterna

Page 29: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

Spartan 3 – FPGA

ICTP 2012

28

Cristian Sisterna

Page 30: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

S3 - Configurable Logic Block (CLB)

ICTP 2012

29

CLB

Cristian Sisterna

Page 31: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

S3 - CLB – Actual Internal View

ICTP 2012

30

Cristian Sisterna

Page 32: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

S3 - CLB – Main Logic

ICTP 2012

31

Two LUTsTow flip-flopsFour outputs

Two combinationalsTwo registered

Control Input for FFs

I/O carry chain

Cristian Sisterna

Page 33: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

S3 – Half Slice Detailed View

ICTP 2012

32

Cristian Sisterna

Page 34: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

S3 - Look-Up Table

ICTP 2012

33

A B C D Z0 0 0 0 00 0 0 1 00 0 1 0 00 0 1 1 10 1 0 0 10 1 0 1 1

. . .1 1 0 0 01 1 0 1 01 1 1 0 01 1 1 1 1

The LUT configuration is not responsibility of the designer

Cristian Sisterna

Page 35: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

S3 - CLB Register Elements

ICTP 2012

34

Cristian Sisterna

Page 36: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

S3 - CLB – Carry Logic

ICTP 2012

35

Cristian Sisterna

Page 37: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

S3 - Different Type of SLICEs

ICTP 2012

36

Cristian Sisterna

Page 38: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

ICTP 2012

37

CLB Internal

View

Cristian Sisterna

Page 39: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

S6 - SLICEs

SLICEM: Full sliceLUT can be used for logic and memory/SRLHas wide multiplexers and carry chain

SLICEL: Logic and arithmetic onlyLUT can only be used for logic (not memory)Has wide multiplexers and carry chain

SLICEX: Logic onlyLUT can only be used for logic (not memory)No wide multiplexers or carry chain

SLICEX

SLICEM

SLICEX

SLICEL

or

38

ICTP 2012Cristian Sisterna

Page 40: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

S6 – SLICEs39

LUT6

8 Registers

Carry Logic

Wide Function Muxes

Distributed RAM / SRL logic

SliceM (25%) SliceL (25%) SliceX (50%)

LUT6

8 Registers

Carry Logic

Wide Function Muxes

LUT6

Optimized for Logic

8 Registers

Basic Architecture 39ICTP 2012Cristian Sisterna

Page 41: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

S6 - SLICE

Basic Architecture 40

Four LUTsEight storage elements

Four flip-flop/latches

Four flip-flops

F7MUX and F8MUXConnects LUT outputs to create wide functions

Output can drive the flip-flop/latches

Carry chain (Slice0 only)Connected to the LUTs and the four flip-flop/latches

LUT/RAM/SRL

LUT/RAM/SRL

LUT/RAM/SRL

LUT/RAM/SRL

0 1

ICTP 2012Cristian Sisterna

Page 42: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

S6 - 6-Input LUT with Dual Output

Basic Architecture 41

6-input LUT can be two 5-input LUTs with common inputsMinimal speed impact toa 6-input LUT

One or two outputs

Any function of six variables or two independent functions of five variables

5-LUTD

A5A4A3A2A1

5-LUTD

A5A4A3A2A1

A6

A5A4A3A2A1

O6

O5

6-LUT

ICTP 2012Cristian Sisterna

Page 43: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

Configuring LUTs as a Shift Register (SRL)

Basic Architecture 42

D QCE

D QCE

D QCE

D QCE

LUTD

CECLK

A[4:0]

Q

Q31 (cascade out)

LUT

ICTP 2012Cristian Sisterna

Page 44: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

Shift Register LUT Example

Basic Architecture 43

Operation D - NOP must add 17 pipeline stages of 64 bits each1,088 flip-flops (hence 136 slices) or

64 SRLs (hence 16 slices)

20 Cycles

64Operation A

8 Cycles 12 Cycles

Operation B

3 Cycles

Operation C

64

20 Cycles

Paths are StaticallyBalanced

17 Cycles

Operation D - NOP

ICTP 2012Cristian Sisterna

Page 45: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

ICTP 2012

44

V5 Slice L

Cristian Sisterna

Page 46: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

I/O Resources

ICTP 2012Cristian Sisterna

Page 47: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

ICTP 2012

46

Spartan 3I/O Block

(IOB)

Cristian Sisterna TP 20

Page 48: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

ICTP 2012

47

I/O Block

Cristian Sisterna

Page 49: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

Spartan 6 I/O Block Diagram

Basic Architecture 48

Electrical Resources

N

P

LVDS

Termination

Logical ResourcesIn

terc

onne

ct to

FPG

A fa

bric

IOSERDES

IOD

ELAY

IOLOGIC

IOSERDES

IOD

ELAY

IOLOGIC

ICTP 2012

IOSERDESParallel to serial converter (serializer)Serial to parallel converter (De-serializer)

IODELAYSelectable fine-grained delay

SDR and DDR resources

Cristian Sisterna

Page 50: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

S6 - FPGA Supports 40+ Standards

Basic Architecture 49

Each input can be 3.3 V compatibleLVCMOS (3.3 V, 2.5 V, 1.8 V, 1.5 V, and 1.2 V)LVCMOS_JEDECLVPECL (3.3 V, 2.5 V)PCII2C*

HSTL (1.8 V, 1.5 V; Classes I, II, III, IV)DIFF_HSTL_I, DIFF_HSTL_I_18DIFF_HSTL_II*

SSTL (2.5 V, 1.8 V; Classes I, II)DIFF_SSTL_I, DIFF_SSTL18_IDIFF_SSTL_II*

LVDS, Bus LVDSRSDS_25 (point-to-point)

ICTP 2012Cristian Sisterna

Page 51: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

S6 - FPGA I/O Bank Structure

Basic Architecture 50

All I/Os are on the edges of the chipI/Os are grouped into banks

30 ~ 83 I/O per banks

Eight clock pins per edge

Common VCCO, VREFRestricts mixture of standards in one bank

The differential driver is only available in Bank0 and Bank2

Differential receiver is available in all banks

On-chip termination is available in all banks

BANK 0

BANK 2

BANK 4 BANK 5

BANK 3 BANK 1

BANK 0

BANK 2

BANK 3 BANK 1

Chip View(LX45/T and Smaller)

Chip View(LX100/T and Larger)

ICTP 2012Cristian Sisterna

Page 52: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

I/O Resources

ICTP 2012

51

Digital Controlled Impedance (DCI)Drive StrenghtSlew RateBus Hold (Bus keeper)Pull-up/Pull-downDifferential TerminationIODelay (V5, V6, V7)

FixedVariable

Cristian Sisterna

Page 53: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

FPGA Memory

ICTP 2012Cristian Sisterna

Page 54: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

FPGA Block RAM (BRAM) Features

Basic Architecture 53

18 kb sizeWith multiple size configuration

Multiple configuration optionsTrue dual-port, simple dual-port, single-port

Two independent ports access common dataIndividual address, clock, write enable, clock enable

Independent widths for each port

Byte-write enable Different modes:

Write firstRead first, then write No change

eenaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbblllllllllllllllllleeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbb

Dual-Port BRAM

18k Memory

ICTP 2012Cristian Sisterna

Page 55: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

S3 - Memory Block (BRAM)

ICTP 2012

54

Cristian Sisterna

Page 56: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

BRAMs Usages

ICTP 2012

55

Cristian Sisterna

Page 57: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

BRAM Configuration Size

ICTP 2012

56

16Kx1

8Kx2

4Kx4

2Kx8

0

8.191

4.095

2047

1023

0 0

0

0

1 2 4

8

16+2

16.383

Cristian Sisterna

Page 58: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

BRAM Forced Location

ICTP 2012

57

LOC <instance> = RAMB16_X#Y#

Cristian Sisterna

Location Constraint:

Page 59: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

SLICEM Used as Distributed SelectRAM Memory

SinglePort

DualPort

SimpleDual Port

QuadPort

32x2 32x4 32x6 32x8 64x1 64x2 64x3 64x4

128x1128x2 256x1

32x2D32x4D64x1D64x2D

128x1D

32x6SDP 64x3SDP

32x2Q64x1Q

Uses the same storage that is used for the look-up table function

Synchronous write, asynchronous readCan be converted to synchronous read using the flip-flops available in the slice

Various configurations Single port

One LUT6 = 64x1 or 32x2 RAM

Cascadable up to 256x1 RAM

Dual port (D)1 read / write port + 1 read-only port

Simple dual port (SDP)1 write-only port + 1 read-only port

Quad-port (Q)1 read / write port + 3 read-only ports

Basic Architecture 58

ICTP 2012Cristian Sisterna

Page 60: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

S6 - Memory Controller59

Only low cost FPGA with a “hard” memory controller

Guaranteed memory interface performance providingReduced engineering & board design time

DDR, DDR2, DDR3 & LP DDR support

Up to 12.8Mbps bandwidth for each memory controller

Automatic calibration features

Multiport structure for user interfaceSix 32-bit programmable ports from fabric

Controller interface to 4, 8 or 16 bit memories devicesce

DRAM

SRAM

FLASH

EEPROM

DRAM

SRAM

FLASH

EEPROM

AAMMM

ASSHH

Spartan-6Spartan-6

DRAMDDRDDR2DDR3LP DDR

DRAMDRAMDDRDDR2DDR3LP DDR

Basic Architecture 59ICTP 2012Cristian Sisterna

Page 61: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

FPGA Multipliers and DSP Blocks

ICTP 2012Cristian Sisterna

Page 62: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

Different Multipliers/DSP Blocks

ICTP 2012Cristian Sisterna

Page 63: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

S3 – Multiplier Locations

ICTP 2012

62

Cristian Sisterna

Page 64: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

Spartan 3 - Multiplier

ICTP 2012

63

P = A x B

36 = 18 x 18

Pipelining (optional)

Cristian Sisterna

Page 65: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

Virtex 5/6 - Conexiones del DSP48E64

ICTP 2012Cristian Sisterna

Page 66: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

Virtex 5/6 - Bloque DSP48E65

ICTP 2012Cristian Sisterna

Page 67: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

FPGA Routing

ICTP 2012Cristian Sisterna

Page 68: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

Routing

ICTP 2012

67

Transistor de Paso

M

Y0

Y

PIP

Cristian Sisterna

Page 69: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

Routing (cont.)

ICTP 2012

68

Cristian Sisterna

Page 70: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

Routing Delay Report

ICTP 2012Cristian Sisterna

69

Page 71: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

Routing (cont.)

ICTP 2012

70

Cristian Sisterna

Page 72: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

Routing (cont.)

ICTP 2012

71

Cristian Sisterna

Page 73: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

Clock Resources

ICTP 2012Cristian Sisterna

Page 74: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

S3 – Digital Clock Manager

ICTP 2012

73

Cristian Sisterna

Page 75: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

S3 – Digital Clock Manager (cont.)

ICTP 2012

74

CLK0

CLK2X

CLK2X180

CLKDIV

CLKFX

CLKFX180

CLKIN

CLKFB

DCM

Cristian Sisterna

Page 76: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

DCM Purposes

ICTP 2012

75

Elimintating clock skewClock phase shifting

VariableFixed

Multiply and Divide input clock, to generate a new frequencyDuty cycle 50%Rebuffer clock input

Cristian Sisterna

Page 77: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

DCM Aplication

ICTP 2012

76

Skew eliminationon internal clocksignals

Skewelimination onexternalclock signal

Cristian Sisterna

Page 78: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

Dedicated Clokc Routing

ICTP 2012

77

DCM

DCM

DCM

DCM

8 8

4

4

8 8

8 8

88

HGFEDCBA

HGFEDCBA

C ABD

G EFH

Cristian Sisterna

Page 79: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

ICTP 2012

78

DedicatedClockRouting: Real application

Cristian Sisterna

Page 80: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

Spartan-6 FPGA I/O Clock Network

Basic Architecture 79

Special clock network dedicated to I/O logical resourcesIndependent of global clock resourcesSpeeds up to 1 GHz

Multiple sources for clocking I/O logicBUFIO2: for high-speed dedicated I/O clock signalsBUFPLL: for clocks driven by the PLL in the CMT

P N

CMT PLL

IO bank

IOLOGIC

P NBUFIO2

BUFPLLP N P N

IOLOGIC IOLOGIC IOLOGIC

ICTP 2012Cristian Sisterna

Page 81: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

Spartan-6 FPGA Clock Management Tile (CMT)

Basic Architecture 80

dcm1_clkout<9:0>

dcm2_clkout<9:0>10

PLL

pll_clkout<5:0>6

CLKIN

CLKFB

CLKOUT<5:0>

DCM

10CLKIN

CLKFB

CLKIN

CLKFB DCM

Clocks from BUFG

CLKOUT<9:0>

CLKOUT<9:0>

GCLK Inputs

Feedback clocks from BUFIO2FB

ICTP 2012Cristian Sisterna

Page 82: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

Spartan 6 - Virtex 6 - Virtex 7

ICTP 2012Cristian Sisterna

Page 83: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

Virtex® Product & Process Evolution82

Virtex

Virtex-E

Virtex-II

Virtex-II Pro

Virtex-4

Virtex-5

1st Generation 2nd Generation 3rd Generation 4th Generationn 5th Generation 6th Generation

220-nm

180-nm

150-nm

40-nm

65-nm

90-nm

130-nm

Virtex-6

Basic Architecture 82ICTP 2012Cristian Sisterna

Page 84: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

Virtex-6 and Spartan-6 FPGA Sub-Families

Basic Architecture 83

Spartan-6LX FPGA

Spartan-6LXT FPGA

Virtex-6 LXT FPGA

Virtex-6SXT FPGA

Virtex-6HXT FPGA

• Lowest Cost Logic • Lowest Cost Logic • Low-Cost Serial Connectivity

• High Logic Density • High-Speed Serial

Connectivity

• High Logic Density• High-Speed Serial

Connectivity• Enhanced DSP

• High Logic Density • Ultra High-Speed Serial

Connectivity

LogicBlock RAMDSPParallel I/OSerial I/O

Virtex-6 CXT FPGA

• Upto 3.75Gbps serial connectivity and corresponding logic performance

ICTP 2012Cristian Sisterna

Page 85: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

Virtex 784

Common elements enable easy IP reuse for quickdesign portability across all 7 series families

Design scalability from low-cost to high-performance

Expanded eco-system support

Quickest TTM

Precise, Low Jitter ClockingMMCMs

Logic FabricLUT-6 CLB

DSP EnginesDSP48E1 Slices

On-Chip Memory36Kbit/18Kbit Block RAM

Enhanced ConnectivityPCIe® Interface Blocks

Hi-perf. Parallel I/O ConnectivitySelectIO™ Technology

Artix™-7 FPGA

Kintex™-7 FPGA

Virtex®-7 FPGA

Hi-performance Serial I//O ConnectivityTransceiver Technology

Basic Architecture 84ICTP 2012Cristian Sisterna

Page 86: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

The Xilinx 7 Series FPGAs

Page 85

Industry’s Lowest Power and First Unified Architecture Spanning Low-Cost to Ultra High-End applications

Three new device families with breakthrough innovations in power efficiency, performance-capacity and price-performance

Basic Architecture 85ICTP 2012Cristian Sisterna

Page 87: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

FPGA Configuration

ICTP 2012Cristian Sisterna

Page 88: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

FPGA Master

ICTP 2012

87

Cristian Sisterna

Page 89: FPGA Introduction - International Centre for Theoretical ...indico.ictp.it/event/a11204/session/7/contribution/4/material/0/0.pdf · FPGA INTRODUCTION ICTP 2012 - CUBA Cristian AlejandroSisterna,

FPGA Slave

ICTP 2012

88

Cristian Sisterna