vhdl & fpga...

35
310/1780-8 ICTP-INFN Advanced Tranining Course on FPGA and VHDL for Hardware Simulation and Synthesis 27 November - 22 December 2006 ��������������������������������������������������������������������� ��Nizar ABDALLH ACTEL Corp. 2061 Stierlin Court Mountain View, CA 94043-4655 U.S.A. _______________________________________________________________ These lecture notes are intended only for distribution to participants

Upload: dangnhi

Post on 07-Mar-2018

221 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

310/1780-8

ICTP-INFN Advanced Tranining Course onFPGA and VHDL for Hardware Simulation and Synthesis

27 November - 22 December 2006

���������������������������������������������������������������������

���� � ���� � ������� �

Nizar ABDALLHACTEL Corp.

2061 Stierlin CourtMountain View, CA 94043-4655

U.S.A.

_______________________________________________________________These lecture notes are intended only for distribution to participants

Page 2: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

Lectures:VHDL & FPGA Architectures

Nizar Abdallah, [email protected]

Page 3: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 2VHDL & FPGA Architectures November, 2006

Outline

Introduction to FPGA & FPGA Design Flow

Synthesis I – Introduction

Synthesis II - Introduction to VHDL

Synthesis III - Advanced VHDL

Design verification & timing concepts

Programmable logic & FPGA architecture

Actel ProASIC3 FPGA architecture

Page 4: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 3VHDL & FPGA Architectures November, 2006

Motivation

High integrationBasic: Memory, logic, processorsEven more: I/O, DSP, A/D, D/A, clock oscillator…

Accelerated product’s time-to-marketFlexibility needs

Design skillsSystem levelDSP algorithmsSW/HW co-designHDL modelingDesign methodologyProject management

Page 5: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 4VHDL & FPGA Architectures November, 2006

Digital Logic Technologies

Digital Circuit Implementation

Full Custom Semi-Custom

Standard Cell

Gate Arrays

FPGA

ASICsProgrammableLogic

SPLD CPLD Structured ASICs

Page 6: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 5VHDL & FPGA Architectures November, 2006

What’s a FPGA?Stands for Field-Programmable Gate Array

Is a high capacity programmable logic device

An array of programmable basic logic cells surrounded by programmable interconnects

Can be configured (programmed) by end-users (field-programmable) to implement specific applications

Capacity up to multi-millions logic gates and speed up to 500MHz

Popular applications: prototyping, on-site hardware reconfiguration, DSP, logic emulation, network components, etc…

Page 7: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 6VHDL & FPGA Architectures November, 2006

Basic FPGA Block Diagram

Generic FPGA Architecture

? ? ? ?

? ? ? ?

? ? ? ?

? ? ? ?

? ? ? ? ?

? ? ? ? ?

? ? ? ? ?

? ? ? ? ?

? ? ? ? ?

Page 8: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 7VHDL & FPGA Architectures November, 2006

Rich FPGA Block Diagram

Rich FPGA Architecture

Basic FPGA, plus

• RAM• FIFO• Multi-Standard IOs• PLL• Processor• And more…

Page 9: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 8VHDL & FPGA Architectures November, 2006

∆ΦαηφλµϕψΓ∀234567∞∆Φαηφλµϕ∆ΦαηφλµϕψΓ∀234567∞ψΓ∀234567∞

ARM7ARM7ARM7

DESIGNER’S DREAM

Page 10: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 9VHDL & FPGA Architectures November, 2006

Design Principles

HierarchyDivide & conquerSimplification of the problem

RegularityDivide into identical building blocksSimplifies the assemblage verification

ModularityRobust definition of all components (entity)Allows easy interfacing

LocalityEnsuring that interaction among modules remains localMakes designs more predictable and re-useable

Page 11: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 10VHDL & FPGA Architectures November, 2006

Design Methodology

1- Specifications

2- Partitioning

3- Implementation

4- Assemblage

Top-Down design methodology in 4 steps

Page 12: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 11VHDL & FPGA Architectures November, 2006

Step 1: Specifications

Put down the circuit conceptEasy verificationA reference manual for communication

Between peopleBetween people and computers

How?No Ordinary languageAccurate languageA language that can be simulated

Put down the requirementsTiming budgetPower budgetArea budgetFinancial budget

Page 13: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 12VHDL & FPGA Architectures November, 2006

Step 2: PartitioningDivide and conquer strategy

Very difficult step: Relays on the know-how of the designerMain idea: To split into several small parts

Page 14: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 13VHDL & FPGA Architectures November, 2006

Step 3: ImplementationSimplified FPGA design implementation flow

DesignEntry

Logic Synthesis

Place & Route(Layout) Programming

Verification

Page 15: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 14VHDL & FPGA Architectures November, 2006

Step 4: Assemblage

Hierarchical way

Start from the lowest level

Final product validation is now possibleCompare to original specificationsSimulateOn-board verification

Page 16: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 15VHDL & FPGA Architectures November, 2006

Design Abstraction & Design Domains

Allow dealing with design complexity

BehavioralBehavioral

AlgorithmicAlgorithmic

Abstraction LevelsAbstraction Levels Design DomainsDesign Domains

How it works

How it is connected

How it is implemented

FSMFSM

RTLRTL

CGateGate StructuralStructural

LayoutLayout PhysicalPhysical

Page 17: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 16VHDL & FPGA Architectures November, 2006

FSM Abstraction Level

Finite State Machine

Controller part of a digital design

Internal states

State changes driven by:Status informationClock and other external inputs...

E0E0

E1E1

E2E2

E3E3

ck, ...

Page 18: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 17VHDL & FPGA Architectures November, 2006

RTL Abstraction Level

Register Transfer Level

Registers connected by combinatorial logic

Very close to the hardware

REGISTERSREGISTERSCOMBINATIONALCOMBINATIONAL

LOGICLOGIC

DOUTDOUTDINDIN

CLOCKCLOCK

Page 19: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 18VHDL & FPGA Architectures November, 2006

Gate Abstraction Level

A gate net-list describing instantiation of models

CINCINAABB

COUTCOUT

SUMSUM

Page 20: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 19VHDL & FPGA Architectures November, 2006

Questions ?

Page 21: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 20VHDL & FPGA Architectures November, 2006

Outline

Introduction to FPGA & FPGA Design Flow

Synthesis I – Introduction

Synthesis II - Introduction to VHDL

Synthesis III - Advanced VHDL

Programmable logic & FPGA architectures

Actel ProASICPLUS FPGA architecture

Design verification & timing concepts

Page 22: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 21VHDL & FPGA Architectures November, 2006

What’s Synthesis?The process of converting a design from one abstraction level into a lower abstraction level

Logic synthesis is mapping an RTL description into a specific target technology

Includes an optimization step for:Faster speedSmaller area

Synthesis flow involves multiple stepsState minimizationState assignmentLogic optimizationTechnology mappingTiming optimization

Page 23: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 22VHDL & FPGA Architectures November, 2006

Logic Synthesis

ENTITY dec2to4 isPORT(A,B,enable:in BIT;

vdd,vss,vdde,vsse:in BIT;Y:out bit_vector(0 to 3));

end dec2to4;

architecture dflow of dec2to4 is

signal a_bar,b_bar:bit;signal a1,a2,a3,a4:bit;

begina_bar <= not a;b_bar <= not b;

ENTITY dec2to4 isPORT(A,B,enable:in BIT;

vdd,vss,vdde,vsse:in BIT;Y:out bit_vector(0 to 3));

end dec2to4;

architecture dflow of dec2to4 is

signal a_bar,b_bar:bit;signal a1,a2,a3,a4:bit;

begina_bar <= not a;b_bar <= not b;

CombinationalLogic Synthesis

Gate Netlist =Gate Level

Structural Description

SequentialLogic Synthesis

Gate Netlist =Gate Level

Structural Description

ENTITY adder isPORT(A,B,enable:in BIT;

vdd,vss,vdde,vsse:in BIT;ck: in bit;Y:out bit_vector(0 to 3));

end dec2to4;

architecture dflow of adder is

signal regstr:reg_vector(0 to 3)register;

signal a1,a2,a3,a4:bit;

begin

ENTITY adder isPORT(A,B,enable:in BIT;

vdd,vss,vdde,vsse:in BIT;ck: in bit;Y:out bit_vector(0 to 3));

end dec2to4;

architecture dflow of adder is

signal regstr:reg_vector(0 to 3)register;

signal a1,a2,a3,a4:bit;

begin

Page 24: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 23VHDL & FPGA Architectures November, 2006

Optimization and Logic SynthesisSynthesis flow involves multiple internal iterative steps

SequentialBoolean Network

State Assignment

FSM

SequentialGate Network

Technology Mapping

Placing & Routing

State DiagramMinimization

LogicMinimization

TimingOptimization

Dependence

Dependence

Dependence

Technology CellLibrary

WireLoad

Model

Timing &Area

Constraints

Page 25: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 24VHDL & FPGA Architectures November, 2006

Synthesis Step-by-Step(Precision Synthesis Reference Manual, Chapter 4)

1. Analyze the DesignCheck HDL syntax (is it synthesizable?)Locate referenced cells and librariesResolve parameters and definesDetect design top-level and hierarchy dependencies to determine mapping order

2. MappingBuild hierarchyInfer sequential elements: Flip-flops and latchesInfer operators: +, -, *, / (to blackbox models)Infer RAMsInfer Boolean logicInfer finite state machines

Page 26: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 25VHDL & FPGA Architectures November, 2006

Synthesis Step-by-Step (cont’d)

3. Pre-OptimizationComponent extraction – counters, RAMs, etc., are separated from generic logicUnused logic pruningBoundary optimization

Disconnect unused module portsMerge multiple ports connected

Constant propagation

Page 27: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 26VHDL & FPGA Architectures November, 2006

Synthesis Step-by-Step (cont’d)

Resource sharing

a1a2

select

resultif (select)

result = a1 + a2;else

result = a1 – a2;

if (select)result = a1 + a2;

elseresult = a1 – a2;

+

resulta1

a2

+/−

Before resource sharing After resource sharing

Page 28: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 27VHDL & FPGA Architectures November, 2006

Synthesis Step-by-Step (cont’d)

4. SynthesisMaps pre-optimized design into gates and/or FPGA look-up tablesImplements operatorsGenerates a complete, but non-optimal, netlist

5. OptimizationReorganizes logic to meet timing or area constraintsCalculates estimated interconnect delays using wire load modelResolves design rules such as

Maximum fanoutMaximum net capacitanceMaximum transition time on net

6. Synthesis result is a netlist (circuit) that satisfiesDesign rulesArea constraintsTiming constraints based on estimated delays

Page 29: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 28VHDL & FPGA Architectures November, 2006

Synthesis VendorsSynopsys:

Design CompilerFPGA Compiler II

Mentor Graphics:Exemplar Logic Leonardo SpectrumPrecision

Synplicity: SynplifySynplify Pro

Page 30: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 29VHDL & FPGA Architectures November, 2006

RTL Simulation

Simulates with a clock-cycle accuracyNo timing guarantee

Allows getting proper function of the design before jumping into details

We choose VHDL in this courseOne of the two popular languages used for hardware modeling

Page 31: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 30VHDL & FPGA Architectures November, 2006

VHDL-Vital ’95 Simulation Vendors

Synopsys:Scirocco

Mentor Graphics:Model Technology ModelSim

Cadence:NC-VHDL simulator

Page 32: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 31VHDL & FPGA Architectures November, 2006

References

Clive Maxfield,The Design Warrior's Guide to FPGAs:Devices, Tools, and Flows,Elsevier Science & Technology, 2004ISBN 0750676043

Smith, D. J.,HDL Chip Design,Doone Publications, Madison AL, 2001ISBN 0965193438

Page 33: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 32VHDL & FPGA Architectures November, 2006

References (cont’d)

K.C. Chang,Digital Systems Design With VHDL and Synthesis: An Integrated Approach,Wiley-IEEE Computer Society Press, First edition 1999ISBN 0-7695-0023-4

RC Cofer, Benjamin F. Harding,Rapid System Prototyping with FPGAs: Accelerating the Design Process,Newnes; Bk&CD-Rom edition, Sep. 2005ISBN 0750678666

Page 34: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 33VHDL & FPGA Architectures November, 2006

Lab Resources: Actel ProASIC3 Starter Kit

Evaluation BoardA2P250-PQ208On-board voltage regulation for 1.5V, 1.8V, 2.5V and 3.3V suppliesOn-board oscillator for system clock generationEight LEDs, four switches, and an LCD display module

FlashPro3Portable, low-cost, USB 2.0, in-system programmer for Actel ProASIC3/E devicesDraws power from the USB connection

Actel Libero IDE GoldSynthesis from SynplicitySimulation from Model TechnologyDesigner from Actel

DocumentationUser guides & Tutorial

Page 35: VHDL & FPGA Architectures.indico.ictp.it/event/a05232/session/4/contribution/2/material/0/1.pdf · FPGA and VHDL for Hardware Simulation and Synthesis ... Capacity up to multi-millions

© 2006 Nizar Abdallah 34VHDL & FPGA Architectures November, 2006

Questions ?