circuitos seqüenciais síncronos

80
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

Upload: ryder-acosta

Post on 30-Dec-2015

42 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Circuitos seqüenciais síncronos

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

Page 2: Circuitos seqüenciais síncronos

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

Page 3: Circuitos seqüenciais síncronos

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

Page 4: Circuitos seqüenciais síncronos

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

Page 5: Circuitos seqüenciais síncronos

Modelo de Huffman

CLK

X Z

D1

D0Q1

Q0

Circuito combinatório

Estado actual

Estado seguinte

Bloco que determina o estado seguinte:

CLK

X Z

D1

D0Q1

Q0

Circuito combinatório

Estado actual

Estado seguinte

Bloco que determina as saídas exteriores:

Page 6: Circuitos seqüenciais síncronos

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– Tabela de transição de estados– Tabela de verdade– Diagrama lógico (já conhecida)

• O sinal de relógio só está explicitamente representado no diagrama lógico

Entradasexteriores

Saídasexteriores

Relógio

(CLK)

Page 7: Circuitos seqüenciais síncronos

Diagrama de transição de estados• 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

X=0

X=1

X=0

X=0

X=1

X=1

X=0

X=1

D

C

B

A

Page 8: Circuitos seqüenciais síncronos

Interpretação do diagrama

• 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,

X=0

X=1

X=0

X=0

X=1

X=1

X=0

X=1

D

C

B

A

no entanto, a entrada exterior for 1, o circuito passará para o estado B

Page 9: Circuitos seqüenciais síncronos

O conceito de entrada do circuito seqüencial• Exemplo para a seqüência 101:

A - B - C - D (valor da saída no fim?)• Convém ainda assinalar que:

– 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

X=0

X=1

X=0

X=0

X=1

X=1

X=0

X=1

D

C

B

A

Page 10: Circuitos seqüenciais síncronos

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)

Relógio (CLK)

Saída (Z)

Estado A B C D B

Entrada (X)

Relógio (CLK)

Saída (Z)

Estado A B C D B

Page 11: Circuitos seqüenciais síncronos

Tabela de transição de estados• 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 Saída

(quando X=0) (quando X=1)

A A B 0

B C B 0

C A D 0

D A B 1

X=0

X=1

X=0

X=0

X=1

X=1

X=0

X=1

D

C

B

A

Page 12: Circuitos seqüenciais síncronos

Tabela de verdade

• A tabela de verdade contém uma descrição mais pormenorizada do circuito, uma vez que a alocação de estados já foi realizada

X=0

X=1

X=0

X=0

X=1

X=1

X=0

X=1

D

C

B

A

S1 S0 X NS1 NS0 Z

0 0 0 0 0 0

0 0 1 0 1 0

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

• Qual foi a alocação de estados que conduziu à tabela de verdade à direita, para o nosso exemplo?

Page 13: Circuitos seqüenciais síncronos

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)

• 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

0 0 0 0 0 0

Page 14: Circuitos seqüenciais síncronos

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

Page 15: Circuitos seqüenciais síncronos

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

Q6

Q5

CL K3

D2

Page 16: Circuitos seqüenciais síncronos

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

J K CLK Q /Q

0 0 Qant /Qant

0 1 0 1

1 0 1 0

1 1 /Qant Qant

X X 0 Qant /Qant

X X 1 Qant /Qant

X X Qant /Qant

Q6

Q7

K1

CL K5

J4

correspondência que existe neste caso entre S, NS, J, K e Q?)

Page 17: Circuitos seqüenciais síncronos

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

1 /Qant Qant

X 0 Qant /Qant

X 1 Qant /Qant

X Qant /Qant

T

CL K

Q

Q

Page 18: Circuitos seqüenciais síncronos

Utilização dos FF D

• 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 1 0 1 0

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 CLK

X Z

D1

D0

Q1

Q0

Circuito combinatório

Estado actual

Estado seguinte

X=0

X=1

X=0

X=0

X=1

X=1

X=0

X=1

D

C

B

A

Page 19: Circuitos seqüenciais síncronos

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

S1 S0 X NS1 NS0 Z

0 0 0 0 0 0

0 0 1 0 1 0

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

• Nas máquinas de Mealy as saídas dependem do estado actual e do valor das entradas

• O exemplo que temos vindo a considerar corresponde a ...?

Page 20: Circuitos seqüenciais síncronos

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)

Z

(saídasexteriores)

D1

D0

Q1

Q0

Circuitocombinatório(geração do

estado seguinte)

Estadoseguinte

Estadoactual Circuito

combinatório(geração das

saídas)

CLK

Page 21: Circuitos seqüenciais síncronos

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

Page 22: Circuitos seqüenciais síncronos

Exemplo 1: Um detector de janela (conclusão)

E

1

F

A

D

C B 0

0 1

1 0

1 0

0,1

0,1

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

Page 23: Circuitos seqüenciais síncronos

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)

Page 24: Circuitos seqüenciais síncronos

Exemplo 2: Um votador seqüencial (conclusão)

A

0 B

C

D E

1

1 0

0

1

0

1

0 1

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 asaída está em 1) - E: Estado onde já foram lidos dois 1 (e portanto a saída está em 1).

Page 25: Circuitos seqüenciais síncronos

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

Page 26: Circuitos seqüenciais síncronos

Exemplo 1: Um detector de duplas seqüências• 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

Y

Z

Relógio (CLK)

X

Page 27: Circuitos seqüenciais síncronos

Exemplo 1: Um detector de duplas seqüências (cont.)• Exemplo do diagrama temporal para

uma situação típica de funcionamento:

Entrada Y

Relógio (CLK)

Saída (Z)

Entrada X

Y

Z

Relógio (CLK)

X

Page 28: Circuitos seqüenciais síncronos

Exemplo 1: Um detector de duplas seqüências (cont.)• Representação formal (diagrama de transição de

estados): 00,01,10

11

00,01,10

11

XY=11

00

D

C

B

A

01,10

11 00

01,10

Entrada Y

Relógio (CLK)

Saída (Z)

Entrada X

• Qual a sequência de transição de estados que corresponde ao diagrama temporal abaixo?

Page 29: Circuitos seqüenciais síncronos

Exemplo 1: Um detector de duplas seqüências (cont.)• Considerando a alocação de

estados A-00, B-01, C-10 e D-11:

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

00,01,10

11

00,01,10

11

XY=11

00

D

C

B

A

01,10

11 00

01,10

Page 30: Circuitos seqüenciais síncronos

Exemplo 1: Um detector de duplas seqüências (cont.)• Obtenção da soma mínima: 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 1Z=Q1*Q0

/Q1

Q1

/Q0

/Q0

Q0

Y/Y /Y

/X X

0 1 3 2

4 5 7 6

12 13 15 14

8 9 11 10

1

1

1

D1

D1=Q0*/X*/Y+Q1*/Q0*X*Y

/Q1

Q1

/Q0

/Q0

Q0

0 1 3 2

4 5 7 6

12 13 15 14

8 9 11 10

1

1

1

1

D0Y/Y /Y

/X X

D0=X*Y

Page 31: Circuitos seqüenciais síncronos

Exemplo 1: Um detector de duplas seqüências (cont.)• Diagrama lógico

correspondente à soma mínima obtida:

Entrada Y

Entrada X

CLK

Saída Z

Q1

Q0

/Q0/Q0

Q0

Q1

D0

D1

7408

4

56

7404

34

7474

D2

CLK3

Q5

Q6

7421

12

45

6

7411

12

1312

7408

1

23

7404

12

7432

1

23

7474

D12

CLK11

Q9

Q8

Page 32: Circuitos seqüenciais síncronos

Exemplo 2: Um comparador seqüencial• 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

Y

Z

Relógio (CLK)

X

Page 33: Circuitos seqüenciais síncronos

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?

Page 34: Circuitos seqüenciais síncronos

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:

00,01,10,11

XY=01

A00,11

C E

B

D

reset 00,11

10

00,01,10,11

1010

01 00,01,11

M: Xt-2 Xt-1 Xt

N: Y t-2 Y t-1 Y t

Page 35: Circuitos seqüenciais síncronos

Exemplo 2: Um comparador seqüencial (cont.)• O sinal de

reset exterior:

Reinicialização

Relógio (CLK)

>> estado A

Compara o MSB

Z = MN está válida (e o estado é B ou D)

(...)

(...)

(...)

Z = M (menorou igual a) N

D1

D0

Reinicialização

(...)

(...)

(...)

(...)

(...)

(...)

(...)

(...)

(...)

Y

Z = MN

Relógio

(CLK)

X

Reinicialização

Page 36: Circuitos seqüenciais síncronos

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:

YZ = MN

D1

D0

Q1

Q0

Blococombinatório

(estadoseguinte)

Blococombinatório

(saídas)

CLK

X

RST

Page 37: Circuitos seqüenciais síncronos

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:

00,01,10,11

XY=10

A 00,11

C

B

D

01

E H

F

G I

00,01,10,11

00,01,10,11 00,01,10,11

00,11

10 10 00,11

00,01,11 01 00,11

10

10

01

01

M: Xt-2 Xt-1 Xt N: Y t-2 Y t-1 Y t

MSB: Bit mais significativo

Bit intermédio

LSB: Bit menos significativo

Page 38: Circuitos seqüenciais síncronos

Exemplo 2: Um comparador seqüencial (cont.)• Caso de M=100 e N=101

(MN verdadeiro):

Entrada Y (N)

Relógio (CLK)

Saída (Z)

Entrada X (M)

Estado actual A C F I B

Fim desta comparação

Início da seguinte

00,01,10,11

XY=10

A 00,11

C

B

D

01

E H

F

G I

00,01,10,11

00,01,10,11 00,01,10,11

00,11

10 10 00,11

00,01,11 01 00,11

10

10

01

01

M: Xt-2 Xt-1 Xt N: Y t-2 Y t-1 Y t

MSB: Bit mais significativo

Bit intermédio

LSB: Bit menos significativo

Page 39: Circuitos seqüenciais síncronos

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)

Page 40: Circuitos seqüenciais síncronos

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

Page 41: Circuitos seqüenciais síncronos

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)

Page 42: Circuitos seqüenciais síncronos

Flip-flops(74x74: D)

5

6

9

8

4

3

2

1

10

11

12

13

S

C1

1D

R

S

C2

2D

R

&

H

L

L

Reset assíncrono

Indeterminado (ver nota)

H L

D Q /QCP/R/S

H

H

H

H

H

H

H

H

H

H

H

H

L

L

X

X

X

X

X

X

X

h

l

L

L

M M

L

Set assíncrono

Carrega 1

Carrega 0

Mantém

M = Mantém o estado anterior

X = "tanto faz" (don't care)

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)

l = O nível L tem que estar presente um"setup time" antes da subida no relógio

= 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 estado indeterminado se /S e /R passarem a H em simultâneo

Entradas Saídas

Modo de operação

Page 43: Circuitos seqüenciais síncronos

FF (cont.)(74x109: JK)

J

CP

/K

/Q

Q

/1Q- 7

1Q- 6

/2Q- 9

2Q- 10

1J- 2

1C- 4

/1K- 3

2J- 14

2C- 12

/2K- 13

/2S

11

/2R

151

/1R

5

/1S

1S

1J

1C

1K

2J

2C

2K

2R

5

2

4

3

1

11

14

12

13

15

6

7

10

9

1R

2S

H

L

L

H L

J Q /QCP/R/S

H

H

H

H

H

H

H

H

/q

H

H

H

L

L

X

X

X

X

X

X

h

h

l

L

L

L

q

Saídas

Reset assíncrono

Comuta (toggle)

Carrega 0

Set assíncrono

Indeterminado (ver nota)

Modo de operação

X

X

/K

l

X

l

h

Entradas

Carrega 1

H H l h

H

q /q

h = O nível H tem que estar presente um"setup time" antes da subida no relógio

H = Nível lógico "alto" (1)

q = a letra pequena indica o estado da saída um "setup time" antes da subida no relógio

l = O nível L tem que estar presente um"setup time" antes da subida no relógio

L = Nível lógico "baixo" (0)

X = "tanto faz" (don't care)

= Subida no relógio

Mantém

Indeterminado = Ambas as saídas estarão em H enquanto /S e /R estiverem em L, mas ficarão em estado indeterminado se /S e /R passarem a H em simultâneo

Page 44: Circuitos seqüenciais síncronos

Registradores74x573 (8-bit latch)

OE1

D02

D13

D24

D35

D79

D57

D46

D68

Q712

Q613

Q514

Q415

Q316

Q217

Q118

Q019

E11

2D2

3

4

5

6

7

8

9

1

11EN1

EN2

1 19

18

17

16

15

14

13

12

L

L

L

L

Entradas

/OE E

L

H

H

H

H

H

L

L

L

Dn

H

l

h

X

X

Dn

L

L

H

H

M

M

Dn

L

L

H

H

M

Z

Z

Habilita e abre as saídas

Habilita e memo-riza as saídas

Mantém

Inibe as saídas

Saídas(Q0 a Q7)

Saídas internas

Modo de operação

h = O nível H tem que estar presente um "setup time" antes da descida no relógio (E)

H = Nível lógico "alto" (1)

L = Nível lógico "baixo" (0)

l = O nível L tem que estar presente um "setup time" antes da descida no relógio (E)

M = Mantém o estado anterior

X = "tanto faz" (don't care)

Z = Alta impedância

= Descida no relógio

Page 45: Circuitos seqüenciais síncronos

Registradores de deslocamento(74x164)

1

2

8

9C1/ ->

R

3

4

5

6

10

11

12

13

1D&

SRG8

MR

9

Dsb2

Q713

Q612

Q511

Q410

Q36

Q25

Q14

Q03

CP8

Dsa1

Q2 Q3Q1Q0DsbDsaCP/MR

H

H

L

Q4 Q5 Q6 Q7

Reset

Entradas Saídas

H

H

x

l

x

l

h

h

X

l

l

h

L

L

L

L

H

L

q0

L L L L L L

Deslocamento

h

q0

q0

q0

q1

q1

q1

q1

q2

q2

q2

q2

q3

q3

q3

q3

q4

q4

q4

q4

q5

q5

q5

q5

q6

q6

q6

q6

L = Nível lógico "baixo" (0)

q = a letra pequena indica o estado da saída um "setup time" antes da subida no relógio

= Subida no relógio

l = O nível L tem que estar presente um"setup time" antes da subida no relógio

X = "tanto faz" (don't care)

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

Modo de operação

Page 46: Circuitos seqüenciais síncronos

Registradores de deslocamento (74x194)

MR

1

D14

Q213

Q312

CP11

S110

Q114

D25

Q015

D03

S09

DSR2

D36

DSL7

R

15

14

13

12

C4/1->/2<-

SRG4

M03

0

1

1

10

9

11

2

3

4

5

6

7

1,4D

3,4D

3,4D

3,4D

3,4D

2,4D

Dn Q0DSLDSRS0S1/MRCP

X

X

Q1 Q2 Q3

Entradas Saídas

Deslocamentopara a esquerda

Mantém

Reset

Modo de operação

Deslocamentopara a direita

Carga paralela

X X X X X

X

X

X

X

X

X

X

X

XX

X

X

X

L L L L L

L

L

H

H

H

H

H

H

H

H

l

l

l

l

l

l

l

lh

h

h

h

h

h

h

h

dn d0 d1 d2 d3

q0

q1

q1

q1

q2

q2

q2

q0

q0

q3

q3

q1

q1

q2

q2

q3

L = Nível lógico "baixo" (0)

= Subida no relógio

l = O nível L tem que estar presente um"setup time" antes da subida no relógio

H = Nível lógico "alto" (1)

d, q = a letra pequena indica o estado da entrada ou saída, um "setup time" antes da subida no relógio

h = O nível H tem que estar presente um"setup time" antes da subida no relógio

X = "tanto faz" (don't care)

Page 47: Circuitos seqüenciais síncronos

Registradores de deslocamento (74x195)

/K3

D15

Q114

Q015

J2

CP10

Q213

D04

Q312

D26

/Q311

/PE9

D37

/MR1

1,2J

1,2K

/1,2D

/1,2D

SRG4

C2/1->

R

M19

1

10

2

3

4

5

6

7

14

13

12

15

11

Q0 Q1Dn/K/PECP/MR

H

L

Q2 Q3 /Q3

Deslocamento, comutao primeiro andar

Deslocamento, colocao primeiro andar a 0

Reset assíncrono

Deslocamento, colocao primeiro andar a 1

Deslocamento, mantémo primeiro andar

SaídasEntradas

J

H

H

H

H

X X

h

h

h

h

l

h

h

X

X

X

X

X

X

X

X

X

l

l

l

l

h

h

dn

L L L L H

H

L

/q0

q0

q0

q0

q0

q0

q1

q1

q1

q1

q2

q2

q2

q2

/q2

/q2

/q2

/q2

/d3d0 d1 d2 d3

Modo de operação

Carga paralela

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)

l = O nível L tem que estar presente um "setup time" antes da subida no relógio

d, q = a letra pequena indica o estado da entrada ou saída, um "setup time" antes da subida no relógio

= Subida no relógio

X = "tanto faz" (don't care)

Page 48: Circuitos seqüenciais síncronos

Contadores(74x93)

2

3

14

1

9

8

11

12

& CT=0

CTR

+

+

DIV2

DIV8

2

0

CT

/CP0

/CP1

MR2

MR1

FF1 FF2 FF3 FF4

Q0 Q1 Q2 Q3

Q

R

CPQ

R

CPQ

R

CPQ

R

CP

H

MR1 MR2

L

H

H

Q0 Q1 Q2 Q3

L L L L

Contagem

Contagem

Contagem

Entradasde reset

Saídas

H

H

L

L

Page 49: Circuitos seqüenciais síncronos

Contadores (74x161)

TC15

Q014

Q113

CP2

Q212

CEP7

D03

MR1

D14

D25

D36

CET10

Q311

PE9

CTR DIV 16

/1,2D

1

9

7

10

2

3

4

5

6

4 CT=15

14

13

12

11

15

R

M1

G3

G4

C2/1,3,4<-

Qn TCDn/PECETCEPCP/MR

H

H

L Reset

H

h

Modo de operação

SaídasEntradas

h

X

X

X

X

X

X

X

X

X

X

X

X X

X

X

X

h h h

h

h

h

l

l

l

l

l

L

L

L

L

L

H

C

qn

qn

(a)

(a)

(a)

Cargaparalela

Contagem

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 = O nível L tem que estar presente um"setup time" antes da subida no relógio

L = Nível lógico "baixo" (0)

C = Contagem

= Subida no relógio

X = "tanto faz" (don't care)

qn = a letra pequena indica o estado da saída antes da subida no relógio

(a) A saída está em H quando CET estiver em H e ocontador estiver no último estado da contagem (HHHH)

Page 50: Circuitos seqüenciais síncronos

Contadores (74x192)

D11

Q12

Q03

CP

U5

Q26

D015

Q37

D210

TCU

12

PL11

D39

TCD

13C

PD

4

MR14

3D

CTR DIV 10

3

2

6

7

13

12

11

5

4

14

15

1

10

9

C3

2+

1-

R

/2CT=0

/1CT=9

G1

G2

D2D1D0CPU/PLMR

H

H

Q0 Q1 Q2

L

Modo de operação

Q3

SaídasEntradas

D3CPD

Contagem ascendente

Contagem descendente

Reset assíncrono

Carga paralelaL

L

L

L

L

L

L

L

L

L

L

L L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

L

/TCU /TCD

H

H

H

H

H

H

H

H

H

H

H

L

L

L

H

H

H

H

H

H

H

H

HH

H (2) H

H (3)

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

Qn = Dn

Qn = Dn

Contagemascendente

Contagemdescendente

H = Nível lógico "alto" (1)

L = Nível lógico "baixo" (0)

X = "tanto faz" (don't care)

(2) /TCU = CPU quando se atinge o máximo na contagem ascendente (HLLH)

(3) /TCD = CPD quando se atinge o mínimo na contagem descendente (LLLL)

Page 51: Circuitos seqüenciais síncronos

Contadores (74x192, cont.)

Reset Preset Contagem ascendente Contagem descendente

0 7 9 0 18 0 9 812 7

MR (1)

/PL

D0

D1

D2

D3

CPU (2)

CPD (2)

Q0

Q1

Q2

Q3

/TCU

/TCD

(1)

(2) Quando em contagem ascendente, a entrada de relógio para a contagemdescendente (CPD) deve estar em H; quando em contagem descendente, a entradade relógio para a contagem ascendente (CPU) deve estar em H

O sinal MR sobrepõe-se às entradas de carga, dados e contagem

Page 52: Circuitos seqüenciais síncronos

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

Page 53: Circuitos seqüenciais síncronos

Exemplo 1: Um detector de seqüência (cont.)

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?

+5 V

F

X

CLK

74195

J2

K3

A4

B5

C6

D7

CLK10

S/L9

CLR1

QA15

QB14

QC13

QD12

QD11

7486

1

23

Page 54: Circuitos seqüenciais síncronos

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

+5 V

CLOCK

FX

INI

74161

A3

B4

C5

D6

ENP7

ENT10

CLK2

LOAD9

CLR1

QA14

QB13

QC12

QD11

RCO15

• Considere-se que existe um impulso de reset a preceder cada palavra e que a saída deve estar válida apenas no quarto impulso de relógio

Page 55: Circuitos seqüenciais síncronos

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

Page 56: Circuitos seqüenciais síncronos

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

Page 57: Circuitos seqüenciais síncronos

Análise de um circuito na forma de Huffman: Exemplo• Pretende-se obter o

diagrama de transição de estados correspondente ao circuito seguinte:

Q1

/Q1

Q0

/Q0

/Q1

Q1

/Q0

Q0

CLK

Estadoactual

Estadoseguinte

X

D1

D0

7408

1

23

7432

1

23

7408

9

108

7432

4

56

7474

D2

CLK3

Q5

Q6

7474

D12

CLK11

Q9

Q8

7404

12

7408

4

56

7408

12

1311

Page 58: Circuitos seqüenciais síncronos

Circuitos na forma de Huffman: Exemplo (cont.)• Equações: D1=/X*/Q0+X*Q0 D0=/X*Q1+X*/Q1

Q1Q0XD1D0

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

001

1

D

C

B

A

0 1

10

• Tabela de verdade e diagrama de estados:

Q1

/Q1

Q0

/Q0

/Q1

Q1

/Q0

Q0

CLK

Estadoactual

Estadoseguinte

X

D1

D0

7408

1

23

7432

1

23

7408

9

108

7432

4

56

7474

D2

CLK3

Q5

Q6

7474

D12

CLK11

Q9

Q8

7404

12

7408

4

56

7408

12

1311

Page 59: Circuitos seqüenciais síncronos

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

Page 60: Circuitos seqüenciais síncronos

Análise de circuitos com blocos SSI / MSI: Exemplo• Indicar qual a

seqüência de contagem que tem lugar no circuito apresentado

+5 V

CLK

74161

A3

B4

C5

D6

ENP7

ENT10

CLK2

LOAD9

CLR1

QA14

QB13

QC12

QD11

RCO15

74161

A3

B4

C5

D6

ENP7

ENT10

CLK2

LOAD9

CLR1

QA14

QB13

QC12

QD11

RCO15

Page 61: Circuitos seqüenciais síncronos

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

Page 62: Circuitos seqüenciais síncronos

A testabilidade de circuitos seqüenciais (cont.)• Exemplo: obter

um vetor que detecte a falta X s@0 no circuito apresentado à direita:

+5 V

+5 V

+5 V

Bloco combinatório

Saída para opróximoestado

Entradaprimária

Saídaprimáriadocircuito

X s@0(1/0)1

1

Saída para opróximoestado

X0 0

Y

CLK

F=1/0

A

7432

1

23

7474

D2

CLK3

Q5

Q6

PR

4C

L1

7408

4

56

7474

D12

CLK11

Q9

Q8

PR

10C

L13

7408

1

23

Page 63: Circuitos seqüenciais síncronos

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

Page 64: Circuitos seqüenciais síncronos

A testabilidade de circuitos seqüenciais (cont.)• A tarefa, para este caso, é relativamente simples:

+5 V

+5 V

+5 V

X s@0(0/0)

1

00

11

Bloco combinatório

Saída para opróximoestado

Saídaprimáriadocircuito

YSaída para opróximoestado

1

1

0

0

1

CLK

F=1

A

7408

1

23

7408

4

56

7474

D2

CLK3

Q5

Q6

PR4

CL1

7474

D12

CLK11

Q9

Q8

PR10

CL13

7432

1

23

F

CLK

A

1

0

0

+5 V

+5 V

+5 V

X s@0(0/0)

0

01

10

Bloco combinatório

Saída para opróximoestado

Saídaprimáriadocircuito

YSaída para opróximoestado

1

0

0

1

1

CLK

F=0

A=1

7408

1

23

7408

4

56

7474

D2

CLK3

Q5

Q6

PR4

CL1

7474

D12

CLK11

Q9

Q8

PR10

CL13

7432

1

23

CLK

A

F

1

1

0

0

+5 V

+5 V

+5 V

X s@0(0/0)

0

11

00

Bloco combinatório

Saída para opróximoestado

Saídaprimáriadocircuito

YSaída para opróximoestado

0

0

1

1

1

CLK

F=1/0

A=1

7408

1

23

7408

4

56

7474

D2

CLK3

Q5

Q6

PR4

CL1

7474

D12

CLK11

Q9

Q8

PR10

CL13

7432

1

23

F

CLK

A

fault-free

X s@0

1/0

1

1

1

Page 65: Circuitos seqüenciais síncronos

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

Page 66: Circuitos seqüenciais síncronos

A testabilidade de circuitos seqüenciais (cont.)• 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

+5 V

+5 V

+5 V

Bloco combinatório

Saída para opróximoestado

Entradaprimária

Saídaprimáriadocircuito

X s@0(1/0)1

1

Saída para opróximoestado

X0 0

Y

CLK

F=1/0

A

7432

1

23

7474

D2

CLK3

Q5

Q6

PR4

CL1

7408

4

56

7474

D12

CLK11

Q9

Q8

PR10

CL13

7408

1

23

Page 67: Circuitos seqüenciais síncronos

A testabilidade de circuitos seqüenciais (cont.)• Alteração no diagrama de transição de estados:

(qual o novo vetor que detecta Y s@0?)

+5 V

+5 V

+5 V

Bloco combinatório

Saída para opróximoestado

Entradaprimária

Saídaprimáriadocircuito

X s@0(1/0)1

1

Saída para opróximoestado

X0 0

Y

CLK

F=1/0

A

7432

1

23

7474

D2

CLK3

Q5

Q6

PR4

CL1

7408

4

56

7474

D12

CLK11

Q9

Q8

PR10

CL13

7408

1

23

0

1

1

3

2

1

0

0

0

0 1

Q1,Q0=00

1

01

10

11

0,1

3

2

1

0

0,1

Q1,Q0=00

Estados 1 e 3(Q0=1) já nãoestão acessíveis

01

10

11

Q1

Q0

Page 68: Circuitos seqüenciais síncronos

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

Page 69: Circuitos seqüenciais síncronos

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)

Page 70: Circuitos seqüenciais síncronos

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á?)

Page 71: Circuitos seqüenciais síncronos

Projeto com varrimento (scan design)• 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

+5 V

+5 V

+5 V

+5 V

+5 V

+5 V

2:1 mux

10

2:1 mux

10

2:1 mux

10

Estadoactual Estado

seguinte

Estadoactual

Estadoactual

Estadoseguinte

Estadoseguinte

Modo deTeste

Modo deTeste

Saída série(scan out)

Modo deTeste

Entrada série(scan in)

Relógio(CLOCK)

Modo deTeste

U1B7474

D12

CLK11

Q9

Q8

PR10

CL13

U1A7474

D2

CLK3

Q5

Q6

PR4

CL1

U2A7474

D2

CLK3

Q5

Q6

PR4

CL1

Page 72: Circuitos seqüenciais síncronos

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)

Page 73: Circuitos seqüenciais síncronos

A questão da controlabilidade• Consideremos que se

pretende passar para o estado 110, partindo do estado 100 e sendo o estado seguinte (para as condições consideradas) 001

+5 V

+5 V

+5 V

+5 V

+5 V

+5 V

2:1 mux

Modo deTeste

10

2:1 mux

10

2:1 mux

10

Estadoactual Próximo

estado

Próximoestado

Próximoestado

Estadoactual

Estadoactual

1

0

0

0

1

Modo deTeste

Modo deTeste

0

Saídasérie

RelógioEntradasérie

Modo deTeste

0 1

1

U1A7474

D2

CLK3

Q5

Q6

PR4

CL1

U1B7474

D12

CLK11

Q9

Q8

PR10

CL13

U2A7474

D2

CLK3

Q5

Q6

PR4

CL1

Page 74: Circuitos seqüenciais síncronos

A questão da controlabilidade (cont.)

+5 V

+5 V

+5 V

+5 V

+5 V

+5 V

0

1

1

02:1 mux

?

?

1

1

0

2:1 mux

0

?

2:1 mux

0

Estadoactual

Estadoactual

Estadoactual

Modo deTeste

Modo deTeste

Modo deTeste

Próximoestado

Próximoestado

Próximoestado

Saídasérie

RelógioEntradasérie

Modo deTeste

1 1

0

U2A7474

D2

CLK3

Q5

Q6

PR4

CL1

U1A7474

D2

CLK3

Q5

Q6

PR4

CL1

U1B7474

D12

CLK11

Q9

Q8

PR10

CL13

+5 V

+5 V

+5 V

+5 V

+5 V

+5 V

0

1

1

02:1 mux

?

?

1

1

1

2:1 mux

0

?

2:1 mux

0

Estadoactual

Estadoactual

Estadoactual

Modo deTeste

Modo deTeste

Modo deTeste

Próximoestado

Próximoestado

Próximoestado

Saídasérie

RelógioEntradasérie

Modo deTeste

1 1

0

U2A7474

D2

CLK3

Q5

Q6

PR4

CL1

U1A7474

D2

CLK3

Q5

Q6

PR4

CL1

U1B7474

D12

CLK11

Q9

Q8

PR10

CL13

Page 75: Circuitos seqüenciais síncronos

A questão da controlabilidade (cont.)

+5 V

+5 V

+5 V

+5 V

+5 V

+5 V

1

1

1

02:1 mux

?

?

1

0

1

2:1 mux

0

?

2:1 mux

0

Estadoactual

Estadoactual

Estadoactual

Modo deTeste

Modo deTeste

Modo deTeste

Próximoestado

Próximoestado

Próximoestado

Saídasérie

RelógioEntradasérie

Modo deTeste

1 0

1

U2A7474

D2

CLK3

Q5

Q6

PR4

CL1

U1A7474

D2

CLK3

Q5

Q6

PR4

CL1

U1B7474

D12

CLK11

Q9

Q8

PR10

CL13

+5 V

+5 V

+5 V

+5 V

+5 V

+5 V

2:1 mux

Modo deTeste

10

2:1 mux

10

2:1 mux

10

Estadoactual Próximo

estado

Próximoestado

Próximoestado

Estadoactual

Estadoactual

1

1

0

?

?

Modo deTeste

Modo deTeste

?

Saídasérie

RelógioEntradasérie

Modo deTeste

0 X

1

U1A7474

D2

CLK3

Q5

Q6

PR4

CL1

U1B7474

D12

CLK11

Q9

Q8

PR10

CL13

U2A7474

D2

CLK3

Q5

Q6

PR4

CL1

Page 76: Circuitos seqüenciais síncronos

A questão da observabilidade• Consideremos que se

pretende observar o valor dos nós que definem o estado seguinte, para o caso anteriormente considerado

+5 V

+5 V

+5 V

+5 V

+5 V

+5 V

2:1 mux

Modo deTeste

10

2:1 mux

10

2:1 mux

10

Estadoactual Próximo

estado

Próximoestado

Próximoestado

Estadoactual

Estadoactual

1

0

0

0

1

Modo deTeste

Modo deTeste

0

Saídasérie

RelógioEntradasérie

Modo deTeste

0 1

1

U1A7474

D2

CLK3

Q5

Q6

PR4

CL1

U1B7474

D12

CLK11

Q9

Q8

PR10

CL13

U2A7474

D2

CLK3

Q5

Q6

PR4

CL1

Page 77: Circuitos seqüenciais síncronos

A questão da observabilidade (cont.)

+5 V

+5 V

+5 V

+5 V

+5 V

+5 V

2:1 mux

Modo deTeste

10

2:1 mux

10

2:1 mux

10

Estadoactual Próximo

estado

Próximoestado

Próximoestado

Estadoactual

Estadoactual

0

0

1

?

?

Modo deTeste

Modo deTeste

?

Saídasérie

Entradasérie

Modo deTeste

0 X

0

Relógio

U1A7474

D2

CLK3

Q5

Q6

PR4

CL1

U1B7474

D12

CLK11

Q9

Q8

PR10

CL13

U2A7474

D2

CLK3

Q5

Q6

PR4

CL1

+5 V

+5 V

+5 V

+5 V

+5 V

+5 V

0

1

1

02:1 mux

?

?

1

X

1

2:1 mux

0

?

2:1 mux

0

Estadoactual

Estadoactual

Estadoactual

Modo deTeste

Modo deTeste

Modo deTeste

Próximoestado

Próximoestado

Próximoestado

Saídasérie

RelógioEntradasérie

Modo deTeste

1 X

0

U2A7474

D2

CLK3

Q5

Q6

PR4

CL1

U1A7474

D2

CLK3

Q5

Q6

PR4

CL1

U1B7474

D12

CLK11

Q9

Q8

PR10

CL13

Page 78: Circuitos seqüenciais síncronos

A questão da observabilidade (cont.)

+5 V

+5 V

+5 V

+5 V

+5 V

+5 V

1

1

1

02:1 mux

?

?

1

X

X

2:1 mux

0

?

2:1 mux

0

Estadoactual

Estadoactual

Estadoactual

Modo deTeste

Modo deTeste

Modo deTeste

Próximoestado

Próximoestado

Próximoestado

Saídasérie

RelógioEntradasérie

Modo deTeste

1 X

1

U2A7474

D2

CLK3

Q5

Q6

PR4

CL1

U1A7474

D2

CLK3

Q5

Q6

PR4

CL1

U1B7474

D12

CLK11

Q9

Q8

PR10

CL13

+5 V

+5 V

+5 V

+5 V

+5 V

+5 V

2:1 mux

Modo deTeste

10

2:1 mux

10

2:1 mux

10

Estadoactual Próximo

estado

Próximoestado

Próximoestado

Estadoactual

Estadoactual

1

X

X

?

?

Modo deTeste

Modo deTeste

?

Saídasérie

RelógioEntradasérie

Modo deTeste

0 X

1

U1A7474

D2

CLK3

Q5

Q6

PR4

CL1

U1B7474

D12

CLK11

Q9

Q8

PR10

CL13

U2A7474

D2

CLK3

Q5

Q6

PR4

CL1

Page 79: Circuitos seqüenciais síncronos

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)

Page 80: Circuitos seqüenciais síncronos

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