¿Es De0-Nano una alternativa a Arduino/RaspberryPi?

Arduino y Raspberry Pi se promocionan como placas de programación ideales para principiantes y aficionados. ¿Podría De0-Nano encajar en ese papel también?

¿Qué tiene Arduino o RaspberryPi que no tenga De0-Nano?

Esta es una pregunta suave que no está bien vista aquí, pero de todos modos... Todas son plataformas para principiantes, pero en realidad no hay una comunidad de aficionados a FPGA (todavía). Además, las cadenas de herramientas FPGA son software de código cerrado.
Gracias por su respuesta. El caso es que ya tengo un De0Nano. ¿Obtendría alguna funcionalidad adicional de un Arduino o RbPi? Prometo eliminar la pregunta de inmediato ;-)
Soy ingeniero de FPGA. Sería genial si hay una placa Altera FPGA con host USB, ethernet y ADC de alta velocidad. Similar a Arduino Galileo.

Respuestas (1)

Tratar de comparar la serie Arduino y RPi con un FPGA de cualquier capacidad es una comparación de manzanas con papas. ¿Se pueden hacer para hacer cosas similares? Absolutamente, pero la forma en que vas a llegar allí es muy diferente.

Arduino se basa en la serie AVR de procesadores RISC de Atmel (y una versión ARM de Atmel), RasberryPi es una computadora de placa única, basada en un procesador ARM. Independientemente de qué parte sea 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 este de la hoja de datos de ATMega168.

Arquitectura ATMega168

Este es un hardware que fue diseñado por el fabricante, está en silicio 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.

La DE0-Nano es una placa FPGA. Cuando mira una hoja de datos de FPGA, encontrará un amplio conjunto de especificaciones eléctricas, sin diagrama de bloques de la arquitectura. Depende del desarrollador desarrollar su propia arquitectura para cumplir con los requisitos de ingeniería. Luego, el diseñador implementará la lógica adecuada en un lenguaje de descripción de hardware (HDL), generalmente 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 hay, 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 se necesita 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 algunos conocimientos eléctricos reales para usarlos a su potencial, y esa es probablemente la razón por la que no hay una comunidad de aficionados a FPGA.

Hay una comunidad de aficionados a FPGA. Es pequeño y bastante silencioso.
@ConnorWolf Probablemente debería reformular esa línea, pero ¿por qué discutir sobre la semántica? Tan divertido como es el desarrollo de FPGA, la cantidad de ingeniería real involucrada no es algo que el aficionado al tipo Arduino vaya a disfrutar. Si ese proyecto FPGA de código abierto que leí hace un tiempo pudiera encontrar una manera de despegar, tal vez.
Hay una serie de placas FPGA tipo arduino por ahí, ¡aparentemente exitosas! Está la placa Papillo , los prototipos peligrosos tienen una placa proto CPLD y siempre está knjn.com (¡no les compren! ¡Se niegan a proporcionar los esquemas para sus placas de desarrollo! ¡Imbéciles).
El tablero de Papillo es en el que pensé. Me parece interesante que afirmen compatibilidad con el IDE de Arduino. A primera vista parece un procesador AVR emulado en hardware, y eso realmente no está aprovechando las capacidades de la FPGA.
Es un AVR emulado en software . También tienen un núcleo blando diferente que es mucho más potente. Ambos parecen tener compilaciones de editor de texto arduino con parche personalizado (me niego a llamarlo IDE).
También está el Mojo , que debería comenzar a enviarse pronto.