fpga-centric functional verification - verification … · scotland & ireland designers forum...
TRANSCRIPT
Scotland & Ireland Designers Forum 2002
22-May-2002
FPGA-Centric
Functional Verification
Mark Litterick Senior Consultant, Verilab Ltd.
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
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
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
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
Scotland & Ireland Designers Forum 6
22-May-2002
FPGA - Similarities to ASIC
• Require to verify every feature
• Regression is required
• Independent verification => better quality
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
Scotland & Ireland Designers Forum 8
22-May-2002
Overview of FPGA Methodology
• What is it?
• Who needs it?
• What are the benefits?
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
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
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
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
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
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
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
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
:
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
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
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
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
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
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
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
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
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
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
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!
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