Electronics in High Energy Physics Introduction to Electronics

  • Slides: 36
Download presentation
Electronics in High Energy Physics Introduction to Electronics in HEP Field Programmable Gate Arrays

Electronics in High Energy Physics Introduction to Electronics in HEP Field Programmable Gate Arrays Part 1 based on the lecture of S. Haas

Outline Part 1 • Programmable Logic • CPLD • FPGA – – Architecture Examples

Outline Part 1 • Programmable Logic • CPLD • FPGA – – Architecture Examples Features Vendors and Devices coffee break Part 2 • VHDL – Introduction – Examples • Design Flow – – Entry Methods Simulation Synthesis Place & Route • IP Cores • CERN Tools & Support 2

Programmable Logic

Programmable Logic

Programmable Logic • Programmable digital integrated circuit • Standard off-the-shelf parts • Desired functionality

Programmable Logic • Programmable digital integrated circuit • Standard off-the-shelf parts • Desired functionality is implemented by configuring on-chip logic blocks and interconnections • Advantages (compared to an ASIC): – Low development costs – Short development cycle – Device can (usually) be reprogrammed • Types of programmable logic: – Complex PLDs (CPLD) – Field programmable Gate Arrays (FPGA) 4

CPLD Architecture and Examples

CPLD Architecture and Examples

PLD - Sum of Products Programmable AND array followed by fixed fan-in OR gates

PLD - Sum of Products Programmable AND array followed by fixed fan-in OR gates A B C Programmable switch or fuse AND plane 6

PLD - Macrocell Can implement combinational or sequential logic Select A B C Enable

PLD - Macrocell Can implement combinational or sequential logic Select A B C Enable Flip-flop MUX D Q Clock AND plane 7

CPLD Structure PLD Block • • • I/O Block Integration of several PLD blocks

CPLD Structure PLD Block • • • I/O Block Integration of several PLD blocks with a programmable interconnect on a single chip Interconnection Matrix I/O Block • • • PLD Block 8

CPLD Example - Altera MAX 7000 EPM 7000 Series Block Diagram 9

CPLD Example - Altera MAX 7000 EPM 7000 Series Block Diagram 9

CPLD Example - Altera MAX 7000 EPM 7000 Series Device Macrocell 10

CPLD Example - Altera MAX 7000 EPM 7000 Series Device Macrocell 10

FPGA Architecture

FPGA Architecture

FPGA - Generic Structure FPGA building blocks: Interconnection switches I/O I/O • Programmable logic

FPGA - Generic Structure FPGA building blocks: Interconnection switches I/O I/O • Programmable logic blocks Implement combinatorial and sequential logic • Programmable interconnect Wires to connect inputs and outputs to logic blocks • Programmable I/O blocks Special logic blocks at the periphery of device for external connections Logic block I/O 12

Other FPGA Building Blocks • Clock distribution • Embedded memory blocks • Special purpose

Other FPGA Building Blocks • Clock distribution • Embedded memory blocks • Special purpose blocks: – DSP blocks: • Hardware multipliers, adders and registers – Embedded microprocessors/microcontrollers – High-speed serial transceivers 13

FPGA – Basic Logic Element • LUT to implement combinatorial logic • Register for

FPGA – Basic Logic Element • LUT to implement combinatorial logic • Register for sequential circuits • Additional logic (not shown): – Carry logic for arithmetic functions – Expansion logic for functions requiring more than 4 inputs Select Out A B C D LUT D Q Clock 14

Look-Up Tables (LUT) • Look-up table with N-inputs can be used to implement any

Look-Up Tables (LUT) • Look-up table with N-inputs can be used to implement any combinatorial function of N inputs • LUT is programmed with the truth-table A B C D LUT Z LUT implementation A B Z C D Truth-table Gate implementation 15

LUT Implementation • Example: 3 -input LUT • Based on multiplexers (pass transistors) •

LUT Implementation • Example: 3 -input LUT • Based on multiplexers (pass transistors) • LUT entries stored in configuration memory cells X 1 X 2 0/1 0/1 F 0/1 0/1 Configuration memory cells 0/1 X 3 16

Programmable Interconnect • Interconnect hierarchy (not shown) – Fast local interconnect – Horizontal and

Programmable Interconnect • Interconnect hierarchy (not shown) – Fast local interconnect – Horizontal and vertical lines of various lengths LE LE Switch Matrix LE LE 17

Switch Matrix Operation Before Programming After Programming • 6 pass transistors per switch matrix

Switch Matrix Operation Before Programming After Programming • 6 pass transistors per switch matrix interconnect point • Pass transistors act as programmable switches • Pass transistor gates are driven by configuration memory cells 18

Special Features • Clock management – PLL, DLL – Eliminate clock skew between external

Special Features • Clock management – PLL, DLL – Eliminate clock skew between external clock input and on-chip clock – Low-skew global clock distribution network • • Support for various interface standards High-speed serial I/Os Embedded processor cores DSP blocks 19

Configuration Storage Elements • Static Random Access Memory (SRAM) – each switch is a

Configuration Storage Elements • Static Random Access Memory (SRAM) – each switch is a pass transistor controlled by the state of an SRAM bit – FPGA needs to be configured at power-on • Flash Erasable Programmable ROM (Flash) – each switch is a floating-gate transistor that can be turned off by injecting charge onto its gate. FPGA itself holds the program – reprogrammable, even in-circuit • Fusible Links (“Antifuse”) – Forms a forms a low resistance path when electrically programmed – one-time programmable in special programming machine – radiation tolerant 20

Example: Altera Stratix Series

Example: Altera Stratix Series

Floorplan 22

Floorplan 22

Logic Element 23

Logic Element 23

Logic Array Block (LAB) • LAB regroups 10 logic elements with a fast local

Logic Array Block (LAB) • LAB regroups 10 logic elements with a fast local interconnect • Interconnect structure – Direct link between LABs and adjacent blocks – Row interconnects • 4, 8, and 24 blocks left or right – Column interconnects • 4, 8, and 16 blocks up or down 24

Embedded Memory Dual-Port RAM – M 512 – 512 x 1 – M 4

Embedded Memory Dual-Port RAM – M 512 – 512 x 1 – M 4 K – 4096 x 1 – M-RAM – 64 K x 8 25

Example: Xilinx Virtex-II Pro

Example: Xilinx Virtex-II Pro

Virtex II Pro Floorplan Up to 16 serial transceivers • 622 Mbps to 3.

Virtex II Pro Floorplan Up to 16 serial transceivers • 622 Mbps to 3. 125 Gbps Power. PCs • 1 to 4 Power. PCs • 4 to 16 multi-gigabit transceivers • 12 to 216 multipliers • 3, 000 to 50, 000 logic cells • 200 k to 4 M bits RAM • 204 to 852 I/Os Logic cells 27

Logic Slice Architecture • Two 4 -input LUT, can also be used as: –

Logic Slice Architecture • Two 4 -input LUT, can also be used as: – 16 -bit synchronous RAM – 16 -bit shift register • Two flip-flops/latches • Carry logic for arithmetic circuits (e. g. adder) • Fast width expansion logic – Implement logic functions with more than 4 inputs 28

Configurable Logic Block (CLB) • CLB regroups 4 logic slices • Fast connection to

Configurable Logic Block (CLB) • CLB regroups 4 logic slices • Fast connection to neighbors • Connections for carry logic and shift register mode 29

Xilinx: Embedded Multipliers 30

Xilinx: Embedded Multipliers 30

Altera: Embedded DSP Blocks • Two DSP Block columns per device • Number varies

Altera: Embedded DSP Blocks • Two DSP Block columns per device • Number varies by height of column • Can implement: – Eight 9 x 9 multipliers – Four 18 x 18 multipliers – One 36 x 36 multiplier • Contains adder/subtractor/accumulator • Registered inputs can become shift register 31

Altera: Embedded DSP Block 32

Altera: Embedded DSP Block 32

Xilinx: Rocket I/O 3. 125 Gb/s per pair 32 b @ 78 MHz Virtex-II

Xilinx: Rocket I/O 3. 125 Gb/s per pair 32 b @ 78 MHz Virtex-II Pro Virtex 4: 11. 1 Gbps !!! 33

FPGA Vendors & Device Families • Xilinx – Virtex-II/Virtex-4: Featurepacked high-performance SRAM-based FPGA –

FPGA Vendors & Device Families • Xilinx – Virtex-II/Virtex-4: Featurepacked high-performance SRAM-based FPGA – Spartan 3: low-cost feature reduced version – Cool. Runner: CPLDs • Altera – Stratix/Stratix-II • High-performance SRAMbased FPGAs • Actel – Anti-fuse based FPGAs • Radiation tolerant – Flash-based FPGAs • Lattice – Flash-based FPGAs – CPLDs (EEPROM) • Quick. Logic – Via. Link-based FPGAs – Cyclone/Cyclone-II • Low-cost feature reduced version for cost-critical applications – MAX 3000/7000 CPLDs – MAX-II: Flash-based FPGA 34

State of the Art in FPGAs • 90 nm process on 300 mm wafers

State of the Art in FPGAs • 90 nm process on 300 mm wafers – Lower cost per function (LUT + register) – Smaller and faster transistors: Higher speed • System speed up to 500 MHz – Mainly through smart interconnects, clock management, dedicated circuits, flexible I/O. – Integrated transceivers running at 10 Gigabits/sec • More Logic and Better Features: – >100, 000 LUTs & flip-flops – >200 embedded RAMs, and same number 18 x 18 multipliers • 1156 pins (balls) with >800 GP I/O – 50 I/O standards, incl. LVDS with internal termination • 16 low-skew global clock lines – Multiple clock management circuits • On-chip microprocessor(s) and multi-Gbps transceivers 35

Latest Devices: Capacity & Features Xilinx Virtex-4 Altera Stratix-II • • 90 nm process

Latest Devices: Capacity & Features Xilinx Virtex-4 Altera Stratix-II • • 90 nm process Up to 960 I/Os >200000 logic cells Up to 552 18 kb block RAMs (~10 Mb RAM) • 192 DSP slices (18 x 18 multiplier-accumulator) • 20 digital clock managers (DCM) • • • 24 high-speed serial transceivers (622 Mb/s to 11. 1 Gb/s) • Up to four Power. PC 405 cores • Serial I/O up to 1 Gb/s 90 nm process Up to 1170 I/Os 179000 logic elements 9. 6 Mb embedded RAM 96 DSP blocks: 380 18 x 18 multipliers • 12 PLLs • No hard processor cores 36