SlideShare a Scribd company logo
From Software Based Verification  to Firmware Development Ireneusz Sobański Evatronix SA
Outline About Evatronix Hardware/Software Convergence USB Mass Storage Application Test Bench Environment Overview Software Based Verification Firmware Development Summary
Company Overview Set up in 1997, over a dozen years of IP experience Over 400 successful silicon designs to date More than 30 products in the IP catalog 8051, USB, NAND Flash, SDIO, Multimedia 70+ experienced engineers Member of many technical organizations  USB-IF, SD Card Association, OCP-IP and other Active participation in European projects
Demands for SoC Users expect interface flexibility Communication Devices (Ethernet, Bluetooth, …) Peripheral Devices (USB, SDIO, SPI, …) Mass Storage (HDD, Flash, …) Applications need computational power Display Acceleration (MPEG, 3D, …) Cryptographic Devices (3DES, AES, …) SoC suppliers must balance the cost (M$) One SoC – many applications More functionality goes to software (RT)OS gain in popularity (flexibility & cost !)
Hardware/Software Convergence Hardware/software meeting Software plays the glue logic role (communication) Hardware accelerates software routines (computation) In both cases every IP needs a DRIVER! Requirements for IP provider Drivers become the integral part of the hardware IP Integration verification facilities (integration tests) Support for virtual prototyping (TLM models)
External hard disk example Microprocessor USB Protocol layer USB PHY layer SATA device USB HAL USB Framework  USB Mass Storage Layer SATA  Stack Software Stack
TB Environment Overview General objectives Support for virtual prototyping (TLM Model) Layered architecture (link/protocol/…) Extensive usage of randomization Self checking testbench  Functional coverage Further goals Early software development (before FPGA) Software based tests (reused on prototyping)
TB Architecture  (SystemC)
Software Based Verification Drive & test DUT with (ANSI) C functions Provides functional verification of the DUT By default runs in native mode (on the PC) ANSI C guarantees portability Reuse in an FPGA prototype Can be compiled for the CPU (real device) Some tests may be reused at this stage Reuse at the system integrator’s site Can be compiled for the CPU (ISS model) Simplify tests reuse
TB  Environment issues Mimic CPU mechanisms  program/interrupts switching Choose memory modeling method  physical memory/memory model Define DUT access through macros  Access through address / function call Assign portable layers Hardware Abstraction Layer for device management Manage randomization routines All SCV (SystemC) must be outside of the HAL
Software Tests Architecture Regs Access USB Endpoint Data USB Framework Test (randomization, configuration, direct tests) Interrupts Regs Access CPU  (switch) MEM (physical memory) OCP-IP OCP-IP SystemC SystemC USB Host
Firmware Development USBSS Mass Storage Firmware USB device registers access  (USB HAL) USB endpoint data manipulation  (USB HAL) USB framework  (USB Stack) USB Mass Storage Class  (Firmware) Disk abstraction layer  (Disk HAL) RAM disk  (emulation functions) ATA device driver  (ATA HAL) Software development flow Start  i n  a  virtual prototype  (in verification environment) Finish  i n  an  FPGA prototype  (with single modifications)
Firmware Architecture Regs Access USB Endpoint Data USB Mass  Storage Class USB Device Framework Disk Abstraction Layer Firmware (main) RAM Disk emulation SATA Stack Regs Acc.. USB SS -DEV RAM ATA-IF
Summary Use of C in verification process is not a new idea Software based verification brings new benefits The same tests for TLM/RTL/FPGA prototype… Not everything is ideal Perfect for normal work, but not for corners Randomization must be done carefully Good starting point for software development Basic tests could be run in an FPGA prototype Hardware Abstraction Layer is fully reusable The firmware is truly verified and ahead of schedule
Thank You [email_address] www.evatronix-ip.com

More Related Content

PDF
Space Codesign ARM Tech Symposium Japan 20141027
PPTX
2015 10-30 面試心得分享
PDF
Building Embedded Linux Full Tutorial for ARM
PPTX
Track B- Advanced ESL verification - Mentor
PDF
Kernel Debugging & Profiling
PPT
Coverage Solutions on Emulators
PPT
U Boot or Universal Bootloader
PDF
Space Codesign ARM Tech Symposium Japan 20141027
2015 10-30 面試心得分享
Building Embedded Linux Full Tutorial for ARM
Track B- Advanced ESL verification - Mentor
Kernel Debugging & Profiling
Coverage Solutions on Emulators
U Boot or Universal Bootloader

What's hot (20)

PDF
Chris brown ti
PDF
Linux Kernel Overview
PPT
PDF
Board Bringup
PDF
Introduction to Linux
PDF
Kernel Debugging & Profiling
PDF
System On Chip
PDF
Introduction to BeagleBoard-xM
PPTX
Early Software Development through Palladium Emulation
PDF
Soc architecture and design
PDF
Character Drivers
PDF
Introduction to Embedded Systems
PDF
Embedded Applications
PPT
Design of embedded systems
PDF
Introduction to BeagleBone Black
PDF
BeagleBone Black Bootloaders
PDF
Architecture Porting
PDF
BeagleBone Black Booting Process
PDF
Linux Porting
PDF
Embedded I/O Management
Chris brown ti
Linux Kernel Overview
Board Bringup
Introduction to Linux
Kernel Debugging & Profiling
System On Chip
Introduction to BeagleBoard-xM
Early Software Development through Palladium Emulation
Soc architecture and design
Character Drivers
Introduction to Embedded Systems
Embedded Applications
Design of embedded systems
Introduction to BeagleBone Black
BeagleBone Black Bootloaders
Architecture Porting
BeagleBone Black Booting Process
Linux Porting
Embedded I/O Management
Ad

Similar to Evatronix track h (20)

PDF
Ken Liao, Senior Associate VP, Faraday
PPT
FPGA_prototyping proccesing with conclusion
PDF
Embedded System
PPTX
Embedded Systems Overview
PPTX
VVDN Presentation
DOC
Ankit sarin
PPT
Snug2007 Presentation
PPTX
EC8791 designing with computing platform
PDF
V Labs Product Presentation
PPT
Agnostic Device Drivers
PDF
DrazenGrasovec_CV
PDF
Verification of Wireless SoCs: No Longer in the Dark Ages
PDF
Runner sv q307
PPTX
Unlock the power of intelligent devices with our comprehensive embedded softw...
PDF
Fpga Verification Methodology and case studies - Semisrael Expo2014
PPT
Embedded software development
PPT
Embedded software development
PDF
MGC_DVCon_13_Easy_Steps_Towards_Virtual_Prototyping_Using_the_SystemVerilog_D...
ODP
UWE Linux Boot Camp 2007: Hacking embedded Linux on the cheap
PDF
Trends For Innovating Faster
Ken Liao, Senior Associate VP, Faraday
FPGA_prototyping proccesing with conclusion
Embedded System
Embedded Systems Overview
VVDN Presentation
Ankit sarin
Snug2007 Presentation
EC8791 designing with computing platform
V Labs Product Presentation
Agnostic Device Drivers
DrazenGrasovec_CV
Verification of Wireless SoCs: No Longer in the Dark Ages
Runner sv q307
Unlock the power of intelligent devices with our comprehensive embedded softw...
Fpga Verification Methodology and case studies - Semisrael Expo2014
Embedded software development
Embedded software development
MGC_DVCon_13_Easy_Steps_Towards_Virtual_Prototyping_Using_the_SystemVerilog_D...
UWE Linux Boot Camp 2007: Hacking embedded Linux on the cheap
Trends For Innovating Faster
Ad

More from Alona Gradman (19)

PDF
Bary pangrle mentor track d
PPT
C:\fakepath\apache track d updated
PPT
Apache track d updated
PPT
National instruments track e
PPT
Stephan berg track f
PPT
Mullbery& veriest track g
PPT
Xilinx track g
PPT
Altera trcak g
PPT
Arm updated track h
PPT
Target updated track f
PPT
Vsync track c
PPT
C:\fakepath\micrologic track c
PDF
Synopsys track c
PPT
Intel track a
PPT
Mips track a
PPT
E silicon track b
PPT
Magma trcak b
PPT
Timing¬Driven Variation¬Aware NonuniformClock Mesh Synthesis
PPT
Chip Ex2010 Gert Goossens
Bary pangrle mentor track d
C:\fakepath\apache track d updated
Apache track d updated
National instruments track e
Stephan berg track f
Mullbery& veriest track g
Xilinx track g
Altera trcak g
Arm updated track h
Target updated track f
Vsync track c
C:\fakepath\micrologic track c
Synopsys track c
Intel track a
Mips track a
E silicon track b
Magma trcak b
Timing¬Driven Variation¬Aware NonuniformClock Mesh Synthesis
Chip Ex2010 Gert Goossens

Recently uploaded (20)

PPTX
Onco Emergencies - Spinal cord compression Superior vena cava syndrome Febr...
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
PDF
Weekly quiz Compilation Jan -July 25.pdf
PDF
What if we spent less time fighting change, and more time building what’s rig...
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PPTX
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
PDF
Classroom Observation Tools for Teachers
PPTX
History, Philosophy and sociology of education (1).pptx
PDF
medical_surgical_nursing_10th_edition_ignatavicius_TEST_BANK_pdf.pdf
PPTX
Unit 4 Skeletal System.ppt.pptxopresentatiom
PPTX
202450812 BayCHI UCSC-SV 20250812 v17.pptx
PDF
Paper A Mock Exam 9_ Attempt review.pdf.
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PDF
LNK 2025 (2).pdf MWEHEHEHEHEHEHEHEHEHEHE
PDF
RMMM.pdf make it easy to upload and study
PDF
advance database management system book.pdf
PPTX
UV-Visible spectroscopy..pptx UV-Visible Spectroscopy – Electronic Transition...
PDF
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
PDF
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
PPTX
Chinmaya Tiranga Azadi Quiz (Class 7-8 )
Onco Emergencies - Spinal cord compression Superior vena cava syndrome Febr...
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
Weekly quiz Compilation Jan -July 25.pdf
What if we spent less time fighting change, and more time building what’s rig...
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
Classroom Observation Tools for Teachers
History, Philosophy and sociology of education (1).pptx
medical_surgical_nursing_10th_edition_ignatavicius_TEST_BANK_pdf.pdf
Unit 4 Skeletal System.ppt.pptxopresentatiom
202450812 BayCHI UCSC-SV 20250812 v17.pptx
Paper A Mock Exam 9_ Attempt review.pdf.
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
LNK 2025 (2).pdf MWEHEHEHEHEHEHEHEHEHEHE
RMMM.pdf make it easy to upload and study
advance database management system book.pdf
UV-Visible spectroscopy..pptx UV-Visible Spectroscopy – Electronic Transition...
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
Chinmaya Tiranga Azadi Quiz (Class 7-8 )

Evatronix track h

  • 1. From Software Based Verification to Firmware Development Ireneusz Sobański Evatronix SA
  • 2. Outline About Evatronix Hardware/Software Convergence USB Mass Storage Application Test Bench Environment Overview Software Based Verification Firmware Development Summary
  • 3. Company Overview Set up in 1997, over a dozen years of IP experience Over 400 successful silicon designs to date More than 30 products in the IP catalog 8051, USB, NAND Flash, SDIO, Multimedia 70+ experienced engineers Member of many technical organizations USB-IF, SD Card Association, OCP-IP and other Active participation in European projects
  • 4. Demands for SoC Users expect interface flexibility Communication Devices (Ethernet, Bluetooth, …) Peripheral Devices (USB, SDIO, SPI, …) Mass Storage (HDD, Flash, …) Applications need computational power Display Acceleration (MPEG, 3D, …) Cryptographic Devices (3DES, AES, …) SoC suppliers must balance the cost (M$) One SoC – many applications More functionality goes to software (RT)OS gain in popularity (flexibility & cost !)
  • 5. Hardware/Software Convergence Hardware/software meeting Software plays the glue logic role (communication) Hardware accelerates software routines (computation) In both cases every IP needs a DRIVER! Requirements for IP provider Drivers become the integral part of the hardware IP Integration verification facilities (integration tests) Support for virtual prototyping (TLM models)
  • 6. External hard disk example Microprocessor USB Protocol layer USB PHY layer SATA device USB HAL USB Framework USB Mass Storage Layer SATA Stack Software Stack
  • 7. TB Environment Overview General objectives Support for virtual prototyping (TLM Model) Layered architecture (link/protocol/…) Extensive usage of randomization Self checking testbench Functional coverage Further goals Early software development (before FPGA) Software based tests (reused on prototyping)
  • 8. TB Architecture (SystemC)
  • 9. Software Based Verification Drive & test DUT with (ANSI) C functions Provides functional verification of the DUT By default runs in native mode (on the PC) ANSI C guarantees portability Reuse in an FPGA prototype Can be compiled for the CPU (real device) Some tests may be reused at this stage Reuse at the system integrator’s site Can be compiled for the CPU (ISS model) Simplify tests reuse
  • 10. TB Environment issues Mimic CPU mechanisms program/interrupts switching Choose memory modeling method physical memory/memory model Define DUT access through macros Access through address / function call Assign portable layers Hardware Abstraction Layer for device management Manage randomization routines All SCV (SystemC) must be outside of the HAL
  • 11. Software Tests Architecture Regs Access USB Endpoint Data USB Framework Test (randomization, configuration, direct tests) Interrupts Regs Access CPU (switch) MEM (physical memory) OCP-IP OCP-IP SystemC SystemC USB Host
  • 12. Firmware Development USBSS Mass Storage Firmware USB device registers access (USB HAL) USB endpoint data manipulation (USB HAL) USB framework (USB Stack) USB Mass Storage Class (Firmware) Disk abstraction layer (Disk HAL) RAM disk (emulation functions) ATA device driver (ATA HAL) Software development flow Start i n a virtual prototype (in verification environment) Finish i n an FPGA prototype (with single modifications)
  • 13. Firmware Architecture Regs Access USB Endpoint Data USB Mass Storage Class USB Device Framework Disk Abstraction Layer Firmware (main) RAM Disk emulation SATA Stack Regs Acc.. USB SS -DEV RAM ATA-IF
  • 14. Summary Use of C in verification process is not a new idea Software based verification brings new benefits The same tests for TLM/RTL/FPGA prototype… Not everything is ideal Perfect for normal work, but not for corners Randomization must be done carefully Good starting point for software development Basic tests could be run in an FPGA prototype Hardware Abstraction Layer is fully reusable The firmware is truly verified and ahead of schedule
  • 15. Thank You [email_address] www.evatronix-ip.com