Abstract
This chapter presents an overview of different embedded software debug techniques enabled by recent advances in the EDA tools allowing either interactive or playback type debug of software and hardware (RTL) in a simulation of a complete system. Most of the methods and ideas described here present a summary of different approaches applied within our day-to-day work at Cadence\({\textregistered }\) Design Systems. With growing complexity of software and hardware solutions and an increasing push at reducing the time-to-market, it has become very important to simulate or run as much of the target system and software, as early as possible in order to enable system-level validation of the complete design and evaluation of any potential risks or limitations, that may not be obvious at unit level (e.g., considering the CPU and each piece of hardware IP in isolation). New SoC systems bring increasing integration level of both software and hardware elements and the final product requires all of the components to interact as designed, in order to satisfy the growing user expectations for speed, efficiency, and reliability. Furthermore software complexity in the embedded systems has recently exploded as more functionality is driven by microcontrollers with reprogrammable firmware allowing addition of features to products after release.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Cadence\(^{\textregistered }\) (2016) Cadence Incisive\(^{\textregistered }\) Enterprise simulator. Product website. https://www.cadence.com/content/cadence-www/global/en_US/home/tools/system-design-and-verification/simulation-and-testbench-verification/incisive-enterprise-simulator.html
Synopsys (2016) Synopsys virtualizer. Product website. http://www.synopsys.com/Prototy**/VirtualPrototy**/Pages/virtualizer.aspx
ARM (2016) ARM cpu fast models. Product website. http://www.arm.com/products/tools/models/fast-models.php
Cadence\(^{\textregistered }\) (2016) Cadence Palladium\(^{\textregistered }\) Z1 emulator. Product website. https://www.cadence.com/content/cadence-www/global/en_US/home/tools/system-design-and-verification/acceleration-and-emulation/palladium-z1.html
Vayavya Labs (2016) Vayavya device driver generator. Product website. http://vayavyalabs.com/technology/ddgen/
ARM (2016) ARM socrates DE tool. Product website. https://www.arm.com/products/system-ip/ip-tooling/socrates-design-environment.php
Acknowledgements
The authors would like to thank Rafał Ciepiela for his input into the contents and review of the chapter.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer Science+Business Media, LLC
About this chapter
Cite this chapter
Wronka, C., Kotas, J. (2017). Embedded Software Debug in Simulation and Emulation Environments for Interface IP. In: Lettnin, D., Winterholer, M. (eds) Embedded Software Verification and Debugging. Embedded Systems. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-2266-2_2
Download citation
DOI: https://doi.org/10.1007/978-1-4614-2266-2_2
Published:
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4614-2265-5
Online ISBN: 978-1-4614-2266-2
eBook Packages: EngineeringEngineering (R0)