Sebenta de Sistemas Digitais ISEL
Sebenta de Sistemas Digitais ISEL
Sistemas Digitais
1º Ano, 1º Semestre
Setembro 2015
Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
1 - ANÁLISE COMBINATÓRIA E SEQUÊNCIAL 4
1.1 - Introdução 4
2 - ANÁLISE SEQUÊNCIAL 30
2.2 - Contadores 36
2.2.1 - Contadores assíncronos 36
2.2.2 - Contadores síncronos 37
2.2.2.2.1 - Estudo dos casos impossíveis 40
ANEXO 56
BIBLIOGRAFIA 57
1.1 - Introdução
Hoje em dia a electrónica digital está disseminada por todos os campos da electrónica, desde a
realização de circuitos de controlo de conversores de potência em processos industriais, de
equipamentos informáticos para processamento de dados e, em geral, de equipamentos e produtos
electrónicos, normalmente denominados de sistemas digitais.
Na electrónica digital considera-se apenas dois estados de funcionamento: aceso ou apagado,
girando ou não, ligado ou desligado. Esta lógica binária utiliza os dígitos 0 e 1 e utiliza como suporte o
sistema de numeração binário.
Na unidade curricular de Sistemas Digitais far-se-á a aprendizagem inicial da electrónica digital,
nomeadamente o estudo da Álgebra de Boole, simplificação de funções e portas lógicas, bem como
alguns dispositivos combinatórios e sequenciais básicos, bem como o estudo de circuitos digitais com
maior escala de integração e aplicações mais complexas: contadores, registos deslizantes e Máquinas
de estado Mealy e Moore. Os formalismos utilizados na álgebra de Boole foram introduzidos por
George Boole em 1850.
VH(max) 5V
VERDADEIRO (HIGH)
VH(min) 2.4V
Binario 1
Indeterminado
VL(max) 0.4V
FALSO (LOW)
Binario 0
VL(min) 0V
Associadas a estas funções lógicas poder-se-á descrever as suas propriedades e teoremas que
permitirão simplificar as expressões lógicas.
(a) (b)
+5V
F=A.B
A B
(a) (b)
̅̅̅̅̅̅̅̅
𝐴 + 𝐵 = 𝐴̅. 𝐵̅ ̅̅̅̅̅
𝐴. 𝐵 = 𝐴̅ + 𝐵̅
A B C F
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 0
F = a b + a bc + a b e + a b d
𝐹 = 𝐴̅𝐷 + 𝐵̅ 𝐶𝐷 + 𝐴̅𝐵𝐶 + 𝐵𝐶̅ 𝐷 + 𝐴̅𝐵̅ 𝐶̅ 𝐷
̅
A B C F
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
a) Represente a função F através dos termos máximos e simplifique-a algebricamente
b) Implemente a expressão de a) apenas com portas NOR de duas entradas
iii.Para cada um dos circuitos das figuras abaixo indicadas, retire a expressão algébrica e simplifique-a.
A B C
A
B
10
A A
B C
C
B
a) b) c)
AB
CD 00 01 11 10
A AB 00
C 00 01 11 10
B 0 1
01
0 0
11
1 1
10
d) e) f)
Figura 1 - Exemplo configurações de mapas de Karnaugh
11
Q*J
K 00 01 11 10
0 0 1 1 1 KQ*
1 0 1 0 0 Q*J ̅ 𝑄 ∗ + ̅𝑄̅̅̅∗ 𝐽
𝐹=𝐾
Q*2Q*1
Q*0 00 01 11 10
0 0 0 X 0
1 1 1 X 1
𝐹 = 𝑄2∗
0 0 0 0 1 0 1 1 1
0 0 1 0 1 0 0 0 1
0 1 0 1 1 1 1 1 0
0 1 1 1 0 1 0 1 1
1 0 0 1 0 1 1 0 1
1 0 1 0 0 1 0 0 0
1 1 0 0 0 0 0 1 1
1 1 1 1 1 0 1 0 0
ii. Desenhe um circuito combinatório que tenha como entrada um número decimal, codificado em
binário, e apresente a saída activa sempre que o número presente na entrada for:
a) número primo.
b) número par.
c) número impar.
Simplifique as expressões utilizando os mapas de Karnaugh.
12
iv. Considere uma função, F, que seja verdadeira sempre que o número binário, presente à entrada,
seja uma potência inteira de 2 ou de 3. Simplifique a função F e F1, através do mapa de Karnaugh.
A B C D F F1
0 0 0 0 1
0 0 0 1 1
0 0 1 0 1
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 1
0 1 1 1 X
1 0 0 0 X
1 0 0 1 X
1 0 1 0 1
1 0 1 1 1
1 1 0 0 0
1 1 0 1 0
1 1 1 0 1
1 1 1 1 1
13
D C B A F1 F2 F3
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 0
0 1 1 1 0
1 0 0 0 1
1 0 0 1 0
1 0 1 0 0
1 0 1 1 0
1 1 0 0 0
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1
vi. Projecte um circuito lógico de uma porta de elevador de um prédio de 3 andares, constituído
pelas entradas M, A1,A2,A3 e a saída Abrir. M indica movimento do elevador; A1, A2, A3 indicam
em que andar o elevador se encontra. A saída Abrir indica a situação em que é possível abrir a
porta com segurança.
14
15
Neste código:
• Palavras de n bits codificam-se com 2n-1 números positivos e 2n-1 números negativos
(considerando o zero como positivo);
• Os números positivos, compreendidos entre {0 e 2n-1}, são codificados em binário natural,
colocando-se a 0 o bit mais à esquerda;
• Os números negativos, compreendidos entre {-1 e -2n-1}, são codificados no complemento
verdadeiro, do seu valor absoluto, o que implica que o bit mais à esquerda da palavra
tome o valor 1.
Em código de complementos, o bit mais à esquerda denomina-se por “bit de sinal”, tornando
possível através dele reconhecer directamente se o código corresponde a uma quantidade positiva
ou negativa. Assim, por exemplo, numa soma ou subtracção de dois números de 4 bits (em código de
complementos de 4 bits), o resultado tem que estar situado entre +7 e -8, ver tabela 1. Se isto não
acontecer ocorre o que se denomina de “overflow”.
Exemplo de conversão de um número em código complementos:
▪ Os números negativos são obtidos através da passagem para complemento
para 1, da representação em código binário natural do valor absoluto de um
número, seguido da adição de 1
• Numero a representar: - 6
• Valor Absoluto: 0110
• Complemento para 1: 1001
• Somar +1 ➔ 1010
-6
16
17
O circuito da figura 2, além dos dois pinos para alimentação, tem dezasseis terminais:
• A1 a A4, são as quatro entradas correspondentes ao operando A;
• B1 a B4, são as quatro entradas correspondentes ao operando B;
• C0, é a entrada de transporte “carry in”;
• C4, é a saída de transporte “carry out”;
• S1 a S4, são as quatro saídas da soma.
Utilizando o circuito somador e lógica combinatória, associado ao código de complementos, é
possível construir um circuito somador/subtractor, tal como se indica na figura abaixo:
A1-A4
0 1 1 1
B1-B4
1 A4 S4 15
0 0 1 0 3 A3 S3 2
8 A2 S2 6
10 A1 S1 9
16 B4 C4 14
4 B3
7 B2
11 B1
13 C0
Subtrai
Soma
É possível conectar dois somadores de modo a ser possível aumentar somar palavras de 8 bits
cada.
18
1 Cin
Cin Cout
Cout
19
+5V
+5V +5V
R
R
a) b)
Figura 4 - Forma de actuação dos sistemas digitais: a) activado a um; b) activado a zero
Na figura 5 apresenta-se o diagrama lógico do circuito integrado TTL 7447 que permite comandar um
“display” BCD/7 segmentos a partir de uma palavra de 4 bits.
O circuito da figura 5, além dos dois pinos para alimentação, tem catorze terminais:
• a - g, são as sete saídas para os segmentos do “display”;
• A a D, são as quatro entradas do sinal BCD;
• LT, é uma entrada que permite iluminar todos os segmentos para testar o “display”;
• RBI, é uma entrada que, quando activada, promove a extinção de todos os segmentos do
“display”, se o carácter BCD presente à entrada for 0;
• BI/RBO, é um pino de acesso que pode ser utilizado, quer como entrada quer como saída.
Como saída, põe presente um 0 (active low) quando RBI está activo e o carácter BCD
presente na entrada corresponder a 0. Como entrada (active low), promove a extinção do
“display”, seja qual for o carácter que esteja presente.
Na figura 6 mostra-se um exemplo da codificação do valor lógico das saídas função da entrada
para o integrado 7447.
Figura 6 - Tabela de verdade para a conversão BCD-7 segmentos, do tipo “active low”.
20
a) b)
Figura 7 - a) Módulo comparador de dois bits. b) Tabela de verdade simplificada.
Na figura 8 apresenta-se a interligação de quatro módulos comparadores de dois bits (figura 7 a))
para obtenção de um comparador de dois números de quatro bits.
Figura 8 - Comparador de números de quatro bits sintetizado por iteração a partir do módulo da
figura 7 a).
Na figura 9 apresenta-se o diagrama lógico do circuito integrado TTL 7485. Este circuito permite
comparar dois números binários A e B de quatro bits. O circuito tem três entradas (de comparação-
cascade input) e três saídas (resultado da comparação) para permitir expansão iterativa. Uma das
entradas (e uma das saídas) é redundante dado ser exclusivas as três condições a que correspondem.
Figura 9 - Circuito integrado TTL 7485, comparador de dois números de quatro bits.
21
Através das entradas de comparação é possível conectar vários comparadores em série de modo
a comparar palavras maiores que 4 bits. No esquema abaixo indicado é possível ver a comparação de
palavras de 8 bits à custa de comparadores de 4 bits.
22
1 1 1 1 1 1
Comparação Intermédia
0 0
U1
15 A3 OAGTB 5
1 B3 OAEQB 6
13 A2 OALTB 7
14 B2
12 A1
11 B1
10 A0
9 B0
1 4 AGTB
3 AEQB
1 2 ALTB
1
7485N
0 0 0 0 1 0 0 0
U2
15 A3 OAGTB 5
1 B3 OAEQB 6
13 A2 OALTB 7
14 B2
12 A1
11 B1
10 A0
9 B0
4 AGTB
3 AEQB
2 ALTB
7485N
1.5.4 - Multiplexer
A acção de multiplexagem é muito importante em lógica combinatória e consiste em comutar
uma de n entradas possíveis para a saída, por acção de uma palavra de controlo que determina qual
das entradas é seleccionada.
Na situação de uma multiplexagem de dois canais de entrada (I0 e I1) mediante uma entrada de
selecção (S), poder-se-á considerar o seguinte esquema lógico:
23
Na figura 10 apresenta-se o símbolo lógico de um multiplexer de quatro entradas (0, 1, 2, 3), uma
saída Y, com sinais de selecção S0 e S1, e um sinal de inibição E. Consoante o valor lógico presente nas
entradas de selecção, assim é presente na saída o valor correspondente ao número da entrada
seleccionada, se houver sinal de inibição (E).
O mesmo dispositivo apresentado na figura 10 poderia ser implementado com o circuito da figura
abaixo, onde 𝑍 = ̅̅̅
𝑆0 𝑆̅1 𝐼0 + 𝑆̅1 𝑆0 𝐼1 + 𝑆1 ̅̅̅
𝑆0 𝐼2 + 𝑆1 𝑆0 𝐼3 :
Dos multiplexer integrados que se encontram no mercado, salientam-se os da família TTL: 74151
(8 para 1), 74153 (duplo 4 para 1) e 74157 (quádruplo 2 para 1).
24
Os multiplexer prestam-se, além de outras aplicações, para sintetizar funções lógicas com uma
economia de invólucros envolvidos, como se pode ver nas figuras abaixo:
Para além disso, qualquer função lógica de quatro variáveis pode ser implementada por um único
multiplexer de dezasseis entradas, ou em conjunto com outra lógica combinatória, a partir de
multiplexer de 8, 4 ou 2 entradas.
No esquema abaixo representa-se a construção de um multiplexer 8x1 à custa de multiplexer 4x1
e 2x1.
25
0 1 1 0 0 0 0 0
3 D0 Y 7
4 D1
5 D2 ~W 9
6 D3
1 A
2 B
8 ~G
3 D0 Y 2
4 D1
~W 1
5 A
6 ~G
C B A D0 Y
D1
D2 ~W
1 1 0 D3
A
B
~G
O alcance dos módulos de multiplexagem pode ser ampliada, isto é, é possível duplicar
sucessivamente o número de entradas. Como exemplo, é possível formar um multiplexer de 16
entradas a partir de 5 multiplexer de quatro entradas.
26
O demultiplexer pode também ser encarado como um descodificador binário tomando a entrada
D (dados) com um sinal de inibição adicional, e as entradas de selecção como entradas binárias dum
descodificador. Um descodificador realiza, normalmente em sistema digitais, a acção de selecção e
endereçamento de dispositivos. A partir de n saídas e uma palavra de controlo, descodifica o número
binário da palavra de controlo, activando a saída numérica correspondente ao número binário
presente na entrada de controlo, ou seja, selecciona uma das saídas dependendo da combinação
binária presente na entrada. Isto mesmo é apresentado na tabela de verdade dum descodificador de
quatro saídas, do tipo active low, figura 1.12.
27
0
D E S1 S2 0 1 2 3
1
0 0 0 0 1 1 1
E 2 0 0 1 1 0 1 1
3
0 1 0 1 1 0 1
0 1 1 1 1 1 0
S1 S0 1 X X 1 1 1 1
Nos demultiplexer, tal como nos multiplexer, também é possível ampliar o alcance dos módulos,
por duplicação sucessiva do número de saídas. Como exemplo, é possível formar um demultiplexer
de 16 saídas a partir de 5 demultiplexer de quatro saídas.
28
a) b)
Figura 14 - a) Símbolo lógico de um codificador de prioridades 4 - 2. b) Tabela de verdade
Na figura 15 apresenta-se o diagrama lógico do circuito integrado TTL 74148. Este circuito é um
codificador com prioridade de oito entradas e três saídas.
O circuito da figura 15, além dos dois pinos para alimentação, tem catorze terminais:
• 0 a 7, são as oito entradas;
• Ei, uma entrada de inibição;
• E0, uma saída de inibição;
• A0 a A2, são os três sinais de saída;
• GS, é o sinal de saída de Group Select.
Nos codificadores, tal como nos multiplexer e demultiplexer, também é possível ampliar o alcance
por sucessivas potências inteiras de dois. Como exemplo, é possível formar um codificador de oito
entradas (8 x 3) realizado a partir de dois codificadores de quatro entradas (4 x 2). A existência de
sinais Ei e E0 permite uma drástica simplificação da concatenação destes módulos para síntese de
codificadores com prioridade com maior número de entradas.
29
2 - ANÁLISE SEQUÊNCIAL
A diferença fundamental dos circuitos sequenciais em relação aos circuitos combinatórios é que o
valor das saídas, num dado momento, não depende exclusivamente dos valores aplicados nas
entradas nesse instante mas, também, dos valores que estavam presentes anteriormente. Pode
acontecer, portanto, que para iguais valores nas entradas se obtenham estados distintos nas saídas,
em momentos diferentes.
Tal comportamento, descrito anteriormente, pressupõe a existência de memória, que guarde
informação dos acontecimentos passados. Os circuitos de memória são sintetizados a partir de
células de memória unitárias, referidas como circuitos biestáveis ou flip-flop.
S
R
Q
a) b) c)
Figura 16 - a) Símbolo lógico do flip-flop tipo S-R do tipo latch, active high. b) Tabela de transição de
estados. c) Diagrama temporal de Q em função de S e R.
30
CLK
a) b) c)
Em alguns circuitos, como se verá mais tarde, em que a dinâmica da transição não é fundamental,
são utilizados flip-flop D do tipo latch. Um flip-flop do tipo D latch, difere do edge-triggered, pelo
facto da saída Q ser transparente à entrada D enquanto um sinal de inibição estiver a um, e manter a
memória do último valor assumido enquanto o sinal de inibição estiver a zero.
31
CLK
J
K
Q
a) b) c)
Figura 19 - a) Símbolo lógico do flip-flop tipo J-K edge-triggered sensível ao flanco ascendente. b)
Tabela de transição de estados. d) Diagrama temporal de Q em função de J-K e CLK.
Na figura 20 apresenta-se o diagrama lógico do circuito integrado TTL 7473. Este circuito tem dois
flip-flop do tipo J-K edge-triggered de transição por flanco descendente.
O circuito da figura 20, além dos dois pinos para alimentação, tem catorze terminais:
• J e K, são as entradas de sinal;
• Q, é a saída;
• Q , é a saída negada, complementar de Q;
• CP, é a entrada de CLK;
CD, é uma entrada que quando activada coloca a saída com o nível lógico 0, (Clear).
32
CLK
a) b) c)
Figura 21 - a) Símbolo lógico do flip-flop tipo T edge-triggered sensível ao flanco ascendente. b)
Tabela de transição de estados. c) Diagrama temporal de Q em função de T e CLK.
Q*J
K 00 01 11 10
0 0 1 1 1
1 0 1 0 0
D = J .Q * + K .Q *
Figura 22 - Síntese de um flip-flop J-K a partir de um flip-flop D, por comparação entre a tabela de
verdade de cada um.
Na implementação prática do flip-flop do tipo T aproveita-se o facto de o seu funcionamento ser
igual ao do flip-flop J-K com as entradas ligadas (igual sinal lógico nas duas).
33
D
A SET B SET
D Q T Q
C
CLK
CLR Q CLR Q
A
Data J Q C
+5V
K Q T Q
B
CLK
SET SET
D Q J Q
E
CLR Q K CLR Q
CLK
34
K CLR Q D
CLR Q
CLK
A B
SET SET
DAT A D Q J Q
CLR
Q D K CLR Q C
CLK
CLK
t
DATA
t
A
t
B
t
C
t
D
CLK
t
DATA
t
35
36
Nos contadores síncronos todas as entradas de CLK dos flip-flop são ligadas entre si garantindo
simultaneidade nas mudanças de estado. A estrutura dos contadores síncronos “completos” (i.e. que
contem todos os estados binários possíveis pelo seu número de bits) pode ser feita por inspecção da
tabela de verdade correspondente garantindo, por recurso à lógica combinatória as condições de
transição apropriadas.
Na figura 27 apresenta-se um contador síncrono regressivo de módulo 16, construído a partir de
flip-flop do tipo T, sensíveis à transição ascendente do CLK. Da tabela de verdade, figura 26, infere-se
que: TA = 1; TB = Q A ; TC = QA .QB ;
A entrada CLEAR, nos flip-flop do contador da figura 27, permite em qualquer instante, levar o
contador ao estado 0000.
Na figura 28 apresenta-se um contador síncrono reversível progressivo/regressivo (UP/DOWN) de
módulo 8, construído a partir de flip-flop do tipo T. Este contador pode contar em ambos os sentidos.
Possui uma estrutura análoga à dos apresentados anteriormente, a diferença reside na existência de
um circuito lógico de comando que em função do tipo de contagem (UP/DOWN) escolhida,
37
No contador da figura 28, o circuito lógico dentro do rectângulo a tracejado não é mais nem
menos do que um multiplexer 2 para 1.
38
2 1 0
CLR Q CLR Q CLR Q
CLK
Figura 30 - Mapa da evolução dos estados e Mapas de Karnaugh para as entradas D2, D1 e D0
39
0 0 0 X 1 0 1 X 0 0 0 X 0
1 0 0 X 0 1 1 X 1 1 1 X 0
Figura 31 - Mapa da evolução dos estados e Mapas de Karnaugh para as entradas D2, D1 e D0.
O raciocínio subjacente ao preenchimento dos mapas de Karnaugh tem em conta o valor que é
necessário ter presente nas entradas D, em cada estado, para quando da transição ascendente do
CLK, o estado das saídas transitar para a situação seguinte. As condições (110) e (111) não são
estados possíveis neste contador, e constituem condições de don’t-care indicadas no mapa de
Karnaugh. Podem eventualmente ocorrer no momento da ligação da alimentação ao circuito mas, ao
fim de alguns CLK, devem convergir para as configurações definidas no projecto.
0 0 0 X 1 0 1 X 0 0 0 X 0
1 0 0 X 0 1 1 X 1 1 1 X 0
Com esta alteração o sistema já consegue entrar na configuração programada ao fim de um clock:
• Se o contador arrancar do estado (110), transita para (100) após um CLK;
• Se o contador arranca do estado (111), transita para (000) após um CLK.
A figura 32 mostra o esquema lógico do contador projectado com o registo e o circuito
combinatório associado.
40
Da família lógica TTL existem disponíveis, hoje em dia, diversas versões de circuitos contadores de
4 e mais bits, envolvendo vários sinais de controlo. A diferença fundamental entre estes circuitos
traduz-se nas variantes de sinais de controlo e no módulo de contagem. A título de exemplo, na
figura 33 apresenta-se a configuração dos pinos do contador síncrono binário (4 bits) reversível Up-
Down, TTL 74193. Este circuito dispõe das seguintes entradas e saídas de sinal:
• Duas entradas de CLK, uma de contagem crescente (CU), e outra de contagem
decrescente (CD);
• Duas entradas de controlo assíncronas, existe uma que carrega nos flip-flop os
valores presentes nas entradas (load), do tipo active low, outra que conduz todos
os flip-flop ao estado 0 (clear);
• Quatro entradas de informação A, B, C, D;
• Duas saídas de controlo do tipo active low: (carry) que passa do estado 1 para o
estado 0 na transição das saídas do contador de 1111 para 0000, voltando de
seguida ao estado 1, na situação de contagem crescente; (borrow) saída que passa
do estado 1 para o estado 0 na transição das saídas do contador de 0000 para 1111,
voltando de seguida ao estado 1, na situação de contagem decrescente;
• Quatro saídas de informação QA, QB, QC, QD correspondentes ao estado do
contador.
41
42
8. Considere o contador integrado, síncrono binário, 74193. Com base num ou mais
contadores do tipo 74193 e de outra lógica combinatória pretende-se que construa um
circuito que represente a contagem octal de 08 a 158.
CLK
Q0
Q1
Q2
Q3
43
A máquina de estado representada pelo circuito sequencial síncrono poderá ser implementada de
duas formas:
- Máquina de Moore: circuito no qual as saídas são função directa do estado
- Máquina de Mealy: circuito no qual as saídas são função do estado e das entradas.
A análise destes diagramas permite verificar que na máquina de Moore a saída depende apenas
do estado atual enquanto na máquina de Mealy a saída depende do estado atual e da entrada.
De seguida é implementado um exemplo de um detector de sequência – 111. Este exemplo é
inicialmente construído com uma máquina de Moore e, de seguida como uma máquina de Mealy,
por forma a mostrar as diferenças e as semelhanças entre os dois tipos de máquinas.
Exemplo
Pretende-se realizar um projecto que tem por base determinar uma sequência de três “1” na
entrada X.
Apresenta-se de seguida um possível diagrama de estados correspondente a uma máquina de
Moore para o detector da sequência pretendida.
Cada estado é identificado através de um círculo com uma referência única e as saídas que lhe
estão associadas. Cada transição entre estados é descrita através de um vetor ao qual está associado
o valor das entradas que conduzem a essa transição.
A informação associada aos estados está resumida na tabela de transição de estados, onde se
explicitam as saídas para cada estado e os estados seguintes em função das várias entradas.
44
Z
SET SET
J Q J Q
X
K CLR Q K CLR Q
1 0
CLK
45
Tendo em conta as duas máquinas, os circuitos de Moore apresentam uma maior simplicidade na
geração das saídas, enquanto os circuitos de Mealy conduzem a um menor número de estado e por
conseguinte à redução do número de FF’s. Contudo, é frequente que se cometa o erro de, em Mealy,
produzir-se máquinas de estados semelhantes a Moore, e nesse caso introduzir-se um estado
adicional ou redundante. Entende-se por estado redundante numa máquina quando existe outra
máquina que desempenha as mesmas funções com menos estados. Veremos adiante a detecção
destes estados redundantes e a sua eliminação.
A tabela de transição de estados para a máquina de Mealy é alterada de modo a reflectir a
diferente opção na geração de saídas.
Apresenta-se de seguida o processo da determinação dos mapas de Karnaugh, das entradas dos
FFs como função das entradas do circuito e do estado anterior.
46
SET SET
J Q J Q
X
K CLR Q 1 K CLR Q
1 0
CLK
No processo de criação de uma máquina de estados é possível que surjam erros tais que se
obtenha dois sistemas que desempenham exatamente a mesma função, e que diferem no número
de estados, existindo estados redundantes (na máquina de estados com maior número de estados).
Existem duas técnicas para alterar um circuito com estados redundantes:
- por inspeção visual;
- pela técnica de partições.
Geralmente, estas técnicas são utilizadas quando se projeta uma máquina de Mealy, pois é para
este tipo que é mais frequente surgirem estados redundantes.
Inspeção Visual
Estado redundante verifica-se quando existem dois estados para os quais os estados seguintes e
as saídas são os mesmos.
Exemplo:
Apresenta-se na tabela seguinte (a) uma máquina de estados de Mealy. A análise da tabela
permite verificar que existe apenas um estado redundante. Desse modo a tabela de estados pode ser
alterada, eliminando um dos estados idênticos (neste caso B) e substituindo todas as referências a
este estado por D, resultando na tabela (b).
47
Uma reinspecção da tabela (b), permite verificar que existem dois novos estados
redundantes (A e E). Retirando o estado E, resulta na tabela seguinte,
Estado seguinte
Estado atual
X=0 X=1
A D/0 C/1
C D/1 D/1
D C/0 A/1
Após esta iteração, já não é possível encontrar mais nenhum estado redundante.
Nem sempre é possível detetar estados redundantes por inspeção visual, podendo-se utilizar a
técnica das partições.
Exemplo:
Considere-se a seguinte tabela de estados redundantes,
Estado seguinte
Estado atual
X=0 X=1
A E/0 D/0
B A/1 F/0
C C/0 A/1
D B/0 A/0
E D/1 C/0
F C/0 D/1
G H/1 G/1
H C/1 B/1
1º - começa-se por identificar as situações distintas perante os valores das saídas. Pela inspeção
da tabela, tem-se as seguintes combinações de saída:
48
Estado seguinte
Estado atual
X=0 X=1
A1 E2 D1
B2 A1 F3
C3 C3 A1
D1 B2 A1
E2 D1 C3
F3 C3 D1
G4 H4 G4
H4 C3 B2
A tabela seguinte consiste, dentro de cada partição, em procurar as diferenças entre os estados
em função das partições a que pertencem os estados seguintes.
Assim, considerando a 1ª partição, os estados A e D, verifica-se que ambos estados transitam para
estados de 2ª partição com X=0 e estados da 1ª partição para X=1. Neste caso, não sendo possível
distinguir os estados, não se produz nenhuma alteração. Na tabela seguinte, apresenta-se o estudo
das diferenças para as restantes partições.
49
Estado seguinte
Estado atual
X=0 X=1
A1 E2 D1
B2 A1 F3
C3 C3 A1
D1 B2 A1
E2 D1 C3
F3 C3 D1
G4 H5 G4
H5 C3 B2
É agora possível analisar a tabela resultante (anterior) e concluir quais os estados que é possível
suprimir. Todos os estados que pertencem na mesma partição poder reduzidos a apenas um. Os
estados A e D podem ser substituídos por um novo estado, por exemplo , conforme tabela
seguinte.
Estado seguinte
Estado atual
X=0 X=1
(A e D) /0 /0
(B e E) /1 /0
(C e F) /0 /1
(G) /1 /1
(H) /1 /1
2.3.1 – Exercícios
50
O ligeiro atraso entre a transição de CLK e a mudança eventual de estado de um flip-flop, garante
que qualquer flip-flop tomará, quando da transição ascendente de CLK, o estado anterior do flip-flop
que se encontra à sua esquerda.
Além de poderem armazenar dados, os registos deslizantes têm como aplicação principal a
conversão de informação paralelo-série e vice-versa para a transferência de dados entre sistemas
distintos. A informação é transmitida em paralelo quando o código a n bits fica presente em
simultâneo sobre n linhas distintas. A informação é transmitida em série quando os vários bits de
uma palavra são transmitidos em sequência temporal através de uma única linha, com significância
controlada por um sinal separado de referência temporal (CLK).
Na figura 35 apresenta-se a estrutura simplificada de um sistema, baseado em registos
deslizantes, que transmite a informação presente em paralelo dum sistema A (a0, a1, a2, a3), para um
sistema B (b0, b1, b2, b3), onde a informação também deve ficar presente em paralelo. A maneira mais
comum de transmitir esta informação é utilizar um emissor que converte a informação paralela em
série e a transmite para um receptor que converte a informação de série para paralelo.
51
52
S1 S0 Tipo de operação
53
Q0 Q1 Q2 Q3
Q0 Q1 Q2 Q3
Q0 Q1 Q2 Q3
CLR
T Q
Considerando o circuito da figura, diga justificando o valor que a saída Y vai tendo durante 4 clocks
consecutivos, considerando inicialmente todos as saídas Q0, Q1, Q2, Q3 e Y a zero.
54
Considere o circuito da figura. Trata-se de um shift register. Indique qual o resultado da saída. Tenha
em conta que no momento inicial o flif flop tipo T está com a saída Q=1 e as saidas do sift-register
Q3, Q2, Q1 e Q0 =0
55
56
• Sistemas Digitais
o António J. G. Padilla
o Mc Graw Hill
57