The Interconnect Verification Challenge Franois Cerisier and Mike - - PowerPoint PPT Presentation

the interconnect verification challenge
SMART_READER_LITE
LIVE PREVIEW

The Interconnect Verification Challenge Franois Cerisier and Mike - - PowerPoint PPT Presentation

The Interconnect Verification Challenge Franois Cerisier and Mike Bartley Test and Verification Solutions IP-SOC 2012 Grenoble, 5 Dec 2012 The Interconnect Verification Challenge Whats an interconnect Interconnects


slide-1
SLIDE 1

The Interconnect Verification Challenge

François Cerisier and Mike Bartley Test and Verification Solutions IP-SOC 2012 Grenoble, 5 Dec 2012

slide-2
SLIDE 2

The Interconnect Verification Challenge

  • What’s an interconnect
  • Interconnect’s characteristics
  • Topologies
  • Transaction’s Paths
  • Verification Goals
  • Verification Environment
  • Protocol conversion
  • Scoreboard features
  • Scoreboard architecture
slide-3
SLIDE 3

SoC Interconnect

Core 0

UART Display USB Codec (h265) GPU / 3D Motion Audio HWA DDR DSP

Core 1

Cache

AXI AXI AXI

DMA

AXI Main CPU SS AHB OCP AHB OCP AHB OPB AXI AHB User Bus User Bus Wishbone AXI AXI AHB

SoC Interconnect !

slide-4
SLIDE 4

SoC Interconnect Characteristics

  • Master/Slave communications

– Protocols (AXI, AHB, APB, OCP, PLB, OPB, DCR, Wishbone, company corporate bus, …) – Bus Widths (16/32/64/128)

  • Memory Maps

– Shared memory map for all masters ? – Memory map clusters ? – One Memory map per master ?

  • Address Space

– Physical Address Space – System Virtual Memory Address Space (System MMU) – Virtual Address Space

  • SoC specific features

– Error management  invalid requests – Security  invalid request depending on security attributes – Power management

  • Invalid requests
  • Wake-Up
slide-5
SLIDE 5

Interconnect Topologies

  • Shared Bus

– Chip select, arbiter

  • Cross Bar
  • Muxes/Switch/Routers
  • Network on a Chip
slide-6
SLIDE 6

Interconnect Routes

Channel M5 to S5 Channel M0 to S0

Slave 0 AXI Slave 1 OCP Slave 2 OCP Slave 3 AHB Slave 4 APB Slave 5 AXI

0x0000_0000

Slaves Memory Space

0x1FFF_FFFF 0x2000_0000 0x2FFF_FFFF 0x4000_0000 0x401F_FFFF 0x5000_0000 0x5FFF_FFFF 0x7000_0000 0x7000_1FFF 0x7000_2000 0x7000_3FFF

reserved reserved reserved Master 5 AXI Master 4 AXI Master 3 AHB Master 2 OCP Master 1 AXI Master 0 CPU - AXI

slide-7
SLIDE 7

Verification Goals

  • Address Map

– Are all masters able to access all possible slaves ? – … under virtual address mode ? – Errors on invalid addresses

  • Protocol Sanity

– Are all kinds of transactions supported on each route ? – Are bursts/locks supported on each route ? – Protocol not broken under stress conditions

  • SoC features

– Security

  • Can secure transactions access to all slaves ?
  • Are unsecured transactions getting errors from secured slaves ?

– Power Management Use cases

  • Are we getting error from power off slaves ?
  • Are we able to wake up a slave ?
  • Use cases
  • Performance Analysis
  • (Interconnect integration)
slide-8
SLIDE 8

Interconnect Verification Environment

Core 0

UART Display USB Codec (h265) Audio HWA DSP

Core 1

Cache

AXI AXI AXI

DMA

AXI Main CPU SS AHB OCP AHB OPB AXI AHB User Bus User Bus Wishbone

SoC Interconnect

slide-9
SLIDE 9

Interconnect Verification Environment

AXI AXI AXI AXI AHB OCP AHB OPB AXI AHB User Bus User Bus Wishbone

SoC Interconnect

VIP VIP

driver monitor sequencer cfg

VIP VIP VIP VIP VIP VIP VIP VIP VIP VIP VIP seq seq seq seq seq seq seq seq seq seq seq seq seq Virtual Sequences

Interconnect Scoreboard

slide-10
SLIDE 10

Choosing the right sequence

slide-11
SLIDE 11

Choosing the right sequence

  • Dynamic constraints
  • Scenarios vary over time

 Make Interconnect reaching further traffic congestions

slide-12
SLIDE 12

Protocol conversion issues

AXI burst len=3 Size = WORD Address = 0x3 Kind = WRAPED LOAD Request transfer 7 Response transfer 6 5 4 3 2 1 F E D C B A 9 8 17 16 15 14 13 12 11 10

AXI transfer

LD16 Addr = 0 Request transfer 7 Response transfer 6 5 4 3 2 1 F E D C B A 9 8 17 16 15 14 13 12 11 10 LD8 Addr = 0x10 Request transfer Response transfer

Converted transfers

slide-13
SLIDE 13

Scoreboard Requirements

  • Connect to any bus protocol VIP
  • End to End transaction checking

– Data, direction, attributes, response, atomicity

  • Support for:

– Multiple address maps, Virtual address space – Address map reconfiguration, MMU – Security, Power management – User defined security/filtering (DRM, …)

  • Comparison policies

– Strict:

  • one to one transaction comparison

– Permissive:

  • Allow transaction address realignment, dummy reads, nops

– Per checker configuration

  • User switch on/off each checker (per path)
slide-14
SLIDE 14

Scoreboard Architecture 12/11/2012

M1 OCP UVM VIP

Master I/F Master I/F Master I/F Master I/F Slave I/F Slave I/F Slave I/F Slave I/F Channel M1S1

M2 AHB eVC M3 AXI VIP M4 OCP VIP S1 OPB VIP S2 AHB VIP S3 APB VIP S3 AXI VIP

UVM OCP connector eRM AHB connector UVM AXI connector UVM OCP connector UVM OPB connector UVM AHB connector UVM APB connector UVM AXI connector

Config & Address Map

slide-15
SLIDE 15

User’s experience

  • 3 derivatives of a SoC Interconnect

– 40 masters, 60 slaves with over 200 paths – 5 protocols, 3 different bus sizes – Security Management – Power Management features – Dynamic address translations

  • Scoreboard Developments

– Right architecture choice is key – Generic features / Generic Adapters – Search and comparison algorithms

  • Verification results

– Address map specification – Wrong protocol translations of AXI FIXED from 64 to 32 bit buses – Deadlock in some traffic congestions involving bursts – Deadlock in power management

slide-16
SLIDE 16

Conclusion

  • SoC Interconnect needs to be verified from

end to end

  • Verification Environment should address

– Complex scenarios – Stress/congestion conditions

  • Interconnect SoC scoreboard should be

generic & highly configurable

  • Scoreboard can also provide:

– Functional coverage metrics – Performance information