Presentación y dudas.

58 views
Skip to first unread message

Mateo Cardona

unread,
Jun 30, 2025, 11:43:42 PMJun 30
to FPGAwars: explorando el lado libre
Hola a todos, espero que estén muy bien. He estado viendo los vídeos de electrónica digital y me parece espléndido, pero a partir estos vídeos me han salido ciertas dudas.

1. ¿Por qué FPGAs? En la universidad las vi, las trabajé y desarrollé sistemas con Xilinx. De hecho, tengo una Altera Cyclone IV. Pero me surge la duda: ¿por qué el esfuerzo con FPGAs libres? Lo que pasa es que no conozco en profundidad sus aplicaciones ni sus usos, ya sea en entornos industriales o laborales. Generalmente, porque en las universidades se opta por microcontroladores como STM32, Arduino o ESP32.

2. He visto los precios de un distribuidor de la Alhambra II en Colombia y están relativamente altos. He buscado otras alternativas nacionales y no he encontrado opciones. Por eso, ¿existe alguna alternativa más accesible que permita utilizar IceStudio?

3. Recuerdo que cuando le pregunté a mi profesor de digitales: “¿Qué se puede hacer con una FPGA?”, me respondió: “Lo mismo que haces con Arduino, lo haces con una FPGA”. Esa respuesta me dejó aún más confundido. Últimamente he estado trabajando con robótica y, buscando diferentes tipos de robots, descubrí el mundo de FPGAwars. Entonces me surge la duda: ¿Qué ventajas reales ofrece una FPGA frente a Arduino? ¿Hay beneficios concretos más allá del enfoque en desarrollo de hardware? ¿O se trata más bien de una mejora sistemática en cuanto a rendimiento, flexibilidad u otros aspectos?

Muchas gracias, y disculpen tantas dudas. Las he tenido por mucho tiempo, y la verdad es que mi interés por aprender sobre FPGAs siempre ha estado latente. Con este proyecto, esa llama se avivó aún más.

Democrito

unread,
Jul 1, 2025, 3:23:06 AMJul 1
to FPGAwars: explorando el lado libre
Se lo he preguntado a DeepSeek y me ha respondido esto:

Qué ventajas tiene una FPGA sobre un microcontrolador?

Las **FPGAs (Field-Programmable Gate Arrays)** ofrecen ventajas clave frente a los **microcontroladores (MCUs)** en aplicaciones que requieren alto rendimiento, paralelismo real y flexibilidad de hardware. Aquí las principales diferencias:

### 🔧 1. **Paralelismo verdadero**  
   - **FPGA:** Ejecuta **múltiples tareas simultáneamente** en hardware dedicado (circuitos paralelos independientes).  
   - **MCU:** Procesa instrucciones en **serie** (aunque pueda usar interrupciones o RTOS para cuasi-paralelismo).  
   *Ejemplo:* Procesar 10 señales de sensores a la vez, cada una con su propio circuito en la FPGA.

### ⚡ 2. **Rendimiento y latencia ultra-baja**  
   - **FPGA:** Operaciones en **hardware** (nanosegundos de latencia). Ideal para control en tiempo real crítico.  
   - **MCU:** Depende del flujo de instrucciones (micro/milisegundos).  
   *Ejemplo:* Control de motores a alta velocidad o procesamiento de señales de radar.

### 🛠️ 3. **Flexibilidad de hardware**  
   - **FPGA:** Puedes implementar **cualquier perifero personalizado** (UART, SPI, procesadores dedicados, etc.) y reconfigurarlo dinámicamente.  
   - **MCU:** Periféricos fijos (los definidos por el fabricante).  
   *Ejemplo:* Crear un acelerador de cifrado AES personalizado en la FPGA.

### ⏱️ 4. **Determinismo garantizado**  
   - **FPGA:** Comportamiento **predecible y exacto** en tiempo. Cada ruta lógica opera de forma independiente.  
   - **MCU:** Sujeto a retardos por interrupciones o caché.  

### 🔄 5. **Reconfigurabilidad**  
   - **FPGA:** Cambia su funcionalidad "en campo" mediante nuevo *bitstream*.  
   - **MCU:** Actualización de firmware, pero el hardware es fijo.  

### 🚀 6. **Aceleración de algoritmos complejos**  
   - **FPGA:** Implementa operaciones matemáticas (FFT, filtros) directamente en hardware, superando por 10-100x a un MCU.  
   - **MCU:** Depende de librerías software y potencia de la CPU.  

### ⚖️ **¿Cuándo usar un MCU?**  
- Proyectos con **limitaciones de costo/energía**.  
- Tareas secuenciales (gestión de UI, protocolos de comunicación estándar).  
- Desarrollo rápido con herramientas maduras (Arduino, STM32Cube).  

### 💎 Conclusión  
| **Característica**       | **FPGA**                          | **Microcontrolador**         |  
|--------------------------|-----------------------------------|------------------------------|  
| Paralelismo              | ✅ Verdadero (hardware)          | ❌ Limitado (software)       |  
| Latencia                 | Nano/microsegundos               | Micro/milisegundos           |  
| Flexibilidad             | Hardware programable             | Periféricos fijos            |  
| Determinismo             | Garantizado                      | Afectado por interrupciones  |  
| Consumo/Costo            | Alto (en general)                | Bajo                         |  
| Curva de aprendizaje     | Empinada (VHDL/Verilog)          | Moderada (C/C++)             |  

👉 **Usa FPGAs para:** Procesamiento de señales (SDR), visión artificial, redes de alta velocidad, controladores industriales críticos.  
👉 **Usa MCUs para:** IoT, dispositivos embebidos simples, sistemas con batería y aplicaciones de bajo costo.

-----------------------------------------------

En mi caso totalmente personal e irrelevante (no me dedico a la tecnología), tengo a las FPGA como hobby y a la vez cierta obsesión sana por la electrónica digital; bueno, a veces también tengo una relación insana y me quito horas de sueño porque la dopamina se apodera de mí. Hay gente que les da por coleccionar sellos y monedas, a otros no da por diseñar circuitos digitales. Cada vez que aprendo y comprendo algo nuevo sobre este mundo soy un poco más feliz. La programación también está muy bien pero si te quedas ahí nos saltamos las bases donde se asienta todo.

Tuve un profesor de electrónica que nos preguntó: "¿Qué es la electrónica?" y los alumnos íbamos respondiendo y él nos decía que sí a todo lo que respondíamos, pero que no era una respuesta exacta. Al final nos dijo: "La respuesta exacta es que la electrónica es una rama de la física".

Jo mo

unread,
Jul 1, 2025, 4:18:24 AMJul 1
to FPGAwars: explorando el lado libre
Hola Democrito,

This deepseek reply/summary is quite good. 
And Democrito's human experience is the cherry on the cake ;-)))

Like Democrito and few other in this forum, i am addict to learn new thinks (because we are curious) the problem is that the more we know, the more remains to learn. And today we are a bit lost with this infinite ocean of technology we have in front of us !

One think is sure, we humans are very good for going off- topic ;-) !

Big hug my friends!

charli va

unread,
Jul 1, 2025, 4:47:54 AMJul 1
to fpga-wars-explora...@googlegroups.com
Hola! Yo voy a intentar darte mi visión de una forma sencilla.

Para empezar sin descalificar a nadie, las palabras de tu profesor le dejan en muy mal lugar.

Una fpga es por decirlo de alguna manera un “meta chip”, un chip reconfigurable .

Esto quiere decir que puedes convertir la fpga en cualquier conjunto de otros chips interconectados entre sí, es como una breadboard que configuras bajo tus necesidades.

La fpga la puedes convertir en una uart, una cpu de cualquier arquitectura existente o creada por ti, en un adc , filtro digital, dac …. Y cualquier cosa que puedas imaginar electrónicamente.

Podrías crear incluso un arduino dentro de la fpga. 

Luego puedes hablar de precisión ,velocidad, paralelismo… decir que una fpga es como un arduino es comparar un mosquito con un caza militar de última tecnología.

Es difícil explicar en un post una pregunta tan general como esta, si te interesa el tema navega por este foro y verás cosas muy interesantes que suscitarán tu imaginación 😉

Sobre las placas , si la Alhambra se te hace cara en aliexpress (si fuera más económico el envío) hay opciones de placas por ejemplo las colorlight ecp5 son fpgas muy interesantes y ampliamente probadas en icestudio.

Buen día!! 

--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para ver este debate, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/73831345-f91e-4388-86cf-e7a0e49f8d75n%40googlegroups.com.

Jesus Arias

unread,
Jul 1, 2025, 1:53:16 PMJul 1
to FPGAwars: explorando el lado libre
Hola,

Por dar otro punto de vista, las FPGAs son una evolución de las antiguas GA (gate array). Un GA era un chip que no contenía más que un número grande de transistores sin interconectar. Los diseños para GAs convertían esquemáticos digitales en una máscara para añadir una capa de metal que interconectase los transistores para construir el circuito deseado (Hay muchos ejemplos de GAs en ordenadores antiguos, como las famosas ULAs de los Sinclair).

En las FPGAs se sigue con la misma idea pero son mucho más prácticas. Las interconexiones están todas hechas, pero hay que activarlas mediante unos datos de configuración que se cargan en una RAM de la FPGA en el momento de encenderla. Dependiendo de los datos que se carguen el circuito resultante puede ser radicalmente distinto de otros asociados a otros archivos de configuración. Y esto sin cambiar nada del hardware. La toolchain (yosys + nextpnr, para las de hardware libre) se encarga de convertir nuestros diseños en archivos "bitstream" que definen las conexiones internas y que una vez cargados implementan realmente los circuitos en la FPGA. No son simulaciones, son circuitos reales los que corren en el interior de la FPGA.

Saludos

El martes, 1 de julio de 2025 a las 5:43:42 UTC+2, mat8...@gmail.com escribió:

Fernando Peral Pérez

unread,
Jul 4, 2025, 1:30:45 AMJul 4
to fpga-wars-explora...@googlegroups.com
Yo suelo explicar la diferencia de forma que es una reducción muy grande, pero creo que explicativa, normalmente comparo FPGAs con microcontroladores (arduino, por ejemplo) y con ordenadores (raspberry pi por ejemplo) y la comparación es la siguiente:
Tiempos de respuesta: raspberry ms, arduino us, FPGA ns.
Y en cuanto a facilidad de uso o flexibilidad (siempre muy entre comillas), sería al revés: ordenador alta, microcontrolador media, FPGA baja.
> Para ver este debate, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/CAEQ-VCYFH%3DiU9Sjet0fSc0%3D8YH%2Bx24Q0adkwGBKUsqeXzMZ_eg%40mail.gmail.com.
>

charli va

unread,
Jul 4, 2025, 6:43:57 AMJul 4
to fpga-wars-explora...@googlegroups.com
Hola Fernando! gracias por contribuir al debate, siempre es super interesante escuchar voces nuevas y opiniones diferentes.

Además los profesores de instituto para mi sois una pieza clave en la motivación del pensamiento crítico y motivar a todas esas personitas que  están creciendo y desarrollando sus intereses científico técnicos, ¡tenéis una gran responsabilidad! ;)

Sobre lo que has comentado creo que no se pueden poner en comparación en cuanto a facilidad o flexibilidad algo como las FPGAs , los microcontroladores y los ordenadores. Para mi son cosas de muy distinta naturaleza, un ordenador es un conjunto de componentes, puede tener dentro una tarjeta pci con una fpga......un microcontrolador, al final no es más que una cpu con un conjunto de periféricos (un miniordenador) y una FPGA es un simple chip que podemos reconfigurar para que sea cualquier dispositivo electrónico o un conjunto de ellos.

Son artefactos diferentes que pueden ser  sustitutivos, compatibles o colaborantes entre ellos.

Al final el tema es que cada cosa tiene una función, y todo requiere un entrenamiento y unos conocimientos, y parte de esos conocimientos está en saber decidir que usar para cada proyecto, no es solo un tema de velocidad, las FPGAs tienen muchos conceptos clave que las hace muy poderosas, por ejemplo el paralelismo, que hace que una FPGA a muchos menos Megaherzios que por ejemplo un ordenador pueda realizar una tarea, mucho más rápido que por software en el ordenador por ejemplo. 

Además hablar de FPGAs, no es solo hablar de funcionalidades, flexibilidad..., es hablar también de ecología, reciclaje, resiliencia... 

A veces sólo hace falta poder ver "cosas" que hagan que tu cabeza explote y empieces a ver posibilidades que antes no veías. Para mi esta es una de las funciones de esta lista, poder con nuestras "locuras" despertar motivaciones entorno a las FPGAs que para mi es un dispositivo menospreciado/infravalorado/desconocido con muchas prejuicios y poco conocimiento real sobre su uso.

Y como siempre esto son ideas personales, con un respeto total al resto de participantes en el debate.

Buen viernes!

beni...@gmail.com

unread,
Jul 6, 2025, 12:43:52 AMJul 6
to FPGAwars: explorando el lado libre
Hola a todos !!!

Con respecto a la FPGA mas barata del mercado compatible con IceStudio yo creo que la mas barata es la Colorlight 5A-75B  (https://es.aliexpress.com/item/1005004546717831.html)  pero has de hacer 2 cosas en esta FPGA
1) Hackearla puenteando los level shifters para poder usar los pines como de entrada y salida (https://github.com/q3k/chubby75/tree/master/5a-75b), el mod esta explicado aqui (https://zeromips.org/posts/2022-05-29-5a-75b/)
2) hacerte con un programador JTAG , una  STM32 blue pill o pi pico con DirtyTAG te puede valer  (https://github.com/kholia/Colorlight-5A-75B/blob/master/README.md). Aunque yo te recomiendo un FT232H (https://es.aliexpress.com/item/1005008248012773.html)
Con eso tendras una FPGA Lattice ECP5 de 35K celdas compatible con IceStudio, con SDRAM y unos 50 pines mas o menos 

Decir que con una FPGA puedes hacer lo mismo que con un microcontrolador (Arduino, Pi pico, STM32 o ATMEL) es una respuesta totalmente erronea.
La respuesta a la pregunta del millon segun mi punto de vista es mucho mas compleja.
Resumiendo: Depende de lo que vayas a hacer.

Por comodidad es mucho mas sencillo trabajar con microcontroladores y la razon es muy sencilla, se programan en lenguajes de alto nivel, es decir C++ o micropyhton
Las FPGAs como bien han indicado en los anteriores mensajes son mucho mas potentes, y la razon es que porque puede recrear en ellas circuitos logicos y sus combinaciones con la unica limitacion de celdas logicas, BRAM y pines de I/O
Pero claro, las FPGAs tienen el inconveniente que son mucho mas complicadas de manejar.
Para que te hagas una idea de la potencia de las FPGAs, se estan usando ahora mismo para recrear microprocesadores, como ejemplo lo tienes en las numerosas implementaciones de CPUs RISCV.

Bienvenido a este maravilloso mundo de las FPGAs 
Un Abrazo.
Fernando Mosquera
Reply all
Reply to author
Forward
0 new messages