Reconfigurable FPGAs (The Xilinx Virtex II Pro / ProX FPGA family)

Slides:



Advertisements
Similar presentations
© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
Advertisements

Reconfigurable Computing (EN2911X, Fall07) Lecture 04: Programmable Logic Technology (2/3) Prof. Sherief Reda Division of Engineering, Brown University.
FPGA Configuration. Introduction What is configuration? – Process for loading data into the FPGA Configuration Data Source Configuration Data Source FPGA.
Xilinx CPLDs and FPGAs Module F2-1. CPLDs and FPGAs XC9500 CPLD XC4000 FPGA Spartan FPGA Spartan II FPGA Virtex FPGA.
Spartan II Features  Plentiful logic and memory resources –15K to 200K system gates (up to 5,292 logic cells) –Up to 57 Kb block RAM storage  Flexible.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR SRAM-based FPGA n SRAM-based LE –Registers in logic elements –LUT-based logic element.
1 Performed by: Lin Ilia Khinich Fanny Instructor: Fiksman Eugene המעבדה למערכות ספרתיות מהירות High Speed Digital Systems Laboratory הטכניון - מכון טכנולוגי.
Programmable logic and FPGA
Configuration. Mirjana Stojanovic Process of loading bitstream of a design into the configuration memory. Bitstream is the transmission.
Implementation of DSP Algorithm on SoC. Mid-Semester Presentation Student : Einat Tevel Supervisor : Isaschar Walter Accompaning engineer : Emilia Burlak.
GallagherP188/MAPLD20041 Accelerating DSP Algorithms Using FPGAs Sean Gallagher DSP Specialist Xilinx Inc.
The Xilinx Spartan 3 FPGA EGRE 631 2/2/09. Basic types of FPGA’s One time programmable Reprogrammable (non-volatile) –Retains program when powered down.
DLS Digital Controller Tony Dobbing Head of Power Supplies Group.
Section II Basic PLD Architecture. Section II Agenda  Basic PLD Architecture —XC9500 and XC4000 Hardware Architectures —Foundation and Alliance Series.
Electronics in High Energy Physics Introduction to Electronics in HEP Field Programmable Gate Arrays Part 1 based on the lecture of S.Haas.
J. Christiansen, CERN - EP/MIC
FPGA (Field Programmable Gate Array): CLBs, Slices, and LUTs Each configurable logic block (CLB) in Spartan-6 FPGAs consists of two slices, arranged side-by-side.
® SPARTAN Series High Volume System Solution. ® Spartan/XL Estimated design size (system gates) 30K 5K180K XC4000XL/A XC4000XV Virtex S05/XL.
® Additional Spartan-XL Features. ® Family Highlights  Spartan (5.0 Volt) family introduced in Jan. 98 —Fabricated on advanced 0.5µ process.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
Basic Sequential Components CT101 – Computing Systems Organization.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Field Programmable Port Extender (FPX) 1 Modular Design Techniques for the FPX.
ESS | FPGA for Dummies | | Maurizio Donna FPGA for Dummies Basic FPGA architecture.
Introduction to Field Programmable Gate Arrays Lecture 1/3 CERN Accelerator School on Digital Signal Processing Sigtuna, Sweden, 31 May – 9 June 2007 Javier.
Lecture 4 General-Purpose Input/Output NCHUEE 720A Lab Prof. Jichiang Tsai.
Survey of Reconfigurable Logic Technologies
Issues in FPGA Technologies
Programmable Logic Devices
Sequential Logic Design
HISTORY OF MICROPROCESSORS
8051 Pin - out PORT 0 PORT 1 PORT 2 PORT 3.
The 8085 Microprocessor Architecture
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
Complex Programmable Logic Device (CPLD) Architecture and Its Applications
Introduction to Programmable Logic
Head-to-Head Xilinx Virtex-II Pro Altera Stratix 1.5v 130nm copper
XILINX FPGAs Xilinx lunched first commercial FPGA XC2000 in 1985
The 8085 Microprocessor Architecture
ECE 4110–5110 Digital System Design
Electronics for Physicists
Dr. Michael Nasief Lecture 2
Spartan FPGAs مرتضي صاحب الزماني.
An Introduction to Microprocessor Architecture using intel 8085 as a classic processor
Registers and Counters Register : A Group of Flip-Flops. N-Bit Register has N flip-flops. Each flip-flop stores 1-Bit Information. So N-Bit Register Stores.
Introduction to Microprocessors and Microcontrollers
Interfacing Memory Interfacing.
Field Programmable Gate Array
Field Programmable Gate Array
COOLRUNNER II REAL DIGITAL CPLD
Field Programmable Gate Array
We will be studying the architecture of XC3000.
Xilinx FPGA Architecture
The Xilinx Virtex Series FPGA
XC4000E Series Xilinx XC4000 Series Architecture 8/98
The Digital Logic Level
ChipScope Pro Software
Basic Adders and Counters Implementation of Adders
Registers.
The 8085 Microprocessor Architecture
Overview Last lecture Digital hardware systems Today
Xilinx FPGA Architecture Overview
The Xilinx Virtex Series FPGA
Digital Signal Processors-1
Electronics for Physicists
ChipScope Pro Software
Implementing Logic Gates and Circuits
FPGA’s 9/22/08.
Programmable logic and FPGA
Presentation transcript:

Reconfigurable FPGAs (The Xilinx Virtex II Pro / ProX FPGA family) 03/02/2006 Shadab Ambat

Introduction Virtex-II Pro FPGAs were incorporated in 2002 and fabricated in 130 nm, 1.5V process technology. They incorporate upto 2 embedded IBM PowerPC (400 MHz) processors and 3.125 Gbps RocketIO serial transceivers. The, Virtex-II Pro X is an extended version, introduced in 2003 with a transceiver data rate to 6.25 Gbps.

They can be scaled down or up in features, density, I/O and performance depending on the requirements. Embedded and distributed memory Digital Clock Management for on-chip/off-chip clock synthesis and synchronization XCITE digitally-controlled I/O impedance to improve signal integrity and reduce board space Full/partial FPGA reconfiguration Up to 444 18X18 bit embedded multipliers Extensive library of DSP algorithms DSP tools such as The MathWorks MATLAB/Simulink, the Xilinx System Generator for DSP, and Cadence SPW Over 200 IP cores from Xilinx and partners

Virtex II ProX Two devices - 2VPX20 and 2VPX70 Has all features of the Pro version Additional features include new embedded RocketIO X serial transceivers consisting of:- Eight or 20 channels per device 2.488 to 6.25 Gbps per channel 20X and 16X clocks and data paths 8b/10b and 64b/66b encoding SONET/SDH OC-48 jitter compliance Programmable receiver equalization for enhanced signal integrity Ideally suited for 10G Ethernet, SONET OC-48, and proprietary backplane applications

Architecture Overview Apart from the RocketIO cores and the RISC CPU, the FPGA consists of the following: Input/Output Blocks (IOBs): They are bidirectional blocks that can be programmed as inputs or outputs. Inputs and outputs can have optional SDR or DDR data registers and outputs can also have optional tri-state buffers. Configurable Logic Blocks (CLBs): FPGAs consist of an array of CLBs arranged in rows and columns. These are the blocks that implement the sequential and combinatorial logic of the FPGAs

Block SelectRAM+ Memory: They consist of 18 Kb of true Dual-Port RAM, programmable from 16K x 1 bit to 512 x 36 bit, in various depth and width configurations. 18 X 18 Bit Multipliers: A multiplier block is associated with each SelectRAM+ memory block. The multiplier block is a dedicated 18 x 18-bit 2s complement signed multiplier. Read/multiply/accumulate operations and DSP filter structures are extremely efficient. Global Clocking: Implemented using Digital Clock Manager (DCM) and global clock multiplexer buffers. Upto 12 DCMs available, providing deskewed and 90-, 180- and 270- degree phase shifted versions of its output clocks.

Routing Resources: All the above blocks use the same interconnect scheme and the same access to the global routing matrix. Boundary Scan: Boundary-scan (JTAG) instructions and associated data registers support a standard methodology for accessing and configuring Virtex-II Pro devices. Can function in system mode, in which the device will continue to function while executing non-test boundary- scan instructions or in test mode in which boundary-scan test instructions control the I/O pins for testing purposes. Configuration: Virtex-II Pro / Virtex-II Pro devices are configured by loading the bitstream into internal configuration memory using one of the following modes: Slave-serial mode Master-serial mode Slave SelectMAP mode Master SelectMAP mode Boundary-Scan mode (IEEE 1532)

Readback and Integrated Logic Analyzer: Configuration data stored in device configuration memory can be read back for verification (using Xilinx ChipScope Integrated Logic Analyzer cores and Integrated Bus Analyzer cores with the corresponding software).

Configurable Logic Blocks A conceptual model of the FPGA is shown in the fig†. with its 3 basic elements namely the IOBs, Programmable Interconnects and most importantly the CLBs. Although FPGAs depend more heavily on interconnects than CPLDs, the logic functions are mainly realized by the CLBs. †http://www.coe.montana.edu/ee/courses/ee/ee367/pdffiles/truegamer.pdf

CLB resources consist of four slices and two 3-state buffers. Each slice is equivalent and contains: Two function generators (F & G) Two storage elements Arithmetic logic gates Large multiplexers Wide function capability Fast carry look-ahead chain Horizontal cascade chain (OR gate) The function generators F & G are configurable as 4-input look-up tables (LUTs), as 16-bit shift registers, or as 16-bit distributed SelectRAM+ memory.

The two storage elements are either edge-triggered D-type flip-flops or level-sensitive latches. Each CLB has internal fast interconnect and connects to a switch matrix to access general routing resources. Each slice has a dedicated OR gate for implementing a Sum of Products chain.

Fig.: A Virtex II Pro Slice (Top Half)

IP Cores The Virtex II Pro FPGA supports several hardware and software Intellectual Property cores. Some of the prominent ones are: Hardware Cores: Bus Infrastructure cores (arbiters, bridges etc.) Memory cores (like DDR, Flash) Peripheral cores (UART, IIC) Networking cores (e.g. ATM, Ethernet) Software Cores: Boot code Test code Device drivers Protocol stacks RTOS integration Customized board support package

The IP cores are modular, portable, RTOS independent, and CoreConnect compatible hence allowing design migration.

18bit * 18 bit Multipliers The device has several 18-bit by 18-bit 2’s complement signed, dedicated embedded multiplier blocks. The multipliers can be associated with an 18 Kb block SelectRAM+ resource or can be used independently. They are optimized for high-speed operations and have a lower power consumption compared to the 18-bit x 18-bit multiplier in the CLB slices. Each memory and multiplier block is tied to four switch matrices The SelectRAM+ memory can be used only up to 18 bits wide when the multiplier is used, because the multiplier shares inputs with the upper data bits of its memory.

Both A and B are 18-bit-wide inputs, and the output is 36 bits. Fig.: The Memory and multiplier block connections Fig.: A multiplier block

Device Configuration The FPGA is configured by loading application specific configuration data into the internal configuration memory. Configuration is carried out using a subset of the total pins, some of which are dedicated, while others can be re-used as general purpose I/Os once configuration is complete. There are 3 mode pins M0, M1 and M2 which select out of five configuration modes. The mode pins should be either pulled-up or down through resistors, or tied directly to ground or VCCAUX (2.5V) to prevent varying supply during configuration, and should not be toggled during and after configuration.

Configuration Modes Virtex-II Pro has five configuration modes: Slave-Serial Mode Master-Serial Mode Slave SelectMAP Mode Master SelectMAP Mode Boundary-Scan (JTAG, IEEE 1532) Mode

Slave-Serial Mode: In slave-serial mode, the FPGA receives configuration data in bit-serial form from a serial PROM or other serial source of configuration data. The CCLK pin on the FPGA is an input in this mode. CCLK is externally generated Multiple FPGAs can be daisy-chained for configuration from a single source. Master-Serial Mode: In this mode, it is the Virtex-II Pro FPGA device that drives the configuration clock (CCLK) The interface is identical to slave serial except that an internal oscillator is used to generate the configuration clock. A wide range of frequencies can be selected for CCLK which always starts at a slow default frequency.

Slave SelectMAP Mode: This is the fastest configuration option. Byte-wide data is written into the device with a BUSY flag controlling the flow of data. An external data source provides a byte stream, CCLK, an active Low Chip Select (CS_B) signal and a Write signal (RDWR_B). If BUSY is asserted (High) by the FPGA, the data must be held until it goes Low. Data can also be read using the SelectMAP mode. If RDWR_B is asserted, configuration data is read out of the FPGA as part of a readback operation. Master SelectMAP Mode: This is a master version of the previous mode. The device is configured byte-wide on a CCLK supplied internally by the FPGA. Timing is similar to the Slave SerialMAP mode except that CCLK is supplied by FPGA.

Boundary-Scan (JTAG, IEEE 1532) Mode: In boundary-scan mode, dedicated pins are used for configuring the device. The configuration is done entirely through the IEEE 1149.1 Test Access Port (TAP). Configuration through the boundary-scan port is always available, independent of the mode selection.

Readback In this mode, configuration data from the Virtex-II Pro FPGA device can be read back. Readback is supported only in theSelectMAP (master and slave) and Boundary Scan mode. Along with the configuration data, it is possible to read back the contents of all registers, distributed SelectRAM+, and block RAM resources and is useful for debugging purposes.

Partial Reconfiguration Partial reconfiguration can be accomplished in either Slave SelectMAP mode or Boundary-Scan mode. New data is loaded into a specified area of the chip, while the rest of the chip remains in operation. Chip is not required to be reset as in a full configuration Data is loaded on a column basis, with the smallest load unit being a configuration “frame” of the bitstream (device size dependent). Partial reconfiguration is useful for applications that require different designs to be loaded into the same area of a chip, or that require the ability to change portions of a design without having to reset or reconfigure the entire chip (dynamic reconfiguration).