FPGA design with xilinx - 國立臺灣大學access.ee.ntu.edu.tw/.../FPGA_design_with_xilinx.pdf ·...

Post on 06-Apr-2020

1 views 0 download

Transcript of FPGA design with xilinx - 國立臺灣大學access.ee.ntu.edu.tw/.../FPGA_design_with_xilinx.pdf ·...

ACCESS IC LAB

Graduate Institute of Electronics Engineering, NTU

FPGA Design with FPGA Design with XilinxXilinxISEISE

Presenter: Shu-yen LinAdvisor: Prof. An-Yeu Wu

2005/6/6

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 2

OutlineOutlinevConcepts of Xilinx FPGAvXilinx FPGA ArchitecturevIntroduction to ISEvCode GeneratorvConstraints and ReportsvConfigurationvDemo and Lab

ACCESS IC LAB

Graduate Institute of Electronics Engineering, NTU

Concepts of Concepts of XilinxXilinx FPGAFPGA

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 4

Electronic ComponentsElectronic Components

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 5

FPGA BenefitsFPGA Benefits

●●Educational Purpose

●●●●●Development Tool

●●Future Modification

●●Risk Reduction

●●●Time to Market

●●●Low-Volume device Cost

●●●●●●High-Volume Device Cost

●●●●●Integration Density

●●●●●Speed

FPGAGate ArraysCell-Based ICs

Full-Custom ICs

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 6

Full Full XilinxXilinx Design SupportDesign Support

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 7

Xilinx Products v CPLDs and FPGAs

ACCESS IC LAB

Graduate Institute of Electronics Engineering, NTU

XilinxXilinx FPGA ArchitectureFPGA Architecture

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 9

The Conceptual CPLD ArchitectureThe Conceptual CPLD Architecture

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 10

The Conceptual FPGA ArchitectureThe Conceptual FPGA Architecture

v Field-programmablev Re-programmablev In-circuit design verificationv Rapid prototypingv Fast time-to-marketv No IC-test & NRE costv H/W emulation instead of S/W

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 11

SpatranSpatran--2/2E, 2/2E, VirtexVirtex / / VirtexVirtex--E FPGA Architecture (1/6)E FPGA Architecture (1/6)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 12

v Logic and Routing - the CLB tileSpatranSpatran--2/2E, 2/2E, VirtexVirtex / / VirtexVirtex--E FPGA Architecture (2/6)E FPGA Architecture (2/6)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 13

SpatranSpatran--2/2E, 2/2E, VirtexVirtex / / VirtexVirtex--E FPGA Architecture (3/6)E FPGA Architecture (3/6)

v Two slices in each CLBv Each slice contains 2 LUT, 2 Register and 2 Carry Logic.

vLogic and Routing – Simplified CLB Structure

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 14

SpatranSpatran--2/2E, 2/2E, VirtexVirtex / / VirtexVirtex--E FPGA Architecture (3/6)E FPGA Architecture (3/6)

v Logic and Routing – Look-Up Tables (LUTs)v Combinational logic is stored in Look-up Tables

(LUTs) in a CLB.v Capacity is limited by number of inputs, not

complexity.v Delay through CLB is constant.

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 15

SpatranSpatran--2/2E, 2/2E, VirtexVirtex / / VirtexVirtex--E FPGA Architecture (4/6)E FPGA Architecture (4/6)

v System Interface – Select IOTM

v Supports multiple voltage and signal standards simultaneouslyv Eliminate costly bus transceivers

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 16

v System Memory – Distributed RAM, Block RAM and External MemorySpatranSpatran--2/2E, 2/2E, VirtexVirtex / / VirtexVirtex--E FPGA Architecture (5/6)E FPGA Architecture (5/6)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 17

SpatranSpatran--2/2E, 2/2E, VirtexVirtex / / VirtexVirtex--E FPGA Architecture (6/6)E FPGA Architecture (6/6)

v System clock management - DLLsv Clock MirrorvMultiplicationØ 1 DLL for 2xØCombine 2 DLL for 4x

v DivisionØ Selectable division values - 1.5, 2, 2.5,

3, 4, 5, 8, or 16v Phase ShiftØ 0, 90, 180, 270

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 18

SpatranSpatran--3, 3, VirtexIIVirtexII FPGA Architecture (1/7)FPGA Architecture (1/7)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 19

SpatranSpatran--3, 3, VirtexIIVirtexII FPGA Architecture (2/7)FPGA Architecture (2/7)v Logic and Routing - the CLB tile

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 20

SpatranSpatran--3, 3, VirtexIIVirtexII FPGA Architecture (3/7)FPGA Architecture (3/7)vSystem Interface – Select IOTM 23 different

standards supported !

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 21

SpatranSpatran--3, 3, VirtexIIVirtexII FPGA Architecture (4/7)FPGA Architecture (4/7)v System Memory –External Memory supports DDR memory

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 22

SpatranSpatran--3, 3, VirtexIIVirtexII FPGA Architecture (5/7)FPGA Architecture (5/7)v System clock management – DCMs

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 23

SpatranSpatran--3, 3, VirtexIIVirtexII FPGA Architecture (6/7)FPGA Architecture (6/7)v System clock management – DCMs

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 24

SpatranSpatran--3, 3, VirtexIIVirtexII FPGA Architecture (7/7)FPGA Architecture (7/7)v Embedded multiplexer

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 25

VirtexIIVirtexII Pro FPGA ArchitecturePro FPGA Architecture

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 26

Programmable Logic EvolutionProgrammable Logic Evolution

ACCESS IC LAB

Graduate Institute of Electronics Engineering, NTU

Introduction to ISEIntroduction to ISE

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 28

ISE PhilosophyISE Philosophyv ISE 6.1iv Future Xilinx devicesv Proactive Timing Closurev ECS & HDL Bencher & XST

v Platformv Unix: Solaris 2.7/2.8v PC: Win 2000/XP

v Service Packv http://support.xilinx.com

v ISE WebPagev http://www.xilinx.com/ise

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 29

Design Flow in ISE (1/2)Design Flow in ISE (1/2)

Design

Synthesis

Implement

Download

A & B = C

AB

C

LUT RegAB

C

CLB

AB

C

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 30

Design Flow in ISE (2/2)Design Flow in ISE (2/2)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 31

Introduction to Projection Navigator (1/4)Introduction to Projection Navigator (1/4)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 32

Introduction to Projection Navigator (2/4)Introduction to Projection Navigator (2/4)v Source Windows

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 33

Introduction to Projection Navigator (3/4)Introduction to Projection Navigator (3/4)vProcesses for current source

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 34

Introduction to Projection Navigator (4/4)Introduction to Projection Navigator (4/4)v Processes for current source

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 35

Create New ProjectCreate New Project

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 36

Create New SourceCreate New Source

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 37

HDL Source FileHDL Source File

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 38

Text EntryText Entry

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 39

Language TemplatesLanguage Templates

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 40

Synthesis (1/4)Synthesis (1/4)v XST

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 41

Synthesis (2/4)Synthesis (2/4)v XST Flow

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 42

Synthesis (3/4)Synthesis (3/4)v Synthesis Step

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 43

Synthesis (4/4)Synthesis (4/4)v RTL view

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 44

Implementation (1/8)Implementation (1/8)

Translate - Merge multiple design files into a single netlistMap - Group logical symbols from the netlist (gates) into physical components (CLBs and IOBs)Place & Route - Place components onto the chip, connect them, and extract timing data into reports

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 45

Implementation (2/8)Implementation (2/8)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 46

TranslateImplementation (3/8)Implementation (3/8)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 47

MapImplementation (4/8)Implementation (4/8)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 48

Implementation (5/8)Implementation (5/8)

vMap Propertyv Trim Unconnected SignalsØ If you check this item, the mapping tool will remove the unconnected

wire that let the tracing back become hardly.v Generate Detailed Map ReportØ If more detailed report is needed, you can check it. (Recommending

check it)v Use Guide Design File (.ncd)Ø You can refer the last mapping solution so that you maybe get better

solution. v Use RLOC ConstraintsØConstraints of CLB (default check).

v Pack I/O Registers/Latches into IOBsØ If the value chosen Default that pack the register nearby I/O into I/O

block. You can also chose only for input or only for output or off.

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 49

Place and Route

Implementation (6/8)Implementation (6/8)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 50

v Place and Route Property (1/2)v Place & Route Effort Level (Overall)Ø Effort Level means the P&R effect result. Using the Higher get the

better solution, but spend more time. v Starting Placer Cost Table (0-100)Ø Specify a placement initialization value with which to begin P&R

attempts. Each subsequent attempt is assigned an incremental value based on the placement initialization value.

v Place and Route ModeØQuick means without timing constraints; Route Only and Re-entrant

Route mean P&R must have been run at last once to use this option.v Guide FileØ Include the .ncd file.

Implementation (7/8)Implementation (7/8)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 51

v Place and Route Property (2/2)v Use Timing ConstraintsØ Include the .ucf file.

v Use Bonded I/OsØ If it is checked, signals will be connected to I/O pads.

v Generate Detailed PAR ReportØCheck the value to generate a detailed PAR report.

v Generate Post-Place & Route Static Timing ReportØCheck the value to generate post-place & route static timing report.

v Generate Post-Place & Route Simulation ModelØCheck it for generating required simulation files for ModelSim (*.v and

*.sdf).

Implementation (8/8)Implementation (8/8)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 52

Download (1/2)Download (1/2)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 53

Download (2/2)Download (2/2)

ACCESS IC LAB

Graduate Institute of Electronics Engineering, NTU

Code GeneratorCode Generator

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 55

What are Cores?What are Cores?

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 56

Benefits of Using CoresBenefits of Using Cores

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 57

Invoking the CORE Generator GUIInvoking the CORE Generator GUI

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 58

XilinxXilinx Code Generator System GUICode Generator System GUI

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 59

Core Customize WindowCore Customize Window

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 60

Core Data SheetCore Data Sheet

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 61

Core Generator Design Flow Core Generator Design Flow

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 62

Link with Link with CodeGenCodeGen IP (IP (VerilogVerilog))

ACCESS IC LAB

Graduate Institute of Electronics Engineering, NTU

Constraints and ReportsConstraints and Reports

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 64

TopicsTopicsvAssign Package Pins (PACE)vAssigning Pins

vCreate Timing ConstraintsvThe PERIOD ConstraintsvThe Pad-to-Pad ConstraintsvThe OFFSET ConstraintsvThe Constraints Editor

vRead Report

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 65

Constraints GUI (1/2)Constraints GUI (1/2)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 66

Constraints GUI (2/2)Constraints GUI (2/2)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 67

Assign Package Pins (1/6)Assign Package Pins (1/6)vStart PACE Editor

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 68

Assign Package Pins (2/6)Assign Package Pins (2/6)vPACE Editor GUI

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 69

Assign Package Pins (3/6)Assign Package Pins (3/6)vMethod #1 to assign package pins

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 70

Assign Package Pins (4/6)Assign Package Pins (4/6)vMethod #2 to assign package pins

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 71

Assign Package Pins (5/6)Assign Package Pins (5/6)vMethod #3 to assign package pins

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 72

Assign Package Pins (6/6)Assign Package Pins (6/6)vMethod #4 to assign package pins

vUse text editor to edit .ucf filesvNET is port namevLOC assign pins to

specific location

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 73

The PERIOD ConstraintThe PERIOD Constraint

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 74

The PadThe Pad--toto--Pad ConstraintPad Constraint

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 75

The OFFSET ConstraintThe OFFSET Constraint

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 76

The Constraint Editor (1/3)The Constraint Editor (1/3)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 77

The Constraint Editor (2/3)The Constraint Editor (2/3)v Enter PERIOD and Pad-to-Pad Constraint

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 78

The Constraint Editor (3/3)The Constraint Editor (3/3)v Enter OFFSET Constraint

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 79

Read Report (1/12)Read Report (1/12)v Create Report Files

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 80

Read Report (2/12)Read Report (2/12)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 81

Read Report (3/12)Read Report (3/12)v Example of MAP Report (1/2)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 82

Read Report (4/12)Read Report (4/12)v Example of MAP Report (2/2)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 83

Read Report (5/12)Read Report (5/12)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 84

Read Report (6/12)Read Report (6/12)v Example of PAR Report (1/2)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 85

Read Report (7/12)Read Report (7/12)v Example of PAR Report (2/2)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 86

Read Report (8/12)Read Report (8/12)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 87

Read Report (9/12)Read Report (9/12)v Example of Timing Report (1/4)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 88

Read Report (10/12)Read Report (10/12)v Example of Timing Report (2/4)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 89

Read Report (11/12)Read Report (11/12)v Example of Timing Report (3/4)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 90

Read Report (11/12)Read Report (11/12)v Example of Timing Report (4/4)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 91

PostPost--layout Simulationlayout Simulation

ACCESS IC LAB

Graduate Institute of Electronics Engineering, NTU

ConfigurationConfiguration

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 93

What is configuration?What is configuration?v Process for loading into the FPGA

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 94

Configuration Mode (1/4)Configuration Mode (1/4)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 95

Configuration Mode (2/4)Configuration Mode (2/4)v Serial Mode

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 96

Configuration Mode (3/4)Configuration Mode (3/4)vSelectMAP Mode

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 97

Configuration Mode (4/4)Configuration Mode (4/4)v JTAG or Boundary Scan

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 98

IMACT (1/3)IMACT (1/3)

Must double clock “Generate Programming File”before programming FPGA

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 99

IMACT (2/3)IMACT (2/3)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU

pp. 100

IMACT (3/3)IMACT (3/3)