practic 2 vhdl

40
UNIVERSIDAD TECNOLÓGICA DE PUEBLA INGENIERÍA EN TECNOLOGÍAS PARA LA AUTOMATIZACIÓN DISPOSITIVOS DIGITALES PROGRAMABLES RAMIREZ BARRIENTOS MARCO ANTONIO INTEGRANTES ORTIZ ORTIZ ABEL AMARO RIVERA DANIEL SANCHEZ PEREZ CHRISTIAN ALEXIS PRÁCTICA # 2 IMPLEMENTACIONES CON GAL16V8 10° “A” 10/02/2015

Upload: dan-amaro-rivera

Post on 11-Jan-2016

272 views

Category:

Documents


4 download

DESCRIPTION

conocimiemto

TRANSCRIPT

Page 1: Practic 2 VHDL

UNIVERSIDAD TECNOLÓGICA DE PUEBLA

INGENIERÍA EN TECNOLOGÍAS PARA LA AUTOMATIZACIÓN

DISPOSITIVOS DIGITALES PROGRAMABLES

RAMIREZ BARRIENTOS MARCO ANTONIO

INTEGRANTES

ORTIZ ORTIZ ABELAMARO RIVERA DANIEL

SANCHEZ PEREZ CHRISTIAN ALEXIS

PRÁCTICA # 2

IMPLEMENTACIONES CON GAL16V8

10° “A”

10/02/2015

Page 2: Practic 2 VHDL

Objetivo Realizar el control de avance de una banda transportadora utilizando una GAL:

Marco teórico

GALGAL (Generic Array Logic), en español Arreglo Lógico Genérico, son un tipo de circuito integrado, de marca registrada por Lattice Semiconductor, que ha sido diseñados con el propósito de sustituir a la mayoría de las PAL, manteniendo la compatibilidad de sus terminales.

Utiliza una matriz de memoria EEPROM en lugar por lo que se puede programar varias veces.

Como un ejemplo de las características ofrecidas por este tipo de dispositivos, a continuación se enlistan las especificaciones más relevantes del circuito GAL16V8 de marca Lattice Semiconductor.

• fmax = 250 Mhz.

• 3.5 ns máximo tiempo de propagación.

• 2.5 ns máximo tiempo de propagación de la entrada de reloj a el dato de salida.

• Celdas Reprogramables.

• Vcc = 5 Volts ± 5%

• Consumo de corriente 90 mA.

• Rapidez en el borrado <>

Las terminales de la 12 a 19 correspondientes al OLMC (Output

(Output Logic Macrocell) pueden programarse para trabajar como entradas y/o salidas, y en el caso de ser usadas como salidas estas pueden ser combinacionales o registradas (Flip Flops), lo cual le da la versatilidad de ser programado de diferentes formas y para diferentes requerimientos.

Page 3: Practic 2 VHDL

Proceso de acondicionadores de señal en banda trasportadora

La función de estos dispositivos es la de refrendar los cambios eléctricos a una misma escala de corriente o voltaje, además provee aislamiento eléctrico y filtraje de la señal con la finalidad de la señal con el objetivo de proteger el sistema de ruidos originado en el campo.

Lista de materiales:

(DLP) GAL16FV8D Protoboard Resistencias de 1kΩ Led Jumper Fuente de alimentación 6v Programador 866c Pushbutton

Desarrollo de práctica

En esta práctica lo que se realizó el, paro y arranque de un motor por lo tanto se consideran los siguientes aspectos en los cuales:

a) Si el sensor s1 detecta un objeto, el motor M de la banda transportadora gira y lleva el objeto hacia el final de carrera de la banda

b) El motor M se detiene cuando el sensor s2 detecta el objeto.

Page 4: Practic 2 VHDL

Para esta práctica se implementó el siguiente código en VHDL, para esto considerando tomar en cuenta las variables que nos proporcionaron el corrimiento de este programa.

Posteriormente se realizó el circuito de simulación en Proteus para verificar el código de manera que en cuanto esta simulación realizar el circuito físico. En la imagen se se muestra el diagrama y la forma que se conecta la GAL. Ya que este programa realiza el paro t arranque del motor, puesto que tiene el botón de arranque y paro,

Page 5: Practic 2 VHDL

Finalmente se guardó el programa a la GAL y realizar el circuito físico considerando las variables programadas en el (PLD). Se realizó el funcionamiento accionando el botón de parao y arranque del motor. Con esto se verifico el

Page 6: Practic 2 VHDL

funcionamiento correcto de la práctica. En la imagen se muestra el encendido de led que representa el motor.

Page 7: Practic 2 VHDL

Programa # 2 inversión de giro de un motor

Objetivo: Realizar un código en VHDL que pueda realizar el giro de un motor, posteriormente implementarlo en una GALFV8D y realizar la simulación en proteus, así como el circuito físico.

Marco teórico

GALGAL (Generic Array Logic), en español Arreglo Lógico Genérico, son un tipo de circuito integrado, de marca registrada por Lattice Semiconductor, que ha sido diseñados con el propósito de sustituir a la mayoría de las PAL, manteniendo la compatibilidad de sus terminales.

Utiliza una matriz de memoria EEPROM en lugar por lo que se puede programar varias veces.

Como un ejemplo de las características ofrecidas por este tipo de dispositivos, a continuación se enlistan las especificaciones más relevantes del circuito GAL16V8 de marca Lattice Semiconductor.

• fmax = 250 Mhz.

• 3.5 ns máximo tiempo de propagación.

• 2.5 ns máximo tiempo de propagación de la entrada de reloj a el dato de salida.

• Celdas Reprogramables.

• Vcc = 5 Volts ± 5%

• Consumo de corriente 90 mA.

• Rapidez en el borrado <>

Las terminales de la 12 a 19 correspondientes al OLMC (Output

Page 8: Practic 2 VHDL

(Output Logic Macrocell) pueden programarse para trabajar como entradas y/o salidas, y en el caso de ser usadas como salidas estas pueden ser combinacionales o registradas (Flip Flops), lo cual le da la versatilidad de ser programado de diferentes formas y para diferentes requerimientos.

Para invertir el giro del motor habrá que invertir el giro del campo magnético creado por el estator; de esta forma el rotor tenderá a seguirlo y girará en sentido contrario. Para conseguirlo, basta con invertir un par de fases cualesquiera de la línea trifásica de alimentación al motor, lo que en la práctica se realiza con dos contactores de conexión a red.

Material

(DLP) GAL16FV8D Protoboard Resistencias de 1kΩ Led Jumper Fuente de alimentación 6v Programador 866c Pushbutton

De la misma banda anterior realizar un control en donde la banda corre de un lado a otro controlado por los sensores s1 y s2, realice el diagrama de escalera e impleméntelo con la gal. Suponga dos salidas para el cambio de giro del motor.

Desarrollo de práctica

Se realizó el circuito electrónico de esta práctica considerando un botón de arranque y otro de inversión de giro se puedo ver el encendido del led indicando las diferentes funciones.

Page 9: Practic 2 VHDL

Se realizó el código en VHDL posteriormente se obtuvo la simulación en proteus

Page 10: Practic 2 VHDL

Resultados

Los resultados obtenidos fue ver el funcionamiento de este programa realizado en VHDL y así mismo se logró ver físicamente el funcionamiento del circuito físicamente.

Practica # 3. SIMULE E IMPLEMENTE UN SUMADOR COMPLETO UTILIZANDO UNA GAL.

Objetivo: realizar un código en vhdl, asi como simular en proteus el circuito electrónico de dicho código posteriormente realizar el circuito físicamente comprendiendo el concepto de sumador.

Marco Teórico GALGAL (Generic Array Logic), en español Arreglo Lógico Genérico, son un tipo de circuito integrado, de marca registrada por Lattice Semiconductor, que ha sido diseñados con el propósito de sustituir a la mayoría de las PAL, manteniendo la compatibilidad de sus terminales.

Utiliza una matriz de memoria EEPROM en lugar por lo que se puede programar varias veces.

Como un ejemplo de las características ofrecidas por este tipo de dispositivos, a continuación se enlistan las especificaciones más relevantes del circuito GAL16V8 de marca Lattice Semiconductor.

• fmax = 250 Mhz.

• 3.5 ns máximo tiempo de propagación.

• 2.5 ns máximo tiempo de propagación de la entrada de reloj a el dato de salida.

• Celdas Reprogramables.

• Vcc = 5 Volts ± 5%

• Consumo de corriente 90 mA.

• Rapidez en el borrado <>

Las terminales de la 12 a 19 correspondientes al OLMC (Output

Page 11: Practic 2 VHDL

(Output Logic Macrocell) pueden programarse para trabajar como entradas y/o salidas, y en el caso de ser usadas como salidas estas pueden ser combinacionales o registradas (Flip Flops), lo cual le da la versatilidad de ser programado de diferentes formas y para diferentes requerimientos.

Hasta aquí se ha logrado implementar una suma de dos números de un bit, pero en una computadora las sumas de hacen con un número mayor de bits.

Si cada par de sumandos binarios puede producir un bit de acarreo, también debe tener la capacidad de reconocer cuando viene un bit de acarreo del sumador de nivel inferior (digamos cuando en el sistema decimal hay un "llevo" debido a la suma de las unidades y hay que pasarla a las decenas)

Para lograr este propósito se implementa el siguiente circuito con su tabla de verdad

El circuito anterior es un poco complicado de graficar así que se puede reemplazar por una caja negra con tres entradas y dos salidas (ver la tabla de verdad)

Con la anteriormente mencionado se puede implementar un sumador de "n" bits.

Nota: Cin = acarreo entrante, Cout = acarreo saliente

Page 12: Practic 2 VHDL

Material

(DLP) GAL16FV8D Protoboard Resistencias de 1kΩ Led Jumper Fuente de alimentación 6v Programador 866c Simulador proteus Dip switch Pushbutton

Desarrollo de práctica

La practica consistió en desarrolla un programa, en el cual se lograra realizar una suma en código binario, puesta que se comparan dos valores de entradas y en sus salida vemos la comparación del resultado mediante un led que nos da el valor de esa operación y por consiguiente el otro nos indica el acareo que se realiza.

Para esto utilizamos una tabla de verdad que nos indica la entrada de bits y mediante una lógica de compuertas XOR y AND se logró obtener los valores en relación a esta operación y a se pudo realizar con la implementación del circuito físicamente utilizando una GAL16FV8D.

ResultadosLa práctica nos generó algunas investigaciones pero sobre todo, que se logró la comprensión y funcionamiento del sumador y el corrimiento de bits de acarreo.

Page 13: Practic 2 VHDL

4.- Simule en proteus e Implemente los siguientes circuitos con una GAL

Codificador

Objetivo: Realizar un código en VHDL, asi como simular en proteus el circuito electrónico de dicho código posteriormente realizar el circuito físicamente comprendiendo el concepto de un codificador.

Marco teóricoGALGAL (Generic Array Logic), en español Arreglo Lógico Genérico, son un tipo de circuito integrado, de marca registrada por Lattice Semiconductor, que ha sido diseñados con el propósito de sustituir a la mayoría de las PAL, manteniendo la compatibilidad de sus terminales.

Utiliza una matriz de memoria EEPROM en lugar por lo que se puede programar varias veces.

Como un ejemplo de las características ofrecidas por este tipo de dispositivos, a continuación se enlistan las especificaciones más relevantes del circuito GAL16V8 de marca Lattice Semiconductor.

• fmax = 250 Mhz.

• 3.5 ns máximo tiempo de propagación.

• 2.5 ns máximo tiempo de propagación de la entrada de reloj a el dato de salida.

• Celdas Reprogramables.

• Vcc = 5 Volts ± 5%

• Consumo de corriente 90 mA.

• Rapidez en el borrado <>

Las terminales de la 12 a 19 correspondientes al OLMC (Output

(Output Logic Macrocell) pueden programarse para trabajar como entradas y/o salidas, y en el caso de ser usadas como salidas estas

Page 14: Practic 2 VHDL

pueden ser combinacionales o registradas (Flip Flops), lo cual le da la versatilidad de ser programado de diferentes formas y para diferentes requerimientos.

Es un dispositivo que realiza la operación inversa a la realizada por los decodificadores. Generalmente, poseen 2 n entradas y n salidas. Cuando solo una de las entradas está activa para cada combinación de salida, se le denomina codificador completo. Por ejemplo, el siguiente circuito proporciona a la salida la combinación binaria de la entrada que se encuentra activada. En este caso se trata de un codificador completo de 8 bits, o también llamado codificador de 8 a 3 líneas:

Las salidas codificadas, generalmente se usan para controlar un conjunto de 2 n dispositivos, suponiendo claro está que sólo uno de ellos está activo en cualquier momento. Sin embargo cuando nos encontremos con que se deben controlar dispositivos que pueden estar activos al mismo tiempo, problema que se suelen encontrar los sistemas microprocesadores, es preciso usar un dispositivo que nos proporcione a la salida el código del dispositivo que tenga más alta prioridad.

Materia

Page 15: Practic 2 VHDL

(DLP) GAL16FV8D Protoboard Resistencias de 1kΩ Led Jumper Fuente de alimentación 6v Programador 866c Simulador proteus Dip switch Pushbutton

Desarrollo de práctica

El desarrollo de práctica permitió observa la manera en la que funciona un codificador ya que en lo que consistió fue realizar un condigo en VHDL y con este mismo se realizó la simulación en proteus, así como el circuito físico.

Page 16: Practic 2 VHDL

Aquí se muestra la implementación de este circuito que solo activa un bit y los otros en cero de manera secuencial enciende un led mostrando la numeración en código binario.

Resultados

Este circuito fue conocer cómo funciona el corrimiento de la numeración en condigo binario ya que se mostró por medio de led.

Page 17: Practic 2 VHDL

DECODIFICADOR

Objetivo. Realizar un código en VHDL, así como simular en proteus el circuito electrónico de dicho código posteriormente realizar el circuito físicamente comprendiendo el concepto de un decodificador.

Marco teórico

GALGAL (Generic Array Logic), en español Arreglo Lógico Genérico, son un tipo de circuito integrado, de marca registrada por Lattice Semiconductor, que ha sido diseñados con el propósito de sustituir a la mayoría de las PAL, manteniendo la compatibilidad de sus terminales.

Utiliza una matriz de memoria EEPROM en lugar por lo que se puede programar varias veces.

Como un ejemplo de las características ofrecidas por este tipo de dispositivos, a continuación se enlistan las especificaciones más relevantes del circuito GAL16V8 de marca Lattice Semiconductor.

• fmax = 250 Mhz.

• 3.5 ns máximo tiempo de propagación.

• 2.5 ns máximo tiempo de propagación de la entrada de reloj a el dato de salida.

• Celdas Reprogramables.

• Vcc = 5 Volts ± 5%

• Consumo de corriente 90 mA.

• Rapidez en el borrado <>

Las terminales de la 12 a 19 correspondientes al OLMC (Output

(Output Logic Macrocell) pueden programarse para trabajar como entradas y/o salidas, y en el caso de ser usadas como salidas estas pueden ser combinacionales o registradas (Flip Flops), lo cual le da

Page 18: Practic 2 VHDL

la versatilidad de ser programado de diferentes formas y para diferentes requerimientos.

En un sistema digital, como puede ser nuestro PC, se pueden transmitir tanto instrucciones como números mediante niveles binarios o trenes de impulsos. Si, por ejemplo, los cuatro bits de un mensaje se disponen para transmitir órdenes, se pueden lograr 16 instrucciones diferentes, esto es lo que denominábamos, información codificada en sistema binario. Otras veces nos interesa que un conmutador de varias posiciones pueda funcionar de acuerdo con este código, es decir, para cada uno de los dieciséis códigos debe ser excitada una sola línea. A este proceso de identificación de un código particular se le denomina decodificación.

Decodificador básico de dos entradas y cuatro salidas construidas a partir de compuertas NAND

Dicho de otra manera, un decodificador realiza la función opuesta a la de codificar, es decir, convierte un código binario de varias entradas en salidas exclusivas. Podemos distinguir dos tipos básicos de decodificadores: los excitadores y los no excitadores. En el primero de los casos tenemos, por ejemplo, aquellos cuya misión es convertir el código BCD de sus entradas al formato de salida necesario para excitar un visualizador numérico o alfanumérico

Material

(DLP) GAL16FV8D Protoboard Resistencias de 1kΩ Led

Page 19: Practic 2 VHDL

Jumper Fuente de alimentación 6v Programador 866c Simulador proteus Dip switch Pushbutton

Desarrollo de práctica

Esta práctica realiza la operación inversa al codificador puesto que solo hay dos bit de entrado ya que al ir accionándolos en estados de código binario de cero a tres. Se activaran los valores de salida mostrando mostrando solo un valor en estado positivo y los demás en estado cero.

Resultados

La selección de los dos bits de entrada que se acciona en código binario del cero al tres no di como resultado, solo un estado de los cuatro de salida ya que para cada entrada de valor solo se corres el estado del led de salida accionando un estado en forma positiva y los otros en cero.

Page 20: Practic 2 VHDL

MULTIPLEXOR

Objetivo. Realizar un código en VHDL, así como simular en proteus el circuito electrónico de dicho código posteriormente realizar el circuito físicamente comprendiendo el concepto de un multiplexor.

Marco teórico

GALGAL (Generic Array Logic), en español Arreglo Lógico Genérico, son un tipo de circuito integrado, de marca registrada por Lattice Semiconductor, que ha sido diseñados con el propósito de sustituir a la mayoría de las PAL, manteniendo la compatibilidad de sus terminales.

Utiliza una matriz de memoria EEPROM en lugar por lo que se puede programar varias veces.

Como un ejemplo de las características ofrecidas por este tipo de dispositivos, a continuación se enlistan las especificaciones más relevantes del circuito GAL16V8 de marca Lattice Semiconductor.

• fmax = 250 Mhz.

• 3.5 ns máximo tiempo de propagación.

• 2.5 ns máximo tiempo de propagación de la entrada de reloj a el dato de salida.

• Celdas Reprogramables.

• Vcc = 5 Volts ± 5%

• Consumo de corriente 90 mA.

• Rapidez en el borrado <>

Las terminales de la 12 a 19 correspondientes al OLMC (Output

(Output Logic Macrocell) pueden programarse para trabajar como entradas y/o salidas, y en el caso de ser usadas como salidas estas

Page 21: Practic 2 VHDL

pueden ser combinacionales o registradas (Flip Flops), lo cual le da la versatilidad de ser programado de diferentes formas y para diferentes requerimientos.

Los multiplexores son circuitos combinacionales que tienen varias entradas, una sola salida y varias líneas de selección. Su funcionamiento podría asemejarse a un conmutador de varias posiciones que simularían las entradas y el terminal común, la salida; la conmutación se realizaría por medio de la línea de selección, de tal modo que las señales presentes en las entradas aparecerán en la salida en el orden indicado por la línea de selección; es decir, un multiplexor permite el envío por una sola línea de los datos presentes en varias líneas.

Diseño de un multiplexor El primer ejercicio consistirá en crear el diseño de un multiplexor de dos entradas de datos de un bit. Por tanto, este multiplexor tendrá una señal de selección (un bit).

Si S='1', por la salida Z tendremos A Si S='0',

Si S='1', por la salida Z tendremos A Si S='0',

Esquema del multiplexor (izquierda) y diseño en puertas (derecha)

Diseño usando puertas lógicas Si recordamos del año pasado, un multiplexor en puertas lógicas se describe como se muestra en la derecha de la figura 3.4. Así que creamos un nuevo proyecto llamado gate.mux (recuerda ponerlo en: C:\practicas\ed2\tunombre). Crea un nuevo módulo VHDL llamado también GATE_MUX con los puertos llamados igual que los de la figura 3.4. La arquitectura, en vez de llamarla BEHAVIORAL llámala GATE, para indicar que está en el nivel de puertas

Material

(DLP) GAL16FV8D

Page 22: Practic 2 VHDL

Protoboard Resistencias de 1kΩ Led Jumper Fuente de alimentación 6v Programador 866c Simulador proteus Dip switch Push Button

Desarrollo de práctica

Esta práctica nos permite tener bits de entrada y bits de selección que nos permiten activa el estado que se desea. Para esta práctica se realizó el uso de una Gal 16fv8d con la que se implementó el circuito presentado a continuación.

Ya que se realizó el código en VHDL y en proteus para ver la simulación de cómo funciona el circuito, posteriormente se realizó el circuito físico en que se logró ver cómo funciona dicho programa.

Resultados

Los multiplexores son circuitos combinacionales con varias entradas y una única salida de datos, están dotados de entradas de control capaces de seleccionar una, y sólo una, de las

Page 23: Practic 2 VHDL

entradas de datos para permitir su transmisión desde la entrada seleccionada hacia dicha salida.

DEMULTIPLEXOR

Objetivo. Realizar un código en VHDL, así como simular en proteus el circuito electrónico de dicho código posteriormente realizar el circuito físicamente comprendiendo el concepto de un demultiplexor.

Marco teórico

GALGAL (Generic Array Logic), en español Arreglo Lógico Genérico, son un tipo de circuito integrado, de marca registrada por Lattice Semiconductor, que ha sido diseñados con el propósito de sustituir a la mayoría de las PAL, manteniendo la compatibilidad de sus terminales.

Utiliza una matriz de memoria EEPROM en lugar por lo que se puede programar varias veces.

Como un ejemplo de las características ofrecidas por este tipo de dispositivos, a continuación se enlistan las especificaciones más relevantes del circuito GAL16V8 de marca Lattice Semiconductor.

• fmax = 250 Mhz.

• 3.5 ns máximo tiempo de propagación.

• 2.5 ns máximo tiempo de propagación de la entrada de reloj a el dato de salida.

• Celdas Reprogramables.

• Vcc = 5 Volts ± 5%

• Consumo de corriente 90 mA.

• Rapidez en el borrado <>

Las terminales de la 12 a 19 correspondientes al OLMC (Output

Page 24: Practic 2 VHDL

(Output Logic Macrocell) pueden programarse para trabajar como entradas y/o salidas, y en el caso de ser usadas como salidas estas pueden ser combinacionales o registradas (Flip Flops), lo cual le da la versatilidad de ser programado de diferentes formas y para diferentes requerimientos.

En electrónica digital, un demultiplexor es un circuito combinacional que tiene una entrada de información de datos d y n entradas de control que sirven para seleccionar una de las 2n salidas, por la que ha de salir el dato que presente en la entrada. Esto se consigue aplicando a las entradas de control la combinación binaria correspondiente a la salida que se desea seleccionar. Por ejemplo, si queremos que la información que tenemos en la entrada d, salga por la salida S4, en la entrada de control se ha de poner, de acuerdo con el peso de la misma, el valor 100, que es el 4 en binario.En el campo de las telecomunicaciones el demultiplexor es un dispositivo que puede recibir a través de un medio de transmisión compartido una señal compleja multiplexada y separar las distintas señales integrantes de la misma encaminándolas a las salidas correspondientes.La señal compleja puede ser tanto analógica como digital y estar multiplexada en cualquiera de las distintas formas posibles para cada una de ellas.

Diagrama lógico de un demultiplexor 1 a 4.

Page 25: Practic 2 VHDL

El demultiplexor, es un circuito combinacional que aunque la función básica es la que hemos explicado, puede utilizarse en muchos casos como decodificador y adopta cualquiera de las funciones que un decodificador realiza.

Material

(DLP) GAL16FV8D Protoboard Resistencias de 1kΩ Led Jumper Fuente de alimentación 6v Programador 866c Simulador proteus Dip switch Pushbutton

Desarrollo de práctica

Con esta práctica se pretende selecciona en que posición se quiere ver el valor de salida ya que accionando nuestro bit de entrada en binario

Page 26: Practic 2 VHDL

Procedimientos

Se realizó el código en VHDL y también la simulación en proteus en donde se simula el funcionamiento de este circuito, en donde el procedimiento de datos es compartido y de selección.

Resultado

La práctica tanto física como simulada cumplió las expectativas de funcionalidad, y se logró la comprensión de corrimientos de bits, ya que se indicó por medio de un circuito físico el la función de bits por medio de led.

Page 27: Practic 2 VHDL

5.- Simular en proteus y armar el circuito decodificador de dos entradas y 7 salidas que desplegué las letras “HOLA” mediante un display de 7 segmentos y una GAL

Objetivo: Realizar un código en VHDL, así como simular en proteus el circuito electrónico de dicho código posteriormente realizar el circuito físicamente comprendiendo el concepto de un de un codificador en donde se escriba hola.

Marco teórico

GALGAL (Generic Array Logic), en español Arreglo Lógico Genérico, son un tipo de circuito integrado, de marca registrada por Lattice Semiconductor, que ha sido diseñados con el propósito de sustituir a la mayoría de las PAL, manteniendo la compatibilidad de sus terminales.

Utiliza una matriz de memoria EEPROM en lugar por lo que se puede programar varias veces.

Como un ejemplo de las características ofrecidas por este tipo de dispositivos, a continuación se enlistan las especificaciones más relevantes del circuito GAL16V8 de marca Lattice Semiconductor.

• fmax = 250 Mhz.

• 3.5 ns máximo tiempo de propagación.

• 2.5 ns máximo tiempo de propagación de la entrada de reloj a el dato de salida.

• Celdas Reprogramables.

• Vcc = 5 Volts ± 5%

• Consumo de corriente 90 mA.

• Rapidez en el borrado <>

Las terminales de la 12 a 19 correspondientes al OLMC (Output

(Output Logic Macrocell) pueden programarse para trabajar como entradas y/o salidas, y en el caso de ser usadas como salidas estas

Page 28: Practic 2 VHDL

pueden ser combinacionales o registradas (Flip Flops), lo cual le da la versatilidad de ser programado de diferentes formas y para diferentes requerimientos.

En un sistema digital, como puede ser nuestro PC, se pueden transmitir tanto instrucciones como números mediante niveles binarios o trenes de impulsos. Si, por ejemplo, los cuatro bits de un mensaje se disponen para transmitir órdenes, se pueden lograr 16 instrucciones diferentes, esto es lo que denominábamos, información codificada en sistema binario. Otras veces nos interesa que un conmutador de varias posiciones pueda funcionar de acuerdo con este código, es decir, para cada uno de los dieciséis códigos debe ser excitada una sola línea. A este proceso de identificación de un código particular se le denomina decodificación.

Dicho de otra manera, un decodificador realiza la función opuesta a la de codificar, es decir, convierte un código binario de varias entradas en salidas exclusivas. Podemos distinguir dos tipos básicos de decodificadores: los excitadores y los no

Page 29: Practic 2 VHDL

excitadores. En el primero de los casos tenemos, por ejemplo, aquellos cuya misión es convertir el código BCD de sus entradas al formato de salida necesario para excitar un visualizador numérico o alfanumérico.

Material

(DLP) GAL16FV8D Protoboard Resistencias de 1kΩ Led Jumper Fuente de alimentación 6v Programador 866c Simulador proteus Dip switch Pushbutton Display de 7 segmento cátodo

Desarrollo

Esta práctica realiza la operación inversa al codificador puesto que solo hay dos bit de entrado ya que al ir accionándolos en estados de código, en primera posición nos se establece el código binario de 0,1,2,3. Se activaran los valores de salida mostrando H,O,L,A solo un valor en estado positivo y los demás en estado cero.

Procedimiento

Page 30: Practic 2 VHDL

Se realizó el código en VHDL, posteriormente se hizo la simulación en proteus y se realizó el circuito físico en el cual se logró ver como se podía escribir hola

Resultados

Se logró entregar la práctica en tiempo y con esto, el principio de como de coo realizar un mensaje por medio de un codificador.

6.- Display BCD

Objetivo: Realizar un código en VHDL, así como simular en proteus el circuito electrónico de dicho código posteriormente realizar el circuito físicamente comprendiendo el concepto de un de un codificador en donde se pueda escribir del 0 al 9.

Marco teórico

GALGAL (Generic Array Logic), en español Arreglo Lógico Genérico, son un tipo de circuito integrado, de marca registrada por Lattice Semiconductor, que ha sido diseñados con el propósito de sustituir a la mayoría de las PAL, manteniendo la compatibilidad de sus terminales.

Utiliza una matriz de memoria EEPROM en lugar por lo que se puede programar varias veces.

Como un ejemplo de las características ofrecidas por este tipo de dispositivos, a continuación se enlistan las especificaciones más relevantes del circuito GAL16V8 de marca Lattice Semiconductor.

• fmax = 250 Mhz.

• 3.5 ns máximo tiempo de propagación.

• 2.5 ns máximo tiempo de propagación de la entrada de reloj a el dato de salida.

• Celdas Reprogramables.

• Vcc = 5 Volts ± 5%

• Consumo de corriente 90 mA.

Page 31: Practic 2 VHDL

• Rapidez en el borrado <>

Las terminales de la 12 a 19 correspondientes al OLMC (Output

(Output Logic Macrocell) pueden programarse para trabajar como entradas y/o salidas, y en el caso de ser usadas como salidas estas pueden ser combinacionales o registradas (Flip Flops), lo cual le da la versatilidad de ser programado de diferentes formas y para diferentes requerimientos.

Material

(DLP) GAL16FV8D Protoboard Resistencias de 1kΩ Led Jumper Fuente de alimentación 6v Programador 866c Simulador proteus Dip switch Pushbutton Display de 7 segmentos catodo

Desarrollo de práctica

Para entender el segundo de los tipos veamos algunos ejemplos de ellos. Tomemos un decodificador de dos entradas. Este hará corresponder, a cada una de las cuatro palabras posibles de formar con las dos entradas, una de las salidas. Para la salida Y0, será 1 cuando los bits de entrada A y B son 0. Luego, la

Page 32: Practic 2 VHDL

expresión booleana que le corresponde es: Y0 = /A * /B. El mismo razonamiento se puede repetir para el resto de salidas.

Representamos la tabla de verdad correspondiente solamente a los diez dígitos decimales, teniendo en cuenta que la entrada de inhibición o "strobe" siempre se encuentra a 1:

EntradasABCD

a b c d e f g SIGNO

0000 1 1 1 1 1 1 0 0

1000 0 1 1 0 0 0 0 1

0100 1 1 0 1 1 0 1 2

1100 1 1 1 1 0 0 1 3

0010 0 1 1 0 0 1 1 4

1010 1 0 1 1 0 1 1 5

0110 0 0 1 1 1 1 1 6

1110 1 1 1 0 0 0 0 7

0001 1 1 1 1 1 1 1 8

1001 1 1 1 0 0 1 1 9

Se presenta la simulación en proteus, y el código en VHDL , así como el circuito físico.

Page 33: Practic 2 VHDL

Resultados

A partir de esta tabla se pueden obtener todas las expresiones booleanas para la construcción de cada una de las salidas del código de 7 segmentos.

La representación visual de los diez dígitos decimales se suele realizar a través del denominado código de visualización de siete segmentos