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.

Slides:



Advertisements
Similar presentations
Lecture 15 Finite State Machine Implementation
Advertisements

Spartan-3 FPGA HDL Coding Techniques
Xilinx CPLDs and FPGAs Module F2-1. CPLDs and FPGAs XC9500 CPLD XC4000 FPGA Spartan FPGA Spartan II FPGA Virtex FPGA.
This material exempt per Department of Commerce license exception TSU Xilinx Product Intro and Basic FPGA Architecture.
Xilinx FPGAs:Evolution and Revolution. Evolution results in bigger, faster, cheaper FPGAs; better software with fewer bugs, faster compile times; coupled.
Basic FPGA Architecture © 2005 Xilinx, Inc. All Rights Reserved For Academic Use Only Virtex-II Architecture Virtex™-II architecture’s core voltage.
Introduction To VIRTEX II Architecture Presented By: Ankur Agarwal.
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.
Lecture 11 Xilinx FPGA Memories
George Mason University ECE 645 – Computer Arithmetic Introduction to FPGA Devices.
ECE 448 Lecture 7 FPGA Devices
The Spartan 3e FPGA. CS/EE 3710 The Spartan 3e FPGA  What’s inside the chip? How does it implement random logic? What other features can you use?  What.
Evolution of implementation technologies
Programmable logic and FPGA
Introduction to Field Programmable Gate Arrays (FPGAs) COE 203 Digital Logic Laboratory Dr. Aiman El-Maleh College of Computer Sciences and Engineering.
Multiplexers, Decoders, and Programmable Logic Devices
ECE 331 – Digital System Design Tristate Buffers, Read-Only Memories and Programmable Logic Devices (Lecture #16) The slides included herein were taken.
CMPUT Computer Organization and Architecture II1 CMPUT329 - Fall 2003 Topic: Internal Organization of an FPGA José Nelson Amaral.
1. 2 FPGAs Historically, FPGA architectures and companies began around the same time as CPLDs FPGAs are closer to “programmable ASICs” -- large emphasis.
Introduction to FPGA’s FPGA (Field Programmable Gate Array) –ASIC chips provide the highest performance, but can only perform the function they were designed.
Using Programmable Logic to Accelerate DSP Functions 1 Using Programmable Logic to Accelerate DSP Functions “An Overview“ Greg Goslin Digital Signal Processing.
1 DIGITAL DESIGN I DR. M. MAROUF FPGAs AUTHOR J. WAKERLY.
Dr. Konstantinos Tatas ACOE201 – Computer Architecture I – Laboratory Exercises Background and Introduction.
ECE 448 – FPGA and ASIC Design with VHDL Lecture 10 Memories (RAM/ROM)
Unit 9 Multiplexers, Decoders, and Programmable Logic Devices
DLS Digital Controller Tony Dobbing Head of Power Supplies Group.
Register Files and Memories
Section II Basic PLD Architecture. Section II Agenda  Basic PLD Architecture —XC9500 and XC4000 Hardware Architectures —Foundation and Alliance Series.
Open Discussion of Design Flow Today’s task: Design an ASIC that will drive a TV cell phone Exercise objective: Importance of codesign.
COE 405 Programmable Logic and Storage Devices Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Dr. Aiman.
Electronics in High Energy Physics Introduction to Electronics in HEP Field Programmable Gate Arrays Part 1 based on the lecture of S.Haas.
ECE 448 – FPGA and ASIC Design with VHDL Lecture 11 Memories in Xilinx FPGAs.
J. Christiansen, CERN - EP/MIC
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.
Advance Digital Design Hassan Bhatti, Lecture 10.
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.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
Programmable Logic Devices
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.
ECE 448 Lecture 6 FPGA devices
George Mason University ECE 449 – Computer Design Lab Introduction to FPGA Devices & Tools.
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Basic FPGA Architecture FPGA Design Flow Workshop.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL ECE 448 Lecture 10 Memories: RAM, ROM.
M.Mohajjel. Why? TTM (Time-to-market) Prototyping Reconfigurable and Custom Computing 2Digital System Design.
ESS | FPGA for Dummies | | Maurizio Donna FPGA for Dummies Basic FPGA architecture.
EE121 John Wakerly Lecture #15
ECE 545—Digital System Design with VHDL Lecture 1
George Mason University ECE 448 – FPGA and ASIC Design with VHDL FPGA Devices ECE 448 Lecture 5.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
Basic FPGA Architecture
Register Files and Memories ECE 554 Digital Engineering Laboratory C. R. Kime 2/18/2002.
Sequential Logic Design
Register Files and Memories
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
Basic FPGA Architecture
Programmable Logic Memories
We will be studying the architecture of XC3000.
The Xilinx Virtex Series FPGA
XC4000E Series Xilinx XC4000 Series Architecture 8/98
ECE 448 Lecture 7 FPGA Devices
Basic Adders and Counters Implementation of Adders
Reconfigurable FPGAs (The Xilinx Virtex II Pro / ProX FPGA family)
The Xilinx Virtex Series FPGA
Basic FPGA Architecture
Implementing Logic Gates and Circuits
FPGA’s 9/22/08.
Presentation transcript:

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 SRAM-based reprogramable –Must be reprogrammed each time powered up –This is usually accomplished by using a small serial PROM.

Spartan-3 Architecture Fundamental Elements Configurable Logic Blocks (CLBs) –Consists of RAM based look up table to implement logic and storage elements that can be used as flip-flops or latches. Input Output Blocks (IOBs) –Controls the flow of data between IO pins and internal logic. Supports many different signal standards. (Tri- state, bidirectional, LVTTL, etc. Block RAM (BRAM) 18 bit Multiplier Blocks Digital Clock Manager (DCM)

CLB’s

Spartan 3 Configurable Logic Blocks (CLB’s) CLBs contain Ram based lookup tables to implement logic and storage elements that can be used as flip-flops or latches. CLBs can be programmed to perform a wide variety of logic functions as well as store data.

Spartan 3E IO Blocks (IOB’s) IOB’s control flow of data between IO pins and the internal logic. Each IOB supports bidirectional data flow, 3-state operation, and numerous different signal standards. (We will typically use LVTTL). See data sheet.

I/O block

I/O block continued

CLB’s – four slices per CLB

Slices and CLBs Each Spartan  -III 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 CIN Switch Matrix BUFT COUT Slice S0 Slice S1 Local Routing Slice S2 Slice S3 CIN SHIFT

Slice 0 LUT Carry LUT Carry DQ CE PRE CLR D Q CE PRE CLR 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

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

Combinatorial Logic A B C D Z 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 ABCDZ

Connecting Look-Up Tables F5 F8 F5 F6 CLB Slice S3 Slice S2 Slice S0 Slice S1 F5 F7 F5 F6 MUXF8 combines the two MUXF7 outputs (from the CLB above or below) MUXF6 combines slices S2 and S3 MUXF7 combines the two MUXF6 outputs MUXF6 combines slices S0 and S1 MUXF5 combines LUTs in each slice

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

CO DICI S LUT CY_MUX CY_XOR MULT_AND A B A x B LUT 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

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 RAM16X1S O D WE WCLK A0 A1 A2 A3 LUT RAM32X1S O D WE WCLK A0 A1 A2 A3 A4 RAM16X1D SPO D WE WCLK A0 A1 A2 A3 DPRA0DPO DPRA1 DPRA2 DPRA3 Slice LUT

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 DIA DIPA ADDRA WEA ENA SSRA CLKA DIB DIPB WEB ADDRB ENB SSRB DOA CLKB DOPA DOPB DOB 18-kb block SelectRAM memory

ConfigurationDepthData BitsParity Bits 16k x 116 kb10 8k x 28 kb20 4k x 44 kb40 2k x 92 kb81 1k x 181 kb x Dual-Port Block RAM Configurations Configurations available on each port Independent configurations on ports A and B –Supports data-width conversion, including parity bits Port A: 8 bits IN 8 bit OUT 32 bit Port B: 32 bits

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 18 x 18 Multiplier 18 x 18 Multiplier Output (36 bits) Data_A (18 bits) Data_B (18 bits) 4 x 4 signed 8 x 8 signed 12 x 12 signed 18 x 18 signed

Spartan-3A FPGA Starter Kit board User Guide Spartan III Starter –Kit