Lab 1 SDII
Lab 1 SDII
Lab 1 SDII
PRÁCTICA # 1:
TRANSFERENCIA DE DATOS ENTRE REGISTROS
1. Objetivos
2. Conceptos Básicos
2.1. Flip-Flops
Los flip-flops son circuitos que pueden almacenar por tiempo indefinido un nivel alto o bajo de
voltaje, es decir, un bit de información (‘1’ o ‘0’ lógico). Los flip-flops son las unidades básicas
de almacenamiento (memoria) de información de todos los sistemas secuenciales, incluyendo
contadores, registros, memorias estáticas y dinámicas, microprocesadores, microcontroladores,
etc. Los flip-flops pueden ser síncronos o asíncronos, dependiendo de sí necesitan o no de una
señal de reloj para realizar su acción básica. Los flip-flops asíncronos se denominan también
latches.
Dentro de los diferentes buffers se destacan aquellos que por sus características especiales
permiten que sus salidas puedan ponerse en estado de alta impedancia. En este caso se dice que
el buffer es de tipo triestado. Este tipo de buffer es ampliamente utilizado en circuitos y/o
sistemas que involucran un bus de datos como son los sistemas basados en microprocesadores.
La salida del buffer, ya sea en alto o en bajo, es válida solamente cuando la señal de control (G)
es habilitada. Así entonces, es posible conectar a una misma línea muchas salidas de buffers
triestado.
Un bus puede ser definido como una avenida para la transmisión de datos entre diferentes
circuitos de un sistema digital, en el bus solamente un elemento puede estar escribiendo datos en
un instante dado de tiempo, mientras varios elementos pueden estar leyendo los datos en el
mismo instante de tiempo. Esto se hace controlando la salida y entrada de datos con elementos
tri-estado.
2.4. Registros
Las señales de control de los registros compuestos por flip-flops son CLOCK (CLK) y
OUTPUT CONTROL (OC). Los datos se cargan en el registro cada vez que ocurre un flanco en
CLK (flanco de subida o de bajada según lo especifique el fabricante). El dato aparece a la
salida del registro una vez se ha habilitado la señal OC.
3. Descripción de la Práctica
El objetivo de esta práctica está orientado al estudio de la transferencia de datos entre registros,
los cuales están implementados con flip-flops y buffers triestado. Para esto, se implementará un
sistema digital con un sumador de 4 bits y 6 registros de 4 bits.
Cada registro debe ser implementado con un registro de 4 bits y cuatro buffers triestado. El
registro de 4 bits se debe obtener en el programa Quartus en
Symbolmegafunctionsstoragelpm_dff, como se muestra en la Figura 1.(a). Se deben usar
sólo las entradas necesarias: data, enable y clk. El buffer se debe obtener en
Symbolprimitivesbuffertri, como se muestra en Figura 1.(b). El diseño completo del
registro de 4 bits es presentado en la Figura 1.(c). Crear el símbolo correspondiente a este
registro (Figura 1.(d)).
(a)
(b)
(c)
(d)
Figura 1. Diseño de un registro con salida tri-estado (a) Megafunción lpm_dff. (b) Buffer
triestado. (c) Registro con salida tri-estado. (d) Símbolo del registro con salida tri-estado.
3.1. Circuito para Transferencia de Datos entre Registros
La Figura 2 muestra el diagrama de bloques del circuito para transferencia de datos entre
registros. Los bloques mostrados en la Figura 1 como Reg-1 – Reg-6, son registros de 4 bits con
salida tri-estado (ver Figura 1.(d)). Para capturar los datos se utiliza el flanco de la señal CLK.
Nota: Se debe tener cuidado de no tener dos o más salidas habilitadas en un mismo instante de
tiempo, como también de tener precaución de deshabilitar las señales Wi (i=1:6) una vez se halla
almacenado el dato de interés en el registro.
Bus de datos
W1 W2 W6 W3 W4
Reg-1 Reg-2 Reg-6 Reg-3 Reg-4
R1 R2 R6 R3 R4
A B Z
Sumador/
Restador
W5
Reg-5
R5
Inicialmente se habilita la señal de escritura de los registros Reg-1 y Reg-2 (W1=W2=’1’) para
capturar el dato en cada registro. Habilitando la salida de Reg-1 (R1=’1’) se coloca en el bus de
datos el primer operando (A), para luego ser capturado por Reg-3 y Reg-4; los operandos son
entregados al circuito sumador para hacer la suma (la señal de control S’/R = ‘0’) y el resultado
es almacenado en Reg-5. Luego se envía este resultado al bus de datos para almacenarlo en Reg-
3. Seguidamente se coloca en el bus de datos el segundo operando (B), para ser capturado por
Reg-4 y nuevamente operarse con Reg-3 (dependiendo del valor de la señal de control S’/R, con
S’/R= ‘0’ se suma o S’/R= ‘1’ se resta) que contiene el resultado de la suma anterior.
Posteriormente el registro Reg-6 se habilita para leer el resultado que debe haber sido
almacenado en Reg-5, y finalmente Reg-6 habilita su salida para visualizar el resultado en la
salida. Se deben realizar múltiples pruebas teniendo en cuenta el desbordamiento de la suma, y la
resta donde B > 2A, ya que la operación realizada en el esquema propuesto es 2A B.
Uno de los objetivos que se busca con el procedimiento descrito anteriormente es mostrar en qué
consiste el control en circuitos digitales, en realidad este control puede ser descrito y diseñado
mediante técnicas que permiten que los circuitos lógicos secuenciales realicen dicha tarea de
manera automática, a este tipo de circuitos se les denomina máquina de estados finito, que se
verá en posteriores prácticas.
4. Elementos Necesarios
Simulador Quartus II. La edición web del software puede ser descargada gratuitamente en
http://fpgasoftware.intel.com/13.0sp1/?edition=web&platform=windows
5. Desarrollo de la Práctica
6. Informe
Introducción: Debe explicar la forma como se espera alcanzar los objetivos de la práctica. No
es necesario incluir marco teórico.
Resultados y análisis: Debe explicar con detalle el procedimiento realizado durante la práctica
mostrando en forma clara los resultados obtenidos (use tablas, diagramas de flujo, diagramas
de tiempo). Además, debe contener un completo análisis del funcionamiento del circuito,
incluyendo simulaciones, y posibles cambios hechos al diagrama esquemático propuesto en la
guía.
Presentar un completo y detallado informe del funcionamiento y operación del circuito de
acuerdo a lo observado en la práctica y a los conocimientos sobre el tema.
Muestre por medio de un diagrama de tiempo el flujo de las señales de control para
realizar la operación 2A B.
Investigación: Deben consultarse los temas propuestos para cada práctica y consignar los
resultados en forma ordenada teniendo en cuenta que el lenguaje utilizado concuerde con el
que se maneja en el curso.
Describir el funcionamiento de los flip-flops. ¿Qué tipos de flip-flops existen?
¿Cuáles son sus principales características? ¿Cómo se conocen comercialmente?
Investigar acerca de las mega-funciones del software Quartus II que fueron usadas en la
práctica (Registro, Sumador).
Investigar acerca de los buffers de tres estados. Características, aplicaciones y referencias
de CIs comerciales.
¿Cuál es la mega-función de un buffer tri-estado presente en Quartus II y cuáles son los
parámetros que pueden modificarse?
Investigue acerca de los buses del PC. Mencione las características principales de cada
uno (bus de datos, bus de control, y bus de direcciones) e indique cuál cree que merece la
mayor atención cuando se diseña un PC.
Observaciones y comentarios: Discutir los principales inconvenientes (si los hay) durante el
desarrollo de la práctica. Presentar sugerencias cuando se crean necesarias. Resaltar los
puntos más interesantes de la información obtenida en la investigación. Tengan presente que
el informe es la evidencia de aprendizaje.
7. Bibliografía