verification of a cache coherent system with an a53 cluster using … · 2019-12-02 · snug 2015 1...

22
1 Verification of a Cache Coherent system with an A53 cluster using ACE VIP with Graph Based Stimulus Galen Blake Perry Wobil Altera Corporation September 18, 2015 Austin, TX

Upload: others

Post on 18-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Verification of a Cache Coherent system with an A53 cluster using … · 2019-12-02 · SNUG 2015 1 Verification of a Cache Coherent system with an A53 cluster using ACE VIP with

SNUG 2015 1

Verification of a Cache Coherent system with an A53 cluster using ACE VIP with Graph Based StimulusGalen BlakePerry WobilAltera Corporation

September 18, 2015Austin, TX

Page 2: Verification of a Cache Coherent system with an A53 cluster using … · 2019-12-02 · SNUG 2015 1 Verification of a Cache Coherent system with an A53 cluster using ACE VIP with

SNUG 2015 2

Agenda

Verification of Cache Coherent Access from an FPGA

Graph Based Multi Context Stimulus Concepts

Application to a Cache Coherent SOC-FPGA system

Page 3: Verification of a Cache Coherent system with an A53 cluster using … · 2019-12-02 · SNUG 2015 1 Verification of a Cache Coherent system with an A53 cluster using ACE VIP with

SNUG 2015 3

Verification of Cache Coherent Access from an FPGA

Page 4: Verification of a Cache Coherent system with an A53 cluster using … · 2019-12-02 · SNUG 2015 1 Verification of a Cache Coherent system with an A53 cluster using ACE VIP with

SNUG 2015 4

System Description

• An ARM quad A53 cluster

• A Cache Coherent Interconnect to coordinate coherent transactions

• Customer Defined V8 compliant ACE agent synthesized into the FPGA soft Logic

Page 5: Verification of a Cache Coherent system with an A53 cluster using … · 2019-12-02 · SNUG 2015 1 Verification of a Cache Coherent system with an A53 cluster using ACE VIP with

SNUG 2015 5

Block Diagram of Test Bench & DUT

ACE

CPU0 CPU1 CPU2 CPU3

L2 CacheAC

ELite

System Memory

AXI4 Cache Coherent Interconnect

SCU

OC

RAM

ACELITE

ARM A53 MPU Cluster

ACE

L3 Interconnect

Cache

FPGACustomer Design

Page 6: Verification of a Cache Coherent system with an A53 cluster using … · 2019-12-02 · SNUG 2015 1 Verification of a Cache Coherent system with an A53 cluster using ACE VIP with

SNUG 2015 6

Verification Challenges

• How do we model a customer defined ACE agent– In our case we chose the Synopsys ACE VIP– It can be configured in many different ways to match

potential customer configurations– A key feature needed is the local cache to support all ACE

coherent transactions that require data allocation.

• How do we generate C and UVM stimulus, coordinate and check cacheable transactions– In our case we chose the Breker Trek-SoC tool– It is capable of generating C code for the A53 and UVM

sequences for the ACE VIP and automatically coordinates and checks the coherent traffic from each of them

Page 7: Verification of a Cache Coherent system with an A53 cluster using … · 2019-12-02 · SNUG 2015 1 Verification of a Cache Coherent system with an A53 cluster using ACE VIP with

SNUG 2015 7

Graph Based Stimulus Concepts

Page 8: Verification of a Cache Coherent system with an A53 cluster using … · 2019-12-02 · SNUG 2015 1 Verification of a Cache Coherent system with an A53 cluster using ACE VIP with

SNUG 2015 8

Graph Construction

• Graphs are constructed from a C like language that describes a functional space or protocol

• The language is then used to construct a graph

• The graph can be used to review for accuracy and documentation

• This is an example of an ACE graph

Page 9: Verification of a Cache Coherent system with an A53 cluster using … · 2019-12-02 · SNUG 2015 1 Verification of a Cache Coherent system with an A53 cluster using ACE VIP with

SNUG 2015 9

Graph Elements • Decision points• Transactions• Transaction Properties

Page 10: Verification of a Cache Coherent system with an A53 cluster using … · 2019-12-02 · SNUG 2015 1 Verification of a Cache Coherent system with an A53 cluster using ACE VIP with

SNUG 2015 10

Graph Construction

• A big picture view of the complete ACE graph

• The language used is currently proprietary

• There is an active working group in Accelerra [pswg] working to standardize this type of language

Page 11: Verification of a Cache Coherent system with an A53 cluster using … · 2019-12-02 · SNUG 2015 1 Verification of a Cache Coherent system with an A53 cluster using ACE VIP with

SNUG 2015 11

Application to a Cache Coherent Interconnect System

Page 12: Verification of a Cache Coherent system with an A53 cluster using … · 2019-12-02 · SNUG 2015 1 Verification of a Cache Coherent system with an A53 cluster using ACE VIP with

SNUG 2015 12

DUT

Block Diagram of Test Bench & DUT

ACE

CPU0 CPU1 CPU2 CPU3

L2 Cache

ACELite

ACE_L_VIP_s(Memory)

AXI4 Cache Coherent Interconnect

SCU

OC

RAM

ACELITE

TrekSoc

AXI_master_trek_sequence

Trektest.c

Backdoor_access

ACE_VIP_MON

AXI4_VIP_MON

C-A53 MPUAC

E

ACE_L_VIP_m

Cache

SynopsysACE_VIP_m

Page 13: Verification of a Cache Coherent system with an A53 cluster using … · 2019-12-02 · SNUG 2015 1 Verification of a Cache Coherent system with an A53 cluster using ACE VIP with

SNUG 2015 13

Stimulus Generation & Synchronization

ACE C-Based Transactions

CacheCoherencyApp

trek_test.c trek_test.tbx

Embedded C

ARM CPU ACE VIP Master

UVM VIP Sequence

Trek Mail BoxACE UVM Transactions

Cache Coherency Interconnect

TrekSoC

ACE ACE

import "DPI-C"

Page 14: Verification of a Cache Coherent system with an A53 cluster using … · 2019-12-02 · SNUG 2015 1 Verification of a Cache Coherent system with an A53 cluster using ACE VIP with

SNUG 2015 14

Big picture view.Shows A53 and UVM events

Page 15: Verification of a Cache Coherent system with an A53 cluster using … · 2019-12-02 · SNUG 2015 1 Verification of a Cache Coherent system with an A53 cluster using ACE VIP with

SNUG 2015 15

Tracing activity on one cache lineCoherent block transaction initiated on CPU which targets a memory cache line

Coherent transaction initiate on VIP to cause snoops on target address

Chain of Coherent TXNs that operate on target cache line

Page 16: Verification of a Cache Coherent system with an A53 cluster using … · 2019-12-02 · SNUG 2015 1 Verification of a Cache Coherent system with an A53 cluster using ACE VIP with

SNUG 2015 16

Tracing activity on one cache line

Page 17: Verification of a Cache Coherent system with an A53 cluster using … · 2019-12-02 · SNUG 2015 1 Verification of a Cache Coherent system with an A53 cluster using ACE VIP with

SNUG 2015 17

Details about CPU based events

Page 18: Verification of a Cache Coherent system with an A53 cluster using … · 2019-12-02 · SNUG 2015 1 Verification of a Cache Coherent system with an A53 cluster using ACE VIP with

SNUG 2015 18

Tracing activity on one cache line

Page 19: Verification of a Cache Coherent system with an A53 cluster using … · 2019-12-02 · SNUG 2015 1 Verification of a Cache Coherent system with an A53 cluster using ACE VIP with

SNUG 2015 19

Details about a VIP (UVM) event

Page 20: Verification of a Cache Coherent system with an A53 cluster using … · 2019-12-02 · SNUG 2015 1 Verification of a Cache Coherent system with an A53 cluster using ACE VIP with

SNUG 2015 20

Runtime view of a failed eventSubtitle if Needed

Page 21: Verification of a Cache Coherent system with an A53 cluster using … · 2019-12-02 · SNUG 2015 1 Verification of a Cache Coherent system with an A53 cluster using ACE VIP with

SNUG 2015 21

Conclusion• It only took one week to complete the following

– Install the Breker Trek tool– Integrate the tool into embedded SW (Make) flow– Integrate the tool with the Synopsys VIP UVM sequences– Develop highly complex coherent system traffic

• We also found an RTL bug that second week

• Since that time we have also deployed both the Breker Trek and Synopsys ACE and DDR VIP to develop complex traffic for our memory sub system

• Currently working to extend this verification methodology of graph based stimulus and UVM components to “non-AMBA” areas of SOC

Page 22: Verification of a Cache Coherent system with an A53 cluster using … · 2019-12-02 · SNUG 2015 1 Verification of a Cache Coherent system with an A53 cluster using ACE VIP with

SNUG 2015 22

Thank You