Вы находитесь на странице: 1из 7

DEPARTAMENTO DE INGENIERA ELCTRICA Y ELECTRNICA LOGICA DIGITAL - LABORATORIO III UNIDAD ARITMTICO-LGICA DE 4 BITS

Unidad aritmtico-lgica de 4 bits


Alejandra Fernndez, Alberto Hernndez y Pedro Brochero. Abstract Through the development of this laboratory, it is going to be shown the consolidation and the verification of the theoretical concepts that are necessary to design combinational circuits, based on the application of an ALU (Arithmetic Logic Unit). que ser necesario usar componentes SSI, MSI y LSI (Large Scale of Integration). A continuacin se desarrollar paso a paso el diseo de la lgica combinacional usando los componentes necesarios. A. Diagramas de bloques Doce entradas: Correspondientes a 2 nmeros binarios definidos en complemento a 2, A ( )y B( ), donde el 1 lgico se refiere a la activacin del bit y 0 a su desactivacin (lgica positiva). Otra entrada corresponde a las selectoras, Sel ( ), la cual selecciona la operacin que se va a realizar. Finalmente, Cin el cual corresponde a una de las entradas del sumador-restador, llamada acarreo de entrada. Cinco salidas: Corresponde a la combinacin de las entradas, S ( ) y al O_flow, el cual indica cuando existe sobre flujo (1) y cuando no existe (0).

I. INTRODUCCIN
Una unidad aritmtico-lgica (ALU) se refiere a un sistema, en este caso, combinacional, el cual es capaz de realizar combinaciones lgicas y aritmticas entre los datos de la entrada. El diseo de una ALU implica la representacin de una unidad lgica, una unidad aritmtica y la combinacin de las unidades cuando se requiera. Las operaciones se ejecutarn dependiendo de las instrucciones, y las selecciones del modo de operacin que se realice en el sistema. La ALU realiza operaciones aritmticas como la suma, resta, multiplicacin de nmeros decimales (representadas en el sistema binario), y tambin operaciones lgicas de bits, en las cuales interactuamos con las compuertas lgicas conocidas, tales como: AND, OR, XOR, NAND, NOR y NOT, entre otros. Notemos que la ALU tambin puede operar con la representacin de los nmeros binarios llamada complemento a 2, en la cual el bit ms significativo representa el signo (0-positivo y 1-negativo) y los bits restantes representan la magnitud. II.

UNIDAD ARITMTICO-LGICA
Figura 2: Diagrama de bloques para el sistema.

Se desarrollar una nueva versin para el sistema de conteo de dinero usada en la mquina de dulces. En este caso se aceptarn tanto monedas como billetes, ya que el sistema ser capaz de expresar la cantidad de cambio que se requiere devolver.

Las entradas as como las salidas sern de 4 bits, lo cual nos indica que al estar representados en complemento a 2, podremos expresar nmeros decimales desde 7(0111) hasta -8(1000). El sobre flujo nos indica que el resultado de la combinacin de las entradas es un nmero decimal que no puede ser representado por los 4 bits. En la tabla 1 se muestra la representacin de los nmeros en complemento a 2 para 4 bits:

Figura 1: Nueva versin del sistema de conteo electrnico para una mquina de dulces.

En la figura 1, se puede apreciar que la nueva versin del sistema est basada en el diseo de un microprocesador, sin embargo, la primera asignacin consiste en el desarrollo de una ALU, cuyas especificaciones tambin se encuentran en la Figura 1. Notemos

Tabla 1: Representacin de complemento a 2, a decimal.

DEPARTAMENTO DE INGENIERA ELCTRICA Y ELECTRNICA LOGICA DIGITAL - LABORATORIO III UNIDAD ARITMTICO-LGICA DE 4 BITS
B. Tablas de verdad Las tablas de verdad a continuacin, se harn de tal forma que se pueda analizar cada operacin que se requiere en la ALU. Las operaciones lgicas de AND y OR, se pueden realizar bit a bit por lo que nos resulta en recordar las tablas de verdad correspondientes a estas compuertas lgicas.

Tabla 3: Tablas de verdad para el Sobre Flujo y el comparador.

Tabla 2: Tablas de verdad para AND y OR.

Para el Cout, se requiere hallar la expresin mnima mediando el mapa de Karnaugh, con el cual al resolver mediante SOP, se obtiene:

En el caso del sumador y el restador, se implementa un sumador completo de un bit, por lo que la operacin tambin se realiza bit a bit. La tabla de verdad resulta en:

Teniendo en cuenta las tablas de verdad para el sobre flujo y el comparador, al resolver por SOP para hallar la expresin mnima se obtiene:

Mapa de Karnaugh, sobre flujo de la

Figura 4: Mapa de Karnaugh para Figura 3: Tabla de verdad de un sumador completo y la representacin de un sumador-restador de 4 bits con base en sumadores completos de 1 bit.

Por lo anterior, resulta en:

El diagrama mostrado en la Figura 3, relaciona las selectoras con el sumador de 4 bits, esto porque dependiendo del modo de operacin, es decir, B positivo B negado (NOT B) se realizar o una suma (Cin=0) una resta (Cin=1), respectivamente. Notemos que el acarreo de entrada (Cin), corresponde al mismo valor de la selectora de mayor significancia, Sel(2), lo cual nos reduce las entradas del sistema a once. A continuacin las tablas de verdad definidas para el sobre flujo en la suma, resta y la correspondiente al comparador, en stas se tomarn en cuenta los signos de los nmeros binarios. Notemos que la resta es til para concluir sobre las variables mayores entre A y B, es decir, teniendo en cuenta el signo del resultado, si la resta es negativa B es mayor que A, y si positiva A es mayor que B. En el comparador cuando A es mayor que B, se representa con un 0 y cuando B es mayor que a, con un 1. C. Minimizacin de la expresin lgica En el caso del sumador completo, notemos que la salida obtenida en S, corresponde a una XOR entre 2 variables por lo que nos resulta:

Mapa de Karnaugh, sobre flojo de la

Figura 5: Mapa de Karnaugh para

Por lo anterior, resulta en: Mapa de Karnaugh para el comparador:

Notemos que los 3 primeros bits ms significativos son iguales a 0, luego el menos significativo, se halla mediante SOP.

Para hallar la expresin mnima del

DEPARTAMENTO DE INGENIERA ELCTRICA Y ELECTRNICA LOGICA DIGITAL - LABORATORIO III UNIDAD ARITMTICO-LGICA DE 4 BITS

Figura 6: Mapa de Karnaugh para

Por lo anterior, resulta en: D. Diagrama del circuito resultante Con base en las expresiones mnimas obtenidas en el sistema, realizamos un diagrama del circuito. 2.

Figura 9: Lenguaje VHDL bloque architecture.

DECODIFICADOR BCD A 7 SEGMENTOS EN COMPLEMENTO A 2

El cdigo binario de entrada al decodificador se define representado en complemento a 2 y como un vector de 4 variables, tambin cuenta con la entrada del o_flow y el bcd_lamp. La salida se define como dos vectores de 8, de tal forma que la posicin 8 corresponde al LED A y la posicin 0, al punto del display.

Figura 7: Diagrama del circuito resultante..

Figura 10: Lenguaje VHDL bloque entity.

E. Simulacin en VHDL Para probar la eficiencia del diagrama diseado, se simular tanto el funcionamiento del multiplexor, el decodificador y el circuito en general, utilizando el lenguaje VHDL y la programacin en la tarjeta ALTERA EXCALIBUR APEX20K200EFC484-2X. 1. MULTIPLEXOR DE 8 A 1.

En la figura 14, Los :=11111111 que se le asigna a los vectores de salida, corresponde a una inicializacin del display, de tal forma que su estado inicial, sea mostrarlo totalmente apagado. La variable de entrada bcd_lamp se refiere a una prueba que se realiza de tal forma que al presionarla, todos los leds del display resulten encendidos, mientras que si o_flow es igual a 1, se muestra en el display un O.F. y si es 0, el programa corre normalmente.

Las entradas y las selectoras del multiplexor se definieron como vector de 8 y 3 variables, respectivamente.

Figura 8: Lenguaje VHDL bloque entity.

El funcionamiento del multiplexor de 8 a 1, se puede analizar segn el siguiente cdigo VHDL, en el cual se le asigna a la salida (mux_F) una nica variable de entrada (mux_ent (X)), dependiendo de las selectoras (mux_sel).

Figura 11: Lenguaje VHDL bloque architecture, definicin para bcd_lamp y o_flow.

DEPARTAMENTO DE INGENIERA ELCTRICA Y ELECTRNICA LOGICA DIGITAL - LABORATORIO III UNIDAD ARITMTICO-LGICA DE 4 BITS
Al simular el sumador tenemos:

Figura 16: Diagrama de tiempo para el sumador completo de 1 bit.

4.
Figura 12: Lenguaje VHDL bloque architecture

SUMADOR DE 4 BIT.

A continuacin se muestra el diagrama de tiempo para el decodificador de BCD a 7 segmentos de complemento a 2:

El sumador se hace de forma estructural, llamando al sumador de 1 bit. El acarreo de entrada es el que define la operacin realizada, si es suma (Cin=0) resta (Cin=1). La variable Signo de salida se refiere a un vector formado por ( .

Figura 17: Entity para el sumador de 4 bit.

Figura 13: Diagrama de tiempo 2. Semiciclo en baja (Low) para o_flow.

Notemos segn la estructura del bloque architecture de la Figura 18, que el acarreo de salida de la primera suma menos significativa, ( ) es correspondiente al acarreo de entrada de la siguiente suma. El acarreo de salida, Cout se ignora.

Figura 14: Semiciclo en alta (High) parao_flow.

Figura 18: Architecture para el sumador de 4 bit.

3.

SUMADOR DE 1 BIT.

5.

SOBRE FLUJO.

Se define el sumador de un bit con base en los resultados obtenidos con la tabla de verdad y su expresin lgica mnima:

Con base en la selectora y al vector definido anteriormente como Signo, se determinar la presencia (1) ausencia (0) del sobre flujo.

Figura 15: Cdigo para el sumador completo de 1 bit.

Figura 23: Entity del sobreflujo.

DEPARTAMENTO DE INGENIERA ELCTRICA Y ELECTRNICA LOGICA DIGITAL - LABORATORIO III UNIDAD ARITMTICO-LGICA DE 4 BITS

.
Figura 24: Architecture del sobreflujo. Figura 26: Lenguaje VHDL bloque entity y variables locales descritas.

Teniendo en cuenta los casos de sobre flujo obtenidos en la tabla de verdad, tanto para la suma como en la resta, se asignaron los sobre flujos en el cdigo. 6. COMPARADOR.

Slo consta del Signo como la entrada ya que a partir de ste se puede realizar la comparacin entre A y B. Notemos que el signo que ingresa al comparador, (definido en el circuito general) se define slo para el resultado de la resta.

Figura 27: Lenguaje VHDL bloque architecture, parte 1.

El modo de operacin de B es definido por la sel(2), cuando sta es 0, B es positiva y cuando es 1, B es negativa. Este comportamiento lo podemos modelar con la compuerta lgica XOR, lo cual vemos representado en la Figura 27.

Figura 25: Entity del comparador.

Figura 28: Lenguaje VHDL bloque architecture, parte 2. Figura 25: Architecture del comparador.

III. IMPLEMENTACIN DEL CIRCUITO 1. CIRCUITO COMPLETO. En el circuito completo se define las dos entradas de 4 bits, las selectoras de 3 bits y el bcd_lamp, la salida corresponde a la activacin de los dos displays.

Figura 29: Circuito para la operacin and (Con F=000, 100).

DEPARTAMENTO DE INGENIERA ELCTRICA Y ELECTRNICA LOGICA DIGITAL - LABORATORIO III UNIDAD ARITMTICO-LGICA DE 4 BITS
El esquema usado para hacer las operaciones A and B y A and B, usando la misma compuerta and para cada bit en ambas operaciones, la negacin o no de B, depende del valor de F_2, para un F_2=0, se obtendr B a la salida de la compuerta XOR, mientras que con F_2=1, se ver un -B. Se puede apreciar que para cada valor que toma F_2 se producen resultados que coinciden con los requeridos para cada operacin, solo resta introducir la misma salida en las entradas del multiplexor (mux) X_0, que ser la salida del mux para F=000, y en X_4 que se obtendr a la salida para F=100. Dada que esta es una operacin bit a bit se requiere repetir el mismo circuito con valores de entrada A_n, B_n y el uso del MUX_n, donde n=3,2,1,0. El circuito usado para F=001, 101 se usa un circuito similar, cambiando la and por una or e introduciendo la salida de esta compuerta en las entradas X_1 y X_5 del mux correspondiente. 1 1 1 1 1

Tabla: Tabla de verdad de los casos de OF.

Segn las indicaciones dadas en la gua de esta prctica, se obtiene la anterior tabla de verdad, para cada operacin; los dgitos X_3, donde X es cualquier variable, son los ms significativos, ya que se trabaja con nmeros de 4 bits, adems representan el signo en estos casos que se utiliza la ALU como unidad aritmtica.

Figura 31: Circuito para detectar OF.

Este es el circuito obtenido de la tabla de verdad mostrada, cabe aclara que si se presenta OF, el bit OF ser un cero lgico, en este caso adems de encender un este bit se multiplica con cada una de las salidas del sumador (S_n), para evitar que se muestre algo en la salida O, en caso de OF presente, as:
Figura 30: Circuito sumador y restador.

En la figura anterior se puede apreciar el esquema del sumador restador, es sabido que para restar un nmero, basta con sumar su complemento a dos, es decir, A-B=A+B^2, donde B^2 es el complemento a dos de B. En el circuito se obtiene el complemento a dos de B con un valor lgico alto de F_2; se niega cada bit de B y se le suma un bit, esto ltimo se logra asignndole el bit F_2 al acarreo de entrada, es decir, para F_2=0 (lgico), se realiza una suma, mientras que para un F_2=1 (lgico) se realizar una resta, y, una vez ms, el valor que se requiere de F_2 para suma y resta coincide con el valor de F_2 asignado en la tabla de Entradas de seleccin Vs. Operacin, para suma y resta, que seran 010 y 110 respectivamente. Dicho esto solo queda resolver el problema del overflow (OF) en la salida, que sera, encender un led para el caso de OF y evitar salida errticas en la salida (apagar todos los leds). A_3 0 0 0 0 1 1 1 B_3 0 0 1 1 0 0 1 S_3 0 1 0 1 0 1 0 OF (Suma) 1 0 1 1 1 1 0 OF (Resta) 1 1 1 0 0 1 1

Figura 32: Multiplicacin con el overflow.

Por ltimo, para el comparador, se ha de utilizar el signo de la salida de la resta, como bit menos significativo de la salida final, para representar las salidas O=0001 para A<B y O=0000, para otros casos; Sin embargo se debe tener en cuenta que cuando se presente OF en la resta O ser 0000 siempre entonces se debe tener en cuenta el OF para generar una salida siempre correcta:

Figura 33: Esquema del comparador.

Este circuito arroja un 1 lgico cuando el signo del resultado de la resta es 1, siempre y cuando no haya OF, y cuando se da OF simplemente se toma el signo de A, es decir A_3, dado que en el OF

DEPARTAMENTO DE INGENIERA ELCTRICA Y ELECTRNICA LOGICA DIGITAL - LABORATORIO III UNIDAD ARITMTICO-LGICA DE 4 BITS
de la resta los nmeros han de tener signos contrarios, el menor siempre ser el nico negativo.

IV. CONCLUSIONES En esta nueva experiencia pudimos notar un mayor grado de dificultad, ya que, una ALU debe cumplir muchas funciones (ya sean, lgicas o aritmticas) las cuales sern especificadas por el usuario, pero hacer que el usuario indique cual operacin realizar y que la ALU la ejecute correctamente. El diseo de esta ALU se bas en la verificacin y profundizacin de todos los conocimientos adquiridos previamente sobre los circuitos combinacionales, las compuertas lgicas, multiplexores, decodificadores, a los cuales se les agreg el anlisis y aprendizaje del funcionamiento del sumador, restador y comparador. Adems de esto, el anlisis y verificacin de la funcin de estos dispositivos es importante ya que al profundizar e interiorizar los conocimientos nos volvemos ms prcticos, veloces sin dejar de un lado la importancia de la lgica diital. Por otra parte, el montaje del circuito represent un verdadero reto, ya que, tenamos una maraa de cables en las Protoboards, lo que dificultaba las mediciones tanto de voltaje como continuidad, a pesar de esto, fuimos capaces de hacerla funcionar. Para terminar, podemos decir que esta experiencia nos brindo los conocimientos bsicos acerca del funcionamiento, estructuracin y manejo de espacios que se requieren para crear una ALU, conocimientos que sern muy tiles en nuestra futura vida profesional.

Figura 34: Foto del circuito implementado.

V. BIBLIOGRAFA
[1] John F. Wakerly. Digital design: principles and practices 3ra ed. Prentice Hall, 1999. [2] Tema 5: Algebra de Boole, funciones lgicas. Escuela politcnica superior, Universidad Autnoma de Madrid. [3] http://paginas.fisica.uson.mx/horacio.munguia/aula_virtual/Re cursos/Combinacionales%20MSI.pdf

Вам также может понравиться