Saltar al contenido principal
LibreTexts Español

9.3: Complementador completo

  • Page ID
    154518
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    El medio sumador es extremadamente útil hasta que desee agregar más de un dígito binario. La manera lenta de desarrollar un sumador de dos dígitos binarios sería hacer una tabla de verdad y reducirla. Entonces cuando decidas hacer un sumador de tres dígitos binarios, hazlo de nuevo. Entonces cuando decidas hacer un sumador de cuatro dígitos, hazlo de nuevo. Entonces cuando... Los circuitos serían rápidos, pero el tiempo de desarrollo sería lento.

    Al mirar una suma de dos dígitos binarios, se muestra lo que necesitamos para extender la suma a múltiples dígitos binarios.

    eds.PNG

    Mira cuántas entradas usa la columna central. Nuestro sumador necesita tres entradas; a, b, y el acarreo de la suma anterior, y podemos usar nuestro sumador de dos entradas para construir un sumador de tres entradas.

    σ es la parte fácil. La aritmética normal nos dice que si σ = a + b + C in y σ 1 = a + b, entonces σ = σ 1 + C in.

    04455.png

    04476.png

    ¿Qué hacemos con C 1 y C 2? Veamos tres sumas de entrada y calculemos rápidamente:

    gfd.PNG

    Si tiene alguna inquietud sobre la broca de orden bajo, por favor confirme que el circuito y la escalera la calculan correctamente.

    Para calcular el bit de orden alto, observe que es 1 en ambos casos cuando a + b produce un C 1. Además, el bit de orden alto es 1 cuando a + b produce un σ 1 y C in es un 1. Entonces tendremos un acarreo cuando C 1 O (σ 1 Y C in). Nuestro sumador completo de tres entradas es:

    04456.png

    04477.png

    Para algunos diseños, ser capaz de eliminar uno o más tipos de compuertas puede ser importante, y se puede reemplazar la puerta OR final por una puerta XOR sin cambiar los resultados.

    Ahora podemos conectar dos sumadores para agregar cantidades de 2 bits.

    04457.png

    04478.png

    A 0 es el bit de orden bajo de A, A1 es el bit de orden superior de A, B 0 es el bit de orden bajo de B, B 1 es el bit de orden superior de B, σ 0 es el bit de orden bajo de la suma, σ 1 es el bit de orden alto de la suma, y C out es el Carry.

    Un sumador de dos dígitos binarios nunca se haría de esta manera. En cambio, los bits de orden más bajo también pasarían por un sumador completo.

    04458.png

    04479.png

    Hay varias razones para ello, una es que entonces podemos permitir que un circuito determine si el acarreo de orden más bajo debe incluirse en la suma. Esto permite el encadenamiento de sumas aún mayores. Considera dos formas diferentes de ver una suma de cuatro bits.

    hg.PNG

    Si permitimos que el programa agregue un número de dos bits y recuerde el carry para más adelante, entonces use ese carry en la siguiente suma el programa puede agregar cualquier número de bits que el usuario quiera aunque solo hayamos proporcionado un sumador de dos bits. Los PLC pequeños también se pueden encadenar juntos para obtener números más grandes. Estos sumadores completos también se pueden ampliar a cualquier número de bits que permita el espacio. Como ejemplo, aquí te explicamos cómo hacer un sumador de 8 bits.

    04459.png

    Este es el mismo resultado que usar los dos sumadores de 2 bits para hacer un sumador de 4 bits y luego usar dos sumadores de 4 bits para hacer un sumador de 8 bits o volver a duplicar la lógica de escalera y actualizar los números.

    04460.png

    Cada “2+” es un sumador de 2 bits y está hecho de dos sumadores completos. Cada “4+” es un sumador de 4 bits y está hecho de dos sumadores de 2 bits. Y el resultado de dos sumadores de 4 bits es el mismo sumador de 8 bits que usamos sumadores completos para construir. Para cualquier circuito combinacional grande generalmente hay dos enfoques de diseño: puedes tomar circuitos más simples y replicarlos; o puedes diseñar el circuito complejo como un dispositivo completo. El uso de circuitos más simples para construir circuitos complejos le permite a usted pasar menos tiempo diseñando pero luego requiere más tiempo para que las señales se propaguen a través de los transistores. El diseño del sumador de 8 bits anterior tiene que esperar a que todas las señales C x out se muevan desde A 0 + B 0 hasta las entradas de σ 7. Si un diseñador construye un sumador de 8 bits como un dispositivo completo simplificado a una suma de productos, entonces cada señal simplemente viaja a través de una puerta NOT, una puerta AND y una puerta OR. Un dispositivo de diecisiete entradas tiene una tabla de verdad con 131,072 entradas, y reducir 131,072 entradas a una suma de productos llevará algún tiempo. Al diseñar sistemas que tienen un tiempo de respuesta máximo permitido para proporcionar el resultado final, puede comenzar usando circuitos más simples y luego intentar reemplazar partes del circuito que son demasiado lentas. De esa manera pasas la mayor parte de tu tiempo en las porciones de un circuito que importan.


    This page titled 9.3: Complementador completo is shared under a GNU Free Documentation License 1.3 license and was authored, remixed, and/or curated by Tony R. Kuphaldt (All About Circuits) via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.