Você está na página 1de 35

Projeto de Circuitos Lgicos

Introduo ao Computador 2008/01 Bernardo Gonalves

Sumrio
Da lgebra de Boole ao projeto de circuitos digitais; Portas lgicas; Equivalncia de circuitos; Construindo circuitos com portas lgicas; Projeto de circuitos lgicos;

Da lgebra de Boole ao projeto de circuitos digitais


Em 1937, Claude Shannon notou a similaridade entre lgebra booleana e circuitos de chavemento de telefone; A aplicao da lgebra booleana a sistemas eltricos foi tema de sua tese de mestrado no MIT entitulada A Symbolic Analysis of Relay and Switching Circuits; A tese basicamente dizia: "if we could someday invent a computing machine, the way to make it think would be to use binary code, by stringing together switches and applying Boole's logic system to the result.

Da lgebra de Boole ao projeto de circuitos digitais


Essa tese, feita por ele aos 21 anos, considerada a mais importante tese de mestrado do sculo XX. A idia foi imediatamente colocada em prtica no projeto de circuitos de chaveamento de telefones, e ainda como computadores pensam (Remembering Claude Shannon, 2002); O trabalho de Shannon fundaria a cincia do projeto de circuitos digitais.

Blocos bsicos dos circuitos lgicos

Portas Lgicas (1)


Transistor
A lgica digital baseia-se no fato de que um transistor pode operar como uma chave binria cujo tempo de comutao (chaveamento) pequeno (nanosegundos). Componentes de um Transistor:
Base; Coletor; Emissor.

Portas Lgicas (2)


Transistor
Quando Vin estiver abaixo de um certo valor, o transistor abre;
Vout assume um valor prximo a Vcc geralmente em +5 V); (Vcc uma tenso regulada

Quando Vin ultrapassa um certo valor, o transistor comuta e passa a agir como um fio sem resistncia.
Vout fica conectado logicamente terra (0 volt);

Portas Lgicas (3)


Transistor
Quando Vin estiver no nvel lgico baixo, Vout estar no nvel alto, e vice-versa. O circuito ao lado funciona logicamente como um Inversor;
Porta NOT

Portas Lgicas (4)


Transistor
Dois transistores ligados em srie: Se V1 e V2 estiverem no nvel lgico alto, Vout vai assumir nvel lgico baixo. Se V1 ou V2 estiver no nvel lgico baixo, o transistor correspondente estar aberto e a sada ser alta. Qual a porta lgica correspondente?
(a)

Portas Lgicas (5)


Transistor
Dois transistores ligados em paralelo Qual a porta lgica correspondente?
(b)

Portas Lgicas (6)


Transistor
Ao colocarmos um circuito inversor na sada de (a), o que obtemos? Se fizermos o mesmo na sada de (b)?

Portas Lgicas (7)


Um circuito lgico digital utilizado nos computadores atuais admite a presena de dois valores lgicos. Os valores lgicos so materializados atravs de sinais eltricos que representam 0 e 1, ou True (verdadeiro) e False (falso). Em geral:
Sinal eltrico entre 0 e 1 volt pode representar o binrio 0. Sinal eltrico entre 2 e 5 volts pode representar o binrio 1.

Portas Lgicas: estruturas eletrnicas (componentes primitivos) capazes de calcular diversas funes utilizando esses sinais.
Formam a base de construo de inmeros circuitos digitais e do hardware dos computadores.

Portas Lgicas (8)


Principais portas lgicas
Podemos construir qualquer circuito lgico com apenas as portas AND, OR e NOT. Ou apenas NAND, NOR e NOT.

X = A

X = (AB)

X = (A+B)

X = AB

X = A+B

Porta XOR
AB + AB = A + B

Portas Lgicas (9)


As portas NAND e NOR precisam de dois transistores, enquanto as portas AND e OR precisam de trs.
Muitos computadores so baseados nas portas NAND e NOR, em vez das AND e OR.

Na prtica, existem outros tipos de implementaes de portas lgicas, mas geralmente as portas NAND e NOR so mais simples que as AND e OR. Geralmente, uma porta lgica pode conter mais do que duas entradas, exceto a inversora.

Equivalncia de circuitos (1)


Muitas vezes conveniente que o circuito seja implementado por meio de um nico tipo de porta. Converter circuitos do tipo AND-OR-NOT resultantes de uma funo em circuitos equivalentes que s usem portas NAND ou NOR. Para fazer isso, por exemplo, pode-se implementar as funes NOT, AND e OR usando uma dessas duas portas Exerccio: construir portas AND, OR e NOT usando NAND ou NOR. Em funo disso, as portas NAND e NOR so conhecidas como completas, pois qualquer funo booleana pode ser implementada com circuitos que s usem uma delas.

Equivalncia de circuitos (2)

Equivalncia de Circuitos (3)


Procura-se reduzir ao mnimo a quantidade de portas lgicas em circuitos integrados
Reduzir custos de componentes, espao ocupado em placa de circuito impresso, consumo de energia, etc.

Equivalncia de Circuitos
Encontrar um outro circuito que calcule a mesma funo calculada pelo original, usando menos portas lgicas ou portas mais simples de implementao (portas com duas entradas ao invs de quatro)

Em geral, obtm-se em primeiro lugar uma funo booleana para em seguida aplicar leis da lgebra de Boole para tentar encontrar uma equivalente mais simples

Equivalncia de Circuitos (4) AB + AC pode ser fatorado como A(B + C) por aplicao da propriedade distributiva?

Equivalncia de Circuitos (5) Sim.

Equivalncia de Circuitos (6)


Por exemplo, considere a equivalncia de circuitos a seguir em funo da propriedade de De Morgan;

Nvel da Lgica Digital


composto pelo hardware da mquina Portas Lgicas so os objetos de interesse dos projetistas de computadores nesse nvel As portas lgicas so os elementos primrios de circuitos lgicos mais complexos; Qualquer circuito lgico pode ser descrito atravs de uma expresso booleana; Combinao de portas lgicas:
Funes aritmticas; Memrias (registradores); Processadores.

Nvel dos Dispositivos (Engenharia Eltrica)


Situado abaixo do nvel lgico digital Microeletrnica Caractersticas fsicas Malha de transistores Tecnologias de fabricao de circuitos integrados (Naturalmente, poderia se indagar como funcionam os transistores por dentro: a j pertence fsica do estado slido).

Construindo circuitos com portas lgicas (1)

Acende a lmpada (F=1) quando movimento detectado (a=1) e a luz est apagada(b=0); F = a AND NOT(b) Acabamos de construir nosso primeiro circuito digital.

Construindo circuitos com portas lgicas (2)


Exemplo de sinalizao para banheiro de aeronave;
3 lavatrios: cada lavatrio tem um sensor que possui valor lgico 1 se a porta estiver fechada (a, b, c); A lmpada (sinal S) acende se houver pelo menos um lavatrio disponvel;

Qual a expresso booelana para a lmpada acender?

Construindo circuitos com portas lgicas (2)


Exemplo de sinalizao para banheiro de aeronave;
3 lavatrios: cada lavatrio tem um sensor que possui valor lgico 1 se a porta estiver fechada (a, b, c); A lmpada (sinal S) acende se houver pelo menos um lavatrio disponvel;

Qual a expresso booelana para a lmpada acender? S = a + b + c

Construindo circuitos com portas lgicas (2)


Alternativa: agora pense considerando a situao em que o banheiro de aeronave estiver completamente ocupado; Qual ser a expresso booleana correspondente? Lembrar:
3 lavatrios: cada lavatrio tem um sensor que possui valor lgico 1 se a porta estiver fechada (a, b, c); A lmpada (sinal S) acende se houver pelo menos um lavatrio disponvel;

Construindo circuitos com portas lgicas (2)


Alternativa: agora pense considerando a situao em que o banheiro de aeronave estiver completamente ocupado; Qual ser a expresso booleana correspondente? Lembrar:
3 lavatrios: cada lavatrio tem um sensor que possui valor lgico 1 se a porta estiver fechada (a, b, c); A lmpada (sinal S) acende se houver pelo menos um lavatrio disponvel;

S = (a+b+c) = (a) * (b) * (c) = abc

Construindo circuitos com portas lgicas (3)


Deseja-se um circuito para abertura automtica de portas Sada: f=1 abre a porta Entradas:
p=1: pessoa detectada h=1: chave para forar a abertura c=1: chave para forar o fechamento

A porta deve ser aberta quando h=1 and c=0, ou h=0 and p=1 and c=0

Construindo circuitos com portas lgicas (3)


Deseja-se um circuito para abertura automtica de portas Sada: f=1 abre a porta Entradas:
p=1: pessoa detectada h=1: chave para forar a abertura c=1: chave para forar o fechamento

A porta deve ser aberta quando h=1 and c=0, ou h=0 and p=1 and c=0 Equao: f = hc + hpc

Construindo circuitos com portas lgicas (3)

Construindo circuitos com portas lgicas (3)


Ache um chip barato que compute: f = chp + chp + chp Usando lgebra Booleana:
f = chp + chp + chp f = ch(p + p) + chp (distributiva) f = ch(1) + chp (complemento) f = ch + chp (identidade) f = c (h + hp) (distributiva) f = c [ (h + h) (h + p) ] (distributiva) f = c (h + p) (complemento)
-> expresso encontrada anterioremente

Projeto de circuitos digitais


Funo Maioria M = (A, B, C) A sada ser 0 se a maioria das variveis de entrada for zero, e ser 1 se a maioria das variveis de entrada for 1. Resolver utilizando portas AND, OR e NOT Funo Booleana x Implementao de circuitos digitais

Funo Maioria
M = BC + ABC + ABC + ABC

Projeto de circuitos digitais


Implementar um circuito referente a uma funo booleana, utilizando portas AND, OR e NOT:
Obtenha a tabela-verdade da funo; Utilize inversores para obter o complemento de cada uma das entradas da funo; Desenhe uma porta AND para cada termo com valor 1 na coluna de resultados; Ligue as portas AND s entradas apropriadas; Ligue a sada das portas AND a uma porta OR.

Você também pode gostar