Silabus

Objetivos

Al finalizar el curso, el estudiante debe:

- Describir lo que es una FPGA y conocer sus principales aplicaciones.

- Describir circuitos mediante lenguaje de descripción de hardware Verilog HDL.

- Entender y ejecutar el proceso de desarrollo de un proyecto con FPGAs (diseño de FSM, FSMD, descripción en verilog, simulación, sintetización, pruebas del hardware)

- Desarrollar diseños de circuitos con FPGAs siguiendo pautas de diseño adecuadas.

- Desarrollar y Diseñar Circuitos en PCB.

Contenido del curso

1. Introducción

a. Introducción a FPGAs

b. Comparación entre diseño con FPGAs y con ASICs

c. Tipos y fabricantes de FPGAs

d. Arquitectura de varios tipos de FPGAs

e. Idiomas HDL (Hardware Description Language): qué es un HDL, razones para usar un HDL, ventajas de un HDL, desventajas de un HDL.

2. Verilog: Lenguaje de descripción de Hardware

a. Introducción

b. Operadores: Operadores aritméticos, Operadores de corrimiento, Operadores relacionales, Operadores lógicos, operadores de bit y de reducción, Operadores de concatenación y replicación, Operadores condicionales.

c. Precedencia de los operadores

d. Ajuste de la longitud de bits

3. Circuitos combinacionales con Verilog

e. Operador ALWAYS para circuitos combinacionales: Sintaxis básica y comportamiento, asignación procedimental, tipos de datos y variables, ejemplos básicos.

f. Estructura IF: Sintaxis, ejemplos.

g. Estructura CASE: Sintaxis, ejemplos.

h. Circuitos equivalentes para estructuras de control condicional (Enrutamiento): circuito de enrutamiento con prioridades, circuito multiplexor

i. Lineamientos de codificación generales para un bloque ALWAYS: Errores comunes en códigos de circuitos combinacionales, Lineamientos, Parámetros y constantes.

j. Ejemplos de diseño: Decodificador Hexadecimal/7 segmentos, sumador con signo, registro de corrimiento

4. Circuitos secuenciales con Verilog

a. Introducción

b. Flip-Flop tipo D

c. Sistemas síncronos

d. Desarrollo de código

e. Código HDL del FF y registro

f. Ejemplos de diseño: Registro de corrimiento, contador binario, contador programable, circuito para multiplexar LEDs en el tiempo, cronómetro, buffer FIFO.

5. Diseño fiable de Hardware

a. Máquinas de estados finitos: Diagramas de transición de estados, Máquina de Mealy, Máquina de Moore, problemas con las máquinas de Mealy y Moore. Máquina de Estados Finitos mejorada.

b. Metaestabilidad: Problemas de sincronización, circuitos de sincronización

c. Desplazamiento de la señal de reloj (Clock Skew): El problema, métodos para solucionar el problema.

d. Cambio de dominios de reloj: el problema, soluciones al problema.

e. Routing delay y Fan out: el problema, soluciones al problema.

f. Pipelining (Paralelismo): Qué es el pipelining, cuándo usar pipelining, cómo se diseña un módulo con pipelining.

g. Diseño de Filtros FIR(Hamming, Hanning, Blackman).

6. Construcción e implementación de softcores con FPGAs: PicoCtrl, Nios II(SOPC builder, Qsys).

a. Soft Cores(Nios II) Arquitectura de computadores y Herramientas para el prototipado Rapido

b. ¿Que son los SoftCores y los HardCopy?

c. Introduccion al procesador Nios II

d. Herramientas de prototipado rapido para la construccion de sistemas embebidos programables(SOPC)

e. Programando mi primer procesador sobre FPGAs(C/C++)

7. Co-Diseño Hardware Software

a. Importancias del Co-Diseño Hardware-Software

b. Acceleradores Hardware.

c. Los Sistemas Operativos y las FPGAs

d. Mi primer OS sobre un SoftCore

e. ¿Por qué un sistema Operativo?

f. Sistemas Multicore

8. Aplicaciones de FPGAs

9. Altium Designer

Porcentajes de Calificación

Q1 P1 Q2 P2 Lab

15% 20% 15% 20% 30%

Bibliografía

·Embedded SoPC Design with Nios II Processor and Verilog Examples, 2012

·Maxfield, Clive "Max". The Design Warrior's Guide to FPGAs : Devices, Tools and Flows. -- Amsterdam : El Sevier, c2004, 542 p.

·Chu, Pong P. FPGA Prototyping by Verilog examples. Xilins Spartan – 3 Version. Wiley, 2008.

·The Verilog Hardware Description Language. Thomas & Moorby's, 2002

·Digital Design and Computer Architecture. David Harris and Sarah Harris, 2007.