Uso de las ALU (Unidad de Aritmética Lógica)

es la primera vez que utilizo una alu, y aunque tengo una manual de semiconductores me entere que estos integrados necesitan ser programados, y el problema es que en la escuela no contamos con el material necesario y aunque ya investigue como utilizarlo quieciera saber si alguien ya lo utilizo y si tienen algun tip a algo referente a este circuito.
 
que alu tienes? la 74ls181? esa se usa de manera muy simple, tiene 2 juegos de pines de entrada y uno de salida (el resultado)

A0-A3 y B0 a B3 son las entradas, solo ten cuidado por que son negadas

F0 a F3 son las salidas, tambien estan negadas

S0 a S3 son los pines de control, segun el numero colocado en estos pines es la operacion logica que realizara la ALU, como Suma, Resta, Comparacion, Doblado y demas....

M es un pin de funcion para seleccionar entre operaciones logicas y operaciones aritmeticas

El resto de los pines lo puedes ir revisando en esta direccion

http://www.geomundos.com/mexico/tecnologia/alu-74ls181_doc_13449.html
 
sobres, ya esta, la empece a utilizar,en efecto es el 74ls181, ya forme las funciones, las salidas f0 a f3 en un simulador las conecte a un dysplay codificado de 4 entradas, pero yo me imagino que en la practica puedo utilizar un decodifiacdor de bcd a 7 segmentos, o realmente existe un dysplay codificado? como quiera gracias
 
Si existen los displays con decodificador integrado, pero son muy dificiles de conseguir.... la opcion mas simple es usar un decodificador externo y un dispay, el tipico es el 74ls47 pero hay muchos...

Ojo, es de BCD a 7 segmentos, pero la alu que estas usando es hexadecimal asi que si quieres ver numeros mayores a 9 vas a tener que buscar otra forma de implementar el display
 
Muchachos tengo un duda tengo un 74LS181(ALU) pero no se si esta funcionando correctamente, ya he probado muchas combinaciones y aun no obtengo un resultado que se acople a la tabla, me podrian explicar como es el funcionamiento de esta compuerta y como debo hacer un montaje con ella?
 
Hola unzero

Realmente no hay mucho que explicar ya que todo lo que se requiere para utilizar este IC viene en sus hojas de datos.

Tal vez solo hacer notar que las operaciones aritméticas están expresadas en notación complemento a 2.

No sé que programa simulador para circuitos electrónicos utilizas pero te adjunto una imagen donde viene un circuito que pudieras armar en tu simulador para experimentar con ese ALU 74LS181.
Éste circuito es solo para las funciones aritméticas del ALU.
Además te adjunto el circuito desarrolado con el simulador ISIS de Proteus.

Te sugiero que no nombres a este ALU como compuerta ya que no lo es.

saludos
a sus ordenes
 

Adjuntos

  • Montaje Experimental Para ALU.jpg
    Montaje Experimental Para ALU.jpg
    255.6 KB · Visitas: 90
  • ALU Arithmetic Function's NEW.zip
    19.7 KB · Visitas: 56
Hola unzero Podemos decir que Active High Operands es cuando los niveles lógicos son ciertos cuando son altos 1.En consecuencia:podemos decir que Active Low Operands es cuando los niveles lógicos son ciertos cuando son bajos 0. Recuerda que cada BIT en un número binario tiene un valor según la posición que ocupa en el conjunto de BIT’s.Si es de 4 BIT’sEl de la extrema derecha tiene un valor de 1El que le sigue hacia la izquierda tiene un valor de 2El que le sigue hacia la izquierda tiene un valor de 4El que le sigue hacia la izquierda tiene un valor de 8Por ejemplo para representar el 3 en binario sería 0011. suma los valores de los que son 1. verás que es 3.Así que el 1 se representa en binario 0001. (El de la extrema derecha tiene un valor de 1).Aquí estamos utilizando Active High Operands porque estamos tomando los valores que son “1” como ciertos(Válidos). Por ejemplo, vamos a llamar NORMAL a esto:0011(Binario) + 0001(Binario)=0100(Binario) este número binario representado en decimal sería 4. Cierto ?? y esto no es que sea ANORMAL sino Active Low Operands.Pero puedes utilizar los ceros para efectuar esa sencilla suma.1100(Binario) +1110(Binario)=1011(Binario)Ahora estamos tomando los valores que son “0” como ciertos(Válidos).saludosa sus ordenes
 
Última edición:
Ya entiendo MrCarlos entonces el diagrama que me diste sirve para active low operands, cierto?, pero si digamos quiero utilizar el metodo de active high tendria que quitar los negadores de las entradas A y B y dejar el restro como esta o hay que cambiar algo más?
 
MrCarlos estuve haciendo unas pruebas, quite los negadores de las entradas A y B y deje todo lo demas como estaba pero ya no me funciona la ALU correctamente, hay funciones que toma bien y hay otras que no, que puedo tener mal?. Gracias
 
Hola unzero

Dame un ejemplo de las funciones que toma bien y otros ejemplos de las que toma mal.
Con unos y ceros.
Ejemplo:
S = 0000
A = 0010
B = xxxx
F = 0001

A ver si puedo definir con ello que está pasando.

saludos
a sus ordenes
 
Última edición:
tengo un 74ls181 lo simule y algunas funciones no me daban, pensando que era cosa del simulador lo arme y tampoco me daba no se si sere yo que yo estoy haciendo el calculo o si me pueden decir que estoy haciendo mal, por ejemplo la funcion aritmetica 7(0111) dice que corresponde a AB minus 1, suponiendo que A es 0110 y B 1110 supongo yo que daria 101 pero en la alu de 111, usando logica positiva(M=L y C=H) ...
 

Adjuntos

  • alu.rar
    11.4 KB · Visitas: 23
tengo un 74ls181 lo simule y algunas funciones no me daban, pensando que era cosa del simulador lo arme y tampoco me daba no se si sere yo que yo estoy haciendo el calculo o si me pueden decir que estoy haciendo mal, por ejemplo la funcion aritmetica 7(0111) dice que corresponde a AB minus 1, suponiendo que A es 0110 y B 1110 supongo yo que daria 101 pero en la alu de 111, usando logica positiva(M=L y C=H) ...

A= 0110
B= 1110
Resultado= 0101

me parece que el operando B lo tienes al revés, porque en la simulación está así: B3,2,1,0= 0111, por lo que equivale a 7 y en tu comentario dices que B es igual a 1110 y equivale a 14

En ambos casos el resultado sería 0101 porque solo 0110 de cada operando tendrá como resultado un 1 al hacer la operación AND, por lo que sería 0110 sin restarle el -1, 0110 equivale a 6, restale uno y sería 5 (0101) pero como resultado da 7 y con Cn=L da 8.

Obtuve una respuesta a esto, mira el datasheet, abajo de la tabla de verdad y en Note 2 dice que las operaciones están expresadas en complemento a 2.

Entonces, supongamos que A=0110 y B=0111, complementando a dos cada operando sería:
A=1010 (10) y B=1001 (9), entonces hacemos un AND con los nuevos operandos y el resultado es F=1000 (8) ahora a este resultado le restamos 1 y sería F=0111 Me parece que la ALU complementa a dos primero los operandos y luego hace la operación con los operandos complementados y saca el resultado.
Esta es la unica explicación que le encuentro, no se si esté bien.

salu2!
 
Lo que pasa es que el selector elige grupos de entradas, no las entradas individuales en si. Con los dos bits S[1:0] se tienen hasta 4 combinaciones. Cada una de estas combinaciones corresponde a un grupo, y cada grupo puede ser de n bits; para este caso 16

Espero haberme explicado, saludos
 
Un multiplexor con dos entradas de seleccion elige de entre cuatro datos de entrada, un dato de salida. Los datos de entrada y salida pueden ser de cualquier tamaño, podes elegir entre cuatro entradas de un bit o como en este caso, entre cuatro entrdas de 16 bits cada una
 
Eso depende de los recursos que tengas ahi, se pueden hacer multiplexores de mayor cantidad de bits encadenando multiplexores mas chicos, lo que puede ser muy laborioso si los mux basicos son mucho mas angostos que los 16 bits que necesitas, o podes usar una GAL. Sin embargo, para un mux tan ancho no se si proteus tenga los recursos para hacerlo facilmente, incluso usando una GAL, yo optaria por simularlo con un FPGA
 
Atrás
Arriba