Abstract

This chapter is designed to elucidate advanced hardware and software co-verification. Hardware/software co-verification is much more than executing a hardware design before fabrication and using an interactive software debugger to do basic operations like breakpoint, single step, and view memory. Using co-verification effectively requires finding the right mix of performance, simulation detail, and debugging views for the job. In co-verification there is no one-size-fits-all solution that can be applied to every problem. One of the causes is software engineers cannot easily modify the simulation environment without some help from hardware or verification engineers. Hardware engineers do not always understand the needs of software engineers and try to apply a one-size-fits all solution. The level of visibility and controllability that is available in context to simulation is very beneficial. This is most useful for co-verification in the area of memory. Embedded software makes use of a memory map and microprocessor addresses to access different types of memory and memory mapped registers in the design. Software debugging is also memory intensive. The primary operation performed by a software debugger is reading memory. Scrolling the debugger's memory window or source code window requires quantities of memory data. There are two types of memory accesses that are present when debugging software. The first type of memory access comes from the software instructions running on the CPU. The second type of memory access comes from the debugger. This chapter discusses some of the advanced topics of co-verification to help users get the most benefit from co-verification.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.