Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Guía4 SDI-1 2018

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 6

UNIVERSIDAD DE EL SALVADOR

FACULTAD DE INGENIERÍA Y ARQUITECTURA


ESCUELA DE INGENIERÍA ELÉCTRICA
SISTEMAS DIGITALES I
Guía de tarea 4: “Flip flops y contadores síncronos
y asíncronos”.
Catedrático: Ing. Salvador German

INSTRUCTORES:
Br Martínez Medrano, Arturo José
Br García Avilés, Ronald Josué

RESUMEN: Esta cuarta guía pretende resumir todo lo aprendido sobre la programación en
VHDL. Se finaliza la asignatura con un proyecto que no podía faltar, ya se tuvo una
introducción al lenguaje VHDL en la Guía 1 y Guía 2, en la Guía 3 se presentó una
herramienta gráfica de simulación (TINA), ahora que se conoce los diferentes tipos de flip-
flop y como crear contadores UP/DOWN, atreves de estos, podemos utilizar todo esto para
diseñar un Reloj Digital.
En este momento se supone que el estudiante domina la simulación en TINA, la
programación en VHDL y el funcionamiento de los flip-flop, hay una infinidad de formas de
diseñar flip-flop en VHDL, de hecho hay librerías como las de ALTERA, que permite usarlos
como un componente, en esta ocasión se pretende diseñarlos.

INTRODUCCIÓN: A manera de ejemplo se mostrará el diseño sencillo de los flip-flop “D”,


“T” y “JK”, si se desea otro tipo, la metodología de diseño es similar, además se introduce
una mejor técnica para el desarrollo de la asignación, el diseño de un contador sin usar flip-
flop. Los Ejemplos que aquí se presentan tienen el mínimo número de entradas y salidas,
por ejemplo el flip-flop “D”, tiene la entrada D y CLK y la salida Q, tal vez su diseño necesite
un RESET, etc. que tendrá que agregar y codificar por su cuenta.
En esta guía no se mostraran los pasos a seguir para la creación de componentes VHDL en
TINA, si lo ha olvidado consulte las guías anteriores.
Por último se le invita a explorar las ventajas de TINA, graficar, simular en tiempo real, usar
componentes virtuales, etc.
Diseño de un flip-flop “D” activado por Al seguir los pasos expuestos en las guías
flanco de subida. anteriores, se puede crear el componente
Un flip-flop “D” de este tipo obedece a la de TINA, como se muestra en la figura 1.
lógica mostrada en la tabla 1, que muestra
que Q toma el valor de D, cuando hay un
flanco de subida en CLK.
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

Para poder ver su funcionamiento se


colocó en las entradas señales de
De modo que El valor de D se le pasa a Q diferente periodo, el resultado se muestra
cuando ocurre un flanco de subida, para en la figura 2.
implementar esto en VHDL se puede
hacer de muchas formas, una seria
obtener una ecuación lógica, otra seria
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.

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 resultado.
Diseño de un flip-flop “T” activado por Diseño de un flip-flop “JK” activado
flanco de subida. por flanco de subida.
El código para implementar este circuito El código para implementar este circuito
se muestra a continuación. Note como se se muestra a continuación. Note como se
usa una señal para poder usar la salida Q usa una señal para poder usar la salida Q
también como entrada. también como entrada.

El resultado se muestra en la figura 3.


Note como la segunda señal Q cambia su El resultado se muestra en la figura 4. Par
estado cuando CLK tiene un flanco de crear esta gráfica se colocó en alto las
subida si la tercera señal T esta en alto. 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 siguiente.

Figura 3.
Figura 4.
Diseño de un flip-flop “JK” activado Diseño de un Contador UP, sin uso de flip-
por flanco de bajada. flop.
Con un flip-flop JK, con activación por Una forma mucho mejor de crear un
flanco de subida se puede diseñar un contador es diseñarlo directamente como
contador DOWN sencillo, si se quiere tal. Es decir si usar conexiones de flip-flop.
crear un contador UP será mejor utilizar Quizá se entienda mejor viendo un
un flip-flop JK con activación por flanco de ejemplo. El resultado se muestra en la
bajada, el código para este es figura 6. Para que empiece a contar es
prácticamente idéntico al anterior y se necesario dar un pulso de reset.
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 6.

Figura 5. Con todo lo anterior se tiene suficientes


fundamentos para crear el reloj digital.
ASIGNACIONES:
Se deberá utilizar un circuito de reloj con
1. Programar y simular en VHDL los
siguientes circuitos: frecuencia de 1 kHz que deberá diseñar,
 Flip-flop JK con entradas SET y tiene muchas opciones de diseño; entre
RESET. ellas:
 Flip-flop RS con entradas
adicionales SET y RESET. 
 Flip-flop D con entradas SET y  Un IC555.
RESET. Flip-flop T con entradas  Un Cristal.
SET y RESET. Contador Asíncrono  Un bloque de código VHDL.
UP/DOWN MOD 10 usando
multiplexor 2 a 1.
 Contador síncrono UP/DOWN
No podrá utilizar un circuito de
MOD 10 usando multiplexor 2 a 1. reloj predeterminado de TINA.
NOTA: debe crear un componente VHDL
para los multiplexores en donde se pida INVESTIGACIÓN:
utilizarlos.

 Investigue las librerías de ALTERA,
2. Desarrollar y simular un reloj digital con que permiten usar flip-flop ya
formato de 24 horas, deberá poder diseñados, escriba el código
establecer la hora, con pulsadores como necesario para usar estos
el mostrado en la figura 7, se tendrán componentes.
pulsadores individuales para la hora
minutos y segundos. Usará el convertidor  Investigue algunas formas de
de 7 segmentos que diseño en la guía 2. crear un tren de pulsos.
La interfaz que vera el usuario será como
la mostrada en la figura 8.  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.
Figura 7 ps-spst1

Figura 8.
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áximo
 por circuito) 10%.
 Resultados de investigación10%.
 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 digitalesues2018@gmail.com el mismo día de la


entrega de la tarea. Si el correo no se recibe, se descontará un punto 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 4 y el carnet de los estudiantes (Ej. TAREA 4 AA13000
AA13000). Seguir las indicaciones de entregar reportes completos según los porcentajes y
no copiar, pues eso se toma en cuenta en la calificación.
Fecha de entrega: MIÉRCOLES 13 DE JUNIO DE 2018, la hora y el lugar se publicará en el
grupo de Facebook de la asignatura.
Entregar el reporte impreso en el horario especificado y enviar el correo a la dirección
estipulada, el mismo día.

También podría gustarte