Albert Einstein · Esta presentación es un extracto de la introducción al curso básico de...

24
"Make everything as simple as possible but not simpler." — Albert Einstein

Transcript of Albert Einstein · Esta presentación es un extracto de la introducción al curso básico de...

Page 1: Albert Einstein · Esta presentación es un extracto de la introducción al curso básico de diseño digital con componentes de lógica ... proyecto analizando ... Contador de 4 bits

"Make everything as simple as possible but not simpler."

— Albert Einstein

Page 2: Albert Einstein · Esta presentación es un extracto de la introducción al curso básico de diseño digital con componentes de lógica ... proyecto analizando ... Contador de 4 bits

www.waltergallegos.com © 2010 Walter D. Gallegos derechos reservados INTRO2010:2

Notas de la versión

Esta presentación es un extracto de la introducción al curso básico de diseño digital con componentes de lógica programable CPLD y FPGA dictado por Walter D. Gallegos.

El curso es un entrenamiento presencial con instructor, la presentación está concebida como material de apoyo al instructor.

Prohibida su reproducción total o parcial. Material libre para uso personal no comercial, para cualquier otro uso o por la versión completa comunicarse con [email protected]

Page 3: Albert Einstein · Esta presentación es un extracto de la introducción al curso básico de diseño digital con componentes de lógica ... proyecto analizando ... Contador de 4 bits

www.waltergallegos.com © 2010 Walter D. Gallegos derechos reservados INTRO2010:3

Diseño de circuitos digitales en

Lógica Programable con

VHDL

Introducción...

Page 4: Albert Einstein · Esta presentación es un extracto de la introducción al curso básico de diseño digital con componentes de lógica ... proyecto analizando ... Contador de 4 bits

www.waltergallegos.com © 2010 Walter D. Gallegos derechos reservados INTRO2010:4

Flujo de diseño y verificación

1. Crear una Especificación.

2. Describir la(s) funcionalidad(es) necesarias para cumplir la especificación.

3. Verificar que la(s) funcionalidad(es) cumple(n) con la especificación.

4. Implementar el diseño

5. Verificar que la implementación cumple con la especificación.

Bucle de simulación

Bucle de implementación

Page 5: Albert Einstein · Esta presentación es un extracto de la introducción al curso básico de diseño digital con componentes de lógica ... proyecto analizando ... Contador de 4 bits

www.waltergallegos.com © 2010 Walter D. Gallegos derechos reservados INTRO2010:5

ALTO

La pagina anterior tiene un error de concepto.

¿ Cual es el error ?

Respuesta en la pagina siguiente.

Page 6: Albert Einstein · Esta presentación es un extracto de la introducción al curso básico de diseño digital con componentes de lógica ... proyecto analizando ... Contador de 4 bits

www.waltergallegos.com © 2010 Walter D. Gallegos derechos reservados INTRO2010:6

Flujo de diseño y verificación

1. Crear una Especificación.

2. Describir la(s) funcionalidad(es) necesarias para cumplir la especificación.

3. Verificar que la(s) funcionalidad(es) cumple(n) con la especificación.

4. Implementar el diseño

5. Verificar que la implementación cumple con la especificación.

Bucle de simulación

Bucle de implementación

El paso 3 es el punto de decisión, un diseño solo se implementa si pasa la verificación. Esta es una regla de nuestra metodología de trabajo.

La verifi

cación

es parte

del diseño

Page 7: Albert Einstein · Esta presentación es un extracto de la introducción al curso básico de diseño digital con componentes de lógica ... proyecto analizando ... Contador de 4 bits

www.waltergallegos.com © 2010 Walter D. Gallegos derechos reservados INTRO2010:7

Especificación

● Especificación del proyecto analizando problemas y soluciones.

● La especificación debe ser detallada explicando las funcionalidades requeridas y sus interfaces.

● Las soluciones adoptadas dependen de una buena especificación de proyecto.

Page 8: Albert Einstein · Esta presentación es un extracto de la introducción al curso básico de diseño digital con componentes de lógica ... proyecto analizando ... Contador de 4 bits

www.waltergallegos.com © 2010 Walter D. Gallegos derechos reservados INTRO2010:8

Resumen

● Problemas ● Soluciones● Funcionalidades● Interfaces

Page 9: Albert Einstein · Esta presentación es un extracto de la introducción al curso básico de diseño digital con componentes de lógica ... proyecto analizando ... Contador de 4 bits

www.waltergallegos.com © 2010 Walter D. Gallegos derechos reservados INTRO2010:9

Descripción de Circuitos Electrónicos● Esquemas

● La líneas describen conexiones.

● Los bloques describen funciones.

● Pro

– Reflejan hasta cierto punto la implementación física del sistema.

● Contra

– Pueden tornarse muy complejos de interpretar.

– Dependientes de la herramienta.

Page 10: Albert Einstein · Esta presentación es un extracto de la introducción al curso básico de diseño digital con componentes de lógica ... proyecto analizando ... Contador de 4 bits

www.waltergallegos.com © 2010 Walter D. Gallegos derechos reservados INTRO2010:10

Descripción de Circuitos Electrónicos

● Descripción Formal en español :● Contador de 4 bits

Contador es un registro de 4 bits.

Para contar :

1. Si la señal reloj sube

Si reset es válido hacer contador igual a cero.Si reset no es válido sumar uno a contador.

2. Regresar al paso 1.

Page 11: Albert Einstein · Esta presentación es un extracto de la introducción al curso básico de diseño digital con componentes de lógica ... proyecto analizando ... Contador de 4 bits

www.waltergallegos.com © 2010 Walter D. Gallegos derechos reservados INTRO2010:11

Descripción de Circuitos Electrónicos

● Descripción Formal en VHDL : SIGNAL contador : unsigned(3 DOWNTO 0);

Contar : PROCESS (CLOCK, RESET)

BEGIN

IF rising_edge(CLOCK) THEN

IF RESET = '1' THEN

contador <= “0000”;

ELSE

contador <= contador + 1;

END IF;

END IF;

END PROCESS Contar;

Page 12: Albert Einstein · Esta presentación es un extracto de la introducción al curso básico de diseño digital con componentes de lógica ... proyecto analizando ... Contador de 4 bits

www.waltergallegos.com © 2010 Walter D. Gallegos derechos reservados INTRO2010:12

Descripción de Circuitos Electrónicos

● La descripción formal de circuitos electrónicos tiene por finalidad :● Proveer un modelo funcional comprensible leyendo

el texto descriptivo.● Proveer un modelo funcional para las herramientas

de simulación para verificación de funcionamiento.● Proveer un modelo funcional capaz de ser

interpretado por las herramientas de síntesis para su posterior implementación física.

Page 13: Albert Einstein · Esta presentación es un extracto de la introducción al curso básico de diseño digital con componentes de lógica ... proyecto analizando ... Contador de 4 bits

www.waltergallegos.com © 2010 Walter D. Gallegos derechos reservados INTRO2010:13

Descripción de Circuitos Electrónicos

● Breve historia : ● VHDL fue creado por y como respuesta a la necesidad del

Departamento de Defensa de los Estados Unidos para estandarizar la documentación de funciones en hardware.

● Se requería un lenguaje que permitiera describir una función independiente de la tecnología y la metodología usadas y que diera el mismo resultado sin importar el simulador usado.

● El uso de VHDL en síntesis es un uso derivado y no considerado como requerimiento principal del lenguaje.

● En la práctica, el principal uso del VHDL es el modelado, verificación y síntesis de funciones digitales.

● Las herramientas de síntesis soportan solo una parte reducida del lenguaje VHDL estándar y algunas veces de forma diferente entre las herramientas o versiones.

Page 14: Albert Einstein · Esta presentación es un extracto de la introducción al curso básico de diseño digital con componentes de lógica ... proyecto analizando ... Contador de 4 bits

www.waltergallegos.com © 2010 Walter D. Gallegos derechos reservados INTRO2010:14

Resumen● Esquema Eléctrico

● Son una representación gráfica de los componentes físicos.● Simples de crear y simples de interpretar ( básicamente... )● Dependientes de la herramienta.

● Descripción Formal

● Es un texto descriptivo de las funcionalidades del circuito ● Los lenguajes de descripción comúnmente usados son

– VHDL– Verilog

● Pensados para documentación y verificación formal de circuitos electrónicos.

● Ambos asemejan y comparten algunas formalidades con los lenguajes de programación (software).

Ambos son HDL

Page 15: Albert Einstein · Esta presentación es un extracto de la introducción al curso básico de diseño digital con componentes de lógica ... proyecto analizando ... Contador de 4 bits

www.waltergallegos.com © 2010 Walter D. Gallegos derechos reservados INTRO2010:15

Verificación

● En simulación● Creamos un entorno controlado con ayuda de las

herramientas de simulación en el cual podamos estimular el proyecto y ver sus respuestas a los estímulos.

● En placa● Implementamos el diseño, configuramos un

dispositivo de lógica programable y estimulamos el sistema para verificar el diseño con herramientas externas, osciloscopio, analizadores, etc.

Page 16: Albert Einstein · Esta presentación es un extracto de la introducción al curso básico de diseño digital con componentes de lógica ... proyecto analizando ... Contador de 4 bits

www.waltergallegos.com © 2010 Walter D. Gallegos derechos reservados INTRO2010:16

Verificación en simulación

Modulo en

verificación

Modulo en

verificación

Banco de pruebasBanco de pruebas

10111

10101

Ain = 1

Aout = 0

Scilab, Matlab, TCL/TK, etc...

Page 17: Albert Einstein · Esta presentación es un extracto de la introducción al curso básico de diseño digital con componentes de lógica ... proyecto analizando ... Contador de 4 bits

www.waltergallegos.com © 2010 Walter D. Gallegos derechos reservados INTRO2010:17

Flujo de implementación con FPGA

DescripciónFuncionalEn HDL Síntesis

BloquesLógicos

Configurables

Ma

peo

Colocación y RutadoBloquesLógicos

Configurables

Page 18: Albert Einstein · Esta presentación es un extracto de la introducción al curso básico de diseño digital con componentes de lógica ... proyecto analizando ... Contador de 4 bits

www.waltergallegos.com © 2010 Walter D. Gallegos derechos reservados INTRO2010:18

Metodología

● El primer paso en un diseño es adoptar una metodología de trabajo.

● Tres reglas de metodología aplicables en este momento son :

✔ Diseño verificable ✔ Diseño modular✔ Diseño transferible

Page 19: Albert Einstein · Esta presentación es un extracto de la introducción al curso básico de diseño digital con componentes de lógica ... proyecto analizando ... Contador de 4 bits

www.waltergallegos.com © 2010 Walter D. Gallegos derechos reservados INTRO2010:19

Metodología básica..

● Hacer un diseño verificable por diseño.● Desde el inicio el proyectista debe prever que el

diseño se pueda verificar función a función.– Fallar en esto o hacerlo muy tarde puede resultar en

muchas y frustrantes semanas buscando fallas en el diseño.

● El diseñador debe hacerse dos preguntas :– ¿ Cómo creo la funcionalidad necesaria ?– ¿ Cómo verifico la funcionalidad ?

Page 20: Albert Einstein · Esta presentación es un extracto de la introducción al curso básico de diseño digital con componentes de lógica ... proyecto analizando ... Contador de 4 bits

www.waltergallegos.com © 2010 Walter D. Gallegos derechos reservados INTRO2010:20

Metodología básica..

● Hacer el diseño modular con bancos de prueba independientes.● Separar el diseño en módulos coherentes.

– Crear un banco de verificación por módulo.– Validar cada módulo por separado– Documentar las verificaciones– Automatizar la verificaciones tanto como sea posible.

● Los bancos de verificación son parte del diseño.– Y pueden requerir más trabajo que el propio diseño.

Page 21: Albert Einstein · Esta presentación es un extracto de la introducción al curso básico de diseño digital con componentes de lógica ... proyecto analizando ... Contador de 4 bits

www.waltergallegos.com © 2010 Walter D. Gallegos derechos reservados INTRO2010:21

Metodología básica..

● Hacer el diseño transferible● El diseño lo deben entender otros diseñadores.● Documentación

– Una descripción de funcionamiento por módulo.– Una descripción de funcionamiento general.– Puntos críticos durante el diseño.– Soluciones de compromiso.– Comentarios apropiados en las fuentes. – El código es parte de la documentación.

¡ Pero sin duplicar el

código en los comentarios !

Page 22: Albert Einstein · Esta presentación es un extracto de la introducción al curso básico de diseño digital con componentes de lógica ... proyecto analizando ... Contador de 4 bits

www.waltergallegos.com © 2010 Walter D. Gallegos derechos reservados INTRO2010:22

Para entrar en tema...

a

b

z

u

b

a

¿ Se puede deducir z con la información proporcionada ?¿ Cual es la forma de onda en z ?

Page 23: Albert Einstein · Esta presentación es un extracto de la introducción al curso básico de diseño digital con componentes de lógica ... proyecto analizando ... Contador de 4 bits

www.waltergallegos.com © 2010 Walter D. Gallegos derechos reservados INTRO2010:23

Para entrar en tema...

a

b

z

u

b

a

¿ Se puede deducir z con la información proporcionada ?¿ Cual es la forma de onda en z ?

¡ Faltan dat

os !

Page 24: Albert Einstein · Esta presentación es un extracto de la introducción al curso básico de diseño digital con componentes de lógica ... proyecto analizando ... Contador de 4 bits

www.waltergallegos.com © 2010 Walter D. Gallegos derechos reservados INTRO2010:24

walterd.gallegosprogrammable logic & software

Consultoría Diseño Entrenamiento

Plaza Business CenterJuan Benito Blanco 780Montevideo, Uruguay

www.waltergallegos.com