




























































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Digital, portas logicas e lógica binaria
Tipologia: Manuais, Projetos, Pesquisas
1 / 147
Esta página não é visível na pré-visualização
Não perca as partes importantes!





























































































Março 2006
1.3. Sistemas síncronos vs. assíncronos
Um sistema síncrono é aquele em que os elementos mudam o seu valor em determinados instantes específicos. Um sistema assíncrono possui saídas que podem mudar de valor em qualquer instante. Por exemplo, considere-se um relógio digital com alarme, programado para tocar às 13:59. Num sistema síncrono, as saídas (HH, mm, …) mudam todas ao mesmo tempo: 12:59 → 13:00 → 13:01 → ... Num sistema assíncrono, as saídas não têm forçosamente que mudar em simultâneo: 12:59 → 13:59 → 13:00 → ...
1.4. Portas lógicas (gates)
As portas lógicas são o dispositivo digital mais elementar. Uma porta lógica possui uma ou mais entradas e gera uma saída que é uma função dos valores actuais das entradas. Uma porta lógica é um circuito combinacional porque as saídas dependem exclusivamente da combinação actual das entradas.
1.5. Flip-flops
Um flip-flop é um dispositivo que guarda um 0 ou um 1 na saída. O estado do flip- flop é o valor que ele guarda no presente instante. O valor guardado só pode ser alterado em determinados instantes, impostos por uma entrada de relógio ( clock ). Um circuito digital que inclui flip-flops é um circuito sequencial. A saída dum circuito sequencial depende, em qualquer instante, além do valor actual das entradas, da sequência de valores que no passado foi aplicada nas entradas. Um circuito sequencial possui memória dos eventos passados.
1.6. Ferramentas de CAD
O projecto de sistemas digitais não tem que recorrer obrigatoriamente a ferramentas de software. Contudo, as ferramentas de software são essenciais ao projecto de sistemas digitais. A utilização de HDLs ( Hardware Description Languages ), e das correspondentes ferramentas de simulação e síntese, está generalizada. Num ambiente CAD ( Computer-Aided Design ), as ferramentas melhoram a produtividade, ajudam a corrigir erros e a antever o comportamento. Algumas das tarefas que podem ser realizadas com a ajuda das ferramentas CAD são:
1.7. Circuitos integrados
Um circuito integrado (CI) é uma colecção de portas lógicas produzidas num único chip. Os CIs podem ser classificados, de acordo com o seu tamanho, em:
Como exemplo, pode dizer-se que o Pentium4 tem 42 milhões de transístores.
A figura seguinte mostra um exemplo de encapsulamento do tipo DIP ( D ual I n-line P in package ).
Para explicar o nível do transístor e os níveis seguintes, vamos usar um multiplexador com 2 bits de entrada (A e B), 1 bit de controlo (S) e 1 bit de saída (Z).
Para optimizar certas funções (ou módulos funcionais) é necessário projectá-las no nível do transístor. O multiplexador pode ser projectado em tecnologia CMOS, usando blocos estruturais à base de transístores. Utilizando esta abordagem, o multiplexador pode ser construído com 6 transístores apenas.
Segundo a forma tradicional de projectar um sistema, utiliza-se uma tabela de verdade para descrever a funcionalidade do multiplexador. Uma tabela de verdade contém todas as possíveis combinações dos valores de entradas e dos correspondentes valores das saídas. A partir da tabela de verdade, pode obter-se uma expressão minimizada para a saída do multiplexador: Z = S’.A + S.B Esta expressão pode ser convertida num diagrama no nível da porta lógica.
Para as funções mais frequentes, a maioria das tecnologias digitais dispõe de blocos elementares predefinidos. O 74x157 da figura seguinte é um CI do tipo MSI que faz a multiplexagem de 2 entradas de 4-bits. A figura mostra o diagrama do CI 74x157, no nível do bloco. Os números em azul identificam os pinos num encapsulamento DIP de 16-pinos que contém o dispositivo.
Também se pode usar HDLs, como o VHDL, para descrever a funcionalidade do multiplexador no nível algorítmico (ver figura seguinte). A declaração entity especifica quais as entradas e saídas do circuito. A declaração architecture define o comportamento do multiplexador. Uma ferramenta de síntese pode processar esta descrição algorítmica e gerar um circuito numa determinada tecnologia.
2.2. Sistemas combinacionais vs. sequenciais
Um sistema lógico combinacional é aquele em que as saídas dependem apenas do valor actual das entradas. Um sistema combinacional pode ser descrito por uma tabela de verdade.
Além do valor actual das entradas, as saídas dum circuito lógico sequencial dependem também da sequência de valores por que passaram as entradas ⇒ memória. Um sistema sequencial pode ser descrito através duma tabela de estados.
Um sistema combinacional pode conter qualquer número de portas lógicas mas não ciclos de realimentação ( feedback loops ). Um ciclo de realimentação é um caminho dum circuito, que permite a um sinal de saída duma porta ser propagado de volta para a entrada dessa porta. Regra geral, os ciclos de realimentação introduzem um comportamento sequencial nos circuitos.
2.3. Portas lógicas
Com 3 tipos de porta elementares (AND, OR, NOT) consegue construir-se qualquer sistema digital combinacional, ou seja, formam um conjunto completo.
Os símbolos e as tabelas de verdade do AND e do OR podem ser generalizados para portas com qualquer número de entradas. A bolha na saída do inversor representa um comportamento “invertido”. Combinando numa única porta, um NOT com uma função AND ou OR, obtêm-se 2 novas funções lógicas: NAND e NOR.
O símbolo e a tabela de verdade do NAND e do NOR também podem ser generalizados para portas com qualquer número de entradas.
2.4. Álgebra da comutação (switching)
Em 1854, G. Boole [1815-1865] introduziu o formalismo que ainda usamos para tratar a lógica de forma sistemática, a álgebra de Boole. Em 1938, C. Shannon [1916-2001] utilizou esta álgebra para provar que as propriedades dos circuitos de comutação eléctricos podem ser representados por uma álgebra de Boole com 2-valores, a álgebra da comutação.
G. Boole C. Shannon
Usando esta álgebra, pode equacionar-se proposicões (afirmações) que serão verdadeiras ou falsas. Combinando-as, geram-se novas proposições e pode concluir-se se elas são verdadeiras ou falsas. Shannon usava uma variável simbólica (por ex. X) para representar a condição associada a um sinal lógico, em que ele assumia um de 2 valores possíveis (“0” ou “1”).
2.5. Axiomas
Os axiomas (ou postulados) dum sistema matemático são um conjunto mínimo de definições elementares, que se considera serem verdadeiras. O 1º par de axiomas incorpora a abstracção digital (X só pode assumir 2 valores) :
(A1) X=0 se X≠1 (A1’) X=1 se X≠ 0
Este par de axiomas apenas difere na permuta dos símbolos 0 e 1. Este princípio aplica-se a todos os axiomas e está na origem da dualidade. O próximo par de axiomas incorpora a notação de função inversor :
(A2) Se X=0, então X’=1 (A2’) Se X=1, então X’=
em que a plica (’) denota a função inversor.
Os últimos 3 pares de axiomas enunciam a definição formal das operações AND (multiplicação lógica) e OR (adição lógica) :
Teoremas de DeMorgan:
(T13) (X1·X2· ... ·Xn)’ = X1’+X2’+ ... +Xn’ (T13’) (X1+X2+ ... +Xn)’ = X1’·X2’· ... ·Xn’
Teorema de DeMorgan generalizado:
(T14) [F(X1,X2,...,Xn,0,1,+,·)]’ = F(X1’,X2’,...,Xn’,1,0·,+)
Teoremas da expansão de Shannon:
(T15) F(X1,X2,...,Xn) = X1·F(1,X2,...,Xn) + X1’·F(0,X2,...,Xn) (T15’) F(X1,X2,...,Xn) = [X1+F(0,X2,...,Xn)] · [X1’+F(1,X2,...,Xn)]
Os teorema de DeMorgan (T13 e T13’) para 2 varáveis (n=2) ficam:
(X·Y)’ = X’+Y’ (X+Y)’ = X’·Y’
Augustus De Morgan [1806-1871]
O Teorema de DeMorgan estabelece um procedimento para complementar funções lógicas. Pode usar-se o teorema de DeMorgan para converter expressões AND-OR em expressões OR-AND, como se mostra no próximo exemplo.
Exemplo:
Z = A’ B’ C + A’ B C + A B’ C + A B C’ (expressão AND-OR) Z’ = (A + B + C’) · (A + B’ + C’) · (A’ + B + C’) · (A’ + B’ + C) (expressão OR-AND)
Também se podem usar os teoremas de DeMorgan para saber a equivalência entre portas lógicas:
Como a álgebra de Boole só possui 2 valores, também se pode demonstrar a validade dos teoremas através de tabelas de verdade. Para isso, constrói-se uma tabela de verdade para cada lado das equações presentes num teorema. O exemplo seguinte prova a veracidade dos teoremas de DeMorgan [T13 e T13’] para n=2:
2.7. Dualidade
Os teoremas anteriores foram apresentados aos pares. A versão primária dum teorema pode ser obtida da versão secundária trocando “0” com “1” e “·” com “+”.
Princípio da dualidade: qualquer teorema ou identidade da Álgebra de Boole continua a ser verdadeiro quando se trocam todos os “0” com “1” e todos os “·” com “+”.
A dualidade é importante porque duplica a utilidade de qualquer axioma/teorema da Álgebra de Boole e da manipulação de funções lógicas. Verifica-se que o dual duma expressão lógica é a mesma expressão em que “+” e “·” foram trocados: FD(X 1 ,X 2 ,...,Xn ,0,1,+,·,’) = F(X 1 ,X 2 ,...,Xn ,1,0,·,+,’).
2.8. Representação normalizada
A representação mais elementar duma função lógica é a tabela de verdade. A tabela de verdade indica qual é a saída do circuito para cada combinação de entradas possível. A tabela de verdade duma função de n -variáveis possui 2 n linhas.
Existem 2^8 funções lógicas de 3 variáveis diferentes, em que o número de linhas é 23 = 8 e os valores possíveis por linha são {0,1} = 2.
Como as tabelas de verdade apenas são viáveis com poucas variáveis, é conveniente saber convertê-las para expressões algébricas. Apresentam-se agora algumas definições a usar com as expressões algébricas.
Um literal é uma variável ou o complemento duma variável. Exemplo: X, Y, X’.
Um termo de produto é um literal ou um produto lógico de 2 ou mais literais. Exemplo: Z’ , W·X·Y , W·X’·Y’
A soma-de-produtos ( SOP ) é uma soma lógica de termos de produto. Exemplo: Z’ + W·X·Y
Um termo de soma é um literal ou uma soma lógica de 2 ou mais literais. Exemplo: Z’ , W+X+Y , W+X’+Y’
O produto-de-somas ( POS ) é um produto lógico de termos de soma. Exemplo: Z’ · (W+X+Y)
Um termo normal é um termo de produto, ou de soma, em que cada variável só aparece uma vez. Exemplos de termos não -normais: W·X·X’·Z’ , W’+Y’+Z+W’
Um mintermo de n-variáveis é um termo de produto normal com n literais. Exemplos com 4 variáveis: W·X·Y·Z’ , W’·X’·Y·Z
Um maxtermo de n-variáveis é um termo de soma normal com n literais. Exemplos com 4 variáveis: W+X+Y+Z’ , W’+X’+Y+Z
Há uma correspondência entre a tabela de verdade e os mintermos e maxtermos. Um mintermo é um termo de produto que é 1 numa linha da tabela de verdade, enquanto um maxtermo é um termo de soma que é 0 numa linha da tabela de verdade. A tabela que se segue mostra, a título de exemplo, os mintermos e maxtermos para uma função de 3-variáveis F(X,Y,Z).
Um mintermo de n -variáveis pode ser representado por um inteiro com n -bits, que se designa por número do mintermo. No mintermo i , uma variável surge complementada se o bit correspondente na representação binária de i for 0; senão, a variável é não-complementada. Por exemplo, à linha 5 (101) corresponde o mintermo X·Y’·Z. No maxtermo i , uma variável surge complementada se o bit correspondente na representação binária de i for 1; senão, a variável é não- complementada. Por exemplo, à linha 5 (101) corresponde o maxtermo X’+Y+Z’. Para que a especificação dos mintermos e maxtermos faça sentido, é preciso conhecer o número de variáveis da função e a sua ordem (X,Y,Z nos exemplos).
A partir da correspondência entre a tabela de verdade e os mintermos, pode derivar-se uma representação algébrica dessa função lógica. A soma canónica duma função lógica é uma soma dos mintermos que correspondem a linhas da tabela de verdade para as quais a função é 1. Por exemplo, a partir da tabela seguinte obtém-se:
F = ∑ (^) X,Y,Z m(0,3,4,6,7) = X’·Y’·Z’ + X’·Y·Z + X·Y’·Z’ + X·Y·Z’ + X·Y·Z
A notação ∑ (^) X,Y,Z m(0,3,4,6,7) identifica 1 lista de mintermos e representa a soma dos mintermos 0, 3, 4, 6 e 7 envolvendo as variáveis X, Y e Z.
Alguns exemplos: ∑ (^) A,B,C m(0,1,2,3) = ∏ (^) A,B,C M(4,5,6,7) ∑ (^) X,Y m(1) = ∏ (^) X,Y M(0,2,3) ∑ (^) W,X,Y,Z m(1,2,3,5,8,12,13) = ∏ (^) W,X,Y,Z M(0,4,6,7,9,10,11,14,15)
Foram apresentadas 5 formas distintas de representar funções lógicas combinacionais:
Qualquer destas representações contém exactamente a mesma informação. A partir duma delas, pode derivar-se cada uma das outras 4 aplicando uma regra de conversão simples.
2.9. Exemplos
1. Para F = X·Y + X·Y’·Z + X’·Y·Z, obter a expressão de F’ na forma produto de somas.
F’ = (X.Y + X.Y’.Z + X’.Y.Z)’ = (X.Y)’·(X.Y’.Z)’·(X’.Y.Z)’ = (X’+Y’).(X’+Y+Z’).(X+Y’+Z’)
2. Escreva a função G(X,Y,Z) = X + Y·Z como uma lista de mintermos
G = X + Y·Z = X·(Y+Y’)·(Z+Z’) + Y·Z·(X+X’) [T5] = XYZ + XYZ’+ XY’Z + XY’Z’+ XYZ + X’YZ = X’YZ + XY’Z’ + XY’Z + XYZ’+ XYZ [T3] = ∑ (^) X,Y,Z m(3,4,5,6,7)
3. Obter o produto de maxtermos para a função H = X’·Y’ + X·Z.
H = X’Y’ + XZ = (X’Y’+X)(X’Y’+Z) [T8’] e+A.B=(e+A).(e+B) = (X’+X).(Y’+X).(X’+Z).(Y’+Z) [T8’] e+A.B=(e+A).(e+B) = 1 .(X+Y’).(X’+Z).(Y’+Z) [T5 ] X+X’=
Em cada soma da expressão anterior falta uma variável:
X+Y’ = X+Y’+ZZ’ = (X+Y’+Z)(X+Y’+Z’) [T5’] [T8’] X’+Z = X’+Z+YY’ = (X’+Y+Z)(X’+Y’+Z) [T5’] [T8’] Y’+Z = Y’+Z+XX’ = (X+Y’+Z)(X’+Y’+Z) [T5’] [T8’]
Combinando estes termos:
H = (X+Y’+Z)(X+Y’+Z’)(X’+Y+Z)(X’+Y’+Z)(X+Y’+Z)(X’+Y’+Z)
= ∏ (^) X,Y,Z M(2,3,4,6)
4. Obter a lista de maxtermos para H = X’·Y’ + X·Z, usando a tabela de verdade que se segue.
A partir da tabela obtém-se:
H = ∑ (^) X,Y,Z m(0,1,5,7)
Compare esta solução com a que se obteve no exemplo 3.
5. Obter uma expressão para J = XYZ + XYZ’ + XY’Z + X’YZ com um número reduzido de operadores.
J = XYZ + XYZ’ + XYZ + XY’Z + XYZ + X’YZ [T3] X+X=X = XY(Z+Z’) + X(Y+Y’)Z + (X+X’)YZ = XY+XZ+YZ [T5] X+X’=