generator and source files for the compudanzas.net site
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Warning: Missing License
We looked everywhere, but we couldn't find an OSI- or FSF-approved Free Software or Content License, which is a requirement for hosting content on Codeberg.
Learn about why no license or custom ones are a bad idea and get started on the docs.
Please consider carefully if you want to use (parts of) this project, as doing so might put you in legal trouble.
 
 
 
 
 

168 lines
4.5 KiB

# compuertas lógicas
las bases de los circuitos digitales, o {digital systems}
estos incluyen, claro está, a las:
=> ./danzas_compuertas.gmi {danzas compuertas}
=> ./coloring_computers.gmi {coloring computers}
=> ./beans_computing.gmi {beans computing}
usamos la convención de utilizar dos valores posibles: 1 para denominar arriba, o verdadero, y 0 para denominar abajo, o falso.
# una entrada
## buffer
la salida es igual a la entrada
## NOT
la salida es lo opuesto a la entrada.
también podríamos decir que la salida es lo que no es la entrada.
+ <table>
+ <tr><th>input</th><th>output</th></tr>
+ <tr><td>0</td><td>1</td></tr>
+ <tr><td>1</td><td>0</td></tr>
+ </table>
& * input: 0, output: 1
& * input: 1, output: 0
# dos entradas
con dos entradas binarias, hay cuatro posibles combinaciones.
## AND
la salida es verdadera únicamente cuando todas sus entradas son verdaderas.
en cualquier otro caso, la salida es falsa.
+ <table>
+ <tr><th>inputs</th><th>output</th></tr>
+ <tr><td>00</td><td>0</td></tr>
+ <tr><td>01</td><td>0</td></tr>
+ <tr><td>10</td><td>0</td></tr>
+ <tr><td>11</td><td>1</td></tr>
+ </table>
& * inputs: 00, output: 0
& * inputs: 01, output: 0
& * inputs: 10, output: 0
& * inputs: 11, output: 1
## OR
la salida es verdadera cuando aunque sea una de sus entradas sea verdadera.
únicamente cuando todas las entradas son falsas, su salida es falsa.
+ <table>
+ <tr><th>inputs</th><th>output</th></tr>
+ <tr><td>00</td><td>0</td></tr>
+ <tr><td>01</td><td>1</td></tr>
+ <tr><td>10</td><td>1</td></tr>
+ <tr><td>11</td><td>1</td></tr>
+ </table>
& * inputs: 00, output: 0
& * inputs: 01, output: 1
& * inputs: 10, output: 1
& * inputs: 11, output: 1
## XOR
la salida es verdadera cuando una y solo una de sus entradas sea verdadera.
en cualquier otro caso, la salida es falsa.
+ <table>
+ <tr><th>inputs</th><th>output</th></tr>
+ <tr><td>00</td><td>0</td></tr>
+ <tr><td>01</td><td>1</td></tr>
+ <tr><td>10</td><td>1</td></tr>
+ <tr><td>11</td><td>0</td></tr>
+ </table>
& * inputs: 00, output: 0
& * inputs: 01, output: 1
& * inputs: 10, output: 1
& * inputs: 11, output: 0
también la podemos describir así: la salida es verdadera cuando las entradas son diferentes, y es falsa cuando las entradas son iguales.
## NOR
la salida es verdadera cuando ninguna de sus entradas es verdadera.
que es lo mismo que decir que su salida es verdadera cuando todas sus entradas son falsas.
en cualquier otro caso, su salida es falsa.
+ <table>
+ <tr><th>inputs</th><th>output</th></tr>
+ <tr><td>00</td><td>1</td></tr>
+ <tr><td>01</td><td>0</td></tr>
+ <tr><td>10</td><td>0</td></tr>
+ <tr><td>11</td><td>0</td></tr>
+ </table>
& * inputs: 00, output: 1
& * inputs: 01, output: 0
& * inputs: 10, output: 0
& * inputs: 11, output: 0
NOR es una de las compuertas universales: con ella se puede construir a todas las demás.
esto se debe en parte a que NOR se convierte en NOT si sus dos entradas están conectadas como una sola.
por otro lado, NOR es equivalente a negar con NOT la salida de una compuerta OR.
por cómo funciona, también la podemos considerar como un AND que funciona con 0 en vez de con 1.
=> ./nor.gmi {nor}
## NAND
la salida es verdadera cuando aunque sea una de sus entrada es falsa.
únicamente cuando todas sus entradas son verdaderas, su salida es falsa.
+ <table>
+ <tr><th>inputs</th><th>output</th></tr>
+ <tr><td>00</td><td>1</td></tr>
+ <tr><td>01</td><td>1</td></tr>
+ <tr><td>10</td><td>1</td></tr>
+ <tr><td>11</td><td>0</td></tr>
+ </table>
& * inputs: 00, output: 1
& * inputs: 01, output: 1
& * inputs: 10, output: 1
& * inputs: 11, output: 0
NAND es la otra compuerta universal. esto se debe en parte a que se convierte en NOT si sus dos entradas están conectadas como una sola.
por otro lado, NAND es equivalente a negar con NOT la salida de una compuerta AND.
por cómo funciona, también la podemos considerar como un OR que funciona con 0 en vez de con 1.
# más entradas
todas las compuertas funcionan igual para más de dos entradas, excepto XOR.
importante: AND y OR poseen la propiedad distributiva.
por ejemplo, un AND de tres entradas (a, b, c) es equivalente a un AND de dos entradas (a, b), con su salida (x) conectada a la entrada de otro AND de dos entradas (x, c)
esto no sucede así ni en NOR ni en NAND. en su caso, hay que agregar un NOT entre las dos compuertas.
# demorgan
una compuerta AND es equivalente a una compuerta NOR con sus entradas negadas.
una compuerta OR es equivalente a una compuerta NAND con sus entradas negadas.