Escolar Documentos
Profissional Documentos
Cultura Documentos
Circuitos L ogicos
Profa. Grace S. Deaecto
Faculdade de Engenharia Mec anica / UNICAMP 13083-860, Campinas, SP, Brasil. grace@fem.unicamp.br
ES572
1 / 67
Circuitos Combinacionais
NOTA AO LEITOR Estas notas de aula foram inteiramente baseadas nas seguintes refer encias : T. Floyd, Digital Fundamentals, 10th Edition, Prentice Hall, 2009. R. J. Tocci, N. S. Widmer, G. L. Moss, Sistemas Digitais : Princ pios e Aplica c oes, Prentice-Hall, 2007. I. V. Iodeta, F. G. Capuano, Elementos de Eletr onica Digital, Editora Erica, 2006. V. A. Pedroni, Circuit Design and Simulation with VHDL, 2nd Edition, MIT, 2010.
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 2 / 67
Circuitos Combinacionais
Circuitos Combinacionais Fun c oes e vari aveis l ogicas Opera c oes e portas l ogicas Tabela verdade e express ao l ogica Algebra de Boole Minimiza c ao Aplica c ao pr atica : Elevador S ntese de circuitos combinacionais
ES572
3 / 67
Diferente da algebra comum, a algebra booleana possui somente tr es opera c oes b asicas : OR, AND e NOT, conhecidas como opera c oes l ogicas.
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 5 / 67
Tabela verdade
Seja uma fun c ao f (A1 , , An ) com n entradas. A tabela da para todas as combina c oes verdade expressa o estado da sa poss veis dos estados de entrada {A1 , , An }. Segue um exemplo para duas entradas. A1 0 0 1 1 A2 0 1 0 1 f (A1 , A2 ) 1 1 1 0
Al em de 0s e 1s a fun c ao f () pode ser igual ao caracter x , chamado de dont care. Este caracter serve para indicar que para uma dada combina c ao de entradas, x pode ser tanto 0 como 1. Como veremos, o dont care e estrat egico no processo de simplica c ao booleana.
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 6 / 67
Porta l ogica
A1
ES572
7 / 67
f (A1 , , An ) =
i =1
Ai
e vale 1 se qualquer uma das entradas for igual a 1. Para duas entradas temos : Tabela verdade Porta l ogica A1 0 0 1 1 A2 0 1 0 1 f (A1 , A2 ) 0 1 1 1
A1 A1 + A2
A2
ES572
8 / 67
f (A1 , , An ) =
i =1
Ai
e vale 1 apenas se todas as entradas forem iguais a 1. Para duas entradas temos : Tabela verdade Porta l ogica A1 0 0 1 1 A2 0 1 0 1 f (A1 , A2 ) 0 0 0 1
A1 A1 .A2
A2
ES572
9 / 67
Porta l ogica
A1 + A2
A2
ES572
10 / 67
A2 0 1 0 1
A1 + A2 1 0 0 0
ES572
A1 . A2 1 0 0 0
DMC / FEM - Unicamp 11 / 67
A1
A1 A1 .A2 A1 A1 .A2
A2 A2 A1 A2 A1 + A2
A2
A1 + A2
A1
A1 + A2
A2
Porta l ogica
A1 .A2
A2
ES572
13 / 67
ES572
14 / 67
A1 A2
A1 .A2
A1 .A2
A1
A1 .A2
A2 A1
A1
A1 + A2
A1
A1 + A2
A2 A2
A2
A2
ES572 DMC / FEM - Unicamp 16 / 67
A2
ES572
17 / 67
Algebra de Boole
As regras operacionais de minimiza c ao utilizando a algebra de Boole decorrem dos postulados e propriedades a seguir :
Postulados da complementa c ao A=A Postulados da adi c ao A + 0 = A, A + 1 = 1, A + A = A, A + A = 1 Postulados da multiplica c ao A . 0 = 0, A . 1 = A, A . A = A, A . A = 0 Propriedades : Comutativa, associativa e distributiva s ao c ao e a multiplica c ao. v alidas para a adi
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 21 / 67
Teorema de De Morgan
O seguinte teorema e importante pois permite simplicar express oes booleanas = minimiza c ao. Teorema de De Morgan As seguintes igualdades s ao verdadeiras :
A . B . C . . N = A + B + + N A + B + C + + N = A . B . . N
Teorema de De Morgan
Exemplo 2 : Minimize a mesma express ao utilizando o teorema de De Morgan. B + AB + AB = A (B + B ) + AB A + AB = A + B) = A.(A = AB = A+B Exemplo 3 : Minimize a seguinte express ao ABC + AB + AC = A(BC + B + C ) = A(BC + (B + C )) = A(BC + BC ) = A
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 23 / 67
Exerc cio
Descreva a express ao l ogica que representa o circuito a seguir
A C B f () ABC B A C A C ) AB (A
Algumas vezes devemos contar com habilidade e experi encia para obter uma boa simplica c ao.
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 25 / 67
Exerc cio
A partir do circuito apresentado anteriormente, obtenha a sua tabela verdade e, a partir dela, obtenha a express ao l ogica.
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 f (A, B , C ) 0 0 0 0 1 1 0 1
Utilizando a tabela, sua express ao l ogica e dada por f (A, B , C ) = A . B . C + A . B . C + A . B . C embora seja equivalente ` a fun c ao obtida atrav es do circuito, ela possui um n umero maior de termos.
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 27 / 67
Para n vari aveis, o mapa apresenta 2n posi c oes, cada uma representando uma situa c ao da entrada. Ademais, o valor de cada posi c ao 0 ou 1 representa a sa da correspondente.
Como o mapa utiliza a forma de soma de produtos na simplica c ao, geralmente, expressa-se somente as posi co es em que f () = 1.
ES572
30 / 67
B 1
f (A, B ) = A . B + A . B + A . B = A+B
ES572
31 / 67
f (A, B ) = A . B + A . B
XOR
n ao admite simplica c ao ! !
ES572 DMC / FEM - Unicamp 32 / 67
B C
1
1 1 0
f (A, B , C ) = A . B + A . C = A . (B + C )
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 33 / 67
B A
0 1
1 1
0 1 1 0 0 1
1 1
f (A, B , C , D ) = D + B . C + A . B
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 34 / 67
C B
1 1 1 0
0 1 1 0 0 0 0 1 A
C B
1 1 1 0
0 1 1 0 0 0 0 1 A
f (A, B , C , D , E ) = C .E + B . D . E + B . C . D . E
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 35 / 67
Projete a sa da Ab que indica, quando em n vel alto, que o elevador deve abrir a porta. Para isto :
Determine a tabela verdade do problema. Fa ca simplica c oes utilizando um dos m etodos estudados. Desenhe o circuito l ogico correspondente.
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 36 / 67
B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Ab 0 1 1 X 1 X X X 0 0 0 X 0 X X X
DMC / FEM - Unicamp 37 / 67
ES572
B A
x x x 1
0 0
Ab = A . (B + C + D )
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 38 / 67
Representa c ao do circuito :
B C D A Ab
ES572
39 / 67
ES572
40 / 67
Meio somador
O meio somador aceita duas vari aveis de entrada A e B e possui como sa das a soma e o carry out Cout . Tabela verdade A 0 0 1 1 B 0 1 0 1 0 1 1 0 Cout 0 0 0 1 Meio somador
A
Cout
ES572
41 / 67
Meio somador
N ao e dif cil vericar que + AB = AB = AB e que Cout = AB Seu circuito e dado por
=AB
A Cout = AB B
ES572
42 / 67
Somador completo
O somador completo possui como vari aveis de entrada A, B e o carry in Cin e como vari aveis de sa da a soma e o carry out Cout . Tabela verdade 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 0 1 1 0 1 0 0 1 Cout 0 0 0 1 0 1 1 1 Somador completo
A B
Cin
Cout
ES572
43 / 67
Somador completo
Podemos vericar que = A B Cin e que Cout in + ABC in + AB C = ABC in + ABCin = (A B )Cin + AB Seu circuito e dado por
A B Cin = A B Cin
Cout = (A B )Cin + AB
ES572
44 / 67
Somador completo
O somador completo pode ser constru do a partir de dois meio somadores.
AB A A A B Cin A
(A B )Cin
Cout
Cout
Cin (A B )Cin + AB AB
ES572
45 / 67
Somador completo
Para n umeros de 4 bits, um somador paralelo b asico est a apresentado a seguir.
A4 A3 A2 A1 +B4 B3 B2 B1 C4 S4 S3 S2 S1
A4 B4 A3 B3 A2 B2 A1 B1 C0 A1 A2 A3 A4 B1 B2 B3 B4 C0
1 2 3 4 1 2 3 4 1 2 3 4
A B
Cin
A B
Cin
A B
Cin
A B
Cin
Cout
Cout
Cout
Cout
1 2 3 4
C4
C3
C2
C1
C0
C4
C4
Somador completo
Como podemos vericar, a sa da Cout de cada somador completo est a conectada ` a entrada Cin do somador seguinte. Desta forma, a soma em cada est agio s o pode ser efetuada ap os o recebimento do carry Cout do est agio anterior provocando um atraso de propaga c ao no processo de adi c ao. Para evitar este atraso pode-se projetar um circuito antecipador de carry. De fato, fazendo a minimiza c ao, para o somador completo de 1 bit temos Cout = (A B )Cin + AB = (A + B )Cin + AB
ES572
47 / 67
Somador Completo
Para um somador de 2 bits, denindo C gi = Ai Bi e Cpi = Ai + Bi para o est agio i , temos : Primeiro est agio : Cout 1 = Cg 1 + Cp1 Cin1 Segundo est agio : Cin2 = Cout 1 Cout 2 = Cg 2 + Cp2 (Cg 1 + Cp1 Cin1 ) e, desta forma, n ao h a atraso de propaga c ao pois todos os carries s ao calculados no mesmo instante uma vez que todos dependem apenas do primeiro Cin1 .
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 48 / 67
Comparador
A fun c ao do comparador e comparar a magnitude de n umeros bin arios. Para comparar a igualdade de dois bits, basta utilizar a porta l ogica XNOR, que fornecer a n vel l ogico alto apenas na igualdade. Desta maneira, para comparar se dois n umeros bin arios, por exemplo, A = A3 A2 A1 A0 e B = B3 B2 B1 B0 s ao iguais basta agrupar os bits dois a dois da forma {A3 , B3 }, {A2 , B2 }, {A1 , B1 } e {A0 , B0 } e conect a-los, respectivamente, ` a quatro portas XNORs. As sa das destas portas s ao conectadas ` a uma porta AND de quatro entradas. A sa da da porta AND ter a n vel alto somente se os n umeros forem iguais.
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 49 / 67
Comparador
Para comparar se dois n umeros s ao diferentes e detectar qual deles e o maior, basta analis a-los come cando com o bit mais signicativo. Por exemplo, para dois n umeros bin arios A = A3 A2 A1 A0 e B = B3 B2 B1 B0 , o procedimento a seguir e realizado.
Se A3 = 1 e B3 = 0 ent ao A > B . Se A3 = 0 e B3 = 1 ent ao A < B . Se A3 = B3 realizam-se as verica c oes anteriores para o bit consecutivo menos signicativo.
ES572
50 / 67
Codicador e decodicador
Os circuitos codicadores e decodicadores s ao aqueles que efetuam a passagem de um c odigo para outro. O circuito codicador torna poss vel a passagem de um c odigo conhecido para um desconhecido. Exemplo : o circuito inicial de uma calculadora que transforma decimal (nossa linguagem) para bin ario (linguagem da m aquina). O circuito decodicador faz o inverso, ou seja, transforma um c odigo desconhecido em outro conhecido. claro, que o termo codicador ou decodicador depende do E referencial que estamos considerando. Se estivermos considerando a m aquina como referencial o racioc nio e inverso.
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 51 / 67
Codicador
Um exemplo de circuito codicador e aquele que passa de decimal para BCD. Neste caso, temos 10 entradas e 4 sa das. Tabela verdade
Decimal 0 1 2 3 4 5 6 7 8 9 A3 0 0 0 0 0 0 0 0 1 1 A2 0 0 0 0 1 1 1 1 0 0 A1 0 0 1 1 0 0 1 1 0 0 A0 0 1 0 1 0 1 0 1 0 1
ES572
Circuito decimal/BCD
1 2 3 4 5 6 7 8 9
A0 A1 A2 A3
52 / 67
Codicador
Existe ainda o codicador decimal para BCD com prioridade. Neste caso, se dois n umeros decimais forem acionados, o codicador fornecer a o c odigo BCD do maior deles. A gura a seguir apresenta o chip 74HC147 que e um codicador decimal para BCD com prioridade. Neste chip as entradas e as sa das s ao ativas em n vel baixo.
Vcc HPRI/BCD 1 2 3 4 5 6 7 8 9 Gnd
0 A 1 A 2 A 3 A
ES572
53 / 67
Codicador
Exemplo de um teclado. Entradas e sa das ativas em n vel baixo.
Vcc
9
1 2 3 4 5 6 7 8 9
Vcc
HPRI/BCD
0 A 1 A 2 A 3 A Gnd
ES572
54 / 67
Decodicador
Segue um exemplo de decodicador BCD para decimal. Ele possui 4 vari aveis de entrada e 10 vari aveis de sa da relacionadas como na tabela a seguir.
A 0 0 0 0 0 0 0 0 1 1 B 0 0 0 0 1 1 1 1 0 0 C 0 0 1 1 0 0 1 1 0 0 D 0 1 0 1 0 1 0 1 0 1 D9 0 0 0 0 0 0 0 0 0 1 D8 0 0 0 0 0 0 0 0 1 0 D7 0 0 0 0 0 0 0 1 0 0 D6 0 0 0 0 0 0 1 0 0 0 D5 0 0 0 0 0 1 0 0 0 0 D4 0 0 0 0 1 0 0 0 0 0 D3 0 0 0 1 0 0 0 0 0 0 D2 0 0 1 0 0 0 0 0 0 0 D1 0 1 0 0 0 0 0 0 0 0 D0 0 0 0 0 0 0 0 0 0 0
ES572
55 / 67
Decodicador
Como o c odigo BCD n ao possui valores maiores do que 9, para ns de simplica c ao, o dont care e utilizado nas possibilidades excedentes. Para cada d gito fazemos o mapa de Karnaugh e simplicamos a express ao. Para o d gito 9 (D9 ), temos C D 0 0 B A 0 x 0 0 x 0 0 x x 0 0 x x D9 = A . D
ES572
56 / 67
Decodicadores
Procedendo com a simplica c ao para os demais d gitos, obtemos o seguinte resultado. D8 = A . D D7 = B . C . D D6 = B . C . D .D D5 = B . C .D D4 = B . C .C .D D3 = B .C .D D2 = B .B .C .D D1 = A .B .C .D D0 = A Verique !
Profa. Grace S. Deaecto ES572 DMC / FEM - Unicamp 57 / 67
Decodicador
O display de 7 segmentos nos permite escrever n umeros de 0 a 9 e algumas letras ou sinais. A gura a seguir apresenta uma unidade gen erica do display com sua nomenclatura de identica c ao.
a
g e c
ES572
58 / 67
Decodicador
Elabora c ao de um decodicador de c odigo BCD para display de 7 segmentos.
A 0 0 0 0 0 0 0 0 1 1 B 0 0 0 0 1 1 1 1 0 0 C 0 0 1 1 0 0 1 1 0 0 D 0 1 0 1 0 1 0 1 0 1 a 1 0 1 1 0 1 1 1 1 1 b 1 1 1 1 1 0 0 1 1 1 c 1 1 0 1 1 1 1 1 1 1 d 1 0 1 1 0 1 1 0 1 1 e 1 0 1 0 0 0 1 0 1 0 f 1 0 0 0 1 1 1 0 1 1 g 0 0 1 1 1 1 1 0 1 1
Multiplexadores
Os multiplexadores s ao circuitos que permitem passar uma informa c ao digital proveniente de diversos canais em um s o canal. Eles tamb em s ao chamados de selecionadores de dados. A Figura a seguir apresenta o esquema de um multiplexador.
I0 I1 I2 I3 . . . MUX
Sa da
In
... A B C D Z
ES572
60 / 67
Multiplexadores
Vamos supor que temos 4 linhas de informa c oes e apenas uma linha de transmiss ao. Neste caso o selecionador possui 2 bits e seu circuito est a apresentado a seguir. Multiplexador de 4 entradas
A
Tabela verdade A 0 0 1 1 B 0 1 0 1
S
B I0
I0 I1 I2 I3
I1
I2
I3
ES572
61 / 67
Multiplexadores
Para ampliarmos a capacidade de um multiplexador podemos cascatear outros de menor capacidade. Exemplo : Multiplex de 16 canais a partir de multiplex de 8 canais.
I0 I1 I2 I3 I4 I5 I6 I7 MUX 1 S0
Multiplexadores
Podemos tamb em utilizar o multiplexador para construir um circuito combinacional qualquer como apresentado a seguir. Circuito Tabela verdade
0
MUX 1 S1 =0 =1 =1 =0 =1 =0 =0 =1
MUX 2 S2 =0 =0 =0 =1 =0 =1 =1 =1
ES572
I0 I1 I2 I3 I4 I5 I6 I7
I0 I1 I2 I3 I4 I5 I6 I7
I0 I1 I2 I3 MUX 1 I4 I5 I6 I7
S1
I0 I1 I2 I3 MUX 2 I4 I5 I6 I7
S2
1 A B C
63 / 67
Demultiplexadores
Os demultiplexadores s ao circuitos capazes de enviar informa c oes contidas em um u nico canal de entrada ` a v arios canais de sa da. A Figura a seguir apresenta o esquema de um demultiplexador.
S0 S1 DEMUX . . . S2 S3
Entrada
Sn
... A B C D Z
ES572
64 / 67
Demultiplexadores
Vamos supor que temos 1 linha de informa c ao e 4 linhas de transmiss ao. Neste caso o selecionador possui 2 bits e seu circuito est a apresentado a seguir. Demultiplexador de 4 entradas Tabela verdade A 0 0 1 1 B 0 1 0 1 S0 E 0 0 0 S1 0 E 0 0 S2 0 0 E 0 S3 0 0 0 E
A B S0
S1 E S2
S3
ES572
65 / 67
Demultiplexadores
Para ampliarmos a capacidade de um demultiplexador podemos cascatear outros de menor capacidade. Exemplo : Demultiplex de 16 canais a partir de demultiplex de 8 canais.
S0 S1 S2 S3 S4 S5 S6 S7
Gerador de paridade
Considerando paridade mpar podemos construir um circuito gerador de paridade. Para uma transmiss ao de 4 bits, a tabela verdade representa a sa da do bit de paridade. Tabela verdade Circuito
I3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 I2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 I1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 I0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 P 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1
I3
I2 I1
I0
P = I0 I1 I2 I3
ES572 DMC / FEM - Unicamp 67 / 67