Circuitos Combinacionais Digitais
Combinational circuitsconsistem em portas lógicas. Esses circuitos operam com valores binários. A (s) saída (s) do circuito combinacional depende da combinação das entradas presentes. A figura a seguir mostra oblock diagram de circuito combinacional.
Este circuito combinacional tem 'n' variáveis de entrada e 'm' saídas. Cada combinação de variáveis de entrada afetará a (s) saída (s).
Procedimento de projeto de circuitos combinacionais
Encontre o número necessário de variáveis de entrada e saídas de especificações dadas.
Formule o Truth table. Se houver 'n' variáveis de entrada, haverá 2n combinações possíveis. Para cada combinação de entrada, encontre os valores de saída.
Encontre o Boolean expressionspara cada saída. Se necessário, simplifique essas expressões.
Implemente as expressões booleanas acima correspondentes a cada saída usando Logic gates.
Conversores de Código
Discutimos vários códigos no capítulo códigos nomeados. Os conversores, que convertem um código em outro código, são chamados decode converters. Esses conversores de código consistem basicamente em portas lógicas.
Exemplo
Código binário para conversor de código Gray
Vamos implementar um conversor, que converte um código binário de 4 bits WXYZ em seu código Gray ABCD equivalente.
A tabela a seguir mostra o Truth table de um código binário de 4 bits para conversor de código Gray.
Código binário WXYZ | WXYZ Gray código ABCD |
---|---|
0000 | 0000 |
0001 | 0001 |
0010 | 0011 |
0011 | 0010 |
0100 | 0110 |
0101 | 0111 |
0110 | 0101 |
0111 | 0100 |
1000 | 1100 |
1001 | 1101 |
1010 | 1111 |
1011 | 1110 |
1100 | 1010 |
1101 | 1011 |
1110 | 1001 |
1111 | 1000 |
Na tabela da verdade, podemos escrever o Boolean functions para cada bit de saída do código Gray conforme abaixo.
$$ A = \ sum m \ left (8,9,10,11,12,13,14,15 \ right) $$
$$ B = \ sum m \ left (4,5,6,7,8,9,10,11 \ right) $$
$$ C = \ sum m \ left (2,3,4,5,10,11,12,13 \ right) $$
$$ D = \ sum m \ left (1,2,5,6,9,10,13,14 \ right) $$
Vamos simplificar as funções acima usando 4 K-Maps de variáveis.
A figura a seguir mostra o 4 variable K-Map para simplificar Boolean function, A.
Ao agrupar 8 adjacentes, obtivemos $ A = W $.
A figura a seguir mostra o 4 variable K-Map para simplificar Boolean function, B.
Existem dois grupos de 4 adjacentes. Após o agrupamento, obteremos B como
$$ B = {W} 'X + W {X}' = W \ oplus X $$
Da mesma forma, obteremos as seguintes funções booleanas para C e D após simplificar.
$$ C = {X} 'Y + X {Y}' = X \ oplus Y $$
$$ D = {Y} 'Z + Y {Z}' = Y \ oplus Z $$
A figura a seguir mostra o circuit diagram de código binário de 4 bits para conversor de código Gray.
Como as saídas dependem apenas das entradas presentes, este conversor de código binário para código Gray de 4 bits é um circuito combinacional. Da mesma forma, você pode implementar outros conversores de código.
Gerador de bits de paridade
Existem dois tipos de geradores de bit de paridade com base no tipo de bit de paridade que está sendo gerado. Even parity generatorgera um bit de paridade par. Similarmente,odd parity generator gera um bit de paridade ímpar.
Even Parity Generator
Agora, vamos implementar um gerador de paridade par para uma entrada binária de 3 bits, WXY. Ele gera um bit de paridade par, P. Se um número ímpar de uns estiver presente na entrada, então o bit de paridade par, P deve ser '1' para que a palavra resultante contenha um número par de uns. Para outras combinações de entrada, mesmo bit de paridade, P deve ser '0'. A tabela a seguir mostra oTruth table de gerador de paridade par.
Entrada Binária WXY | Mesmo bit de paridade P |
---|---|
000 | 0 |
001 | 1 |
010 | 1 |
011 | 0 |
100 | 1 |
101 | 0 |
110 | 0 |
111 | 1 |
A partir da tabela da verdade acima, podemos escrever o Boolean function para bit de paridade par como
$$ P = {W} '{X}' Y + {W} 'X {Y}' + W {X} '{Y}' + WXY $$
$ \ Rightarrow P = {W} '\ left ({X}' Y + X {Y} '\ right) + W \ left ({X}' {Y} '+ XY \ right) $
$ \ Rightarrow P = {W} '\ left (X \ oplus Y \ right) + W {\ left (X \ oplus Y \ right)}' = W \ oplus X \ oplus Y $
A figura a seguir mostra o circuit diagram de gerador de paridade par.
Este circuito consiste em dois Exclusive-OR gatestendo duas entradas cada. A primeira porta OR exclusiva tem duas entradas W e X e produz uma saída W ⊕ X. Esta saída é fornecida como uma entrada da segunda porta OU exclusiva. A outra entrada dessa segunda porta OU Exclusiva é Y e produz uma saída de W ⊕ X ⊕ Y.
Gerador de paridade ímpar
Se um número par de uns estiver presente na entrada, então o bit de paridade ímpar P deve ser '1' para que a palavra resultante contenha um número ímpar de uns. Para outras combinações de entrada, bit de paridade ímpar, P deve ser '0'.
Siga o mesmo procedimento do gerador de paridade par para implementar o gerador de paridade ímpar. ocircuit diagram de gerador de paridade ímpar é mostrado na figura a seguir.
O diagrama de circuito acima consiste em porta Ex-OR no primeiro nível e porta Ex-NOR no segundo nível. Como a paridade ímpar é exatamente oposta à paridade par, podemos colocar um inversor na saída do gerador de paridade par. Nesse caso, o primeiro e o segundo níveis contêm uma porta ExOR em cada nível e o terceiro nível consiste em um inversor.
Verificador de Paridade
Existem dois tipos de verificadores de paridade com base no tipo de paridade que deve ser verificado. Even parity checkerverifica o erro nos dados transmitidos, que contém bits de mensagem junto com paridade par. Similarmente,odd parity checker verifica o erro nos dados transmitidos, que contém bits de mensagem junto com paridade ímpar.
Verificador de paridade uniforme
Agora, vamos implementar um circuito verificador de paridade par. Suponha uma entrada binária de 3 bits, WXY é transmitido junto com um bit de paridade par, P. Portanto, a palavra resultante (dados) contém 4 bits, que serão recebidos como a entrada do verificador de paridade par.
Isso gera um even parity check bit, E. Este bit será zero, se os dados recebidos contiverem um número par de uns. Isso significa que não há erro nos dados recebidos. Este bit de verificação de paridade par será um, se os dados recebidos contiverem um número ímpar de unidades. Isso significa que há um erro nos dados recebidos.
A tabela a seguir mostra o Truth table de um verificador de paridade par.
Dados recebidos de 4 bits WXYP | Bit E de verificação de paridade uniforme |
---|---|
0000 | 0 |
0001 | 1 |
0010 | 1 |
0011 | 0 |
0100 | 1 |
0101 | 0 |
0110 | 0 |
0111 | 1 |
1000 | 1 |
1001 | 0 |
1010 | 0 |
1011 | 1 |
1100 | 0 |
1101 | 1 |
1110 | 1 |
1111 | 0 |
Na tabela de verdade acima, podemos observar que o valor do bit de verificação de paridade par é '1', quando o número ímpar de uns está presente nos dados recebidos. Isso significa que a função booleana do bit de verificação de paridade par é umodd function. A função OR exclusivo satisfaz esta condição. Portanto, podemos escrever diretamente oBoolean function de bit de verificação de paridade par como
$$ E = W \ oplus X \ oplus Y \ oplus P $$
A figura a seguir mostra o circuit diagram do verificador de paridade par.
Este circuito consiste em três Exclusive-OR gatestendo duas entradas cada. As portas de primeiro nível produzem saídas de $ W \ oplus X $ & $ Y \ oplus P $. A porta OU Exclusiva, que está no segundo nível, produz uma saída de $ W \ oplus X \ oplus Y \ oplus P $
Verificador de paridade ímpar
Suponha uma entrada binária de 3 bits, WXY é transmitido junto com o bit de paridade ímpar, P. Portanto, a palavra resultante (dados) contém 4 bits, que serão recebidos como a entrada do verificador de paridade ímpar.
Isso gera um odd parity check bit, E. Este bit será zero, se os dados recebidos contiverem um número ímpar de unidades. Isso significa que não há erro nos dados recebidos. Este bit de verificação de paridade ímpar será um, se os dados recebidos contiverem um número par de unidades. Isso significa que há um erro nos dados recebidos.
Siga o mesmo procedimento de um verificador de paridade par para implementar um verificador de paridade ímpar. ocircuit diagram do verificador de paridade ímpar é mostrado na figura a seguir.
O diagrama de circuito acima consiste em portas Ex-OR no primeiro nível e portas Ex-NOR no segundo nível. Como a paridade ímpar é exatamente oposta à paridade par, podemos colocar um inversor na saída do verificador de paridade par. Nesse caso, o primeiro, o segundo e o terceiro níveis contêm duas portas Ex-OR, uma porta Ex-OR e um inversor, respectivamente.