![Page 1: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/1.jpg)
Introducción al Diseño Digital con FPGAs
www.emtech.com.ar
![Page 2: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/2.jpg)
Temario del curso
�Dia 1: Introducción y ejemplo practico paso a paso
�Dia 2: VHDL, flujo de diseño y otro ejemplo
�Dia 3: Detalles de diseño e implementacion y otro ejemplo mas
![Page 3: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/3.jpg)
Kits usados
EmTech 3PA1
![Page 4: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/4.jpg)
FPGA usadas
Actel
![Page 5: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/5.jpg)
� Introducción� Circuitos Digitales� FPGAs � Flujo y Herramientas de Diseño� Diseño para Síntesis� Simulación� Ejemplos
Temario
![Page 6: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/6.jpg)
Introducción
�Sistemas electrónicos digitales � Representación de datos mediante dos niveles de señal
(tensión, corriente, carga,...)� La tecnología esconde los efectos “analógicos” del circuito� Permiten aplicar técnicas de análisis y diseño especiales
![Page 7: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/7.jpg)
Introducción
�Análisis: comprender la función que cumple un circuito. La tarea de analizar el comportamiento de un circuito y describirlo de manera formal.
�Síntesis: proceso inverso al análisis. Pasar de una descripción abstracta a un circuito funcional
�Diseño: diferente significado para distintas personas. La creación del modelo formal que puede usarse para sintetizar un circuito (diagramas, formas de onda, tablas, etc.).
![Page 8: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/8.jpg)
Circuitos Digitales
� Elementos básicos de circuitos digitales
� Cómo lograr la misma funcionalidad con lógica configurable
![Page 9: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/9.jpg)
Circuitos digitales
�Elementos básicos combinacionales � Inversor y compuertas
![Page 10: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/10.jpg)
Circuitos digitales
�Elementos básicos secuenciales
![Page 11: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/11.jpg)
Circuitos digitales
�Circuitos de integración mediaInterconexión de varios elementos básicos para formar funciones mas complejas
� Combinacionales : multiplexor, demux, codificadores, decos, sumadores, etc.
� Secuenciales : registros de desplazamiento, contadores, etc. (incluyen elementos secuenciales y comb.)
![Page 12: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/12.jpg)
Circuitos digitales
�Diseño SincrónicoEl problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo” de todo el circuito.
Imaginemos una fila de gente que se pasa elementos una a otra al ritmo de un tambor.
¿Qué pasa si ese ritmo no existe? Hay que coordinarse muy bien para que no se caigan las cosas!
Es mucho mas simple automatizar el diseño de un circuito “con ritmo”
![Page 13: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/13.jpg)
Circuitos digitales
�Diseño SincrónicoEl diseño queda como a interconexión elementos sincrónicos (flip-flops) y combinacionales.
� Reloj marca el ritmo. Se distribuye a todos los Flip-Flops del circuito
� Frecuencia de operación máxima: dada por retardos de propagación de la lógica
Logica de Proximo Estado
Alm
ace
nam
ien
to
(Reg
istr
os)
Ent
rad
as
Logica de
Salida Sa
lidas
Estado Actual
EstadoSiguiente
Reloj
Alm
ace
nam
ien
to
(Reg
istr
os)
![Page 14: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/14.jpg)
Circuitos digitales
Resumen�Para implementar circuitos digitales:
� Lógica combinacional� Elementos secuenciales� Interconexiones
�Para automatizar la implementación:� Estructura regular y diseño sincrónico� Librerías de bloques básicos llamados primitivas,
equivalentes a lógica de integración media
![Page 15: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/15.jpg)
FPGAs
� Elementos lógicos� Interconexiones� Bloques de entrada-salida� Elementos especiales
![Page 16: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/16.jpg)
FPGAs
� Elemento lógico combinacional básico� Ejemplo: Memoria usada como tabla de
entrada-salida o Look-Up Table (LUT)
LUT
Entradas
Salida
Tablaconfigurable(memoria condatos pre-definidosen operación)
![Page 17: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/17.jpg)
FPGAs
� Elemento lógico secuencial� Ejemplo: Flip flops o latch con set-reset-
enable configurable
POSIBLE ELEMENTO CONFIGURABLE FLASH SWITCH DE ACTEL PROASIC3
![Page 18: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/18.jpg)
FPGAs
�Otra opción: Versatile: celda de Actel PA3
![Page 19: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/19.jpg)
FPGAs
� Distribución de celdas Actel ProAsic3
![Page 20: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/20.jpg)
FPGAs
� Interconexiones� Mediante llaves
pueden conectarse diferentes señales entre sí.
� Las conexiones sonjerárquicas para darmas flexibilidad yvelocidad
![Page 21: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/21.jpg)
FPGAs
� Bloque de entrada salida
� Distribución de reloj
![Page 22: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/22.jpg)
FPGAs
� Control de reloj
� Memorias
� Bloques DSP
![Page 23: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/23.jpg)
Flujo y Herramientas de Diseño
� Flujo de Diseño General � Definición del circuito� Simulación y Verificación� Síntesis y Place & Route
![Page 24: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/24.jpg)
Herramientas
�Flujo de diseño� Descripción
del diseño� Simulación
ó� Síntesis
![Page 25: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/25.jpg)
Diseño
�Uso de diagramas esquemáticos (Libero)� Primitivas o nuevos elementos
![Page 26: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/26.jpg)
Diseño
�Descripción mediante lenguajes de descripción de hardware (VHDL - Verilog)
![Page 27: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/27.jpg)
Diseño
�Uso de diagramas esquemáticos (HDL Designer)
![Page 28: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/28.jpg)
Diseño
�Representación de máquinas de estado
Logica de Proximo Estado
Alm
ace
nam
ien
to
(Reg
istr
os)
Ent
rad
as
Logica de
Salida Sal
idas
Estado Actual
EstadoSiguiente
Reloj
Alm
ace
nam
ien
to
(Reg
istr
os)
Representacion grafica del comportamiento del bloqu e EjemploFSM
InicialSalida = “001”
Estado1Salida = “010”
Estado2Salida = “011”
Estado3Salida = “100”
Estado4Salida = “111”
Entrada1=’1'Entrada2=’0'
Entrada1=’1'Entrada2=’1'
Entrada1=’0'Entrada2=’x'
Entrada1=’1'Entrada2=’x'
Entrada1=’0'Entrada2=’x'
Entrada1=’x'Entrada2=’0'
Entrada1=’x'Entrada2=’1'
Entrada1=’x'Entrada2=’x
Entrada1=’x'Entrada2=’x
![Page 29: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/29.jpg)
Diseño
�Representación de máquinas de estado(HDL Designer de Mentor Graphics)
![Page 30: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/30.jpg)
Herramientas
�Todo (diagramas, esquemáticos, etc) se traduce a un HDL� La descripción a
nivel RTL es la entrada parala síntesis y simulación
![Page 31: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/31.jpg)
Simulación
�Se deben crear bancos de prueba para poder estimular las entradas al diseño (DUT)� Vectores de test
�En el banco de prueba (testbench) se permite usar HDL no-sintetizable
�El código fuente (HDL se compila para poder ejecutarlo sobre la plataforma de simulación)
![Page 32: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/32.jpg)
Simulación
�Banco de prueba: permite simular las entradas reales al sistema, el hardware accesorio y en algunos casos monitorea las salidas
![Page 33: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/33.jpg)
Simulación
�Simplifica el proceso de puesta en marcha� Visualización de formas de onda para debug
![Page 34: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/34.jpg)
Implementación
![Page 35: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/35.jpg)
Síntesis
�Transforma la descripción en el circuito real a implementar� Esquema de
interconexión de primitivas
� Estimación de retardos inicial
![Page 36: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/36.jpg)
Place and Route
�Coloca cada primitiva en un lugar de la FPGA y la interconecta� Esquema físico
de implementacióny conexionado
� Estimación de retardos incluyendointerconexiones
![Page 37: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/37.jpg)
Place and Route
�Resultado de colocar y conectar cada componente
![Page 38: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/38.jpg)
Configuración
�Depende de la FPGA y la tecnología� Puerto JTAG permite acceder a diferentes
dispositivos y configurarlos
![Page 39: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/39.jpg)
Ejemplo. Vamos a hacer titilar
un LED! Wow.
![Page 40: Introducción al Diseño Digital con FPGAsCircuitos digitales Diseño Sincrónico El problema de diseño y análisis se simplifica mucho si se usa un reloj que “marca el ritmo”](https://reader030.vdocuments.co/reader030/viewer/2022040723/5e330a7952033336ed1033d5/html5/thumbnails/40.jpg)
Contacto
Guillermo Güichal EmTech [email protected] www.emtech.com.ar
También: www.fpga.com.ar [email protected]