Você está na página 1de 21

Universidade Federal de Santa maria

NOTAS DE AULA Circuitos Combinacionais


Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Jlio Carlos Balzano de Mattos (UFPel) Os circuitos lgicos dos sistemas digitais podem ser de dois tipos: Circuitos combinacionais ou Circuitos seqenciais Um circuito combinacional constitudo por um conjunto de portas lgicas. Estas portas determinam os valores das sadas a partir, exclusivamente, dos valores atuais das entradas. Pode-se dizer que um circuito combinacional realiza uma operao de processamento que pode ser especificada por meio de um conjunto de equaes booleanas. Um circuito combinacional possui entradas, portas lgicas e um certo nmero de sadas, como mostra a figura abaixo:

n entradas

Circuito Combinacional

m sadas (m equaes boolenas)

PROCEDIMENTO PARA O PROJETO DE UM CIRCUITO COMBINACIONAL


O projeto de um circuito combinacional inicia na especificao do problema, e termina no diagrama do circuito (ou no conjunto de equaes que o descreve). Um procedimento genrico para o projeto envolve os seguintes passos: 1. Escolher um smbolo para cada varivel de entrada e para cada varivel de sada; 2. A partir da especificao do problema, determinar a tabela verdade (caso ela j no faa parte da especificao inicial); 3. Obter as equaes simplificadas; 4. Mapear o circuito para uma biblioteca de portas (se for o caso); 5. Desenhar/construir o circuito final.

Exemplo: Projetar o circuito que receba um inteiro binrio de 3 bits e determine se este nmero menor ou igual a trs. Usar somente portas NAND de duas entradas e inversores. Circuito a ser projetado:
A B C

C.C.

MENOR

X 3 1
X 3 0
Tabela Verdade: A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 MENOR

BC

00

01

11

10

0 1

Circuito:

Exerccio: Projetar o circuito que receba um inteiro binrio de 3 bits e determine se este nmero menor ou igual a quatro. Usar somente portas NAND de duas entradas e inversores.

GERADOR DE PARIDADE
Na transmisso digital de dados, um dos grandes problemas a necessidade de validar os dados quando os mesmos chegam ao seu destino. Muitos fatores podem ocasionar erros na comunicao (por exemplo: rudo), e estes fatores podem ser imprevisveis. Uma das tcnicas de deteco de erros o uso da paridade. Para isso, adicionado um bit a mais na palavra que est sendo transmitida. Por exemplo, se a palavra possui trs bits, acrescentado um quarto bit para indicar a paridade. O bit de paridade informar se o nmero de uns na palavra par ou mpar (par = 0, mpar = 1). Este bit gerado no incio da transmisso, e verificado quando chega ao seu destino. Desta maneira, pode-se verificar se algum bit foi modificado acidentalmente ou no. Exerccio: Implementar um gerador de paridade para uma palavra de trs bits.
A B C

C.C.

PARIDADE

Tabela Verdade: A 0 0 0 0 1 1 1 1
BC

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

PARIDADE

00

01

11

10

0 1

Circuito: 5

CONVERSOR BCD PARA EXCESSO-3


Conversores de cdigo so uma aplicao tpica de circuitos combinacionais. Quando uma seqncia de bits, representando algum cdigo qualquer, aplicada em sua entrada, o conversor gerar, na sua sada, o correspondente desta seqncia inicial, mas representada com o cdigo de sada.
Conversor de cdigo

cdigo de entrada

cdigo de sada

Por exemplo, BCD (Binary Code Decimal) um cdigo muito usado em circuitos digitais. No BCD cada dgito decimal representado em binrio com 4 bits: Ex: 374BCD 0011 0111 01002 O Excesso-3 um cdigo usado em computadores antigos por sua propriedade de auto-complementaridade. O complemento de 9 de um nmero representado em excesso-3 obtido simplesmente invertendo-se os bits da representao. Para obter a representao de um nmero decimal em excesso-3 basta somar 3 a sua representao binria: Decimal 0 1 2 3 4 5 6 7 8 9 A 0 0 0 0 0 0 0 0 1 1 B 0 0 0 0 1 1 1 1 0 0 BCD C 0 0 1 1 0 0 1 1 0 0 D 0 1 0 1 0 1 0 1 0 1 W Excesso-3 X Y Z

O circuito digital que converte BCD para Excesso-3 deve possuir quatro entradas e quatro sadas:
A B C D

Conversor BCD p/ Excesso-3

W X Y Z

Devemos obter o mapa de Karnaugh para cada sada: W


AB CD

00

01

11

10

00 01 11 10

W=

X
AB CD

00

01

11

10

00 01 11 10

X=

Y
AB CD

00

01

11

10

00 01 11 10

Y=

Z
AB CD

00

01

11

10

00 01 11 10

Z=

Circuito:

Exerccios: Exerccio 1 Projetar um circuito combinacional que realiza o complemento de 2 de um nmero de 4 bits. A entrada do circuito combinacional dever ser um nmero binrio (sem sinal) e a sada ser o prprio nmero em complemento de 2. Exerccio 2 Projetar um conversor excesso-3 para BCD, que todas as combinaes de entrada invlidas forneam 0000 como cdigo de sada. Exerccio 3 Projetar um circuito combinacional que detecta um erro na representao de um digito decimal em BCD. A sada do circuito dever ser igual a 1 quando, nas entradas, conter uma das seis representaes no utilizadas no cdigo BCD.

CIRCUITOS LGICOS E ARITMTICOS


Estes circuitos so circuitos construdos para efetuar operaes lgicas e aritmticas (soma, subtrao, etc.) atravs de circuitos lgicos.

Meio Somador (half-adder)


A operao aritmtica mais simples a adio de dois dgitos binrios (bits), a qual pode ser vista como adio de dois nmeros binrios de um bit cada. Considerando-se todas as quatro combinaes de valores que podem ocorrer, os resultados possveis desta adio so: 0+0=0 0+1=1 1+0=1 1+1=0 Usando portas lgicas, poderamos construir um circuito somador simples (meiosomador) que efetuasse a soma em binrio de dois bits. Para isto devemos calcular a soma e o vai-um (carry out). Esquema das entradas e sadas de um meio somador:
A S (soma)

Meio Somador

Cout (carry-out)

Tabela verdade para um meio somador: A 0 0 1 1 B 0 1 0 1 S Cout

10

Circuito de um meio somador:


A B

S (soma)

Cout (carry-out)

Somador Completo (full-adder)


Para construirmos um somador completo, devemos considerar o vem-um (Carry-in) da soma dos dgitos binrio anteriores, como no exemplo abaixo: Exemplo: 1 1 0 1 1 1 0 1

Desta maneira, um somador completo um circuito capaz de realizar a soma de trs bits (A, B e Carry-in), gerando um resultado de dois bits (S e Carry-out). Esquema das entradas e sadas de um somador completo:

A B Cin (carry-in)

Somador Completo

S (soma)

Cout (carry-out)

11

Tabela verdade para um somador completo: A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 Cin 0 1 0 1 0 1 0 1 S Cout

Circuito de um somador completo:

A B Cin S

Cout

Circuito de um somador completo utilizando dois meio somadores:

A B S

Cout Cin

12

Somador
Vrios somadores (meio e completo) podem ser cascateados para somarem mais do que um bit. Por exemplo, abaixo representado um somador de 4 bits:
A3 B3 A2 B2 A1 B1 A0 B0

C3

Somador Completo

C2

Somador Completo

C1

Somador Completo

C0

Meio Somador

S3

S2

S1

S0

Somador/Subtrator
Utilizando o princpio da complementaridade de dois, possvel, com pequenas modificaes no somador anterior, construir um somador/subtrator. Basicamente, o somador fazia a operao A+B. Negando o B (isto , invertendo seus valores que a mesma coisa que fazer complemento de 1), e depois somando mais 1 a este resultado (chegando-se ao complemento de 2 do B), possvel chegar a operao A+(-B). Abaixo mostrado um circuito de um somador/subtrator de 4 bits. Nota-se o bit de controle extra, chamado S, que controla se o B vai ser complementado em 2 (o circuito faria a operao A-B) ou no (o circuito faria, assim, a operao A+B).
B3 A3 B2 A2 B1 A1 B0 A0

Somador Completo

C3

Somador Completo

C2

Somador Completo

C1

Somador Completo

C0

C4

S3

S2

S1

S0

S Bit de seleo S = 0 Soma S = 1 Subtrao 13

Multiplicador
A multiplicao de dois nmeros binrios realizada da mesma maneira como a de nmeros decimais. Cada bit do multiplicador multiplica o multiplicando, comeando a partir do bit menos significativo. Cada uma dessas multiplicaes forma um produto parcial. Os sucessivos produtos parciais so deslocados por uma posio esquerda. O produto final obtido a partir da soma das parciais. Exemplo: multiplicador de nmeros de dois bits (resultado em 4 bits)

C3 + M3

x C2 A 1 B1 M2

B1 A1 A0B1 A1B0 M1

B0 A0 A0B0 M0

Circuito de um multiplicador de 2 bits:


A0

A1 B1 B0 B1 B0

C1

Somador Meio Completo Somador

C2

Meio Somador

M3

M2

M1

M0

Exerccio: multiplicador de nmeros de trs bits

14

CIRCUITOS DE INTERCONEXES

Decodificadores
Um decodificador um circuito combinacional usado para ativar ou habilitar um (e somente um) dentre n componentes. assumido que cada componente possui um ndice entre zero e m-1, representado por um endereo binrio. Um decodificador n x m (l-se n por m) possui n entradas e m sadas. Por exemplo, um decodificador 3x8 tem trs entradas e oito sadas. Na prtica, um decodificador um circuito que recebe uma informao codificada de alguma forma e traduz para outra. Decodificador 3-para-8 linhas Um decodificador 3-para-8 linhas capaz de converter uma informao binria de trs bits em oito sadas nicas: Tabela verdade de um decodificador 3-para-8 linhas: End 0 1 2 3 4 5 6 7 A2 0 0 0 0 1 1 1 1 Entradas A1 0 0 1 1 0 0 1 1 Sadas D4 D3

A0 0 1 0 1 0 1 0 1

D7

D6

D5

D2

D1

D0

15

Circuito para um decodificador 3-para-8 linhas:


A2 A1 A0

D0

D1

D2

D3

D4

D5

D6

D7

Smbolo para um decodificador 3-para-8 linhas:


D0 D1 D2 A0 D3 A1 A2

DEC 3x8

D4 D5 D6 D7

Decodificador 2-para-4 linhas com sinal de habilitao Freqentemente necessrio que o circuito eletrnico s fornea uma sada em determinado momento. Desta maneira, um sinal de habilitao pode ser utilizado. Um exemplo de circuito deste tipo o decodificador 2x4 com sinal de habilitao.

16

Tabela verdade de um decodificador 2-para-4 linhas com sinal de habilitao: End 0 1 2 3 E 1 1 1 1 0 Entradas A1 0 0 1 1 X Sadas D2 D1

A0 0 1 0 1 X

D3

D0

Circuito para um decodificador 2-para-4 linhas com sinal de habilitao:


E A1 A0

D0

D1

D2

D3

Smbolo para um decodificador 2-para-4 linhas com sinal de habilitao:

D0

A0

D1

A1

DEC 2x4

D2

D3

17

Implementando Circuitos Combinacionais com Decodificadores Um decodificador implementa todos os 2n minitermos de uma funo de n variveis. Portanto, para implementar qualquer funo com um decodificador, basta selecionar os minitermos que pertencem funo deseja e efetuar o seu ou lgico. Por exemplo, considerando a seguinte tabela verdade: A 0 0 0 0 1 1 1 1 forma: B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 S 1 1 1 1 0 0 0 1

Esta tabela poderia ser implementada com um decodificador 3x8 da seguinte

S C B A

DEC 3x8

Exerccio: Implementar o circuito da tabela verdade abaixo com decodificadores: A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 S 0 0 1 0 1 0 1 1

18

Codificadores
O codificador uma funo digital que executa a operao inversa ao do decodificador. Um codificador possui 2n entradas e n sadas.

Multiplexadores
Um multiplexador (ou seletor) um circuito combinacional que se seleciona uma entrada binria, dentre vrias, para uma nica sada binria simples. A seleo feita atravs de um conjunto de linhas de variveis seletoras (sinais de controle). Como exemplo, abaixo mostrado um multiplexador 4-para-1, onde apenas uma entre as quatro entradas (A0 at A3) ser a sada em y, dependendo da combinao dos sinais de controle S0 e S1. End 0 1 2 3 Entradas S1 S0 0 0 0 1 1 0 1 1 Sada Y

A0 A1

A2 A3

MUX 4-1

S1

S0

19

Demultiplexadores
Um demultiplexador um circuito digital que executa a funo inversa a do multiplexador. Por exemplo, abaixo pode ser observado um demultiplexador 4-para-1:
E A0

A1

A2

A3 S1 S0

20

ULA (Unidade de Lgica e Aritmtica)


Nos computadores, normalmente as funes lgicas (OU, E, NOT) e aritmticas (soma, subtrao, etc.) so executadas em uma unidade chamada ULA (unidade lgica e aritmtica). A ULA geralmente possui duas entradas de vrios bits cada, e bits de controle para selecionar a operao desejada. A ULA tambm pode fornecer bits de estado (indicando se o resultado da operao foi negativo, ou foi zero, por exemplo), alm do prprio resultado da operao. Exerccio Projetar uma unidade lgica e aritmtica (ULA) que trabalhe com nmeros de 4 bits. A entrada ULA ser composta por: Dois nmero de 4 bits (entradas A e B); Uma entrada F com n bits (o nmero de bits faz parte do projeto) que definir a operao que ser realizada; A sada da ULA ser composta por: Uma sada (sada S) de 4 bits com o resultado da operao; Um bit de flag (Z) que indica se o resultado da operao foi zero; Um bit de flag (V) que indica se ocorreu um overflow; Um bit de flag (N) que indica o resultado da operao foi negativo; A ULA dever possuir as seguintes operaes: A + B (adio) A B (subtrao) A ^ B (and bit a bit) A v B (or bit a bit) B (complementao bit a bit)

21

Você também pode gostar