Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Apostila Eletrônica Digital, Manuais, Projetos, Pesquisas de Circuitos de Lógica Programável

Digital, portas logicas e lógica binaria

Tipologia: Manuais, Projetos, Pesquisas

2019

Compartilhado em 26/08/2019

william-hg-9
william-hg-9 🇧🇷

1 documento

1 / 147

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Apontamentos Teóricos da Disciplina de
SISTEMAS DIGITAIS 1
Licenciatura em Engenharia de Sistemas e Informática
2º Ano -- 2º Semestre
António Joaquim Esteves
João Miguel Fernandes
Departamento de Informática
ESCOLA DE ENGENHARIA
UNIVERSIDADE DO MINHO
Março 2006
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Pré-visualização parcial do texto

Baixe Apostila Eletrônica Digital e outras Manuais, Projetos, Pesquisas em PDF para Circuitos de Lógica Programável, somente na Docsity!

Apontamentos Teóricos da Disciplina de

SISTEMAS DIGITAIS 1

Licenciatura em Engenharia de Sistemas e Informática

2º Ano -- 2º Semestre

António Joaquim Esteves

João Miguel Fernandes

Departamento de Informática

ESCOLA DE ENGENHARIA

UNIVERSIDADE DO MINHO

Março 2006

ÍNDICE

    1. Introdução …………………………………………………………………………
    1. Álgebra Booleana ……………………………………………………………….
    1. Conceitos sobre Sistemas Combinacionais ……………………………...
    1. VHDL …………………………………..………………………………………...
    1. Aplicação de Sistemas Combinacionais ………………………………….
    1. Conceitos sobre Sistemas Sequenciais …………………………………..
    1. Aplicação de Sistemas Sequenciais ……………………………………...
    1. Dispositivos Programáveis e Memórias …………………………………
    1. Bibliografia ……………..……………………………………………………...

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:

  • Edição de esquemáticos;
  • Compilação, simulação e síntese com HDLs;
  • Análise da evolução dos sistemas ao longo do tempo;
  • Simulação;
  • Geração de vectores de teste.

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:

  • SSI ( small scale integration ): de 1 a 20 portas lógicas - ANDs, Ors e NOTs;
  • MSI ( medium scale integration ): 20 a 200 portas lógicas - descodificadores, registos e contadores;
  • LSI ( large scale integration ): 200 a 200.000 portas lógicas - memórias de capacidade reduzida e PLDs simples;
  • VLSI ( very large scale integration ): mais de 1 milhão de transístores - microprocessadores, memórias e PLDs complexas.

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:

T

T13’

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:

(X+Y)’ = X’·Y’

(X·Y)’ = X’+Y’

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:

  • A tabela de verdade
  • A soma algébrica de mintermos (a soma canónica)
  • A lista de mintermos, com notação ∑
  • Produto algébrico de maxtermos (o produto canónico)
  • A lista de maxtermos, com notação ∏

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.

X Y Z W

A partir da tabela obtém-se:

H = ∏ X,Y,Z M(2,3,4,6)

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’=