Top Banner
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
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

Jun 18, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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