El error de comparación en la aplicación de una puerta MUX en nand2tetris

votos
0

Estoy tratando de poner en práctica una puerta MUX (multiplexor) en el curso nand2tetris. La primera vez que probé a mí mismo, y me dio un error. Pero no importa lo que he cambiado siempre me dieron el error. Así que traté de comprobar algo de código en línea, y esto es lo que utilizan la mayoría de la gente:

CHIP Mux {
    IN a, b, sel;
    OUT out;

    PARTS:
    Not(in=sel, out=nsel);
    And(a=sel, b=b, out=c1);
    And(a=nsel, b=a, out=c2);
    Or(a=c1, b=c2, out=out);
}

Pero incluso cuando intento este código todavía consigo el error siguiente: msg

Lo que me pasa como una tabla de verdad:

|   a   |   b   |  sel  |  out  |
|   0   |   0   |   0   |   0   |
|   0   |   0   |   1   |   0   |
|   0   |   1   |   0   |   0   |
|   0   |   1   |   1   |   0   |

Lo que debería obtener:

|   a   |   b   |  sel  |  out  |
|   0   |   0   |   0   |   0   |
|   0   |   0   |   1   |   0   |
|   0   |   1   |   0   |   0   |
|   0   |   1   |   1   |   1   |
|   1   |   0   |   0   |   1   |
|   1   |   0   |   1   |   0   |
|   1   |   1   |   0   |   1   |
|   1   |   1   |   1   |   1   |

Tengo el paquete de software más reciente por 13/01/2020

Publicado el 13/01/2020 a las 23:48
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
1

De lo que se ve sus pines de entrada son:

a = 0  
b = 1  
sel = 1

Sus pines internos son:

nsel = 1 
c1   = 1 
c2   = 0

Todo según lo previsto hasta ahora.

Espera out = 1 , en este caso y se obtiene out = 0. Escritura de la prueba se detiene en este punto debido al fracaso.

Ahora puede haber dos razones de que:
1) que no se ha cargado correctamente Mux.hdly porque si usted calculaba Or(c1,c2)que se obtendría 1 , que es la correcta. Si ha colocado Andla puerta en lugar de Orlo que explicaría el fracaso
2) la implementación de Or.hdles incorrect.Mux utiliza su versión de Orla puerta si existe el fichero está presente en el mismo directorio.

Así que primero verificar su código en hardware simulador, a continuación, comprobar la ejecución de Or.hdl. Este último se podría hacer mediante la eliminación temporal Or.hdldel directorio del proyecto. Simulador de hardware se carga incorporada en la versión de la Orpuerta.

Respondida el 14/01/2020 a las 01:56
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more