Automated Generation of Functional Verification for MPSoC Marcela Šimková Head of Verification and Testing, Codasip Ltd. April30, 30,2014 2014 April 1 Motivation MPSoC (Multi-Processor Systems on Chip): Increase in design complexity = increase in verification complexity Functional verification is time-demanding: implementation of verification environments, preparation of different test scenarios, preparation of reference models, long verification runs. Demand for verification tools, which are: SOFTWARE AWARE TIME-EFFECTIVE April 30, 2014 AUTOMATED 2 MPSoC Design Processors (general purpose, ASIPs, combination) + peripherals: IP cores, in-house development. MPSoC description languages: Hardware Description Languages (HDL), like VHDL, Verilog, Architecture Description Languages (ADL), like CodAL, nML. April 30, 2014 3 MPSoC Verification Different verification approaches: functional, formal, ABV, CDV, verification IPs, emulation, etc. Incremental verification: TREND: system-level verification (hardware + software). April 30, 2014 4 Proposed Solution MPSoC Design MPSoC Verification Support of several frontends for HDL, ADL, etc. Automated generation of UVM verification environments: Library of available processors. Intermediate representation in IP-XACT standard: complex architecture description, interconnections, extendibility. flexible (processors with SW, peripherals) complete (UVM basic components, scoreboarding structures, coverage monitors) Automated generation of reference models. April 30, 2014 5 Extraction For automated generation of UVM environments, we need to extract information about: interconnection of components, direction of interface signals (driver vs. monitor), stimulation of input interface signals. Two approaches: April 30, 2014 6 UVM Generation Challenges Generating reference models. From high-level ADL description (top-down approach). Instruction-set simulators for processors, simulation models for components. DPI connection to reference model for all components of MPSoC or a sub-set of them. Setting coverage targets, assertions. Basic set of coverage targets and assertions is pre-generated. Support of functional, assertions, and code coverage. High-level verification management. 1:1 or 1:N mapping of software applications to processors. April 30, 2014 7 UVM Generation April 30, 2014 8 UVM Generation Sobel edge detection MPSoC designed in Codasip Framework [1]. 16-bit low-power cache-less Codix-STREAM [2] processors. April 30, 2014 9 Demonstration Example - GUI April 30, 2014 10 Generated UVM Environment April 30, 2014 11 Verification OK GM Output Picture Input Picture DUT Output Picture April 30, 2014 12 Inserted Bug April 30, 2014 13 Verification Failure GM Output Picture Input Picture DUT Output Picture April 30, 2014 14 Configuration of Controllers April 30, 2014 15 Bug Detection in Simulator April 30, 2014 16 Conclusion Automated generation of MPSoC functional verification environments. Two approaches for extraction of information: analysis of ADL components, analysis of RTL/Netlist components. Generating reference models, coverage scenarios and assertions. High-level verification management (SW aware MPSoC verification). April 30, 2014 17