ip verification - national chiao tung...

54
IP Core Design Lecture 9 IP Verification Juinn-Dar Huang, Ph.D. Assistant Professor [email protected] October 2004

Upload: others

Post on 02-Mar-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Core Design

Lecture 9 IP Verification

Juinn-Dar Huang, Ph.D.Assistant Professor

[email protected]

October 2004

Page 2: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

1copyright © 2004

A USD$ 475 Million Bug

• Intel’s Pentium Bug in 1994– 3.3 million transistors on chip– 1 trillion (1012) cycles were simulated before tape-out– a bug in floating-point division hardware was revealed– fixed by adding 5 more transistors

• Intel offered replacements to users– $475 Million USD penalty at Q4’94

Page 3: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

2copyright © 2004

Verification Challenge (1/3)

• Designs grow as Moore’s Law predicted• Design productivity has risen 10x since 1990 due

to synthesis• Effort for verification doubles every 6-9 months

Hardware Design Productivity

0

20

40

60

80

100

120

140

16019

80

1982

1984

1986

1988

1990

1992

1994

1996

1998

Year

Gat

es P

er D

ayThe challenge offunctional verificationis getting bigger

Page 4: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

3copyright © 2004

Verification Challenge (2/3)

• 50% of chips require 1 or more re-spins• 74% of re-spins are due to functional defects

Reasons of Re-Spins

74%

33%

31%

31%

24%

23%

21%

14%

11%

10%

0% 20% 40% 60% 80%

Functional

Noise

Clocking

Slow Path

Race Condition

Yield

Mixed-Signal I/F

Power

IR Drop

Firmware

Rea

son

%

Collett International 2000

Page 5: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

4copyright © 2004

Verification Challenge (3/3)

• Average 1.5 functional bugs per 200 lines in RTL– 150 bugs in a typical 20K-line design

• Average 1.5 man-day required to find a bug– 225 man-day required for a 20K-line design

• Do you find all bugs before tape-out?• How do you find bugs quicker and easier?

Page 6: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

5copyright © 2004

Glossary

• Verification environment– commonly referred as testbench (environment)

• Definition of testbench– a verification environment containing a set of

components - such as bus functional models (BFMs), bus monitors, memory models - and the interconnect of such components with the design-under-test

• Verification (Test) suites (stimuli, patterns, vectors)– test signals and the expected response under given

testbenches

Page 7: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

6copyright © 2004

Verification Reuse

• Verification goal is defect-free• The macro-level testbenches and suites should

be reusable– the macro may be redesigned later

• The integration team must be able to reuse the macro-level testbenches– the macro must be verified both as a standalone unit

and in the context of the final application • Testbenches must be compatible with system-

level verification tools– testbenches may be used in system verification

Page 8: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

7copyright © 2004

Verification Plan

• Verification plan is part of the design report• Verification takes over 70% of development time• Contents

– verification strategy for both subblock- and top-level– testbench components - BFM, bus monitors, …– required verification tools– simulation environment including block diagrams– key features needed to be verified in both levels– regression test environment and procedure– clear criteria to determine whether the verification is

successfully complete

Page 9: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

8copyright © 2004

Benefits of Verification Plan

• Verification plan enables– developing the testbench environment early– developing the test suites early– focusing the verification effort to meet the shipment

criteria– forcing designers to think through the time-consuming

activities before performing them– a separate verification support team creates a

verification environment in parallel with the primary design task

Page 10: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

9copyright © 2004

Verification Strategy

• Three major phases– subblock verification

• thorough and exhaustive functionality verification• simulation, code coverage, TB automation

– macro verification• interface verification between subblocks• simulation, hardware accelerator, TB automation, code coverage

– prototyping• real prototype runs real software in the real application• emulation, FPGA, ASIC test chip

• Bottom-up approach– locality– catching bugs is easier and faster in the lower level

Page 11: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

10copyright © 2004

Types of Verification• Compliance verification• Corner case verification• Assertion-based verification (ABV)

– either static(formal) or dynamic• Random verification

– create scenarios that engineers do not anticipate• Real code verification

– avoid misunderstanding the spec• Regression verification

– ensure that fixing a bug will not introduce another bugs– be performed on a regular basis

Page 12: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

11copyright © 2004

Assertion

• An assertion– is a statement about a design’s intended behavior– is also named as property; used interchangeably– usually does not map to the real HW (not synthesizable)

• An assertion is used– to ensure consistency between the designer’s intention

and what he created– to guard the design assumptions/properties

“Input should range from 0 to 240.”;“After req raises, gnt is expected within 10 clock cycles.”

Page 13: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

12copyright © 2004

Neither New nor Innovative Idea

• The assertion concept has been adopted to software engineering for many many years

#include <assert.h>

char hex_to_char(unsigned int num){

assert(num <= 15);

if(num < 10)return num + ‘0’;

elsereturn num - 10 + ‘A’;

}

“Writing Solid Code” or “如何撰寫 0 錯誤程式”

Page 14: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

13copyright © 2004

Assertion-Based Verification

• Assertion– to preserve design assumptions and properties– break the simulation when assertion fails– both spatial and temporal relationship can be asserted– help designers to locate bugs at right place and time

• Open Verification Library (OVL)– www.verificationlib.org

• Property Specification Language (PSL)– derived from IBM’s Sugar, adopted by Accellera 2003

• Concept extended to function monitors and functional coverage

Page 15: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

14copyright © 2004

ABV Flow• More thorough block-level

verification– find bug easier– simulate effectively

• Build SoC from more robust IPs– assertions can be reused

at system-level– system-level verification

focuses on interfacesamong IPs

CustomAssertions

ExistingLibraries

VerificationIPs

Design-SpecificAssertion Specifications

Simulation

Formal

TB Automation

Functional Coverage

Page 16: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

15copyright © 2004

Taxonomy

Functional Verification

Dynamic- simulation based- input vectors required- no 100% guarantee

(false positive issue)

Formal/Static- mathematical-proof- no input vectors required- 100% guarantee

Equivalence Checking- pretty mature

Model Checking- verify properties

formally- capacity issue- improvement

expected

Semi-Formal- still simulation based- check properties formally

at each simulation step

STA in timingverification

Page 17: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

16copyright © 2004

Verification Tools (1/2)

• Simulation– even-driven: good debug environment– cycle-based: fast simulation time

• Code coverage– coverage on RTL structure– Verification Navigator, CoverMeter

• Hardware Verification Language (HVL)– a language providing powerful constructs for generating

stimulus and checking response– OpenVera in Vera, e in Specman Elite, SystemVerilog,

(SCV in SystemC, former TestBuilder)

Page 18: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

17copyright © 2004

Verification Tools (2/2)

• Functional coverage– coverage on functionality

• Formal property checking• Verification IPs (VIPs)

– BFMs and bus monitors for standard protocols• Hardware modeling• Hardware acceleration and emulation• Prototyping

– FPGA– test chip in silicon

Page 19: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

18copyright © 2004

Verification IPs

• A package including well-designed and well-verified BFM/monitor for a specific (interface) protocol– AMBA, Ethernet, SONET, UTOPIA, PCI, USB, I2C,

UART, CAN, …– avoid reinvent-the-wheel– accelerate the verification

Page 20: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

19copyright © 2004

Code Coverage (1/2)

• Indicate how much of design has been exercised• Point out what areas need additional verification• Optimize regression suite runs• Minimizes the use of valuable simulation resources• Quantitative stopping criterion• Verify more but simulate less

Page 21: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

20copyright © 2004

Code Coverage (2/2)

• Types– statement – branch– condition – path– toggle – triggering– FSM

– 100% coverage in statement, branch, condition– others can be used as secondary metrics

• Redundancy removal• Minimize regression test suites

Page 22: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

21copyright © 2004

Verification with Code Coverage

Source: Verification Methodology Manual

Page 23: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

22copyright © 2004

Bug Detection Curve

Source: Verification Methodology Manual

Page 24: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

23copyright © 2004

Inspection

• Finding bugs by careful inspection is faster than that by simulation

• Inspection process– design (specification, architecture) review– code (implementation) review

• line-by-line fashion• at the subblock-level

• Lint-like tool can help spot defects w/o simulation

Page 25: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

24copyright © 2004

Adversarial Testing

• For original designers– focus on proving that the design works correctly

• Separate verification team– focus on trying to prove the design is broken– keep up with the latest tools and methodologies

• The combination of the two gives the best results

Page 26: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

25copyright © 2004

Limited Production

• Even after robust verification and prototyping, it’s still not guaranteed to be bug-free

• A limited production for new macro is necessary– 1 to 4 customers– small volume– reducing the risk of supporting problems

Page 27: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

26copyright © 2004

Testbench Design• Auto or semi-auto stimulus generation is preferred• Automatic response checking is a must• Powerful pattern generators and function monitors help• Macro-level testbench

– will be shipped along with the macro so that the customer can verify the macro in the system design (reusable testbench)

DUVPatternGenerator

ResponseChecker,FunctionMonitor

InputCommands

at High-LevelAbstraction

Log,Error Report,

FunctionalCoverageAnalysis

User PLI TestBuildere/SpecmanVera

SVACT0-in…

Transactions

Page 28: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

27copyright © 2004

Example: USB Device Controller

AHB

AHBMasterBFM

AHBSlaveBFM

AHBBus

Monitor

Slave Master

USB Macro

UTMI I/FUSB

Monitor

USBBFM

USB Bus

UserCommands

correctnesstransaction logging

coverage

correctnesstransaction logging

coverage

AutomaticResponseChecking

Page 29: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

28copyright © 2004

Automatic Response Checking

Device UnderVerification

InputStimulus

AutomaticResponseChecking

ReferenceModel

(C/C++,HDL/HVL,

Hardware Modeler)

Typical use: datapath elements and processors

Page 30: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

29copyright © 2004

Functional Models (1/2)

• Functional (Behavioral) model is required for all IPs– fast simulation and integration in system-level designs– a very secure model for customer’s evaluation

• BFM model is required particularly for interface IPs– PCI, USB, IEEE1394, …

• ISA model is required for processor IPs

Page 31: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

30copyright © 2004

Functional Models (2/2)

• Functional models of different abstractions– provide tradeoffs between accuracy and simulation

speed– meet various needs of the H/W and S/W teams in

various design phases• Model security

– functional models usually developed by C/C++ or HDL– protection should be applied if security is a concern– compiled (encrypted) models are usually required

Page 32: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

31copyright © 2004

Timing Verification

• STA is the fastest approach for timing verification of synchronous designs– avoiding any timing exceptions is extremely important

• Gate-level simulation– most useful in verifying timing of asynchronous logic,

multi-cycle paths and false paths– much slower run-time performance– gate-level sign-off– translate functional test patterns into tester patterns

Page 33: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

Case Study 1:16-Bit Embedded DSP Core

Page 34: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

33copyright © 2004

RTL Verification Environment

Execution file(*.exe)

S/W Tools

Memory Image files

(*.hexg)

Assembly code(*.dsp)

Core

PM(64Kx24)

DM(64Kx16)

CM(64Kx16)

BDMAI/F

ISAI/F

BISTtesting

InterruptSPORTGPIO

I/O

Verification EnvironmentCoveragemeasuredby VN

PLL

Page 35: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

34copyright © 2004

Deterministic Verification100+ deterministic verification suites

• Special functions– MAC, ALU, SHIFTER, DAG, SPORTs, Timer and Interrupts

• Pipeline control– data dependency, control dependency, and loop handling, …

• Common DSP algorithms– FFT, IFFT, FIR, DEMEAN_BUFFER, …

• Real code– DCT, PCM, modem, GSM codec, G.722, …

Completeness assured by code coverage tool

Page 36: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

35copyright © 2004

Verification for External Interrupts

• One of the hard-to-verification cases• Generating a complicated external interrupt

sequence is not easy– scenarios such as nested interrupts, …

• Use an external interrupt generator– self-timing– highly configurable– help create non-

trivial interruptsequences CPU

InterruptGenerator

(as an I/O device)

interrupts

scenarios

Page 37: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

36copyright © 2004

Instruction Set Simulator (ISS)

• Implement in C• Cycle-by-cycle accuracy

– all registers (internal registers, memory-mapped register,…)

– important internal signals (program counter, stall signals, pipeline control signals, …)

Verification Pattern

.. Hardware

ISS

H.log

I.log

Compare

Page 38: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

37copyright © 2004

FPGA Prototyping Board

DSP CORE

PM CMDM

IDMAInterface

BDMAInterface

BOOT ROMUnit

BDMAMEMORY

Unit

IO MEMORYUnit

ISAAdatper

PFInterface

SEGMENT

SPORTsAD1847

Page 39: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

38copyright © 2004

Application for FPGA Prototyping

7-SEGMENT

UDSP-FPGA

AD1847

BOOT ROM

• Bass enhancement

Page 40: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

39copyright © 2004

ASIC Prototyping

• More difficult to debug– lack of observability – limited external pins– lack of controllability – free-run mode only

Page 41: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

40copyright © 2004

MP3 Demo System

Page 42: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

41copyright © 2004

MP3 Player Demo System

CF Card

Flash ROMUDSP-1600

AC’97Codec

Page 43: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

42copyright © 2004

Development Kit

UDSP-1600

Connectors

EPP Port

Flash ROM

7-Seg. LEDs

AudioI/F

Page 44: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

Case Study 2:32-Bit Embedded CPU Core

Page 45: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

44copyright © 2004

Design Verification

• Rigorous RTL coding style– assured by a linting tool

• Verifiable RTL coding style– friendly to simulation, equivalence checker, …

• Deterministic verification– basic feature verification– corner case verification– code coverage analysis

• Random code verification• Sophisticated regression environment

Page 46: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

45copyright © 2004

Deterministic Verification

• Data processing (ALU,shifter and multiplier)• Memory access (load, store and swap)• Branch and interrupt• Pipeline data and control dependency• Different CPU models• Coprocessor interface

Completeness assured by code coverage tool

Page 47: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

46copyright © 2004

Random Code Verification (1/2)

Constraint file

Random seed Mismatch assertion

Information dump

Massive constrained random patterns

GoldenModel

CPU RTL

ResultComparator

Random CodeGenerator

Page 48: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

47copyright © 2004

Random Code Verification (2/2)• Random code generator

– constrained random instructions generation• instruction type• ratio among types

– constrained random exception(interrupt) injection• exception type• probability for each exception

– capable to rebuild failure scenarios for debugging• Result comparator

– automatically compare on the fly– all output and register values are compared– dump mismatch information for debugging

– Over 100 million cycles verified at least

Page 49: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

Must-Do List for My Next CPU Project

Page 50: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

49copyright © 2004

Must-Do List (1/2)

• Rigorous RTL coding and lint check• Thorough verification plan in advance• Deterministic verification

– predefined must-verify features– corner-case verification

• Complete code coverage• Constraint-driven random verification

– constraint-driven randomized stimulus generator– use Vera or e– functional coverage

• Untimed and Timed ISA models

Page 51: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

50copyright © 2004

Must-Do List (2/2)

• Dynamic ABV– use assertions intensively throughout the simulation– use OVL and PSL

• Optional formal verification– property checking (model checking)– equivalence checking

• Optional HW accelerator• FPGA prototyping

– choose an appropriate application• ASIC-based demo system

Page 52: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

51copyright © 2004

Untimed and Timed ISA Models (1/2)

• Untimed ISA model– instruction-level accuracy– no accurate timing information– for behavioral simulation

• Timed ISA model– cycle-accurate ISA model– functionality + cycle timing information

Page 53: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

52copyright © 2004

Untimed and Timed ISA Models (2/2)

• System C is a good candidate for above models– native and trivial for system designers– good encryption– can co-simulate with HDL– seamlessly integrate with GUI wrapper

• Timed model should be based on the untimed one• ISS should be just a GUI wrapper + an ISA model

Page 54: IP Verification - National Chiao Tung Universitytwins.ee.nctu.edu.tw/courses/ip_core_04/handout_pdf/09_IP_Verification.pdfIP Core Design Lecture 9 IP Verification Juinn-Dar Huang,

IP Verification

Juinn-Dar H

uang jdhuang@m

ail.nctu.edu.tw

53copyright © 2004

RTL Verification Flow

VerificationVectors

RTL

RulesDatabase

Gate-LevelNetlist

SimulationCode Coverage

Functional CoverageDynamic ABV, …

2

PropertyChecking

3

Synthesis4

EquivalenceChecking5Linting1