Sunteți pe pagina 1din 9

LABORATORIO DE SISTEMAS DIGITALES II, PRCTICA 1

Transferencia de Datos entre Registros (Marzo 2012)


Buenda A., Casanova S., Varela A.
ResumenEn este informe se describe de forma detallada la implementacin de una operacin aritmtica reconociendo como proceso bsico la transferencia de datos entre registros. Entre los elementos que conforman el circuito estn los registros, los buses y el Full Adder de 4 bits de referencia 74LS83. Sumado a esto, se exponen diferentes condiciones de operandos y se concluye sobre los resultados. El circuito digital es sintetizado en Quartus II y simulado en Modelsim. Palabras ClavesFlip-flop, FPGA, Latch, ModelSim, Registros, Sumador, Transferencia de datos, Overflow.

mostrados en la Figura 1 como REG 1 y REG 2 (74LS374), son registros de 8 bits formados por flip-flops empleados para almacenar los datos que sern operados, las seales de control de estos son: Clock (clk) y OutPut Control (oc). Los datos se cargan en el registro cada vez que ocurre un flanco de reloj y el dato aparece a la salida del registro una vez se ha habilitado la seal oc (Fig. 2). Los bloques REG 3 (74LS373), REG 4 (74LS373), REG 5 (74LS373) y REG 6 (74LS373), son registros de 8 bits formados por latchs. Las seales de control de los registros compuestos por latches son Enable (en) y OutPut Control (oc). Mientras la seal EN est habilitada, el dato que est en la entrada del registro se almacena y habilitando la seal OC el dato almacenado aparece en la salida del registro (Fig. 3). El sumador de referencia 74LS83 de 4 bits permite realizar suma y resta empleando como seal de control: S/R. La implementacin de la resta se realiza aplicando Complemento a 2 (C2) a los datos del segundo operador (Fig. 4).

I. INTRODUCCCION Os registros a base de flip-flops y latchs son componentes fundamentales en los circuitos digitales junto con los buses de datos y las ALU. Quartus II es una herramienta de utilizada en el mbito de la investigacin, procesamientos de datos y desarrollos a nivel el criptografa he robtica, unas de las ventajas de la herramienta es que nos permite simular, analizar y desarrollar comportamientos de sistemas digitales sin la necesidad implementar un circuito fsico digital ofreciendo bajos costo y confiabilidad, esto lo hace una herramienta muy atractiva a nivel de la industria y investigacin. A nivel de prctica laboratorio fue orientada a la operacin lgica implementada las operaciones primitivas como la suma y la resta a travs de solo un bus de datos para el desplazamiento de la informacin, el uso de elementos como latch y registros nos presenta un amplio control para el manejo del flujo de la informacin. Los Latchs y los registros son elementos que se pueden ejercer cualquier tipo de control ya que cuenta con una serie de pines que permiten controlar su habilitacin, salida y entrada del dato para controlar la informacin que entra a travs de bus de datos, Quartus II permite hacer esto realidad sin llevar acabo la implementacin de software, permitiendo evaluar el diseo su caractersticas de implementacin y comportamientos. II. RESULTADOS Y ANLISIS

Fig. 1 Circuito para la transferencia de datos

A. Descripcin del Circuito La Figura 1 muestra el diagrama de bloques del circuito para transferencia de datos entre registros. Los bloques

Fig. 2 Componentes internos del registro 74LS374

LABORATORIO DE SISTEMAS DIGITALES II, PRCTICA 1

2 nuevo el dato en el bus principal a la espera de ser ledo por REG6, para finalmente ser presentado por medio de leds o simplemente mostrado en la simulacin. En el siguiente diagrama de tiempos se muestran los pasos anteriormente descritos, donde: 1. 2. 3. 4. 5. 6. 7. 8. Generar flanco de reloj. Habilitar el oc1 y dar un pulso en en3. Deshabilitar oc1, activar oc2 y generar un pulso en en4. Desactivar oc2. Generar pulso en en5. Habilitar el oc5 y dar un pulso en en6. Deshabilitar oc5. Finalmente, habilitar oc6 para observar el resultado de la operacin A B.

Fig. 3 Componentes internos del registro 74LS373

Fig. 4 Componentes internos del registro 74LS83

B. Procedimiento En la figura 5 (Anexo1) se muestra el circuito empleado en Quartus II para la prctica de transferencia de datos. A continuacin se describe el procedimiento empleado para realizar la operacin A+B. Inicialmente se deben colocar los datos en el bus de entrada de los registros REG1 y REG2, y para que estos datos sean almacenados en los flip-flops se debe generar un flanco de reloj (Clk). Luego se deben escribir estos datos en el bus principal para que posteriormente sean ledos por los registros REG3 y REG4, esto se hace habilitando los enables de cada REG1 y REG2, llamados en la figura 5 OC1 y OC2 respectivamente. Se debe cuidar de habilitar un registro a la vez para no generar un corto. Seguido de haber escrito 1 dato a la vez en el bus, se debe proporcionar un pulso al enable REG3 (EN3) y/o REG4 (EN4) para almacenar el dato en el latch, y dado que los enables de escritura OEN3 y OEN4 (activos bajos) estn conectados a tierra la informacin almacenada en ellos ingresa directamente al circuito sumador. La operacin que realizar el circuito Full Adder esta controlada por la seal S/R, donde S/R=0, suma y S/R=1, resta. La operacin de resta se realiza aplicando complemento a 2 a los datos provenientes del registro REG4. El resultado de la operacin es puesto entonces en el bus auxiliar a la espera de ser ledo por REG5, para esto se debe generar un pulso en el enable EN5. Luego de almacenarse el resultado en REG5 se escribe de
Fig. 6 Activacin de las seales de control para originar la transferencia de datos. Simulacin en Modelsim

A continuacin se presentan las simulaciones para cada uno de los posibles casos: 1.1 2A+ B Para realizar la operacin 2A+ B basta con cuidar las seales de control, de forma que se almacenen los resultados necesarios en cada instante y registro adecuado. En la figura 7 (Anexo 2) se muestra esta operacin; los operandos son: A=3 (0011) y B=2 (0010), se espera entonces que en la primera activacin de OC6 se obtenga 6 (0110) y en la segunda 8 (1000).
Anexo 2 Fig. 7 Simulacin en Modelsim de 2A+B

Se obtienen entonces los resultados esperados. Cabe mencionar que no se genera activacin del Carry (cout) ya que ninguna de las 2 sumas sobrepasa la capacidad mxima de los 4 bits (24-1=15 datos).

1.2 2A(con carry)+ B En el siguiente caso (Fig. 8-Anexo 3) se gener una situacin de acarreo para la primera suma, posteriormente se observa

LABORATORIO DE SISTEMAS DIGITALES II, PRCTICA 1 que el carry se pierde y el resultado es errneo. La situacin de error se debe a que el circuito no corrige eventos de desbordamiento. Los datos empleados son: A=8 (1000) y B=1 (0001). Los resultados obtenidos son: 1ra suma: 0000 con Cout=1, 2da suma: 0001 con Cout=0.
Anexo 3 Fig. 8 Simulacin en Modelsim de 2A(carry)+B (Desbordamiento)

3 0100 con Cout=1, posteriormente al restarle 2 se obtiene 18, que en binario es 0010 con Cout=1. Aqu se debe observar que realmente hay un error de interpretacin ya que segn la naturaleza del FA el B a restar debe pasar a C2, por lo cual quedara en 14 (1110), y al sumar este valor al resultado anterior (20) dara 34 (100010), que est por fuera del rango de 24-1, incluso considerando el bit de acarreo (251). No obstante el resultado es correcto (Fig. 12).
Anexo 7 Fig. 12 Simulacin en Modelsim de 2A-B (carry)

1.3 2A + B(con carry) En esta situacin se genera un carry al final de la suma. Los datos empleados son: A=7 (0111) y B=9 (1001), los resultados obtenidos son: 1ra suma: 14 (1110), 2da suma: 23 (0111) con Cout=1.
Anexo 4 Fig. 9 Simulacin en Modelsim de 2A+B (carry)

A continuacin se presentan otras simulaciones 1.7 Suma sencilla, con B mayor que A.
Anexo 8 Fig. 13 Simulacin en Modelsim de 2A+B (B mayor A)

1.4 2A - B En este caso se tiene como operadores A=1 (0001) y B=8 (1000), y se busca generar una resta entre 2A y B. Inicialmente se tiene que para el 1er OC6 resulta 2, como es de esperarse ya que 2 A= 2*1= 2 (0010), luego al hacer el cambio en la seal S/R a 1 e ingresar el pulso en OC6 se obtiene 10 (1010), esto a simple vista no coincide con la respuesta correcta de -6, no obstante se debe recordar que el Full Adder aplica C2 al segundo operando para realizar la resta, es decir, en vez de restar 8 al primer resultado, lo que hace es sumar 8 (8 es el C2 de 8) a 2 quedando 10 como el valor final de la operacin que es el equivalente en C2 de -6 (0110) (Fig 10).
Anexo 5 Fig. 10 Simulacin en Modelsim de 2A-B

1.8 2A + B (con carry) B mayor que A


Anexo 9 Fig. 14 Simulacin en Modelsim de 2A+B (con Carry y B mayor A)

III. INVESTIGACIN 1) Describa el funcionamiento de los flip-flops. Que tipos de flip-flops existen? Cuales son sus principales caractersticas? Cmo se conocen comercialmente? Los flip-flops son elementos de memoria, los cuales cambian por un estado momentneo en sus entradas. Los FF son sensitivos a la transicin del pulso ms que a la duracin. A diferencia de los Latch, responden a una seal de reloj en vez de a un nivel de voltaje. Los flip-flops funcionan con flancos de subida, (o de bajada) es decir que transmiten un dato desde que se presenta un uno lgico (o un cero) y lo mantiene hasta que otro flanco de subida aparezca, no importa si hay conmutacin a cero, el estado se mantiene hasta que ocurra otro flanco de subida. Parmetros: a) Tiempo de establecimiento (SET UP TIME) Es el tiempo anterior al flanco de toma de datos durante el cual las entradas no deben cambiar. b) Tiempo de mantenimiento (HOLD TIME) Es el tiempo posterior al flanco activo de toma de datos durante el cual las entradas no deben cambiar. c) Frecuencia mxima de reloj. Es la frecuencia mxima admisible de la seal de reloj que garantiza el fabricante. d) Duracin del tiempo alto de reloj. Es el tiempo mnimo que debe durar la parte alta del impulso de reloj.

1.5 2A - B(con carry) Aqu la operacin consiste en restarle B a 2A para lo cual la seal S/R se pone en 1. Para los datos A=3 (0011) y B=2 (0010) se esperar que la 1ra suma d 6 (0110) y la 1ra resta d 4 (0100) con Cout=0, no obstante, se obtiene en la 1ra resta da 4 (0100) con Cout=1, esto se debe a que el dispositivo 74LS83 le aplica Complemento a 2 a B, es decir, pasa el dato 2 (0010) a C2 quedando -2 (1110) , que en binario simple sera 14 (1110), con lo cual se tiene 2[3]+[14] lo que resulta en 20 que en binario es 0100 con Cout=1 que es el resultado obtenido en la simulacin (Fig. 11).
Anexo 6 Fig. 11 Simulacin en Modelsim de 2A-B (carry)

1.6 2A(con carry)- B En esta situacin se busc que en la suma inicial y en la resta se diera un acarreo, para el ejercicio los datos son: A=10 (1010) y B=2 (0010). Inicialmente se obtiene 20, es decir,

LABORATORIO DE SISTEMAS DIGITALES II, PRCTICA 1

4 El funcionamiento de este flip-flop es sencillo, ya que solo posee una entrada D fuera de la seal de reloj, cuando D es 1 la salida ser 1 (set) y cuando D es 0 la salida ser 0 (reset), es decir que lo que esta en la entrada va a verse en la salida, y este dato se mantiene en la salida hasta que se presente un nuevo flanco. -Flip-flop T.
Tabla 4 para el funcionamiento del FF T

e) Duracin del tiempo bajo de reloj. Es el tiempo mnimo que debe durar la parte baja del impulso de reloj. f) Tiempo bajo de PRESET Y CLEAR. Es el tiempo mnimo que debe activarse las entradas asncronas para garantizar su funcionamiento. g) Tiempo de retardo o propagacin. Es el tiempo que transcurre desde el flanco activo del reloj que produce la conmutacin y el momento en que sta tiene lugar.
A continuacin se listan los tipos de Flip-flops -Flip-flop SR
Tabla 1 para el funcionamiento del FFS-R

Este tipo de Flip-flop conmuta de estado para cada flanco de cambio en la seal de control, esto genera que la salida tenga una frecuencia menor, exactamente dos veces ms pequea. 2) Mencione otras referencias de CIs que podran utilizarse para remplazar los circuitos utilizados en la prctica. -Registro con Flip-flop: 74LS374, HD74LS374, SN74LVTH574, SN54ALS374A. -Registro con Latchs: D74LS373, 74LS373D, N74LS373 74LS373. -Sumador: 17483, 7483, 7483A, 7483R, 27483, Y7483. 3. Investigar acerca de los buffers de tres estados. Caractersticas, aplicaciones y referencias de CIs comerciales. Un buffer triestado tiene tres tipos de estado a la salida, bajo 0 alto 1 y high impedance hi-Z, este ltimo pone la salida en alta impedancia, su funcin es permitir a varios circuitos compartir el mismo bus o lnea de salida. O tambin, permitir a un dispositivo monitorizar seales sin afectar a la seal. Este elemento evita que en un mismo bus de informacin se presentes dos valores lgicos distintos. En la figura 15 se muestra la comparacin entre un switch y un buffer triestado.

El FF S-R tiene una seal de reset y una de set adems de la seal de reloj, cuando el reloj esta en alto, la salida depende de las seales S y R, las dos no pueden estar en uno al mismo tiempo ya que si esto sucede se considera un estado prohibido. Cuando set esta en alta la salida es alta tambin caso contrario para reset. Si el reloj es bajo, pasa el dato de entrada. -Flip-flop J-K.
Tabla 2 para el funcionamiento del FF J-K

Su funcionamiento es igual que el S-R, la diferencia es que no tiene estados prohibidos cuando J y K estn en alto, en ese caso la salida es el dato complementado. -Flip-flop D.
Tabla 3 para el funcionamiento del FF D

Figura 15. Comparacin Buffer triestado y un switch

Un buffer triestado se puede ver como un switch. Ya que si B=1 el switch se cierra y el dato de A pasa a C, cuando B=0 se presenta alta impedancia y el circuito se asla.

LABORATORIO DE SISTEMAS DIGITALES II, PRCTICA 1 Su diseo est normalmente concebido de modo que el retardo de habilitacin de la salida sea un poco ms largo que el retardo de desactivacin de salida. Si un circuito de control activa la entrada de habilitacin de salida de un dispositivo al mismo tiempo que desactiva la entrada de un segundo dispositivo, as se puede asegurar que antes de que el primer dispositivo ponga un nivel Alto o Bajo en el bus, el segundo se encontrar en estado de alta impedancia. 4. Investigue acerca de los buses del PC. Mencione las caractersticas principales de cada uno (bus de datos, bus de control, y bus de direcciones) e indique cul cree que merece la mayor atencin cuando se disea un PC. El bus es un sistema digital que transfiere datos entre diferentes componentes externos con un computador, o que transfiere datos entre computadores. Inicialmente los buses paralelos eran los ms utilizados por los computadores. Actualmente los buses seriales como el USB han demostrado tener mayores ventajas. Los buses se pueden dividir en dos clases: Bus paralelo y bus serie. -Bus paralelo. Es un bus en el cual los datos son enviados al mismo tiempo por bytes, con la ayuda de varias lneas que tienen funciones fijas. En los computadores son usados en el procesador, buses de tarjetas (video, expansin, etc.), discos duros, entre otros. Las lneas de los buses y sus funciones son: -Lneas de direccin: Encargadas de indicar la posicin de memoria o del dispositivo con el cual va a establecerse conexin. -Lneas de control: Encargadas de arbitrar entre los dispositivos. Un ejemplo de esto son los indicadores de estado. -Lneas de datos: Encargadas de transmitir los bits de datos. Un bus paralelo tiene conexiones fsicas complejas pero la lgica es sencilla, que lo hace til en sistemas con poco poder de cmputo. -Bus serie. En este los datos son enviados, bit a bit y se reconstruyen por medio de registros o rutinas de software. -Bus de direcciones. El bus de direcciones es un canal del microprocesador totalmente independiente del bus de datos donde se establece la direccin de memoria del dato en trnsito. La capacidad de la memoria que se puede direccionar depende de la cantidad de bits que conforman el bus de direcciones, siendo 2n (dos elevado a la ene) el tamao mximo en bytes del banco de memoria que se podr direccionar con n lneas. -Bus de control.

5 Este bus es el encargado de no permitir la colisin entre la informacin. Debido a que las lneas de datos y de direcciones estn compartidas por los componentes, el bus de control gobierna el uso y el acceso a ellas. Transmite rdenes e incluso temporizacin entre mdulos. Cabe resaltar que el bus de control es de vital importancia, ya que este es el que hace posible que no exista colisin de informacin en el sistema. Su funcin es muy importante ya que es el que gobierna el acceso y utilizacin de la informacin.

IV. CONCLUSIONES El xito de la transferencia de datos, proceso fundamental en la ejecucin de una operacin aritmtica entre registros, depende primordialmente del manejo que se le den a las seales de control de los elementos que conforman el circuito digital, es decir, de los registros, buses y la ALU. Cada uno de estos componentes presenta una seal de activacin exclusiva, para los registros a base de Flip-flops estn la seal de reloj y output control (oc), para los registros a base de Latchs estn el enable (en) y el output control (oc) y finalmente, para la ALU la seal S/R. La transferencia de datos consiste en 2 procesos: escritura y lectura de la informacin. Para la escritura debe evitarse que dos registros o mas estn escribiendo en el mismo bus en el mismo instante, ya que esto originara un corto en el circuito que llevara a daos en los componentes, por otro lado, la escritura se puede llevar simultnea en varios registros. Para el evento de resta de dos datos se emple el Complemento a 2 (C2), tcnica de representacin de nmeros binarios agiliza el proceso de resta, este toma el dato a restar y lo manipula de cierta forma que la resta se ejecute como una simple suma. Este mtodo se utiliza porque la unidad aritmtico-lgica no resta nmeros binarios, suma binarios negativos, por eso se realiza la conversin al negativo.

REFERENCES
[1] Wakerly, john Diseo digital Tercera edicin. Pginas Web (marzo 24 de 2012) [2] http://es.wikipedia.org/wiki/Buffer_triestado [3] http://es.wikipedia.org/wiki/Bus_(inform%C3%A1tica) [4] http://es.wikipedia.org/wiki/Bus_de_direcciones [5] http://es.wikipedia.org/wiki/Bus_de_control (marzo 29 de 2012) [6] http://es.wikipedia.org/wiki/Complemento_a_dos

LABORATORIO DE SISTEMAS DIGITALES II, PRCTICA 1


ANEXOS

Anexo 1

Fig. 5 Circuito Implementado en Quartus II para la prctica de transferencia de datos. Simulacin en Modelsim

Anexo 2

Fig. 7 Simulacin en Modelsim de 2A+B

LABORATORIO DE SISTEMAS DIGITALES II, PRCTICA 1


Anexo 3

Fig. 8 Simulacin en Modelsim de 2A(carry)+B (Desbordamiento)

Anexo 4

Fig. 9 Simulacin en Modelsim de 2A+B (carry)

Anexo 5

Fig. 10 Simulacin en Modelsim de 2A-B

LABORATORIO DE SISTEMAS DIGITALES II, PRCTICA 1


Anexo 6

Fig. 11 Simulacin en Modelsim de 2A-B (carry)

Anexo 7

Fig. 12 Simulacin en Modelsim de 2A-B (carry)

Anexo 8

Fig. 13 Simulacin en Modelsim de 2A+B (B mayor A)

LABORATORIO DE SISTEMAS DIGITALES II, PRCTICA 1


Anexo 9

Fig. 14 Simulacin en Modelsim de 2A+B (con Carry y B mayor A)

S-ar putea să vă placă și