7 fatos sobre o subtrator binário: meio e subtrator completo

  • Definição e visão geral do subtrator binário
  • Meio Subtrator
  • Subtrator Completo
  • Subtrator N-bit
  • Aplicações de subtrator binário
  • VHDL implementação de meio subtrator e subtrator completo

Definição

Um subtrator é um dispositivo que subtrai dois números e produz o resultado. Um subtrator digital ou binário é algo que lida com a subtração de dígitos binários.

Um subtrator binário é necessário para computação digital dentro de um dispositivo digital ou computador digital. A forma mais conveniente de subtração de números binários sem sinal é o método de complementos. Existem regras para subtração binária.

As regras de subtração binária são definidas como segue. Aqui, 0 é lógico baixo e um é lógico alto. A e B são duas entradas.

ABY = A - B
000
011 (pedir emprestado 1)
101
110
Tabela verdade de subtração binária

Exemplo de operações de subtração:

1101 – 1011

1101

- 1011

= 0010

Então, a resposta é 0010

Métodos de complementos podem alternativamente realizar subtrações binárias para subtratores binários. Existem dois tipos de métodos de complemento geralmente usados.

Complemento de A. 1

B. Complemento de 2

Passos para realizar o complemento de 1:

  1. Descubra o complemento de 1 do número a ser subtraído.
  2. Agora, o complemento de 1 é adicionado ao número a partir do qual a subtração é desejada.
  3. Onde houver um transporte na última posição, do resultado da adição na etapa 2, o transportador é retirado e adicionado ao produto sem o transporte para se obter o resultado final.

Vejamos um exemplo - 1101 - 1011

Complemento de 1 de 1011 = 0100

Agora, adicione 1101 com 0100

1101

 + 0100

 = 1 0001

Como podemos ver, existe um como carry, então removemos o carry e adicionamos o carry novamente com o resultado obtido.

0001

+ 1

= 0010

Então, a resposta para a subtração é 0010

Para o método de complemento de 2

  1. Calcule o complemento de 2.
  2. O complemento agora é adicionado com outro número.
  3. O transporte é rejeitado.

Vejamos um exemplo - 1101 - 1011

O complemento de 2 de qualquer número é calculado executando o complemento de 1 e adicionando 1 a ele.

Complemento de 2 de

Agora, adicione 1101 com 0100

1101 + 0100 = 1 0001

Como podemos ver, existe um como carry, então removemos o carry e adicionamos o carry novamente com o resultado obtido.

0001 + 1 = 0010

Então, a resposta para a subtração é 0010

Os computadores digitais usam o método do complemento de 2 para cálculos, pois requer menos transporte.

Os métodos de complemento no sistema numérico decimal são conhecidos como método de complemento de 9 e 10.

Vários circuitos digitais implementam essa operação de subtração. Eles são -

  • Meio Subtrator
  • Subtrator Completo

Um subtrator binário não apenas executa operações de adição, mas também é usado em aplicativos digitais. Decodificação e codificação de valores, cálculo do índice são algumas de suas aplicações.

Meio subtrator

Um meio subtrator binário é um subtrator binário que subtrai um bit de dados e produz o resultado. Possui dois lados de entrada através dos quais fornecemos os valores lógicos digitais e possui duas saídas através das quais recebemos o impacto da operação. O resultado pode ser mostrado em um único dígito. O trabalho mostra o número na subtração que tem o mesmo significado que os dígitos individuais subtraídos. A outra saída mostra o bit de empréstimo.

Meio subtrator usando NAND
Implementação de porta NAND. Crédito de imagem - NitianabhigyanMeio subtrator usando NANDCC BY-SA 4.0

A tabela de verdade do meio subtrator

O funcionamento do subtrator meio binário é mostrado na seguinte tabela verdade.

ABDiferençaPedir emprestado
0000
0111
1010
1100
Tabela verdade para meio subtrator binário

Circuito de meio subtrator

A partir da tabela verdade, podemos concluir que as primeiras três linhas podem representar o resultado usando um único dígito. Na segunda linha, o trabalho é descrito usando dois números, pois foi emprestado como 1.

Diferença = A′B + AB ′

Pegar emprestado = A′B 

então,

Diferença = A XOR B

Pegar emprestado = A ′ AND B

Precisamos de uma porta XOR, uma porta NOT e uma porta AND para implementar a lógica. Porta XOR, porta NÃO, porta AND também podem ser feitas usando portas universais como NAND e NOR. Portanto, um meio subtrator pode ser projetado usando apenas portas universais.

A imagem a seguir mostra A e B como a entrada e D como a diferença e C como eles pegam emprestado.

Meio Subtrator Binário
Meio Subtrator

Subtrator Completo

Subtrator binário completo é outro tipo de subtrator binário que fornece o resultado de uma operação de subtração binária. Quando dois números binários são subtraídos, exceto para o dígito menos significativo, há um empréstimo como Bi-1 e pedir emprestado como Bi. O Subtractor completo é projetado para lidar com um empréstimo para cada estágio. É assim que um pedido inteiro supera a deficiência da metade do Subtractor em relação ao empréstimo em execução.

Uma tabela de verdade completa do subtrator

XiYiBi-1DiBi
00000
00111
01011
01101
10010
10100
11000
11111
Tabela de verdade completa do Subtractor

Circuito subtrator completo

Diferença = A ′ B ′ Bin + AB ′ Bin′ + A ′ BBin′ + ABBin 

Pegar emprestado = A ′ Bin + A ′ B + BBin 

Para implementar a expressão usando portas lógicas, precisamos simplificar ainda mais a palavra.

Diferença = A ′ B ′ Bin + AB ′ Bin′ + A ′ BBin′ + ABBin 

 Ou, Diferença = Bin (A′B ′ + AB) + Bin ′ (AB ′ + A′B)

 Ou, Diferença = Bin (A XNOR B) + Bin ′ (A X OU B)

 Ou, Diferença = Bin (A XOR B) ′ + Bin ′ (A X OU B)

 Ou, Diferença = Bin XOR (A XOR B)

  Ou, Diferença = (A XOR B) Bin XOR

Emprestar = A ′ B ′ Bin + AB ′ Bin′ + A ′ BBin′ + ABBin 

 Ou, pedir emprestado = A ′ B ′ Bin + A ′ BBin ′ + A ′ BBin + A ′ BBin + A ′ BBin + AB Bin

 Ou, Pegar emprestado = A ′ Bin (B + B ′) + A′B (Bin + Bin ′) + BBin (A + A ′)

 Ou, Pegar emprestado = A ′ Bin + A′B + BBin

A expressão pode ser escrita de outra maneira -

Bout = A ′ B ′ Bin + A ′ Bin B ′ + A ′ Bin B + Bin AB     

    Ou, Empréstimo = Bin (AB + A ′ B ′) + A ′ B (Bin + Bin ′)

     Ou Empréstimo = Bin (A XNOR B) + A ′ B

    Ou, Empréstimo = Bin (A XOR B) ′ + A ′ B

Subtratores binários completos
Subtratores completos, X, Y, Z são introduzidos

Como mostra o diagrama do circuito, A, B e Bpol O circuito fornece duas saídas como saída de diferença e toma emprestado a saída. O Bin é definido como 1 sempre que houver empréstimo na entrada A. Bin é então subtraído de A e Y.

A expressão geral pode ser escrita como D = A - B - Bin + 2Bpara fora.

Subtratores completos também podem ser implementados usando subtratores pela metade.

1920px completo subfixo.svg
Subtratores completos usando meio subtrator

Subtrator de N bits

Em um subtrator binário de bit único, a subtração de apenas 1 bit pode ser executada. Se precisarmos realizar a subtração de n bits, será necessário um subtrator binário de bits. Um subtrator de n bits pode ser implementado de forma semelhante usando subtratores em uma forma em cascata.

Aplicações de Subtratores

  • Subtratores são freqüentemente usados ​​com somadores. Sempre que um somador é necessário para um circuito, um subtrator também é necessário.
  • ALU, que é responsável pelo cálculo, e fica dentro de um microprocessador, também precisa de subtratores. CPUs também precisam de subtratores para operação.
  • Os microcontroladores também usam subtratores para realizar a computação digital.
  • Subtratores também são usados ​​no Domínio de Processamento de Sinal Digital.
  • Os computadores digitais usam muitos subtratores.

Implementação VHDL de Metade Subtratores e Subtratores Completos

Modelagem de fluxo de dados de meio subtrator

biblioteca IEEE;

use IEEE.STD_LOGIC_1164.ALL;

entidade ENTITY_NAME é

    Porta (A: em STD_LOGIC;

           B: em STD_LOGIC;

           IB: em STD_LOGIC;

           Dif: out STD_LOGIC;

           Borr: out STD_LOGIC);

fim ENTITY_NAME;

Arquitetura de fluxo de dados

arquitetura Dataflow de ENTITY_NAME é

começar

Dif <= (A xor B) xor IB;

Borr <= ((não A) e (B ou IB)) ou (B e IB);

fim do fluxo de dados;

Modelagem de Fluxo de Dados Subtrator Completa

entidade ENTITY_NAME é

    Porta (A: em STD_LOGIC;

           B: em STD_LOGIC;

           IB: em STD_LOGIC;

           Borr: out STD_LOGIC;

           Dif: out STD_LOGIC);

fim ENTITY_NAME;

Fluxo de dados de arquitetura

arquitetura Comportamental de ENTITY_NAME é

começar

processo (A, B, IB)

começar

if (A = '0 ′ e B =' 0 ′ e IB = '0 ′) então

Dif <= '0 ′;

Borr <= '0 ′;

elsif (A = '0 ′ e B =' 0 ′ e IB = '1 ′) então

Borr <= '1 ′;

Dif <= '1 ′;

elsif (A = '0 ′ e B =' 1 ′ e IB = '0 ′) então

Borr <= '1 ′;

Dif <= '1 ′;

elsif (A = '0 ′ e B =' 1 ′ e IB = '1 ′) então

Borr <= '0 ′;

Dif <= '1 ′;

elsif (A = '1 ′ e B =' 0 ′ e IB = '0 ′) então

Borr <= '1 ′;

Dif <= '0 ′;

elsif (A = '1 ′ e B =' 0 ′ e IB = '1 ′) então

Borr <= '0 ′;

Dif <= '0 ′;

elsif (A = '1 ′ e B =' 1 ′ e IB = '0 ′) então

Borr <= '0 ′;

Dif <= '0 ′;

outro

Borr <= '1 ′;

Dif <= '1 ′;

end if;

fim do processo;

fim Comportamental;