No puedo descifrar un rompecabezas que consiste en crear un contador de bits de 4 bits usando puertas lógicas básicas (NOT, OR, AND, NOR, NAND, XOR, XNOR, MUX, FULL ADDER). Un contador de bits indica cuántos bits se establecen en un valor. Entonces, por ejemplo, el valor '1011' tendría el resultado '011' porque se establecen tres bits y '011' significa 3 en binario.
Compré un libro llamado "Principios digitales" de Schaum's Outlines y en ninguna parte de este libro se dice cómo hacer un contador de puertas lógicas. También tengo el libro Hill & Horowitz, usado para enseñar lógica digital. En ninguna parte de este libro se explica cómo hacer un contador de bits con puertas lógicas. Encuentro extremadamente frustrante que hacer circuitos lógicos combinatorios básicos sea una especie de vudú negro que no está documentado.
¿Hay algún libro que describa COMPLETAMENTE la construcción de todos los circuitos combinatorios comunes, como contadores de bits, sumadores, etc., utilizando puertas lógicas básicas?
Nota: descubrir cómo hacer esto no es fácil. Esta es una tabla de verdad de 16 filas con 3 columnas de resultados. Si trata de escribir todo eso y simplificarlo, será muy complejo y tendrá muchas oportunidades para cometer errores. La tabla de verdad para un contador de bits de 4 bits se ve así (entradas a la izquierda, salida a la derecha):
Traté de resolver esto usando un mapa de Karnaugh, pero todavía resulta en una expresión que es demasiado grande para el área de solución de rompecabezas. Por ejemplo, para la segunda columna de salida, obtuve el siguiente mapa de Karnaugh:
que tiene la siguiente expresión:
A'B'CD + A'BD + ABC' + AB'D + BCD' + AB'CD'
Representar esto en el rompecabezas requeriría 6 AND de 4 vías, 1 OR de 4 vías y 3 OR de 2 vías. Todos estos componentes ni siquiera cabrían en el área disponible para la solución del rompecabezas.
Dadas las entradas A, B, C, D y las salidas X, Y, Z, donde XYZ es un número binario sin signo de 3 bits que representa el número de bits en ABCD que son 1. Sea X el bit más significativo del número binario y sea Z sea el bit menos significativo.
La tabla de verdad para la función se parece a...
ABCD => XYZ
0000 => 000
0001 => 001
0010 => 001
0011 => 010 0100 =>
001
0101
=> 010 0110 => 010
0111 => 011
1000 => 001
1001 => 010
1010 =
> 010 1011 =
> 011 1100 => 010
1101 => 011
1110 => 011
1111 => 100
De la tabla de verdad vemos claramente que la salida X es solo 1 cuando todos los bits en ABCD son 1 .
X = A AND B AND C AND D
Vemos claramente que la salida Z solo es 1 cuando un número impar de bits es 1. Una función de paridad impar se implementa fácilmente usando puertas XOR. Por lo tanto...
Z = A XOR B XOR C XOR D
La función para la salida Y es un poco menos obvia. 1 cuando al menos dos de ABCD están encendidos pero no cuando los cuatro están encendidos. El término Y puede escribirse como todas las combinaciones de dos entradas activadas, excepto cuando las cuatro están activadas.
Y = ((A Y B) O (A Y C) O (A Y D) O (B Y C) O (B Y D) O (C Y D)) Y NO X
Como alternativa a lo descrito anteriormente, esta función también podría construirse conectando en cascada un sumador de dos bits y dos sumadores de tres bits. El primer sumador suma A y B. El segundo sumador suma el resultado del primer sumador a C. Y el tercer sumador suma el resultado del segundo sumador a D, y así sucesivamente para cualquier número de entradas.
Descubrí la solución, que es similar a lo que dice el usuario 96037 al final de su respuesta. Debido al espacio limitado disponible en el área de solución, es necesario usar sumadores y parece que se necesitan dos sumadores de la siguiente manera:
Entonces, la estrategia básica aquí es que primero genere los recuentos de bits para las entradas 1+2 y 3+4 por separado, lo que se puede hacer con solo 2 puertas cada una (XOR y AND). Ahora, tienes dos valores de 2 bits. Luego puede sumar estos dos valores usando un par de sumadores completos encadenados. El acarreo al primer sumador debe establecerse en 0. Por lo tanto, en total hay 6 componentes más el 0 en.
Eugenio Sh.
NAND
oNOR
solo ...Tyler Durden
Eugenio Sh.
QueRosaBestia
Tyler Durden
Eugenio Sh.
Tyler Durden
Eugenio Sh.
Eugenio Sh.
tyler
Tyler Durden
Tyler Durden
Tyler Durden
Eugenio Sh.
Transistor
Eugenio Sh.