Ingeniería Técnica de Sistemas Electrónicos. Escuela Técnica

Anuncio
Ingeniería Técnica de Sistemas Electrónicos.
Escuela Técnica Superior de Ingeniería Industrial y de Telecomunicación.
Laboratorio de Electrónica Digital.
Práctica nº 6: Diseño de circuitos secuenciales.
El objetivo de esta práctica es realizar el diseño de circuitos digitales secuenciales. El proceso
recomendado para realizar y verificar los circuitos propuestos debe seguir los mismos puntos
que para el diseño de circuitos combinacionales: realizar el diseño del circuito, simularlo,
realizar su implementación y verificar su operación real.
Todos los ficheros de simulación y verificación del circuito deben guardarse en la carpeta Pr6
dentro de la carpeta de trabajo de cada grupo, creando subcarpetas para cada uno de los
ejercicios de la práctica.
A). Diseño de un contador con cuentas módulo N y módulo 2N a partir de un registro de
desplazamiento de N bits.
Existen estructuras sencillas para realizar contadores en base a registros de desplazamiento.
El contador en anillo de la figura realiza una cuenta de módulo N (N estados) con un registro
de desplazamiento de N bits (5 bits en la figura).
y0
D
Q
D
Q
y1
Q
y2
D
Q
Q
y3
D
Q
Q
D
Q
y0 y1 y2 y3 y4
y4
1
0
0
0
0
1
Q
Q
Clk
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
El contador Johnson permite construir un contador de módulo 2N (2N estados) con un
registro de desplazamiento de N bits (4 bits en la figura).
y0 y1 y2 y3
y0
D
Q
Q
D
y1
Q
Q
y2
D
Q
Q
Clk
y3
D
Q
Q
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
El objetivo de este apartado es diseñar, simular, montar y probar un circuito que pueda
funcionar como contador MOD 4 y MOD 8 en base al registro de desplazamiento 4 bits
- Grupo Dyvci -
-1-
- Dept. Electrónica y Computadores -
4035B. También se debe realizar una implementación y prueba del circuito sobre la tarjeta
DE2.
A1. Diseño del contador utilizando el circuito comercial 4035B.
Realizar el diseño del circuito contador utilizando únicamente un circuito 4035B (registro de
desplazamiento de 4 bits) siguiendo estos pasos:
• Diseñar el circuito. El circuito deberá tener tres entradas: CLK (reloj), SEL para seleccionar
la cuenta MOD4 o la cuenta MOD8, e INIT para inicializar el circuito a un estado válido de
arranque para cada cuenta (un estado válido será cualquier estado que pertenezca a la cuenta).
Cada cuenta se inicia activando INIT al menos durante un ciclo de reloj, y fijando el valor
correspondiente de SEL mientras INIT está activado, lo que debe cargar un estado válido
desde las entradas en paralelo (Paralell In). Posteriormente se desactiva INIT, manteniendo el
mismo valor de SEL con lo que el circuito realiza la cuenta deseada. El circuito debe tener 4
bits de salida.
• Simular el circuito diseñado con Circuit Maker en el fichero Cont.ckt y comprobar que
funciona correctamente en los dos modos de cuenta. Utilizar switches para las señales INIT y
SEL y un generador de pulsos para la señal CLK, situar displays lógicos (hotkey 9) y displays
hexadecimales (hotkey h) en la salidas. Situar SCOPES en las entradas y en las salidas.
Tener en cuenta la operación de las señales INIT y SEL para realizar la simulación, y
comprobar el funcionamiento del circuito realizando sucesivos cambos en dichas señales,
comprobando que las dos cuentas se hacen correctamente.
• Montar el circuito en una regleta y verificar con el LA4240 su funcionamiento.
- Generar mediante el generador de patrones del LA4240 las señales CLK, INIT y SEL. Para
ello programar en el canal 16 la señal de reloj CLK mediante las opciones de copiar valores
dentro de un mismo canal: seleccionar en formato binario (1 Channel) el canal (Channel) 16,
fijar a 0 el valor en la dirección 0 y a 1 en la dirección 1, situar ahora el campo Start de Copy
al valor 0, el campo Last al valor 1, el campo Start de Copy to a valor 0 y el valor Loop To al
valor máximo (dejar el valor por defecto), pulsar en el botón Copy y todo el canal quedará
cargado como un reloj.
Programar la señal de INIT en el canal 17 y la señal de SEL en el canal 18 a partir de la
dirección 100. La señal de INIT debe ser un pulso activo durante al menos 1 ciclo de reloj (al
menos dos direcciones), la señal SEL debe mantenerse al mismo valor mientras se realiza un
tipo de cuenta. Programar las señales INIT y SEL de forma que en la misma medida con el
LA4240 se observen varios cambios del tipo de cuenta y que cada cuenta se mantenga al
menos 10 ciclos. Procurar que los cambios en INIT se realicen en los flancos no activos del
reloj (flancos negativos).
- Fijar la frecuencia de operación a 1 Mhz. Leer los valores de las entradas CLK, SEL, INIT y
de las cuatro salidas con los canales del analizador lógico (canales 0-6). Es conveniente
- Grupo Dyvci -
-2-
- Dept. Electrónica y Computadores -
sincronizar la captura de datos del analizador lógico en base a la señales de entrada CLK,
SEL e INIT para observar cómodamente los resultados en pantalla (por ejemplo, fijar la
marca Trigger a la dirección 120 y situar los valores adecuados en los canales del comando
Trigger del menú en línea o en los iconos
de la barra de herramientas).
Editar grupos para las entradas y las salidas y observar los resultados en modo forma de
ondas y en modo lista de estados.
- Guardar la programación del LA4240 en el fichero Cont.ini y el resultado de la captura de
medidas en el fichero Cont.Dso.
A2. Diseño del circuito contador sobre la tarjeta DE2.
Realizar el diseño del circuito contador basado en un registro de desplazamiento de 6 bits
siguiendo estos pasos:
• Realizar una descripción VHDL del problema en Quartus II. La descripción debe contar con
las entradas CLK, SEL (selección del modo de cuenta) e INIT (inicialización del registro),
teniendo cuidado que los cambios de modo de cuenta se realicen correctamente (si no se hace
bien puede que al cambiar el modo de cuenta el circuito entre en una secuencia distinta de las
dos válidas). Crear un proyecto en Quartus II y compilar la descripción del circuito,
eliminando los errores que se produzcan.
• Simular en Quartus II el circuito. Comprobar que el funcionamiento del circuito es correcto.
• Programar el circuito en la tarjeta DE2. La entrada de reloj se aplicará mediante uno de los
botones de la tarjeta DE2, mientras que SEL e INIT se aplicarán mediante entradas de switch.
Las salidas se deben generar en LEDs de la tarjeta DE2. Recompilar el circuito para
reconocer la asociación de pines.
IMPORTANTE: Para evitar problemas que puedan estropear la tarjeta, al asignar las
entradas y salidas del proyecto hay que dejar los pines sin usar del dispositivo como entradas
en alta impedancia. Para ello antes de compilar el dispositivo hay que seleccionar
Assignment->Device, pulsar en el botón Device & Pin Options…, y en la pestaña Unused
Pins en su campo Reserve all unused pins: seleccionar As input tri-stated.
• Verificar el comportamiento del circuito. Pulsando sobre el botón CLK se genera un ciclo
de reloj. Comprobar observando el valor de los LEDs que se realizan las dos cuentas
correctamente y que las señales de control INIT y SEL funcionan adecuadamente.
- Grupo Dyvci -
-3-
- Dept. Electrónica y Computadores -
Descargar