0% acharam este documento útil (0 voto)
99 visualizações57 páginas

Sebenta de Sistemas Digitais ISEL

O documento é uma sebenta sobre Sistemas Digitais, abordando conceitos fundamentais como Álgebra de Boole, simplificação de funções lógicas, dispositivos combinatórios e sequenciais, além de técnicas de análise combinatória e sequencial. Ele inclui exercícios práticos e exemplos de circuitos digitais, como flip-flops, contadores e máquinas de estado. A obra é uma atualização de materiais anteriores e serve como guia para estudantes de Engenharia Electrotécnica.

Enviado por

diasber4
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
99 visualizações57 páginas

Sebenta de Sistemas Digitais ISEL

O documento é uma sebenta sobre Sistemas Digitais, abordando conceitos fundamentais como Álgebra de Boole, simplificação de funções lógicas, dispositivos combinatórios e sequenciais, além de técnicas de análise combinatória e sequencial. Ele inclui exercícios práticos e exemplos de circuitos digitais, como flip-flops, contadores e máquinas de estado. A obra é uma atualização de materiais anteriores e serve como guia para estudantes de Engenharia Electrotécnica.

Enviado por

diasber4
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA

Licenciatura em Engenharia Electrotécnica

Sistemas Digitais
1º Ano, 1º Semestre

Sebenta Original de Luís Redondo e Graça Almeida (2007)

Actualização de Graça Almeida (2012/13)

Revisão e Actualização de Graça Almeida e Hiren Canacsinh (2015)

Setembro 2015
Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
1 - ANÁLISE COMBINATÓRIA E SEQUÊNCIAL 4

1.1 - Introdução 4

1.2 - Álgebra de Boole 4


1.2.1 – Função União 4
1.2.2 – Função Intersecção 5
1.2.3 – Função Negação 6
1.2.4 – Propriedades AND-OR 7
1.2.5 – Propriedades OR-AND 7
1.2.6 – Função OU Negada - NOR 7
1.2.7 – Função E Negada - NAND 8
1.2.8 – Função OU exclusivo - XOR 8
1.2.9 – Função Negação XOR 9
1.2.9 – Leis de De Morgan 9
1.2.10 – Função Lógica a partir da Tabela de Verdade 9

1.2.11 – Exercícios simplificação expressões 10

1.3 - Mapas de Karnaugh 11

1.3.1 Exercícios Mapas de Karnaugh 12

1.4 - Códigos Numéricos 14

1.4.1 - A conversão de números entre bases rege-se pelas seguintes regras: 15

1.4.2 – Código BCD 15

1.4.3 – Código de Complementos 15

1.4.4 - Exercícios de conversão de bases 17

1.5 - Dispositivos combinatórios 17


1.5.1 - Somador de dois números binários 17
1.5.2 - Descodificador BCD/7 segmentos 19
1.5.3 - Comparador de números de 4 bits 21
1.5.4 - Multiplexer 23
1.5.4.1 – Exercícios com multiplexer 26
1.5.5 - Demultiplexer - Descodificador 27
1.5.6 - Codificador com prioridade - Priority Encoder 29

2 - ANÁLISE SEQUÊNCIAL 30

2.1 – Flip-flop (FF) 30


2.1.1 - Flip-flop “set-reset” (S-R latch) 30
2.1.2 - Flip-flop D “edge-triggered” 31
2.1.3 - Flip-flop J-K “edge-triggered” 32
2.1.4 - Flip-flop T “edge-triggered” 32
2.1.5 - Síntese de Flip-Flop 33
2.1.6 – Exercícios de mapas temporais 34

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
2.4 Máquinas de Moore e Mealy 44
2.3.1 - Exercícios 50

2.4 - Registos deslizantes (Shift- Register) 51


2.4.1 - Princípio de funcionamento 51
2.4.2 - Registos deslizantes integrados 52
2.4.2 – Exercícios com Registos deslizantes 54

ANEXO 56

BIBLIOGRAFIA 57

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
1 - ANÁLISE COMBINATÓRIA E SEQUÊNCIAL

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.

1.2 - Álgebra de Boole


Define-se função lógica ou booleana a variável binária cujo valor depende de uma expressão
algébrica formada por combinação de outras variáveis binárias. As variáveis binárias podem tomar
apenas dois valores distintos:0 (Falso) e 1 (Verdadeiro). As funções lógicas podem ser representadas
graficamente através de uma tabela de verdade.
As funções lógicas mais elementares são a união (OU / OR), intersecção (E / AND) e negação
(NOT). Outras funções muito importantes são E NEGADA (NAND) e OU NEGADA (NOR). Estas funções
logicas são implementadas em circuitos integrados.

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.

1.2.1 – Função União


A função união é conhecida por função disjunção, reunião, soma, OU ( ou OR em inglês). O sinal
para representar esta função é o “+”. Se tivermos dois conjuntos A e B a função união será
representada por f = A+B, que poderá ser representado pelo conjunto a cheio na figura abaixo (a) e o
respectivo circuito de contactos (b).

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
+5V
A F=A+B
A
B

(a) (b)

O circuito integrado 7432 contém 4 portas OU.

Tabela de Verdade Simbologia Propriedades

1.2.2 – Função Intersecção


A função intersecção é conhecida por função produto, E (ou AND em inglês). O sinal para
representar esta função é o “.”. Se tivermos dois conjuntos A e B a função intersecção será
representada por f = A.B, que poderá ser representado pelo conjunto a cheio na figura abaixo(a) e o
respectivo circuito de contactos (b).

+5V
F=A.B

A B

(a) (b)

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
O circuito integrado 7408 contém 4 portas E.

Tabela de Verdade Simbologia Propriedades

1.2.3 – Função Negação


A função negação é conhecida como complemento ou função Negação (NOT em inglês).

Tabela de Verdade Simbologia Propriedades

O circuito integrado 7404 contém 6 portas Negação.

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
1.2.4 – Propriedades AND-OR

1.2.5 – Propriedades OR-AND

1.2.6 – Função OU Negada - NOR

Tabela de Verdade Simbologia Propriedades

O circuito integrado 7402 contém 4 portas NOR.

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
1.2.7 – Função E Negada - NAND

Tabela de Verdade Simbologia Propriedades

O circuito integrado 7400 contém 4 portas NAND.

1.2.8 – Função OU exclusivo - XOR

Tabela de Verdade Simbologia Propriedades

O circuito integrado 7486 contém 4 portas XOR.

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
1.2.9 – Função Negação XOR

Tabela de Verdade Simbologia

1.2.9 – Leis de De Morgan


Utilizando as leis de De Morgan é possível simplificar algebricamente as expressões retiradas das
tabelas de verdade. Através da construção de tabelas de verdade é possível a sua verificação.

̅̅̅̅̅̅̅̅
𝐴 + 𝐵 = 𝐴̅. 𝐵̅ ̅̅̅̅̅
𝐴. 𝐵 = 𝐴̅ + 𝐵̅

1.2.10 – Função Lógica a partir da Tabela de Verdade


Uma função lógica é obtida através de uma combinação das variáveis de entrada. A forma
canónica de uma função pode ser obtida através:
• Forma canónica AND-OR ou união das intersecções. Onde a função é obtida através
dos 1s da tabela de verdade (termos máximos).
• Forma canónica OR-AND ou intersecção das uniões. Onde a função é obtida através
dos 0s da tabela de verdade (termos mínimos).
Suponha a seguinte tabela de verdade de uma função lógica booleana:

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
Para representar a função através dos termos máximos consideram-se os pontos onde o valor da
função é 1. O número de termos é igual ao número de uns da função de saída. As variáveis aparecem
na forma negada quando o seu valor é 0. Para o exemplo da tabela de verdade corresponde à
expressão:
̅ 𝐵.
𝐹 = 𝐴. ̅ 𝐶̅ + 𝐴. 𝐵̅. 𝐶̅ + 𝐴. 𝐵. 𝐶̅ .
Para obter a função na forma dos termos mínimos consideram-se apenas os valores em que a
função é zero, sendo o número de termos igual ao número de zeros da função. Para o exemplo acima
indicado a expressão correspondente é:
𝐹 = (𝐴 + 𝐵 + 𝐶̅ ). (𝐴 + 𝐵̅ + 𝐶). (𝐴 + 𝐵̅ + 𝐶̅ ). (𝐴̅ + 𝐵 + 𝐶̅ ). (𝐴̅ + 𝐵̅ + 𝐶̅ )

1.2.11 – Exercícios simplificação expressões


i.Simplifique analiticamente as seguintes funções:

F = a b + a bc + a b e + a b d
𝐹 = 𝐴̅𝐷 + 𝐵̅ 𝐶𝐷 + 𝐴̅𝐵𝐶 + 𝐵𝐶̅ 𝐷 + 𝐴̅𝐵̅ 𝐶̅ 𝐷
̅

F = a bcd + a bcd + a cd + a c + a bcd + a bcd + a bcd


ii.Considere a seguinte tabela de verdade:

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
1.3 - Mapas de Karnaugh
Quando é necessário simplificar funções lógicas, uma das técnicas usadas consiste na utilização de
mapas de Karnaugh. A sua utilização permite obter a melhor simplificação de uma função lógica:
menos termos e cada termo com o menor número de variáveis, donde a sua utilização tendo outro
resultado, que não seja este, é incorrecta.
Neste capítulo, o estudo de sistemas digitais fica-se pela utilização de estruturas que utilizam até
4 variáveis de entrada. Um exemplo de uma configuração possível para os mapas de Karnaugh de 2,
3 e 4 variáveis é apresentado na figura 1, admitindo as variáveis A, B, C e D. Na topologia dos mapas
de Karnaugh apresentados (figura 1 a),b), c)), as variáveis tomam o valor lógico 1 nas posições
dianteiras às barras anexas às variáveis e o valor lógico zero nas outras posições. No mapa de
Karnaugh, a posição das barras e das variáveis está dependente apenas do cumprimento da condição
de entre cada casa adjacente mudar apenas o estado de uma das variáveis. Uma vez satisfeita aquela
condição, qualquer configuração conduz à mesma solução final. Na figura 1 d),e),f) apresentam-se
outras configurações, mais utilizadas, dos mapas de Karnaugh.
Na simplificação do mapa de Karnaugh à que ter presente algumas regras, considerando
agrupamentos de 1’s:
• O número de agrupamentos de 1’s permitido é de 1, 2, 4, 8 , ..., 2n, sendo o número de
variáveis eliminadas na simplificação de n;
• Começa-se por agrupar os 1’s que só possuam uma forma de se associarem;
• Para os 1’s que possuam diversos grupos possíveis, escolhe-se aquele que for maior;
• Na situação em que um 1 possua mais que um agrupamento máximo deixa-se suspensa a
decisão de agrupar e passa-se a outro 1, ficando esse para último.

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
Existem funções booleanas que não estão especificadas para algumas combinações de variáveis
dependentes. Isto porque se consideram impossíveis estas combinações, ou porque se julga
irrelevante a resposta da função nessas situações. O preenchimento do mapa de Karnaugh nestas
situações é realizado pelo símbolo X “don’t care”, onde na simplificação o X pode tomar o valor
lógico 1 ou 0 conforme se torne mais conveniente para uma maior simplificação.
Nas figuras abaixo ilustram-se dois exemplos de mapas de Karnaugh

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∗

1.3.1 Exercícios Mapas de Karnaugh


i. Simplifique F1, F2, F3, F4, F5 e F6 através do mapa de Karnaugh.
A B C F1 F2 F3 F4 F5 F6

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
iii. Apresente a função dos seguintes mapas de Karnaugh.

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
v. Utilize o mapa de Karnaugh para extrair as funções F1, F2 e F3.

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

Preencha a coluna da função F2 de acordo com o seguinte:


- a função F2 é falsa sempre que C  B = 0;
̅ ∙ 𝐴̅ = 1;
- a função F2 é verdadeira sempre que não tiver ocorrido a situação anterior e 𝐷
- nas restantes situações é “don’t care”;
Preencha a coluna da função F3 de acordo com o seguinte:
- a função F3 é falsa sempre que C  B = 0;
̅ ∙ 𝐴 = 1;
- a função F3 é verdadeira sempre que não tiver ocorrido a situação anterior e 𝐷
- nas restantes situações é “don’t care”;

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.

1.4 - Códigos Numéricos


Os sistemas de numeração regem-se pela expressão polinomial
n
N K =  ai K i = a0 K 0 + a1 K 1 + ....... + an K n
i =0

onde K é a base de numeração, ai o algarismo da base K, i o índice posicional do algarismo e


expoente da base K, Ki define o peso do algarismo i.

14

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
Numa base K o algarismo com maior valor intrínseco é (K-1), e o menor é zero. Quando K > 10
usam-se as letras do alfabeto para os algarismos com valor superior a 9. Deste modo, tem-se:
• Base 2 - binário - {0, 1};
• Base 8 - octal - {0, 1, 2, 3, 4, 5, 6, 7};
• Base 10 - decimal - {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
• Base 16 - hexadecimal - {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F};

1.4.1 - A conversão de números entre bases rege-se pelas seguintes regras:


Para passar da base 10 para qualquer base, K, fazem-se divisões sucessivas por K até obter-se um
quociente igual a zero. Os restos dessas divisões serão os algarismos do número na base K por ordem
crescente; Para passar da base K para a base 10, aplica-se a expressão polinomial onde cada
algarismo é ponderado com o peso respectivo.
Quando os números a converter directamente para a base 2 são grandes, é mais simples a
conversão através de bases intermédias (8 ou 16), desde que uma delas seja potência inteira da
outra:
• Se a base para a qual se pretende realizar a conversão é uma potência inteira de base
original, basta converter isoladamente conjuntos de n algarismos da base original num
algarismo da base pretendida. Um exemplo é a conversão da base 2 para a base 8, em
que se formam conjuntos de 3 bits e se convertem para a base 8;
• Se a base para a qual se pretende realizar a conversão é uma raiz inteira de base original,
basta converter isoladamente cada algarismo da base original em n algarismos da base
pretendida. Um exemplo é a conversão da base 16 para a base 2, em que cada dígito da
base 16 é convertido para quatro bits na base 2;

1.4.2 – Código BCD


Para além das bases de numeração já mencionadas existem outros códigos muito utilizados, um
exemplo é o código BCD (Binary-coded Decimal). O código BCD corresponde à conversão de cada
algarismo decimal (0 - 9) numa palavra binária a 4 bits, salvaguardando a ordem relativa dos dígitos a
que correspondem. O código BCD é um código ponderado mas não é um sistema de numeração,
dado que o sucessivo peso dos caracteres não serem todos potências inteiras de 2. Da direita para a
esquerda, os pesos sucessivos em BCD são: 1, 2, 4, 8, 10, 20, 40, 80, 100...

1.4.3 – Código de Complementos


A adição de números (base 2, 8, 10, 16) é realizada tendo em conta que, quando a soma de dois
algarismos, duma base K, ultrapassa o maior algarismo permitido nessa base, o resultado é igual à
subtração entre esse valor e o algarismo indicativo da base. E sempre que isso acontece vai um para
a soma dos próximos dois algarismos de peso imediatamente superior. Daqui vem que para base 2,
um mais um é zero e vai um.
A subtração de números binários é realizada tendo em conta a seguinte expressão
( ) 
A − B = A + 2n − 1 − B + 1 − 2n ( )
onde o termo 2 n − 1 − B = C1B = B
denomina-se de complemento restringido de B, ou complemento a 1’s, e o termo
2 n − B = C1B + 1 = C 2 B
denomina-se de complemento verdadeiro. Em binário é usual implementar a subtração de

15

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
números obtendo-se o complemento verdadeiro do subtractivo por recurso ao complemento
restringido. Quando se trabalha com números relativos (números positivos, negativos e zero)
utiliza-se o código de complementos.
Na tabela 1 apresenta-se a codificação em código de complementos de 4 bits.
Tabela 1
Número
Código de complementos
Relativo
7 0 1 1 1
6 0 1 1 0
5 0 1 0 1
4 0 1 0 0
3 0 0 1 1
2 0 0 1 0
1 0 0 0 1
0 0 0 0 0
-1 1 1 1 1
-2 1 1 1 0
-3 1 1 0 1
-4 1 1 0 0
-5 1 0 1 1
-6 1 0 1 0
-7 1 0 0 1
-8 1 0 0 0

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
1.4.4 - Exercícios de conversão de bases
i. 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 impar. Simplifique a
expressão analiticamente e implemente a expressão resultante apenas com portas NAND de duas
entradas;
Efectue as seguintes conversões de base:

ii. 3DE(H) = _________________(8)

iii. 2C6(H) = __________________ (2)

iv. 6C5(H) = __________________ (D)

v. 110010101010(2) = __________________ (8)

vi. 101110101010(2) = __________________ (10)

vii. 101010111010(B) = __________________ (H)

viii. 577(8) = __________________ (H)

ix. 257(8) = __________________ (2)

x. 752(8) = __________________ (10)

xi. 96(10) = __________________ (8)

xii. 37(10) = __________________ (2)

xiii. 61(10) = __________________ (H)

xiv. Converta os 3 últimos dígitos do seu número de aluno para base 8

xv. Converta os 3 últimos dígitos do seu número de aluno para base 16

xvi. Converta os 3 últimos dígitos do seu número de aluno para base 2

xvii. Converta os 3 últimos dígitos do seu número de aluno para BCD

1.5 - Dispositivos combinatórios

1.5.1 - Somador de dois números binários


Na figura 2 apresenta-se o diagrama lógico do circuito integrado TTL 7483. Este circuito permite
adicionar dois números binários A e B de quatro bits mais o bit de transporte, C0. É também possível
fazer a subtracção entre dois números binários com o integrado 7483, para tal basta: inverter o
subtractivo (i.e. achar o complemento do subtractivo), colocar o C0 no estado lógico 1 (i.e. somar
uma unidade), e desprezar o C4 (i.e. subtrair 2n).

17

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
1 A4 S4 15
3 A3 S3 2
8 A2 S2 6
10 A1 S1 9
16 B4 C4 14
4 B3
7 B2
11 B1
13 C0

Figura 2 - Diagrama lógico do somador integrado TTL 7483.

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL

1.5.1.1 Exercícios Somador


Considerando o somador da figura, diga justificando, qual o resultado que o mesmo
apresenta.
1 A0
A0
0 A1
A1
0 A2
A2 Q0
Q0
1 A3
A3
Q1
Q1
0 B0
B0
1 B1
B1 Q2
Q2
1 B2
B2
1 B3
B3 Q3
Q3

1 Cin
Cin Cout
Cout

1.5.2 - Descodificador BCD/7 segmentos


O código BCD de 7 segmentos tem como objectivo a representação de caracteres numéricos (e
alguns alfabéticos) sobre mostradores “displays”. Os 7 segmentos são referidos pelas letras
minúsculas (a, b, c, d, e, f, g), com a correspondência apresentada na figura 3.

Figura 3 - Disposição e referência dos 7 segmentos de um “display” de caracteres hexadecimais.

Um “display” de 7 segmentos pode ser realizado tecnologicamente a díodos emissores de luz


(LEDS), lâmpadas de filamento incandescente, ampolas de descarga gasosa, etc. No que se refere à
forma de actuação do display, este pode ser do activado a um (active high), figura 4 a), ou activado a
zero (active low, figura 4 b).

19

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL

+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.

Figura 5 - Diagrama lógico do circuito integrado TTL 7447.

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
1.5.3 - Comparador de números de 4 bits
Um comparador de números de n bits é sintetizável a partir de módulos comparadores de dois
bits (do mesmo peso), com entradas resultantes da comparação de bits de maior peso e saídas
indicadoras do resultado. Na figura 7a) ilustra-se a estrutura genérica de um comparador de dois
bits. A estrutura deste módulo traduz o facto de a comparação entre dois números começar pela
comparação entre os algarismos de maior peso. Só quando estes algarismos forem idênticos a
decisão ficará dependente da comparação dos algarismos de peso inferior, de acordo com a tabela
de verdade da figura 7 b).
Xn+1 Yn+1 A B Xn Yn
0 0 0 0 0 0
0 0 0 1 0 1
0 0 1 0 1 0
0 0 1 1 0 0
0 1 X X 0 1
1 1 X X 1 0
1 1 X X X X

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
O circuito da figura 9, além dos dois pinos para alimentação, tem catorze terminais:
• A0 a A3, são as quatro entradas correspondentes aos bits da palavra A;
• B0 a B3, são as quatro entradas correspondentes aos bits da palavra B;
• A>B, A=B, A<B, são as três entradas correspondentes ao resultado da comparação de bits
de peso superior (cascade input) ;
• A>B, A=B, A<B, são as três saídas correspondentes ao resultado da comparação.

A tabela abaixo indica o funcionamento das entradas de comparação de entrada e os respectivos


valores de saída.

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
A0-A3 B0-B3

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

A4-A7 B4-B7 Comparação Final

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL

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).

Figura 10 - Símbolo lógico de um multiplexer de quatro entradas.

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
D7-A4 D0-D3

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.

1.5.4.1 – Exercícios com multiplexer


Qual a função de Z1 e de Z2?

26

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
Implemente a função Z1 à custa de
• Multiplexer 4x1
• Multiplexer 8x1

1.5.5 - Demultiplexer - Descodificador


O circuito demultiplexer realiza a operação inversa do multiplexer: comuta para uma de n saídas
possíveis, o sinal presente na única entrada de dados (D), figura 11. A saída seleccionada é
determinada por uma entrada de selecção.

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL

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

Figura 11 - Símbolo lógico de um demultiplexer Figura 12 - Tabela de verdade de um


de quatro saídas. descodificador de quatro saídas.

Existe uma gama de circuitos integrados relacionados com o demultiplexer e descodificador.


Apresenta-se de seguida os circuitos integrados 74139 e 74138.
Na figura 13 apresenta-se o diagrama lógico do circuito integrado TTL 74139. Este circuito tem
dois descodificadores de quatro saídas cada. Além dos dois pinos para alimentação, tem catorze
terminais:
• A0 e A1, são as entradas de controlo da palavra binária;
• EN, é a entrada de inibição;
• 0 a 3 (O0 a O3), são as quatro saídas.

Figura 13 - Diagrama lógico do circuito integrado TTL 74139.

O circuito integrado 74138 poderá ser utilizado como descodificador/demultiplexer:

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
1.5.6 - Codificador com prioridade - Priority Encoder
Este circuito tem como objectivo codificar em binário n entradas a que se atribui correspondência
numérica. Para desfazer as ambiguidades devidas à actividade simultânea de várias entradas, o
circuito dá prioridade à entrada que corresponde ao valor numérico mais elevado. A principal
aplicação dos codificadores é a obtenção de um código a partir de um teclado.
Na figura 14a) apresenta-se o símbolo lógico de um codificador de quatro entradas (numeradas
de 0 a 3) para duas saídas (S0 e S1). Na figura 14b) apresenta-se a tabela de verdade simplificada
considerando a prioridade atribuída às entradas segundo a ordem crescente da sua significância
numérica. O sinal de saída GS (Group Select) serve para avisar os circuitos colocados a jusante do
codificador que o código presente à saída é válido, isto é, que uma das entradas encontra-se activa.

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.

Figura 15 - Diagrama lógico do circuito integrado TTL 74148 e tabela de verdade.

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL

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.

2.1 – Flip-flop (FF)


Um flip-flop permite memorizar um bit de informação, dado que pode tomar em permanência um
de dois estados possíveis, onde estado representa o valor lógico presente na saída.
Existem células de memória do tipo de nível (latch) e do tipo de disparo na transição (edge-
triggered). Neste capítulo são apresentadas as tabelas de verdade e símbolos lógicos dos FF mais
importantes para a síntese de circuitos sequenciais.
Um FF tem duas saídas: uma saída Q, cujo valor lógico define o estado do flip-flop, e uma saída Q
(complementar de Q). Q*representa o valor da saída no momento da tomada de decisão.

2.1.1 - Flip-flop “set-reset” (S-R latch)


A célula de memória elementar é o flip-flop set-reset (S-R) do tipo latch, ou de disparo por nível
de tensão do sinal de entrada, a partir do qual todos os outros podem ser sintetizáveis. Na figura
16a) apresenta-se o símbolo lógico de um flip-flop S-R. O flip-flop S-R é sensível a dois sinais de
entrada: S (set) para impor o estado 1, R (reset) para repor o estado 0.
De acordo com a tabela de transição de estados da figura 16b) este flip-flop:
• Toma o valor lógico 1, quando S=1 e R=0;
• Toma o valor lógico 0, quando S=0 e R=1;
Mantém o estado anterior enquanto S=0 e R=0, Q* é o estado memorizado, também denominado
de estado anterior; a definição não estabelece regras de comportamento para o caso da activação
simultânea de S e R (S=1 e R=1). No entanto, na prática pode ser implementado um flip-flop do tipo
S-R set override reset (set tem prioridade) ou vice-versa.

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
Na figura 16c) apresenta-se o diagrama temporal da evolução do estado de saída, Q, função do
valor lógico das entradas, S e R.

2.1.2 - Flip-flop D “edge-triggered”


Na figura 17a) apresenta-se o símbolo lógico de um flip-flop do tipo D “edge-triggered” sensível à
transição ascendente do sinal de relógio, ou clock (CLK). De acordo com a tabela de transição de
estados da figura 17b) este flip-flop transfere o valor lógico presente na entrada D para a saída Q no
instante da transição ascendente do sinal de clock, mantendo-o memorizado (Q*) até que ocorra
outra situação ascendente do clock. Na figura 17c) apresenta-se o diagrama temporal da evolução do
estado de saída, Q, função do valor lógico da entrada, D.

CLK

a) b) c)

Figura 17 - a) Símbolo lógico do flip-flop tipo D edge-triggered sensível ao flanco ascendente. b)


Tabela de transição de estados. c) Diagrama temporal de Q em função de D e CLK.
Na figura 18 apresenta-se o diagrama lógico do circuito integrado TTL 7474. Este circuito tem dois
flip-flop do tipo D edge-triggered de transição por flanco ascendente.
O circuito da figura 18, além dos dois pinos para alimentação, tem catorze terminais:
• D, é a entrada de sinal;
• Q, é a saída;
• Q , é a saída negada, complementar de Q;
• CP, é a entrada de CLK;
• SD, é uma entrada que quando ativada põe a saída ao nível lógico 1 (Set);
• CD, é uma entrada que quando ativada coloca a saída com o nível lógico 0, (Clear).

Figura 18 - Diagrama lógico do circuito integrado TTL 7474.

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
2.1.3 - Flip-flop J-K “edge-triggered”
Na figura 19a) apresenta-se o símbolo lógico de um flip-flop do tipo J-K “edge-triggered” sensível
à transição ascendente do clock. De acordo com a tabela de transição de estados da figura 19b) este
flip-flop, na transição ascendente de clock toma em consideração os valores nesse instante presentes
na saída Q de tal modo que, se estiver 0 na saída, então é sensível à entrada J e coloca em Q o que
estiver em J. Se estiver 1 na saída, então é sensível à entrada K e coloca em Q o complemento de K.
Quando ambas as entradas estiverem ao valor lógico 1, a saída Q inverte de estado a cada transição
ascendente do clock Na figura 19c) apresenta-se o diagrama temporal da evolução do estado de
saída, Q, função do valor lógico das entradas, J e K.

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).

Figura 20 - Diagrama lógico do circuito integrado TTL 7473.

2.1.4 - Flip-flop T “edge-triggered”


Na figura 21 a) apresenta-se o símbolo lógico de um flip-flop do tipo T “edge-triggered” sensível à
transição ascendente do clock. De acordo com a tabela de transição de estados da figura 21 b) este
flip-flop, sempre que T estiver com o valor lógico 1 inverte o estado da saída Q a cada transição
ascendente do clock. Com a entrada T no valor lógico 0, a saída permanece no estado anterior. Na

32

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
figura 21 c) apresenta-se o diagrama temporal da evolução do estado de saída, Q, em função do
valor lógico da entrada T.

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.

2.1.5 - Síntese de Flip-Flop


A técnica de síntese de flip-flop é muito útil, pois permite a construção de um qualquer tipo de
célula de memória, com as características que melhor funcionam para um dado problema que existe
na prática, partindo de dispositivos já existentes.
A partir do conhecimento das tabelas de verdade dos flip-flop é possível sintetizar cada um deles
a partir de um outro. Assim é possível com base no flip-flop do tipo D, o mais comum, sintetizar os
flip-flop J-K, e T, ou vice-versa.
A obtenção de um flip-flop a partir de um outro pode iniciar-se com a comparação das tabelas de
verdade dos dois para a mesma saída Q, em seguida constrói-se a função booleana (por exemplo,
utilizando um mapa de Karnaugh) do flip-flop que existe com base na saída Q* e nas variáveis de
entradas do flip-flop que se quer obter.
Na figura 22 apresenta-se a síntese de um flip-flop J-K a partir de um flip-flop D.

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
É útil ter presente a tabela de verdade de cada um dos flip-flop bem como a tabela de transição
de estados. Na figura abaixo apresenta-se um quadro resumo para os três flip-flop edge-triggered.

2.1.6 – Exercícios diagramas temporais


Desenhe as formas de onda nos pontos indicados, em função dos sinais DATA e CLK
fornecidos e funcionamento do circuito. Admita que em t=0, as saídas dos flip-flops (Q) estão a
zero.
+5V

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
+5V
SET A C
J Q D
SET
Q
Data B

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

Considere o diagrama temporal abaixo indicado. Complete-o utilizando um FF Tipo D e um FF


tipo T

CLK
t

DATA
t

35

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
2.2 - Contadores
Um contador é um circuito sequencial de aplicação geral, cujas saídas representam num
determinado código o número de impulsos que se aplicam à entrada. É constituído por vários flip-
flop ligados entre si, de maneira a que as suas saídas mudem de estado, quando se aplicam impulsos
na entrada.
Os contadores dividem-se em síncronos e assíncronos. Os primeiros são aqueles em que o
impulso de relógio é aplicado simultaneamente a todos os flip-flop e, portanto, as suas saídas variam
ao mesmo tempo. Nos contadores assíncronos, o sinal de relógio aplica-se à entrada do primeiro flip-
flop, a saída deste à entrada do próximo e assim sucessivamente. O tempo de propagação deste tipo
de contadores é superior ao dos contadores síncronos.
Os contadores podem ser binários e decimais (contadores de décadas), assim o número de
estados possíveis nas saídas seja múltiplo de 2 ou de 10. Os contadores binários constituem
importantes módulos para síntese de sistemas lógicos sequenciais. Outro tipo de contadores pode
ser referenciado através do seu módulo. Assim, um contador cujos números de estado nas saídas
sejam seis (0, 1, 2, 3, 4, 5) será um contador de módulo seis.
Dependendo da forma de operação, os contadores podem ser ascendentes, se a contagem
aumenta em cada impulso, descendentes, se a contagem diminui ou, ascendentes e descendentes,
também, denominados de reversíveis (up-down counters).

2.2.1 - Contadores assíncronos


Na figura 23 apresenta-se um contador assíncrono progressivo constituído a partir de flip-flop do
tipo T.

Figura 23 - Contador assíncrono progressivo de Figura 24 - Evolução dos estados em contagem


módulo 8 a partir de flip-flop do tipo T. crescente do contador da figura 23.
O contador da figura 23 diz-se assíncrono porque a transição de estados dos diferentes flip-flop
não é síncrona com o sinal do CLK. Apresenta-se atrasada de um tempo igual à soma dos tempos de
transição dos flip-flop antecedentes. Este facto acarreta, nalguns casos (sistemas em que a
velocidade de leitura das contagens é rápida), inconveniente, pelo que a técnica assíncrona é pouco
utilizada. No contador progressivo da figura 23, o bit de um dado peso só muda de estado após os
bits de peso inferior terem tomado simultaneamente o valor 1, conforme se mostra na figura 24.
Na figura 25 apresenta-se um contador assíncrono regressivo constituído a partir de flip-flop do
tipo T, sensíveis à transição descendente do CLK. Nesta situação o bit de um dado peso só muda de
estado após os bits de peso inferior terem tomado simultaneamente o valor 0, conforme se mostra
na figura 26.

36

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
C B A
1 1 1
1 1 0
1 0 1
1 0 0
0 1 1
0 1 0
0 0 1
0 0 0
Figura 25 - Contador assíncrono regressivo de
Figura 26 - Evolução dos estados em contagem
módulo 8 a partir de flip-flop do tipo T.
decrescente do contador da figura 25
Em resumo:
• Na contagem progressiva, cada flip-flop transita de estado no instante correspondente à
transição descendente dos flip-flop anteriores;
• Na contagem regressiva, cada flip-flop transita de estado no instante correspondente à
transição ascendente dos flip-flop anteriores;

2.2.2 - Contadores síncronos


2.2.2.1 - Introdução

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 ;

Figura 27 - Contador síncrono regressivo de módulo 8 a partir de flip-flop do tipo T.

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
encaminha para as entradas dos flip-flop de peso superior as saídas Q ou Q , conforme se pretenda
uma contagem crescente ou decrescente.

Figura 28 - Contador síncrono reversível de módulo 8 a partir de flip-flop do tipo T.

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.

2.2.2.2 - Projecto de contadores síncronos

O projecto de contadores síncronos permite, além de sintetizar as contagens mais simples,


apresentadas nas secções anteriores, quaisquer contagens desde que se conheça a tabela de
transição de estados dos flip-flop utilizados.
Qualquer circuito sequencial síncrono pode ser representado pelo modelo da figura 29a). Onde:
• Rg, registo que corresponde a uma fila de p flip-flop edge-triggered;
• En, corresponde ao vector de entrada;
• Xn, corresponde ao estado presente das saídas Q de cada flip-flop constituintes do registo
Rg após a ocorrência de cada sinal de CLK;
• Xn+1, corresponde ao estado seguinte, das saídas Q, para o qual o sistema evolui quando
ocorrer a próxima transição de CLK, relacionado por um conjunto de funções booleanas
com Xn e En;
• Sn, corresponde ao vector de saída, relacionado por um conjunto de funções booleanas
com Xn e En;
A relação entre estas grandezas pode ser descrita por uma tabela de verdade de “estado
seguinte” e “saída”, função de “estado presente” e “entrada”, conforme se exemplifica na figura
29b).

Figura 29 - a) Modelo geral da máquina síncrona. b) Tabela de Xn+1 e Sn função de Xn e Sn.

38

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
Quando se pretende implementar um circuito combinatório com portas lógicas, deve adoptar-se
um processo sistemático de cálculo que tome em consideração o tipo dos flip-flop usados no registo.
O método, utilizado, envolve tabelas de transição de estados dos flip-flop edge-triggered usados,
mapas de Karnaugh para simplificação do circuito combinatório e a representação da evolução dos
estados do sistema ao longo dos sucessivos CLK.
• Para definir o número de bits do código a atribuir aos estados, terá que se tomar em
consideração o número de estados total da máquina.
Como exemplo de projecto de contadores síncronos, projecta-se de seguida um contador
síncrono de módulo 8 a partir de flip-flop do tipo D e lógica combinatória. Ilustra-se, na figura 30, a
evolução dos estados do sistema, bem como os mapas de Karnaugh respectivos e o esquema da
montagem.

𝑄2∗ 𝑄1∗ 𝑄0∗ 𝑄2 𝑄1 𝑄0 𝐷2 𝐷1 𝐷0


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

𝑄2∗ 𝑄1∗ 𝑄2∗ 𝑄1∗ 𝑄2∗ 𝑄1∗


𝑄0∗ 00 01 11 10 𝑄0∗ 00 01 11 10 𝑄0∗ 00 01 11 10
0 0 0 1 1 0 0 1 1 0 0 1 1 1 1
1 0 1 0 1 1 1 0 0 1 1 0 0 0 0

𝐷2 = 𝑄2∗ ∙ ̅𝑄̅̅0̅∗ + 𝑄2∗ ∙ ̅̅̅


𝑄1∗ + ̅𝑄̅̅2̅∗ ∙ 𝑄1∗ ∙ 𝑄0∗ 𝐷1 = ̅̅̅
𝑄1∗ ∙ 𝑄0∗ + 𝑄1∗ ∙ ̅𝑄̅̅0̅∗ 𝐷0 = ̅𝑄̅̅0̅∗

SET SET SET


D Q D Q D Q

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

Como outro exemplo de projecto de contadores síncronos, projecta-se de seguida um contador


síncrono de módulo 6, de 0 a 5, a partir de flip-flop do tipo D e lógica combinatória, ver figura 31.

39

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL

Q*2Q*1 Q*2Q*1 Q*2Q*1


Q*0 00 01 11 10 Q*0 00 01 11 10 Q*0 00 01 11 10

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

𝐷2 = ̅𝑄̅̅0̅∗ 𝑄2∗ 𝐷1 = ̅𝑄̅̅1̅∗ 𝐷0 = 𝑄0∗ ̅𝑄̅̅2̅∗

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.

2.2.2.2.1 - Estudo dos casos impossíveis


O critério na simplificação dos mapas consiste em aproveitar as configurações don’t-care para a
melhor simplificação do circuito, confirmando-se posteriormente a convergência para os estados
desejáveis (possíveis) deste circuito. Neste caso, para as simplificações usadas nos mapas de
Karnaugh, é importante estudar a situação dos casos impossíveis.
Nesta situação:
• Se o contador arrancar do estado (110), após um CLK o sistema permanece no mesmo
estado;
• Se o contador arranca do estado (111), transita para (010) após um CLK.
Para tal existe a necessidade de alterar o agrupamento realizado com os elementos don’t care
apenas no segundo mapa, de acordo com a figura abaixo.
Q*2Q*1 Q*2Q*1 Q*2Q*1
Q*0 00 01 11 10 Q*0 00 01 11 10 Q*0 00 01 11 10

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL

SET SET SET


D Q D Q D Q

CLK ~Q CLK ~Q CLK ~Q


RESET RESET RESET

Figura 32 - Esquema lógico de um contador síncrono de módulo 6 a partir de flip-flop do tipo D.

2.2.2.3 - Contadores síncronos integrados

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.

Figura 33 – Descrição dos pinos do contador TTL 74193.

41

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL

2.2.2.3 – Exercícios com Contadores


1. A partir de Flip-Flop tipo D projecte um contador crescente de módulo variável.
Consoante um sinal de controlo S, pretende-se que o contador conte em módulo 5 (S=0)
ou em módulo 3 (S=1). Tire as funções das entradas dos Flip-Flop por inspecção das
tabelas de verdade. Estude os casos impossíveis.
2. Pretende-se construir um contador síncrono progressivo de 3 bits que efectue a
contagem cíclica: 0-3-4-6-7. Para a implementação do circuito existe Flip-Flop JK activos
no flanco descendente do sinal de relógio. Faça o estudo dos casos impossíveis
3. Pretende-se implementar o contador síncrono indicado na tabela abaixo.
a. Indique qual a contagem que irá ser efectuada.
b. Retire as expressões para a implementação com os FF e faça o estudo dos casos
impossíveis.

42

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
4. Implemente à custa de FF T um contador cuja sequência de estados cíclica seja a
seguinte:
011-110-010-100-111-010
5. Sintetize um contador síncrono que realize as contagens cíclicas: 1, 4, 5, 6, 7. Estude os
estados indesejáveis 0,2 e 3 de modo a garantir que o contador entre na contagem certa
no máximo ao fim de um clock do relógio. Utilize flip-flop do tipo JK

6. A partir de Flip-Flop´s tipo T projecte um contador síncrono de módulo 8 reversível.


Consoante um sinal de controlo S, pretende-se que o contador conte progressivamente
(de 0 para 7) se S=1 e regressivamente (de 7 para 0) se S=0.

7. Utilize o circuito integrado 74193 e lógica combinatória auxiliar de modo a :


a) Efectuar uma contagem, cíclica e crescente, de 0111(2) a 1010(2);
b) Efectuar uma contagem, cíclica e decrescente, de 1111(2) a 0101(2).

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.

9. Projecte, usando FF D, um circuito que concretize a sequência de estados representada


nas seguintes formas de onda.

CLK

Q0

Q1

Q2

Q3

43

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
2.4 Máquinas de Moore e Mealy

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL

Saída Presente Estado seguinte


Estado Presente
Z X=0 X=1
A 0 A B
B 0 A C
C 0 A D
D 1 A D

A codificação de estados é a representação simbólica dos estados por códigos binários. Se a


máquina tem m estados, o código tem que ter pelo menos n bits, tal que m<2n. Por facilidade, as
codificações mais utilizadas são as que correspondem à ordenação segundo o código binário.

O processo de síntese prossegue com a determinação, através da construção de mapas de


Karnaugh, das entradas dos FF’s como função das entradas do circuito e do estado anterior.

Z
SET SET
J Q J Q
X
K CLR Q K CLR Q
1 0
CLK

45

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
De seguida apresenta-se o diagrama correspondente a uma máquina de Mealy para a mesma
situação. Neste caso, a saída depende do estado e da saída, daí a sua representação surgir,
habitualmente, nos vetores correspondentes às transições entre estados onde se reflete, também, a
influência das entradas nessas saídas.

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.

A codificação de estados conduz por sua vez a,

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL

SET SET
J Q J Q
X
K CLR Q 1 K CLR Q
1 0
CLK

Simplificação por eliminação de estados redundantes

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
Estado seguinte Estado seguinte
Estado atual Estado atual
X=0 X=1 X=0 X=1
A D/0 C/1 A D/0 C/1
B C/0 A/1 C D/1 D/1
C D/1 B/1 D C/0 A/1
D C/0 A/1 E D/0 C/1
E B/0 C/1
(a) (b)

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.

Técnica das Partições

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
Estado Combinação
A 00
B 10
C 01
D 11

Desta forma, os estados têm de ser separados em 4 grupos.


A 1ª partição vai conter os estados A e D (saída 0 e 0), a 2ª partição B e E (saída 1 e 0), a 3ª
partição C e F (saída 0 e 1) e a 4ª partição G e H (saída 1 e 1).
Esta informação é agora organizada na tabela seguinte com a indicação de índices
correspondentes à partição. Nesta fase é também possível retirar a informação das saídas, uma vez
que deixa de ser necessária, desde que não se ignore o princípio de que estados que pertencem a
partições distintas nunca poder ser numeradas para a mesma partição em iterações seguintes.

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.

transitam para os estados da


Partição Estados
X=0 X=1
1ª Ae D 2ª partição 1ª partição
2ª Be E 1ª partição 3ª partição
3ª Ce F 3ª partição 1ª partição
G 4ª partição 4ª partição

H 3ª partição 2ª partição

Na 2ª e 3ª partição (como na 1ª partição) não é possível distinguir os estados, não se produzindo

49

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
nenhuma alteração. Na 4ª partição, tem-se comportamentos distintos e como tal é necessário alterar
um dos estados para uma nova partição. Vai-se alterar o estado H para a 5ª partição conforme
indicado na tabela seguinte.

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

1- Esboce o diagrama de estados para a máquina de Moole para um detetor de


sequência 000.

2- Obtenha o diagrama de estados para as máquinas de Moole e de Mealy para um


detetor de sequência de 1010.

50

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
2.4 - Registos deslizantes (Shift- Register)

2.4.1 - Princípio de funcionamento


Os registos de deslocamento - Shift-register - são, da mesma forma que os contadores, circuitos
sequenciais de aplicação geral, constituídos por uma série de flip-flop, do tipo D, ligados em cascata.
Da mesma maneira que cada flip-flop pode armazenar um bit, os registos podem armazenar uma
palavra binária, formada por tantos bits quantos os flip-flop que os constituam. Os registos podem
classificar-se da seguinte maneira:
• Entrada em série, saída em série;
• Entrada em paralelo, saída em paralelo;
• Entrada em série, saída em paralelo;
• Entrada em paralelo, saída em série.
Existem também registos onde a informação pode deslizar nos dois sentidos; são os registos
bidireccionais.
Na figura 34 apresenta-se a estrutura mais simples de um registo deslizante de 4 bits, com
entrada em série e saída em paralelo. A designação de registo deslizante advém do facto de a
informação presente na entrada DA deslizar sucessivamente para QA, QB, QC e QD ao ritmo das
transições ascendentes do CLK, ficando presente nas quatro saídas ao fim de 4 CLK.

Figura 34 - Ligação de quatro flip-flop D edge-triggered como registo deslizante.

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL

Figura 35 - Circuito para conversão de informação paralelo-série para série-paralelo, utilizando


registos deslizantes.
Como exemplo de funcionamento do circuito da figura 35 apresenta-se na figura 36 a transmissão
da palavra (1101) do sistema A para o sistema B.

Figura 36 - Tabela de transmissão da palavra (1101) no circuito da figura 35.

A transmissão da palavra (1101) de A para B inicia-se pelo carregamento (Load) da palavra no


emissor (Load toma o valor 0 e um CLK ascendente). De seguida o sinal Load toma o valor 1, e por
cada CLK ascendente os bits da palavra presentes na saída do receptor deslizam sucessivamente
pelos 8 flip-flop até a palavra completa ficar presente na saída do receptor.

2.4.2 - Registos deslizantes integrados


Da família lógica TTL existem disponíveis, hoje em dia, diversas versões de circuitos registos
deslizantes de 4 e 8 bits, envolvendo vários sinais de controlo. A título de exemplo, na figura 37
apresenta-se a configuração dos pinos do registo deslizante bidireccional (i.e. pode deslocar a
informação em dois sentidos) de 4 bits, TTL 74194. Genericamente, um registo com entrada em
paralelo, saída em paralelo é um conjunto de flip-flop formado por tantos dispositivos como os bits
que se desejam armazenar, com uma entrada de relógio e outra de limpeza comum a todos eles e
com entradas e saídas de dados separados.

52

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL

Figura 37 – Descrição dos pinos do registo deslizante TTL 74194.

O circuito TTL 74194 dispõe das seguintes entradas e saídas de sinal:


• Quatro entradas de dados em paralelo, D0 a D3;
• Duas entradas de controlo, S0 e S1;
• Duas entradas série para deslocamento à direita (DSR) e para deslocamento à
esquerda (DSL);
• Uma entrada para o sinal de CLK;
• Uma entrada para levar as saídas a zero, MR (do tipo active low);
• Quatro saídas de informação em paralelo Q0 a Q3 correspondentes ao estado dos
flip-flop.
Na figura 38 apresenta-se uma tabela com o funcionamento do circuito TTL 74194 consoante o
sinal presente nas entradas de controlo.

S1 S0 Tipo de operação

0 0 Inibição dos impulsos de deslocamento

0 1 Deslocamento para à direita (Q0 para Q3)

1 0 Deslocamento para à esquerda (Q3 para Q0)

1 1 Carregamento da informação presente nas entradas D0 a D3 para Q0 a Q3

Figura 38 – Modos de funcionamento do registo deslizante TTL 74194.

53

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL

2.4.2 – Exercícios com Registos deslizantes

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL

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

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
ANEXO

56

Luís Redondo & Graça Almeida & Hiren Canacsinh


Sebenta de Sistemas Digitais
LEE- ADEEEA – ISEL - IPL
Bibliografia
• Sistemas Digitais – Princípios e Prática
o Morgado Dias
o FCA – editora Informática

• Sistemas Digitais
o António J. G. Padilla
o Mc Graw Hill

• Projecto de Sistemas Digitais


o Victor Pimenta Rodrigues e Mário Seia de Araújo
o Editorial Presença

• Data Sheet Circuitos integrados


o Fairchild
o National Semicondutor
o Philips Semicondutors
o Motorola
o Texas Instruments

57

Luís Redondo & Graça Almeida & Hiren Canacsinh

Você também pode gostar