xilinx design flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...apr 01, 2004  · ¾ecs schematic...

41
Xilinx Design Flow

Upload: others

Post on 08-Nov-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 000-00) 04.01.04

Xilinx Design Flow

Page 2: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

The IIntegrated SSoftware EEnvironment

Advanced DesignAdvanced DesignTechniquesTechniquesGNU Embedded ToolsWind River Xilinx EditionEmbedded Development Kit IMPACTSystem ACE Configuration

Manager

Verification TechnologiesVerification TechnologiesModelSim Xilinx Edition Static Timing AnalyzerChipScope ProXPower power estimationFormal Verification support3rd Party HDL simulationChipViewerFPGA Editor with ProbeHDL Bencher testbench generator

Design EntryDesign EntryHDL Edit and EntrySystem Generator for DSPCORE IP Generator Architecture WizardsECS Schematic EditorStateCAD State Diagram EditorRTL Checker

SynthesisSynthesisSynplicity Synplify and Synplify ProSynplicity Amplify physical synthesisMentorGraphics LeonardoSpectrumMentor Graphics Precision RTL

physical synthesisSynopsys FPGA Compiler IIXilinx Synthesis Technology (XST)

ImplementationImplementationFloorplanner and PACEConstraints EditorTiming Driven Place & RouteModular DesignIncremental DesignTiming Improvement Wizard

Board Level IntegrationBoard Level IntegrationIBIS ModelsSTAMP ModelsLMG Smart ModelsHSPICE Models

One solution for all your logic design needs

3rd party partner tools

Page 3: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

Translate

Map

Place & Route

Xilinx Design Flow

Plan & Budget HDL RTLSimulation

Synthesizeto create netlist

FunctionalSimulation

CreateBit File

Attain Timing Closure

TimingSimulation

Implement

Create Code/Schematic

Page 4: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

Creating a Project

Select File New ProjectNew Project Wizard guides you through the process

Project name and locationTarget deviceSoftware flowCreate or add source files

Page 5: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

Creating and AddingSource Files

To include an existing source file, double-click Add Existing SourceTo create a new source file, double-click Create New Sourceand choose the type of file

HDL fileIPSchematicState diagramTestbenchConstraints file

Page 6: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

Text Entry

Color coding helps you quickly understand and enter the design

Blue= Reserved words

Pink= Signal type

Green= Comments

Black = User input

Page 7: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

Language Templates

Two methods to open templates:

Language Icon

Edit -> Language Templates

Language Templates provide common templates for designs:

Component instantiation

Language templates

Synthesis templates

Page 8: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

Schematic Source File

Files with .schextension

Selecting this source type will open the ECS (Engineering Capture System) schematic editor

Page 9: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

Options and Symbols

Components are divided into categories

Exact symbols are located in the Symbol box

Symbol Name Filter for easier search

Orientation

Rotate 0, 90,180, 270

Mirror and rotate 0, 90, 180, 270

The Options tab selections change, depending on which function is selected

For example, if you are adding a net name, the net name options would be shown

Page 10: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

Files with .diaextension

Selecting this surcetype

will invoke StateCAD

State Diagram Source

Page 11: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

Implementation Status

ISE will run all of the necessary steps to implement the design

Synthesize HDL codeTranslateMapPlace & Route

Progress and status are indicated by iconsGreen check mark ( ) indicates that the process was completed successfullyYellow exclamation point ( ! ) indicates warningsYellow question mark ( ? ) indicates a file that is out of dateRed “X” indicates errors

Page 12: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

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

Page 13: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

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

Page 14: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

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

Page 15: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

ISE 6.1i is designed and tested to run with the leading HDL simulators in the industry

Cadence NC-SimModel Technology ModelSimSynopsys VCS-MX and Scirocco

All Xilinx libraries and netlists conform to IEEE VHDL-93, VITAL-2000 and Verilog-2001 standards

Other simulators are available to perform Xilinx CPLD and FPGA verification

3rd Party Simulation Integration

Page 16: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

3rd Party Synthesis Integration

Synplify/Pro 7.3.1Ability to use the parity bit in Virtex™-II, Virtex-II Pro™, and Spartan™-3 devices to optimize Block RAM implementationsImproved area optimization for Virtex-II, Virtex-II Pro, and Spartan-3 devices

Precision 2003bSupport Virtex-E/-II/-II Pro, Spartan-II/-IIE/-3 Advanced design analysis

LeonardoSpectrum 2003bSupport Spartan-3 family

FCII v3.8Support for Spartan-3 devicesSupport for all Virtex-II Pro devices

Page 17: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 000-00) 04.01.04

Simulation Tool

Page 18: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

Simulation in the FPGA Environment

Gate Level Simulation

HDL GateTiming

HDL GateTiming

Place & Route

HDL GateFunctional

Synthesis

HDL RTL

Design Entry

VITAL orVerilog

SimulationLibrary

RTLSimulation

FunctionalSimulation

RTL Simulation

Highest performance

Many spins

• highest throughput

Functional Simulation

• Does function match RTL Golden model

Gate Level Simulation

• Highest impact on simulation run time

• Full timing

• Does function match RTL Golden model

Source Templates and Wizards, HDS, IPX, XilinxLogiCORE, CORE Generator

ModelSim

Leonardo Spectrum

XilinxISE

ModelSim

ModelSim

Page 19: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

HDL Bencher

Creates timing constrained VHDL and Verilog self-checking testbenches

No knowledge of HDL or scripting required

Page 20: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

Create a New Source

Page 21: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

Create a New Source

Page 22: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

HDL Bencher

Unit under test is analyzed, when selected

Port problems

Syntax violations

Inconsistencies

Design timing selected

Clocked or combinatorial?

Page 23: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

Create Waveforms

Data values

1, 0 ,X ,Z, U

Assignments

Double-click bit signal to toggle value

Pattern wizard assigns a range of cell values

WaveTableassign signals like a spreadsheet

By default, decimal values are shown in the WaveTable

Waveform values are checked as they are entered

Validation check for non-binary inputs only (for example, hex, or decimal)

Page 24: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

Toggling

Toggling bit values is the easiest way to assign bit signals

Simply click directly on the signal’s waveform at the time where changes should take place

Click directly on these boxes, at the time where signals should toggle

Page 25: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

Pattern Wizard

Aids complex waveform input

To access, click a signal at the time it should be changed to access value cell editor

Note: light blue background = input assignment,

light yellow background = output assignment

Click in this areaClick here for Pattern Wizard

Page 26: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

Pattern Wizard

Available patterns

Pattern description

Changes depending on the pattern selected

Count unit in clock cycles

Page 27: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

Testbench

Waveform file extensions are TBW

Waveform file can be seen in the Sources in Project window of the Project Navigator

To view testbench:

In Sources in Project Window, select the TBW file

Then in the Processes for Current Source window, click View Behavioral Testbench

Page 28: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

Modelsim In ISE (FPGA)•RTL Simulation

•Functional Simulation•Does function match RTL Golden model

•Gate Level Simulation ( only gate delay)

•Gate Level Simulation ( gate delay + wire delay)

Page 29: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

Modelsim In ISE

TestBench type code

Simulation process

Page 30: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

Top Answer Records Hits

#15338: How do I compile simulation Models

#16233: BlockRAMCollision Errors

#10629: What are $setup and $hold violations

#15501: How do I install SmartModels?

#6537: How do I use the glbl.v file for Verilog?

#15969: Using the ASYNC_REG constraint

Page 31: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 000-00) 04.01.04

CORE Generator

Page 32: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

What are Cores?

A core is a ready-made function that you can instantiate into your design as a “black box”Cores can range in complexity

Simple arithmetic operators, such as adders, accumulators, and multipliersSystem-level building blocks, including filters, transforms, and memoriesSpecialized functions, such as bus interfaces, controllers, and microprocessors

Some cores can be customized

Page 33: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

Sample Functions

LogiCORE solutionsDSP functions

• Time skew buffers, FIR filters, correlators

Math functions• Accumulators, adders, multipliers,

integrators, square rootMemories

• Pipelined delay elements, single and dual-port RAM

• Synchronous FIFOsPCI master and slave interfaces, PCI bridge

AllianceCORE solutionsPeripherals

• DMA controllers• Programmable interrupt controllers• UARTs

Communications and networking• ATM• Reed-Solomon encoders / decoders• T1 framers

Standard bus interfaces• PCMCIA, USB

Page 34: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

Invoking the CORE Generator System

From the Project Navigator, select Project → New SourceSelect IP (CoreGen & Architecture Wizard) and enter a filenameClick Next, then select the type of core

Page 35: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

Xilinx CORE Generator System GUI

Cores can be organized by function, vendor, or device family

Core type, version, device support, vendor, and status

Page 36: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

Core Customize Window

Parameters tab allows you to customize the core

Contact tab provides information about the vendor

Data sheet access

Web Links tab provides direct access to related Web pages

Core Overview tab provides version information and a brief functional description

Page 37: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

CORE Data Sheets

Performance expectations (not shown)

Features

Functionality

Pinout

Resource utilization

Page 38: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

Architecture Wizard

Architecture Wizard contains two wizards:

Clocking Wizard RocketIO Wizard

Double-click Create New Source

Select IP (CoreGen & Architecture Wizard), then click Next

• Expand Clocking and select desired function

• Expand I/O Interfacesand select RocketIO*

Page 39: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

DCM Wizard --General Setup Options

Select which pins are requiredDefine attributes:

Input Clock FrequencyCLKIN SourceDivide By ValueFeedback SourceFeedback ValueDuty Cycle CorrectionPhase Shift (DPS)

Page 40: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

DCM Wizard– DFS setting

Frequency synthesizerSelect M / D valueORSpecify frequency

“Calculate” button for jitterPeriod jitter is evaluated for CLKFX output

Note: This dialog appears only if the CLKFX output was selected

Page 41: Xilinx Design Flowxilinx.eetrend.com/files-eetrend-xilinx/forum/...Apr 01, 2004  · ¾ECS Schematic Editor ¾StateCAD State Diagram Editor ¾RTL Checker Synthesis ¾Synplicity Synplify

© Memec (MG 001-04) 02.27.04

Where Can I Learn More?

Xilinx IP Center http://www.xilinx.com/ipcenterSoftware updatesDownload new cores as they are released

Tech Tips on http://support.xilinx.comSoftware manuals: CORE Generator GuideDCM constraints: Online Software Manuals → Constraints GuideDCM architecture:

Virtex-II, Virtex-II Pro, Spartan-3 Data Sheets → Detailed DescriptionVirtex-II, Virtex-II Pro, Spartan-3 User Guides → Design Considerations → DCM

DCM timing parameters: Virtex-II, Virtex-II Pro, Spartan-3 Data Sheets → Electrical CharacteristicsVirtex-II, Virtex-II Pro, Spartan-3 Interactive Data Sheets →http://support.xilinx.com/applications/web_ds/index_top.htm