the interconnect verification challenge
play

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


  1. The Interconnect Verification Challenge François Cerisier and Mike Bartley Test and Verification Solutions IP-SOC 2012 Grenoble, 5 Dec 2012

  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

  3. SoC Interconnect Main CPU SS Core 0 Core 1 GPU / 3D DSP DMA Codec (h265) Motion Cache AXI AXI OCP OCP AXI AXI AHB AHB AHB SoC Interconnect ! OPB AHB User Bus AXI Wishbone AXI AHB User Bus AXI Audio UART DDR USB Display HWA

  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

  5. Interconnect Topologies • Shared Bus – Chip select, arbiter • Cross Bar • Muxes/Switch/Routers • Network on a Chip

  6. Interconnect Routes Slaves Memory Space 0x7000_3FFF Slave 5 Master 5 Channel M5 to S5 AXI AXI 0x7000_2000 0x7000_1FFF Slave 4 APB 0x7000_0000 Master 4 AXI reserved 0x5FFF_FFFF Slave 3 AHB 0x5000_0000 Master 3 AHB reserved 0x401F_FFFF Slave 2 Master 2 OCP 0x4000_0000 OCP reserved Master 1 AXI 0x2FFF_FFFF Slave 1 OCP 0x2000_0000 0x1FFF_FFFF Master 0 Slave 0 Channel M0 to S0 CPU - AXI AXI 0x0000_0000

  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)

  8. Interconnect Verification Environment Main CPU SS Core 0 Core 1 DSP DMA Codec (h265) Cache AXI AXI OCP AXI AXI AHB AHB SoC Interconnect OPB AHB User Bus Wishbone User Bus AXI Audio UART USB Display HWA

  9. Interconnect Verification Environment Virtual Sequences seq VIP seq seq seq seq seq seq sequencer cfg driver monitor VIP VIP VIP VIP VIP VIP AXI AXI OCP AXI AXI AHB AHB Interconnect Scoreboard SoC Interconnect OPB AHB User Bus Wishbone User Bus AXI VIP VIP VIP VIP VIP VIP seq seq seq seq seq seq

  10. Choosing the right sequence

  11. Choosing the right sequence • Dynamic constraints • Scenarios vary over time  Make Interconnect reaching further traffic congestions

  12. Protocol conversion issues AXI transfer Converted transfers Request transfer Request transfer LD16 AXI burst len=3 Addr = 0 Size = WORD Address = 0x3 Kind = WRAPED Request transfer LOAD LD8 Addr = 0x10 Response transfer Response transfer 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 F E D C B A 9 8 F E D C B A 9 8 17 16 15 14 13 12 11 10 Response transfer 17 16 15 14 13 12 11 10

  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)

  14. Scoreboard Architecture Config & Address Map S1 M1 Master Slave Channel M1  S1 UVM OPB UVM OCP OPB OCP connector connector I/F I/F VIP UVM VIP S2 M2 Master Slave AHB eRM AHB UVM AHB AHB connector connector I/F I/F VIP eVC S3 M3 Master Slave APB UVM APB UVM AXI AXI VIP connector connector I/F I/F VIP M4 S3 Master Slave OCP UVM OCP UVM AXI AXI connector connector VIP I/F I/F VIP 12/11/2012

  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

  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

Recommend


More recommend