HW/SW Co-Verification By: Getao Liang March, 2006 -- Mentor Graphics® Seamless CVE LOGO Contents 1. HW/SW Co-Verification 2. Seamless CVE 3. CVE Tutorial 4. Conclusions ECE 652 Spring 2006 THE UNIVERSITY OF TENNESSEE Introduction Embedded System & SoC Hardware • • • • Processor (s) Memory Blocks IP Blocks Bus Software • Communication with CPU and I/O • Memory Access HW/SW Integration ECE 652 Spring 2006 THE UNIVERSITY OF TENNESSEE Traditional Design Cycle 1. High-Level Design 2. Detail & Implementation •Requirement Analysis Hardware Design & Simulation Hardware Prototyping Software Design HW/SW Integration •Sub-systems 3. Physical Integration •High-Level Simulation •HW/SW Interface ECE 652 Spring 2006 THE UNIVERSITY OF TENNESSEE Motivation Time to Market Shorten Time-to-Market = ? • Save Resource • More Profit • Market Domination Advance Verification Lower Cost to Problem Correction Easier Debugging ECE 652 Spring 2006 THE UNIVERSITY OF TENNESSEE Comparison ECE 652 Spring 2006 THE UNIVERSITY OF TENNESSEE HW/SW Co-Verification Model ECE 652 Spring 2006 THE UNIVERSITY OF TENNESSEE Co-verification Vs. Simulation RTL Simulation Pure RTL models Slow: <100Hz Unable to address all debug requirement Co-Verification Orders of Magnitude Faster Increased Comprehension Support for Abstract Models ECE 652 Spring 2006 THE UNIVERSITY OF TENNESSEE Contents 1. HW/SW Co-Verification 2. Seamless CVE 3. CVE Tutorial 4. Conclusions ECE 652 Spring 2006 THE UNIVERSITY OF TENNESSEE Mentor Graphics ® Seamless CVE Interactive Debugging Tool Bus Interface Model Memory Models ECE 652 Spring 2006 THE UNIVERSITY OF TENNESSEE Key Concepts of CVE Accelerating Co-Verification Process Separate Processor’s Functions Suppress Bus Cycles Selectively Important Components Processor Support Packages (PSP) • Instruction Set Model (ISM) - SW • Bus-Interface Model - HW Memory System • Optimizable Memory Models • Coherent Memory Server (CMS) Coherent Timers ECE 652 Spring 2006 THE UNIVERSITY OF TENNESSEE Processor Support Packages ECE 652 Spring 2006 THE UNIVERSITY OF TENNESSEE Instruction Set Model •Software Model •Functional Behavior of Processor’s Instruction Set •Abstract Model of Data Processing •Instruction Set Simulation - IIS - Running ISM on a software simulator. ECE 652 Spring 2006 THE UNIVERSITY OF TENNESSEE Bus-Interface Model •Hardware Model •Input/Output Pin Behavior of Processor •No Internal Logic of Processors •Bus Activities •R/W Memory •R/W I/Os •R-modify-W •Reset and Halt •.Interrupts, Faults •Bus Request & Grant ECE 652 Spring 2006 THE UNIVERSITY OF TENNESSEE Software Co-Verification SW Design Loading Test Design software with crosslanguage tools to generate machine code for target processor. Introduce Seamless application into design flow, and load executable software modules into ISM address space of the processor. The Seamless kernel handles communication s between the ISM and Businterface model in hardware part. ECE 652 Spring 2006 THE UNIVERSITY OF TENNESSEE Optimizable Memory Models •Generic Optimizable Memory Models – Supplied with Seamless as HDL files. (for simple memory blocks, like dRAM, sRAM, DPRAM, FIFO, Register Memory.) •Denali Memory Models – Created with PureView application. (for commercial memory devices) •Seamless HDL Memory Interface – Converted from existing models to Seamless optimizable models ECE 652 Spring 2006 THE UNIVERSITY OF TENNESSEE Optimizable Memory Models (Cont’l) Generic Memory Models $CVE_HOME/vsim_vdl $CVE_HOME/vlog Denali Memory Models Obtain a SOMA file • http://www.ememory.com Generate HDL Memory Model • PureView or MemMaker HDL Memory Interface Compile iram.vhd Add USE work.cve_direct.all; Modify with Seamless HDL memory interface calls • cve_RegisterMemory() • cve_ReadMemory() • cve_WriteMemory() ECE 652 Spring 2006 THE UNIVERSITY OF TENNESSEE Optimization Why Accuracy vs. Performance What Frequently accessed memory How Direct Access (bus cycles hiding) By Coherent Memory Server CMS ECE 652 Spring 2006 THE UNIVERSITY OF TENNESSEE Optimization Categories Data Access Optimization Instruction Fetch Optimization Disables hardware bus cycles when accessing optimizable memory Eliminates all bus activities for instruction fetches from optimizable memory Decouples time synchronization between HW and SW Functional Accurate Cycle Accurate Functional Accurate Cycle Accurate Functional Accurate ECE 652 Spring 2006 Time Optimization THE UNIVERSITY OF TENNESSEE Full Activity Simulation Simulation Bus Activity • Instruction Fetch • Memory Read/Write • I/O Read/Write ECE 652 Spring 2006 THE UNIVERSITY OF TENNESSEE Optimized Simulation Simulation Bus Activity • Instruction Fetch • Memory Read/Write • I/O Read/Write • Memory Write to UNOPTIMIZABLE Address ECE 652 Spring 2006 THE UNIVERSITY OF TENNESSEE Increased Performance ECE 652 Spring 2006 THE UNIVERSITY OF TENNESSEE Seamless Coherent Timers Maintain an accurate count of clock cycles when running in time-optimized mode. Be programmed to make logic simulator to service timer events appropriately. ECE 652 Spring 2006 THE UNIVERSITY OF TENNESSEE Contents 1. HW/SW Co-Verification 2. Seamless CVE 3. CVE Tutorial 4. Conclusions ECE 652 Spring 2006 THE UNIVERSITY OF TENNESSEE Basic Steps Hardware Design Replace processor modules with corresponding bus-interface Models Modify memory modules Software Design Machine code for target processor Software for Host Code Execution (HCE) CVE Invocation Logic and SW simulators configuration Memory mapping ECE 652 Spring 2006 THE UNIVERSITY OF TENNESSEE Demo Design ECE 652 Spring 2006 THE UNIVERSITY OF TENNESSEE Demo Tutorial Setup Environment Compile Software Invoke Seamless Invoke Logic Simulator - ModelSim VHDL Configure the Processor - DLX Setup SW simulator/debugger – MDB Map memory instances Define memory access detail Start Co-verification Session Enable Data Access Optimization Enable Time Optimization Enable Instruction Fetch Optimization ECE 652 Spring 2006 THE UNIVERSITY OF TENNESSEE Contents 1. HW/SW Co-Verification 2. Seamless CVE 3. CVE Tutorial 4. Conclusions ECE 652 Spring 2006 THE UNIVERSITY OF TENNESSEE Conclusions Early Integration Shorten time-to-market Lower cost for verification and correction Easy Debugging Control SW execution View/Change memory contents Enhancing Performance ISM + BIM CMS + Optimizable Memory ECE 652 Spring 2006 THE UNIVERSITY OF TENNESSEE References Mentor Graphics, Seamless Reference Manuals Milan Saini, Co-Verification Enhances Time to Market Advantage of Platform FPGAs Mike Andrews, Seamless-izing Memories for Seamless Hardware/Software J. M. Ng, Enhancing HW/SW Co-Verification for Embedded System with Seamless CIC [email protected], HW/SW Co-Verification using Mentor Graphics Seamless CVE: A Case Study with AUK system ECE 652 Spring 2006 THE UNIVERSITY OF TENNESSEE Liang, Getao – gliang (at) utk (dot) edu LOGO
© Copyright 2026 Paperzz