lógica programable - ahdl - catedra.ing.unlp.edu.arcatedra.ing.unlp.edu.ar/electrotecnia/islyd/tema...

78
L L ó ó gica Programable gica Programable - - AHDL AHDL - - Introducci Introducci ó ó n a los Sistemas n a los Sistemas L L ó ó gicos y Digitales gicos y Digitales 2008 2008 Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

Upload: phungthuan

Post on 29-Sep-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

LLóógica Programablegica Programable

-- AHDL AHDL --

IntroducciIntroduccióón a los Sistemas n a los Sistemas LLóógicos y Digitalesgicos y Digitales

20082008

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

HDL- Hardware Description Language -

( Lenguaje de Descripción de Hardware)

AHDL

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

Qué es HDL?Es una herramienta formal para describir la estructura y comportamiento de sistemas usando un lenguaje del tipo textual.

Cuáles son sus características?- Posibilita dividir un proyecto en una estructura jerárquica permitiendo

combinar diferentes tipos de descripciones para diseñar los componentesde un sistema.

- Puede modelizar la respuesta temporal de sistemas electrónicos.

Cómo se lo puede utilizar?- Como herramienta de diseño: Posibilita la creación de componentes

parametrizados.Permite un diseño portable con independencia de la tecnología.

- Como herramienta de especificación: Se puede especificar un sistema ocualquiera de sus componentes.

- Como herramienta de simulación: Capacidad de generar tests complejos.Disponibilidad de modelos suministrados por fabricantes.

AHDL

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

Tipos de HDL:

Bajo nivel: ABEL, PALASM, CUPL, etc..

Nivel medio: AHDL.

Nivel alto: VHDL, Verilog.

AHDL

Cuanto mas alto es el nivel de abstracción, en forma mas simplese puede especificar un diseño para generar lógica compleja.Sin embargo, es útil el conocimiento de las estructuras de hardware a utilizar ya que a veces la síntesis se realiza de modotal que el diseñador pierde la visión de cómo el compilador implementa lo especificado, con el riesgo de un uso quizás no muy eficiente del hardware que puede hasta comprometer laperformance de velocidad, consumo de potencia, etc..

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDL:

Lenguaje de descripción de hardware propietario de Altera.Tiene característica de HDL que le permiten ser eficiente paradesarrollos de baja a media complejidad.

Es un paso intermedio entre los lenguajes de bajo a alto nivelde abstracción ó complejidad.

Utiliza el modelo “behavioral” (de comportamiento) para describirla lógica que se desea implementar.

AHDL

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDL

EJEMPLO: compuertas01.tdf

El archivo de trabajo se ha denominado “compuertas01.tdf”.

Las declaraciones de entradas y salidas del circuito a implementar se hacen aquí

Esta es la parte dondese hace la especificaciónde la lógica que se quiere

IMPLEMENTACIÓN DE ALGEBRA DE BOOLE

“&” ≡ AND“#” ≡ OR“!” ≡ NOT“$” ≡ OR-EXCL.

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: compuertas01.tdf

Icono del compilador

Luego de salvar el proyecto se debe compilar, operación que realiza elsoftware para sintetizar la lógica en base a lo especificado.La compilación puede ser:Funcional: No se consideran los retardos.Temporizada: Se consideran los retardos internos generados.

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: compuertas01.tdf

Resultado de la compilación

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: compuertas01.tdf

Listado parcial del archivo de reporte (extensión “rpt”)

En este archivo se refleja toda la información que dá el compilador como:Pines empleados. Recursos utilizados y remanentes.Etc..

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: compuertas01.tdf

Listado parcial del archivo de reporte (extensión “rpt”)

Disposición de las variablessintetizadas.

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: compuertas01.tdf

Listado parcial del archivo de reporte (extensión “rpt”)

Información generalde recursos empleados.

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: compuertas01.tdf

Listado parcial del archivo de reporte (extensión “rpt”)

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: compuertas01.tdf

Gráfico de ventana para simulación del hardware sintetizado

El archivo tiene extensión “scf”

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: compuertas01.tdf

Método para ingresar las variables del circuito (entradas, salidasy eventualmente señales internas)

Gráfico de ventana para simulación del hardware sintetizado

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: compuertas01.tdf

Presionando “LIST” aparecen a la izquierda todas las variablesposibles de ingresar.

Gráfico de ventana para simulación del hardware sintetizado

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: compuertas01.tdf

Dando “OK” se ingresan y aparecerán luego en el gráfico.

Gráfico de ventana para simulación del hardware sintetizado

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: compuertas01.tdf

El gráfico es un conjunto de diagramas temporales para realizar lasimulación. Por lo tanto se deben especificar temporalmente los valores que tomaran las entradas en todo el tiempo de simulación.Luego se corre el programa asociado y se ven los resultados.

Gráfico de ventana para simulación del hardware sintetizado

señales de entrada

señales de salida

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: compuertas01.tdf

Gráfico de ventana para simulación del hardware sintetizado

Zoom (+)Zoom (-)

Asignación de:“1”

ó “0”ó “Z”

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: compuertas01.tdf

Gráfico de ventana para simulación del hardware sintetizado

Se marca la variable deentrada a la cual se lequiere dibujar eldiagrama de tiempos

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: compuertas01.tdf

Gráfico de ventana para simulación del hardware sintetizado

Se marca por ejemplola zona donde se quiereque “a” valga “1”.

Para que se efectivice,se debe presionar el iconocorrespondiente.

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: compuertas01.tdf

Gráfico de ventana para simulación del hardware sintetizado

Se puede observar con detalle empleando el zoom, las marcaciones de las variables para dibujar con precisión la evolución de las mismas.

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: compuertas01.tdf

Gráfico de ventana para simulación del hardware sintetizado

Icono del simulador

Terminada la etapa de dibujar las variables de entrada, se procede acorrer la simulación.

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: compuertas01.tdf

Gráfico de ventana para simulación del hardware sintetizado

Al inicio, el simulador presenta una ventana como esta donde indicalos tiempos de inicio y de fin.

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: compuertas01.tdf

Gráfico de ventana para simulación del hardware sintetizado

Si todo está correcto debe aparecer una ventana como esta.

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: compuertas01.tdf

Gráfico de ventana para simulación del hardware sintetizado

Aquí se puede observar los diagramas de las funciones:Or-Exclusiva, OR, Nor-Exclusiva, NOR, NAND y AND respectivamente.Los retardos son los propios del dispositivo seleccionado.

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDL

EJEMPLO: deco01.tdf

El diseño del decodificador se basa en una ecuación deequivalencia; cuando es cierta “chip_hab” vale “1”.

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDL

EJEMPLO: deco02.tdf

El diseño del decodificador se basa en una ecuación deequivalencia; cuando es cierta “chip_hab” vale “1”.La diferencia con lo anterior es que se usó una sentencia “CONSTANT” para definir el número de comparación.

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: deco03.tdf

El diseño del decodificador se basa en una tabla de asignaciónde valores. Nótese la posibilidad de emplear “dont´care”.

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: deco04.tdf

Decodificador BCD a 7 segmentos

Con el empleo de la función TABLE es posible realizar una innumerable cantidad de decodificadores.

En este caso la entrada es un dígito en BCD y las salidas alimentan a un display de 7 segmentos.

Es importante aclarar que algunosdispositivos lógicos programablesNO TIENEN capacidad de corrientesuficiente para manejar directamente a diodos emisores de luz (LED) por lo que se deben anteponer circuitos adicionales (por ejemplo el ULN2803).

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: deco04.tdf

“0” = todos los segmentos en “1” excepto el “g”

“8” = todos los segmentos en “1”

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: deco05.tdf

Uso de sentencia CASE

Cuando hay opciones que no se cubrense puede usar la cláusura:“WHEN OTHERS”

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: encoder01.tdf

Uso de sentencia IF

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLDiferencias importantes entre sentencias CASE y sentencias IF

Cualquier tipo de expresión Booleana puede ser usada dentro deuna sentencia IF Then.En cambio en CASE una expresión simple Booleana es comparadapor una constante en cada cláusura WHEN.

Usando la cláusura ELSEIF se puede generar lógica muy complicada(innecesaria) debido a que cada ELSEIF debe ser chequeada si la anterior IF/ELSEIF ha sido Falsa.

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: bidir01.tdf

QDFF

D

reloj

oein_out

TRI

Posible síntesis del compilador

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: reg01.tdf

Este registro de 8 bits está formadopor 8 FFs tipo “D” DFFE sincrónicos disparados por flanco ascendentey con entrada de habilitación.

Estos DFFE forman parte de la libreríainterna “primitiva” del MAX-Plus II.

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: reg02.tdf

Este ejemplo sintetiza exactamente lo mismo que “reg01.tdf”.La gran diferencia es que se utiliza la librería de componentes parametrizados ( en este caso un FF tipo “D”).

Un componente parametrizadoes genérico y se lo configurasegún las necesidades.Por ejemplo con LPM_WIDTHse le indica la longitud depalabra (en este caso elcompilador generará 8 FFs).

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: contador01.tdf

En este diseño se sintetiza uncontador basado en un conjuntode 16 FF´s tipo “D” DFF.

Con el uso de sentencia IF se sintetiza el contador con entradasde carga y habilitación además degenerar la secuencia de conteoascendente binaria usando lasentencia: “cuenta[].q + 1”

Este es un ejemplo donde se puedeapreciar la “potencia” del HDLpara sintetizar lógica.

Cómo hacemos para implementar un contador regresivo…????

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: contador01.tdf

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: contador02.tdf

Con el empleo de la librería de componentes parametrizados (en este caso un contador) seimplementa un contador binario progresivo-regresivo con reset y habilitación.Comparado con el ejemplo anterior, se puede observar la simplicidad del código para la implementación.

Contador binario de 4 bitssincrónico disparado porflanco ascendente y conentradas de habilitaciónde reloj, reset y sentidode conteo (progresivo óregresivo)

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: contador02.tdf

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: contador03.tdf

Contador BCD de un dígito sincrónico disparado por flanco ascendente y con entradas de habilitación de reloj, reset y sentido de conteo (progresivo ó regresivo)

Aquí se especifica que el contador sea BCD

En el ejercicio anteriorera LPM_MODULUS=16para binario

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDL

Las mismas excitaciones al contador nos dá la respuesta de uno deltipo BCD.

EJEMPLO: contador03.tdf

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: contador04.tdf

Este ejemplo muestracomo se puede realizaruna cascada sincrónicade contadores binariosde 12 bits en total

Se emplea la entradade habilitación paraque: contador1 sólo cuente cuando el contador0 llegue a “15”.contador2 lo mismopero cuando los dosanteriores lleguen a esemismo valor.Idem con contador3 quedebe cambiar sólocuando los 3 anterioreslleguen a “15” (desborde)

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: contador04.tdf

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: contador05.tdf

Lo mismo que antesexcepto que es unacascada de contadores BCD.

Aquí el desborde es luego de llegar a “9”.

El mismo resultado sellega si en el archivoanterior sólo se cambia“15” por el “9” en lassentencias de habilitaciónde los contadores.

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: contador05.tdf

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: contador06.tdf

Este es un ejemplo deun divisor de frecuenciasincrónico que tiene unaentrada de 8 MHz ysale una señal de 1 KHz(divide x 8.000).

Observar que los 3primeros contadores sonBCD por lo que ya setiene una división x1000.El último contador esbinario de 3 bits y lasalida se obtiene deQ2 donde la señal esla 8va parte del conteoque ese contador hace.En total divide x 8000.

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: contador06.tdf

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: contador07.tdf

En este ejemplo sediseña un generador debase de tiempos BT de 1 seg de tiempo en alto y 1mseg de tiempo en bajo.

La señal de entrada es unreloj de 1mseg de período.

Un contador “cuenta” y unFFD “salida” componen elgenerador de BT.

Con la ayuda de cláusuraIF se puede implementarun circuito que genere unaseñal asimétrica entiempo.

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: contador07.tdf

QDFF

D

CLK

Vcc

GNDcuenta

salidasalida_1seg

reloj_1KHz borrar

reset

Esquematización de la posible síntesis que realiza el compilador

La salida del BT es la del FFD “cuenta”. El contador cuenta desde “0”hasta que llega a “1000” conteos manteniendo la señal interna “borrar”en “GND”. En esas condiciones el FFD siempre copia un “1” y salida_1segsigue en “1”.Cuando “cuenta” alcanza el conteo “1000”, por un lado se resetea y por elotro carga a FFD con “0”. Esto dura un ciclo de reloj de 1mseg.De esta manera “salida_1seg” quedará en “0” 1mseg y volverá a repetirsetodo en los siguientes 1000 ciclos de reloj_1KHz.

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: contador07.tdf

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: contador08.tdf

Este ejemplo es un divisor de frecuenciaprogramable que emplea un contadorsincrónico de 4 bits y un MUX 4:1.Ambos son componentes parametrizados.

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: mux03.tdf

En nuestro ejemplo debemos sintetizar un MUX 4:1 con bus de 1 bit.

�LPM_SIZE=4 (4 buses de entrada) �LPM_WIDTH=1 (cada bus de 1 bit de ancho)�LPM_WITHS=2 (2 líneas de selección)

En este gráfico se dá un ejemplo de un MUX 8:1 que maneja 8 buses de 24 bits cada uno.

LPM_WIDTHS=CEIL(LOG2(LPM_SIZE) es una sentencia que calcula lacantidad de líneas de selección del MUX con el dato de LPM_SIZE

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: mux03.tdf

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: alu01.tdf

Unidad Aritmético-Lógica de 4 bits

Declaraciones

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: alu01.tdf

Parte aritmética

La ALU tiene dos relojes:uno para cargar los datos A y B y el otroque maneja al sumador parametrizado.La parte aritmética realiza la operación “A + B” si suma_resta = 0 ó “A – B” en complemento a 2 (si suma_resta = 1).

El diseño se basa en un sumadorparametrizado para la síntesis dela parte aritmética.

Para la parte de lógica binaria seemplean directamente una sentenciatipo CASE con los operadores lógicosnormales.

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: alu01.tdf

Parte de lógica binaria

El diseño queda definido a la salida con un MUX que selecciona si la salida de la ALU presenta el resultado de la parte aritmética ó lógica.El MUX es inferido ya que la cláusura utilizada es del tipo “IF ELSE”

Dependiendo de la entrada“sel_logica” se pueden realizar8 funciones lógicas diferentes:AND, NAND, OR, NOR,OR-EXCL, NOR-EXCL,negación de A ó negación de B

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: alu01.tdf

Simulación completa

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: alu01.tdf

Porción de la simulación del circuito aritmético

Se suma primero 5 + 3 y luego se realiza 5 - 3

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: alu01.tdf

Porción de la simulación de las funciones lógicas

Se realizan en forma consecutiva todas las operaciones lógicas

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLDISEÑO CON MÁQUINAS

DE ESTADOS

EJEMPLO: moore01.tdf

Detector de secuencia

"1000" sin solapamiento

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLDISEÑO CON MÁQUINAS

DE ESTADOS

EJEMPLO: moore01.tdf

Detector de secuencia

"1000" sin solapamiento

Resultado de la simulación

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLEJEMPLO: moore02.tdf

Diseño de contador binario

progresivo-regresivo de 2 bits

DISEÑO CON MÁQUINAS DE ESTADOS

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLDISEÑO CON MÁQUINAS

DE ESTADOS

EJEMPLO: moore02.tdf

Resultado de la simulación

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLDISEÑO CON MÁQUINAS DE ESTADOS

EJEMPLO: moore03.tdf

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLDISEÑO CON MÁQUINAS DE ESTADOS

EJEMPLO: moore03.tdf

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLDISEÑO CON MÁQUINAS DE ESTADOS

EJEMPLO: moore04.tdf

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLDISEÑO CON MÁQUINAS DE ESTADOS

EJEMPLO: moore04.tdf

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLDISEÑO CON MÁQUINAS DE ESTADOS

Diseño de un contador

de dos dígitos BCD con

salida a display

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLDISEÑO CON MÁQUINAS DE ESTADOS

Diseño de un contador

de dos dígitos BCD con

salida a display

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLDISEÑO CON MÁQUINAS DE ESTADOS

Diseño de un contador

de dos dígitos BCD con

salida a display

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLDISEÑO CON MÁQUINAS DE ESTADOS

Diseño de un contador

de dos dígitos BCD con

salida a display

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLDISEÑO CON MÁQUINAS DE ESTADOS

Diseño de un contador

de dos dígitos BCD con

salida a display

Qué es lo que se puede mejoraren el diseño del prescaler???

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLDISEÑO CON MÁQUINAS DE ESTADOS

Diseño de un contador

de dos dígitos BCD con

salida a display

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLDISEÑO CON MÁQUINAS DE ESTADOS

Diseño de un contador

de dos dígitos BCD con

salida a display

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLDISEÑO CON MÁQUINAS DE ESTADOS

Diseño de un contador

de dos dígitos BCD con

salida a display

“b” no debería cambiar entre “0” y “1”Hacemos un zoom para investigar……..

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLDISEÑO CON MÁQUINAS DE ESTADOS

Diseño de un contador

de dos dígitos BCD con

salida a display

GLITCH en la salida “b”

LLóógica Programablegica Programable

Sergio Noriega – Introducción a los Sistemas Lógicos y Digitales - 2008

AHDLBibliografía:Apuntes de teoría:• Trabajo Final “Introducción a los Dispositivos FPGA: Análisis y Ejemplos

de Diseño ”. Autor: Eduardo Bozich. Año 2005.

Libros:• “Sistemas Digitales”. R. Tocci, N. Widmer, G. Moss. Ed. Prentice Hall.• “Diseño Digital”. M. Morris Mano. Ed. Prentice Hall. 3ra edición. • “Digital Design:Principles & Practices”. John Wakerly. Ed. Prentice Hall.• “Fundamentos de Diseño Lógico y Computadoras”. M. Mano, C. Kime.

Ed. Prentice Hall.• “Notas de aplicación varias sobre AHDL de Altera en www.altera.com”.