advanced scoreboard techniques using uvm - t&vs · pdf filebooks, online materials ......

23
Advanced Scoreboard Techniques using UVM François Cerisier Test and Verification Solutions DVClub – 9th Sept 2013

Upload: vokien

Post on 07-Feb-2018

264 views

Category:

Documents


5 download

TRANSCRIPT

Advanced Scoreboard Techniques using UVM

François Cerisier Test and Verification Solutions

DVClub – 9th Sept 2013

DVClub Sept 9th 2013 - Advanced Scoreboard Techniques using UVM – François Cerisier – page 2

Abstract

• Abstract This presentation describes scoreboarding techniques using UVM. It reviews the scoreboard principles and UVM features for scoreboarding and extends to more advanced techniques to verify full transaction contents, data, attributes and responses for data flow designs, bridges and interconnects. The presentation will go through the analysis_port requirements, search in lists, queues and pools and using the UVM factory to architect a generic scoreboard for complex multi protocol interconnects.

• Biography François Cerisier has an Engineering Diploma in Digital Signal Processing from Polytech’Sophia, University of Nice-Sophia-Antipolis and over 13 years of experience in verification of IPs, CPUs and System-On-Chips and in hardware/software co-verification. François gained verification methodology expertise from industrial projects of major semiconductor companies (including Infineon, Broadcom, ST-Microelectronics, ST-Ericsson, NXP) and EDA start-ups. He is now leading Test and Verification Solutions subsidiary in France to provide verification services and consulting.

DVClub Sept 9th 2013 - Advanced Scoreboard Techniques using UVM – François Cerisier – page 3

Agenda

– Introduction – Scoreboard Principles

• Case 1: Bridge / Data flow design • Case 2: More complex data flow design • Case 3: Memory controllers

– Connecting Scoreboard to Agent • analysis_port

– Storing and searching for referenced data • Pool • Queues

– Scoreboards for complex designs • Requirements for predictor • Divide and Conquer • Using the UVM Factory

– Interconnect Scoreboard Architecture Example – Conclusion

DVClub Sept 9th 2013 - Advanced Scoreboard Techniques using UVM – François Cerisier – page 4

Scoreboard Tutorials

• UVM User Guide – Quick explanation how to connect a scoreboard

• UVM Cookbook, Verification Academy

– Straight to the code of a out of order comparator/predictor

• Books, Online Materials, UVM Trainings – A lot about UVM

DVClub Sept 9th 2013 - Advanced Scoreboard Techniques using UVM – François Cerisier – page 5

Random Verification Aspects

• Verification using Constrained Random Generation : – Generation of random test scenarios

• Automate tests

– Functional Coverage • Know what has been automatically covered

– Checks

• Know that the design complies to a protocol assertions

• Know that the design does what it should do

transaction checks scoreboards

DVClub Sept 9th 2013 - Advanced Scoreboard Techniques using UVM – François Cerisier – page 6

Scoreboard Roles

• Check the design is doing what we expect – transaction content

• Data, address, attributes, opcode, response code

– transaction ordering • FIFO • OOO • Precedence relationship

DVClub Sept 9th 2013 - Advanced Scoreboard Techniques using UVM – François Cerisier – page 7

Data flow design example

DUT

DVClub Sept 9th 2013 - Advanced Scoreboard Techniques using UVM – François Cerisier – page 8

assertions assertions

Typical UVM testbench

DUT

sequencer

Test

sequences

driver

monitor

vif

vif

driver

monitor

sequences Bus A VIP

Master Agent Bus B VIP

Slave Agent

sequences

monitor monitor

DVClub Sept 9th 2013 - Advanced Scoreboard Techniques using UVM – François Cerisier – page 9

assertions assertions

Scoreboard principles – data flow design

DUT

sequencer

Test

sequences

driver

monitor

vif

vif

driver

monitor

sequences Bus A VIP

Master Agent Bus B VIP

Slave Agent

sequences

trans Ref trans

Match ?

Storage Compare / Search

Scoreboard

Transaction Predictor

Response Scoreboard

DVClub Sept 9th 2013 - Advanced Scoreboard Techniques using UVM – François Cerisier – page 10

assertions assertions

Scoreboard principles – complex data flow design

DUT

sequencer

Test

sequences

driver

monitor

vif

vif

driver

monitor

sequences Bus A VIP

Master Agent Bus B VIP

Slave Agent

sequences

trans Ref trans

Match ?

Storage Compare / Search

Request Scoreboard

TLM Reference

Model

Response Scoreboard

DVClub Sept 9th 2013 - Advanced Scoreboard Techniques using UVM – François Cerisier – page 11

assertions

Scoreboard principles – memory controller

DUT

sequencer

Test

sequences

driver

monitor

vif

sequences Bus A VIP

Master Agent

Write trans

Ref trans

Match ?

Storage Compare / Search

Scoreboard

Transaction Predictor

Read trans

Reads are checked against previous Writes

DVClub Sept 9th 2013 - Advanced Scoreboard Techniques using UVM – François Cerisier – page 12

Connecting the scoreboard – Analysis Ports

• UVM 1.1 Class Reference Manual

DVClub Sept 9th 2013 - Advanced Scoreboard Techniques using UVM – François Cerisier – page 13

Connecting the scoreboard – UVM Example

DVClub Sept 9th 2013 - Advanced Scoreboard Techniques using UVM – François Cerisier – page 14

Storing Data / Transactions

• Storage structure strongly depends on ordering model – FIFO queues – OOO dynamic arrays, queues – Memory associative array (indexed by address) – Others:

• Associative array of queues

• Data type: – Memory scalar, bytes, integers, – Data path:

• Scalar • Transaction Item Class

DVClub Sept 9th 2013 - Advanced Scoreboard Techniques using UVM – François Cerisier – page 15

Storage of transactions

DVClub Sept 9th 2013 - Advanced Scoreboard Techniques using UVM – François Cerisier – page 16

Transaction Match

DVClub Sept 9th 2013 - Advanced Scoreboard Techniques using UVM – François Cerisier – page 17

Predictor / Reference Model

• Predictor required when: – Compared transaction has not the same format as the

input (protocol bridges)

– Design is transforming data (encryption, filter, encoder,…)

• Re-Use concern: – Encapsulation: implemented as a separated class – uvm_analysis_port / imp to connect – UVM Factory to extend, replace existing objects

DVClub Sept 9th 2013 - Advanced Scoreboard Techniques using UVM – François Cerisier – page 18

Divide and Conquer

• What if the design has – Different transaction paths/routes – Different behaviour depending on

• Address segments • Opcodes or other transaction attributes

• Option 1: TLM Reference Model • Option 2: Divide and Conquer

– Replace complex predictor with several simpler scoreboards

DVClub Sept 9th 2013 - Advanced Scoreboard Techniques using UVM – François Cerisier – page 19

Divide and Conquer – AXI read/write separation

DUT scoreboard FIFO read

scoreboard

FIFO write scoreboard

DVClub Sept 9th 2013 - Advanced Scoreboard Techniques using UVM – François Cerisier – page 20

Improving reuse

• UVM Factory – Same architecture – Different implementation, different behavior

DUT scoreboard FIFO read

scoreboard

FIFO write scoreboard

OOO read scoreboard

DVClub Sept 9th 2013 - Advanced Scoreboard Techniques using UVM – François Cerisier – page 21

Complex NoC / Fabrics scoreboard example

AHB adapter

AHB adapter

AHB adapter

AHB adapter

AHB adapter Route M0 to S0

Master I/F 5

Master I/F 4

Master I/F 3

Master I/F 2

Master I/F 1

Master I/F 0

Cohe

renc

y Do

mai

n

AXI Monitor

OCP Monitor

AXI / ACE-Lite Monitor

AHB adapter

AXI adapter

OCP adapter

AXI adapter

AXI adapter

AXI adapter

ACE adapter

ACE adapter

Master ACE I/F 1

Master ACE I/F 0

Route M1 to S1

ACE

Scor

eboa

rd

Slave I/F 0

Slave I/F 3

Slave I/F 1

Slave I/F 2

Slave I/F 4

AHB Monitor

OCP Monitor

AXI Monitor

APB Monitor

Route M2 to S2

Master VIP Monitors

Slave VIP Monitors

VIP to Scbd adapters

VIP to Scbd adapters

NoC Scoreboard VIP Address Map &

Configuration

NoC

AHB Monitor

Master 5 AHB

DUT

AXI Monitor

ACE Monitor

AXI Monitor

ACE Monitor

UVM Agent

AXI Monitor

UVM Agent

UVM Agent

UVM Agent

UVM Agent

UVM Agent

UVM Agent

UVM Agent

UVM Agent

UVM Agent

UVM Agent

APB Slave 4

DVClub Sept 9th 2013 - Advanced Scoreboard Techniques using UVM – François Cerisier – page 22

Conclusion

• Scoreboards verify transaction functional correctness

• SystemVerilog provides agregate types for transaction storage & search

– Dynamic Arrays, Associative Arrays, Queues, Classes

• UVM ease scoreboard development, providing:

– UVM analysis ports ( easier than call backs) – uvm_transaction compare() / do_compare() methods – UVM factory for extension, replacement & reuse.

• Divide and Conquer:

– keep simple things simple. – Compose simple blocks to build complex behavior

DVClub Sept 9th 2013 - Advanced Scoreboard Techniques using UVM – François Cerisier – page 23

Thank you

• Questions?