Circuitos sequenciais
síncronos
• Organização:
–
–
–
–
–
Conceitos básicos e métodos de representação
Síntese de circuitos sequenciais síncronos
Projecto com blocos SSI / MSI
Análise de circuitos sequenciais síncronos
Projecto e teste
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 1
Sequenciais x combinatórios
• Ao contrário dos circuitos combinatórios, onde as
saídas dependem apenas do valor das entradas no
instante considerado, nos circuitos sequenciais as
saídas dependem também do valor que as entradas
tiveram em instantes anteriores
• Podemos portanto afirmar que os circuitos
sequenciais possuem memória, onde armazenam
uma informação interna de estado
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 2
Circuitos sequenciais
síncronos
• Os circuitos sequenciais dividem-se essencialmente
em duas grandes classes:
– Os circuitos sequenciais síncronos, cujo funcionamento é
cadenciado por um sinal periódico de relógio e que são
aqueles que directamente nos interessam
– Os circuitos sequenciais assíncronos, que pela definição
anterior ficam associados aos circuitos nos quais a
transição de estado não é cadenciada por um sinal de
relógio, ou onde o sinal de relógio não é periódico
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 3
Composição de um circuito
sequencial
• A necessidade de armazenar a informação de estado
faz com que os circuitos sequenciais síncronos
disponham de elementos de memória internos (FF)
• Para além dos FF, existem dois blocos combinatórios
principais, que têm por entradas a informação do
estado actual e do valor das entradas exteriores:
– O bloco que determina qual o estado seguinte
– O bloco que determina o valor das saídas exteriores
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 4
Modelo de Huffman
Bloco que determina
as saídas exteriores:
Bloco que determina
o estado seguinte:
X
Z
Circuito
combinatório
Estado Q1
actual
Q0
X
D1
D0
Estado
seguinte
CLK
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 5
Z
Circuito
combinatório
Estado Q1
actual
Q0
D1
D0
Estado
seguinte
CLK
Formas básicas de
representação
• Consideraremos as seguintes alternativas principais
para a representação de circuitos sequenciais:
–
–
–
–
Diagrama de transição de estados
Entradas
Tabela de transição de estados
exteriores
Tabela de verdade
Relógio
Diagrama lógico (já conhecida) (CLK)
• O sinal de relógio só está explicitamente
representado no diagrama lógico
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 6
Saídas
exteriores
Diagrama de transição de
estados
X=0
• Os estados são indicados por círculos
e definidos por combinações de
valores lógicos presentes nas
variáveis de estado (os FF que
constituem a memória do circuito)
• O estado seguinte e o valor das saídas são definidos
pelo estado actual e pelo valor das entradas, quando
ocorre uma transição activa no sinal de relógio
A
X=1
B
X=1
X=1
X=0
C
X=0
D
X=0
X=1
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 7
Interpretação do diagrama
X=0
• Quando o circuito se encontra no
estado A, sendo a entrada exterior
(X) 0, a próxima transição activa no
sinal de relógio provocará a
passagem para o estado A
(mantém-se o estado actual); se,
no entanto, a entrada exterior for 1, o circuito
passará para o estado B
A
X=1
B
X=1
X=0
X=1
C
X=0
D
X=0
X=1
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 8
O conceito de entrada do
circuito sequencial
X=0
A
X=1
X=1
• Exemplo para a sequência 101:
A - B - C - D (valor da saída no fim?)
• Convém ainda assinalar que:
B
X=1
X=0
C
X=0
D
X=0
X=1
– Assumimos que o primeiro bit a ser lido é o que está
representado à esquerda (por convenção)
– O estado da entrada entre dois impulsos de relógio é
irrelevante, porque o que conta é o seu valor no momento
em que ocorre a transição activa neste sinal
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 9
Formas de onda nas
entradas
• Uma vez que o que é importante é o valor da entrada
no momento em que ocorre a transição activa no
sinal de relógio, as seguintes formas de onda na
entrada X serão ou não equivalentes?
Entrada (X)
Entrada (X)
Relógio (CLK)
Relógio (CLK)
Saída (Z)
Saída (Z)
Estado
A
B
C
D
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 10
B Estado
A
B
C
D
B
Tabela de transição de
estados
X=0
X=1
• Esta tabela contém exactamente a
mesma informação que o diagrama de
transição de estados, mas agora na forma
tabular
Estado actual
Estado seguinte
X=1
B
(quando X=1)
A
A
B
0
B
C
B
0
C
A
D
0
D
A
B
1
X=1
X=0
C
X=0
D
X=0
X=1
Saída
(quando X=0)
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 11
A
X=0
Tabela de verdade
X=1
B
X=1
• A tabela de verdade contém uma
descrição mais pormenorizada do
circuito, uma vez que a alocação de
estados já foi realizada
S1
S0
0
0
• Qual foi a alocação de
0
0
estados que conduziu à
0
1
tabela de verdade à direita, 0 1
1
0
para o nosso exemplo?
1
0
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 12
A
X=1
X=0
C
X=0
D
X=0
X
NS1
NS0
Z
0
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
0
X=1
1
1
0
0
0
1
1
1
1
0
1
1
Interpretação da tabela de
verdade
• Usa-se a designação S para indicar o valor actual das
variáveis de estado (state) e NS para representar o
seu valor seguinte (next state) 0 0 0 0 0 0
• No caso da primeira linha da tabela, teremos que se
o circuito se encontrar no estado A (S1,S0=00) e a
entrada exterior for X=0, então a próxima transição
activa no sinal de relógio manterá o circuito no estado
A (NS1,NS0=00) e a saída continuará em Z=0
S1
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 13
S0
X
NS1
NS0
Z
A implementação das
variáveis de estado
• As variáveis de estado são normalmente
implementadas por recurso a circuitos bi-estáveis, a
que se dá a designação habitual de flip-flops (FF)
• Existem três tipos principais de FF:
– FF do tipo D (os que usaremos com maior frequência)
– FF do tipo J-K
– FF do tipo T
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 14
Os FF do tipo D
• Num FF do tipo D, a saída assume o valor da entrada
por cada transição activa no sinal de relógio
• Num FF deste tipo, o estado actual (S) corresponde
às saídas Q e o estado seguinte (NS) às entradas D
D
CLK
Q
/Q
0

0
1
1

1
0
X
0
Qant
/Qant
X
1
Qant
/Qant
XDigitais e Microcontroladores
Qant

Introdução ao Projecto com Sistemas
Circuitos sequenciais síncronos - 15
/Qant
2
3
D
Q
5
CLK
Q
6
Os FF do tipo J-K
• Nos FF J-K, o valor da saída é definido pelo valor
presente nas duas entradas (J e K), quando ocorre a
transição activa no sinal de relógio (qual a
correspondência J K CLK Q /Q
0
Q
/Q

que existe neste 00
1
0
1

caso entre S,
1
0
1
0

1
1
/Q
Q

NS, J, K e Q?)
ant
ant
4
5
1
ant
ant
X
X
0
Qant
/Qant
X
X
1
Qant
/Qant
X
X

Qant
/Qant
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 16
J
Q
7
CLK
K
Q
6
Os FF do tipo T
• Nos FF do tipo T (toggle), a saída é complementada
por cada transição activa no sinal de relógio (e para
este caso, qual a correspondência entre S, NS, T e
Q?)
T
CLK
Q
/Q
0
X
Qant
/Qant
T
1

/Qant
Qant
CLK
X
0
Qant
/Qant
X
1
Qant
/Qant
X

Qant
/Qant
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 17
Q
Q
X=0
Utilização dos FF D
X=1
B
X=1
• No circuito considerado, o uso de FF D
para as variáveis de estado levaria a
uma solução como a seguinte:
Q1
Q0
X
D1
D0
Z
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
0
1
0
1
1
1
0
1
1
0
0
0
1
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
1
1síncronos -018
1Circuitos sequenciais
1
1
A
X=1
X=0
C
X=0
D
X=0
X=1
X
Z
Circuito
combinatório
Q1
Estado
actual
CLK
Q0
D1
D0
Estado
seguinte
Máquinas de Moore e
máquinas de Mealy
• Nas máquinas de estado (circuitos sequenciais com
um número finito de estados) do tipo Moore, as
saídas dependem apenas do estado actual do circuito
• Nas máquinas de Mealy as S1 S0 X NS1 NS0 Z
saídas dependem do estado 00 00 01 00 01 00
actual e do valor das entradas 00 11 01 10 01 00
• O exemplo que temos vindo a 11 00 01 01 01 00
considerar corresponde a ...? 11 11 01 00 01 11
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 19
Distinção entre máquinas
de Moore e de Mealy
• A representação apresentada abaixo corresponde a
uma máquina de Moore ou de Mealy?
X (entradas exteriores)
Estado
seguinte
Circuito
combinatório
(geração do
estado seguinte)
Estado
actual
D1
Q1
D0
Q0
CLK
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 20
Circuito
combinatório
(geração das
saídas)
Z
(saídas
exteriores)
Exemplo 1: Um detector de
janela
• Apresente o diagrama de transição de estados para
um circuito com uma entrada, à qual chegam
continuamente (em forma série) palavras de 3 bits, e
com uma saída, que deverá ser colocada em 1
sempre que a palavra lida pertença ao intervalo [2,5]
• Assuma que a saída é considerada válida apenas
durante cada terceiro ciclo de relógio, após o que se
inicia imediatamente a leitura de uma nova sequência
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 21
Exemplo 1: Um detector de
janela (conclusão)
Assumindo que o bit mais
significativo é lido em
primeiro lugar, concluímos
facilmente que as sequências
que devem colocar a saída
em 1 são aquelas nas quais
os dois primeiros bits lidos
são diferentes: 010 (2), 011
(3), 100 (4) e 101 (5).
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 22
E
1
0
B
0
0,1
1
F
0
1
A
0,1
0
D
C
1
Exemplo 2: Um votador
sequencial
• Apresente o diagrama de transição de estados para
um circuito com uma entrada e uma saída, que
deverá ser colocada em 1 sempre que a entrada se
mantiver no mesmo estado durante pelo menos dois
impulsos de relógio consecutivos (voltando a 0
quando esta situação deixar de ter lugar)
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 23
Exemplo 2: Um votador
sequencial (conclusão)
A: Estado inicial - B: Estado onde já foi lido o
primeiro 0 - C: Estado onde já foi lido o primeiro 1 D: Estado onde já foram lidos dois 0 (e portanto a
saída está em 1)
B
0
0
- E: Estado onde 0
já foram lidos
0
1
0
A
D
E
dois 1 (e
portanto a saída
está em 1).
1
1
1
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 24
C
1
Síntese de máquinas de
estado
• A síntese de máquinas de estado, seja de Moore ou
de Mealy, é feita de acordo com o seguinte conjunto
de etapas:
–
–
–
–
Representação formal
Alocação de estados
Construção da tabela de verdade
Obtenção da soma mínima
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 25
Exemplo 1: Um detector de
duplas sequências
Y
X
Z
Relógio (CLK)
• Pretende-se ilustrar a aplicação das quatro etapas
principais referidas na transparência anterior, através
do exemplo concreto de um circuito com as seguintes
características funcionais:
– O circuito deverá possuir duas entradas, nas quais se
pretende detectar a ocorrência simultânea da sequência
101 (representa-se à esquerda o primeiro bit lido)
– Sequências sobrepostas devem ser consideradas válidas
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 26
Exemplo 1: Um detector de
duplas sequências (cont.)
• Exemplo do diagrama temporal para
uma situação típica de funcionamento:
Entrada X
Entrada Y
Relógio (CLK)
Saída (Z)
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 27
Y
X
Relógio (CLK)
Z
Exemplo 1: Um detector de
duplas sequências (cont.)
• Representação formal (diagrama de transição de
00,01,10
estados):
A
• Qual a sequência de transição
de estados que corresponde ao XY=11 01,10
B
diagrama temporal abaixo?
Entrada X
C
Entrada Y
Relógio (CLK)
Saída (Z)
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 28
11
00
11
01,10
11
00,01,10
00
D
Exemplo 1: Um detector de
duplas sequências (cont.)
• Considerando a alocação de
estados A-00, B-01, C-10 e
D-11: 00,01,10
A
01,10
XY=11
01,10
B
11
00
11
C
11
00,01,10
00
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
D
Circuitos sequenciais síncronos - 29
Q1
Q0
X
Y
D1
D0
Z
(0)
0
0
0
0
0
0
0
(1)
0
0
0
1
0
0
0
(2)
0
0
1
0
0
0
0
(3)
0
0
1
1
0
1
0
(4)
0
1
0
0
1
0
0
(5)
0
1
0
1
0
0
0
(6)
0
1
1
0
0
0
0
(7)
0
1
1
1
0
1
0
(8)
1
0
0
0
0
0
0
(9)
1
0
0
1
0
0
0
(10)
1
0
1
0
0
0
0
(11)
1
0
1
1
1
1
0
(12)
1
1
0
0
1
0
1
(13)
1
1
0
1
0
0
1
(14)
1
1
1
0
0
0
1
(15)
1
1
1
1
0
1
1
Exemplo 1: Um detector de
duplas sequências (cont.)
• Obtenção da soma mínima:
/Y
D1
Y
/X
/Q0
/Q1
Q0
Q1
/Q0
0
/Y
D0
X
1
3
Y
/X
2
14
5
7
6
112
13
15
14
9
111
8
/Y
10
/Q0
/Q1
Q0
Q1
/Q0
/Y
X
1
13
4
5
17
6
12
13
115
14
9
111
10
0
8
D1=Q0*/X*/Y+Q1*/Q0*X*Y
D0=X*Y
Z=Q1*Q0
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 30
2
Q1
Q0
X
Y
D1
D0
Z
(0)
0
0
0
0
0
0
0
(1)
0
0
0
1
0
0
0
(2)
0
0
1
0
0
0
0
(3)
0
0
1
1
0
1
0
(4)
0
1
0
0
1
0
0
(5)
0
1
0
1
0
0
0
(6)
0
1
1
0
0
0
0
(7)
0
1
1
1
0
1
0
(8)
1
0
0
0
0
0
0
(9)
1
0
0
1
0
0
0
(10)
1
0
1
0
0
0
0
(11)
1
0
1
1
1
1
0
(12)
1
1
0
0
1
0
1
(13)
1
1
0
1
0
0
1
(14)
1
1
1
0
0
0
1
(15)
1
1
1
1
0
1
1
Exemplo 1: Um detector de
duplas sequências (cont.)
Entrada Y
Entrada X
3
1
• Diagrama lógico
correspondente à
soma mínima
obtida:
7404
7404
4
2
1
Saída Z
3
2
7408
1
2
13
12
1
1
2
3
7411
2
6
7432
4
5
7421
4
6
5
7408
/Q0
Q0
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 31
Q1
/Q0
Q0
6
CLK
5
8
Q1
7474
Q
Q
D
2
D0
7474
Q
CLK
9
3
Q
D
11
12
CLK
Exemplo 2: Um comparador
sequencial
Y
X
Z
Relógio (CLK)
• No sentido de ilustrar a situação mais realista de nos
confrontarmos com uma especificação incompleta /
ambígua, consideraremos agora o caso de um
circuito com as seguintes características funcionais:
– Pretende-se efectuar a comparação de duas palavras com
3 bits cada uma (palavras M e N), produzindo uma saída
que indique quando M  N
– Pretende-se que a comparação seja efectuada bit a bit,
com início pelo bit mais significativo
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 32
Exemplo 2: Um comparador
sequencial (cont.)
• Dúvidas por esclarecer na especificação inicial:
– Existe algum sinal exterior que indique o início de uma
nova comparação?
– Ou assume-se que estão permanentemente a ser
efectuadas novas comparações, correspondendo cada
“quarto” impulso de relógio à comparação do primeiro bit
(o mais significativo) do novo par de palavras?
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 33
Exemplo 2: Um comparador
sequencial (cont.)
• Assumindo a existência
de um sinal exterior de
inicialização (reset),
chegamos ao seguinte
diagrama de transição
de estados:
M: Xt-2 Xt-1 Xt
N: Yt-2 Yt-1 Yt
00,01,10,11
B
01
XY=01
reset
00,11
A
10
C
10
00,01,11
00,11
10
D
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 34
00,01,10,11
E
Exemplo 2: Um comparador
sequencial (cont.)
Reinicialização
(...)
Z = M (menor
ou igual a) N
• O sinal de
reset exterior:
Reinicialização
(...)
(...)
(...)
(...)
(...)
(...)
(...)
Y
X
(...)
Z = MN
D1
(...)
Relógio
(CLK)
Reinicialização
(...)
(...)
Relógio (CLK)
>> estado A
Compara o MSB
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 35
Z = MN está válida (e o estado é B ou D)
D0
Exemplo 2: Um comparador
sequencial (cont.)
• A implementação do sinal de reset poderia também
ser feita através de um pino específico dos FF-D:
RST
Y
X
Bloco
combinatório
(estado
seguinte)
D1
Q1
D0
Q0
CLK
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 36
Bloco
combinatório
(saídas)
Z = MN
Exemplo 2: Um comparador
sequencial (cont.)
• Se o circuito não
dispuser de reset
exterior, efectuando
constantemente
comparações,
teremos o seguinte
diagrama de
transição de estados:
10
M: Xt-2 Xt-1 Xt
N: Yt-2 Yt-1 Yt
10
B
XY=10
10
00,11
A
00,01,10,11
01
00,11
00,11
C
01
D
00,01,10,11
E
00,01,10,11
H
10
F
00,11
00,01,11
00,01,10,11
G
01
01
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 37
MSB: Bit mais
significativo
Bit
intermédio
LSB: Bit menos
significativo
I
Exemplo 2: Um comparador
sequencial (cont.)
10
M: Xt-2 Xt-1 Xt
N: Yt-2 Yt-1 Yt
• Caso de M=100 e N=101
(MN verdadeiro):
10
B
XY=10
Entrada X (M)
Entrada Y (N)
10
00,11
A
00,01,10,11
01
00,11
00,11
C
00,01,10,11
E
01
H
10
F
00,11
00,01,11
Relógio (CLK)
D
Saída (Z)
Estado actual A
00,01,10,11
00,01,10,11
G
01
C
F
I
Fim desta
comparação
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Início da seguinte
Circuitos sequenciais síncronos - 38
B
01
MSB: Bit mais
significativo
Bit
intermédio
LSB: Bit menos
significativo
I
Síntese de máquinas de
Mealy
• A síntese de máquinas de Mealy segue um conjunto
de passos idêntico ao que consideramos para estes
dois exemplos de máquinas de Moore
• As diferenças face às máquinas de Moore existem
apenas na etapa de representação formal, onde ...?
• Resta referir que uma mesma máquina de estados
pode naturalmente apresentar saídas destes dois
tipos (Moore e Mealy)
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 39
Projecto com blocos SSI /
MSI
• Tal como sucedia com os circuitos combinatórios,
também neste caso o procedimento de projecto mais
comum na prática consiste em recorrer aos
componentes de catálogo já disponíveis, reservando
a síntese de circuitos “à medida” aos casos em que
isso seja realmente necessário
• Interessa-nos pois conhecer quais os principais tipos
de blocos SSI / MSI disponíveis neste domínio
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 40
Principais blocos SSI / MSI
• Os principais tipos de blocos SSI / MSI do tipo
sequencial, normalmente disponíveis nos catálogos
dos fabricantes de semicondutores, são os seguintes:
–
–
–
–
Flip-flops (FF)
Registos (latches)
Registos de deslocamento (shift registers)
Contadores (counters)
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 41
Flip-flops
(74x74: D)
4
3
2
S
5
C1
1D
1
R
10
S
11
C2
12
2D
13
&
R
6
Entradas
Saídas
Modo de operação
/S
/R
CP
D
Q
/Q
L
H
X
X
H
L
Set assíncrono
H
L
X
X
L
H
Reset assíncrono
L
L
X
X
H
H
Indeterminado (ver nota)
H
H
h
H
L
Carrega 1
H
H
l
L
H
Carrega 0
H
H
X
M
M
Mantém
H = Nível lógico "alto" (1)
h = O nível H tem que estar presente um
"setup time" antes da subida no relógio
L = Nível lógico "baixo" (0)
9
l = O nível L tem que estar presente um
"setup time" antes da subida no relógio
8
M = Mantém o estado anterior
X = "tanto faz" (don't care)
= Subida no relógio
= Não ocorre subida no relógio
Indeterminado = Ambas as saídas estarão em H
Introdução ao Projecto com Sistemas Digitais e Microcontroladoresenquanto /S e /R estiverem em L, mas ficarão em esta
Circuitos sequenciais síncronos - 42
indeterminado se /S e /R passarem a H em simultâneo
FF (cont.)
(74x109: JK)
Entradas
Modo de operação
Saídas
/S
/R
CP
J
/K
Q
/Q
Set assíncrono
L
H
X
X
X
H
L
Reset assíncrono
H
L
X
X
X
L
H
Indeterminado (ver nota) L
L
X
X
X
H
H
Comuta (toggle)
H
H
h
l
/q
q
5
1S
2
1J
4
1C
3
1K
Carrega 0
H
H
l
l
L
H
1
1R
Carrega 1
H
H
h
h
H
L
11
2S
Mantém
H
H
l
h
q
/q
14
2J
12
2C
13
2K
15
2R
6
7
10
H = Nível lógico "alto" (1)
9
1J- 2
2J- 14
1C- 4
2C- 12
/1S
/2S
5
11
h = O nível H tem que estar presente um
"setup time" antes da subida no relógio
L = Nível lógico "baixo" (0)
l = O nível L tem que estar presente um
"setup time" antes da subida no relógio
J
Q
CP
/1K- 3 /K
/2K- 13
1Q- 6
2Q- 10
/Q /1Q- 7
/2Q- 9
q = a letra pequena indica o estado da saída
um "setup time" antes da subida no relógio
X = "tanto faz" (don't care)
= Subida no relógio
Indeterminado = Ambas as saídas estarão em H
Introdução ao Projecto com Sistemas Digitais
/1R e Microcontroladores
/2R
enquanto /S e /R estiverem em L, mas ficarão em estad
Circuitos sequenciais síncronos - 43
indeterminado se /S e /R passarem a H em simultâneo
1
15
/OE
E
Dn
L
H
L
L
L
L
H
H
H
H
L
l
L
L
L
h
H
H
L
L
X
M
M
H
L
X
M
Z
H
H
Dn
Dn
Z
3
4
5
6
7
Modo de
operação
8
9
D0
Q0
D1
Q1
D2
Q2
D3
Q3
D4
Q4
D5
Q5
D6
Q6
D7
Q7
18
17
16
15
14
13
12
Habilita e memoriza as saídas
Mantém
1
Inibe as saídas
11
EN1
EN2
2D
3
h = O nível H tem que estar presente um "setup time" antes da descida no relógio
4 (E)
L = Nível lógico "baixo" (0)
19
Habilita e abre
as saídas
2
H = Nível lógico "alto" (1)
E
Saídas
(Q0 a Q7)
2
11
Saídas
internas
OE
Entradas
1
Registos
74x573 (8-bit latch)
5
6 (E)
l = O nível L tem que estar presente um "setup time" antes da descida no relógio
1
19
18
17
16
15
M = Mantém o estado anterior
7
14
X = "tanto faz" (don't care)
8
13
9
12
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Z = Alta impedância
Circuitos sequenciais síncronos - 44
= Descida no relógio
Registos de deslocamento
(74x164)
Entradas
/MR CP
8
9
SRG8
x
Dsa Dsb Q0
Modo de
operação
Q1
Q2
Q3
Q4
Q5
Q6
Q7
x
X
L
L
L
L
L
L
L
L
H
l
l
L
q0
q1
q2
q3
q4
q5
q6
H
l
h
L
q0
q1
q2
q3
q4
q5
q6
H
h
l
L
q0
q1
q2
q3
q4
q5
q6
H
h
h
H
q0
q1
q2
q3
q4
q5
q6
Reset
C1/ ->
R
1
2
L
Saídas
&
1D
3
4
5
6
8
CP
h = O nível H tem que estar presente um
"setup time" antes da subida no relógio
MR
11
H = Nível lógico "alto" (1)
9
10
Deslocamento
Q0
12
13
L = Nível lógico "baixo" (0)
Q1
1
l = O nível L tem que estar presente um
"setup time" antes da subida no relógio
Dsa
Q2
Q3
2
q = a letra pequena indica o estado da saída
um "setup time" antes da subida no relógio
Dsb
Q4
Q5
Q6
X = "tanto faz" (don't care)
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
= Subida no relógio
Circuitos sequenciais síncronos - 45
Q7
3
4
5
6
10
11
12
13
Registos de deslocamento
(74x194)
Modo de
operação
Entradas
CP
/MR S1
S0
Saídas
DSR DSL Dn
Q0
Q1
Q2
Q3
Reset
X
L
X
X
X
X
X
L
L
L
L
Mantém
X
H
l
l
X
X
X
q0
q1
q2
q3
H
h
l
X
l
X
q1
q2
q3
L
H
h
l
X
h
X
q1
q2
q3
H
H
l
h
l
X
X
L
q0
q1
q2
H
l
h
h
X
X
H
q0
q1
q2
H
h
h
X
X
dn
d0
d1
d2
d3
SRG4
11
9
10
1
2
3
R
Carga paralela
1,4D
3,4D
3,4D
3,4D
3,4D
2,4D
15
H = Nível lógico "alto" (1)
14
13
h = O nível H tem que estar presente um
"setup time" antes da subida no relógio
L = Nível lógico "baixo" (0)
12
l = O nível L tem que estar presente um
"setup time" antes da subida no relógio
2
3
4
5
S1
7
Deslocamento
para a direita
10
6
1
0
M 3
S0
5
0
9
4
Deslocamento
para a esquerda
C4/1->/2<-
DSR
Q0
15
D0
D1
Q1
D2
Q2
d, q = a letra pequena indica o estado da entrada
ou
D3
saída, um "setup time" antes da subida no relógio
7
14
13
6
Q3
DSL
MR
CP
1
11
X = "tanto faz" (don't care)
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 46
= Subida no relógio
12
Registos de deslocamento
(74x195)
Modo de
operação
Entradas
/MR CP
Reset assíncrono
9
1
10
4
5
6
7
R
C2/1->
1,2J
1,2K
/1,2D
/1,2D
Carga paralela
J
/K
Dn
Q0
Q1
Q2
Q3
/Q3
X
X
X
X
L
L
L
L
H
H
h
h
h
X
H
q0
q1
q2 /q2
H
h
l
l
X
L
q0
q1
q2 /q2
H
h
h
l
X
/q0
q0
q1
q2 /q2
H
h
l
h
X
q0
q0
q1
q2 /q2
H
l
X
X
dn
d0
d1
d2
d3 /d3
L
X
H = Nível lógico "alto" (1)
/Q 3
3
SRG4
/PE
11
2
M1
Deslocamento, coloca
o primeiro andar a 1
Deslocamento, coloca
o primeiro andar a 0
Deslocamento, comuta
o primeiro andar
Deslocamento, mantém
o primeiro andar
Saídas
15 h = O nível H tem que estar presente um "setup time" antes 7da subida no
rel
12
D3
Q3
L = Nível lógico "baixo" (0)
6
13
D2
14 l = O nível L tem que estar presente um "setup time" antes da
subidaQ 2 no rel
13 d, q = a letra pequena indica o estado da entrada ou
5
14
D1
Q1
saída, um "setup time" antes da subida no relógio
12
11 X = "tanto faz" (don't care)
= Subida no relógio
9
D0
Q0
/PE
/MR
/K
CP
J
3
10
2
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 47
4
15
1
Contadores
(74x93)
14
&
CT=0
DIV2
12
+
DIV8
1
Saídas
MR1
MR2
Q0
Q1
Q2
Q3
H
H
L
L
L
L
L
H
Contagem
H
L
Contagem
H
L
Contagem
CTR
2
3
Entradas
de reset
9
0
8
CT
+
11
2
FF1
/CP0
FF2
Q
FF3
Q
CP
FF4
Q
CP
Q
CP
CP
R
R
R
R
/CP1
MR1
Q0
MR2
Introdução ao
Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 48
Q1
Q2
Q3
CET
TC
CP
3
4
X
X
X
X
L
L
Reset
H
X
X
l
l
L
L
Carga
paralela
H
X
X
l
h
H
(a)
15
H
h
h
h
X
C
(a)
h
X
l
X
h
X
qn (a)
h
X
X
l
h
X
qn
Contagem
Mantém
L
H = Nível lógico "alto" (1)
h = O nível H tem que estar presente um
"setup time" antes da subida no relógio
L = Nível lógico "baixo" (0)
G4
l = O nível L tem que estar presente um
"setup time" antes da subida no relógio
C2/1,3,4</1,2D
TC
11
2
12
10
Q3
G3
13
7
Q2
Q1
M1
X
Qn
MR
CTR DIV 16
9
L
CEP CET /PE Dn
Modo de
operação
CEP
14
R
/MR CP
Saídas
PE
Q0
1
6
1
D3
2
5
10
D2
7
D1
D0
9
4
3
Contadores
(74x161)
Entradas
14
C = Contagem
13
qn = a letra pequena indica o estado
da saída antes da subida no relógio
5
12
6
11
X = "tanto faz" (don't care)
(a) A saída está em H quando CET estiver em H e o
contador estiver no último estado da contagem (HHHH)
15
4 com
CT=15
Introdução ao Projecto
Sistemas Digitais e Microcontroladores
= Subida no relógio
Circuitos sequenciais síncronos - 49
Contadores
(74x192)
Modo de
operação
H
/PL CPU CPD D0
2+
D1
D2
D3
Q0
Q1
Q2
Q3
14
/TCU /TCD
15
10
6
H
9H
7
H
L
X
X
X
L
L
L
L
H
H
X
X
H
X
X
X
X
L
L
L
L
L
L
X
L
L
L
L
L
L
L
L
L
Reset assíncrono
L
L
L
L
L
X
H
X
X
H
L
L
H
X
H
X
X
H
Contagem ascendente
L
H
H
X
X
X
X
Contagem descendente
L
H
X
X
X
X
L
L
L
L
H
H
Qn = Dn
L
H
Qn = Dn
H
H
Contagem
ascendente
Contagem
descendente
H = Nível lógico "alto" (1)
L = Nível lógico "baixo" (0)
X = "tanto faz" (don't care)
H (2)
H
H
H (3)
9
10
1
15
TCD
L
12
/1CT=9
13
L
13
/2CT=0
TCU
H
L
12
X
3
3D
2
X
L
R
1
L
L
1G2
Saídas
X
H
5
CTR DIV 10
G1
X
Carga paralela
C3
4
Entradas
MR
11
D3
Q3
D2
Q2
D1
Q1
D0
Q0
PL
MR
7
6
2
3
(2) /TCU = CPU quando se atinge o máximo na contagem ascendente (HLLH)
CPD
4
5
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 50
11
CPU
(3) /TCD = CPD quando se atinge o mínimo na contagem descendente (LLLL)
14
Contadores (74x192, cont.)
MR (1)
/PL
D0
D1
D2
D3
CPU (2)
CPD (2)
Q0
Q1
Q2
Q3
/TCU
/TCD
0
Reset
7
8
Preset
9
0
1
Contagem ascendente
2
1
0
9
8
7
Contagem descendente
(1) O sinal MR sobrepõe-se às entradas de carga, dados e contagem
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
em contagem ascendente, a entrada de relógio para a contagem
Circuitos sequenciais síncronos -(2)
51 Quando
descendente (CPD) deve estar em H; quando em contagem descendente, a entrada
de relógio para a contagem ascendente (CPU) deve estar em H
Exemplo 1: Um detector de
sequência
• Pretende-se projectar um circuito que efectue
constantemente a leitura de palavras com 3 bits
(valor  [0..7]) e produza uma saída que indique
quando a palavra lida pertence ao intervalo [2,5]
• O bit mais significativo é primeiro a ser lido e a saída
é válida apenas em cada terceiro impulso de relógio
• Pretende-se uma solução baseada no registo de
deslocamento 74x195
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 52
Exemplo 1: Um detector de
sequência (cont.)
X
2
3
4
5
6
7
CLK
10
9
1
J
K
A
B
C
D
CLK
S/L
CLR
15
Q A 14
Q B 13
Q C 12
QD
11
QD
1
3
F
2
7486
74195
+5 V
Que alteração haveria no funcionamento do circuito,
se as entradas do EX-OR tivessem por engano sido
ligadas às saídas QA e QB, em vez de QB e QC?
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 53
Exemplo 2: Um contador
como detector de paridade
• Pretende-se recorrer ao contador 74x161 para
projectar um circuito que indique quando uma palavra
de 4 bits apresenta um número ímpar de bits em 1
• Considere-se que existe um
F
X
impulso de reset a preceder
cada palavra e que a saída
deve estar válida apenas no CLOCK
quarto impulso de relógio INI
3
4
5
6
7
10
2
9
1
A
B
C
D
QA
QB
QC
QD
RCO
ENP
ENT
CLK
LOAD
CLR
74161
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 54
+5 V
14
13
12
11
15
Análise de circuitos
sequenciais síncronos
• A análise é uma actividade que surge com frequência
na prática com circuitos electrónicos, nomeadamente
em situações como as seguintes:
– Operações de manutenção
– Expansão de funcionalidade (upgrading)
– Modificação da funcionalidade
• Apesar da especificidade de cada caso, é possível
definir algumas regras gerais a seguir para este fim
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 55
Análise de circuitos na
forma de Huffman
• Este tipo de circuitos é o que decorre da síntese por
recurso a mapas de Karnaugh, podendo a análise
destes circuitos ser feita seguindo o percurso oposto
ao da síntese:
– Obter as equações algébricas a partir do diagrama lógico
– Construir a tabela de verdade que especifica o valor das
saídas para cada combinação possível nas entradas
– Desenhar o diagrama de transição de estados
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 56
Análise de um circuito na
forma de Huffman: Exemplo
X
1
• Pretende-se obter o
diagrama de transição de
estados correspondente
ao circuito seguinte:
7404
2
1
3
2
1
3
7408
2
4
6
7432
5
7408
9
8
10
4
6
7408
5
12
11
7432
13
7408
/Q1
Q1
Estado
actual
/Q1
Q1
Estado
seguinte
6
Q
C LK
5
Q
D
3
2
D1
7474
/Q0
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresQ0
Circuitos sequenciais síncronos - 57
/Q0
Q0
8
Q
C LK
9
Q
7474
D
CLK
11
12
D0
Circuitos na forma de
Huffman: Exemplo (cont.)
X
1
• Equações: D1=/X*/Q0+X*Q0 D0=/X*Q1+X*/Q1
• Tabela de verdade e
diagrama de estados:
7404
2
1
3
2
1
3
7408
2
4
6
7432
5
7408
9
8
10
4
6
7408
5
12
11
7432
13
7408
/Q1
Q1
Estado
actual
/Q1
Q1
Estado
seguinte
6
Q
C LK
5
Q
D
3
2
D1
7474
/Q0
Q0Introdução
/Q0
8
Q
11
CLK
Q0
ao Projecto com Sistemas
9 Digitais e
1 2Microcontroladores
Q
D
D0
Circuitos sequenciais síncronos - 58 7 4 7 4
C LK
Q1
Q0
X
D1
D0
0
0
0
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1
1
0
0
1
1
1
1
1
0
A
1
1
0
B
C
0
1
1
0
D
0
Análise de circuitos com
blocos SSI / MSI
• A muito menor uniformização do projecto com blocos
SSI / MSI torna mais difícil o estabelecimento de
regras para permitir a análise de forma sistemática
• Como regras de ordem geral, podemos ainda assim
referir as seguintes:
– Identificar e compreender todos os blocos SSI / MSI
– Compreender a interacção entre os blocos presentes
– Identificar possíveis ciclos de funcionamento
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 59
Análise de circuitos com
blocos SSI / MSI: Exemplo
• Indicar qual a
sequência de
contagem CLK
que
tem lugar no
circuito
apresentado
+5 V
3
4
5
6
7
10
2
9
1
QA
QB
QC
QD
RCO
14
13
12
11
15
ENP
ENT
CLK
LOAD
CLR
74161
3
4
5
6
7
10
2
9
1
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 60
A
B
C
D
A
B
C
D
ENP
ENT
CLK
LOAD
CLR
74161
QA
QB
QC
QD
RCO
14
13
12
11
15
A testabilidade de circuitos
sequenciais
• As razões pelas quais a geração de vectores de teste
para circuitos sequenciais são bastante mais difíceis
do que para circuitos combinatórios são as seguintes:
– Nem todas as entradas do bloco combinatório são
entradas primárias
– Do mesmo modo, nem todas as saídas são saídas
primárias
– A falta pode afectar a determinação do estado seguinte
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 61
A testabilidade de circuitos
sequenciais (cont.)
Bloco combinatório
Entrada
primária
1
1
Saída para o
próximo
estado
X s@0
(1/0)
1
3
2
7408
1
3
2
0
X
0
4
6
Saída para o
próximo
estado
Y
7408
+5 V
Q
7474
CL
6
C LK
Q
PR
5
D
3
2
4
+5 V
13
Q
7474
CL
8
C LK
Q
PR
9
D
11
12
10
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 62
Saída
primária
do
circuito
7432
5
1
• Exemplo: obter
um vector que
detecte a falta X
s@0 no circuito
apresentado à
direita:
A
+5 V
CLK
F=1/0
A testabilidade de circuitos
sequenciais (cont.)
• Apesar de a determinação do vector a aplicar nas
entradas do bloco combinatório ser simples, os
valores a que chegamos dão-nos apenas, neste
caso, a indicação do estado (1,1) que permitiria a
detecção da falta
• Resta ainda, portanto, determinar qual a sequência a
aplicar na entrada primária A, de forma a conduzir o
circuito até ao estado pretendido
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 63
A testabilidade de circuitos
sequenciais (cont.)
• A tarefa, para este caso, é relativamente simples:
Bloco combinatório
A
0
0
Saída para o
próximo
estado
X s @0
( 0/ 0)
1
3
2
7 4 08
1
3
2
1
1
1
4
7 4 32
Saída
primária
do
circuito
1
A=1
1
0
1
5
7 4 08
1
3
2
1
0
Saída para o
próximo
estado
Y
7 4 08
3
2
0
4
1
1
CLK
1
5
Q
D
3
2
1
+5 V
1
8
Q
7474
CL K
9
Q
D
11
12
10
CLK
7474
CL K
PR
12
Q
CL
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
F
F
Circuitos
sequenciais síncronos - 64
+5 V
D
11
6
13
A
10
CLK
Q
1
0
7 4 74
CL K
9
Saída para o
próximo
estado
4
1
Q
PR
10
1
CLK
2
CL
8
7432
Y
PR
13
PR
+5 V
D
12
D
3
+5 V
0
11
Q
0
7 4 74
CL K
5
CL
Q
0
Q
Saída
primária
do
circuito
6
5
CL
0
1
7 4 74
CL K
9
0
4
7408
4
13
A
Q
0
0
1
2
4
CLK
0
0
8
6
PR
D
3
+5 V
1
3
2
CL
PR
Q
1
F=0
+5 V
1
CL K
5
1
7 4 74
CL
Q
3
2
7408
0
Saída para o
próximo
estado
X s@0
(0/0)
1
+5 V
1
0
0
6
1
1
Saída para o
próximo
estado
Y
7 4 08
+5 V
1
7 4 32
6
5
Saída
primária
do
circuito
Bloco combinatório
A=1
Saída para o
próximo
estado
X s @0
( 0/ 0)
1
F=1
6
1
Bloco combinatório
+5 V
A
fault-free
F
X s@0
CLK
F=1/0
1/0
A testabilidade de circuitos
sequenciais (cont.)
• Repare-se ainda que:
– A simplicidade que encontrámos no exemplo anterior se
ficou a dever ao facto de os dois FF estarem ligados como
um registo de deslocamento, o que torna trivial forçar a
passagem para qualquer estado
– O problema surge quando é necessário determinar a
sequência de transição que nos permita chegar ao estado
pretendido, sobretudo naqueles casos em que a própria
transição de estados é afectada pela falta considerada
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 65
A testabilidade de circuitos
sequenciais (cont.)
Bloco combinatório
Entrada
primária
1
1
Saída para o
próximo
estado
X s@0
(1/0)
1
3
2
7408
1
3
2
0
X
0
4
6
Saída para o
próximo
estado
Y
7408
+5 V
Q
7474
CL
6
C LK
Q
PR
5
D
3
2
4
+5 V
13
Q
7474
CL
8
C LK
Q
PR
9
D
11
12
10
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 66
Saída
primária
do
circuito
7432
5
1
• Uma falta que afecte
o diagrama de
transição de estados
(como é o caso de Y
s@0) ajuda-nos a
compreender melhor
este aspecto
A
+5 V
CLK
F=1/0
A testabilidade de circuitos
sequenciais (cont.)
• Alteração no diagrama de transição de estados:
0
Q1,Q0=00 0,1
0
1
0
Q1,Q0=00
Bloco combinatório
A
Entrada
primária
1
1
0
0,1
Saída para o
próximo
estado
X s@0
(1/0)
1
3
2
7408
1
3
2
01
1
1
01
0
X
0
4
7432
6
5
Saída para o
próximo
estado
Y
7408
0
1
+5 V
2
D
2
+5 V
8
Q0
Q
7474
C LK
9
Q
PR
11
Q
3
CL
3
C LK
5
13
11
1
7474
4
3
Estados 1 e 3
(Q0=1) já não
estão acessíveis
Q1
Q
PR
0
6
CL
10
10
1
2
1
D
11
12
10
(qual o novo vector que detecta Y s@0?)
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 67
Saída
primária
do
circuito
+5 V
CLK
F=1/0
Soluções ad hoc para
melhorar a testabilidade
• Sendo um conjunto de “regras soltas” de projecto, as
regras ad hoc apresentam como desvantagens
principais as seguintes:
– Não são necessariamente reutilizáveis, uma vez que cada
projecto tem requisitos e problemas de testabilidade que
lhe são específicos
– Não conseguem garantir elevados índices de testabilidade
para qualquer tipo de circuito
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 68
Soluções ad hoc para a
testabilidade: Exemplos
• A título de exemplo, podemos referir as seguintes
medidas ad hoc para melhorar a testabilidade de
circuitos sequenciais:
– Partição de contadores, convertendo um contador de N
bits em K contadores com N/K bits, de forma a tornar mais
rápida a progressão até um determinado estado
– Provisão de linhas de set / reset síncronas ou assíncronas
– Observação directa de nós internos (por multiplexagem
com saídas primárias ou acrescentando novos pinos)
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 69
Métodos estruturados de
projecto para a testabilidade
• Pretendem proporcionar uma forma sistemática de
forçar a passagem do circuito para qualquer estado
pretendido, num número fixo (e reduzido) de ciclos de
relógio, qualquer que seja o estado actual e a falta
presente no circuito
• O termo estruturados implica que o método seja
(quase-) universal e conduza sempre a idênticos
níveis de testabilidade (que custos haverá?)
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 70
Projecto com varrimento
(scan design)
Q
CL
6
CLK
Q
D
3
2
2:1 mux
0
4
Estado
actual
PR
5
1
Modo de
Teste
+5 V
Estado
seguinte
+5 V
U1B
7474
13
Q
CL
8
CLK
Q
D
11
12
2:1 mux
0
10
Estado
actual
PR
9
1
Modo de
Teste
+5 V
Estado
seguinte
+5 V
U2A
7474
1
Q
CL
6
CLK
Q
PR
5
4
Estado
actual
+5 V
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 71
U1A
7474
1
• A geração de vectores de
teste pode ser largamente
simplificada se cada FF D
for precedido por um mux
de 2:1, criando aquilo a
que se dá a designação
de scan FF
Saída série
(scan out)
+5 V
D
3
2
2:1 mux
0
1
Modo de
Teste
Modo de
Teste
Estado
seguinte
Entrada série
(scan in)
Relógio
(CLOCK)
Projecto com varrimento:
• A importância do projecto com varrimento, como
metodologia estruturada de projecto para a
testabilidade, pode ser melhor aferida se
considerarmos que no projecto sem varrimento:
– Parte das entradas do circuito combinatório não são
directamente controláveis, por estarem ligadas às saídas
dos FF (nós que definem o estado actual)
– Parte das suas saídas não são directamente observáveis,
por estarem ligadas às entradas dos FF (estado seguinte)
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 72
A questão da
controlabilidade
1
U1A
7474
1
6
CLK
5
Q
D
3
2
2:1 mux
1
+5 V
Próximo
estado
Modo de
Teste
+5 V
U1B
7474
13
CLK
9
Q
D
11
12
2:1 mux
0
0
10
Estado
actual
PR
0
Q
CL
8
1
+5 V
Próximo
estado
Modo de
Teste
+5 V
U2A
7474
1
CLK
5
Q
PR
4
Estado
actual
Q
CL
6
0
D
3
2
2:1 mux
1
0
1
+5 V
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 73
0
0
4
Estado
actual
PR
1
Q
CL
• Consideremos que se
pretende passar para o
estado 110, partindo do
estado 100 e sendo o
estado seguinte (para as
condições consideradas)
001
Saída
série
+5 V
Modo de
Teste
Próximo
estado
Modo de
Teste
Entrada
série
0
Relógio
1
A questão da
controlabilidade (cont.)
0
D
3
2
2:1 mux
1
Modo de
Teste
0
?
Próximo
estado
2:1 mux
Modo de
Teste
?
Próximo
estado
CLK
9
Estado
actual
2:1 mux
?
0
Próximo
estado
Modo de
Teste
CL
2:1 mux
1
+5 V
Modo de
Modo de
Teste
Entrada
?
Próximo
estado
Relógio
Introdução ao Projecto com Sistemas
e Microcontroladores
Teste Digitaissérie
Circuitos sequenciais síncronos - 74 1
1
Estado
actual
CLK
5
Q
4
4
0
1
PR
PR
D
Q
3
2
U2A
7474
1
6
CL
Q
12
+5 V
1
Estado
actual
D
1
U2A
7474
CLK
5
Q
11
+5 V
+5 V
1
Modo de
Teste
U1B
7474
10
10
0
1
PR
12
1
Q
?
Próximo
estado
CL
D
Q
11
+5 V
6
2:1 mux
0
13
PR
Q
8
CL
Estado
actual
2
+5 V
CLK
9
D
1
U1B
7474
13
0
Q
+5 V
+5 V
Q
5
Estado
actual
3
4
4
0
+5 V
8
U1A
7474
CLK
PR
Q
PR
5
Q
CL
CLK
Estado
actual
6
CL
0
Q
Saída
série
+5 V
1
U1A
7474
1
6
0
Saída
série
+5 V
D
3
2
2:1 mux
?
0
1
+5 V
Modo de
Teste
Próximo
estado
Modo de
Teste
Entrada
série
1
Relógio
1
A questão da
controlabilidade (cont.)
1
D
3
2
2:1 mux
1
Modo de
Teste
1
?
Próximo
estado
2:1 mux
Modo de
Teste
?
Próximo
estado
12
2:1 mux
?
0
1
Próximo
estado
Modo de
Teste
CL
2:1 mux
1
+5 V
Modo de
Modo de
Teste
Entrada
?
Próximo
estado
Relógio
Introdução ao Projecto com Sistemas
e Microcontroladores
Teste Digitaissérie
Circuitos sequenciais síncronos - 75 1
0
Estado
actual
CLK
5
Q
4
4
0
0
PR
PR
D
Q
3
2
U2A
7474
1
6
CL
Q
D
+5 V
1
Estado
actual
Q
11
+5 V
U2A
7474
CLK
5
CLK
9
Estado
actual
+5 V
0
Modo de
Teste
U1B
7474
10
10
0
1
PR
12
1
Q
?
Próximo
estado
CL
D
Q
11
+5 V
6
2:1 mux
0
13
PR
Q
8
CL
Estado
actual
2
+5 V
CLK
9
D
1
U1B
7474
13
1
Q
+5 V
+5 V
Q
5
Estado
actual
3
4
4
0
+5 V
8
U1A
7474
CLK
PR
Q
PR
5
Q
CL
CLK
Estado
actual
6
CL
1
Q
Saída
série
+5 V
1
U1A
7474
1
6
1
Saída
série
+5 V
D
3
2
2:1 mux
?
0
1
+5 V
Modo de
Teste
Próximo
estado
Modo de
Teste
Entrada
série
0
Relógio
X
A questão da
observabilidade
1
U 1A
7474
1
6
C LK
5
Q
D
3
2
2:1 mux
1
+5 V
Próx imo
esta do
Modo de
Test e
+5 V
U 1B
7474
13
C LK
9
Q
D
11
12
2:1 mux
0
0
10
Esta do
actu al
PR
0
Q
CL
8
1
+5 V
Próx imo
esta do
Modo de
Test e
+5 V
U 2A
7474
1
Q
4
Esta do
actu al
C LK
5
PR
0
Q
CL
6
D
3
2
2:1 mux
1
0
1
+5 V
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 76
0
0
4
Esta do
actu al
PR
1
Q
CL
• Consideremos que se
pretende observar o valor
dos nós que definem o
estado seguinte, para o
caso anteriormente
considerado
Saíd a
séri e
+5 V
Modo de
Test e
Próx imo
esta do
Modo de
Test e
Entr ada
séri e
0
Reló gio
1
A questão da
observabilidade (cont.)
0
D
3
2
2:1 mux
1
Modo de
Test e
0
?
Próx imo
esta do
2:1 mux
Modo de
Test e
?
Próx imo
esta do
C LK
9
Esta do
actu al
2:1 mux
?
0
Próx imo
esta do
Modo de
Test e
CL
2:1 mux
1
+5 V
Modo de
Modo de
Test e
Entr ada
?
Próx imo
esta do
Reló gio
Introdução ao Projecto com Sistemas
e Microcontroladores
Test e Digitaisséri
e
Circuitos sequenciais síncronos - 77 0
X
Esta do
actu al
C LK
5
Q
4
4
0
X
PR
PR
D
Q
3
2
U 2A
7474
1
6
CL
Q
12
+5 V
1
Esta do
actu al
D
1
U 2A
7474
C LK
5
Q
11
+5 V
+5 V
1
Modo de
Test e
U 1B
7474
10
10
0
1
PR
12
1
Q
?
Próx imo
esta do
CL
D
Q
11
+5 V
6
2:1 mux
0
13
PR
Q
8
CL
Esta do
actu al
2
+5 V
C LK
9
D
1
U 1B
7474
13
0
Q
+5 V
+5 V
Q
5
Esta do
actu al
3
4
4
0
+5 V
8
U 1A
7474
C LK
PR
Q
PR
5
Q
CL
C LK
Esta do
actu al
6
CL
0
Q
Saíd a
séri e
+5 V
1
U 1A
7474
1
6
0
Saíd a
séri e
+5 V
D
3
2
2:1 mux
?
0
1
+5 V
Modo de
Test e
Próx imo
esta do
Modo de
Test e
Entr ada
séri e
1
Reló gio
X
A questão da
observabilidade (cont.)
1
D
3
2
2:1 mux
1
Modo de
Test e
1
?
Próx imo
esta do
2:1 mux
Modo de
Test e
?
Próx imo
esta do
12
2:1 mux
?
0
1
Próx imo
esta do
Modo de
Test e
CL
2:1 mux
1
+5 V
Modo de
Modo de
Test e
Entr ada
?
Próx imo
esta do
Reló gio
Introdução ao Projecto com Sistemas
e Microcontroladores
Test e Digitaisséri
e
Circuitos sequenciais síncronos - 78 1
X
Esta do
actu al
C LK
5
Q
4
4
0
X
PR
PR
D
Q
3
2
U 2A
7474
1
6
CL
Q
D
+5 V
1
Esta do
actu al
Q
11
+5 V
U 2A
7474
C LK
5
C LK
9
Esta do
actu al
+5 V
X
Modo de
Test e
U 1B
7474
10
10
0
X
PR
12
1
Q
?
Próx imo
esta do
CL
D
Q
11
+5 V
6
2:1 mux
0
13
PR
Q
8
CL
Esta do
actu al
2
+5 V
C LK
9
D
1
U 1B
7474
13
X
Q
+5 V
+5 V
Q
5
Esta do
actu al
3
4
4
0
+5 V
8
U 1A
7474
C LK
PR
Q
PR
5
Q
CL
C LK
Esta do
actu al
6
CL
1
Q
Saíd a
séri e
+5 V
1
U 1A
7474
1
6
1
Saíd a
séri e
+5 V
D
3
2
2:1 mux
?
0
1
+5 V
Modo de
Test e
Próx imo
esta do
Modo de
Test e
Entr ada
séri e
0
Reló gio
X
Resumo: Projecto para a
testabilidade
• As técnicas de projecto para a testabilidade eliminam
(sob o ponto de vista das ferramentas para a geração
de vectores) a natureza sequencial do circuito, mas...
– Os mux de 2:1 impõem maiores tempos de propagação,
aumentam a área de silício e conduzem eventualmente a
mais pinos
– Os projectistas deixam de ter liberdade para escolher
quaisquer soluções que achem mais adequadas (por
exemplo, não são admissíveis estruturas assíncronas)
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 79
Conclusão
• Objectivo principal do capítulo: Concluir os
conhecimentos básicos sobre o projecto de sistemas
digitais (combinatórios e sequenciais)
• Pistas para a continuação do estudo:
– Circuitos sequenciais assíncronos
– Modelação lógica com maiores níveis de abstracção e
síntese automática
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Circuitos sequenciais síncronos - 80
Download

Circuitos Sequenciais Síncronos