81
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Introduction to Xilinx FPGA Design Workshop

Introduction to Xilinx - CINVESTAV

  • Upload
    others

  • View
    30

  • Download
    0

Embed Size (px)

Citation preview

© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Introduction to Xilinx

FPGA Design Workshop

Basic FPGA Architecture 2 - 3 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Objectives

Describe who Xilinx isDescribe where Programmable Logic fits into the Engineering CurriculumsList the Xilinx Products necessary to set up a lab

After completing this section, you will be able to. . .

Basic FPGA Architecture 2 - 4 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Who is Xilinx?World’s leading innovator of complete programmable logic solutions

Inventor of the Field Programmable Gate ArrayFabless* Semiconductor and Software Company

UMC (Taiwan) {*Xilinx acquired an equity stake in UMC in 1996}

Seiko Epson (Japan)TSMC (Taiwan)

Programmable Logic Devices ISE Alliance and Foundation

Series Design Software

Basic FPGA Architecture 2 - 5 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Electronic ComponentsSource: Dataquest Logic

StandardLogic ASIC

ProgrammableLogic Devices(PLDs)

GateArrays

Cell-BasedICs

Full CustomICs

CPLDsSPLDs(PALs) FPGAs

AcronymsSPLD = Simple Prog. Logic Device PAL = Prog. Array of LogicCPLD = Complex PLDFPGA = Field Prog. Gate Array

Common ResourcesConfigurable Logic Blocks (CLB)

– Memory Look-Up Table– AND-OR planes– Simple gates

Input / Output Blocks (IOB)– Bidirectional, latches, inverters, pullup/pulldowns

Interconnect or Routing– Local, internal feedback, and global

Basic FPGA Architecture 2 - 6 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

• No high development cost barriers• Recovered time for authoring and innovating

– SW improvements reduce design iterations

• No lengthy prototyping cycle• Ability to remotely upgrade any networked system• Ultimate flexibility to manage rapid change

Programmable Logic Solution

Basic FPGA Architecture 2 - 7 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Where Programmable Logic Fits into the Electronics Industry

• Processor• Memory• Logic

Xilinx is the Leading Innovator of

Complete Programmable Logic Solutions

Xilinx is the Leading Innovator of

Complete Programmable Logic Solutions

Key components of an electronics system:

Basic FPGA Architecture 2 - 8 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Where Programmable Logic Fits into Engineering Curriculums

Engineering LabsResearch ProjectsSenior Design ProjectsDesign Contests

Basic FPGA Architecture 2 - 9 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

1) Professor assigns application (Project, Lab Assignment, etc.)

2) Student creates application with Xilinx Software Tools

3) When Application Is Final, Student implements design in hardware

How Universities Use Programmable Logic

Basic FPGA Architecture 2 - 10 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Xilinx ProductsCPLDs and FPGAs

Architecture PAL/22V10-like Gate array-likeMore Combinational More Registers + RAM

Density Low-to-medium Medium-to-high0.5-10K logic gates 1K to 3.2M system gates

Performance Predictable timing Application dependentUp to 250 MHz today Up to 200 MHz today

Interconnect “Crossbar Switch” Incremental

Complex Programmable Logic Device (CPLD)

Field-Programmable Gate Array (FPGA)

Basic FPGA Architecture 2 - 11 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Xilinx Products Design Tools

v6.2i ISE SoftwareComplete Software Package

– Design Entry (Schematic, VHDL, Verilog)– Synthesis (XST) – Implementation (Translate, Map, Place & Route)– Simulation (Modelsim)– iMPACT Programmer (Download Bistream)

CORE Generator – Parameterizable Cores

StateCAD/State Bencher– State Machine Design

HDL Bencher– Test Bench Generation

Unix, Linux, & PC Platforms

Basic FPGA Architecture 2 - 12 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

• New leading-edge device families

• ISE advantages can be leveraged across various Engineering courses– Across all device families and design sizes

6.2i Device Support all Xilinx leading FPGA/CPLD families

Basic FPGA Architecture 2 - 13 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Programmable Logic Design Flow

XC4000XC4000XC4000

3

Design Entry & Synthesis in schematic, ABEL, VHDL, and/or Verilog.

Implementation includes Placement & Routing and bitstream generation using Xilinx’s M1 Technology. Also, analyze timing, view layout, and more.

Download directly to the Xilinx hardware device(s) with unlimited reconfigurations* !!

1

2

© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Basic FPGA Architecture

FPGA Design Flow Workshop

Basic FPGA Architecture 2 - 15 © 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 2 - 16 © 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 2 - 17 © 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 2 - 18 © 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 2 - 19 © 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

SwitchMatrix

BUFTBUF T

COUTCOUT

Slice S0

Slice S1

Local Routing

Slice S2

Slice S3

CIN

SHIFT

Basic FPGA Architecture 2 - 20 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Slice 0

LUT Carry

LUT Carry D QCE

PRE

CLR

DQCE

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 2 - 21 © 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 2 - 22 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Combinatorial Logic

AB

CD

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

A B C D Z0 0 0 0 00 0 0 1 00 0 1 0 00 0 1 1 10 1 0 0 10 1 0 1 1

. . .1 1 0 0 01 1 0 1 01 1 1 0 01 1 1 1 1

Basic FPGA Architecture 2 - 23 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Connecting Look-Up Tables

F5F8

F5F6

CLB

Slice S3

Slice S2

Slice S0

Slice S1 F5F7

F5F6

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 2 - 24 © 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 2 - 25 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

CODI CIS

LUT

CY_MUX

CY_XOR

MULT_AND

A

B

A x B

LUT

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

Basic FPGA Architecture 2 - 26 © 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

DCE

PRE

CLR

Q

FDCPE

DCE

S

R

Q

FDRSE

DCE

PRE

CLR

Q

LDCPE

G

_1

Basic FPGA Architecture 2 - 27 © 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

D QCE

D QCE

D QCE

D QCE

LUTD

CECLK

A[3:0]

Q

Q15 (cascade out)

Basic FPGA Architecture 2 - 28 © 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

64Operation A

4 Cycles 8 Cycles

Operation B

3 Cycles

Operation C

64

12 Cycles

Paths are StaticallyBalanced

9 Cycles

Operation D - NOP

Basic FPGA Architecture 2 - 29 © 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 2 - 30 © 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

Reg

DDR MUX

3-state

OCK1

OCK2

Reg

Reg

DDR MUX

Output

OCK1

OCK2

PAD

Reg

Reg

Input

ICK1

ICK2

IOB

Basic FPGA Architecture 2 - 31 © 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 2 - 32 © 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 2 - 33 © 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 2 - 34 © 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 2 - 35 © 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

DWE

WCLKA0A1A2A3

LUT

RAM32X1S

O

DWE

WCLKA0A1A2A3A4

RAM16X1D

SPO

DWE

WCLKA0A1A2A3DPRA0 DPODPRA1DPRA2DPRA3

Slice

LUT

LUT

Basic FPGA Architecture 2 - 36 © 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 2 - 37 © 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 18Multiplier

Output (36 bits)

Data_A (18 bits)

Data_B (18 bits)

4 x 4 signed8 x 8 signed12 x 12 signed18 x 18 signed

Basic FPGA Architecture 2 - 38 © 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 2 - 39 © 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 2 - 40 © 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 2 - 41 © 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 2 - 42 © 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

SwitchMatrix

COUTCOUT

Slice X0Y0

Slice X0Y1

Fast Connects

Slice X1Y0

Slice X1Y1

CIN

SHIFTIN

Left-Hand SLICEM Right-Hand SLICEL

SHIFTOUT

Basic FPGA Architecture 2 - 43 © 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 2 - 44 © 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

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

Skills CheckSkills Check

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

Where Can I Learn More?

• User Guides– http://support.xilinx.com Documentation

• Application Notes– http://support.xilinx.com Documentation App Notes

Basic FPGA Architecture 2 - 52 © 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 2 - 53 © 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)

ConfigurableLogic Blocks (CLBs)

Clock Management (DCMs, BUFGMUXes)

Block SelectRAM™resource

Dedicated multipliers

Programmable interconnect

Basic FPGA Architecture 2 - 54 © 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

Reg

DDR mux

FDDR

OCK1

OCK2

D1

D2PAD

OBUFClock

Basic FPGA Architecture 2 - 55 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Configuration Depth Data Bits Parity Bits16k x 1 16 kb 1 08k x 2 8 kb 2 04k x 4 4 kb 4 02k x 9 2 kb 8 1

1k x 18 1 kb 16 2512 x 36 512 32 4

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-bIN 8-bit

OUT 32-bitPort B: 32-b

Basic FPGA Architecture 2 - 56 © 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

OIBUFG

Basic FPGA Architecture 2 - 57 © 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

BUFG

MUX

OI1

I0

S

I0

I1

S

O

Wait for low

Switch

© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Xilinx Design FlowFPGA Design Flow Workshop

Basic FPGA Architecture 2 - 59 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Objectives

After completing this module, you will be able to:• List the steps of the Xilinx design process• Implement an FPGA design by using default software options

Basic FPGA Architecture 2 - 60 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Outline

• Overview• ISE• Summary

Basic FPGA Architecture 2 - 61 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Translate

Map

Place & Route

Xilinx Design Flow

Plan & Budget HDL RTLSimulation

Synthesizeto create netlist

FunctionalSimulation

Create Bit File

Attain Timing Closure

TimingSimulation

Implement

Create Code/Schematic

Basic FPGA Architecture 2 - 62 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Design Entry• Plan and budget• Two design-entry methods: HDL or schematic

– Architecture Wizard, CORE Generator™ system, and StateCAD are available to assist in design entry

• Whichever method you use, you will need a tool to generate an EDIF or NGC netlist to bring into the Xilinx implementation tools

– Popular synthesis tools: Synplify, Precision, FPGA Compiler II, and XST• Simulate the design to ensure that it works as expected!

Plan & Budget Create Code/Schematic

HDL RTLSimulation

Synthesizeto create netlist

FunctionalSimulation

. . .

Basic FPGA Architecture 2 - 63 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Xilinx Implementation

• Once you generate a netlist, you can implement the design

• There are several outputs of implementation

– Reports– Timing simulation netlists– Floorplan files– FPGA Editor files– and more!

Translate

Map

Place & Route

Implement. . .

. . .

Basic FPGA Architecture 2 - 64 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

What is Implementation?

• More than just “Place & Route”• Implementation includes many phases

– Translate: Merge multiple design files into a single netlist– Map: Group logical symbols from the netlist (gates) into physical

components (slices and IOBs)– Place & Route: Place components onto the chip, connect them, and extract

timing data into reports• Each phase generates files that allow you to use other Xilinx tools

– Floorplanner, FPGA Editor, XPower

Basic FPGA Architecture 2 - 65 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Timing Closure

• The Timing Closure Flow is a recommended method for helping designs meet their timing objectives

• Details on each part of the flow are discussed in this course and in the Designing for Performance course

Basic FPGA Architecture 2 - 66 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Download

• Once a design is implemented, you must create a file that the FPGA can understand

– This file is called a bitstream: a BIT file (.bit extension)

• The BIT file can be downloaded directly to the FPGA, or it can be converted into a PROM file, which stores the programming information

Basic FPGA Architecture 2 - 67 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Outline

• Overview• ISE• Summary

Basic FPGA Architecture 2 - 68 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

What is ISE?

• Graphical interface to design entry and implementation tools

– Access to synthesis and schematic tools

• Including third-party synthesis tools

– Implement your design with a simple double-click

• Fine-tune with easy-to-access software options

Basic FPGA Architecture 2 - 69 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

WebUpdate

• Automatically checks for Service Packs on the web• Alerts you when an update is available• Supports PC platform only

Basic FPGA Architecture 2 - 70 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Creating a Project

• Select File New Project

• New Project Wizard guides you through the process

– Project name and location

– Target device– Software flow– Create or add

source files

Basic FPGA Architecture 2 - 71 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Creating and Adding Source Files

• To include an existing source file, double-click Add Existing Source

• To create a new source file, double-click Create New Source and choose the type of file

– HDL file– IP– Schematic– State diagram– Testbench– Constraints file

Basic FPGA Architecture 2 - 72 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Implementing a Design

• To implement a design:– In the Sources in Project window,

select the top-level source file • HDL, schematic, or EDIF,

depending on your design flow– In the Processes for Source window,

double-click Implement Design

Basic FPGA Architecture 2 - 73 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Implementation Status• ISE will run all of the necessary steps

to implement the design– Synthesize HDL code– Translate– Map– Place & Route

• Progress and status are indicated by icons– Green check mark ( ) indicates that the

process was completed successfully– Yellow exclamation point ( ! ) indicates

warnings– Yellow question mark ( ? ) indicates a file

that is out of date– Red “X” indicates errors

Basic FPGA Architecture 2 - 74 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Simulating a Design

• To simulate a design:– In the Sources in Project window,

select a testbench file – In the Processes for Source window,

expand ModelSim Simulator – Double-click Simulate

Behavioral Model or Simulate Post-Place & Route Model

• Can also simulate after Translate or after Map

Basic FPGA Architecture 2 - 75 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Sub-Processes

• Each process can be expanded to view sub-tools and sub-processes

– Translate• Floorplan• Assign Package Pins

– Map• Analyze timing

– Place & Route• Analyze timing• Floorplan • FPGA Editor• Analyze power• Create simulation model

Basic FPGA Architecture 2 - 76 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Hierarchical Simulation Netlists

• Create separate simulation netlists and SDF files for each level of design hierarchy

– Simplifies timing verification– Allows you to re-use testbenches from behavioral simulation

• Hierarchy must be maintained during synthesis• Use the KEEP_HIERARCHY attribute in UCF file• For more information, see Answer #17693

Basic FPGA Architecture 2 - 77 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Program the FPGA

• There are two ways to program an FPGA

– Through a PROM device• You will need to generate

a file that the PROM programmer will understand

– Directly from the computer• Use the iMPACT

configuration tool

Basic FPGA Architecture 2 - 78 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Outline

• Overview• ISE• Summary

Basic FPGA Architecture 2 - 79 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Review Questions

• What are the phases of the Xilinx design flow?

• What are the components of implementation, and what happens at each step?

• What are two methods used to program an FPGA?

Basic FPGA Architecture 2 - 80 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Answers• What are the phases of the Xilinx design flow?

– Planning and budgeting, create code or schematic, RTL simulation, synthesize, functional simulation, implement, timing closure, timing simulation, BIT file creation

• What are the components of implementation, and what happens at each step?

– Translate: merges multiple design files into one netlist– Map: groups logical symbols into physical components– Place & Route: places components onto the chip and connects them together

• What are two methods used to program an FPGA?– PROM– Xilinx iMPACT configuration tool

Basic FPGA Architecture 2 - 81 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Summary

• Implementation means more than place & route

• Xilinx provides a simple “pushbutton” tool to help you through the Xilinx design process

Basic FPGA Architecture 2 - 82 © 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only

Where Can I Learn More?

• Complete design flow tutorials– http://support.xilinx.com Documentation Tutorials

• On the phases of implementation– http://support.xilinx.com Software Manuals Development System

Reference Guide• On hierarchical simulation netlists

– http://support.xilinx.com Answer #17693• Configuration Problem Solver

– http://support.xilinx.com Problem Solvers Configuration Problem Solver