Duda con una función lógica

Iniciado por Cervantes_xD, 26 Octubre 2009, 13:12 PM

0 Miembros y 1 Visitante están viendo este tema.

Cervantes_xD

Hola a todos, tengo la siguiente duda:

Tengo la función F(C,B,A)=E3(1,5) (Sumatorio de las 3 variables, esque no encuentro el simbolito xD)

Haciendo la tabla de verdad queda como:

  |  C    B    A  |  F
-----------------------
0|  0    0    0  |  0
1|  0    0    1  |  1
2|  0    1    0  |  0
3|  0    1    1  |  0
4|  1    0    0  |  0
5|  1    0    1  |  1
6|  1    1    0  |  0
7|  1    1    1  |  0

Con esto la salida queda:    F= AB'C' + AB'C (Nótese que la comita es la variable negada)

Tanto aplicando la álgebra de boole como el método de Karnaugh al simplificar la función queda como

F = AB'

Y dicha función tengo que representarla con puertas NAND (esto es lo de menos)

La duda es: Si al simplificar la función sólo obtengo 2 variables, ¿cómo voy a poder representar su diagrama lógico para que la salida que dé sea la correcta si uno de los valores de entrada debe ser 5 y con dos variables sólo se puede llegar a 3?

Un saludo

P.D: Para representar funciones lógicas uso el digital works 95 que es gratuíto y permite hacer bastantes cosas... espero que sirva de algo después de todo xD

skapunky

Lo primero que debes hacer, fijate que te pide el ejercicio implementarlo con puertas nand es con la expresión F= AB'C' + AB'C pasarla a una expresión equivalente que la puedas implementar con nands.

En este caso tienes una puerta OR...(+) Imagíno que te han explicado el truquillo de como convertir esa or en and (Lo de la doble negación y separando)...Una vez tengas la expresión convertida toda con puertas nand's ya simplificarás.

Killtrojan Syslog v1.44: ENTRAR

Cervantes_xD

Con puertas NAND se hace rapidito con nuestro amigo Morgan xD

     ___________  NAND3
      _____  ____   
F = (AB'C') (AB'C)

       NAND1  NAND2 -> Ya tenemos los productos negados de las variables :D

Pero lo que me preocupa no es hacerlo con puertas lógicas, lo que me preocupa es cuando nos piden SIMPLIFICARLA, que queda de la forma

F = AB'

Sin embargo la salida de la función debe de ser 1 con las combinaciones 1 y 5 como reflejo en las tablas de verdad, pero al simplificar la función sólo me quedan dos variables, entonces cómo saco yo el 5 en las entradas para que la salida de la función se cumpla?  :huh:

Es eso lo que me trae de cabeza...

Un saludo

skapunky

Mira...fijate una cosa, es la chapuza mas grande de la história, pero da la casualidad que se puede hacer  :xD, fijate que queda:

  |  C    B    A  |  F

1|  0    0    1   |  1
5|  1    0    1   |  1

Fijate que A y B para los numeros 1 y 5 són idénticos, B = 0 y A = 1, solo diferenciará si se trata de 1 o 5 según si C es 0 o 1.

A lo que me refiero es que en realidad puedes fijar B=0 y A=1 y variar solo C. Por cierto, este montaje para que lo quieres? Según para lo que lo quieras esta chapuza se puede hacer o no se puede.
Killtrojan Syslog v1.44: ENTRAR

Cervantes_xD

Es para las prácticas de sistemas digitales, que hay que simularla en dicho software mencionado antes, Digital Works :)

Gracias por la respuesta a ver si lo simulo para comprobar que funciona, ya si eso luego lo implemento con puertas nand, esque yo tengo esa función sin simplificar ya con diseño con circuitos integrados y todo (software que en este ordenador NO tengo xD)

A ver si me da la picada y hago la captura de pantalla pero el caso es que necesito tener esta función simplificada para las memorias de la asignatura y quiero tenerlo todo perfecto :\

Gracias por la ayuda, si encuentro otra solución (aunque sea otra chapuza xD) la postearé aquí  ;)

Gracias de nuevo @skapunky

le_roi

#5
Llego un poco tarde, espero no mucho...
Comento porque no pude entender como es que F representa la sumatoria de las tres variables, siendo estas de 1 bit como se muestra en la tabla de verdad.

¿No debería ser así?:

 |  C    B    A  |  F
-----------------------
0|  0    0    0  |  0
1|  0    0    1  |  1
2|  0    1    0  |  1
3|  0    1    1  |  0*
4|  1    0    0  |  1
5|  1    0    1  |  0*
6|  1    1    0  |  0*
7|  1    1    1  |  1*

Donde * representa la existencia de un "acarreo". Bueno, lo más probable es que yo esté interpretando mal el problema, igual no me pude aguantar...

Saludos.