Python Productivity for Zynq - A Special Project from Xilinx University Program
Please note: PYNQ is only available to purchase through Digilent.
The PYNQ-Z1 board is designed to be used with PYNQ, a new open-source framework that enables embedded programmers to exploit the capabilities of Xilinx Zynq All Programmable SoCs (APSoCs) without having to design programmable logic circuits. Instead, the APSoC is programmed using Python and the code is developed and tested directly on the PYNQ-Z1. The programmable logic circuits are imported as hardware libraries and programmed through their APIs in essentially the same way that the software libraries are imported and programmed.
The PYNQ-Z1 board is the hardware platform for the PYNQ open-source framework. The software running on the ARM A9 CPUs includes:
- Web server hosting the Jupyter Notebooks design environment
- The IPython kernel and packages
- Base hardware library and API for the FPGA
For designers who want to extend the base system by contributing new hardware libraries, Xilinx Vivado WebPACK tools are available free of cost.
To find out more about PYNQ, please see the project webpage at www.pynq.io. Here you will find materials to help you get started and a forum for contacting the supporting community.
To use the PYNQ framework - it's required to have the PYNQ-Z1 boot image, which is available from the PYNQ-Z1 Resource Center. You can download the PYNQ-Z1 image and copy it to a microSD card, or purchase a card preloaded with the image.
What can you do with the PYNQ-Z1?
The PYNQ-Z1 board is a general purpose, programmable platform for embedded systems. Users can customize both its hardware and software for applications as diverse as:
- Computer vision
- Industrial control
- The Internet of things (IoT)
- Embedded computing acceleration
- Real-time processing and many more...
The PYNQ-Z1 natively supports multi-media applications with on-board audio and video interfaces. It is designed to be easily extensible with Pmod, Arduino, and Grove peripherals, as well as general purpose IO pins.
The PYNQ-Z1 board can be also expanded with USB peripherals including WiFi, Bluetooth, and Webcams.
650MHz dual-core Cortex-A9 processor
DDR3 memory controller with 8 DMA channels and 4 high performance AXI3 slave ports
High-bandwidth peripheral controllers: 1G Ethernet, USB 2.0, SDIO
Low-bandwidth peripheral controller: SPI, UART, CAN, I2C
Programmable from JTAG, Quad-SPI flash, and microSD card
Artix-7 family programmable logic
13,300 logic slices, each with four 6-input LUTs and 8 flip-flops
630 KB of fast block RAM
4 clock management tiles, each with a phase-locked loop (PLL) and mixed-mode clock manager (MMCM)
220 DSP slices
On-chip analog-to-digital converter (XADC)
- 512MB DDR3 with 16-bit bus @ 1050Mbps
- 16MB Quad-SPI Flash with factory programmed globally unique identifier (48-bit EUI-48/64™ compatible).
- MicroSD slot
- Powered from USB or any 7V-15V source (see recommended products)
- USB and Ethernet:
- USB-JTAG Programming circuitry
- USB-UART bridge
- USB OTG PHY (supports host only)
- Gigabit Ethernet PHY
- Audio and Video:
- Electret microphone with pulse density modulated (PDM) output
- 3.5mm mono audio output jack, pulse-width modulated (PWM) format
- HDMI sink port (input)
- HDMI source port (output)
Switches, push-buttons, and LEDs:
2 slide switches
2 RGB LEDs
Two standard Pmod ports
16 Total FPGA I/O
Arduino/chipKIT Shield connector
49 Total FPGA I/O
6 Single-ended 0-3.3V Analog inputs to XADC
4 Differential 0-1.0V Analog inputs to XADC