En la actualidad, el hardware de soporte en sistemas digitales se suele diseñar en un solo circuito integrado FPGA (Field Programmable Gate Array), en parte debido al abundante espacio físico que ocuparía una implementación con varios circuitos integrados dedicados para este fin.
Los FPGAs son circuitos integrados digitales que pueden implementar cualquier circuito digital que el usuario desee, dado que consisten de un arreglo de dispositivos digitales (compuertas, flip-flops, etc.), una red de interconexiones y una memoria capaz de controlar las conexiones entre los dispositivos finales.
La programación de un FPGA comienza con un Lenguaje de Descripción de Hardware (HDL), siendo Verilog uno de los dominantes en la industria.
En este curso en línea conocerás varios aspectos básicos de Verilog, tales como su sintaxis, el paradigma concurrente de programación de hardware y simulación básica, entre otros.
Syllabus
Semana 1 — Introducción a Verilog Introducción a la tecnología FPGA y su uso en la actualidad, Lenguajes de Descripción de Hardware. Modulos Descriptivos y de Estímulo de Verilog. Temas:
Circuitos Digitales ASIC y FPGA
Lenguajes de Descripción de Hardware
Módulos Descriptivos y de Estímulo
Simulación de sistemas digitales
Semana 2 — Diseño Modular En este punto se instanciarán módulos previamente escritos para crear sistemas de una manera modular.
Temas:
Diseño Modular
Suma Binaria
Medio Sumador
Sumador Completo
Sumador de 4 bits.
Semana 3 — Formas Alternas de Descripción Descripción por módulos primitivos, expresiones Booleanas, y bloques procedimentales en Verilog para crear hardware digital.
Semana 4 — Lógica Secuencial Diseño de sistemas secuenciales. Para esto, es importante conocer el funcionamiento de los diversos tipos de Flip Flops, que son los bloques básicos de sistemas secuenciales.
Temas: ● Lógica Secuencial ● Flip Flops (Latch SR sin reloj, con reloj y Flip Flop JK)
Semana 5 — Registros, Contadores y Despliegue Diseño de sistemas secuenciales tales como Contadores, Registros de corrimiento, y máquinas de estados, además de reportar valores en la consola.
Temas:
Contadores.
Monitoreo.
Despliegue de Variables y Registros de Corrimiento.