fpga-centric functional verification - verification … · scotland & ireland designers forum...

28
Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant, Verilab Ltd.

Upload: lamque

Post on 19-Aug-2018

221 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: FPGA-Centric Functional Verification - Verification … · Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant,

Scotland & Ireland Designers Forum 2002

22-May-2002

FPGA-Centric

Functional Verification

Mark Litterick Senior Consultant, Verilab Ltd.

Page 2: FPGA-Centric Functional Verification - Verification … · Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant,

Scotland & Ireland Designers Forum 2

22-May-2002

Presentation Outline

• Complex FPGA verification problem

• Propose a practical solution based on

modified ASIC methodology

• Key verification aspects of FPGAs

• Overview of methodology

• Conclusion

Page 3: FPGA-Centric Functional Verification - Verification … · Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant,

Scotland & Ireland Designers Forum 3

22-May-2002

FPGA Verification Problem

• Traditional ad-hoc FPGA verification is

inadequate for modern complex FPGAs

– Longer design cycle

– Increased time-to-market

• Major issues include:

– Debug

– Fixes introduce new bugs

– Back-end build-and-test loop too slow

– System & S/W correspondingly complex

Page 4: FPGA-Centric Functional Verification - Verification … · Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant,

Scotland & Ireland Designers Forum 4

22-May-2002

Adapt ASIC Methodology

• Similar complexity problems

• Capitalise on unique FPGA features

• Invest in proper simulation testbenches

• Appropriate back-end processes

Page 5: FPGA-Centric Functional Verification - Verification … · Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant,

Scotland & Ireland Designers Forum 5

22-May-2002

FPGAs are Special

• Biggest advantage: Re-programmable

– Fix bugs

– Phased product releases

– Prototype ASICs

– Evolve with specifications

– Field upgrades

• Biggest disadvantage: Re-programmable

– Relied on to fix bugs

– Promotes trial-and-error engineering

Page 6: FPGA-Centric Functional Verification - Verification … · Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant,

Scotland & Ireland Designers Forum 6

22-May-2002

FPGA - Similarities to ASIC

• Require to verify every feature

• Regression is required

• Independent verification => better quality

Page 7: FPGA-Centric Functional Verification - Verification … · Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant,

Scotland & Ireland Designers Forum 7

22-May-2002

FPGA - Differences to ASIC

• Do not have to simulate every feature

• Ability to system test features that are:

– Slow to simulate

– Difficult to emulate

• Regression simulations do not have to cover

all features

• System regression tests augment regression

simulations

Page 8: FPGA-Centric Functional Verification - Verification … · Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant,

Scotland & Ireland Designers Forum 8

22-May-2002

Overview of FPGA Methodology

• What is it?

• Who needs it?

• What are the benefits?

Page 9: FPGA-Centric Functional Verification - Verification … · Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant,

Scotland & Ireland Designers Forum 9

22-May-2002

What is FPGA Verification?

• Methodology

• Ensure FPGAs in a system have required

functionality

• Functionality includes both correctness and

performance

• Verification strategy includes:

– Simulation

– System Test

– Regression

Page 10: FPGA-Centric Functional Verification - Verification … · Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant,

Scotland & Ireland Designers Forum 10

22-May-2002

Who Needs FPGA Verification

• High-complexity applications

• Large gate-count applications

• High-quality applications

• Expensive field upgrade applications

Page 11: FPGA-Centric Functional Verification - Verification … · Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant,

Scotland & Ireland Designers Forum 11

22-May-2002

Benefits of a Good Methodology

• Minimize cycle time

• Maximize quality

• Certify conformance

• Debug environment

• Repeatability through regression

• Maximize ROI through reuse

Page 12: FPGA-Centric Functional Verification - Verification … · Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant,

Scotland & Ireland Designers Forum 12

22-May-2002

Overview of Methodology

SYNTHESIS

& BUILD

SIMULATION

SIMULATION

REGRESSION

BACK-END

VERIFICATION

SYSTEM

TEST

SYSTEM

REGRESSION

TESTBENCH

DESIGN

VERIFICATIONPLANNING

DESIGN FOR

VERIFICATION

DESIGN

SPECIFICATION

DONE

CODE

REVIEWS

COMPEXITY

MANAGEMENT

BUILD

CONTROL

ISSUE

TRACKING

Page 13: FPGA-Centric Functional Verification - Verification … · Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant,

Scotland & Ireland Designers Forum 13

22-May-2002

Overview of Methodology

SYNTHESIS

& BUILD

SIMULATION

SIMULATION

REGRESSION

BACK-END

VERIFICATION

SYSTEM

TEST

SYSTEM

REGRESSION

TESTBENCH

DESIGN

VERIFICATIONPLANNING

DESIGN FOR

VERIFICATION

DESIGN

SPECIFICATION

DONE

CODE

REVIEWS

COMPEXITY

MANAGEMENT

BUILD

CONTROL

ISSUE

TRACKING

Page 14: FPGA-Centric Functional Verification - Verification … · Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant,

Scotland & Ireland Designers Forum 14

22-May-2002

Design For Verification

• What is DFV?

– Addition of operational mode to allow other

features to be simulated faster or easier

• How does it compare to DFT?

– DFT is for manufacturing test vectors

– DFT is about improving test coverage or

shortening test time

• More important in FPGA than ASIC

– Faster simulations using DFV modes

– Only system tests in full-functional mode

Page 15: FPGA-Centric Functional Verification - Verification … · Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant,

Scotland & Ireland Designers Forum 15

22-May-2002

Design For Verification

• Implementation:

– minimal point of application

– real features must operate normally

– in actual source, not a separate design

• Examples:

– short-frame modes

– special line-standards

– reduced FIFO depth

– large counter control/load

Page 16: FPGA-Centric Functional Verification - Verification … · Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant,

Scotland & Ireland Designers Forum 16

22-May-2002

DFV : SDH Short-Frame Mode

9 261 9 9

9

STM-1 Short-Frame

MSOH

RSOH

TX1FPGA

AU Pointer

PAYLOAD

P

O

H

MSOH

RSOH

AU Pointer

PAY

LOAD

P

O

H

270 18

STM-1 Frame

DFV

STM-1

STM-4

STM-16

STM-64

:

Frame Length

270

1080

4320

17280

:

Short-Frame

18

72

288

1152

:

Page 17: FPGA-Centric Functional Verification - Verification … · Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant,

Scotland & Ireland Designers Forum 17

22-May-2002

Verification Plan

• Identifies set of essential functional features

• Identifies where verified

• Used to specify verification effort

• Used to plan verification effort

– Prioritise

• Specifies criteria for verification completion

• Enables functional coverage analysis

– Manage split between sim and test

• Just as crucial to FPGA as ASIC

Page 18: FPGA-Centric Functional Verification - Verification … · Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant,

Scotland & Ireland Designers Forum 18

22-May-2002

Overview of Testbench Design

• More important for FPGA than ASIC

– ROI through reuse

– Not justified in one ASIC/FPGA

• Language

– HLVL or HDL

• Structure

– Design for reuse

– Package for maintenance

– Layer for flexibility

– Abstract interfaces

Page 19: FPGA-Centric Functional Verification - Verification … · Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant,

Scotland & Ireland Designers Forum 19

22-May-2002

Design for Reuse

• Generic Verification Components

• Fix interfaces early - evolve functionality

• Encapsulate

• Package related functionality separately

• Package user modifiable stuff separately

Page 20: FPGA-Centric Functional Verification - Verification … · Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant,

Scotland & Ireland Designers Forum 20

22-May-2002

Package for Maintenance

• If a testbench is difficult to maintain it will not

be maintained

• Documentation is crucial

• Modularise by packaging

• Improving maintainability also improves reuse

Page 21: FPGA-Centric Functional Verification - Verification … · Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant,

Scotland & Ireland Designers Forum 21

22-May-2002

Layer for Flexibility

DUV

API

VC

BUS FUNCTIONAL

PROCEDURES

ACCESS UTILITIES

TEST PROCEDURES

TEST CASE

VC

API

BUS PROTOCOL

PHYSICAL LAYER

TESTBENCH

REGRESSION

ENVIRONMENT

API

Page 22: FPGA-Centric Functional Verification - Verification … · Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant,

Scotland & Ireland Designers Forum 22

22-May-2002

Abstract Interfaces

• User Interface

– Hide complexity

– Only testbench designers need to be expert

• Command Interface

– Correct abstraction is crucial

– Operation level, not low-level BFPs

• Procedural Interface

– Encapsulate data structures

– Hide implementation detail

– Isolates modifications, e.g. change data format

Page 23: FPGA-Centric Functional Verification - Verification … · Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant,

Scotland & Ireland Designers Forum 23

22-May-2002

System Test

• System test used instead of simulation:

– Features that are slow to simulate

– Features that are difficult to emulate

– When the project pressure is on…

• Revert to simulation for debug

Page 24: FPGA-Centric Functional Verification - Verification … · Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant,

Scotland & Ireland Designers Forum 24

22-May-2002

Simulation Debug Environment

• Ultimate logic analyser

• Testbench capable of simulation all features

– Target features for system test

– Use testbench to debug when they don’t work!

• Single biggest improvement to minimising

FPGA and product design cycle

Page 25: FPGA-Centric Functional Verification - Verification … · Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant,

Scotland & Ireland Designers Forum 25

22-May-2002

Back-End Verification

• Limited or no gate-level simulation

– Massive saving on simulation effort

• Static timing analysis

– Put effort into timing constraints

– Do not over-constrain

– Do not apply multiple guard-bands

• Formal Verification

– Equivalence checking

– Appropriate for transformation checking

– It’s the synth/build tool’s problem

Page 26: FPGA-Centric Functional Verification - Verification … · Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant,

Scotland & Ireland Designers Forum 26

22-May-2002

Regression Environment

• Regression Simulations

– Maximise feature set covered by simulations

– Limited to FPGA scope

– Fast debug

• System Regression Tests

– Reserve for specific features

– Long debug cycle when a test fails

– Failure could be S/W, H/W or FPGA

• Verification Plan is key to managing

regression responsibilities

Page 27: FPGA-Centric Functional Verification - Verification … · Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant,

Scotland & Ireland Designers Forum 27

22-May-2002

Conclusion

• A recipe for successful functional verification

of complex FPGAs:

– Take the best from ASIC

– Modify for the benefits of FPGA

– Invest in quality testbench design

– Focus on design-for-verification

– Use regression in simulation and system test

– Pull it all together with a verification plan

– Reuse it all in your next project!

Page 28: FPGA-Centric Functional Verification - Verification … · Scotland & Ireland Designers Forum 2002 22-May-2002 FPGA-Centric Functional Verification Mark Litterick Senior Consultant,

Scotland & Ireland Designers Forum 28

22-May-2002

Contact

Mark Litterick Senior Consultant

Verilab Ltd.

Willow House

Strathclyde Business Park

Bellshill

Scotland

ML4 3PB

Phone: 01698 464500

Mobile: 07810 822206

E-mail: [email protected] www.verilab.com