Descripción de compuertas lógicas
Enviado por Jhon Jaime Novoa Martinez • 26 de Marzo de 2023 • Apuntes • 640 Palabras (3 Páginas) • 103 Visitas
- ¿Cuál es el objetivo de ese proyecto con sus palabras y describa que debe hacer para desarrollarlo?
- Not
El objetivo de esta práctica consiste en comprender las compuertas lógicas básicas utilizadas en un computador mediante el uso de otras compuertas, utilizando incialmente la compuerta NAND. Para alcanzar este objetivo, se usará el software nand2tetris, el cual mediante archivos HDL y a partir de la compuerta NAND, se simularán y comprobarán las siguientes compuertas: Not, And, Or, Xor, Mux, DMux, Not16, And16, Or16, Mux16, Or8Way, Mux4Way16, Mux8Way16, DMux4Way y DMux8Way.
[pic 1][pic 2]
CHIP Not {
IN in;
OUT out;
PARTS:
Nand(a=in,b=in,out=out);
}
La compuerta Not básicamente funciona negando cualquier entrada que se le asigne, entonces para representarla usamos una compuerta NAND de una entrada que nos daría un comportamiento similar
[pic 3][pic 4]
CHIP And {
IN a, b;
OUT out;
PARTS:
Nand (a=a, b=b, out=out1);
Not(in=out1, out=out);
}
el funcionamiento de la compuerta and es la multiplicación de sus entradas, la cual podemos simulador usando una compuerta NAND y una NOT
[pic 5][pic 6]
OR
CHIP Or {
IN a, b;
OUT out;
PARTS:
Not(in = a, out = not0);
Not(in = b, out = not1);
Nand(a = not0, b = not1, out = out);
}
Esta compuerta tendrá su salida en 1 cuando alguna de las 2 entradas es 1 ya que según la lógica booleana la compuerta nos arroja de salida la suma de las 2 entradas, otra forma de representarla seria usando dos compuertas NOT y una compuerta NAND
[pic 7] [pic 8]
CHIP Xor {
IN a, b;
OUT out;
PARTS:
Nand(a=a, b=b, out=x);
Or(a=a, b=b, out=y);
And(a=x, b=y, out=out);
}
La compuerta XOR básicamente funciona como una compuerta OR pero negando las salidas, la podemos representar usando una compuerta NAND, una compuerta OR y una compuerta AND.
[pic 9][pic 10]
CHIP Mux {
IN a, b, sel;
OUT out;
PARTS:
Not(in=sel, out=sel1);
And(a=a, b=sel1, out=x);
And(a=b, b=sel, out=y);
Or(a=x, b=y, out=out);
}
El multiplexor está conformado por dos entradas (a,b) y un selector, si el selector es cero la salida tendrá el mismo valor que la entrada a, si el selector es 1 la salida tendrá el mismo valor que la entrada b, podemos representar el multiplexor con una compuerta NAND, OR y una AND
...