circuito digital simplificado

Sé cómo simplificar circuitos digitales utilizando mapas de Karnaugh. Sin embargo, los circuitos resultantes siempre constan únicamente de not, andy orpuertas (operadores básicos de álgebra booleana).

A menudo, al usar otras puertas ( xor, nor, xnor, nand, etc.) puede obtener un circuito más simple.

¿Qué técnicas se pueden utilizar para esta simplificación?

Por lo tanto, desea un algoritmo que utilice el software de síntesis lógica. Este tema es mortalmente complejo y mortalmente caro :-) Realmente quieres empezar a investigar aquí: en.wikipedia.org/wiki/Logic_síntesis
Ni siquiera pensé en preguntar por qué los redujimos a lo que nuestros cerebros podían comprender fácilmente. ¡Ojalá pudiera votar esto más de una vez! Esta es una pregunta fantástica.
Puede masajear la salida del K-map para dar funciones NOR y NAND, usando De Morgan

Respuestas (3)

Si desea llegar hasta el nivel del transistor para obtener un circuito más simple, hay más formas de simplificar el circuito. Por ejemplo, usar NMOS en lugar de CMOS le permite usar una resistencia en lugar de 2 transistores PMOS para una puerta NAND, lo que podría valer la pena si no necesita un 1 fuerte y está usando componentes discretos.

Además, los MOSFET de puerta flotante con múltiples señales de puerta se pueden usar para implementar puertas lógicas, e incluso lógica de valor múltiple, con muy pocos dispositivos.

Probablemente no le importe el nivel del transistor en este momento, pero es algo que desea considerar en algún momento. NOT, NAND y NOR son los más fáciles (menos transistores) de hacer en CMOS, por lo que otras puertas generalmente se componen de estos.

Nota al margen: lo más simple no es necesariamente lo mejor; es posible que desee igualar los tiempos de ruta para evitar fallas.

¡Gracias por la información en el nivel inferior! Sin embargo, desearía que las puertas lógicas fueran 'ideales' y no compuestas de transistores :-). Entonces, su punto podría reformularse como: antes de conocer la tecnología IC (ASIC personalizado/semipersonalizado, FPGA, CPLD...) no tiene criterios para la simplificación :-)
@Halst, a veces tienes que seguir con la escuela y demás para aprender el concepto de cómo funcionan realmente las cosas. Luego te harán usarlo a un nivel real.
-1 no aborda la pregunta real de OP.

La unidad básica del circuito lógico es la puerta NAND. La mayoría (si no todos) los circuitos lógicos programables usan puertas NAND internamente. Todas las demás puertas se pueden componer de puertas puramente NAND:

  • Una puerta NOT es una puerta NAND con todas las entradas unidas.
  • Una compuerta AND es 2 compuertas NAND - 1 configurada como NO para invertir la salida
  • Una compuerta OR es 3 compuertas NAND - 2 configuradas como NO para invertir las entradas

NOR, XOR, etc. usan más puertas y, a menudo, se evitan porque son un "uso menos eficiente de los recursos".

Así que realmente depende de lo que entiendas por un circuito 'más simple'. ¿Es un circuito más simple uno que usa menos puertas individuales o uno que usa menos tipos de puertas? El 100% de eficiencia podría ser una sola puerta que haga todo lo que usted quiera, o podría ser un montón, un montón, un solo tipo de puerta.

@Matt: "use más puertas y, a menudo, se evitan". no estoy muy de acuerdo Si desea comparar la igualdad de dos valores binarios, simplemente necesita un XOR, simplemente no hay otra solución. Son 4 compuertas NAND, sí, pero no hay nada que puedas hacer al respecto.
@stevenvh, por lo tanto, 'a menudo evitado' y no 'siempre evitado'
a lo que te refieres se llama 'puertas universales', son nandy nor. Sin embargo, es un gran error pensar que la mayoría de los circuitos digitales se basan en ellos. Los circuitos reales siempre usan las puertas lógicas que necesitan para tener menos.
entonces, para ser explícito, su respuesta es completamente incorrecta en todos los puntos.
@Halst Dije lógica programable : FPGA, etc. Estos se basan en la genérica (?) De las puertas NAND (o NOR) para funcionar.
@Matt, eso también está mal. Los FPGA se basan en elementos lógicos (consulte altera.com/literature/hb/cyc3/cyc3_ciii51002.pdf ) que generalmente consisten en un registro y una tabla de búsqueda que es básicamente una celda de memoria con 4 entradas y 1 salida, que es utilizado para crear cualquier puerta lógica (o varias de ellas).
@halst hmmm... las cosas pueden haber cambiado desde que me entrenaron entonces. He desenterrado mi viejo libro de texto universitario: publicado por primera vez en 1979, reimpreso en 1989... 74 La lógica era lo más importante entonces;)
NOR tiene exactamente la misma complejidad que NAND. AND, OR, XOR requieren más transistores. Incluso los PAL (lógica de matriz programable y PLA, matriz lógica programable, los dispositivos programables en campo más simples y antiguos) usaban una matriz de AND seguida de una matriz de OR. ¿Y qué es esto de "ambas" entradas? No existe una regla que limite una puerta NAND o NOR a solo dos entradas.
Está bien, pedante. Debería cambiarte el nombre a Which Tyler. s/ambos/todos/g
@ Matt, en realidad tienes razón en espíritu, pero muchos se están perdiendo en palabras. En la mayoría de los circuitos integrados e incluso en la construcción a partir de componentes discretos, NAND o NOR por sí solos están funcionalmente completos. Si usa solo una puerta NAND, que tiene 4 transistores, puede construir un circuito. Sin embargo, en realidad, todo se reduce a transistores y por cada 2 transistores puede agregar un poco más de "pensamiento" a una puerta. Esto a menudo se hace directamente. De todos modos, pensé en decir algo ya que no estás "equivocado" y creo que vale la pena pensar en tu punto.
En realidad, existe una distinción entre AND y OR: el primero usa una serie de nMOS, mientras que el segundo usa una serie de pMOS. Por lo tanto, debido al mejor rendimiento de nMOS, NAND suele tener un mejor rendimiento.

Hay dos cosas de las que hablas:

1) las compuertas xor son en realidad una simplificación de un circuito más sofisticado. si dibuja el mapa K para la lógica xor, debe obtener Xor = A'B + AB' en el nivel del transistor, es una forma en que se implementa. (+ es o, la multiplicación es y y ' no es)

2) Para usar las puertas nor/nand/xnor necesitas usar la ley de DeMorgans.

Que estados:

A'B' = (A+B)'

A'+B' = (AB)'

esencialmente: si no tiene una lógica y / o se dividirá o fusionará (y se convierte en o) y los componentes individuales no están editados.

Tu ecuación no se ve bien. (A+B) 'A' + B' siempre sería verdadero si B es falso. Pero A'B' solo es verdadero si B es falso y A es falso.
@ThePhoton Stackexchange apesta. Enter no hace un salto de línea adecuado.