© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Basic FPGA Architecture FPGA Design Flow Workshop.

Slides:



Advertisements
Similar presentations
Basic HDL Coding Techniques
Advertisements

Lecture 15 Finite State Machine Implementation
Spartan-3 FPGA HDL Coding Techniques
Commercial FPGAs: Altera Stratix Family Dr. Philip Brisk Department of Computer Science and Engineering University of California, Riverside CS 223.
Basic FPGA Architectures
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.
© 2003 Xilinx, Inc. All Rights Reserved Architecture Wizard and PACE FPGA Design Flow Workshop Xilinx: new module Xilinx: new module.
ADC Board VHDL Firmware development for Mona Lisa
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.
Virtex-II Architecture. Virtex-II/Spartan-III 2 Outline CLB Resources Memory and Multipliers I/O Resources Clock Resources.
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.
Configurable System-on-Chip: Xilinx EDK
Programmable logic and FPGA
CMPUT Computer Organization and Architecture II1 CMPUT329 - Fall 2003 Topic: Internal Organization of an FPGA José Nelson Amaral.
Implementing Digital Circuits Lecture L3.1. Implementing Digital Circuits Transistors and Integrated Circuits Transistor-Transistor Logic (TTL) Programmable.
Basic Adders and Counters Implementation of Adders in FPGAs ECE 645: Lecture 3.
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.
FPGA and ASIC Technology Comparison - 1 © 2009 Xilinx, Inc. All Rights Reserved FPGA and ASIC Technology Comparison, Part 1.
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.
Spartan-II Memory Controller For QDR SRAMs Lobby Pitch February 2000 ®
Open Discussion of Design Flow Today’s task: Design an ASIC that will drive a TV cell phone Exercise objective: Importance of codesign.
Electronics in High Energy Physics Introduction to Electronics in HEP Field Programmable Gate Arrays Part 1 based on the lecture of S.Haas.
System Arch 2008 (Fire Tom Wada) /10/9 Field Programmable Gate Array.
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.
Architecture and Features
SEQUENTIAL CIRCUITS Component Design and Use. Register with Parallel Load  Register: Group of Flip-Flops  Ex: D Flip-Flops  Holds a Word of Data 
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
© 2003 Xilinx, Inc. All Rights Reserved Synchronous Design Techniques.
Basic Sequential Components CT101 – Computing Systems Organization.
ECE 448 Lecture 6 FPGA devices
© 2003 Xilinx, Inc. All Rights Reserved Global Timing Constraints FPGA Design Flow Workshop.
BR 1/991 Issues in FPGA Technologies Complexity of Logic Element –How many inputs/outputs for the logic element? –Does the basic logic element contain.
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU FPGA Design with Xilinx ISE Presenter: Shu-yen Lin Advisor: Prof. An-Yeu Wu 2005/6/6.
® /1 The E is the Edge. ® /2 Density Leadership Virtex XCV1000 Density (system gates) 10M Gates In 2002 Virtex-E.
This material exempt per Department of Commerce license exception TSU Synchronous Design Techniques.
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.
Survey of Reconfigurable Logic Technologies
ESS | FPGA for Dummies | | Maurizio Donna FPGA for Dummies Modern FPGA architecture.
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
Issues in FPGA Technologies
Sequential Logic Design
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
Instructor: Dr. Phillip Jones
Spartan FPGAs مرتضي صاحب الزماني.
Basic FPGA Architecture
ASP-H Clocks John DeHart Applied Research Laboratory Computer Science and Engineering Department
Introduction.
The Xilinx Virtex Series FPGA
XC4000E Series Xilinx XC4000 Series Architecture 8/98
Basic Adders and Counters Implementation of Adders
Reconfigurable FPGAs (The Xilinx Virtex II Pro / ProX FPGA family)
Xilinx FPGA Architecture Overview
The Xilinx Virtex Series FPGA
Basic FPGA Architecture
Introduction.
FPGA’s 9/22/08.
Presentation transcript:

© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Basic FPGA Architecture FPGA Design Flow Workshop

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Objectives After completing this module, you will be able to: Recognize the basic architectural resources of the Virtex ® -II FPGA List the differences between Virtex-II, Virtex-II Pro™, and Spartan ® -3

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Outline Overview Slice Resources I/O Resources Other Virtex-II Features Spartan-3 versus Virtex-II Virtex-II Pro Features Summary Appendix

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Overview All Xilinx FPGAs contain the same basic resources – Slices contain combinatorial logic and register resources – IOBs interface between the FPGA and the outside world – Programmable interconnect – Other resources Global clock buffers Boundary scan logic

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Outline Overview Slice Resources I/O Resources Other Virtex-II Features Spartan-3 versus Virtex-II Virtex-II Pro Features Summary Appendix

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only 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 CIN Switch Matrix BUFT COUT Slice S0 Slice S1 Local Routing Slice S2 Slice S3 CIN SHIFT

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only 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

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Detailed Slice Structure The next slides will discuss the slice features – LUTs – MUXF5, MUXF6, MUXF7, MUXF8 (only the F5 and F6 MUX are shown in the diagram) – Carry Logic – MULT_ANDs – Sequential Elements

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only 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 number of inputs, not complexity Delay through the LUT is constant ABCDZ

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only 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

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only 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

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only 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

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Flexible Sequential Elements Can be flip-flops or latches Two in each slice; eight in each CLB Inputs can 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 D CE PRE CLR Q FDCPE D CE S R Q FDRSE D CE PRE CLR Q LDCPE G _1

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only LUT 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 DQ CE DQ DQ DQ LUT D CE CLK A[3:0] Q Q15 (cascade out)

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

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Outline Overview Slice Resources I/O Resources Other Virtex-II Features Spartan-3 versus Virtex-II Virtex-II Pro Features Summary Appendix

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only 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 DDR MUX 3-state OCK1 OCK2 Reg DDR MUX Output OCK1 OCK2 PAD Reg Input ICK1 ICK2 IOB

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only 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 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only 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 – Internal feedback circuit eliminates the effects of temperature, voltage, and process variations

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Outline Overview Slice Resources I/O Resources Other Virtex-II Features Spartan-3 versus Virtex-II Virtex-II Pro Features Summary Appendix

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Other Virtex-II Features Distributed RAM and block RAM – Distributed RAMs use the CLB resources (1 LUT = 16 RAM bits) – Block RAMs are dedicated resources on the device (18k bit 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 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only 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

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only 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

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only 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 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

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Global Clock Routing Resources Sixteen dedicated global clock multiplexers – Eight on the top-center of the die, eight on the bottom-center – Can be driven by a clock input pad, a Digital Clock Manager (DCM), or local routing Global clock multiplexers provide: – Global clock enable capability (BUFGCE) – Glitch-free switching between clock signals (BUFGMUX) – Traditional clock buffer (BUFG) function Up to eight clock nets can be used in each quadrant of the device

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only 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: – 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 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Outline Overview CLB Resources I/O Resources Other Virtex-II Features Spartan-3 versus Virtex-II Virtex-II Pro Features Summary Appendix

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only 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 half of the slices support RAM or SRL16s (SLICEM) Fewer block RAMs and multiplier blocks – Same size and functionality 8 global clock multiplexers 2 or 4 DCM blocks No internal 3-state buffers – 3-state buffers are in the I/O

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only SLICEM and SLICEL Each Spartan™-3 CLB contains four slices – Similar to 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 CIN Switch Matrix COUT Slice X0Y0 Slice X0Y1 Fast Connects Slice X1Y0 Slice X1Y1 CIN SHIFTIN Left-Hand SLICEM Right-Hand SLICEL SHIFTOUT

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Outline Overview CLB Resources I/O Resources Other Virtex-II Features Spartan-3 versus Virtex-II Virtex-II Pro Features Summary Appendix

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only 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 Up to four PowerPC RISC processor blocks – Thirty-two 32-bit General Purpose Registers (GPRs) – Low power consumption: 0.9mW/MHz – IBM CoreConnect  bus architecture support Xilinx: Editor: Check if CoreConnect is an IBM trademark Xilinx: Editor: Check if CoreConnect is an IBM trademark

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Outline Overview CLB Resources I/O Resources Other Virtex-II Features Spartan-3 versus Virtex-II Virtex-II Pro Features Summary Appendix

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Skills Check

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Review Questions List the primary slice features List the three ways a LUT can be configured

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only 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 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only 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: – Distributed SelectRAM™ resources and distributed SelectROM (uses CLB LUTs) – 18-kb block SelectRAM resources

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Summary Virtex™-II contains dedicated 18 x 18 multipliers next to each block SelectRAM™ resource Digital Clock Managers provide: – Delay-Locked Loop (DLL) – Digital Frequency Synthesizer (DFS) – Digital Phase Shifter (DPS)

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Where Can I Learn More? User Guides –  Documentation Application Notes –  Documentation  App Notes

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Outline Overview CLB Resources I/O Resources Other Virtex-II Features Spartan-3 versus Virtex-II Virtex-II Pro Features Summary Appendix

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Virtex-II Architecture Virtex™-II architecture’s core voltage operates at 1.5V I/O Blocks (IOBs) Configurable Logic Blocks (CLBs) Clock Management (DCMs, BUFGMUXes) Block SelectRAM™ resource Dedicated multipliers Programmable interconnect

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Double Data Rate Registers DDR registers can be clocked by – Clock and NOT(Clock) if the duty cycle is 50/50 – The outputs CLK0 and CLK180 of a DCM If D1 = “1” and D2 = “0”, the output is a copy of Clock – Use this technique to generate a clock output that is synchronized to DDR output data Reg DDR mux FDDR OCK1 OCK2 D1 D2 PAD OBUFClock

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only 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-b IN 8-bit OUT 32-bit Port B: 32-b

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Clock Buffer Configurations Clock Buffer (BUFG) – Low-skew clock distribution Clock Enable Buffer (BUFGCE) – Holds the clock output low when CE is inactive – CE can be active-High or active-Low – Changes in CE are only recognized when the clock input is low to avoid glitches and short clock pulses OI CE BUFGCE OI BUFG

Basic FPGA Architecture © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Clock Buffer Configurations Clock Multiplexer (BUFGMUX) – Switches glitch-free from one clock to another – After a change on S, the BUFGMUX waits for the currently selected clock input to go Low – The output is held Low until the newly selected clock goes Low, then switches BUFGMUX O I1 I0 S I1 S O Wait for low Switch