Basic FPGA Architecture Xilinx, Inc. All Rights Reserved

Similar documents
Virtex-II Architecture

ΔΙΑΛΕΞΗ 2: FPGA Architectures

EE178 Lecture Module 2. Eric Crabill SJSU / Xilinx Fall 2007

Virtex-II Architecture. Virtex II technical, Design Solutions. Active Interconnect Technology (continued)

Summary. Introduction. Application Note: Virtex, Virtex-E, Spartan-IIE, Spartan-3, Virtex-II, Virtex-II Pro. XAPP152 (v2.1) September 17, 2003

EE260: Digital Design, Spring 2018

Field Programmable Gate Array (FPGA)

FPGA architecture and design technology

Topics. Midterm Finish Chapter 7

7-Series Architecture Overview

HDL Coding Style Xilinx, Inc. All Rights Reserved

FPGA Architecture Overview. Generic FPGA Architecture (1) FPGA Architecture

Virtex-II Pro and Virtex-II Pro X Platform FPGAs: Complete Data Sheet

EECS150 - Digital Design Lecture 16 - Memory

QPro Virtex-II 1.5V Platform FPGAs

Basic FPGA Architectures. Actel FPGAs. PLD Technologies: Antifuse. 3 Digital Systems Implementation Programmable Logic Devices

EECS150 - Digital Design Lecture 16 Memory 1

Topics. Midterm Finish Chapter 7

Architecture by Xilinx, Inc. All rights reserved.

Virtex-II 1.5V Field-Programmable Gate Arrays

CDA 4253 FGPA System Design Xilinx FPGA Memories. Hao Zheng Comp Sci & Eng USF

! Program logic functions, interconnect using SRAM. ! Advantages: ! Re-programmable; ! dynamically reconfigurable; ! uses standard processes.

Virtex-4 Family Overview

Chapter 8 FPGA Basics

CPE/EE 422/522. Introduction to Xilinx Virtex Field-Programmable Gate Arrays Devices. Dr. Rhonda Kay Gaede UAH. Outline

Field Programmable Gate Array (FPGA) Devices

QPro Virtex-II 1.5V Radiation-Hardened QML Platform FPGAs

Introduction to Field Programmable Gate Arrays

International Training Workshop on FPGA Design for Scientific Instrumentation and Computing November 2013.

INTRODUCTION TO FPGA ARCHITECTURE

ECE 545 Lecture 12. FPGA Resources. George Mason University

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses

INTRODUCTION TO FIELD PROGRAMMABLE GATE ARRAYS (FPGAS)

Outline. Field Programmable Gate Arrays. Programming Technologies Architectures. Programming Interfaces. Historical perspective

XA Spartan-6 Automotive FPGA Family Overview

Course Overview Revisited

Programmable Logic. Any other approaches?

ECE 448 Lecture 5. FPGA Devices

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function.

Introduction to FPGAs. H. Krüger Bonn University

The Next Generation 65-nm FPGA. Steve Douglass, Kees Vissers, Peter Alfke Xilinx August 21, 2006

8. Migrating Stratix II Device Resources to HardCopy II Devices

ECE 645: Lecture 1. Basic Adders and Counters. Implementation of Adders in FPGAs

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

The Virtex FPGA and Introduction to design techniques

H100 Series FPGA Application Accelerators

Introduction to Modern FPGAs

Programmable Logic. Simple Programmable Logic Devices

High Capacity and High Performance 20nm FPGAs. Steve Young, Dinesh Gaitonde August Copyright 2014 Xilinx

Xilinx ASMBL Architecture

The DSP Primer 8. FPGA Technology. DSPprimer Home. DSPprimer Notes. August 2005, University of Strathclyde, Scotland, UK

EE219A Spring 2008 Special Topics in Circuits and Signal Processing. Lecture 9. FPGA Architecture. Ranier Yap, Mohamed Ali.

FPGA Implementations

ECE 5775 (Fall 17) High-Level Digital Design Automation. Specialized Computing

ispxpld TM 5000MX Family White Paper

ECE 699: Lecture 9. Programmable Logic Memories

Review from last time. CS152 Computer Architecture and Engineering Lecture 6. Verilog (finish) Multiply, Divide, Shift

ECEU530. Project Presentations. ECE U530 Digital Hardware Synthesis. Rest of Semester. Memory Structures

Graduate Institute of Electronics Engineering, NTU FPGA Design with Xilinx ISE

Altera FLEX 8000 Block Diagram

Achieving Breakthrough Performance with Virtex-4, the World s Fastest FPGA

Hardware Design with VHDL Design Example: BRAM ECE 443

ispgdx2 vs. ispgdx Architecture Comparison

Reconfigurable Computing

Parameterizable LocalLink FIFO Author: Wen Ying Wei, Dai Huang

EITF35: Introduction to Structured VLSI Design

Memory and Programmable Logic

Field Programmable Gate Array

AGM CPLD AGM CPLD DATASHEET

Dynamic Phase Alignment for Networking Applications Author: Tze Yi Yeoh

Section I. Cyclone II Device Family Data Sheet

Setup/Hold. Set Up time (t su ):

Verilog for High Performance

XA Artix-7 FPGAs Data Sheet: Overview

Virtex-II SiberBridge Author: Ratima Kataria & the SiberCore Applications Engineering Group

Stratix. Introduction. Features... Programmable Logic Device Family. Preliminary Information

L2: FPGA HARDWARE : ADVANCED DIGITAL DESIGN PROJECT FALL 2015 BRANDON LUCIA

FIELD PROGRAMMABLE GATE ARRAYS (FPGAS)

FPGA: What? Why? Marco D. Santambrogio

Review: Timing. EECS Components and Design Techniques for Digital Systems. Lec 13 Storage: Regs, SRAM, ROM. Outline.

Section I. Cyclone II Device Family Data Sheet

VHX - Xilinx - FPGA Programming in VHDL

High-Performance Integer Factoring with Reconfigurable Devices

Introduction to Partial Reconfiguration Methodology

Stratix. Introduction. Features... 10,570 to 114,140 LEs; see Table 1. FPGA Family. Preliminary Information

Presentation Outline Overview of FPGA Architectures Virtex-4 & Virtex-5 Overview of BIST for FPGAs BIST Configuration Generation Output Response Analy

UltraScale Architecture and Product Overview

IP cores. V. Angelov

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs)

Very Large Scale Integration (VLSI)

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs?

ECE 545: Lecture 11. Programmable Logic Memories

ECE 545: Lecture 11. Programmable Logic Memories. Recommended reading. Memory Types. Memory Types. Memory Types specific to Xilinx FPGAs

Xilinx Solutions for PCI Express

Outline of Presentation

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic

The Xilinx XC6200 chip, the software tools and the board development tools

7 Series FPGAs Overview

Programmable Logic Design Grzegorz Budzyń Lecture. 15: Advanced hardware in FPGA structures

CprE 583 Reconfigurable Computing

Transcription:

Basic FPGA Architecture 2005 Xilinx, Inc. All Rights Reserved

Objectives After completing this module, you will be able to: Identify the basic architectural resources of the Virtex -II FPGA List the differences between the Virtex-II, Virtex-II Pro, Spartan -3, and Spartan-3E devices List the new and enhanced features of the new Virtex-4 device family Basic FPGA Architecture 2-3 2005 Xilinx, Inc. All Rights Reserved

Outline Overview Slice Resources I/O Resources Memory and Clocking Spartan-3, Spartan-3E, and Virtex-II Pro Features Virtex-4 Features Summary Appendix Basic FPGA Architecture 2-4 2005 Xilinx, Inc. All Rights Reserved

Overview All Xilinx FPGAs contain the same basic resources Slices (grouped into CLBs) IOBs Contain combinatorial logic and register resources Interface between the FPGA and the outside world Programmable interconnect Other resources Memory Multipliers Global clock buffers Boundary scan logic Basic FPGA Architecture 2-5 2005 Xilinx, Inc. All Rights Reserved

Outline Overview Slice Resources I/O Resources Memory and Clocking Spartan-3, Spartan-3E, and Virtex-II Pro Features Virtex-4 Features Summary Appendix Basic FPGA Architecture 2-7 2005 Xilinx, Inc. All Rights Reserved

Slices and CLBs Each Virtex -II CLB contains four slices Local routing provides feedback between slices in the same CLB, and it provides routing to neighboring CLBs A switch matrix provides access to general routing resources Switch Matrix COUT BUFT BUF T SHIFT Slice S1 Slice S3 Slice S2 COUT Slice S0 Local Routing CIN CIN Basic FPGA Architecture 2-8 2005 Xilinx, Inc. All Rights Reserved

Simplified Slice Structure Each slice has four outputs Two registered outputs, two non-registered outputs Two BUFTs associated with each CLB, accessible by all 16 CLB outputs Carry logic runs vertically, up only Two independent carry chains per CLB Slice 0 PRE LUT Carry D Q CE LUT Carry CLR D PRE CE Q CLR Basic FPGA Architecture 2-9 2005 Xilinx, Inc. All Rights Reserved

Detailed Slice Structure The next few slides discuss the slice features LUTs MUXF5, MUXF6, MUXF7, MUXF8 (only the F5 and F6 MUX are shown in this diagram) Carry Logic MULT_ANDs Sequential Elements Basic FPGA Architecture 2-10 2005 Xilinx, Inc. All Rights Reserved

Look-Up Tables Combinatorial logic is stored in Look-Up Tables (LUTs) Also called Function Generators (FGs) Capacity is limited by the number of inputs, not by the complexity Delay through the LUT is constant A B C D Z 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 A B C D Combinatorial Logic Z... 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1 Basic FPGA Architecture 2-11 2005 Xilinx, Inc. All Rights Reserved

F5 F6 F5 F8 Connecting Look-Up Tables CLB Slice S3 Slice S2 MUXF8 combines the two MUXF7 outputs (from the CLB above or below) MUXF6 combines slices S2 and S3 Slice S1 F5 F7 MUXF7 combines the two MUXF6 outputs Slice S0 F5 F6 MUXF6 combines slices S0 and S1 MUXF5 combines LUTs in each slice Basic FPGA Architecture 2-12 2005 Xilinx, Inc. All Rights Reserved

Fast Carry Logic Simple, fast, and complete arithmetic Logic Dedicated XOR gate for single-level sum completion Uses dedicated routing resources All synthesis tools can infer carry logic CIN COUT To S0 of the next CLB First Carry Chain COUT SLICE S1 SLICE S0 CIN COUT To CIN of S2 of the next CLB COUT Second Carry Chain SLICE S3 SLICE S2 CIN CIN CLB Basic FPGA Architecture 2-13 2005 Xilinx, Inc. All Rights Reserved

MULT_AND Gate Highly efficient multiply and add implementation Earlier FPGA architectures require two LUTs per bit to perform the multiplication and addition The MULT_AND gate enables an area reduction by performing the multiply and the add in one LUT per bit A LUT S DI CY_MUX CO CI MULT_AND CY_XOR A x B LUT B LUT Basic FPGA Architecture 2-14 2005 Xilinx, Inc. All Rights Reserved

Flexible Sequential Elements Either flip-flops or latches Two in each slice; eight in each CLB Inputs come from LUTs or from an independent CLB input Separate set and reset controls Can be synchronous or asynchronous All controls are shared within a slice Control signals can be inverted locally within a slice FDRSE _1 D CE S Q R FDCPE D PRE Q CE CLR LDCPE D PRE CE Q G CLR Basic FPGA Architecture 2-15 2005 Xilinx, Inc. All Rights Reserved

Shift Register LUT (SRL16CE) Dynamically addressable serial shift registers Maximum delay of 16 clock cycles per LUT (128 per CLB) Cascadable to other LUTs or CLBs for longer shift registers Dedicated connection from Q15 to D input of the next SRL16CE Shift register length can be changed asynchronously by toggling address A LUT D CE CLK A[3:0] LUT D CE D CE D CE D CE Q Q Q Q Q Q15 (cascade out) Basic FPGA Architecture 2-16 2005 Xilinx, Inc. All Rights Reserved

Shift Register LUT Example The SRL can be used to create a No Operation (NOP) This example uses 64 LUTs (8 CLBs) to replace 576 flip-flops (72 CLBs) and associated routing and delays 12 Cycles 64 Operation A Operation B 4 Cycles 8 Cycles 64 Operation C Operation D - NOP 3 Cycles 12 Cycles 9 Cycles Paths are Statically Balanced Basic FPGA Architecture 2-17 2005 Xilinx, Inc. All Rights Reserved

Outline Overview Slice Resources I/O Resources Memory and Clocking Spartan-3, Spartan-3E, and Virtex-II Pro Features Virtex-4 Features Summary Appendix Basic FPGA Architecture 2-18 2005 Xilinx, Inc. All Rights Reserved

IOB Element Input path Two DDR registers Output path Two DDR registers Two 3-state enable DDR registers Separate clocks and clock enables for I and O Set and reset signals are shared Reg OCK1 Reg OCK2 Reg OCK1 Reg OCK2 DDR MUX 3-state DDR MUX Output IOB Input Reg ICK1 Reg ICK2 PAD Basic FPGA Architecture 2-19 2005 Xilinx, Inc. All Rights Reserved

SelectIO Standard Allows direct connections to external signals of varied voltages and thresholds Optimizes the speed/noise tradeoff Saves having to place interface components onto your board Differential signaling standards LVDS, BLVDS, ULVDS LDT LVPECL Single-ended I/O standards LVTTL, LVCMOS (3.3V, 2.5V, 1.8V, and 1.5V) PCI-X at 133 MHz, PCI (3.3V at 33 MHz and 66 MHz) GTL, GTLP and more! Basic FPGA Architecture 2-20 2005 Xilinx, Inc. All Rights Reserved

Digital Controlled Impedance (DCI) DCI provides Output drivers that match the impedance of the traces On-chip termination for receivers and transmitters DCI advantages Improves signal integrity by eliminating stub reflections Reduces board routing complexity and component count by eliminating external resistors Eliminates the effects of temperature, voltage, and process variations by using an internal feedback circuit Basic FPGA Architecture 2-21 2005 Xilinx, Inc. All Rights Reserved

Outline Overview Slice Resources I/O Resources Memory and Clocking Spartan-3, Spartan-3E, and Virtex-II Pro Features Virtex-4 Features Summary Appendix Basic FPGA Architecture 2-22 2005 Xilinx, Inc. All Rights Reserved

Other Virtex-II Features Distributed RAM and block RAM Distributed RAM uses the CLB resources (1 LUT = 16 RAM bits) Block RAM is a dedicated resources on the device (18-kb blocks) Dedicated 18 x 18 multipliers next to block RAMs Clock management resources Sixteen dedicated global clock multiplexers Digital Clock Managers (DCMs) Basic FPGA Architecture 2-23 2005 Xilinx, Inc. All Rights Reserved

Distributed SelectRAM Resources Uses a LUT in a slice as memory Synchronous write Asynchronous read Accompanying flip-flops can be used to create synchronous read RAM and ROM are initialized during configuration Data can be written to RAM after configuration Emulated dual-port RAM One read/write port One read-only port LUT Slice LUT LUT RAM16X1S D WE WCLK A0 O A1 A2 A3 RAM32X1S D WE WCLK A0 O A1 A2 A3 A4 RAM16X1D D WE WCLK A0 SPO A1 A2 A3 DPRA0 DPO DPRA1 DPRA2 DPRA3 Basic FPGA Architecture 2-24 2005 Xilinx, Inc. All Rights Reserved

Block SelectRAM Resources Up to 3.5 Mb of RAM in 18-kb blocks Synchronous read and write True dual-port memory Each port has synchronous read and write capability Different clocks for each port Supports initial values Synchronous reset on output latches Supports parity bits One parity bit per eight data bits 18-kb block SelectRAM memory DIA DIPA ADDRA WEA ENA SSRA CLKA DIB DIPB ADDRB WEB ENB SSRB CLKB DOA DOPA DOB DOPB Basic FPGA Architecture 2-25 2005 Xilinx, Inc. All Rights Reserved

Dedicated Multiplier Blocks 18-bit twos complement signed operation Optimized to implement Multiply and Accumulate functions Multipliers are physically located next to block SelectRAM memory Data_A (18 bits) Data_B (18 bits) 18 x 18 Multiplier Output (36 bits) 4 x 4 signed 8 x 8 signed 12 x 12 signed 18 x 18 signed Basic FPGA Architecture 2-26 2005 Xilinx, Inc. All Rights Reserved

Global Clock Routing Resources Sixteen dedicated global clock multiplexers Eight on the top-center of the die, eight on the bottom-center Driven by a clock input pad, a DCM, or local routing Global clock multiplexers provide the following: Traditional clock buffer (BUFG) function Global clock enable capability (BUFGCE) Glitch-free switching between clock signals (BUFGMUX) Up to eight clock nets can be used in each clock region of the device Each device contains four or more clock regions Basic FPGA Architecture 2-27 2005 Xilinx, Inc. All Rights Reserved

Digital Clock Manager (DCM) Up to twelve DCMs per device Located on the top and bottom edges of the die Driven by clock input pads DCMs provide the following: Delay-Locked Loop (DLL) Digital Frequency Synthesizer (DFS) Digital Phase Shifter (DPS) Up to four outputs of each DCM can drive onto global clock buffers All DCM outputs can drive general routing Basic FPGA Architecture 2-28 2005 Xilinx, Inc. All Rights Reserved

Outline Overview Slice Resources I/O Resources Memory and Clocking Spartan-3, Spartan-3E, and Virtex-II Pro Features Virtex-4 Features Summary Appendix Basic FPGA Architecture 2-29 2005 Xilinx, Inc. All Rights Reserved

Spartan-3 versus Virtex-II Lower cost Smaller process = lower core voltage.09 micron versus.15 micron Vccint = 1.2V versus 1.5V Different I/O standard support New standards: 1.2V LVCMOS, 1.8V HSTL, and SSTL Default is LVCMOS, versus LVTTL More I/O pins per package Only one-half of the slices support RAM or SRL16s (SLICEM) Fewer block RAMs and multiplier blocks Same size and functionality Eight global clock multiplexers Two or four DCM blocks No internal 3-state buffers 3-state buffers are in the I/O Basic FPGA Architecture 2-30 2005 Xilinx, Inc. All Rights Reserved

SLICEM and SLICEL Each Spartan -3 CLB contains four slices Similar to the Virtex -II Slices are grouped in pairs Left-hand SLICEM (Memory) LUTs can be configured as memory or SRL16 Right-hand SLICEL (Logic) LUT can be used as logic only Switch Matrix Left-Hand SLICEM Right-Hand SLICEL COUT COUT Slice X1Y1 Slice X1Y0 SHIFTIN Slice X0Y1 Fast Connects Slice X0Y0 SHIFTOUT CIN CIN Basic FPGA Architecture 2-31 2005 Xilinx, Inc. All Rights Reserved

Spartan-3E Features More gates per I/O than Spartan-3 Removed some I/O standards Higher-drive LVCMOS GTL, GTLP SSTL2_II HSTL_II_18, HSTL_I, HSTL_III LVDS_EXT, ULVDS DDR Cascade Internal data is presented on a single clock edge 16 BUFGMUXes on left and right sides Drive half the chip only In addition to eight global clocks Pipelined multipliers Additional configuration modes SPI, BPI Multi-Boot mode Basic FPGA Architecture 2-32 2005 Xilinx, Inc. All Rights Reserved

Virtex-II Pro Features 0.13 micron process Up to 24 RocketIO Multi-Gigabit Transceiver (MGT) blocks Serializer and deserializer (SERDES) Fibre Channel, Gigabit Ethernet, XAUI, Infiniband compliant transceivers, and others 8-, 16-, and 32-bit selectable FPGA interface 8B/10B encoder and decoder PowerPC RISC processor blocks Thirty-two 32-bit General Purpose Registers (GPRs) Low power consumption: 0.9mW/MHz IBM CoreConnect bus architecture support Basic FPGA Architecture 2-33 2005 Xilinx, Inc. All Rights Reserved

Outline Overview Slice Resources I/O Resources Memory and Clocking Spartan-3, Spartan-3E, and Virtex-II Pro Features Virtex-4 Features Summary Appendix Basic FPGA Architecture 2-34 2005 Xilinx, Inc. All Rights Reserved

Virtex-4 Features New features Dedicated DSP blocks Phase-matched clock dividers (PMCD) SERDES built into the Virtex -4 SelectIO standard Dynamic reconfiguration port (DRP) Enhanced features Block RAM can be configured as a FIFO Advanced clocking networks, including regional clock buffers and sourcesynchronous support 11.1 Gbps RocketIO Multi-Gigabit Transceiver (MGT) blocks Enhanced PowerPC processor blocks Basic FPGA Architecture 2-35 2005 Xilinx, Inc. All Rights Reserved

Outline Overview Slice Resources I/O Resources Memory and Clocking Spartan-3, Spartan-3E, and Virtex-II Pro Features Virtex-4 Features Summary Appendix Basic FPGA Architecture 2-36 2005 Xilinx, Inc. All Rights Reserved

Review Questions List the primary slice features List the three ways a LUT can be configured Basic FPGA Architecture 2-37 2005 Xilinx, Inc. All Rights Reserved

Answers List the primary slice features Look-up tables and function generators (two per slice, eight per CLB) Registers (two per slice, eight per CLB) Dedicated multiplexers (MUXF5, MUXF6, MUXF7, MUXF8) Carry logic MULT_AND gate List the three ways a LUT can be configured Combinatorial logic Shift register (SRL16CE) Distributed memory Basic FPGA Architecture 2-38 2005 Xilinx, Inc. All Rights Reserved

Summary Slices contain LUTs, registers, and carry logic LUTs are connected with dedicated multiplexers and carry logic LUTs can be configured as shift registers or memory IOBs contain DDR registers SelectIO standards and DCI enable direct connection to multiple I/O standards while reducing component count Virtex -II memory resources include the following: Distributed SelectRAM resources and distributed SelectROM (uses CLB LUTs) 18-kb block SelectRAM resources Basic FPGA Architecture 2-39 2005 Xilinx, Inc. All Rights Reserved

Summary The Virtex -II devices contain dedicated 18x18 multipliers next to each block SelectRAM resource Digital clock managers provide the following: Delay-Locked Loop (DLL) Digital Frequency Synthesizer (DFS) Digital Phase Shifter (DPS) Basic FPGA Architecture 2-40 2005 Xilinx, Inc. All Rights Reserved

Where Can I Learn More? User Guides www.xilinx.com Documentation User Guides Application Notes www.xilinx.com Documentation Application Notes Education resources Designing with the Virtex-4 Family course Spartan-3E Architecture free Recorded e-learning Basic FPGA Architecture 2-41 2005 Xilinx, Inc. All Rights Reserved