Guia-4-SDI115

Loading.... (view fulltext now)

Loading....

Loading....

Loading....

Loading....

Texto completo

(1)

Universidad de El Salvador

Universidad de El Salvador

Facultad de Ingeniería y

Facultad de Ingeniería y

Arquitectura

Arquitectura

Guía 3:Guía 3: ““Reloj Digital enReloj Digital en

VHDL

VHDL””

Fra

Francnciscisco o ErnErnesesto to CruCruz z JuJuáreárez z SasSasi i LizLizet et RamRamíreírez z MolMolinaina

RESUMEN:

RESUMEN: Con el desarrollo de la presente guíaCon el desarrollo de la presente guía  prete

 pretende nde resuresummiirse rse todo todo llo o aprenaprendidido do sobre sobre llaa  prog

 programramaciación ón en en VHVHDLDL. . Se Se emplea emplea el el lenguajelenguaje VHDL junto con la herramienta de simulación VHDL junto con la herramienta de simulación gráfica TINA para el desarrollo de un proyecto que gráfica TINA para el desarrollo de un proyecto que abarca los conocimientos adquiridos durante la abarca los conocimientos adquiridos durante la asignatura. Ahora que se conocen los diferentes tipos asignatura. Ahora que se conocen los diferentes tipos de flip-flops y como crear contadores UP/DOWN, a de flip-flops y como crear contadores UP/DOWN, a través

través de éstosde éstos, pode, podemmos utios utilliizarlos pazarlos para dira diseñar señar unun Reloj Digital.

Reloj Digital. En este

En este mmomentomento se o se supone que esupone que el esl estuditudiante domiante domina na llaa simulación en TINA, la programación en VHDL y el simulación en TINA, la programación en VHDL y el funcionamiento de los flip-flops. Hay una infinidad de funcionamiento de los flip-flops. Hay una infinidad de formas de diseñar flip-flops en VHDL, de hecho hay formas de diseñar flip-flops en VHDL, de hecho hay librerías como las de ALTERA, que permite usarlos librerías como las de ALTERA, que permite usarlos como un componente. En esta ocasión se pretende como un componente. En esta ocasión se pretende diseñarlos.

diseñarlos.

Se incluirá en la guía el diseño de dispositivos MSI Se incluirá en la guía el diseño de dispositivos MSI como lo son los multiplexores, para el diseño de como lo son los multiplexores, para el diseño de contadores.

contadores.

INTRODUCCIÓN:

INTRODUCCIÓN: A manera de ejemplo se mostraráA manera de ejemplo se mostrará el diseño sencillo de los flip-flops

el diseño sencillo de los flip-flops““DD””,,““TT”” yy ““JK JK ””, si se, si se

desea otro tipo, la metodología de diseño es similar, desea otro tipo, la metodología de diseño es similar, además

además se se iintroduce ntroduce ununa a mmejor ejor técnitécnica ca para para elel desarrollo de la asignación, el diseño de un contador sin desarrollo de la asignación, el diseño de un contador sin usar flip-flops.

usar flip-flops.

Los Ejemplos que aquí se presentan tienen el mínimo Los Ejemplos que aquí se presentan tienen el mínimo nú

númmero de entero de entradas radas y y salisalidas, podas, por r ejemplejemplo el o el flfliip- flp- flopop

“DD””, , titiene ene lla a entrada entrada D y D y CLK CLK y ly la a salisalida da Q, Q, tal tal vezvez

su

su diseño diseño necesitnecesite e un un , , unun RESET

RESET, etc. que tendrá , etc. que tendrá que agregar que agregar y codify codifiicar pocar por sur su cuenta.

cuenta.

En esta guía no se mostraran los pasos a seguir En esta guía no se mostraran los pasos a seguir  para

 para lla a creacicreación ón de de comcomponeponentntes es VHVHDL DL enen TINA, si lo ha olvidado consulte las guías TINA, si lo ha olvidado consulte las guías anteriores.

anteriores.

Por último se le invita a explorar las ventajas de Por último se le invita a explorar las ventajas de TINA, graficar, simular en tiempo real, usar TINA, graficar, simular en tiempo real, usar

(2)

Q anterior D CLK  Q Q anterior D 0 Q anterior  Q anterior D 1 Q anterior 

Q anterior D D

Q anterior D Q anterior 

DISEÑO DE UN FLIP-FLOP “D” ACTIVADO

POR FLANCO DE SUBIDA.

Un flip-flop “D” de este tipo obedece a la lógica

mostrada en la tabla 1, que muestra que Q toma el valor de D, cuando hay un flanco de subida en CLK.

Tabla 1.

De modo que el valor de D se le pasa a Q cuando ocurre un flanco de subida, para implementar esto en VHDL se puede hacer de muchas formas, una sería obtener una ecuación lógica, otra sería implementar la tabla de verdad la que se utilizará en este ejemplo es, simplemente implementar su lógica, note que solo que ocurra un flanco de subida se pasa el valor de D a Q, con solo esto podemos implementarlo con el código siguiente.

Al seguir los pasos expuestos en las guías anteriores, se  puede crear el componente de TINA, como se muestra

en la figura 1.

Figura 1.

Para poder ver su funcionamiento se colocó en las entradas señales de diferente periodo, el resultado se muestra en la figura 2.

Figura 2.

La primera señal es el reloj “CLK ”, la segunda es

la entrada“D”, por último tenemos la salida “Q”, note

como cuando se da el flanco de subida en CLK la salida Q toma el valor de D.

Se darán otros ejemplos pero se asumirá que el estudiante sabe cómo funcionan los flip-flop, por tanto solo se dará el código que lo implementa, y el

(3)

DISEÑO DE UN FLIP-FLOP “T” ACTIVADO

POR FLANCO DE SUBIDA.

El código para implementar este circuito se muestra a continuación. Note como se usa una señal para poder usar la salida Q también como entrada.

El resultado se muestra en la figura 3. Note como la segunda señal Q cambia su estado cuando CLK tiene un flanco de subida si la tercera señal T está en alto.

Figura 3.

DISEÑO DE UN FLIP-FLOP “JK ”

ACTIVADO POR FLANCO DE SUBIDA.

El código para implementar este circuito se muestra a continuación. Note como se usa una señal para poder usar la salida Q también como entrada.

El resultado se muestra en la figura 3. Par crear esta gráfica se colocó en alto las entradas J y K, con esto el flip-flop debería cambiar su salida cuando ocurre un flanco de subida, exactamente lo que se ve en la figura.

(4)

DISEÑO DE UN FLIP-FLOP“JK ” ACTIVADO

POR FLANCO DE BAJADA.

Con un flip-flop JK, con activación por flanco de subida se puede diseñar un contador DOWN sencillo, si se quiere crear un contador UP será mejor utilizar un flip-flop JK con activación por flanco de bajada, el código para este es prácticamente idéntico al anterior y se muestra a continuación, note como ahora dice IF CLK =“0‟.

En la figura 5 se muestra la realización de un contador UP, con este flip-flop.

Figura 5.

DISEÑO DE UN CONTADOR UP, SIN USO DE FLIP-FLOP.

Una forma mucho mejor de crear un contador es diseñarlo directamente como tal. Es decir si usar conexiones de flip-flop. Quizá se entienda mejor viendo un ejemplo. El resultado se muestra en la figura 6. Para que empiece a contar es necesario dar un pulso de reset.

Figura 6.

(5)

ASIGNACIONES:

1. Programar y simular en VHDL los siguientes circuitos:

Flip-flop JK con entradas SET y RESET.

Flip-flop RS con entradas adicionales SET y RESET.

Flip-flop D con entradas SET y RESET. Flip-flop T con entradas SET y RESET. Contador Asíncrono UP/DOWN MOD 10 usando multiplexor 2 a 1.

Contador síncrono UP/DOWN MOD 10 usando multiplexor 2 a 1.

NOTA: debe crear un componente VHDL para los multiplexores en donde se pida utilizarlos.

2. Desarrollar y simular un reloj digital con formato de 24 horas, deberá poder establecer la hora, con pulsadores como el mostrado en la figura 7, se tendrán pulsadores individuales para la hora minutos y segundos. Usará el convertidor de 7 segmentos que diseño en la guía 2. La interfaz que vera el usuario será como la mostrada en la figura 8.

Figura 7.

Figura 8.

Utilizar un circuito de reloj con frecuencia de 1 kHz que deberá diseñar, tiene muchas opciones de diseño; entre ellas:

Un 555. Un Cristal.

Un bloque de código VHDL.

No podrá utilizar un circuito de reloj predeterminado de TINA.

Grafique la forma de onda del circuito de reloj.

¿Cuál es su Duty-Cicle?

INVESTIGACIÓN:

Investigue las librerías de ALTERA, que  permiten usar flip-flop ya diseñados, escriba el código necesario para usar estos componentes. Investigue algunas formas de crear un tren de  pulsos.

¿Es posible generar con un 555 un tren de  pulsos con Duty-Cicle de 50%? Si su respuesta es sí, ¿Cómo se hace? Si su respuesta es no ¿por qué?

 Investigue el uso de las librerías en VHDL

existentes en VHDL para simplificar el trabajo de codificación usado decodificadores, codificadores, multiplexores, demultiplexores y sumadores.

(6)

CONTENIDO DEL REPORTE: Portada 5%. Índice 5%. Introducción 5%. Objetivos 5%. Marco Teórico 5%.

Desarrollo de los circuitos:

o Descripción de los pasos seguidos para la solución 10%. o Códigos VHDL 15%.

o Gráficos de cada circuito en TINA y funcionamiento (3 capturas máx. por circuito)10%.

 Resultados de investigación 10%.

Observaciones por circuito 5%. Conclusiones 20%.

Bibliografía 5%. ENVIAR AL CORREO:

Reporte en formato PDF y WORD. Códigos utilizados (*.vhd).

Circuitos hechos en TINA.

Componentes creados (*.TSM). Imágenes de los resultados.

 NOTA: Enviar el correo a la dirección sistemasdigitales2015@hotmail.com el mismo día de la entrega de la tarea. Si el correo no se recibe, se descontarán 3 puntos de la nota de la tarea. Adjuntar en el correo de forma separada: un archivo .rar conteniendo los reportes en formato PDF y WORD; y otro archivo conteniendo los códigos, circuitos, componentes e imágenes de resultados en carpetas para cada circuito. Como asunto colocar: TAREA 3 y el carnet de los estudiantes (Ej. TAREA 3 AA13000 AA13000). Seguir las indicaciones y no copiar, pues eso se toma en cuenta en la calificación.

F echa de ent r ega : martes 16 de junio de 2015, de 10:00 am a 11:00 a.m. en la Asociación de Eléctrica. Después

de esa hora se calificará en base nueve. Cada día de retraso, resta un punto de la nota.

Figure

Actualización...

Referencias

Actualización...

Related subjects :