Snug2007 Presentation


Published on

User experience of DesignWare Virtual Platforms

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Snug2007 Presentation

  1. 1. System Level Verification - A case analysis with Virtio (DesignWare ™ Virtual Platforms) Kal yan Chakravadhanula ASIC Design Engineer Texas Instruments, San Diego Platform Validation Engineer
  2. 2. Purpose <ul><li>Avoid a potential re-spin of silicon (~ $1Mil) </li></ul><ul><li>Design validation of Software Development Platforms (SDP) </li></ul><ul><li>Accelerate software development cycle </li></ul><ul><li>Reduce the post-silicon bench time </li></ul>
  3. 3. Outline <ul><li>Introduction </li></ul><ul><li>Where do we fit? </li></ul><ul><li>DesignWare ™ Virtual Platforms </li></ul><ul><li>Software Development Flow </li></ul><ul><li>Results </li></ul>
  4. 4. Introduction <ul><li>Chip today </li></ul><ul><ul><li>No! Yesterday </li></ul></ul><ul><li>Focus on Chip Design </li></ul><ul><li>Customer requirements changing </li></ul><ul><ul><li>Prove System Level Functionality </li></ul></ul><ul><ul><li>Using chassis (hardware board) </li></ul></ul><ul><ul><li>Software / Firmware Drivers that run on the chip </li></ul></ul><ul><li>How about validation of this hardware board and Software / Firmware drivers? </li></ul><ul><ul><li>DesignWare ™ Virtual Platform </li></ul></ul>
  5. 5. Where do we fit? <ul><li>Pre-silicon Development </li></ul><ul><ul><li>Existing development platforms </li></ul></ul><ul><ul><li>FPGA Platforms </li></ul></ul><ul><ul><li>DesignWare ™ Virtual Platforms </li></ul></ul>Software team Hardware team
  6. 6. OMAPV2230 <ul><li>Multi-core (two ARMs, & two DSPs ) </li></ul><ul><li>Security (M-Shield) </li></ul><ul><li>Complex On-Chip OCP </li></ul><ul><li>USB </li></ul><ul><li>I2C </li></ul><ul><li>Mobile DDR </li></ul><ul><li>Flash </li></ul><ul><li>SD/MMC Slot </li></ul><ul><li>USIM </li></ul><ul><li>LCD </li></ul><ul><li>Keypad </li></ul><ul><li>Bluetooth </li></ul><ul><li>WLAN </li></ul>
  7. 7. <ul><li>Software Model of a complete embedded platform </li></ul><ul><ul><li>Mirror the functionality of an embedded system </li></ul></ul><ul><li>Combine high-speed processor instruction set and fully functional TLM of hardware building block </li></ul><ul><ul><li>Provide high level hardware model to software developer </li></ul></ul><ul><li>Created using two specification languages </li></ul><ul><ul><li>Magic-C : semi-visual language which creates peripherals as FSMs in graphical form </li></ul></ul><ul><ul><li>Virtual platform Runtime Environment (VRE) C/C++ is used to model components that require high simulation speed and have no FSM </li></ul></ul>DesignWare ™ Virtual Platforms Background
  8. 8. DesignWare ™ Virtual Platforms Background Board-level System IO Mem Simulation Infrastructure Fast Instruction-set Simulators Transaction-level Interfaces High-speed C++ Models Graphical Magic-C FSM Models User Interface Emulation Virtual I/O System-on-Chip Func Peripherals Virtual I/O & User Interface CPU Instruction -accurate ISS Func TLM Bus Func TLM Bus
  9. 9. DesignWare ™ Virtual Platforms Compelling Features <ul><li>Integration with third party software development tools </li></ul><ul><ul><li>Code Composer Studio (CCS), TI tool, also available externally </li></ul></ul><ul><ul><ul><li>Strong debug capabilities for ARM & DSP </li></ul></ul></ul><ul><ul><ul><li>Build & download code onto mDDR (hardware board) </li></ul></ul></ul><ul><li>Multi-core support & synchronous debugging </li></ul><ul><ul><li>A halt on one processor halts other processors </li></ul></ul><ul><li>Virtual I/O Support </li></ul><ul><ul><li>UART (COM port), Ethernet & USB </li></ul></ul><ul><li>Fast access to components / parameters / properties </li></ul>
  10. 10. DesignWare ™ Virtual Platforms VPOM-V2230 Virtual Platform VPOM-V2230 (Virtual Platform) Cockpit (Virtual Platform) Code Composer Studio (Multi-core Debugger)
  11. 11. DesignWare ™ Virtual Platforms Software Development Tasks <ul><li>Boot code of ARM11 and ARM9 cores </li></ul><ul><li>UART device drivers </li></ul><ul><li>Flash burning </li></ul><ul><li>Boot from flash </li></ul><ul><li>I2C device drivers </li></ul>
  12. 12. DesignWare ™ Virtual Platforms Benefits <ul><li>Accelerated quality chip design </li></ul><ul><ul><li>Feedback from software engineers on hardware architecture </li></ul></ul><ul><li>Concurrent software development </li></ul><ul><li>Continuous HW/SW integration </li></ul><ul><li>Extra level of Visibility & Controllability </li></ul><ul><ul><li>2-5x improvement in software development productivity (compared to that over hardware boards) </li></ul></ul>
  13. 13. DesignWare ™ Virtual Platforms Requirements & Learning Period <ul><li>Requirements for DesignWare Virtual Platform & CCStudio </li></ul><ul><ul><li>High-end Personal Computer </li></ul></ul><ul><ul><ul><li>3 GHz processor, 2GB RAM </li></ul></ul></ul><ul><li>Learning Period </li></ul><ul><ul><li>Initial Apprehensiveness </li></ul></ul><ul><ul><li>Included the functional specification of the chip and the DW VP </li></ul></ul><ul><ul><li>One month </li></ul></ul>
  14. 14. <ul><li>Software Installation </li></ul><ul><ul><li>Uninstall the existing release prior to installing a new version </li></ul></ul><ul><ul><li>Windows based </li></ul></ul><ul><ul><ul><li>Fixed now: selective availability on Linux </li></ul></ul></ul><ul><li>Discouraged installation of multiple platforms on a single PC </li></ul><ul><ul><li>Fixed now </li></ul></ul>DesignWare ™ Virtual Platforms Problems & Minor Issues Resolved Resolved
  15. 15. Software Development Flow Chip Design Prototype Silicon Manufacturing Development Board Design Board Mounting time Virtual Platform Development Firmware Develop. Firmware Debug Device Driver Development Firmware Debug Device Driver Development Software Development & Debug Start (traditional approach) Software Development & Debug Start (VP Approach) Time-to-Market Gain
  16. 16. <ul><li>Highlight different CPUs in different background colors </li></ul><ul><ul><li>Easy to get confused between Platform and CPUs </li></ul></ul><ul><li>Provide Options to End User </li></ul><ul><ul><li>Switch between Functional to Cycle accurate simulator </li></ul></ul><ul><ul><li>Stop processing the script if there is an error </li></ul></ul><ul><ul><li>Not save virtual hardware breakpoints in Magic-C graphical hardware description </li></ul></ul><ul><li>Provide software models of modem test equipment </li></ul><ul><ul><li>Ability to make phone call using software base-station </li></ul></ul>DesignWare Virtual Platforms Recommended Improvements
  17. 17. Results <ul><li>Firmware Development </li></ul><ul><ul><li>Four months ahead of silicon availability! </li></ul></ul><ul><li>Early Validation of Software Drivers </li></ul><ul><ul><li>Reduction of post-silicon bench time by two months </li></ul></ul><ul><ul><li>Earlier time-to-market </li></ul></ul><ul><li>Bug detection in Library Code </li></ul><ul><li>Software changes from Virtual Platform to Hardware board </li></ul><ul><ul><li>NONE! </li></ul></ul><ul><li>Avoid a potential silicon respin </li></ul><ul><ul><li>~ $1 million </li></ul></ul>
  18. 18. Acknowledgements <ul><li>James Turnbull (Texas Instruments) </li></ul><ul><li>Filip Thoen, Kevin Smart (Synopsys) </li></ul><ul><li>SNUG </li></ul><ul><li>You’ll </li></ul>