¿Qué es la Placa de Desarrollo PYNQ-Z2?
La PYNQ-Z2 es una potente placa de desarrollo basada en el System-on-Chip (SoC) Xilinx Zynq XC7Z020. Esta plataforma de hardware está especialmente diseñada para el Xilinx University Program y para desarrolladores que buscan una forma más accesible de aprovechar el poder de la lógica programable. La tecnología PYNQ, que significa Python Productivity for Zynq, es un proyecto de código abierto que permite a los programadores de software y diseñadores de sistemas explotar las capacidades de los SoCs de Zynq utilizando el lenguaje de programación Python. Esto reduce drásticamente la barrera de entrada al mundo de los FPGAs, ya que no es un requisito indispensable dominar lenguajes de descripción de hardware como VHDL o Verilog para crear sistemas electrónicos complejos y de alto rendimiento. La placa integra un procesador ARM Cortex-A9 de doble núcleo con una matriz de lógica programable (FPGA) equivalente a un Artix-7, todo en un solo chip.
La arquitectura de hardware de la PYNQ-Z2 se centra en el SoC Zynq-7000, que combina un Sistema de Procesamiento (PS) basado en ARM y un Sistema de Lógica Programable (PL) en un único dispositivo. El PS incluye el procesador de 650MHz, un controlador de memoria DDR3, y una amplia gama de periféricos de alta y baja velocidad como Gigabit Ethernet, USB 2.0, SPI, I2C y CAN. El PL, por su parte, ofrece una vasta cantidad de recursos de FPGA, incluyendo 13,300 slices lógicos, 630 KB de Block RAM y 220 slices DSP. Esta dualidad permite ejecutar sistemas operativos como Linux en el procesador ARM mientras se descargan tareas computacionalmente intensivas a aceleradores de hardware personalizados implementados en la lógica programable, logrando un rendimiento excepcional para aplicaciones de visión por computador, procesamiento de señales y más.
Características Técnicas
El funcionamiento interno de la PYNQ-Z2 se basa en el concepto de «overlays» o superposiciones de hardware. Un overlay es un diseño de lógica programable que se carga en el FPGA bajo demanda. Los desarrolladores pueden interactuar con estos overlays a través de APIs de Python, lo que permite reconfigurar el hardware de la placa dinámicamente para diferentes aplicaciones. Por ejemplo, se puede cargar un overlay para procesamiento de video desde una fuente HDMI, y luego cambiar a otro overlay para análisis de señales desde un Pmod. La placa soporta una amplia gama de periféricos, incluyendo puertos HDMI de entrada y salida, interfaces de audio I2S, y conectores de expansión compatibles con Arduino, Raspberry Pi y Pmod, lo que la convierte en una plataforma extremadamente versátil para prototipado y desarrollo.
Especificaciones Eléctricas
| Parámetro | Valor |
|---|---|
| Voltaje de operación | 5V (vía Micro USB) o 7V-15V (vía conector externo) |
| Fuente de alimentación | Seleccionable mediante jumper (USB o REG) |
| Monitorización de energía | Monitorización activa de corrientes y voltajes de alimentación |
| Chipset Principal | Xilinx Zynq XC7Z020-1CLG400C SoC |
Especificaciones del SoC Zynq-7000
| Característica | Descripción |
|---|---|
| Procesador (PS) | Dual-core ARM® Cortex™-A9 MPCore™ @ 650MHz |
| Memoria Caché | 32KB L1 (Instrucción), 32KB L1 (Datos) por núcleo, 512KB L2 unificada |
| Memoria On-Chip | 256 KB |
| Lógica Programable (PL) | Equivalente a Artix-7 FPGA |
| Logic Slices | 13,300 (cada uno con 4 LUTs de 6 entradas y 8 flip-flops) |
| Block RAM | 630 KB |
| DSP Slices | 220 |
| ADC On-chip (XADC) | 2x 12-bit, 1 MSPS |
Conectividad y Expansión
| Conector | Descripción |
|---|---|
| Ethernet | 1x Gigabit Ethernet PHY (RJ45) |
| USB | 1x Micro USB (UART/JTAG), 1x USB 2.0 OTG (Host) |
| Memoria | 512MB DDR3, 16MB Quad-SPI Flash, Slot MicroSD |
| Video/Audio | 1x HDMI Input, 1x HDMI Output, 1x Line-in 3.5mm, 1x Audio Out 3.5mm (I2S DAC) |
| Expansión Pmod | 2 puertos estándar (16 I/O totales, 8 compartidos con header RPi) |
| Expansión Arduino | 1 conector tipo Shield (24 I/O totales, 6 entradas analógicas) |
| Expansión Raspberry Pi | 1 conector compatible (28 I/O totales, 8 compartidos con Pmod A) |
| Indicadores | 4 LEDs, 2 RGB LEDs, 2 Switches deslizantes, 4 Pulsadores |
Aplicaciones
- Prototipado rápido de sistemas embebidos.
- Aceleración de algoritmos de visión por computador y procesamiento de imágenes.
- Desarrollo de sistemas de control en tiempo real y robótica.
- Procesamiento digital de señales (DSP) y radio definida por software (SDR).
- Enseñanza e investigación en arquitectura de computadores y sistemas reconfigurables.
- Implementación de aceleradores para inteligencia artificial y machine learning.
Preguntas Frecuentes
¿Cómo se alimenta la placa PYNQ-Z2?
La placa puede ser alimentada de dos formas, seleccionables mediante el jumper ‘Power’. Se puede alimentar con 5V a través del puerto Micro USB ‘PROG – UART’ (jumper en posición USB), o con una fuente de alimentación externa de 7V a 15V a través del jack de barril (jumper en posición REG).
¿Necesito saber VHDL o Verilog para usar esta placa?
No necesariamente. El framework PYNQ está diseñado para que desarrolladores de software puedan aprovechar la lógica programable usando Python. Se utilizan ‘overlays’ de hardware pre-compilados que se controlan mediante librerías de Python, abstrayendo la complejidad de los lenguajes de descripción de hardware (HDL). Sin embargo, para crear overlays personalizados, sí se requiere conocimiento de herramientas como Vivado y HDL.
¿Cuál es la dirección IP por defecto para conexión directa?
Cuando se conecta la PYNQ-Z2 directamente al puerto Ethernet de un computador, la placa se autoasigna la dirección IP estática 192.168.2.99. Deberá configurar su computador con una IP estática en la misma subred (ej. 192.168.2.1) para poder acceder a ella.
¿Qué software necesito para empezar a desarrollar?
Para comenzar, solo necesita la imagen del sistema operativo PYNQ grabada en una tarjeta MicroSD (mínimo 8GB) y un navegador web compatible (como Chrome, Firefox) para acceder a los Jupyter Notebooks que se ejecutan en la placa. Para desarrollo avanzado y creación de overlays de hardware personalizados, necesitará instalar el software AMD/Xilinx Vivado Design Suite y Vitis.
Mejora tu proyecto
Potencia las capacidades de tu PYNQ-Z2 con estos complementos esenciales para el desarrollo de sistemas complejos:
- Fuente de Alimentación 12V 2A: Para proyectos que demandan más corriente que la que puede suministrar el puerto USB, como aquellos que utilizan múltiples periféricos o motores.
- Módulos Pmod: Expande las funcionalidades de tu placa con nuestra variedad de módulos Pmod, como Pmod GPS para geolocalización, Pmod AD1 para conversión análogo-digital de alta precisión o Pmod HYGRO para sensado de temperatura y humedad.
- Cámara USB o HDMI: Conecta una cámara para desarrollar aplicaciones de visión por computador en tiempo real, aprovechando la capacidad de procesamiento paralelo del FPGA.




