Arduino y Raspberry Pi se promocionan como tablas de programación ideales para principiantes y aficionados. ¿Podría De0-Nano encajar en ese rol también?
¿Qué tienen Arduino o RaspberryPi que De0-Nano no tiene?
Arduino y Raspberry Pi se promocionan como tablas de programación ideales para principiantes y aficionados. ¿Podría De0-Nano encajar en ese rol también?
¿Qué tienen Arduino o RaspberryPi que De0-Nano no tiene?
Intentar comparar la serie Arduino y el RPi con un FPGA de cualquier capacidad es una comparación entre manzanas y papas. ¿Se les puede hacer hacer cosas similares? Absolutamente, pero la forma en que vas a llegar es muy diferente.
Arduino se basa en la serie de procesadores RISC AVR de Atmel (y en una versión ARM de Atmel), RasberryPi es una computadora de placa única, basada en un procesador ARM. Independientemente de qué parte se encuentre en el núcleo de la placa de desarrollo, existe una arquitectura de procesador definida. La hoja de datos mostrará un diagrama de bloques de esta arquitectura, como esta de la hoja de datos de ATMega168.
Este es un hardware que fue diseñado por el fabricante, está en silicona y no se puede cambiar. El fabricante publicará un conjunto de instrucciones, ya sea con la hoja de datos, o como un documento separado que detalla cómo se puede programar la pieza.
El DE0-Nano es una placa FPGA. Cuando mira una hoja de datos de FPGA, encontrará un extenso conjunto de especificaciones eléctricas, no un diagrama de bloques de la arquitectura. Es responsabilidad del desarrollador desarrollar su propia arquitectura para cumplir con los requisitos de ingeniería. El diseñador luego implementará la lógica apropiada en un lenguaje de descripción de hardware (HDL), típicamente VHDL o Verilog. Estos lenguajes no son como escribir C o ensamblar. Los HDL se diseñaron para describir el hardware, en lugar de una lista secuencial de operaciones a realizar. Esto significa que puede haber, y casi siempre, múltiples operaciones que ocurren en paralelo. Este es uno de los aspectos más poderosos de un FPGA, y la razón por la que se utilizan en aplicaciones donde es necesario un alto rendimiento.
En realidad, cualquier proyecto que se pueda completar en un Arduino o RPi no puede justificar el uso de un FPGA. Es más difícil trabajar con ellos y requieren cierto conocimiento eléctrico real para aprovechar su potencial, y esa es probablemente la razón por la que no existe una comunidad de aficionados FPGA.
Lea otras preguntas en las etiquetas arduino raspberry-pi intel-fpga