Circuitos seqüenciais
síncronos
• Organização:
–
–
–
–
–
Conceitos básicos e métodos de representação
Síntese de circuitos seqüenciais síncronos
Projecto com blocos SSI / MSI
Análise de circuitos seqüenciais síncronos
Projeto e teste
Seqüenciais 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 seqüenciais as
saídas dependem também do valor que as entradas
tiveram em instantes anteriores
• Podemos portanto afirmar que os circuitos
seqüenciais possuem memória, onde armazenam
uma informação interna de estado
Circuitos seqüenciais
síncronos
• Os circuitos seqüenciais dividem-se essencialmente
em duas grandes classes:
– Os circuitos seqüenciais síncronos, cujo funcionamento é
cadenciado por um sinal periódico de relógio e que são
aqueles que diretamente nos interessam
– Os circuitos seqüenciais 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
Composição de um circuito
seqüencial
• A necessidade de armazenar a informação de estado
faz com que os circuitos seqüenciais 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 atual e do valor das entradas exteriores:
– O bloco que determina qual o estado seguinte
– O bloco que determina o valor das saídas exteriores
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
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 seqüenciais:
–
–
–
–
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
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 atual e pelo valor das entradas, quando
ocorre uma transição ativa no sinal de relógio
A
X=1
B
X=1
X=1
X=0
C
X=0
D
X=0
X=1
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 ativa no
sinal de relógio provocará a
passagem para o estado A
(mantém-se o estado atual); 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
O conceito de entrada do
circuito seqüencial
X=0
A
X=1
X=1
• Exemplo para a seqüê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
Formas de onda nas
entradas
• Uma vez que o que é importante é o valor da entrada
no momento em que ocorre a transição ativa 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
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
A
X=1
B
(quando X=1)
A
A
B
0
B
C
B
0
C
A
D
0
D
A
B
1
C
X=0
D
X=0
X=1
Saída
(quando X=0)
X=1
X=0
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
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
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 biestá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 freqüência)
– FF do tipo J-K
– FF do tipo T
Os FF do tipo D
• Num FF do tipo D, a saída assume o valor da entrada
por cada transição ativa no sinal de relógio
• Num FF deste tipo, o estado atual (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
X

Qant
/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
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
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
1
1
1
0
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 seqüenciais com
um número finito de estados) do tipo Moore, as
saídas dependem apenas do estado atual 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
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)
CLK
Estado
actual
D1
Q1
D0
Q0
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 seqüência
Exemplo 1: Um detector de
janela (conclusão)
Assumindo que o bit mais
significativo é lido em
primeiro lugar, concluímos
facilmente que as seqüê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).
E
1
0
B
0
0,1
1
F
0
1
A
0,1
0
D
C
1
Exemplo 2: Um votador
seqüencial
• 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)
Exemplo 2: Um votador
seqüencial (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
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
Exemplo 1: Um detector de
duplas seqüê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 seqüência
101 (representa-se à esquerda o primeiro bit lido)
– Seqüências sobrepostas devem ser consideradas válidas
Exemplo 1: Um detector de
duplas seqüências (cont.)
• Exemplo do diagrama temporal para
uma situação típica de funcionamento:
Entrada X
Entrada Y
Relógio (CLK)
Saída (Z)
Y
X
Relógio (CLK)
Z
Exemplo 1: Um detector de
duplas seqüê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)
11
00
11
01,10
11
00,01,10
00
D
Exemplo 1: Um detector de
duplas seqüê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
D
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 seqüê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
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 seqüê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
/Q0
Q0
6
CLK
5
8
Q1
Q1
7474
Q
Q
D
2
D0
7474
Q
CLK
9
3
Q
D
11
12
CLK
Exemplo 2: Um comparador
seqüencial
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 efetuar 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 efetuada bit a bit,
com início pelo bit mais significativo
Exemplo 2: Um comparador
seqüencial (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?
Exemplo 2: Um comparador
seqüencial (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
00,01,10,11
E
Exemplo 2: Um comparador
seqüencial (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
Z = MN está válida (e o estado é B ou D)
D0
Exemplo 2: Um comparador
seqüencial (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)
CLK
D1
Q1
D0
Q0
Bloco
combinatório
(saídas)
Z = MN
Exemplo 2: Um comparador
seqüencial (cont.)
• Se o circuito não
dispuser de reset
exterior, efetuando
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
MSB: Bit mais
significativo
Bit
intermédio
LSB: Bit menos
significativo
I
Exemplo 2: Um comparador
seqüencial (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
Início da seguinte
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)
Projeto com blocos SSI /
MSI
• Tal como sucedia com os circuitos combinatórios,
também neste caso o procedimento de projeto 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
Principais blocos SSI / MSI
• Os principais tipos de blocos SSI / MSI do tipo
seqüencial, normalmente disponíveis nos catálogos
dos fabricantes de semicondutores, são os seguintes:
–
–
–
–
Flip-flops (FF)
Travas (latches)
Registradores de deslocamento (shift registers)
Contadores (counters)
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
enquanto /S e /R estiverem em L, mas ficarão em esta
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
/1R
/2R
1
15
Indeterminado = Ambas as saídas estarão em H
enquanto /S e /R estiverem em L, mas ficarão em estad
indeterminado se /S e /R passarem a H em simultâneo
/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
Registradores
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
Z = Alta impedância
9
12
= Descida no relógio
Registradores 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)
= Subida no relógio
Q7
3
4
5
6
10
11
12
13
Registradores 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
1
11
= Subida no relógio
CP
X = "tanto faz" (don't care)
12
Registradores 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
4
9
D0
Q0
/PE
/MR
15
1
/K
CP
J
3
10
2
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
MR2
Q0
Q1
Q2
Q3
CET
TC
CP
3
4
TC
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
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
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
14
C = Contagem
13
qn = a letra pequena indica o estado
da saída antes da subida no relógio
5
12
6
11
4 CT=15
15
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)
= Subida no relógio
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)
11
CPD
CPU
(3) /TCD = CPD quando se atinge o mínimo na contagem descendente (LLLL)
14
4
5
Contadores (74x192, cont.)
MR (1)
/PL
D0
D1
D2
D3
CPU (2)
CPD (2)
Q0
Q1
Q2
Q3
/TCU
/TCD
0
Reset
7
Preset
8
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
(2) Quando em contagem ascendente, a entrada de relógio para a contagem
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
seqüência
• Pretende-se projetar um circuito que efetue
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
Exemplo 1: Um detector de
seqüê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?
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
+5 V
14
13
12
11
15
Análise de circuitos
seqüenciais síncronos
• A análise é uma atividade que surge com freqüência
na prática com circuitos eletrô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
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
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
Q0
/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
Q0
/Q0
Q0
8
Q
C LK
9
Q
7474
D
CLK
11
12
D0
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 projeto 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
Análise de circuitos com
blocos SSI / MSI: Exemplo
• Indicar qual a
seqüência de
contagem CLK
que
tem lugar no
circuito
apresentado
+5 V
3
4
5
6
7
10
2
9
1
A
B
C
D
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
A
B
C
D
ENP
ENT
CLK
LOAD
CLR
74161
QA
QB
QC
QD
RCO
14
13
12
11
15
A testabilidade de circuitos
seqüenciais
• As razões pelas quais a geração de vetores de teste
para circuitos seqüenciais 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 afetar a determinação do estado seguinte
A testabilidade de circuitos
seqüenciais (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
Saída
primária
do
circuito
7432
6
5
Saída para o
próximo
estado
Y
7408
+5 V
1
6
Q
7474
CL
• Exemplo: obter
um vetor que
detecte a falta X
s@0 no circuito
apresentado à
direita:
A
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
+5 V
CLK
F=1/0
A testabilidade de circuitos
seqüenciais (cont.)
• Apesar de a determinação do vetor 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 seqüência a
aplicar na entrada primária A, de forma a conduzir o
circuito até ao estado pretendido
A testabilidade de circuitos
seqüenciais (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
CLK
1
Q
D
3
2
1
8
Q
CL K
9
Q
D
11
12
+5 V
A
fault-free
F
F
1
7474
10
CLK
5
PR
12
7474
CL K
CL
+5 V
D
Q
+5 V
0
11
6
13
Q
Saída para o
próximo
estado
4
A
1
1
7 4 74
CL K
9
10
CLK
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
F
X s@0
CLK
F=1/0
1/0
A testabilidade de circuitos
seqüenciais (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
seqüência de transição que nos permita chegar ao estado
pretendido, sobretudo naqueles casos em que a própria
transição de estados é afetada pela falta considerada
A testabilidade de circuitos
seqüenciais (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
Saída
primária
do
circuito
7432
6
5
Saída para o
próximo
estado
Y
7408
+5 V
1
6
Q
7474
CL
C LK
5
Q
PR
D
3
2
4
• Uma falta que afete
o diagrama de
transição de estados
(como é o caso de Y
s@0) ajuda-nos a
compreender melhor
este aspecto
A
+5 V
13
Q
7474
CL
8
C LK
Q
PR
9
D
11
12
10
+5 V
CLK
F=1/0
A testabilidade de circuitos
seqüenciais (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
Saída
primária
do
circuito
D
11
12
10
(qual o novo vetor que detecta Y s@0?)
+5 V
CLK
F=1/0
Soluções ad hoc para
melhorar a testabilidade
• Sendo um conjunto de “regras soltas” de projeto, 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
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)
Métodos estruturados de
projeto 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 atual 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á?)
Projeto com varrimento
(scan design)
U1A
7474
1
6
Q
CL
CLK
5
Q
D
3
2
2:1 mux
0
4
Estado
actual
PR
1
Modo de
Teste
+5 V
Estado
seguinte
+5 V
U1B
7474
13
8
Q
CL
CLK
9
Q
D
11
12
2:1 mux
0
10
Estado
actual
PR
1
Modo de
Teste
+5 V
Estado
seguinte
+5 V
U2A
7474
1
6
Q
CL
CLK
5
Q
4
Estado
actual
PR
• 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
+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)
Projeto com varrimento:
• A importância do projeto com varrimento, como
metodologia estruturada de projeto para a
testabilidade, pode ser melhor aferida se
considerarmos que no projeto sem varrimento:
– Parte das entradas do circuito combinatório não são
diretamente controláveis, por estarem ligadas às saídas
dos FF (nós que definem o estado atual)
– Parte das suas saídas não são diretamente observáveis,
por estarem ligadas às entradas dos FF (estado seguinte)
A questão da
controlabilidade
1
U1A
7474
1
6
CLK
5
Q
D
3
2
2:1 mux
0
0
4
Estado
actual
PR
1
Q
CL
1
+5 V
Próximo
estado
Modo de
Teste
+5 V
U1B
7474
13
8
CLK
9
Q
D
11
12
2:1 mux
0
0
10
Estado
actual
PR
0
Q
CL
1
+5 V
Próximo
estado
Modo de
Teste
+5 V
U2A
7474
1
6
Q
4
Estado
actual
CLK
5
PR
0
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
D
3
2
2:1 mux
1
0
1
+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
0
2:1 mux
4
1
Próximo
estado
Modo de
Teste
1
2:1 mux
10
0
Próximo
estado
Modo de
Teste
Estado
actual
2:1 mux
?
0
1
Próximo
estado
Modo de
Teste
CL
1
2:1 mux
0
1
+5 V
Modo de
Teste
Próximo
estado
Modo de
Teste
Q
D
3
2
2:1 mux
Relógio
1
?
0
1
+5 V
Entrada
série
1
Estado
actual
4
4
?
CLK
5
PR
PR
D
Q
3
2
U2A
7474
1
6
CL
Q
12
+5 V
1
Estado
actual
D
+5 V
U2A
7474
CLK
5
Q
11
10
?
+5 V
1
Modo de
Teste
U1B
7474
CLK
9
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
?
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
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
1
2:1 mux
4
1
Próximo
estado
Modo de
Teste
1
2:1 mux
10
0
Próximo
estado
Modo de
Teste
Estado
actual
2:1 mux
?
0
1
Próximo
estado
Modo de
Teste
CL
0
2:1 mux
0
1
+5 V
Modo de
Teste
Próximo
estado
Modo de
Teste
Q
D
3
2
2:1 mux
Relógio
0
?
0
1
+5 V
Entrada
série
1
Estado
actual
4
4
?
CLK
5
PR
PR
D
Q
3
2
U2A
7474
1
6
CL
Q
12
+5 V
1
Estado
actual
D
+5 V
U2A
7474
CLK
5
Q
11
10
?
+5 V
0
Modo de
Teste
U1B
7474
CLK
9
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
?
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
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
0
0
4
Esta do
actu al
PR
1
Q
CL
1
+5 V
Próx imo
esta do
Modo de
Test e
+5 V
U 1B
7474
13
8
C LK
9
Q
D
11
12
2:1 mux
0
0
10
Esta do
actu al
PR
0
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
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
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
0
2:1 mux
4
1
Próx imo
esta do
Modo de
Test e
1
2:1 mux
10
0
Próx imo
esta do
Modo de
Test e
Esta do
actu al
2:1 mux
?
0
1
Próx imo
esta do
Modo de
Test e
CL
X
2:1 mux
1
+5 V
Modo de
Test e
Próx imo
esta do
Modo de
Test e
D
3
2
2:1 mux
Reló gio
X
?
0
1
+5 V
Entr ada
séri e
0
Q
4
4
?
0
Esta do
actu al
C LK
5
PR
PR
D
Q
3
2
U 2A
7474
1
6
CL
Q
12
+5 V
1
Esta do
actu al
D
+5 V
U 2A
7474
C LK
5
Q
11
10
?
+5 V
1
Modo de
Test e
U 1B
7474
C LK
9
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
?
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
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
1
2:1 mux
4
1
Próx imo
esta do
Modo de
Test e
X
2:1 mux
10
0
Próx imo
esta do
Modo de
Test e
Esta do
actu al
2:1 mux
?
0
1
Próx imo
esta do
Modo de
Test e
CL
X
2:1 mux
1
+5 V
Modo de
Test e
Próx imo
esta do
Modo de
Test e
D
3
2
2:1 mux
Reló gio
X
?
0
1
+5 V
Entr ada
séri e
1
Q
4
4
?
0
Esta do
actu al
C LK
5
PR
PR
D
Q
3
2
U 2A
7474
1
6
CL
Q
12
+5 V
1
Esta do
actu al
D
+5 V
U 2A
7474
C LK
5
Q
11
10
?
+5 V
X
Modo de
Test e
U 1B
7474
C LK
9
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
?
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
Modo de
Test e
Próx imo
esta do
Modo de
Test e
Entr ada
séri e
0
Reló gio
X
Resumo: Projeto para a
testabilidade
• As técnicas de projeto para a testabilidade eliminam
(sob o ponto de vista das ferramentas para a geração
de vetores) a natureza seqüencial 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 projetistas deixam de ter liberdade para escolher
quaisquer soluções que achem mais adequadas (por
exemplo, não são admissíveis estruturas assíncronas)
Conclusão
• Objetivo principal do capítulo: Concluir os
conhecimentos básicos sobre o projeto de sistemas
digitais (combinatórios e seqüenciais)
• Pistas para a continuação do estudo:
– Circuitos seqüenciais assíncronos
– Modelação lógica com maiores níveis de abstração e
síntese automática
Download

Projeto - Voltar