Exploring Zynq MPSoC: With PYNQ and Machine Learning Applications

Published in Strathclyde Academic Media, 2019

An academic book written in partnership with AMD/Xilinx. With the goal of making complex, heterogeneous system-on-chip systems more accessible, it has enjoyed wide impact:

I was responsible for writing over 130 pages on topics including:

  • Processor architecture for real-time applications (enabling robotics, automotive, and safety-critical applications)
  • System security, including information assurance, anti-tampering, and isolation techniques
  • Software stacks, ranging from bare-metal and FreeRTOS to full Linux platforms
  • Heterogeneous multiprocessor development, covering symmetric multiprocessing (on Linux), asymmetric multiprocessing (with OpenAMP and the Xen hypervisors)
  • System booting, including secure boot topics, cryptography, and practical examples

This book introduces the Zynq MPSoC (Multi-Processor System-on-Chip), an embedded device from Xilinx that combines a processing system that includes Arm Cortex-A53 application and Arm Cortex-R5 real-time processors, alongside FPGA programmable logic. The book covers the architecture of the device, the design tools and methods, conventional hardware/software co-design approach, and the newer software-defined methodology, as well as hardware and software development, multiprocessing, safety, security and platform management, system booting, and special features on PYNQ (a Python-based framework) and machine learning applications. This book should serve as a useful guide for those getting starting with, and the working with Zynq MPSoC, and equally as a reference for technical managers wishing to gain familiarity with the device and its associated design methodologies.

🙎 Louise Crockett, David Northcote, Craig Ramsay, Fraser Robinson, Bob Stewart
📖 Download