-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Tutorial para aprender a diseñar sistemas digitales sintetizables en FPGAs usando SOLO herramientas libres. Descripción del hardware en lenguaje Verilog
- Placa de desarrollo: iCEStick. Con la FPGA iCE40HX-1k de Lattice
- Simulador de Verilog: ícarus Verilog
- Visualizador de señales: Gtkwave
- Sintetizador: Yosys (Repo en github)
- Place & route: Arachne-prn (en github)
- Utilidades y descarga en FPGA: Proyecto icestorm
Why libre?
Por donde íbamos? --> Retomar artículos sobre el tema
--> convirtiendo hw en sw
--> Hispalinux
--> JCRA barcelona
Repositorio con el código verilog
Juan González Gómez (Obijuan)

Licensed under a Creative Commons Attribution-ShareAlike 4.0 International License
- Proyecto icestorm, por Clifford Wolf and Mathias Lasser
- Arachne-pnr, por Cotton Seed
-
Este tutorial no habría sido posible sin las increibles herramientas libres del proyecto Icestorm y Arachne-pnr, por Clifford Wolf, Mathias Lasser y Cotton Seed. Representan un avance espectacular para el patrimonio tecnólogico de la humanidad ¡Muchísimas gracias!
-
A BQ, por financiar el material usado en el tutorial. Soy un verdadero privilegiado por trabajar en una empresa donde fomentan el espíritu maker y apoyan las iniciativas de exploración y experimentación con tecnologías Libres ¡Muchas gracias!
-
A Jesús Arroyo, por hacer la compra de las placas iCEStick y empezar con el empaquetado para Debian/Ubuntu de las herramientas Arachne-pnr y las del proyecto icestorm. ¡Muchas Gracias!
-
A David Sánchez Falero, por enseñarme cómo resaltar código Verilog en los markdown de github :-) ¡Esto ha hecho que el código sea muchísimo más legible! ¡Muchas Gracias!
-
A Carlos García Saura*, por las instrucciones de instalación de las herramientas icestorm en Fedora. ¡Muchas gracias!
-
¿Qué diferencia hay entre una FPGA y Arduino?
Arduino es una placa que lleva un microcontrolador, que se programa. Las FPGAs NO SE PROGRAMAN, se configuran para implementar en ellas HARDWARE. Nos sirven para diseñar Circuitos -
¿Qué hace una FPGA que no pueda hacer Arduino?
Muchas aplicaciones se pueden hacer tanto por software (programando) o por hardware. Por ejemplo un contador. La diferencia está en que al hacerlo por hardware conseguimos velocidades muchísimo mayores. Además, el hardware se puede "clonar" directamente y funciona en paralelo. Tener en software varias cosas funcionando en paralelo no es inmediato. -
¿Por qué Verilog y no VHDL?
Verilog es el lenguaje que soporta el proyecto icestorm de momento. Pero como es un proyecto libre, la comunidad lo irá ampliando y el VHDL se soportará tarde o temprano. Al día de hoy (sep-2015), para trabajar con herramientas libres y FPGAs, hay que usar Verilog
0 You are leaving the privative sector (EN)
1 ¡Hola mundo! (EN)
2 De un bit a datos (EN)
3 Puerta NOT (EN)
4 Contador de 26 bits
5 Prescaler de N bits
6 Múltiples prescalers
7 Contador de 4 bits con prescaler
8 Registro de 4 bits
9 Inicializador
10 Registro de desplazamiento
11 Multiplexor de 2 a 1
12 Multiplexor de M a 1
13 Inicializando registros
14 Registro de N bits con reset síncrono
15 Divisor de frecuencias
16 Contador de segundos
17 Generando tonos audibles
18 Tocando notas
19 Secuenciando notas
20 Comunicaciones serie asíncronas
21 Baudios y transmisión
22 Reglas de diseño síncrono
23 Controladores y autómatas finitos
24 Unidad de transmisión serie asíncrona
25 Unidad de recepción serie asíncrona
26 Memoria ROM
27 Memoria ROM genérica
28 Memoria RAM
29 Puertas triestado
30 Hacia el microprocesador y más allá