We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

The Xilinx version of QEMU handles ARM Cortex-A53, Cortex-R5, Cortex-A9, and MicroBlaze

by Xilinx Employee ‎01-19-2017 02:32 PM - edited ‎01-22-2017 09:22 AM (4,047 Views)


Xilinx has a version of QEMU—a fast, open-source, just-in-time functional simulator—for the ARM processors in the Zynq SoC and the Zynq UltraScale+ MPSoC and for the company’s MicroBlaze soft processor core. QEMU accelerates code development by giving embedded software developers an enhanced execution environment long before hardware is available and they can continue to use QEMU as a software-development platform even after the hardware is ready. (After all, it’s a lot easier to distribute QEMU to 300 software developers than to ship hardware units to each of them.)


Although QEMU was already available through the open-source community, Xilinx has added several innovations over time to match the multi-core, heterogeneous devices available in the two distinct Zynq device families, augmented by additional MicroBlaze processors instantiated in programmable logic.


The latest version of Xilinx QEMU, available on github at https://github.com/Xilinx/qemu, includes extended features including:




  • Multi-architecture simulation for heterogeneous, multicore systems: The Xilinx Zynq UltraScale+ MPSoC incorporates embedded ARM processors including a quad-core ARM Cortex-A53 application processor, a dual-core ARM Cortex-R5 MPCore real-time processor, and a hardened version of the Xilinx MicroBlaze processor acting as a performance monitor. The Xilinx Zynq SoC incorporates a single- or dual-core ARM Cortex-A9 MPCore processor. The Xilinx version of QEMU can handle simulations of software running on all of these processor architectures so that your team can handle the associated integration challenges of such a complex, heterogeneous, multicore architecture early in the design cycle. (See http://www.wiki.xilinx.com/QEMU+-+Zynq+UltraScalePlus)


  • Yocto support: Your software development team can use its existing build and configuration flows through the Yocto infrastructure to build and simulate code that runs on Xilinx devices on the ARM processor cores available in the Zynq device families and on Xilinx MicroBlaze cores. (See http://www.wiki.xilinx.com/QEMU+Yocto+Flow)


  • Non-Intrusive Fault Injection: This feature allows you to identify and troubleshoot really difficult and costly security or safety problems by injecting error from an external interface without stopping the simulation. In addition, you can stress test your software using corner-case scenarios. (see https://github.com/Xilinx/qemu/blob/master/docs/fault_injection.txt)


  • Xilinx SDK Integration: You can launch QEMU from the Xilinx SDK just as you would a hardware target, which means that if you’re an experienced SDK user, you already know how to launch and use QEMU.



Xilinx is actively developing QEMU enhancements, which means more features are on the way. Meanwhile, you’ll find the Xilinx QEMU Wiki here.



by Participant salerio
on ‎01-20-2017 01:40 AM

It's really quite good Smiley Happy

About the Author
  • Be sure to join the Xilinx LinkedIn group to get an update for every new Xcell Daily post! ******************** Steve Leibson is the Director of Strategic Marketing and Business Planning at Xilinx. He started as a system design engineer at HP in the early days of desktop computing, then switched to EDA at Cadnetix, and subsequently became a technical editor for EDN Magazine. He's served as Editor in Chief of EDN Magazine, Embedded Developers Journal, and Microprocessor Report. He has extensive experience in computing, microprocessors, microcontrollers, embedded systems design, design IP, EDA, and programmable logic.