With the emergence of SoC FPGAs, the HW/SW co-design approach has become very popular for embedded applications. One of the most popular SoC FPGAs is Xilinx’s Zynq device which integrates both FPGA programmable logic and processor core(s) into a single chip. To develop for such devices, you need experts with knowledge in both HW and SW – but finding individuals with both is virtually impossible.
Because it has always been difficult for a SW engineer to enter the HW field, and start developing for programmable logic without any support from a hardware engineer, Xilinx provides the open-source PYNQ where it uses Python (software) language and libraries to work with the programable logic and microprocessors within Zynq devices.
To help our TySOM customers, we have developed PYNQ images for our embedded development boards. TySOM boards include Zynq 7000 and MPSoC devices as well as a wide range of peripherals including HDMI, USB 3.0, FMC connector, DisplayPort, mPCIe and DDR4.
A PYNQ image for TySOM boards enable:
A TySOM board can be easily programmed in Jupyter Notebook using Python. With Python, designers can use hardware libraries also called overlays on the programmable logic. The developer can use the appropriate overlays that meet their application.
Developing new overlays requires engineers with expertise in designing with programmable logic circuits. However, once they are built, they can be used many times. Overlays act like software libraries that can be configured and reused for many different applications.
Jupyter notebook runs in a web browser such as Chrome, Safari and Firefox. For higher performance, developers can also use C/C++ with Python and PYNQ. New hardware libraries can be created using Xilinx and third-party hardware design tools.