augusto@usp.br http://dcm.fmrp.usp.br/~augusto Circuitos Combinacionais Nesta apresentao ser fornecida uma introduo aos circuitos cuja sada depende exclusivamente das variveis de entrada: os circuitos combinacionais 2 Circuitos Combinacionais Um circuito combinacional todo circuito cuja sada depende nica e exclusivamente das vrias combinaes das variveis de entrada Por meio do estudo desses circuitos, podemos entender o funcionamento de circuitos somadores, somadores completos, subtratores, codificadores, decodificadores, circuitos que executam prioridades, dentre outros circuitos utilizados na construo de computadores ou sistemas digitais Para usar um circuito combinacional para solucionar um problema para o qual uma determinada sada esperada em funo das variveis de entrada 3 Circuitos Combinacionais Para construir um circuito, como j visto, necessrio conhecer sua expresso caracterstica Uma forma de obter a expresso de um problema consiste em construir a tabela verdade para cada situao do problema para, em seguida, obter a expresso Esquematicamente, Situao Tabela Verdade Expresso Circuito 4 Exemplo de Circuito com 2 Variveis Rua A (Preferencial) Rua B Semforo 1 Semforo 1 Semforo 2 Semforo 2 5 Exemplo de Circuito com 2 Variveis O desenho representa o cruzamento das ruas A e B, cada uma com seu semforo Deseja-se instalar, no cruzamento, um sistema automtico de semforos, com as seguintes caractersticas Quando houver carros transitando somente na rua B, o semforo 2 dever permanecer verde para os carros trafegarem livremente Igualmente, quando houver carros transitando somente na rua A, o semforo 1 dever permanecer verde Quando houver carros transitando em ambas as ruas, o semforo da rua A deve ficar verde, pois a rua preferencial 6 Exemplo de Circuito com 2 Variveis possvel usar um circuito lgico para solucionar este problema; para isso necessrio obter sua expresso Para tanto, estabelece-se a notao Condio Notao Existncia de carro na rua A A = 1 No existncia de carro na rua A A = 0 (ou = 1) Existncia de carro na rua B B = 1 No existncia de carro na rua B B = 0 (ou = 1) Verde do sinal 1 aceso G1 = 1 Verde do sinal 2 aceso G2 = 1 Se G1=1 ento Vermelho do sinal 1 apagado Verde do sinal 2 apagado Vermelho do sinal 2 aceso R1 = 0 G2 = 0 R2 = 1 Se G2=1 ento Vermelho do sinal 1 aceso Verde do sinal 1 apagado Vermelho do sinal 2 apagado R1 = 1 G1 = 0 R2 = 0 7 Exemplo de Circuito com 2 Variveis Com base nisso, a tabela verdade montada e cada situao analisada individualmente Situao A B G1 R1 G2 R2 0 0 0 1 0 1 2 1 0 3 1 1 8 Exemplo de Circuito com 2 Variveis Situao 0: representa a ausncia de veculos em ambas as ruas (A=0 e B=0). Assim, irrelevante qual sinal permanece aceso. Em situaes irrelevantes, utiliza-se o smbolo para indicar que as variveis podem assumir 0 ou 1 Situao A B G1 R1 G2 R2 0 0 0 1 0 1 2 1 0 3 1 1 9 Exemplo de Circuito com 2 Variveis Situao 0: representa a ausncia de veculos em ambas as ruas (A=0 e B=0). Assim, irrelevante qual sinal permanece aceso. Em situaes irrelevantes, utiliza-se o smbolo para indicar que as variveis podem assumir 0 ou 1 Situao 1: representa presena de veculos na rua B e ausncia de veculos na Rua A. Portanto, necessrio acender o sinal verde para a rua B Situao A B G1 R1 G2 R2 0 0 0 1 0 1 1 2 1 0 3 1 1 10 Exemplo de Circuito com 2 Variveis Situao 0: representa a ausncia de veculos em ambas as ruas (A=0 e B=0). Assim, irrelevante qual sinal permanece aceso. Em situaes irrelevantes, utiliza-se o smbolo para indicar que as variveis podem assumir 0 ou 1 Situao 1: representa presena de veculos na rua B e ausncia de veculos na Rua A. Portanto, necessrio acender o sinal verde para a rua B e lembrar da conveno Situao A B G1 R1 G2 R2 0 0 0 1 0 1 0 1 1 0 2 1 0 3 1 1 Se G2=1 ento Vermelho do sinal 1 aceso Verde do sinal 1 apagado Vermelho do sinal 2 apagado R1 = 1 G1 = 0 R2 = 0 11 Exemplo de Circuito com 2 Variveis Situao 2: representa presena de veculos na rua A e ausncia de veculos na Rua B. Portanto, necessrio acender o sinal verde para a rua A Situao A B G1 R1 G2 R2 0 0 0 1 0 1 0 1 1 0 2 1 0 1 3 1 1 12 Exemplo de Circuito com 2 Variveis Situao 2: representa presena de veculos na rua A e ausncia de veculos na Rua B. Portanto, necessrio acender o sinal verde para a rua A e lembrar da conveno Situao A B G1 R1 G2 R2 0 0 0 1 0 1 0 1 1 0 2 1 0 1 0 0 1 3 1 1 Se G1=1 ento Vermelho do sinal 1 apagado Verde do sinal 2 apagado Vermelho do sinal 2 aceso R1 = 0 G2 = 0 R2 = 1 13 Exemplo de Circuito com 2 Variveis Situao 2: representa presena de veculos na rua A e ausncia de veculos na Rua B. Portanto, necessrio acender o sinal verde para a rua A e lembrar da conveno Situao 3: representa a presena de veculos em ambas as ruas. Nesse caso, o sinal verde para a rua A deve permanecer aceso, pois ela preferencial Situao A B G1 R1 G2 R2 0 0 0 1 0 1 0 1 1 0 2 1 0 1 0 0 1 3 1 1 1 Se G1=1 ento Vermelho do sinal 1 apagado Verde do sinal 2 apagado Vermelho do sinal 2 aceso R1 = 0 G2 = 0 R2 = 1 14 Exemplo de Circuito com 2 Variveis Situao 2: representa presena de veculos na rua A e ausncia de veculos na Rua B. Portanto, necessrio acender o sinal verde para a rua A e lembrar da conveno Situao 3: representa a presena de veculos em ambas as ruas. Nesse caso, o sinal verde para a rua A deve permanecer aceso, pois ela preferencial, aplicando-se, novamente, a conveno acima Situao A B G1 R1 G2 R2 0 0 0 1 0 1 0 1 1 0 2 1 0 1 0 0 1 3 1 1 1 0 0 1 Se G1=1 ento Vermelho do sinal 1 apagado Verde do sinal 2 apagado Vermelho do sinal 2 aceso R1 = 0 G2 = 0 R2 = 1 15 Exemplo de Circuito com 2 Variveis Na situao 0, com sadas irrelevantes, tanto faz qual sinal permanece aceso. Portanto, possvel adotar que o verde do sinal 2 permanea aceso Situao A B G1 R1 G2 R2 0 0 0 1 0 1 0 1 1 0 2 1 0 1 0 0 1 3 1 1 1 0 0 1 16 Exemplo de Circuito com 2 Variveis Na situao 0, com sadas irrelevantes, tanto faz qual sinal permanece aceso. Portanto, possvel adotar que o verde do sinal 2 permanea aceso Isso nos leva a uma tabela verdade com novos valores preenchidos para a situao 0 Situao A B G1 R1 G2 R2 0 0 0 1 1 0 1 0 1 1 0 2 1 0 1 0 0 1 3 1 1 1 0 0 1 17 Exemplo de Circuito com 2 Variveis Na situao 0, com sadas irrelevantes, tanto faz qual sinal permanece aceso. Portanto, possvel adotar que o verde do sinal 2 permanea aceso Isso nos leva a uma tabela verdade com novos valores preenchidos para a situao 0, lembrando que Situao A B G1 R1 G2 R2 0 0 0 0 1 1 0 1 0 1 0 1 1 0 2 1 0 1 0 0 1 3 1 1 1 0 0 1 Se G2=1 ento Vermelho do sinal 1 aceso Verde do sinal 1 apagado Vermelho do sinal 2 apagado R1 = 1 G1 = 0 R2 = 0 18 Exemplo de Circuito com 2 Variveis Cada sada, G1, R1, G2, R2 ter um circuito independente Iniciando pela escrita da expresso de G1, em quais situaes G1 acende? Situao A B G1 R1 G2 R2 0 0 0 0 1 1 0 1 0 1 0 1 1 0 2 1 0 1 0 0 1 3 1 1 1 0 0 1 19 Exemplo de Circuito com 2 Variveis Iniciando pela escrita da expresso de G1, em quais situaes G1 acende? Nas Situaes 2 OU 3 Situao 2: G1=1 quando A = 1 e B = 0, ou seja, A = 1 e = 1 Usando uma porta E, possvel escrever G1=1 quando A. =1 Situao 3: G1=1 quando A = 1 e B = 1 Portanto, G1=1 quando A.B =1 Como tem-se G1=1 na Situao 2 OU Situao 3, uma porta OU contendo as expresses tanto da Situao 2 quanto da Situao 3 resultar no valor 1 nesses casos, que representa a situao referente ao verde aceso do semforo 1 G1 = A. + A.B Situao A B G1 R1 G2 R2 0 0 0 0 1 1 0 1 0 1 0 1 1 0 2 1 0 1 0 0 1 3 1 1 1 0 0 1 20 Exemplo de Circuito com 2 Variveis Agora, em quais situaes R1 acende? Nas Situaes 0 OU 1 Situao 0: R1=1 quando A = 0 e B = 0, ou seja, = 1 e = 1 Usando uma porta E, possvel escrever R1=1 quando . =1 Situao 1: R1=1 quando A = 0 e B = 1 Portanto, R1=1 quando .B =1 Como tem-se R1=1 na Situao 0 OU Situao 1, uma porta OU contendo as expresses tanto da Situao 0 quanto da Situao 1 resultar no valor 1 nesses casos, que representa a situao referente ao vermelho aceso do semforo 1 R1 = . + .B Situao A B G1 R1 G2 R2 0 0 0 0 1 1 0 1 0 1 0 1 1 0 2 1 0 1 0 0 1 3 1 1 1 0 0 1 21 Exerccio Escrevas as expresses quando G2 = 1 R2 = 1 Situao A B G1 R1 G2 R2 0 0 0 0 1 1 0 1 0 1 0 1 1 0 2 1 0 1 0 0 1 3 1 1 1 0 0 1 22 Soluo G2=1 nas situaes 0 OU 1 Situao 0: . = 1 Situao 1: .B = 1 Portanto, G2 = . + .B R2=1 nas situaes 2 OU 3 Situao 2: A. = 1 Situao 3: A.B = 1 Portanto, R2 = A. + A.B Situao A B G1 R1 G2 R2 0 0 0 0 1 1 0 1 0 1 0 1 1 0 2 1 0 1 0 0 1 3 1 1 1 0 0 1 23 Exemplo de Circuito com 2 Variveis Em resumo: G1 = A. + A.B R1 = . + .B G2 = . + .B R2 = A. + A.B Ou seja, G1 = R2 = A. + A.B G2 = R1 = . + .B A B A B S1=G1=R2 A B A B S2=G2=R1 24 Exerccio Deseja-se usar um amplificador para ligar 3 aparelhos, mp3-player, cd-player e rdio FM, com a seguinte prioridade Prioridade 1: mp3-player Prioridade 2: cd-player Prioridade 3: rdio FM Isso significa que quando no houver uma msica tocando no mp3 ou cd, o rdio FM deve permanecer ligado ao amplificador Ao ligar o cd-player, automaticamente, ele deve ser ligado entrada do amplificador, pois tem prioridade sobre o rdio Ao ligar o mp3-player ele dever ser conectado ao amplificador, por ter prioridade 1 25 Exerccio mp3-player cd-player rdio FM Amplificador 26 Exerccio mp3 player A cd-player B rdio FM C Amplificador SA SB SC 27 Exerccio Convenes A: estado de operao do mp3-player A=1 ligado; A=0 desligado B: estado de operao do cd-player C: estado de operao do rdio FM SA: sada (chave) que dar a A prioridade 1 SB: sada (chave) que dar a B prioridade 2 SC: sada (chave) que dar a C prioridade 3 Logo, se: SA=1 (chave SA fechada) ento A est ligado ao amplificador SB=1 ento B est ligado ao amplificador SC=1 ento C est ligado ao amplificador 28 Exerccio Situao A B C SA SB SC 0 0 0 0 1 0 0 1 2 0 1 0 3 0 1 1 4 1 0 0 5 1 0 1 6 1 1 0 7 1 1 1 29 Exerccio Nos casos irrelevantes, vamos assumir que nenhum aparelho fica ligado ao amplificador Situao A B C SA SB SC 0 0 0 0 1 0 0 1 0 0 1 2 0 1 0 0 1 0 3 0 1 1 0 1 0 4 1 0 0 1 0 0 5 1 0 1 1 0 0 6 1 1 0 1 0 0 7 1 1 1 1 0 0 30 Soluo SC=..C SB=.B.C + .B.C SA=A.B.C + A.B.C + A.B.C + A.B.C Situao A B C SA SB SC 0 0 0 0 0 0 0 1 0 0 1 0 0 1 2 0 1 0 0 1 0 3 0 1 1 0 1 0 4 1 0 0 1 0 0 5 1 0 1 1 0 0 6 1 1 0 1 0 0 7 1 1 1 1 0 0 31 Soluo A B C A B C SA A B C A B C A B SC C A B C A B C SB 32 Exemplo com 4 variveis Suponha que a tabela verdade ao lado represente uma problema qualquer, do qual desejamos obter a expresso, para ento montar o circuito Situao A B C D S 0 0 0 0 0 0 1 0 0 0 1 1 2 0 0 1 0 0 3 0 0 1 1 0 4 0 1 0 0 0 5 0 1 0 1 1 6 0 1 1 0 1 7 0 1 1 1 1 8 1 0 0 0 0 9 1 0 0 1 0 10 1 0 1 0 0 11 1 0 1 1 1 12 1 1 0 0 1 13 1 1 0 1 1 14 1 1 1 0 1 15 1 1 1 1 0 33 Exemplo com 4 variveis S=1 nas situaes 1, 5, 6, 7, 11, 12, 13 ou 14 Portanto, S = A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D Situao A B C D S 0 0 0 0 0 0 1 0 0 0 1 1 2 0 0 1 0 0 3 0 0 1 1 0 4 0 1 0 0 0 5 0 1 0 1 1 6 0 1 1 0 1 7 0 1 1 1 1 8 1 0 0 0 0 9 1 0 0 1 0 10 1 0 1 0 0 11 1 0 1 1 1 12 1 1 0 0 1 13 1 1 0 1 1 14 1 1 1 0 1 15 1 1 1 1 0 34 Exemplo com 4 variveis S=1 nas situaes 1, 5, 6, 7, 11, 12, 13 ou 14 Portanto, S = A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D S 35 Exerccio Elaborar um circuito lgico que permita encher automaticamente um filtro de gua de dois recipientes e vela A eletrovlvula deve permanecer aberta (entrada de gua) quando a sada do circuito for 1 e permanecer fechada quando a sada for 0 O controle efetuado por 2 eletrodos, A e B, colocados nos recipientes a e b, respectivamente a b A B Eletrovlvula 36 Exerccio Elaborar um circuito lgico que permita encher automaticamente um filtro de gua de dois recipientes e vela A eletrovlvula deve permanecer aberta (entrada de gua) quando a sada do circuito for 1 e permanecer fechada quando a sada for 0 O controle efetuado por 2 eletrodos, A e B, colocados nos recipientes a e b, respectivamente Conveno Se o recipiente a est cheio ento eletrodo A=1 Se o recipiente a est vazio ento eletrodo A=0 Se o recipiente b est cheio ento eletrodo B=1 Se o recipiente b est vazio ento eletrodo B=0 37 Soluo Nesse problema, a eletrovlvula deve permanecer aberta (S=1) nas situaes 0 ou 1 Portanto, S = . + .B Situao A B S 0 0 0 1 1 0 1 1 2 1 0 0 3 1 1 0 A B A B S 38 Simplificando o Circuito Anterior Observe que S = . + .B Pela propriedade distributiva .(+) = . + . Fazendo =, =, =B Portanto S = .( + B) S = .(1) S = Circuito antes da simplificao Circuito aps a simplificao A B A B S A S 39 Circuitos Integrados As portas no so vendidas individualmente, mas agrupadas em um circuito integrado (chip) SSI (Small Scale Integration) ~1 a 10 portas MSI (Medium Scale Integration) ~10 a 100 portas LSI (Large Scale Integration) ~100 a 100.000 portas VLSI (Very Large Scale Integration) ~100.000 a 1.000.000 portas ULSI (Ultra Large Scale Integration) Acima de 1.000.000 portas 40 Circuitos Integrados Exemplo de um chip SSI com 4 portas Entalhe (notch) 41 Circuitos Integrados Pesquisadores australianos desenvolveram um chip inteligente que pode eliminar os sinais de dor que viajam da medula espinal ao crebro Esta inveno visa aliviar o desconforto para aqueles que sofrem de dor crnica 42 Resumo Vimos como possvel obter um circuito, a partir da especificao de um problema, enumerando todas as situaes em uma tabela verdade A partir da tabela verdade, a expresso caracterstica do circuito obtida e o circuito por ento ser montado Entretanto, essa forma de obter a expresso caracterstica a partir da tabela verdade nem sempre leva a uma expresso simplificada, o que pode resultar em circuitos mais complexos (mais portas) do que o realmente necessrio (maior custo) Na prxima apresentao veremos como simplificar algebricamente as expresses obtidas por tabelas verdade 43 Copyright Apresentao 2012 por Jos Augusto Baranauskas Universidade de So Paulo Professores so convidados a utilizarem esta apresentao da maneira que lhes for conveniente, desde que esta nota de copyright permanea intacta. Slides baseados em: Idoeta, I.V. & Capuano, F.G.; Elementos de Eletrnica Digital, 12. edio, rica, 1987. E. Mendelson; lgebra booleana e circuitos de chaveamento, McGraw-Hill, 1977.