Intelligent Interleaving of Scenarios: A Novel Approach to System Level Test Generation Shady Copty, Itai Jaeger(*), Yoav Katz, Michael Vinov IBM Research Laboratory in Haifa Outline System-level stimuli generation challenges Interaction based testcase generation X-Gen: a system-level testcase generator Scenario interleaving in X-Gen Real life experience examples – eServer, Cell BE, Xbox CPU chip Summary 1 System verification System verification is aimed at validating the integration of several previously verified cores in a relatively short time 2 Challenges in Stimuli Generation for System Level Functional Verification Specifying system level scenarios in an abstract form –While generating the required low level stimuli Generating coordinated system-level stimuli –Projected to each and every core in the system Effectively handling configuration changes –2-way system vs. 8-way system Adapting to core modifications and new cores –PCI PCIe 3 The concept of interaction Capturing the essence of the system-level functionality – – – – – CPU-to-memory read/write CPU-to-CPU inter processor interrupt CPU initiated MMIO IO initiated DMA … Interaction: acts, actors Independent of the system’s configuration Agnostic to specific core details 4 The concept of interaction - example A DMA Interaction A CPU stores to the doorbell register of the DMA engine The data is moved from the IO port to memory CPU#2 CPU#1 The DMA engine interrupts the initiating CPU CPU#3 CPU#4 Bridge DMA Engine PLB Memory Interrupt Controller PHB IO BFM#1 IO BFM#2 5 Interaction based scenarios Verification goal Test plan definition Interaction based scenario Stress the system bus through address contention on requests from multiple devices Generate multiple IO reads, DMAs, and processor accesses to the same address Generate contention on the system bus 6 X-Gen : a model-based systemlevel stimuli generator Interactions (Transactions) Specifying an Abstract System Model interaction-based Configuration scenarios Components (Cores) (Topology) X-Gen Engine Test Template *.rqst Test Case CSP Solver 7 A system-level test template Interaction as the basic building block Request file Control over: – Participating cores – Interaction properties All of One of A hierarchy if higher level statements – One-of: weighted random choice Weight: 70 Weight: 30 – Repeat Load / store DMA – All-of Target: mem2 Addr: 0x12?? Repeat x10 interrupt Priority: 12-14 8 A system-level test case Hubs, bridges, adaptors • Translation tables • Data descriptors for send / receive operations • Internal registers initializations Memory • Data initializations Processors • Instructions • Registers initializations • Translation tables CPU#2 CPU#1 CPU#3 CPU#4 Bridge DMA Engine PLB Behaviorals (BFMs) • Internal memory initializations • Commands, such as: •Send an interrupt •Initiate a DMA Memory Interrupt Controller PHB IO BFM#1 IO BFM#2 9 Combining scenarios Stressing the system through parallel execution of several system level scenarios For example: – Read/write cache coherency from multiple processors – MMIO / DMA to IO port – Inter processor interrupts – Create address contention between DMAs and processor accesses – Send interrupts to processors contending on the same cache line 10 Scenario interleaving in X-Gen IO.rqst CPU.rqst - Repeat 80 - CPU_to_memory_data_tarnsfer - Repeat 70 - IO_to_memory_DMA X-Gen Total: 150 interactions Accessing the same address CPU_to_memory_data_tarnsfer IO_to_memory_DMA CPU_to_memory_data_tarnsfer CPU_to_memory_data_tarnsfer IO_to_memory_DMA IO_to_memory_DMA … 11 eServer system verification: Partitioned system-level test template library Maintenance saving: Cache coherency scenarios PCI bridge avoiding stressexponential scenarios test template growth X-Gen Intervention scenarios InfiniBand message passing scenarios 12 Xbox 360 chip verification : Reusing scenarios Xbox specific IO scenarios Heavy vIP reuse: eServer MP/MT scenarios generating complex system-level testcases within weeks from verification launch X-Gen 13 Cell BE verification: Verifying pervasive functions Power management function Performance management function General cell scenarios Main scenario Slow down unit YYY Main Main scenario scenario Main scenario Power down unit XXX Power down unit XXX Main scenario Main Main scenario scenario Main scenario Resume frequency on unit YYY Restart Restart unit unitXXX XXX Main Main scenario scenario…… X-Gen 14 Summary Interleaving transaction-level scenarios is crucial for system-level verification Partitioning the test plan according to different system functions – Avoids costly maintenance of test templates – Promotes reuse of verification IP – Fast and effective verification of pervasive functions in conjunction with “mainstream” scenarios Implemented in X-Gen – IBM’s system-level testcase generator – Used in the verification of eServer, Xbox & Cell systems 15 Thank You !!! Traditional Approach #1: Combining Lower Level Drivers Advantages – Simple – Quickly adapts to new cores – Reuse of core VIP Driver Driver Driver IP1 IP2 IP2 Driver BUS Driver Driver Disadvantages – Not system level verification • No coordinated stimuli • No system level scenarios 17 Traditional approach #2: Transaction Based Verification Advantages – – – System level abstraction Allows complex coordinated stimuli Allows reuse of test specification Disadvantages – – – Transactor code is monolithic Difficult to adapt to configuration changes Difficult to adapt to new components / changed functionality Driver Transactor Transactor IP1 IP2 IP2 BUS 18 Request files: a dual effort methodology The Bug Request file Specifying a scenario Interactions as building blocks Restrict actors, properties Inter-interaction relations Intelligent background noise Built-in testing knowledge User direction Read: 80 Write: 20 All of One of CPU load / store Address Collision: 65% DMA transfer Repeat x10 Interrupt 19
© Copyright 2026 Paperzz