sistemas_digitais códigos

82
SISTEMAS DIGITAIS A análise da lógica Digital precisa de considerar dois aspectos di- ferentes: o processo lógico , que é a base teórica dos computadores, calculadoras electrónicas, relógios digitais e restantes aparelhos elec- trónicos digitais, e o circuito electrónico , com o qual se constroem todos os aparelhos indicados. A tomada de decisões é o objectivo da lógica digital e o circuito electrónico é quem realiza e executa o dito objectivo. Por natureza, o Homem está familiarizado com a lógica, já que a sua mente usa continuamente a lógica para a realização de funções de tomada de decisão. Assim, podemos resolver problemas matemáti- cos, tomar decisões baseadas em factos acontecidos e modificar as nossas decisões, em resultado de novas informações, ou com o conhe- cimento adquirido previamente e armazenado na nossa memória. A nossa mente é uma aproximação do que a electrónica digital realiza electronicamente, pelo menos quando os nossos aspectos emocionais e intuitivos estão completamente superados. Angulo (J. M.) – Electrónica Digital Moderna – Teoria e Prática, Edi- torial Paraninfo Bilbau, 1991. Índice Introdução. Electrónica Digital 2 Sistemas de Numeração 3 Conversões entre Sistemas 6 Aritmética em Binário 11 Operações Lógicas 11 Prioridades das Operações 13 Circuitos Lógicos 14 Propriedades das Operações Lógicas 15 Operações Derivadas 17 Simplificação Analítica e Funções 21 Representação Alternativa das Portas Lógicas 22 Portas Universais 23 Formas Canónicas 24 Simplificação de Equações pelo Método de Karnaugh 28 Códigos BCD 35 Códigos Não BCD 38 Famílias Lógicas 43 Circuitos Combinatórios 48 Elementos Básicos de Memória 68 Circuitos Sequenciais 81

Upload: sao-santos

Post on 04-Aug-2015

101 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Sistemas_Digitais códigos

SISTEMAS DIGITAIS

A análise da lógica Digital precisa de considerar dois aspectos di-ferentes: o processo lógico, que é a base teórica dos computadores, calculadoras electrónicas, relógios digitais e restantes aparelhos elec-trónicos digitais, e o circuito electrónico, com o qual se constroem todos os aparelhos indicados. A tomada de decisões é o objectivo da lógica digital e o circuito electrónico é quem realiza e executa o dito objectivo.

Por natureza, o Homem está familiarizado com a lógica, já que a sua mente usa continuamente a lógica para a realização de funções de tomada de decisão. Assim, podemos resolver problemas matemáti-cos, tomar decisões baseadas em factos acontecidos e modificar as nossas decisões, em resultado de novas informações, ou com o conhe-cimento adquirido previamente e armazenado na nossa memória. A nossa mente é uma aproximação do que a electrónica digital realiza electronicamente, pelo menos quando os nossos aspectos emocionais e intuitivos estão completamente superados.

Angulo (J. M.) – Electrónica Digital Moderna – Teoria e Prática, Edi-

torial Paraninfo Bilbau, 1991.

Índice

Introdução. Electrónica Digital 2 Sistemas de Numeração 3 Conversões entre Sistemas 6 Aritmética em Binário 11 Operações Lógicas 11 Prioridades das Operações 13 Circuitos Lógicos 14 Propriedades das Operações Lógicas 15 Operações Derivadas 17 Simplificação Analítica e Funções 21 Representação Alternativa das Portas Lógicas 22 Portas Universais 23 Formas Canónicas 24 Simplificação de Equações pelo Método de Karnaugh 28 Códigos BCD 35 Códigos Não BCD 38 Famílias Lógicas 43 Circuitos Combinatórios 48 Elementos Básicos de Memória 68 Circuitos Sequenciais 81

Page 2: Sistemas_Digitais códigos

Sistemas Digitais

p. 2

Introdução – Electrónica Digital A electrónica digital encontra-se em grande expansão, desde o aparecimen-

to dos circuitos integrados: embora tenha aparecido antes, foi a capacidade de construir equipamentos cada vez menores e mais poderosos que permitiu o grande desenvolvimento da electrónica digital que, em muitas aplicações, tem vindo a substituir outras tecnologias.

Os circuitos digitais caracterizam-se pelo facto de as tensões tomarem um número finito de valores e variarem bruscamente, ao contrário dos circuitos analógicos:

Sinal analógico Sinais digitais Os sinais analógicos tomam um número infinito de valores entre dois esta-

dos: variam de forma contínua, sendo um exemplo comum de sinal analógico, a tensão alternada sinusoidal; os sinais digitais só podem tomar um número finito de valores: variam de forma discreta.

A maior parte dos fenómenos físicos são analógicos: por exemplo, entre as 14h17 e as 14h29 existe uma infinidade de instantes, embora estejamos habi-tuados a contar o tempo em minutos ou segundos. Nos relógios analógicos, o ponteiro roda de forma contínua e, nos digitais, os algarismos mudam brus-camente, a cada segundo.

Existem circuitos que fazem a conversão de sinais analógicos para digitais (Conversores Analógico – Digital, ADC), por exemplo tomando valores de tem-peraturas a intervalos de tempo definidos, assim como de sinais digitais para analógicos (Conversores Digital – Analógico, DAC).

O segundo sinal digital representado acima, em que a tensão pode assumir dois estados definidos é um sinal binário, sendo os dois níveis de tensão desi-gnados estados ou níveis lógicos baixo e alto ou, simplesmente por 0 e 1, em-bora a tensão do nível baixo não seja necessariamente de 0 V, nem a do nível alto, de 1 V. Em circuitos de electrónica digital, o sinal de entrada pode ser, por exemplo, uma onda quadrada, de modo a levar os transístores a funcionar quer ao corte, quer à saturação. A electrónica digital pode ser utilizada em:

- Automatismos Industriais: comando de máquinas, automatização de li-nhas de montagem, etc.

- Aquisição, tratamento e comunicação de dados: processamento de sa-lários, controlo de tráfego, informática, etc.

- Electrodomésticos, calculadoras, computadores, etc. Os dois estados binários (alto e baixo) podem ser utilizados com diferentes

significados, de acordo com as aplicações em causa. Exemplos: Estado Significado

Automatismos Baixo Alto

Contacto não actuado, saída desactivada Contacto actuado, saída activada

Lógica Baixo Alto

Afirmação falsa Afirmação verdadeira

Aritmética Baixo Alto

Zero Um

Page 3: Sistemas_Digitais códigos

Sistemas Digitais

p. 3

Sistemas de Numeração Os circuitos digitais electrónicos não trabalham com o nosso sistema de

numeração: nós estamos habituados ao sistema decimal porque temos dez dedos nas mãos (daí, o nome de dígitos, dado aos dez algarismos, de 0 a 9), mas nos circuitos digitais, que são binários, existem dois estados possíveis (sem tensão / com tensão) e, por isso, trabalham com o sistema de numeração binária, que utiliza dois algarismos, chamados bits (binary digits): 0 e 1.

O sistema de numeração decimal tem origem, provavelmente, chinesa mas, ao longo da História, diferentes povos utilizaram outros sistemas de numera-ção (por exemplo, na Babilónia, o sexagesimal, de que são, ainda vestígios, as divisões do tempo: um minuto tem 60 segundos).

No Sistema Decimal, a posição relativa de cada algarismo dá-lhe um peso

específico, (é um sistema ponderado1): um número pode ser formado por vários algarismos e o valor de cada um depende da ordem em que aparece no número. Por exemplo, em 234, o 3 vale 30 (3×10, em que 10 é o peso, devido à posição do algarismo, na casa das dezenas). O número poderia ser escrito de outras formas:

2×100 + 3×10 + 4×1 = 2 ×102 + 3 × 101 + 4 × 100.

O peso de cada algarismo é uma potência de base 10, cujo expoente vai

crescendo da direita para a esquerda, desde 0, no algarismo das unidades. Por isso, o sistema decimal pode ser chamado Sistema de Base Dez.

Na contagem, em decimal, passa-se de um número, ao seguinte, aumen-

tando de uma unidade o algarismo mais à direita, excepto se este for o 9, por-que não há nenhum algarismo maior. Nesse caso, o 9 passa a 0 e soma-se uma unidade ao algarismo imediatamente à sua esquerda: ...238, 239, 240...

No Sistema de Numeração Binário ou Sistema de Base Dois, os números

são representados por sucessões (ou “palavras”) de bits e os pesos destes são potências de 2.

Em geral, para cada aplicação, define-se o número de bits a utilizar, (com-primento da palavra). Existem três comprimentos mais importantes que dão nomes especiais às respectivas palavras:

Comprimento da palavra Nome da palavra

4 8 16

Nibble ou Quarteto Byte ou Octeto Word ou Palavra

Numa palavra binária com um dado comprimento, designam-se:

- O bit mais à direita, o de menor peso, por LSB, (Least Significant Bit) - O bit mais à esquerda, por MSB, (Most Significant Bit).

À semelhança do que se passa no sistema decimal, o valor de um número

escrito em binário corresponde a uma soma, por exemplo, 1101 significa:

1 Um exemplo de sistema de numeração, não ponderado, é a numeração romana. Cada símbolo tem um dado valor que não depende da posição que ocupa na escrita do número. Ex: MDCXXIV = 1000 + 500 + 100 + 10 + 10 – 1 + 5.

Page 4: Sistemas_Digitais códigos

Sistemas Digitais

p. 4

1×23 + 1×22 + 0×21 + 1×20 = 1×8 + 1×4 + 0×2 + 1×1

O número que se segue a 1101 é 1110, porque, como o último algarismo é 1 e é o maior de que dispomos, passa a 0 e soma-se uma unidade ao que está à sua esquerda que passa de 0 a 1.

Note-se que, excepto para o peso do LSB, todos os outros pesos são pares.

Assim, da mesma forma que se sabe que um número escrito em decimal é múltiplo de 10, se acaba em zero, um número escrito em binário é par (múlti-plo de 2), se termina em zero e ímpar, se termina em um.

Dado que um número não precisa de ser muito grande para, em binário, ser escrito com muitos algarismos, para evitar erros, utilizam-se também, como auxiliares, os Sistemas Octal, (de Base 8) e Hexadecimal, (de Base 16).

A vantagem destes sistemas é que, para além de precisarem de muito menos algarismos, é muito fácil converter números escritos em binário para qualquer um deles e deste, para decimal.

No Sistema Octal ou de Base Oito, utilizam-se os algarismos de 0 a 7. Por

exemplo, o número octal 36 tem, em decimal, o valor:

3×81 + 6×80 = 3×8 + 6×1 = 24 + 6 = 30 No Sistema Hexadecimal ou de Base Dezasseis, utilizam-se, além dos alga-

rismos de 0 a 9, as letras maiúsculas de A a F que valem, respectivamente: 10, 11, 12, 13, 14 e 15. Por exemplo, o número 2D0, vale, em decimal:

2×162 + 13×161 + 0×160 = 2×256 + 13×16 + 0×1 = 720

O seguinte Quadro mostra as equivalências para os primeiros 17 números,

escritos nas bases 10, 2, 8 e 16:

Base 10 2 8 16

0 0 0 0 1 1 1 1 2 10 2 2 3 11 3 3 4 100 4 4 5 101 5 5 6 110 6 6 7 111 7 7 8 1000 10 8 9 1001 11 9

10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F 16 10000 20 10

Como se pode ver e inferir da Tabela, a quantidade de números binários

que se podem representar com n bits é dada por 2n e o número máximo que se pode representar com os mesmos bits é igual a 2n - 1: Por exemplo, com um

Page 5: Sistemas_Digitais códigos

Sistemas Digitais

p. 5

Byte, (conjunto ou palavra de 8 bits), podem-se representar 28 = 256 números diferentes, desde 0 a 28 - 1, ou seja, o maior número que se pode representar é 28-1 = 255.

Da mesma maneira, podem-se representar com n algarismos octais, 8n números diferentes e com n algarismos hexadecimais, 16n. Por isso, para representar os primeiros 16 números, tivemos que utilizar 2 algarismos octais porque com 1 só se poderiam representar 81 = 8 números mas conseguimos representar os mesmos 16 números com palavras de, apenas 1 algarismo hexadecimal.

Em geral,

- Quando estamos a tratar de números escritos em diferentes bases, para se saber qual a base em que um número é escrito, escreve-se a base em índice;

- O significado da escrita de um número na base B, com n dígitos, é:

an-1 an-2 …a1 a0(B) = an-1×Bn-1 + an-2×Bn-2 + … + a1× B1 + a0× B0 Para números fraccionários, a regra mantém-se. Por exemplo:

101,11(2) = 1×22 + 0×21 + 1×20 + 1×2-1 + 1×2-2 = 4+0+1+0,5+0,25 = 5,75(10)

Page 6: Sistemas_Digitais códigos

Sistemas Digitais

p. 6

Conversões entre Sistemas 1. Para se converter de qualquer base, para decimal, utiliza-se a fórmula

dada acima. Exemplos:

2348= 2×82 + 3×81 + 4×80 = 2×64 + 3×8 + 4×1 = 15610 F716 = 15×161 + 7×160 = 15×16 + 7×1 = 24710 11012 = 1×23 + 1×22 + 0×21 + 1×20 = 1×8 + 1×4 + 0×2 + 1×1 = = 8 + 4 + 1 = 1310

Esta última passagem sugere o seguinte:

Na conversão de Binário para Decimal, se atribuirmos, aos bits, da

direita para a esquerda, como pesos, as potências de 2 (1, 2, 4, 8, ..., 2n-1) e, depois somarmos os pesos correspondentes aos uns, podemos obter mais rapidamente o valor em decimal.

2. Para se converter de decimal, para um sistema noutra base, divide-se,

sucessivamente o número pelo valor da base, até se obter o quociente 0 e vão-se anotando os restos. Depois, estes são escritos pela ordem contrária à que apareceram – o dígito menos significativo do número no sistema pretendido é o resto da primeira divisão. Exemplos:

Converter:

58 para a base 8

5810 = 728

Converter: 69 para binário

6910 = 10001012

Converter: 247 para a base 16

24710 = F716

Page 7: Sistemas_Digitais códigos

Sistemas Digitais

p. 7

3. As conversões de octal ou hexadecimal para binário e vice-versa são mais simples porque as respectivas bases, 8 e 16, são potências de 2, respectiva-mente 23 e 24. Por esta razão, um dígito octal é equivalente a 3 bits e um dígito hexadecimal, a 4 (ou 1 nibble).

Octal Binário Hexadecimal Binário

0 000 0 0000 1 001 1 0001 2 010 2 0010 3 011 3 0011 4 100 4 0100 5 101 5 0101 6 110 6 0110 7 111 7 0111

8 1000 9 1001 A 1010 B 1011 C 1100 D 1101 E 1110 F 1111

Assim temos as seguintes regras:

- Para converter um número escrito em octal para binário, podemos

“traduzir” cada dígito, por 3 bits; - Para converter de hexadecimal para binário, podemos “traduzir” cada

dígito, por 4 bits; - Para converter de binário, para octal ou para hexadecimal, divide-se

o conjunto de bits, da direita para a esquerda, em grupos de 3 ou de 4, acrescentando zeros à esquerda, se for necessário, e converte-se cada grupo no dígito correspondente.

Exemplos:

1. Conversão de 368 para binário:

3 = 011; 6 = 110 ⇒ 368 = 0111102 2. Conversão de B416 para binário:

B = 1011; 4 = 0100 ⇒ B416 = 101101002 3. Vamos converter o número 1011100112, para:

a) Octal

101110011 → 101 110 011 → 5638 b) Hexadecimal

101110011 → 0001 0111 0011 → 17316

Page 8: Sistemas_Digitais códigos

Sistemas Digitais

p. 8

A conversão, para binário, de números decimais muito grandes torna-

se mais prática se passarmos o número da base 10, para a base 8 ou 16 e, depois, desta para binário.

Exemplo:

Vamos converter 7510 para binário:

Conversão directa Decimal → Binário Dec. → Octal → Binário

Verifica-se que 7510 = 10010112 e que, no segundo caso, efectuámos

menos quatro divisões.

Aritmética em Binário Dado que, no sistema binário, existem apenas dois algarismos, é muito

simples decorar as tabuadas das operações:

Tabuada da Adição Tabuada da Subtracção 0 + 0 = 0 1 + 0 = 1 1 + 1 = 10

0 – 0 = 0 1 – 0 = 1 1 – 1 = 0

Tabuada da Multiplicação Tabuada da Divisão 0 × 0 = 0 1 × 0 = 0 1 × 1 = 1

0 : 1 = 0 1 : 1 = 1

As operações são realizadas, utilizando os algoritmos conhecidos do Siste-

ma decimal. Por exemplo, para uma adição:

Lendo, a partir da coluna da direita: Um mais um é zero e vai um um mais um mais um é um e vai um um mais zero é um e mais zero é um zero mais um é um um mais um é zero e vai um.

Page 9: Sistemas_Digitais códigos

Sistemas Digitais

p. 9

Código de Complemento a Dois Para representar, em binário, números negativos, o código mais utilizado é

o código de complemento a dois. Antes de vermos como é feita a codificação, vamos definir:

Complemento a B ou Complemento Verdadeiro de um número na Base B é a diferença entre o número e a potência de B imediatamente superior. Por exemplo, na base 10, o complemento a 10, ou complemento verdadeiro

do número 38 é dado por 100 - 38 = 62.

Complemento Restrito de um número na Base B ou Complemento a B-1 é a diferença entre o complemento verdadeiro e um. Pode ser obtido sub-traindo o número, ao valor dado pela diferença entre a potência de base B imediatamente superior ao número e 1. Assim, o código de complemento a 10 pode ser obtido somando 1, ao código

de complemento a 9. Exemplo: Código de complemento a 9 de 38: 99 – 38 = 61; código de complemento a 10 de 38: 61 + 1 = 62.

Este código baseia-se no seguinte: A operação 8 – 3 = 5 poderia ser obtida,

somando a 8, o complemento a 10 de 3 e desprezando o algarismo das deze-nas do resultado: 8 + 7 = 15; 15 – 10 = 5.

Com o código de complemento a 2, passa-se o mesmo, mas em binário. Nota:

Para trabalhar com este código, deve fixar-se previamente o número de bits a utilizar.

Vejamos, a título de exemplo como obter o código do número negativo -3,

com 4 bits: O código binário de 3 é 0011. O código de complemento a 1 do número 3

é: 1111 – 0011 = 1100. O número negativo -3, é o complemento a 2 do códi-go de 3, que por sua vez é dado pela soma de 1 ao código de complemento a 1: 1100 + 1 = 1101. Assim, a operação 7 – 3 poderia ser codificada por: 0111 + 1101 = 1 0100,

desprezando o bit mais à esquerda, uma vez que estamos a trabalhar com números representados a 4 bits. Obtemos assim 0100 que representa o núme-ro 4 (= 7 - 3).

No exemplo acima, constata-se que o código de complemento a 1 de um

número é igual ao seu código binário, trocando os 1s por 0s e os 0s por 1s:

Código de 3 Código de complemento a 1 de 3 0011 1100

Para obter o respectivo código de complemento a 2, basta somar 1. Uma vantagem imediata deste código é atribuir, ao bit mais significativo

(MSB) da palavra, o significado de sinal: 0, para números positivos e 1, para números negativos.

Page 10: Sistemas_Digitais códigos

Sistemas Digitais

p. 10

No código de Complemento a dois, por exemplo com 4 bits, temos a seguin-te correspondência, com números escritos em decimal:

Compl. a 2 Decimal

0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 -8 1001 -7 1010 -6 1011 -5 1100 -4 1101 -3 1110 -2 1111 -1

É claro que uma desvantagem desta representação é que reduz para cerca

de metade, o número máximo que se pode representar com um dado número de bits:

O número de total é o mesmo mas, agora divide-se em positivos e negativos. Por exemplo, com 4 bits, já vimos que se podem representar 16 números dife-rentes, em binário natural, os números de 0 a 15 e, em complemento a dois, os números -8 a 7.

Page 11: Sistemas_Digitais códigos

Sistemas Digitais

p. 11

Álgebra de Boole Em meados do século XIX, George Boole desenvolveu uma teoria matemáti-

ca, baseada em variáveis de 2 estados, com o objectivo de representar e tratar, de forma sistemática, as leis da lógica. Essa teoria foi desenvolvida e tem sido aplicada, com o nome de Álgebra de Boole, a todos os sistemas de automatiza-ção, assim como aos sistemas digitais.

A álgebra de Boole trabalha com:

- Variáveis Binárias, que podem assumir dois estados, por convenção, 0 e 1, que não representam necessariamente quantidades, podendo represen-tar, por exemplo: níveis de tensão, (baixo / alto, respectivamente), afirma-ções (falso e verdadeiro), contactos eléctricos (não actuado / actuado) ou vál-vulas pneumáticas (aberto / fechado).

- Operações Lógicas. Com este tipo de variáveis, podem ser definidas três operações lógicas: Produto Lógico, Soma Lógica e Negação Lógica.

- Postulados - Princípios básicos evidentes.

Operações Lógicas 1. Produto Lógico (AND) – Operação sobre duas ou mais variáveis, cujo

resultado é 1, apenas quando todas as variáveis valerem 1: basta que uma das entradas esteja a 0, para que a saída também o esteja.

Exemplo:

A lâmpada acende (L = 1) se k1 for actuado (k1 = 1) e k2 for actuado (k2 = 1).

Para além do esquema de contactos2, as operações lógicas podem ser repre-

sentadas de várias outras formas, entre as quais, as seguintes: - Representação Analítica, equação que traduz a operação:

L = k1 ⋅ k2 - lê-se: “L igual a k1 e k2”. - Tabela de Verdade, em que se indicam todas as combinações possíveis dos

estados das entradas e os correspondentes estados da saída: k2 k1 L 0 0 0 0 1 0 1 0 0 1 1 1

Nos circuitos lógicos, as operações podem ser implementadas por Portas

Lógicas. Para representar a porta AND, utilizam-se os seguintes símbolos:

2 Um contacto está no estado 0, quando não foi actuado, e no estado 1, depois de ter sido actuado. Note-se que um contacto normalmente aberto está a 0, quando aberto e a 1, depois de fechado; mas um contacto normalmente fechado está a 0, enquanto está fechado e a 1, quando está aberto, por ter sido actuado.

Page 12: Sistemas_Digitais códigos

Sistemas Digitais

p. 12

Símbolo Americano Símbolo IEEE / ANSI

Os traços à esquerda representam as entradas e o traço à direita, a saída. Diagrama temporal – Se aplicarmos os

sinais a e b, às entradas de uma porta AND, obtemos a saída S, que só está alta, durante os intervalos de tempo em que as duas entradas estão altas:

2. Soma Lógica (OR) – Para que a saída esteja a 1, basta que uma das

entradas o esteja: a saída só será 0, se todas as entradas estiverem a 0.

A lâmpada acende se k1 for actuado ou k2 for actuado.

Representação Analítica Símbolo Americano Símbolo IEEE / ANSI

L = k1 + k2 (lê-se “k1 ou k2”)

Tabela de Verdade:

k2 k1 L 0 0 0 0 1 1 1 0 1 1 1 1

Diagrama Temporal: A saída fica a

1 quando, pelo menos uma das entra-das está a 1:

3. Negação Lógica (NOT) – Operação com uma entrada, cujo resultado é a

negação do seu valor lógico.

A variável de entrada pode ser representada por um

contacto normalmente fechado: quando k não está actuado (k = 0 ⇔ ~k = 1), a lâmpada está acesa (L = 1); quando está actuado (k = 1 ⇔ ~k = 0), abre e apaga a lâmpada (L = 0).

Representação Analítica Símbolo Americano Símbolo IEEE / ANSI

L = ~k

kL = (lê-se não k”)

Page 13: Sistemas_Digitais códigos

Sistemas Digitais

p. 13

Dado que os valores lógicos, 0 e 1, são contrá-

rios entre si (se a ≠ 0, então a = 1 e, se a ≠ 1, então a = 0), as representações ao lado são equi-valentes3:

Tabela de Verdade:

k L 0 1 1 0

Diagrama Temporal: Quando a entrada está a 1, a saída fica a 0.

Prioridades das Operações No cálculo de expressões com várias operações lógicas, existem as seguin-

tes regras de prioridade:

1º Negação 2º Produto 3º Soma

Para efectuar as operações, por outra ordem, uti-lizam-se parêntesis.

Exemplo: os resultados dos seguintes pares de expressões são diferentes:

a+b⋅c ≠ (a+b)⋅c

~a⋅b ≠ ~(a⋅b)

Para se criar a Tabela de Verdade de uma expressão lógica, há que ter em

conta o seguinte: 1º O número de linhas da Tabela (número de combinações possíveis dos

estados das variáveis de entrada) é igual a 2, elevado ao número de variá-veis;

2º As diferentes combinações das entradas correspondem aos números binários de 0 a 2n – 1;

3º Criar uma coluna, para cada variável que apareça negada;

3 Nas duas representações à esquerda, pretende-se significar que as entradas são acti-vas altas e as saídas, activas baixas; nas representações à direita, as entradas são activas baixas e as saídas são activas altas. Para que um dado circuito funcione de determinada forma, é necessário que se introduzam 1s nas entradas activas altas e 0s, nas entradas activas baixas.

Page 14: Sistemas_Digitais códigos

Sistemas Digitais

p. 14

4º Para cada linha da tabela, determinar o valor da expressão, respei-tando as prioridades das operações.

Exemplo: Tabela de Verdade da expressão a)b(cS ⋅+= - existem 3 variáveis,

logo o número de linhas da Tabela é 23 = 8:

c b a b bc + a)b(cS ⋅+=

0 0 0 1 1 0 0 0 1 1 1 1 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 1 1 0 0 1 0 1 1 1 0 1 1

Circuitos Lógicos Para desenhar o circuito lógico (ou Logigrama) de uma função lógica, proce-

de-se da seguinte forma: 1º Traçam-se linhas, para cada uma das variáveis de entrada; 2º Ligam-se às respectivas entradas, as portas referentes às diversas

operações, respeitando as regras de prioridade. Exemplo: Logigrama da expressão

a)b(cS ⋅+=

Existem circuitos integrados com estas portas4:

Circuito Integrado Constituição AND 7408 e 4081

7411 e 4073 7421 e 4082

4 Portas de 2 entradas 3 Portas de 3 entradas 2 Portas de 4 entradas

OR 7432 e 4071 74802 4075 4072

4 Portas de 2 entradas 3 Portas de 4 entradas 3 Portas de 3 entradas 2 Portas de 4 entradas

NOT 7404, 4009, 4049 e 4069 6 Portas

4 Os circuitos com referências que começam por 74 são circuitos TTL e os que come-çam por 40 são CMOS. TTL e CMOS são duas tecnologias de fabrico de circuitos inte-grados que serão analisadas, mais adiante.

Page 15: Sistemas_Digitais códigos

Sistemas Digitais

p. 15

Propriedades das Operações Lógicas Das definições das diferentes operações, resultam as seguintes proprieda-

des: Comutativa a⋅b = b⋅a a+b = b+a Associativa a⋅b⋅c = (a⋅b)⋅c = a⋅(b⋅c) a+b+c = (a+b)+c = a+(b+c) Distributiva a ⋅ (b + c) = a ⋅ b + a ⋅ c a + b ⋅ c = (a + b) ⋅ (a + c)

A Negação apresenta a propriedade de a negação dupla de uma expressão

não alterar o seu estado lógico:

Involução aa =

Postulados 1. Elemento Neutro – Tanto o produto lógico, como a soma lógica, têm ele-

mento neutro (que não alteram o resultado), respectivamente, 1 e 0: a ⋅1 = a a+0 = a

2. Elemento Absorvente – Os elementos absorventes do produto e da soma

(que tornam os resultados das operações iguais a si próprios) são, respectiva-mente, 0 e 1:

a ⋅0 = 0 a+1 = 1 3. Complemento – Para todo o elemento a, existe um e um só elemento,

designado por complemento de a, representado por ~ a ou a , tal que são váli-das as igualdades:

1aa =+ 0aa =⋅ 4. Idempotência – Numa operação, em que as entradas são iguais, a saída é

igual a elas: a ⋅ a = a a + a = a

Observe-se que todas as expressões enunciadas são simétricas duas a

duas, de onde resulta o seguinte princípio: Princípio da Dualidade: Toda a expressão verdadeira continua a sê-lo, se

trocarmos entre si as somas por produtos, os produtos por somas, os 0s por 1s e os 1s por 0s.

Teoremas – são válidas as seguintes leis:

Absorção a + a ⋅ b = a a ⋅ (a + b) = a

babaa +=⋅+ bab)a(a ⋅=+⋅

babaa +=⋅+ bab)(aa ⋅=+⋅

Leis de Morgan baba +=⋅ baba ⋅=+ Em álgebra de Boole, as igualdades podem ser demonstradas de duas for-

mas:

Page 16: Sistemas_Digitais códigos

Sistemas Digitais

p. 16

- Analiticamente, com base em afirmações equivalentes verdadeiras; - Por meio de Tabelas de Verdade, mostrando que a expressão é válida

para todas as combinações das entradas. Como exemplos, vamos demonstrar os seguintes teoremas:

a) babaa +=⋅+ Demonstração analítica:

b)(a)aa(baa +⋅+=⋅+ Propriedade distributiva da soma em relação ao produto

b)(a1b)(a)a(a +⋅=+⋅+ Propriedade do complemento

1⋅(a+b) = (a+b)⋅1 Propriedade comutativa do produto

(a+b)⋅1 = a+b Elemento neutro do produto

b) baba ⋅=+ Demonstração por Tabela de Verdade:

a b a b a + b ba + ba ⋅ 0 0 1 1 0 1 1 0 1 1 0 1 0 0 1 0 0 1 1 0 0 1 1 0 0 1 0 0

Verifica-se que as duas últimas colunas são iguais, o que demonstra a

igualdade.

Exercícios

1. Escreva a equação de S, referente ao seguinte logigrama:

2. Dada a função: ABCBCS ⋅⋅+⋅=

2.1. Construa a Tabela de Verdade de S 2.2. Desenhe o respectivo diagrama lógico

Page 17: Sistemas_Digitais códigos

Sistemas Digitais

p. 17

Operações Derivadas Qualquer logigrama pode ser criado utilizando somente as portas AND, OR

e NOT mas, a partir destas operações, podem ser formadas outras, como as seguintes, que simplificam o trabalho:

4. Produto Lógico Negado (NAND) – A saída é 0, quando todas as entradas

estão a 1.

K é um relé que abre o contacto, quando a bobina é percorrida por corrente, o que permite negar a operação que activa a respectiva bobina.

Representação Analítica Símbolo Americano Símbolo IEEE / ANSI

baL ⋅=

Tabela de Verdade:

b a L 0 0 1 0 1 1 1 0 1 1 1 0

Diagrama temporal: A porta NAND é uma porta com entradas acti-

vas altas e saída activa baixa: a saída fica activa (no estado baixo) quando todas as entradas estão activas (a 1), como se vê no diagrama tem-poral:

Observando a Tabela de Verdade, podemos expressar esta conclusão, de outra maneira:

Basta uma entrada estar a 0, para que a saída

fique a 1, o que se traduz pelos seguintes símbo-los equivalentes ao NAND, com entradas activas baixas e saída activa alta:

Propriedades da Operação NAND

1aa

aa.a

b.aa.b

aa.1

1a.0

=⋅

=

=

=

=

Page 18: Sistemas_Digitais códigos

Sistemas Digitais

p. 18

5. Soma Lógica Negada (NOR) – A saída é 0, quando, pelo menos, uma das entradas for 1.

Basta actuar sobre a ou b, para que a saída fique a 0.

Representação Analítica Símbolo Americano Símbolo IEEE / ANSI

baL +=

Tabela de Verdade:

b a L 0 0 1 0 1 0 1 0 0 1 1 0

Diagrama temporal A porta NOR é uma porta com entradas acti-

vas altas e saída activa baixa, em que basta uma das entradas estar activa (a 1), para que a saída fique activa (a 0):

Observando a Tabela de Verdade, podemos expressar esta conclusão, de

outra maneira, considerando as entradas activas baixas e a saída activa alta: É necessário que todas as entradas estejam a 0

(activas), para que a saída fique a 1 (activa), o que se traduz pelos seguintes símbolos equivalentes:

Propriedades da Operação NOR

0aa

aaa

abba

01a

a0a

=+

=+

+=+

=+

=+

6. Soma Exclusiva (EXOR) – A saída é 1, se um número ímpar de entradas

estiver a 1.

Se uma, e só uma, das entradas for actuada, a saída fica a 1.

Page 19: Sistemas_Digitais códigos

Sistemas Digitais

p. 19

Representação Analítica Símbolo Americano Símbolo IEEE / ANSI

bababaL ⋅+⋅=⊕=

Tabela de Verdade:

b a L 0 0 0 0 1 1 1 0 1 1 1 0

Diagrama temporal A porta EXOR é uma porta com entradas e

saída, activas altas, em um número ímpar de entradas activas, faz activar a saída:

Propriedades de EXOR

a ⊕ b = b ⊕ a a ⊕ b ⊕ c = (a ⊕ b) ⊕ c = a ⊕ (b ⊕ c) a ⊕ a = 0

a=1a

1aa

=⊕

a ⊕ 0 = a 7. Soma Exclusiva Negada (EXNOR) – A saída é 0, se um número ímpar de

entradas estiver a 1.

Se uma, e só uma, das entradas for actuada a saída fica a 0.

Representação Analítica Símbolo Americano Símbolo IEEE / ANSI

b)a()b(ababaL +⋅+=⊗=⊕=

Tabela de Verdade:

b a L 0 0 1 0 1 0 1 0 0 1 1 1

Page 20: Sistemas_Digitais códigos

Sistemas Digitais

p. 20

Propriedades de EXNOR

a1a

a0a

0aa

1aa

abba

=⊗

=⊗

=⊗

=⊗

⊗=⊗

Diagrama Temporal:

Para estas portas, existem os circuitos integrados:

Circuito Integrado Constituição NAND 4011 e 7400

4023 e 7410 4012 e 7420 4068 e 7430 74133

4 Portas de 2 entradas 3 Portas de 3 entradas 2 Portas de 4 entradas 1 Porta de 8 entradas 1 Porta de 13 entradas

NOR 4001 e 7402 4025 e 7427 4002 e 7425 74260 4078

4 Portas de 2 entradas 3 Portas de 3 entradas 2 Portas de 4 entradas 2 Portas de 5 entradas 1 Porta de 8 entradas

EXOR 4070 e 7486 4 Portas de 2 entradas EXNOR 4077 e 74266 4 Portas de 2 entradas

Page 21: Sistemas_Digitais códigos

Sistemas Digitais

p. 21

Simplificação Analítica de Funções Utilizando as propriedades das operações, podemos simplificar as funções

lógicas, o que permite criar circuitos que utilizem o menor número de portas possível, portanto mais simples e mais económicos.

Vamos ver um exemplo que ilustra o método. O objectivo é reduzir tanto

quanto possível, o número de operações envolvidas e, eventualmente, o núme-ro de variáveis de entrada.

Vejamos a seguinte função:

a)a(ba)cab(cS +⋅⋅⋅+⋅⋅=

Propriedade Aplicada

=+⋅⋅⋅+⋅⋅ a)a(ba)cab(c

Comutativa do produto

=+⋅⋅⋅+⋅⋅ a)a(ba)cba(c

Distributiva da soma em relação ao produto

=+⋅⋅+⋅⋅ a)a(b1)(bac

Elemento absorvente da soma

=+⋅⋅⋅⋅ a)a(b1ac

Elemento neutro do produto

=+⋅⋅⋅ a)a(bac

Absorção =+⋅⋅ a)b(ac

Distributiva =⋅⋅+⋅⋅ aacbac

Idempotência =⋅+⋅⋅ acbac

Distributiva =+⋅⋅ )1b(ac

Elemento absorvente da soma =⋅⋅ 1ac

Elemento neutro do produto ac ⋅ A simplificação reduziu o número de variáveis, de 3 para 2, assim como o

número de operações envolvidas. O circuito lógico correspondente à equação simplificada é:

Page 22: Sistemas_Digitais códigos

Sistemas Digitais

p. 22

Representação Alternativa das Portas Lógicas Pode ser útil, utilizar as seguintes representações alternativas das portas

lógicas, baseadas nas leis de Morgan: 1. Porta AND

Para obter 1 na saí-da, é necessário ter todas as entradas a 1.

Para obter 0 na saí-da, basta ter uma entrada a 1.

bababa +=⋅=⋅

2. Porta OR

Para obter 1 na saí-da, basta uma entrada a 1.

Para obter 0 na saída, é necessário ter todas as entradas a 0.

bababa ⋅=+=+

3. Porta NOT

1 na entrada dá 0 na saída; 0 na entrada dá 1 na saída

4. Porta NAND

Para obter 0 na saída, é necessário que todas as entradas estejam a 1.

Para obter 1, basta que uma das entradas esteja a 0. baba +=⋅

5. Porta NOR

Para obter 0 na saída, basta que uma das entradas esteja a 1.

Para obter 1, é necessário que todas as entradas este-jam a 0.

baba ⋅=+

Note-se que nos símbolos à esquerda, todas as entradas são activas altas e

que nos símbolos alternativos, todas as entradas são activas baixas. Isto é útil, se pretendermos tanto quanto possível ligar saídas activas baixas a entradas activas baixas e saídas activas altas a entradas activas altas, de modo a expli-citar melhor o funcionamento de um circuito.

Por exemplo, os dois circuitos seguintes são equivalentes, mas no segundo,

vemos facilmente que, para obter 1 em S, é necessário ter simultaneamente:

c = 1, b = 0 e a = 0.

Outro exemplo: no primeiro dos seguintes circuitos, transforma-se a porta

OR no seu equivalente e obtém-se o segundo circuito; como duas negações seguidas se anulam, obtém-se o terceiro circuito. Neste, vê-se facilmente que, para obter, na saída que é activa baixa, S2 = 0, é necessário que:

c = 0 e b = 1 e a = 1

Page 23: Sistemas_Digitais códigos

Sistemas Digitais

p. 23

Portas Universais É possível implementar qualquer circuito utilizando exclusivamente portas

NAND ou portas NOR: com um conjunto de cada uma delas podemos substi-tuir qualquer das outras. Por isso, são designadas de Portas Universais.

Vamos ver como se podem substituir as portas básicas, por portas NAND uma vez que por portas NOR, o processo é semelhante.

1. Porta NOT

A operação NOT pode ser implementada por uma porta NAND com as duas entradas ligadas à variável a negar porque, pela propriedade da idem-

potência, a.aa = ; também se pode ligar uma das entradas à variável e a

outra, ao estado lógico 1, já que: a.1a = . Assim, os três circuitos seguintes são equivalentes:

2. Porta AND

Utilizando a propriedade da involução da negação, temos: baba ⋅=⋅ . Assim, a porta AND pode ser obtida por:

3. Porta OR

Utilizando a propriedade da involução da negação e uma das Leis de

Morgan, temos: bababa ⋅=+=+ , o que permite desenhar o circuito equi-valente:

Assim, temos as seguintes equivalências:

Operação Portas NAND Portas NOR

NOT

AND

OR

Page 24: Sistemas_Digitais códigos

Sistemas Digitais

p. 24

Formas Canónicas

Uma equação diz-se que está na forma canónica quando, em cada um dos seus termos, somas ou produtos lógicos, entram todas as variáveis de entrada. Existem duas formas canónicas:

1ª Forma Canónica – Soma de Produtos (Mintermos)

É a soma dos produtos de todas as variáveis de entrada, que tornam ver-dadeira a saída de um circuito. Para se obter a equação na 1ª forma canónica, a partir da Tabela de Verda-

de, faz-se o seguinte: - Cada linha em que a saída está a 1 dá origem a um produto das variá-

veis de entrada; - Nos produtos, as variáveis de entrada a 0 aparecem negadas e as

outras aparecem não negadas; - A saída é igual à soma de todos estes produtos.

Vamos ver o seguinte exemplo:

A Tabela de Verdade é a seguinte:

c b a b a ab ⋅ abc ⋅⋅ S

0 0 0 1 1 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 1 0 1 0 1 1 1 0 0 1 0 1 1 1 1 1 0 0 0 0 0

Na primeira linha, em que S = 1, temos: c = 0, b = 0 e a = 1, logo, o respec-

tivo produto é:

abc ⋅⋅ As outras duas linhas correspondem aos produtos:

abc

abc

⋅⋅

⋅⋅

Assim, a equação na 1ª forma canónica é:

abcabcabcS ⋅⋅+⋅⋅+⋅⋅=

Page 25: Sistemas_Digitais códigos

Sistemas Digitais

p. 25

Outra forma de representar uma equação na forma canónica é como o somatório dos números decimais correspondentes às linhas da Tabela, em que a função vale 1 (note-se que estes números correspondem aos binários forma-dos pelos bits das variáveis de entrada):

Linha c b a S

0 0 0 0 0 1 0 0 1 1 2 0 1 0 0 3 0 1 1 0 4 1 0 0 0 5 1 0 1 1 6 1 1 0 1 7 1 1 1 0

Tendo em conta que:

abc ⋅⋅ ⇔ c=0, b=0 e a=1 ⇔ 0012 = 1

abc ⋅⋅ c=1, b=0 e a=1 1012 = 5

abc ⋅⋅ c=1, b=1 e a=0 1102 = 6 A função anterior pode ser representada por:

S (c, b, a) = Σ (1, 5, 6) – é necessário explicitar a ordem das variáveis, á que não aparecem na equação. 2ª Forma Canónica – Produto de Somas (Maxtermos)

É o produto das somas de todas as variáveis de entrada, que tornam ver-dadeira a saída de um circuito. Para se obter, procede-se da seguinte forma: - Tomam-se todas as linhas da Tabela de Verdade em que a saída vale 0; - Cada uma destas linhas dá origem a uma soma das variáveis de entrada; - Nas somas, as variáveis que estão a 0, aparecem não negadas e as que

estão a 1, aparecem negadas. A equação da saída do circuito anterior, na 2ª forma canónica é:

a)bc(a)bc()ab(ca)b(ca)b(cS ++⋅++⋅++⋅++⋅++=

À semelhança do caso anterior, tendo em conta,

abc ++ ⇔ c=0, b=0 e a=0 ⇔ 0002 = 0

abc ++ c=0, b=1 e a=0 0102 = 2

abc ++ c=0, b=1 e a=1 0112 = 3

abc ++ c=1, b=0 e a=0 1002 = 4

abc ++ c=1, b=1 e a=1 1112 = 7 Podemos representá-la por: S (c, b, a) = Π (0, 2, 3, 4, 7)

Page 26: Sistemas_Digitais códigos

Sistemas Digitais

p. 26

Porque é que isto é assim? Será que estas duas equações são equivalentes? Para responder a estas questões vamos fazer o seguinte:

Escrevemos a equação de ~S, na primeira forma canónica, utilizando as linhas em que S = 0:

abcabcabcabcabcS ⋅⋅+⋅⋅+⋅⋅+⋅⋅+⋅⋅=

Se negarmos esta equação, de modo a obter uma expressão de S e apli-carmos as Leis de Morgan e a propriedade da involução, temos:

)abc(a)bc()ab(ca)b(ca)b(cS

)abc()abc()abc()abc()abc(S

abcabcabcabcabcS

abcabcabcabcabcSS

++⋅++⋅++⋅++⋅++=

++⋅++⋅++⋅++⋅++=

⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅=

⋅⋅+⋅⋅+⋅⋅+⋅⋅+⋅⋅==

A última equação é a da 2ª forma canónica, que já tínhamos obtido.

Para se obterem as formas canónicas, a partir da equação de uma função

lógica, procede-se da seguinte forma: Numa soma de produtos, multiplica-se cada produto em que falta uma

variável, pela soma desta com o seu complemento (soma cujo resultado é 1); o que permite passar à 1ª forma canónica; num produto de somas, soma-se a cada soma em que falte uma variável o produto dela pelo seu complemento (o mesmo que somar 0, não alterando o resultado). Depois de aplicar a proprie-dade distributiva, eliminam-se os termos repetidos. Exemplos:

cbacbacba

cbacbacbacba

c)b(ba)c(cba

caba

⋅⋅+⋅⋅+⋅⋅=

=⋅⋅+⋅⋅+⋅⋅+⋅⋅=

=⋅+⋅++⋅⋅=

=⋅+⋅

c)ba()cb(ac)b(a

c)ba(c)b(a)cb(ac)b(a

c)ba(a)ccb(a

c)(bb)(a

++⋅++⋅++=

=++⋅++⋅++⋅++=

=++⋅⋅⋅++=

=+⋅+

Aplicações A partir da 1ª forma canónica, obtém-se facilmente uma equação que per-

mite desenhar um circuito, só com portas NAND e, a partir da 2ª, podemos desenhá-lo, só com portas NOR.

Como exemplo, consideremos a função EXOR. A partir da Tabela de Verda-

de, obtemos as equações das 1ª e 2ª formas canónicas:

b)(a)ba(ba

bababa

+⋅+=⊕

⋅+⋅=⊕

Negando-as, duas vezes e aplicando as leis de Morgan, obtemos as equações

e os circuitos equivalentes:

Page 27: Sistemas_Digitais códigos

Sistemas Digitais

p. 27

1ª Forma Canónica → NAND 2ª Forma Canónica→ NOR

bababababa ⋅⋅⋅=⋅+⋅=⊕

babab)(a)ba(ba +++=+⋅+=⊕

Outra aplicação das formas canónicas, em particular da primeira (soma de

produtos) é a simplificação de equações por um método gráfico, o que vere-mos, em seguida.

Page 28: Sistemas_Digitais códigos

Sistemas Digitais

p. 28

Simplificação de Equações pelo Método de Karnaugh O método de Karnaugh é um método gráfico de simplificação de equações

que se baseia na seguinte igualdade (propriedades – distributiva, complemento da soma e elemento neutro do produto):

a1a)ba.(bbaba =⋅=+=⋅+⋅

Consiste em dispor a Tabela de Verdade da expressão em causa, de forma a

que seja fácil agrupar combinações em que apareça uma variável somada ao seu complemento. Para isso, constrói-se um rectângulo dividido em tantos quadrados, quantas as linhas da Tabela de Verdade, isto é, para n variáveis, são necessários 2n quadrados.

Em cada um dos quadrados figura o valor da função, correspondente a uma combinação das variáveis de entrada, de modo a que cada par de combinações em que apareça uma variável somada ao seu complemento, ocupe posições contíguas.

Vamos ver um exemplo simples, relativo a uma função que apresenta a seguinte Tabela de Verdade:

a b c S 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1

Esta Tabela pode ser representada, com o seguinte aspecto, em que dentro

dos quadrados, aparecem os valores de S:

c = 0 b = 0

c = 1 b = 0

c = 1 b = 1

c = 0 b = 1

a = 0 0 0 1 1 a = 1 0 1 1 0

Ou com este outro:

Neste caso, cada barra, associada a uma variável de entrada, abrange 4

quadrados, indicando que nessa zona, a variável de entrada tem o valor 1, aparecendo não negada:

Page 29: Sistemas_Digitais códigos

Sistemas Digitais

p. 29

Note-se que, em cada par de quadrados adjacentes, assim como nos qua-drados dos cantos do rectângulo, apenas uma variável muda o estado.

Se agora associarmos os grupos de uns adjacentes, na horizontal ou na ver-tical, em grupos de 2, 4, ou, em geral, a potência 2n, eliminamos uma, duas ou n variáveis, respectivamente.

No caso presente, podemos formar dois grupos de dois 1s, eliminando, em cada um deles, uma variável:

Poderíamos formar um terceiro grupo, c.b, mas não é necessário porque

todos os 1s estão agrupados.

Grupo Quadrados Resultado Pode ser visualizado porque está na

intersecção das zonas Primeiro

abc

cab

⋅⋅

⋅⋅ ab ⋅ b e ~a

Segundo

abc

abc

⋅⋅

⋅⋅ c⋅a c e a

Ficamos portanto com a equação simplificada de S:

abacS ⋅+⋅= No caso de aparecerem 1s que não possam ser agrupados, os produtos cor-

respondentes não podem ser simplificados. Vimos Mapas de Karnaugh para 3 variáveis de entrada. Vamos ver como

podem ser para 2 e 4 variáveis, uma vez que para mais de 4, este método é muito trabalhoso:

Podemos observar que, no primeiro caso, cada uma das barras abrange

uma zona com dois quadrados, enquanto, no segundo, abrange uma zona com 8, permitindo eliminar 3 variáveis.

Nos mapas com 3 ou 4 variáveis, quadrados com 1s, que estejam adjacen-tes aos limites dos rectângulos, sobre a mesma linha ou coluna podem ser agrupados.

Exemplo:

Vamos ver um caso com 2 exemplos disto, num mapa de 4 variáveis (ou seja de 16 quadrados).

Page 30: Sistemas_Digitais códigos

Sistemas Digitais

p. 30

Dada a seguinte Tabela de Verdade:

d c b a S 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 0 0 1 1 0 1 0 1 1 1 0 1 0 0 0 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 0

Podemos tirar a equação da 1ª Forma canónica:

abcdabcdabcdabcdabcdabcdS ⋅⋅⋅+⋅⋅⋅+⋅⋅⋅+⋅⋅⋅+⋅⋅⋅+⋅⋅⋅= O que dá o seguinte Mapa:

Nele existem dois grupos: um com dois 1s e outro com 4, correspondendo,

respectivamente a:

acd ⋅⋅ Porque está na intersecção das zonas, correspondentes a: a = 0, c = 1 e d = 0.

Permite anular uma variável (b), o que se vê facilmente, porque um dos quadrados está na zona c e o outro na zona ~b.

ac ⋅ Porque está na intersecção das zonas: a e ~c. Permite anular as variáveis b e d, porque pertence simulta-

neamente às zonas b e ~b, assim como a d e ~d. Assim, a equação é:

acacd ⋅+⋅⋅ Notem-se os seguintes pontos:

Page 31: Sistemas_Digitais códigos

Sistemas Digitais

p. 31

1. Para uma equação com n variáveis, precisamos de um rectângulo com 2n quadrados;

2. Se todos estivessem preenchidos com 1s, a equação seria S = 1, isto é, qualquer que fosse o estado das variáveis de entrada, a saída estaria sem-pre a um;

3. Fora esta hipótese, o número máximo de 1s adjacentes que se pode agrupar num grupo, é de 2n-1, (metade dos quadrados) e corresponde a uma variável, sendo as outras n-1, eliminadas;

4. Se conseguirmos grupos com 2n-2 1s, teremos 2 variáveis por grupo (eliminando as outras n-2) e assim sucessivamente, até grupos com um, (20), 1, que correspondem a todas as n variáveis em jogo;

5. As variáveis que ficam de fora, no produto correspondente a um gru-po, são aquelas que, num dado grupo, aparecem nos dois estados. Podemos ver isto, no exemplo anterior:

- As variáveis em jogo eram 4, a, b, c e d, pelo que os quadrados neces-sários são 24 = 16.

- O primeiro produto, correspondente ao grupo de dois (21) 1s, tem 3 das 4 variáveis em jogo porque eliminámos a variável b que, para um desses 1s, o da esquerda, vale 0 e para o outro, vale 1;

- No segundo produto eliminámos as variáveis b e d, porque tinha 22 1s, dois dos quais, os de cima, correspondiam a b=0, enquanto, para os de baixo, b=1; por outro lado, os dois 1s da esquerda correspondiam a b=0, enquanto os da direita, d=1.

As figuras seguintes representam os mapas para 2, 3 e 4 variáveis (a,b;

a,b,c; a,b,c,d), com os números de linha em binário e em decimal, indicados dentro dos respectivos quadrados:

Num Mapa, podemos agrupar alguns 1s, mais do que uma vez. No seguinte

mapa, há várias hipóteses de criar agrupamentos de 1s:

Page 32: Sistemas_Digitais códigos

Sistemas Digitais

p. 32

Cada um destes agrupamentos dá origem a uma equação equivalente mas, como o objectivo é simplificar, o mais possível a função, convém saber qual dos agrupamentos corresponde à solução mais simples.

Por um lado, quanto maior for o agrupamento possível, mais variáveis são eliminadas – esta situação corresponde às figuras da direita.

Por outro lado, observe-se que o 1 que corresponde à linha 5 só pode ser agrupado de uma forma: em conjunto com o da linha 7.

Chama-se Implicante Primo, o produto obtido pelo maior agrupamento pos-

sível de quadrados. No exemplo, é o caso do agrupamento de 4 1s. Se um quadrado só pode ser agrupado de uma forma, chama-se a esse

agrupamento, Implicante Primo Essencial. É o caso do agrupamento dos qua-drados correspondentes às linhas 5 e 7.

Assim, devemos começar por identificar e criar os agrupamentos que são implicantes primos essenciais; depois criar os agrupamentos que são impli-cantes primos e, finalmente, os que restarem.

No caso do exemplo:

1º 2º

Não havendo mais quadrados a agrupar, a equação correspondente é a

mais simples possível: a⋅c + b

Se os 0s e 1s se distribuírem em xadrez, não há possibilidade de fazer

agrupamentos mas verifica-se facilmente que se trata de uma função EXOR (se no quadrado correspondente a todas as variáveis negadas, estiver um 0) ou EXNOR (se no mesmo quadrado estiver um 1):

c b a R = c ⊕ b ⊕ a S = c ⊗ b ⊗ a 000 0 1 001 1 0 010 1 0 011 0 1 100 1 0 101 0 1 110 0 1 111 1 0

R S

Page 33: Sistemas_Digitais códigos

Sistemas Digitais

p. 33

Exercícios

1. Marcar no seguinte mapa, as zonas correspondentes às expres-sões:

ACD

AC

BD

⋅⋅

2. Indicar as expressões marcadas:

3. Dado o seguinte mapa da função S:

3.1. Construa a Tabela de Verdade 3.2. Obtenha a expressão simplificada da função S (A, B, C, D)

Situações de Don't Care São assim designadas situações em que os valores da variável de saída,

para determinadas combinações das entradas, não têm significado ou quando essas combinações são impossíveis de se dar, devido às condições do proble-ma, embora sejam de considerar, do ponto de vista teórico.

Para essas combinações não se pode ter a certeza de que a variável de saída apareça com 0 ou com 1, isto é, a variável de saída funciona como uma inde-terminação, embora tenha, de facto, um daqueles valores. O que se passa é que não nos interessa, o valor que tiver, uma vez que as variáveis de entrada nunca terão os valores que, combinados, dariam origem a essas saídas.

Nos mapas de Karnaugh, podemos atribuir à saída, para essas combinações

de entrada, o valor que nos permita uma maior simplificação. Para isso, escre-vemos nos quadrados correspondentes, cruzes, a que podemos associar os valores 0 ou 1, conforme for mais conveniente.

Vejamos o seguinte exemplo:

Para a seguinte Tabela de Verdade, construímos 2 Mapas de Karnaugh, com diferentes agrupamentos.

No primeiro, limitámo-nos a associar os uns presentes, o que correspon-de a pressupor que para todas as situações de Don´t Care, a saída apresen-

Page 34: Sistemas_Digitais códigos

Sistemas Digitais

p. 34

ta zeros; no segundo, escolhemos uma situação de Don´t Care para a asso-ciarmos com os uns presentes e obtivemos uma equação mais simples:

a b c S 0 0 0 ? 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0

1 0 1 ? 1 1 0 ? 1 1 1 ?

c)b(acabaS +⋅=⋅+⋅= aS =

Page 35: Sistemas_Digitais códigos

Sistemas Digitais

p. 35

Códigos BCD Um código é um conjunto de sinais convencionais que permite representar

uma informação. Os códigos BCD (Binary Coded Decimal) são códigos binários que permitem

representar os números, algarismo a algarismo, utilizando um nibble para cada dígito. Os códigos BCD são utilizados em aparelhos digitais de medida, em relógios e calculadoras electrónicas.

Um número escrito num código BCD é, de facto, um número decimal, em que cada algarismo é traduzido por uma sequência de quatro bits. Por isso, não se deve confundir com um número binário, em que cada 1 representa uma potência de 2, de acordo com a sua situação na palavra: codificar um número decimal num código binário é diferente de o converter do sistema decimal para o sistema binário.

Dado que só existem 10 algarismos e um nibble permite representar 16 coi-sas diferentes, existem vários códigos BCD. Vamos ver alguns exemplos.

1. BCD 8421 – utiliza os 10 primeiros conjuntos de 4 bits. No nome, o 8421

indica os pesos dos diferentes bits: BCD 8421 Decimal

0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9

Para codificar um dado número, passa-se cada algarismo individualmente

do sistema decimal para o sistema binário. Exemplo:

O código de 235, em BCD 8421 é: 001000110101 A descodificação faz-se da seguinte forma: divide-se o código, em conjuntos

de 4 bits e, para cada conjunto, somam-se os pesos dos 1 que aparecem. Exemplo:

010010010111 0100 1001 0111 Somas Resultado 8421 8421 8421 4 8+1 4+2+1 497

2. Código Aiken ou BCD 2421 – Obtém-se utilizando as primeiras 5 combi-

nações de 4 bits, e as 5 últimas: BCD 2421 Decimal BCD 2421 Decimal

0000 0 1011 5 0001 1 1100 6 0010 2 1101 7 0011 3 1110 8 0100 4 1111 9

Page 36: Sistemas_Digitais códigos

Sistemas Digitais

p. 36

Este código tem a particularidade de ser auto-complementar: O comple-mento a 9 de um dado número codificado em Aiken obtém-se trocando os zeros pelos uns e vice-versa. Exemplos:

O código Aiken de 360 é 0011 1100 0000. Então, o código do seu com-

plemento a 9 (999 – 360 = 639) é: 1100 0011 1111. Os códigos de 235 e 764, que são complementares (235 + 764 = 999),

são, respectivamente, 0010 0011 1011 e 1101 1100 0100. Para codificar um dado algarismo, k, faz-se o seguinte:

- Se for menor ou igual a 4, utiliza-se o mesmo processo do código BCD 8421;

- No caso contrário, codifica-se em BCD 8421, o seu complemento a 9, (9-k), e trocam-se os zeros pelos uns e vice-versa. Exemplos:

Algarismo Complemento a 9 BCD8421 BCD 2421 3 - - 0011 8 9-8 = 1 0001 1110 5 9-5 = 4 0100 1011

Assim, o código de 385 é 0011 1110 1011. A descodificação faz-se por um processo semelhante ao do código anterior. Exemplo:

010000111011 0100 0011 1011 Somas Resultado 2421 2421 2421 4 2+1 2+2+1 435

Exercício

Objectivo:

Pretende-se um circuito que converta o código BCD 2421 de um algarismo qualquer, no código BCD 8421 do mesmo algarismo:

Fases:

1ª. Tabela de Verdade

Z Y X W D C B A 0 0 0 0 0 0 0 0 … … … … … … … .…

Page 37: Sistemas_Digitais códigos

Sistemas Digitais

p. 37

2ª. Mapas de Karnaugh das 4 variáveis de saída

3ª. Simplificação das expressões:

D = f (Z, Y, X, W), C = f (Z, Y, X, W), B = f (Z, Y, X, W) e A = f (Z, Y, X, W)

4ª. Desenho do circuito.

3. Código de Excesso de Três (XS-3) – Não utiliza nem as primeiras 3 com-

binações de 4 bits, nem as últimas 3:

XS-3 Decimal 0011 0 0100 1 0101 2 0110 3 0111 4 1000 5 1001 6 1010 7 1011 8 1100 9

Para codificar um dado número, soma-se 3 a cada algarismo e converte-se

em binário. Para descodificar um número em BCD XS-3, passa-se cada um dos nibbles

a decimal e subtrai-se 3, ao resultado. Exemplos:

1. Para descodificar 1101 1100 0011, escrito em BCD 2421, fazem-se as seguintes somas: 2+4+1 = 7, 2+4 = 6 e 2+1 = 3. O número é 763.

2. Dado o código de excesso de três, 1010 0110, o primeiro algarismo corresponde a 8+2 = 10 → 10-3 = 7 e o segundo a 4+2 = 6 → 6-3 = 3 e o número correspondente é 73.

Page 38: Sistemas_Digitais códigos

Sistemas Digitais

p. 38

4. Outros Códigos BCD Outros exemplos de códigos BCD que se formam de forma semelhante aos

anteriores são: BCD 7421, BCD 5421 e Excesso de 6. O seguinte quadro mostra os nibbles válidos para cada um destes códigos:

Valor, em: Código

8421 7421 5421 2421 XS-3 XS-6 0000 0 0 0 0 - - 0001 1 1 1 1 - - 0010 2 2 2 2 - - 0011 3 3 3 3 0 - 0100 4 4 4 4 1 - 0101 5 5 - - 2 - 0110 6 6 - - 3 0 0111 7 - - - 4 1 1000 8 7 5 - 5 2 1001 9 8 6 - 6 3 1010 - 9 7 - 7 4 1011 - - 8 5 8 5 1100 - - 9 6 9 6 1101 - - - 7 - 7 1110 - - - 8 - 8 1111 - - - 9 - 9

Os quatro primeiros são códigos ponderados.

Códigos Não BCD 1. Código Gray É um código não ponderado e, por isso, não é conveniente para cálculo mas

utiliza-se quando há necessidade de evitar erros nas transições entre núme-ros: nos códigos anteriores, um número pode diferir em vários bits do número seguinte e quando se lhe acrescenta uma unidade, pode haver erros devido a atraso na modificação de um bit. Para evitar isto, o código Gray foi construído de modo a que cada número difira do anterior em, apenas 1 bit.

Vejamos o seguinte exemplo: O número 5 tem, em várias codificações, o código 0101. Ao passar a 6, por

exemplo num contador, passa a ser representado por 0110: os dois bits da direita têm de mudar de estado; vamos supor que, nesta mudança de estado, o último se atrasa, o que levaria a passar pelas seguintes fases:

5 0101 0111 6 0110 Na fase intermédia, passou-se por um código com significado, '7', o que

pode levar a erros. O código Gray é utilizado, por exemplo, em conversores de sinais analógicos

para digitais.

Page 39: Sistemas_Digitais códigos

Sistemas Digitais

p. 39

Na tabela seguinte estão representados os códigos dos primeiros 16 núme-ros:

Binário Gray Decimal

b3b2b1b0 g3g2g1g0 0 0000 0000 1 0001 0001 2 0010 0011 3 0011 0010 4 0100 0110 5 0101 0111 6 0110 0101 7 0111 0100 8 1000 1100 9 1001 1101

10 1010 1111 11 1011 1110 12 1100 1010 13 1101 1011 14 1110 1001 15 1111 1000

Para obter um circuito que transforme binário em gray, podemos começar

pelos Mapas de Karnaugh das variáveis de saída:

As equações e o circuito correspondentes são:

bbbbbbg

bbbbbbg

bbbbbbg

bg

0101010

1212121

2323232

33

⊕=⋅+⋅=

⊕=⋅+⋅=

⊕=⋅+⋅=

=

Assim, para codificar um número, em Gray:

- Primeiro, converte-se o número em binário - o código Gray terá o mes-mo número de bits e o seu bit mais à esquerda é igual ao MSB do binário;

- Depois, começando pelo bit mais à direita, cada um dos bits do código Gray é dado pelo EXOR entre o bit correspondente do binário e o que se encontra à sua esquerda: se os bits do número em binário e do código Gray forem, respectivamente: bn…b2 b1 b0 e gn… g2 g1 g0, os bits do código Gray serão dados por:

g0 = b1 ⊕ b0 g1 = b2 ⊕ b1 g2 = b3 ⊕ b2 gn = bn

Page 40: Sistemas_Digitais códigos

Sistemas Digitais

p. 40

Exemplo: O número 12, em binário é: 1100. Formação dos bits, no Código Gray:

Bit mais à direita 0 ⊕ 0 = 0 1 ⊕ 0 = 1 1 ⊕ 1 = 0 Bit mais à esquerda 1

Código Gray obtido: 1010 Para fazer o contrário, isto é, para passar de Gray para binário, temos: Tabela

Gray Binário g3g2g1g0

Decimal b3b2b1b0

0000 0 0000 0001 1 0001 0010 3 0011 0011 2 0010 0100 7 0111 0101 6 0110 0110 4 0100 0111 5 0101 1000 15 1111 1001 14 1110 1010 12 1100 1011 13 1101 1100 8 1000 1101 9 1001 1110 11 1011 1111 10 1010

Mapas:

Equações:

ggggb

gggggggggggggggb

ggggb

gb

01230

1231231231231231

23232

33

⊕⊕⊕=

⊕⊕=⋅⋅+⋅⋅+⋅⋅+⋅⋅=

⋅+⋅=

=

Page 41: Sistemas_Digitais códigos

Sistemas Digitais

p. 41

Circuito:

Vemos que, para descodificar um código Gray, faz-se o seguinte:

- O bit LSB do código binário é dado pelo EXOR de todos os bits do códi-go Gray;

- O bit seguinte é dado pelo EXOR dos n-1 bits mais à direita do código Gray;

- E assim sucessivamente, até ao MSB que é igual, em ambos os códigos. 2. Código ASCII Existem vários códigos alfanuméricos que permitem codificar, além de alga-

rismos, letras e outros símbolos gráficos. Um exemplo de código alfanumérico é o chamado ASCII (sigla correspon-

dente às palavras American Standard Code for Information Interchange), utili-zado, por exemplo, em computadores. Permite codificar as letras maiúsculas e minúsculas, assim como os algarismos e uma série de símbolos. Cada um é representado por 7 bits, na versão original que permitia codificar 128 símbolos ou por 8, nas versões ampliadas, o que permite ir até 256.

Vamos ver alguns exemplos de códigos de caracteres em ASCII, na versão

de 1 Byte:

Símbolo Código ASCII A 0100 0001 a 0110 0001 m 0110 1101 7 0011 0111 + 0010 1011 ; 0011 1011

‘Espaço’ 0010 0000 3. Código de Paridade Para se poderem tratar eventuais erros na transmissão de dados, utilizam-

se códigos em que se acrescenta, no fim ou no princípio das palavras a trans-mitir, um ou vários bits, através dos quais se poderão detectar ou corrigir os erros.

Um código muito utilizado é o de paridade e baseia-se no seguinte: acres-centa-se, ao final da palavra a transmitir, um bit que será 0, se o número de uns da palavra for par ou 1, se for ímpar. Uma vez recebida, a palavra entra num detector de paridade que dá na saída uma indicação da existência de erro:

Page 42: Sistemas_Digitais códigos

Sistemas Digitais

p. 42

Assim, o número de uns da palavra, a transmitir, já com o bit de paridade será sempre par e se, ao ser recebida, tiver um número ímpar de uns, o erro é facilmente detectado.

Por exemplo, para palavras originais de 3 bits temos, para o gerador de paridade:

Palavra Bit a

Acrescentar C B A P 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1

E para o Detector:

Palavra recebida Cód. Erro C B A P E 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0

Tudo isto pode ser feito com portas EXOR:

Também existe um Código de Imparidade em que o número total de uns

que é transmitido é ímpar.

Page 43: Sistemas_Digitais códigos

Sistemas Digitais

p. 43

Famílias Lógicas Em sistemas digitais utiliza-se informação binária, correspondente a dois

níveis de tensão (alto e baixo) que podem aparecer à entrada ou à saída dos circuitos

Os dois níveis de tensão são designados por: Nível Lógico Alto (H, High) e Baixo (L, Low).

Actualmente, em electrónica digital utilizam-se sobretudo circuitos integra-dos, existindo basicamente duas tecnologias (designadas por famílias), para o respectivo fabrico: a tecnologia TTL (de Transistor Transistor Logic) e a tecnolo-gia CMOS (Complementary simetry Metal-Oxid Semicondutor).

Os circuitos integrados são, actualmente, fabricados a várias escalas de

integração:

- SSI, Small Scale Integration, uma a dez portas lógicas, correspondendo a cerca de 10 transístores, por pastilha ou chip de silício;

- MSI, Medium Scale Integration, entre dez e duzentas portas lógicas; - LSI, Large Scale Integration, com muitos milhares de transístores, em

circuitos, como por exemplo, microprocessadores; - VLSI, Very Large Scale Integration, com várias centenas de milhares de

transístores. Cada uma das famílias lógicas subdivide-se em séries e apresenta caracte-

rísticas diferentes, tais como:

- Tensão de Alimentação (Vcc), gama mais ou menos larga de valores de tensão, a que devem ser alimentados os C.Is.

- Temperatura de Funcionamento, gama de temperaturas a que os circui-tos devem funcionar

- Fan-out, número máximo de entradas a que a saída de uma porta pode ser ligada

- Níveis de Tensão de Entrada e Saída - intervalos de tensão correspon-dentes aos níveis alto e baixo, diferentes para as entradas e para as saídas dos circuitos:

TTL CMOS VIHMax – Limite Máximo do nível Lógico Alto da Entrada 5 V 5 V VIHMin – Limite Mínimo do nível Lógico Alto da Entrada 2 V 3,5 V VILMax – Limite Máximo do nível Lógico Baixo da Entrada 0,8 V 1,5 V VILMin – Limite Mínimo do nível Lógico Baixo da Entrada 0 V 0 V VOHMax – Limite Máximo do nível Lógico Alto da Saída 5 V 5 V VOHMin – Limite Mínimo do nível Lógico Alto da Saída 2,4 V 4,9 V VOLMax – Limite Máximo do nível Lógico Baixo da Saída 0,4 V 0,1 V VOLMin – Limite Mínimo do nível Lógico Baixo da Saída 0 V 0 V

- Margens de Ruído dos dois estados lógicos, relacionadas com o parâme-tro anterior e que indicam as variações de tensão permitidas, sem mudar de estado

- Tempo de Propagação, tempo entre a alteração de uma entrada e a con-sequente alteração na saída

- Potência Dissipada, por porta ou por circuito Chamam-se Margens de Ruído às diferenças:

Page 44: Sistemas_Digitais códigos

Sistemas Digitais

p. 44

VNH = VOHMin – VIHMin VNL = VILMax e VOLMax

Note-se que, em ambas as tec-nologias, o limite mínimo do estado alto da saída é maior do que o limi-te mínimo do estado alto da entra-da e que o limite máximo do estado baixo da saída é menor que o da entrada.

Tanto na saída como na entra-da, entre o limite máximo do nível baixo e o limite mínimo do nível baixo, encontra-se uma zona inde-finida: uma tensão nessa zona não é interpretada como nem L nem H.

A figura ao lado mostra todas estas grandezas:

Comparando os valores acima indicados, vemos que os níveis lógicos são mais estreitos na tecnologia CMOS, o que implica que, tanto as zonas indefi-nidas, como as margens de ruído são maiores.

A família CMOS que utiliza transístores MOSFET. Consome muito menos potência do que a família anterior, pelo que tem fan outs da ordem de 50, mas tem, em geral, um funcionamento mais lento, devido a apresentar uma menor velocidade de propagação. Além disso, por se tratar de uma tecnologia mais nova, apresenta uma menor variedade de circuitos.

Vejamos algumas características das portas TTL: Os C.Is. da série Standard desta família apresentam designações no formato

74xx. A sua tensão de alimentação é:

Vcc entre 4,5 e 5 V A temperatura de funcionamento pode variar entre 0 ºC e 70 ºC. A porta básica da família TTL é a porta NAND: o C.I. 7400 é constituído por

4 portas NAND de duas entradas. Cada uma delas corresponde a um circuito com a seguinte constituição:

No circuito anterior, todos os transístores trabalham à saturação, com IB

Page 45: Sistemas_Digitais códigos

Sistemas Digitais

p. 45

elevado e VCE próximo de 0 V, ou ao corte, com VB < 0,7 V. Podemos subdividir este circuito em três partes:

- Módulo de Entrada, constituído pelos transístores T1a e T1b e pelos dío-dos Da e Db que impedem a presença de uma tensão negativa nos emis-sores dos transístores; - Transístor T2 com as resistências RC e RE, que como veremos desempe-nha um papel fundamental, no circuito e - Módulo de Saída, constituído pelos transístores T3, T4, pelo díodo D e pela resistência de R2.

Vejamos, em primeiro lugar, o que se passa com T2, e quais as consequên-cias para o módulo de saída:

T2 à saturação:

A base de T3 fica à tensão de, aproximadamente 0,7 V, imposta pela UBE de T4.

Nesta situação, T3 fica ao corte e T4 fica à saturação. A saída fica no estado lógico 0. T2 ao corte:

A tensão na base de T3 é 5V e a tensão na base de T4, 0 V, porque não havendo corrente através de T2, não há quedas de tensão nas resistências RC e RE.

Agora, temos T3 à saturação e T4 ao corte, pelo que a saída fica no estado lógico 1. Agora, podemos analisar, em função dos estados das entradas, em que

condições, é que T2 fica à saturação ou ao corte:

As duas entradas (a, b) a 0: os dois transístores correspondentes, T1a e T1b, ficam à saturação, devido à corrente de base. Assim, nos seus colecto-res, ficam 0 V, pelo que T2 fica ao corte e, como vimos, S = 1.

Uma das entradas a 1 e a outra a 0: O transístor correspondente à entrada a 0 fica à saturação e coloca 0 V os colectores de T1a e T1b, pelo que o outro fica com uma tensão VCE negativa, isto é, fica ao corte. T2 fica ao corte, o que leva a S = 1.

As duas entradas a 1: A tensão nos colectores de T1a e T1b é a soma das tensões UBE de T4 e T2, isto é, 1,4 V: ambos os transístores de entrada ficam com UE > UC, isto é, ao corte. A tensão na base de T2 é a tensão calculada de 1,4 V e leva T2 à saturação, pondo a saída a 0. Finalmente, uma situação possível:

Uma entrada (ou ambas) desligada, isto é, no ar: Não existe corrente no transístor da entrada no ar, pelo que a tensão no colector de T2 é imposta como nos casos anteriores: se ambas as entradas estiverem no ar, UC fica superior a 1,4 V, levando T2 à saturação e S a 0; se uma delas estiver a 0, o respectivo transístor entra em saturação e coloca no colector de T2 uma tensão baixa que o leva ao corte, e S a 0. Podemos concluir que uma entrada no ar, funciona como se estivesse no

estado lógico 1, conclusão que é válida para todos os circuitos da família TTL.

Page 46: Sistemas_Digitais códigos

Sistemas Digitais

p. 46

Este tipo de saída é a mais comum e designa-se por Totem-Pole, mas exis-

tem portas com características especiais, chamadas portas com Saída em Colector Aberto, de que se apresenta a respectiva porta NAND de duas entra-das:

O símbolo que indica uma porta de colector aberto é:

Neste caso, ao contrário do que se passava na série standard, é possível

efectuar o seguinte tipo de ligação, designado por Wired -Logic:

Esta questão tem a ver com o seguinte: Como se viu, pode definir-se o fan-out de uma família lógica como o número

máximo de entradas a que a saída de uma porta se pode ligar. O fan-out está relacionado com o valor máximo da corrente que a saída pode debitar no esta-do alto e com o valor de corrente que a entrada de uma porta puxa do exterior, para ficar no estado lógico 1, (fan-in). A relação entre os dois, é de 10, isto é podemos ligar até um máximo de 10 entradas a uma saída, como no exemplo da seguinte figura, em que à saída do primeiro AND estão ligadas as entradas de duas outras portas:

Esta situação é diferente do caso anterior, em que, se a saída de uma das

portas está no estado lógico 1 e a da outra, no estado lógico 0, há uma corren-te que sai da primeira e entra na segunda, podendo destruir o respectivo tran-sístor. Esse perigo não existe nas portas de colector aberto, como vamos ver no seguinte exemplo:

Para implementar a função seguinte:

Page 47: Sistemas_Digitais códigos

Sistemas Digitais

p. 47

Podemos, utilizando portas de saída em colector aberto, ligar entre si as saídas dos dois NANDs da esquerda:

Se a = 1, b = c = d = 0, como está

indicado no circuito à esquerda, a saída do NAND de cima, fica a 1 e a do de baixo, a 0.

Neste caso, há corrente na resistência R e a saída fica no estado lógico 0,

imposto pela segunda porta. Se ambas as saídas estivessem a 1, não haveria corrente na resistência e S = 1. A ligação em paralelo das duas portas compor-ta-se como um AND.

Além da série 74, Standard, existem outras, com pequenas variações de

características. Como exemplos, temos as seguintes, de que se apresentam as principais variações:

- Série 54xx – pode operara a temperaturas entre –55ºC e +125ºC - Séries 74L e 54L – consomem menos potência – (o L significa Low)

Page 48: Sistemas_Digitais códigos

Sistemas Digitais

p. 48

Circuitos Combinatórios Designam-se por circuitos combinatórios, aqueles em que, a cada momento,

a saída depende exclusivamente da combinação das entradas presentes nesse momento. Todos os circuitos que vimos até aqui são deste tipo.

Um circuito combinatório é consti-tuído pela interligação de portas lógi-cas, apresentando, em geral, várias entradas e, pelo menos, uma saída:

Em geral, um circuito combinatório tem um determinado fim, servindo para responder a um dado problema. O projecto de um circuito combinatório passa pelas seguintes etapas:

1. Estudo do problema, com vista à sua compreensão, em que se deter-

minam as condições de funcionamento e quais as variáveis, de entrada e de saída, em presença;

2. Depois de compreendido o problema e estabelecidas as variáveis, é possível fazer a determinação das Tabelas de Verdade, relativas a cada uma das variáveis de saída;

3. A partir das Tabelas de Verdade, podem ser retiradas as expressões das diferentes variáveis, numa das duas formas canónicas possíveis.

4. Tenta simplificar-se, o mais possível, cada uma das expressões. 5. Com as expressões simplificadas, desenha-se o esquema do circuito

lógico, supondo que as portas serão implementadas por circuitos integra-dos. 1. Descodificadores São circuitos combinatórios, em que à entrada aparece um código binário e

à saída, um outro código. Para isso, se a entrada tem n bits, a saída terá até 2n bits. Em geral, aparecem também algumas entradas de habilitação ou de Enable, de modo que a saída só fará sentido, quando as entradas En estiverem activadas.

Como exemplo, vamos projectar um circuito para descodificar BCD 2421 em binário natural. O circuito deve ter 4 entradas de informação (DCBA), acti-vas altas, mais uma de habilitação, activa baixa e 4 saídas:

Funciona quando a entrada enable, E, está a 0: com E = 0, quaisquer que

sejam os valores das outras entradas, as saídas ficam a 0. Por outro lado, existem seis combinações das quatro entradas que não são

válidas em BCD 2421, pelo que correspondem a situações opcionais. Começando pela Tabela de Verdade, temos:

Page 49: Sistemas_Digitais códigos

Sistemas Digitais

p. 49

En D C B A Dec S3 S2 S1 S0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 2 0 0 1 0 0 0 0 1 1 3 0 0 1 1 0 0 1 0 0 4 0 1 0 0 0 0 1 0 1 0 X X X X 0 0 1 1 0 0 X X X X 0 0 1 1 1 0 X X X X 0 1 0 0 0 0 X X X X 0 1 0 0 1 0 X X X X 0 1 0 1 0 0 X X X X 0 1 0 1 1 5 0 1 0 1 0 1 1 0 0 6 0 1 1 0 0 1 1 0 1 7 0 1 1 1 0 1 1 1 0 8 1 0 0 0 0 1 1 1 1 9 1 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 2 0 0 0 0 1 0 0 1 1 3 0 0 0 0 1 0 1 0 0 4 0 0 0 0 1 0 1 0 1 X 0 0 0 0 1 0 1 1 0 X 0 0 0 0 1 0 1 1 1 X 0 0 0 0 1 1 0 0 0 X 0 0 0 0 1 1 0 0 1 X 0 0 0 0 1 1 0 1 0 X 0 0 0 0 1 1 0 1 1 5 0 0 0 0 1 1 1 0 0 6 0 0 0 0 1 1 1 0 1 7 0 0 0 0 1 1 1 1 0 8 0 0 0 0 1 1 1 1 1 9 0 0 0 0

A Tabela de Verdade anterior, já sem a coluna dos decimais, pode ser repre-

sentada da seguinte forma: En D C B A S3 S2 S1 S0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 1 X X X X 0 0 1 1 0 X X X X 0 0 1 1 1 X X X X 0 1 0 0 0 X X X X 0 1 0 0 1 X X X X 0 1 0 1 0 X X X X 0 1 0 1 1 0 1 0 1 0 1 1 0 0 0 1 1 0 0 1 1 0 1 0 1 1 1 0 1 1 1 0 1 0 0 0 0 1 1 1 1 1 0 0 1 1 X X X X 0 0 0 0

Page 50: Sistemas_Digitais códigos

Sistemas Digitais

p. 50

Os Mapas de Karnaugh que permitem simplificar as equações das quatro variáveis de saída são os seguintes:

(Com En = 0):

Estes mapas permitem obter as equações simplificadas das saídas:

AEnS

B)(DEn)BDBD(EnS

)BCC(DEnS

BCEnS

o

1

2

3

⋅=

⊕⋅=⋅+⋅⋅=

⋅+⋅⋅=

⋅⋅=

A partir destas, podemos desenhar

o seguinte circuito lógico do descodi-ficador:

Descodificadores em Circuitos Integrados O circuito integrado 7442 é um descodificador que converte códigos BCD

8421 em decimal. As quatro entradas são activas altas e as saídas são activas baixas:

A Tabela de Verdade é a seguinte:

Page 51: Sistemas_Digitais códigos

Sistemas Digitais

p. 51

D C B A 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0 0 1 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 1 0 1 0 0 1 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 X X X X X X X X X X 1 0 1 1 X X X X X X X X X X 1 1 0 0 X X X X X X X X X X 1 1 0 1 X X X X X X X X X X 1 1 1 0 X X X X X X X X X X 1 1 1 1 X X X X X X X X X X

A partir da Tabela de Verdade, podem ser construídos os Mapas de Kar-

naugh, em que se optou por fazer as associações correspondentes às negações das variáveis de saída:

Assim, obtém-se as equações e o circuito lógico:

AD9AD9

AD8AD8

ABC7ABC7

ABC6ABC6

ABC5ABC5

ABC4ABC4

ABC3ABC3

ABC2ABC2

ABCD1ABCD1

ABCD0ABCD0

⋅=⇔⋅=

⋅=⇔⋅=

⋅⋅=⇔⋅⋅=

⋅⋅=⇔⋅⋅=

⋅⋅=⇔⋅⋅=

⋅⋅=⇔⋅⋅=

⋅⋅=⇔⋅⋅=

⋅⋅=⇔⋅⋅=

⋅⋅⋅=⇔⋅⋅⋅=

⋅⋅⋅=⇔⋅⋅⋅=

Page 52: Sistemas_Digitais códigos

Sistemas Digitais

p. 52

Outro descodificador muito utilizado é o 7447. É um descodificador de BCD para 7 segmentos que permite utilizar displays de 7 segmentos, para visualizar números codificados em BCD 8421:

Os segmentos são 7 leds, identificados pelas letras de a, a g, que podem ser

ligados de duas formas: existem dispositivos com o ânodo comum ou o cátodo comum (ver figura seguinte).

Ânodo Comum Cátodo Comum

O 7447 deve ser usado para comandar displays de ânodo comum: tem sete

saídas activas baixas que devem ser ligadas aos cátodos dos leds, colocando a 0 os cátodos dos díodos que devem acender, e a 1, os que devem permanecer apagados.

O descodificador tem as seguintes entradas: - Entradas activas altas de informação (D, C, B, A), para o código BCD do

algarismo; - Entradas de controlo (activas baixas):

LT - Lamp Test RBI - Ripple Blanking Input

- Entrada / saída de controlo (activa baixa): BI/RBO - Blanking input/ Ripple Blanking Output

Page 53: Sistemas_Digitais códigos

Sistemas Digitais

p. 53

Funcionamento:

1BIRBI

1LT

==

=

Aparece no display o algarismo correspondente ao código BCD presente nas entradas (de 0 a 9): é o funcio-namento normal.

0RBI

1LT

=

=

Aparece o algarismo correspondente ao código BCD presente nas entradas, excepto no caso do zero, em que o display fica apagado

1BI e 0LT == Todos os leds acendem, o que permite testar o display.

As saídas devem ser ligadas ao display através de resistências limitadoras

da tensão, uma vez que os leds funcionam a tensões da ordem dos 2,5 V:

Existe, em circuito integrado (74138), um descodificador binário octal, com

três entradas activas altas (C, B e A), mais três de enable, sendo duas destas activas baixas e oito saídas activas baixas:

Os significados das indicações do símbolo são os seguintes:

Os números 1, 2 e 4 são os pesos das entradas; As saídas são activas baixas, ficando activas (a 0) quando EN = 1, caso

contrário, ficam a 1; O & significa que a relação entre as entradas de enable é um AND:

2BG2AGG1EN ⋅⋅=

Assim, para obter 0, por exemplo, em Y6, é preciso que:

0A1,BC0,2AG2AG1,G1 ======

Page 54: Sistemas_Digitais códigos

Sistemas Digitais

p. 54

Existe também um circuito integrado (74139) com dois descodificadores de 2 para 4 bits, cujos diagrama de ligações, símbolo IEEE e diagrama lógico de cada descodificador são:

Utilização dos descodificadores para implementar funções Estes dois descodificadores podem ser utilizados para implementar funções

com 3 e 2 variáveis de entrada. As saídas destes descodificadores apresentam os produtos negados das

diferentes combinações das entradas, pelo que, basta negá-las e ligá-las a uma porta OR, ou, em alternativa, ligá-las a uma porta NAND, para obter a saída esperada.

Como exemplo, vamos ver como obter a função S = B⊗A. Como há duas variáveis de entrada, podemos utilizar o 74139.

Da Tabela de Verdade da função, tiramos a primeira forma canónica:

B A S 0 0 1 0 1 0 1 0 0 1 1 1

ABABS ⋅+⋅=

Os termos correspondem às linhas 0 e 3: S (B,A)= Σ (0,3). Vamos ligar a

uma porta NAND, as duas saídas correspondentes do descodificador e activá-lo com 0, na entrada G (ligando-a à massa):

Page 55: Sistemas_Digitais códigos

Sistemas Digitais

p. 55

2. Codificadores Um codificador é um circuito em que entra o sinal a ser codificado e saem

os bits correspondentes ao respectivo código: funciona ao contrário do desco-dificador. Para n saídas, pode ter até 2n entradas.

Como exemplo, vamos ver um codificador de decimal para BCD 8421. Tem 10 entradas correspondentes aos 10 algarismos e 4 saídas:

A Tabela de Verdade é a seguinte:

Entrada Activa

S3 S2 S1 S0

I0 0 0 0 0 I1 0 0 0 1 I2 0 0 1 0 I3 0 0 1 1 I4 0 1 0 0 I5 0 1 0 1 I6 0 1 1 0 I7 0 1 1 1 I8 1 0 0 0 I9 1 0 0 1

Dela se podem obter as equações das saídas e o circuito correspondente:

S3 = I8 + I9 S2 = I4 + I5 + I6 + I7 S1 = I2 + I3 + I6 + I7 S0 = I1 + I3 + I5 + I7 + I9

Note-se que:

1- A entrada I0 não é utilizada em nenhuma porta; 2 – Se duas ou mais entradas estiverem activas, a saída não faz sentido:

por exemplo, quando I9 = I3 = 1, S = 1011. Para evitar este inconveniente, existem os codificadores de prioridade que

funcionam do seguinte modo: se mais do que uma das entradas estiver activa, dá-se prioridade à entrada mais alta e, na saída, aparece o código desta. No exemplo acima aplicado a um codificador de prioridade, teríamos S = 1001, que é o código de 9.

Num codificador de prioridade se, por exemplo, estiverem activas as entra-das 4 e 7, é dada prioridade ao 7 e a saída será 0111; se 4 estivesse a 0, acon-

Page 56: Sistemas_Digitais códigos

Sistemas Digitais

p. 56

teceria o mesmo, por isso todas as entradas de valor inferior a uma entrada activa constituem situações opcionais.

Como exemplo de um codificador de prioridade, existe o circuito integrado 74147:

O terminal NC não está ligado internamente, não tendo utilidade. O símbolo

e tabela de verdade são os seguintes:

1 2 3 4 5 6 7 8 9 D C B A 1 1 1 1 1 1 1 1 1 1 1 1 1 X X X X X X X X 0 0 1 1 0 X X X X X X X 0 1 0 1 1 1 X X X X X X 0 1 1 1 0 0 0 X X X X X 0 1 1 1 1 0 0 1 X X X X 0 1 1 1 1 1 0 1 0 X X X 0 1 1 1 1 1 1 0 1 1 X X 0 1 1 1 1 1 1 1 1 0 0 X 0 1 1 1 1 1 1 1 1 1 0 1

0 1 1 1 1 1 1 1 1 1 1 1 0

Tanto as entradas como as saídas são activas baixas. Pela tabela de verda-

de, podemos ver que, em cada linha, à direita do 0 que activa uma entrada, estão 1s: as entradas de valor superior estão desactivadas; à esquerda sinais de don’t care. Assim, a saída correspondente corresponde à entrada activada. Isto significa que desde que, por exemplo, a entrada 4 esteja activa, o comple-mento do seu código aparece nas saídas (por serem activas baixas), qualquer que sejam os valores das entradas menores.

Page 57: Sistemas_Digitais códigos

Sistemas Digitais

p. 57

3. Multiplexers Um Multiplexer é um circuito combinatório com N entradas e 1 saída, em

que existe a possibilidade de, através de m sinais de controlo, fazer aparecer na saída, o estado presente em uma das entradas, como actua o comutador da figura, num circuito eléctrico:

O número dos sinais de controlo depende do número n de entradas, de

acordo com a fórmula: 2m ≥ n. Vejamos o exemplo de um Multiplexer de 4 entradas, a, b, c e d e, portanto

controlado por 2 sinais, x1 e x0:

O circuito funciona da seguinte forma:

- Para ambas as entradas de controlo a 0, o primeiro AND fica com as duas primeiras entradas a 1 e a sua saída é igual ao valor de a, enquanto todos os outros ANDs ficam bloqueados, (saídas a 0), com pelo menos uma das entradas a 0 – assim, a saída do circuito fica igual à entrada a;

- Para qualquer outra combinação dos sinais de controlo, só um AND não fica bloqueado e conduz a respectiva variável de entrada para a porta OR e para a saída.

A Tabela de Verdade é:

x1 x0 S 0 0 a 0 1 b 1 0 c 1 1 d

Os Multiplexers podem seleccionar, em vez de um bit, um grupo de bits, ou

seja colocar na saída, uma palavra de vários bits. Vejamos o seguinte exemplo:

Page 58: Sistemas_Digitais códigos

Sistemas Digitais

p. 58

O objectivo é que, nas saídas, apareçam os valores presentes num grupo de 3 entradas. Com x = 0, temos: A = A1, B = B1 e C = C1; com x = 1, temos nas saídas, os outros 3 bits.

Um multiplexer pode ser construído com base num descodificador que

tenha o mesmo número de saídas que as entradas pretendidas para o multi-plexer:

Implementação de Funções Para além de direccionarem uma dada entrada, para a saída, os multiple-

xers permitem implementar qualquer função. Por exemplo, vamos supor que queremos um circuito que responda de acordo com a seguinte Tabela de Ver-dade (S = A ⊗ B):

B A S 0 0 1 0 1 0 1 0 0 1 1 1

Se nos servirmos das variáveis de controlo, (x1 e x0) como entradas, (B e A,

respectivamente), podemos utilizar o multiplexer anterior, fazendo: b = c = 0 e a = d = 1. Então o circuito responderá de acordo com a Tabela de Verdade da função, conforme a combinação presente nas entradas. O circuito fica:

Page 59: Sistemas_Digitais códigos

Sistemas Digitais

p. 59

Se, por exemplo tivermos A = 1 e B = 0, nenhum dos ANDs fica com as três entradas simultaneamente a 1 e a saída será 0; para A = 0 e B = 0, o primeiro AND fica com as três entradas a 1 e a saída será 1, como desejávamos.

Em circuitos integrados, existem vários Multiplexers. Como exemplos,

vamos ver os dois seguintes: O 74153 tem dois multiplexers de

4 entradas, portanto, com 2 linhas de selecção:

As entradas de controlo (A e B) são comuns aos dois multiplexers mas cada

um tem uma entrada de enable activa baixa (~G). Para cada um dos multiplexers, a Tabela de Verdade é:

~G B A C0 C1 C2 C3 Y 1 X X X X X X 0 0 0 0 0 X X X 0 0 0 0 1 X X X 1 0 0 1 X 0 X X 0 0 0 1 X 1 X X 1 0 1 0 X X 0 X 0 0 1 0 X X 1 X 1 0 1 1 X X X 0 0 0 1 1 X X X 1 1

No símbolo, podemos ver o seguinte:

- O bloco de controlo é comum a todo o integrado; - As variáveis de controlo (das quais, a de maior peso é B) permitem

seleccionar uma, de entre as quatro linhas de entrada (de 0 a 3), do multi-plexer que tem a entrada de enable activa, (a 0). Outro multiplexer em circuito integrado é o 74151, que tem 8 entradas,

mais uma de enable, activa baixa e apresenta duas saídas complementares. Ver figura na página seguinte:

Page 60: Sistemas_Digitais códigos

Sistemas Digitais

p. 60

4. Demultiplexers Funcionam ao contrário dos multiplexers,

servindo para colocar numa das diversas saí-das, o valor presente na entrada. Para escolher entre 2n saídas, são necessárias n variáveis de selecção:

Exemplo: para escolher uma de quatro saídas, para onde conduzir a entra-

da, podemos montar o seguinte circuito, com as duas variáveis de selecção S1 e S0:

Os descodificadores podem funcionar como demultiplexers, se utilizarmos

as entradas como variáveis de selecção e uma das entradas de enable, como entrada do demultiplexer. Por exemplo, o circuito anterior pode ser implemen-tado com o integrado 74139:

Page 61: Sistemas_Digitais códigos

Sistemas Digitais

p. 61

5. Comparadores São circuitos que comparam os valores de dois números binários, que utili-

zam palavras de n bits, (A = an ... a3 a2 a1 a0 e B = bn ... b3 b2 b1 b0) e, na saída, apresentam três bits: xo (indica que A < B), yo (A = B) e zo (A > B).

Uma palavra binária é maior do que outra se tiver mais bits ou, no caso de

comprimentos iguais, o primeiro 1, a contar da esquerda, aparecer num bit de maior peso do que na outra.

Uma vez que cada bit de um número deve ser comparado com o bit de igual peso do outro e se trata de uma operação repetida n vezes, convém ter um cir-cuito que compare dois bits.

Assim os Comparadores podem ser implementados a partir de módulos que comparem dois bits, um de cada palavra, os Comparadores de dois bits, como veremos, a seguir.

Comparador de 2 bits O circuito terá cinco entradas: a e b (os bits a comparar) e xi, yi e zi, que

informam da comparação anterior, entre bits de ordem superior e três saídas: xo, yo e zo.

O bit xi significa que a < b, em que a e b são os bits anteriormente compa-rados; o bit yi significa que a > b e o bit zi significa que a = b.

Em cada caso, um destes bits é igual a 1 e os outros dois são iguais a 0. Quando yi = 0, não é necessário fazer comparação, uma vez que o número

maior já foi encontrado: as saídas xo, yo e zo ficam com os valores de xi, yi e zi. No caso de yi = 1, é necessário fazer a comparação porque os bits compara-

dos antes são iguais. As saídas são: xo, yo e zo, com significados semelhantes. A Tabela de Verdade virá:

xi yi zi a b xo yo zo 1 0 0 X X 1 0 0 0 0 1 X X 0 0 1 0 1 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 1 0 1 0 0 0 1 0 1 0 1 1 0 1 0

Podemos estabelecer os seguintes mapas de Karnaugh e as respectivas

equações:

O circuito correspondente é:

Page 62: Sistemas_Digitais códigos

Sistemas Digitais

p. 62

Podemos representar este circuito por um bloco:

Comparadores de Vários Bits O circuito anterior poderá constituir um módulo de outro que compara

números com n bits, como na seguinte figura, em que n = 4 e os números são: A = 0100 e B = 0010.

Page 63: Sistemas_Digitais códigos

Sistemas Digitais

p. 63

O circuito integrado 7485 é um comparador de 4 bits, em que as entradas de dados são: A0, A1, A2 e A3, os bits correspondentes ao número A e B0, B1, B2 e B3, correspondentes a B.

Tem ainda três entradas e três saídas, corres-

pondentes a A<B, A=B e A>B, que permitem uti-lizá-los, como módulos em cascata, para compa-rar palavras maiores.

Tem um funcionamento semelhante ao expli-

cado, com a diferença de que, neste caso, é no módulo ligado aos bits de menor peso, que se devem colocar: 0 nas entradas IA<B e IA>B, e 1 em IA=B.

A Tabela de Verdade é a seguinte:

Entradas a comparar Entradas

em cascata Saídas

A3, B3

A2, B2 A1, B1 A0, B0 IA>B IA<B IA=B OA>B OA<B OA=B

A3>B3 x x x x x x 1 0 0 A3<B3 x x x x x x 0 1 0 A3=B3 A2>B2 x x x x x 1 0 0 A3=B3 A2<B2 x X x x x 0 1 0 A3=B3 A2=B2 A1>B1 x x x x 1 0 0 A3=B3 A2=B2 A1<B1 x x x x 0 1 0 A3=B3 A2=B2 A1=B1 A0>B0 x x x 1 0 0 A3=B3 A2=B2 A1=B1 A0<B0 x x x 0 1 0 A3=B3 A2=B2 A1=B1 A0=B0 1 0 0 1 0 0 A3=B3 A2=B2 A1=B1 A0=B0 0 1 0 0 1 0 A3=B3 A2=B2 A1=B1 A0=B0 x x 1 0 0 1 A3=B3 A2=B2 A1=B1 A0=B0 1 1 0 0 0 0 A3=B3 A2=B2 A1=B1 A0=B0 0 0 0 1 1 0

As ligações indicadas na figura da página seguinte permitem comparar dois

números de 8 bits: A = 10110100 e B = 10011001.

Page 64: Sistemas_Digitais códigos

Sistemas Digitais

p. 64

Neste caso, obtém-se, nas três saídas do primeiro módulo, ligado aos bits de

menor peso: OA>B = 0, OA>B = 1 e OA=B = 0, porque 0100<1001. Estes valores entram no segundo módulo e, de acordo com a Tabela de Ver-

dade, como nem todas as entradas a comparar são iguais, a saída deste módulo depende apenas das comparações entre elas e as saídas são: OA>B = 1, OA=B = 0 e OA<B = 0 (1ª linha).

Se os números fossem 10100100 e 10101001, teríamos, na mesma no

segundo módulo, IA>B = 0, IA>B = 1 e IA=B = 0, dados pelas saídas do primeiro e a saída seria OA>B = 0, OA>B = 1 e OA=B = 0, como é indicado na 10ª linha da Tabela de Verdade.

Page 65: Sistemas_Digitais códigos

Sistemas Digitais

p. 65

6. Somadores São circuitos que, como o nome indica, permitem efectuar adições. Vamos ver, primeiro, um circuito que permite adicionar dois bits; depois,

veremos que, de facto, ainda não é um Somador e veremos outro mais comple-to.

Semi - Somador (Half Adder) O primeiro circuito que vamos estudar, permite adicionar dois bits, (as

entradas a e b) e apresenta na saída, a soma, S e o Transporte, (ou Carry), T, que é o “que vai”. A Tabela de Verdade é a seguinte:

a b T S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0

Desta Tabela, é fácil deduzir as equações das saídas e, depois, o circuito

lógico:

T = a.b e S = a⊕b

Este circuito não pode ser utilizado para somar dois números porque, numa

soma, é preciso contar com o transporte da soma anterior. Mas pode fazer par-te, como módulo de um circuito mais completo, como veremos em seguida.

Somador Completo (Full Adder) Um Somador é um circuito com três entradas, (os dois bits a somar, a e b e

o bit de transporte de uma eventual soma anterior, t) e com duas saídas, S e T. A Tabela de Verdade é a seguinte:

a b t T S 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1

Desta Tabela, podemos tirar as equações de T e de S e desenhar o respecti-

vo circuito:

T = a.b + a.t + b.t e S = a⊕b⊕t

Page 66: Sistemas_Digitais códigos

Sistemas Digitais

p. 66

Por outro lado, vejamos o seguinte: Para somar a = 1 com b = 0 e com um transporte da soma anterior, t = 1,

podemos aplicar a propriedade associativa: (a+b)+t = (1+0)+1 = 1+1 = 10, isto é: somamos o transporte ao bit S da soma de a com b e, neste caso, o trans-porte que aparece é devido à segunda adição; para somar os bits a = 1, b = 1 e t = 1, fazemos: (a+b)+t = (1+1)+1 = 10+1 = 11 e, neste caso, o transporte é pro-veniente da primeira adição. Então, podemos concluir que:

- Temos de efectuar duas adições de dois

bits, podendo utilizar, para isso, semi-somadores;

- O transporte tanto pode vir da primeira, como da segunda adição.

Estas considerações permitem desenhar o seguinte circuito, equivalente ao

anterior:

Para somar dois números com vários bits, precisaríamos de vários Somado-

res destes, ligados, de acordo com a seguinte figura, desenhada para somar números com 4 bits:

A ligação à Terra da entrada de transporte do primeiro Somador é para

colocar a 0 o bit, uma vez que não se efectuou nenhuma soma anterior.

Page 67: Sistemas_Digitais códigos

Sistemas Digitais

p. 67

O circuito integrado 74283 é um somador completo de 4 bits, (ver página seguinte):

Configuração Diagrama Lógico

Exemplo de Aplicação (Soma de A, com 5 bits e B, com 6 bits):

Page 68: Sistemas_Digitais códigos

Sistemas Digitais

p. 68

Elementos Básicos de Memória Ao contrário dos circuitos Combinatórios, nos circuitos Sequenciais, a saída

depende, não só da combinação de estados presentes nas entradas, em cada instante, mas também do estado actual do circuito. Isto envolve uma função de memória que, em geral, é conseguida através de células de memória que em dados instantes guardam o estado das variáveis e o apresentam à entrada do circuito combinatório, de modo que na saída deste, apareça o próximo estad-do:

Entende-se por Célula de Memória, um circuito com uma ou duas entradas,

x, y, e duas saídas, Q, ~Q, que se comporta da seguinte maneira:

- ~Q é o complemento de Q, isto é, quando um está a '0', o outro está a '1' e vice-versa;

- Se x = 1 e y = 0, Q fica a '1' (Set da memória); - Se x = 0 e y = 1, Q fica a '0' (Reset); - Se x = 0 e y = 0, Q fica com o valor que tinha antes; - Para x = 1 e y = 1, existem diferentes respostas possíveis que definem o

tipo de célula. As células de memória apresentam dois estados estáveis, para diferentes

combinações das entradas (Q = 0 ou Q = 1): são biestáveis, podendo memori-zar um bit.

Podem ter ou não, uma entrada para sinal de relógio. O sinal de relógio permite sincronizar a actuação do biestável com outros dispositivos, em circui-tos complexos. Um sinal de relógio é uma onda quadrada, em que se podem definir dois níveis e dois flancos:

Por Nível entende-se um estado lógico (0 ou 1) e o Flanco corresponde à

passagem entre dois estados lógicos, havendo, portanto dois tipos de flancos:

- Ascendente ou Positivo, quando o relógio passa de 0 para 1 ou - Descendente ou Negativo, quando passa de 1 para 0.

Nas células que veremos, em primeiro lugar, não existe entrada de relógio e

as saídas podem mudar em qualquer instante, definido pela mudança das entradas. As células deste tipo costumam ser designadas por Latch ou Báscu-la.

Page 69: Sistemas_Digitais códigos

Sistemas Digitais

p. 69

As células de memória com entrada de relógio costumam designar-se por flip-flops.

Latch RS

Vejamos o funcionamento deste circuito, relembrando que numa porta

NOR, a saída é 0 se, pelo menos uma das entradas for 1. Assim, supondo que, num dado instante, Q = 1 e 0Q = :

a) Se introduzirmos nas entradas R e S, dois zeros,

- A porta NOR de cima fica com ambas as entradas a 0 e a saída é: 100Q =+=

- A segunda porta NOR fica com uma entrada a 1 e a outra a 0 e 001Q =+=

b) Se introduzirmos 0 em R e 1 em S,

- A primeira porta NOR fica com ambas as entradas a 0 e a saída é: 100Q =+=

- A segunda porta NOR fica com ambas as entradas a 1 e 011Q =+=

c) Se fizermos R = 1 e S = 0, o circuito passa por um estado intermédio, até chegar a um estado estável:

d) R = 1 e S = 1

Dado que, por definição, as duas saídas devem ter estados complementa-

res, esta é uma situação proibida: Num SR, as entradas não devem ser colocadas simultaneamente a 1.

Suponhamos, agora, que Q = 0 e 1Q = e vamos repetir as entradas do

exemplo anterior: a) R = 0 e S = 0

b) R = 0 e S = 1

Page 70: Sistemas_Digitais códigos

Sistemas Digitais

p. 70

c) R = 1 e S = 0

d) R = 1 e S = 1

Temos de novo, uma situação proibida, em que QQ =

Podemos resumir tudo o que vimos na seguinte Tabela de Verdade, em que

se parte do princípio que as saídas são sempre complementares (Qact significa o estado de Q, antes de as entradas mudarem e Qseg, o estado final de Q):

Qact R S Qseg 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 x 1 0 0 1 1 0 1 1 1 1 0 0 1 1 1 x

Se compararmos o estado final de Q com o seu estado anterior, para cada

combinação de entradas, podemos resumir mais o comportamento deste cir-cuito:

R S Q 0 0 Fica igual 0 1 1 1 0 0 1 1 Estado proibido

Os nomes das entradas advêm do último quadro: R, quando é 1, anula a

saída ou faz Reset e S, a 1 coloca a saída a 1: faz Set.

Latch RS

Page 71: Sistemas_Digitais códigos

Sistemas Digitais

p. 71

Observe-se, em primeiro lugar que a entrada ~S está ligada à porta NAND cuja saída é Q – na célula anterior, era a entrada R que estava ligada a porta NOR, de onde saía Q.

Relembremo-nos de que, numa porta NAND, basta que apareça um 0, para que a saída seja 1.

Vamos ver o funcionamento deste circuito, supondo em primeiro lugar que

Q = 1 e 0Q = :

a) Se 1RS == , temos:

Os estados das saídas mantêm-se.

b) 1S = e 0R =

A célula faz Reset, após um estado intermédio instável.

c) 0S = e 1R =

A célula faz Set.

d) 0RS ==

As saídas ficam ambas a 1: estado proibido.

Vamos agora ver o que se passa com Q = 0 e 1Q = :

a) Se 1RS == , temos:

b) 1S = e 0R =

Page 72: Sistemas_Digitais códigos

Sistemas Digitais

p. 72

c) 0S = e 1R =

d) 0RS ==

Podemos, assim, estabelecer as duas Tabelas de Verdade seguintes:

Qact S R Qseg

0 0 0 x Em resumo: 0 0 1 1 0 1 0 0 S R Q 0 1 1 0 0 0 Estado proibido 1 0 0 x 0 1 1 1 0 1 1 1 0 0 1 1 0 0 1 1 Mantém-se 1 1 1 0

Latch SR com Entrada de Enable Nas células anteriores, as entradas são lidas constantemente e, no instante

em que há uma alteração que crie condições de mudança nas saídas, estas mudam.

Ao contrário delas, na célula SR com enable E, as saídas só podem mudar

se E = 1, uma vez que, enquanto E = 0, chegam dois uns, às portas NAND da direita, mantendo os estados das saídas, independentemente do que se passa com S e R:

Assim, a Tabela de Verdade é:

E S R S R Q 0 x x 1 1 Mantém 1 0 0 1 1 Mantém 1 0 1 1 0 Reset 1 1 0 0 1 Set 1 1 1 0 0 Estado proibido

Page 73: Sistemas_Digitais códigos

Sistemas Digitais

p. 73

Na figura seguinte, podemos ver, em diagramas temporais, a diferença de comportamento entre a célula SR e esta última, ao receberem as mesmas ondas nas entradas S e R:

Célula SR Célula SR com Enable

Latch D

A célula de memória D é obtida, a partir de uma SR, ligando a entrada D

directamente a S e, através de uma porta NOT, a R. Assim, nunca acontece um estado proibido na entrada, como se pode ver na Tabela de Verdade:

E D S R Q 0 x 1 1 Não muda 1 0 1 0 0 1 1 0 1 1

O estado final da saída Q é igual ao estado da entrada D, quando E = 1, ficando memorizado, enquanto E ficar a 0.

A figura seguinte mostra dois exemplos de circuitos integrados com báscu-

las:

Page 74: Sistemas_Digitais códigos

Sistemas Digitais

p. 74

O primeiro tem 4 básculas SR de entradas baixas, dois dos quais, têm duas entradas ~S, bastando que, com ~R activo (a 0), uma delas esteja activa, para colocar a saída Q, a 1; não existem saídas ~Q. O segundo tem 4 básculas D com duas entradas Enable, sendo cada uma destas, comum a um par de bás-culas.

Flip-flop D Edge-triggered (Activado por flanco) Nas básculas, os estados das entradas são lidos de forma contínua, alte-

rando as saídas em qualquer instante. Como vimos, pode haver estados instá-veis, por exemplo, quando Q passa de 0 para 1, no latch SR. Por isso, as entradas não podem mudar simultaneamente: tem de haver um intervalo mínimo entre a alteração de uma entrada e a alteração da outra, de modo a que o estado intermédio seja ultrapassado. Por outro lado, não havendo sinal de relógio que sincronize as mudanças de estado, estas podem ocorrer a qual-quer instante.

Estas questões são ultrapassadas nos flip-flops. Um flip-flop é uma célula de memória, accionada por um dos flancos do relógio. Funciona como se as entradas fossem lidas no instante anterior ao flanco activo do relógio, alteran-do as saídas, no instante do flanco e sendo indiferentes as alterações que ocorram em todo o resto do ciclo.

Em geral, os flip-flops aparecem com duas entradas independentes do sinal de relógio, chamadas assíncronas ou forçadas:

- para se poder limpar a saída Q que toma um valor aleatório, quando a célula é activada, existe uma entrada Clear e

- para a colocar a 1, uma entrada Preset. O símbolo do flip-flop D é o seguinte:

Para colocar a 0 a saída Q, faz-se ~CLR = 0; para colocar a saída a 1, faz-se

~PRE = 0; com as entradas Clear e Preset a 1, o estado da entrada D é lido antes do flanco ascendente do relógio e quando este se dá, a saída fica igual à entrada:

Em t1, quando se dá o flanco ascendente do relógio, D está a 1 e Q passa a

1; em t2, como D estava a 0, a saída passa a 0; em t3, ~PRE passa a 0 e leva a

Page 75: Sistemas_Digitais códigos

Sistemas Digitais

p. 75

saída a 1 e, em t4, quando ~CLR passa a 0, Q passa a 0; depois disso, a varia-ção de D não tem consequências, porque ~CLR = 0.

~PRE ~CLR CLK D Q ~Q

0 1 X X 1 0 1 0 X X 0 1 0 0 X X Instáveis 1 1 ↑ 1 1 0 1 1 ↑ 0 0 1 1 1 0 X Não mudam

O integrado 7474 tem dois flip-flops deste tipo:

O circuito lógico de cada um é o seguinte:

Flip-flop D Master-Slave (Mestre-escravo) É constituído por duas básculas D, ligadas da seguinte forma:

Quando o Clk está a 1, a primeira célula fica activa e o estado de D1 aparece

na respectiva saída. Com Clk = 1, a segunda célula está inactiva. Quando Clk passa a 0, a primeira célula fica inactiva, mantendo o valor de

Q1; o estado desta é copiado para a saída da segunda:

Page 76: Sistemas_Digitais códigos

Sistemas Digitais

p. 76

Note-se que a saída muda nos flancos descendentes do relógio, copiando o

valor que a entrada tem, nas zonas assinaladas.

Flip-flop JK Master-Slave O flip-flop JK funciona da seguinte maneira: nos flancos activos do relógio,

- Com J=K=0, as saídas não mudam; - Com J=1 e K=0, faz Set (Q passa a 1); - Com J=0 e K=1, faz Reset (Q=0) e - Com J=K=1, troca o estado das saídas: se Q era 0 passa a 1 e vice-

versa. Pode ser construído, a partir de dois latches SR, com um circuito combina-

tório à entrada, utilizando as seguintes ligações:

Devido às portas AND, o estado da entrada J só chega a S1, quando Q=Q2=0

e K só chega a R1 quando Q=1. Enquanto Clk=1, a primeira célula (master) está activada e as respectiva

saídas reflectem os estados das entradas; neste intervalo de tempo, a célula slave está desactivada; com Clk=0, a célula master fica desactivada e as suas saídas mantêm-se, mas a célula slave está activada, pelo que as saídas podem mudar. Na figura seguinte, podemos verificar que:

No instante 1, J passa a 1 e ~Q=1, pelo que S1 (que é igual a J.~Q) passa

a 1; quando o clock sobe, encontra S1=1 e R1=0 e Q1 passa a 1; No instante 2, o clock passa a 0 e, como S2=1 e R2=0, Q passa a 1, levan-

do S1, a 0; No instante 3, K passa a 1 e, como Q=1, R1 (= K.Q) passa a 1; assim,

quando o clock passa a 1, encontra S1=0 e R1=1 e a célula master faz Reset; No flanco descendente do instante 4, a célula slave encontra S2=0 e R2=1,

pelo que Q passa a 0, levando R1 também a 0; Em 5, acontece o mesmo que em 1; Em 6, quando Clk passa a 0, encontra S2=1 e R2=0 e Q passa a 1, levan-

do S1 a 0 e R1 a 1; Em 7, S2=0 e R2=1 e Q passa a 0, levando R1 a 0; Em 8, J passa a 1 e como Q=0, S1 passa a 1; Em 9, quando o flanco ascendente se dá, como S1=1 e R1=0, a célula

master faz set;

Page 77: Sistemas_Digitais códigos

Sistemas Digitais

p. 77

Em 10, o flanco descendente encontra S2=1 e R2=0 e a célula slave faz reset;

Em 11, K passa a 1 e como Q=1, leva R1 a 1; dado que Clk=1, Q1 passa a 0;

Em 12, K passa a 0, sendo acompanhado por R1; Em 13, quando o clock passa a 0, encontra S2=0 e R2=1, pelo que Q pas-

sa a 0; quando, depois o relógio passa a 1, como S1=R1=0, Q1 mantém-se; Em 14, dá-se novo flanco descendente e como S2=0 e R2=1, a saída man-

tém o estado.

No resumo de baixo, onde estão assinalados os momentos dos flancos des-

cendentes, vemos que as saídas só mudam nestes instantes. Assim,

Em 2, J=1 e K=0, Set; Em 4, J=0 e K=1, Reset; Em 6, J=K=1, as saídas trocam de estado; Em 7, J=0 e K=1, Reset; Em 10, J=1 e K=0, Set; Em 13, apesar de J=K=0, Q passa a 0, por causa do impulso em K,

quando o clock estava a 1; Em 14, com J=K=0, as saídas mantêm os seus estados.

Devido ao que aconteceu em 13, podemos concluir que as entradas J e K

não podem mudar, enquanto o relógio está a 1, altura em que o flip-flop está em condições de receber informação.

O circuito integrado 7476 apresenta dois flip-flops JK Master-slave e tem o

seguinte símbolo:

Page 78: Sistemas_Digitais códigos

Sistemas Digitais

p. 78

O símbolo junto à saída indica que estas só podem mudar no flanco des-

cendente. Tabela de Verdade:

~PRE ~CLR CLK J K Q ~Q 0 1 X X X 1 0 1 0 X X X 0 1 0 0 X X X Instável 1 1 0 0 Mantêm 1 1 1 0 1 0 1 1 0 1 0 1 1 1 1 1 Trocam

Os símbolos que aparecem na coluna do relógio indicam que só com Clk=1

é que o flip-flop recebe a informação e as saídas só podem mudar nos flancos descendentes.

Flip-flop JK Edge-triggered Permite a mudança das entradas em qualquer instante e pode ser construí-

do, a partir de um Flip-flop D, de acordo com o seguinte esquema:

Devido às portas AND, o estado da entrada J só chega a D, quando Q = 0 e

a de ~K só chega quando Q = 1. O seu símbolo é o seguinte:

Page 79: Sistemas_Digitais códigos

Sistemas Digitais

p. 79

Antes do flanco positivo de Clk, (zonas assinaladas), as entradas são lidas e quando o flanco surge, as saídas mudam:

O circuito integrado 74109 apresenta dois flip-flops edge triggered, com

entradas de Preset e de Clear:

Tabela de Verdade

~PRE ~CLR CLK J K Q ~Q 0 1 X X X 1 0 1 0 X X X 0 1 0 0 X X X Instável 1 1 ↑ 0 0 Mantêm 1 1 ↑ 1 0 1 0 1 1 ↑ 0 1 0 1 1 1 ↑ 1 1 Trocam 1 1 0 X X Mantêm

A partir da Tabela de Verdade seguinte, em que se pressupõe o flanco activo

do clock, podemos estabelecer as excitações do Flip-flop: estados de J e de K que levam a cada uma das transições possíveis:

J K Qn Qn+1 Qn Qn+1 J K 0 0 0 0 0 0 0 X 0 0 1 1 0 1 1 X 0 1 0 0 1 0 X 1 0 1 1 0 1 1 X 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0

Vemos que:

Page 80: Sistemas_Digitais códigos

Sistemas Digitais

p. 80

- Nas transições em que não há mudança de estado, uma das entradas está a 0 – quando se pretende que Q permaneça a 0, tem de estar J a 0 (se estivesse a 1, Q ficaria a 1) e para Q permanecer a 1, tem de estar K a 0;

- Nas transições em que Q muda de estado, uma das entradas tem de estar a 1: para se dar a transição de 0 para 1, J tem de estar a 1 e para a de 1 para 0, K tem de estar a 1. Assim temos o seguinte Diagrama de Estados: em que os quadrados repre-

sentam os dois estados possíveis do flip-flop, e os traços com seta, as transi-ções entre dois estados; junto às setas são indicados os estados das variáveis de entrada que levam às respectivas transições:

Flip-flop T Ligando um flip-flop JK da seguinte forma, obtém-se um flip-flop T (Toggle)

que se caracteriza por mudar de estado, nos flancos positivos do relógio, sem-pre que T = 1; com T = 0, as saídas mantêm-se:

Page 81: Sistemas_Digitais códigos

Sistemas Digitais

p. 81

Circuitos Sequenciais Um elemento de memória tem dois estados possíveis: Q = 1 e Q = 0. Como

vimos, um circuito sequencial é constituído por dois blocos: um combinatório e um de memória.

Vamos ver alguns exemplos de circuitos sequenciais: 1 - Consideremos o seguinte circuito sequencial, com a entrada X e duas

saídas Q2 e Q1:

Temos as seguintes equações das entradas dos flip-flops:

QXK

QXJ

12

12

⋅=

⋅=

QXK

QXJ

21

21

⋅=

⋅=

Como tem dois flip-flops, o circuito pode apresentar até quatro estados dife-

rentes, referenciados pelos valores de Q2 e Q1: 00, 01, 10 e 11. Podemos estabelecer a seguinte Tabela, chamada Tabela de Transições:

Estado Actual Excitação dos flip-flops Estado seg. X Q2 Q1 J2 K2 J1 K1 Q2 Q1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 1 1 0 0 0 1 1 0 0 1 1 0 1 1 0 1 0 1 1 1 1 0 0 1 0 1 0 0 1 1 1 1 0 0 1 1 0

A partir de cada um dos estados actuais possíveis, o circuito transita para

outro, de acordo com o estado da variável de entrada, X: por exemplo com Q2=Q1=0, no caso de X=0, o estado mantém-se (1ª linha da Tabela) e, no caso de X=1, passa para o estado Q2=0 e Q1=1, (5ª linha).

Podemos representar a evolução entre os estados no

seguinte diagrama:

Page 82: Sistemas_Digitais códigos

Sistemas Digitais

p. 82

2. Consideremos, agora o seguinte circuito:

As equações de excitação dos flip-flops são: QXQXD

QXQXD

121

212

⋅+⋅=

⋅+⋅=

A tabela de Transições, que dá origem ao mesmo diagrama de estados do circuito anterior, é:

Est. Act. Excitação Est. Seg.

X Q2 Q1 D2 D1 Q2 Q1 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 1 1 0 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 0 1 0

3. Finalmente, vejamos o seguinte circuito e respectivas equações de excita-

ção:

QXK

QJ

XK

XJ

21

21

2

2

⊕=

=

=

=

Podemos estabelecer a seguinte Tabela de Transições e o diagrama de esta-

dos correspondente: Est. Act. Excitações Est. Seg.

X Q2 Q1 J2 K2 J1 K1 Q2 Q1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 1 1 0 1 1 0 0 1 0 1 1 1 0 0 1 1 0 0 1 0 1 0 1 1 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 0 0