circuitos sequenciais sequenciais x combinatórios...

20
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Circuitos sequenciais síncronos - 1 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 - 2 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 - 3 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 - 4 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

Upload: phungdan

Post on 09-Feb-2019

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Circuitos sequenciais Sequenciais x combinatórios síncronospaginas.fe.up.pt/~jmf/Publicacoes/Downloads/Slides_IPSDM/3-Slides.pdf · transição de estado não é cadenciada por

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 1

Circuitos sequenciaissí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 MicrocontroladoresCircuitos sequenciais síncronos - 2

Sequenciais x combinatórios

• Ao contrário dos circuitos combinatórios, onde assaídas dependem apenas do valor das entradas noinstante considerado, nos circuitos sequenciais assaídas dependem também do valor que as entradastiveram em instantes anteriores

• Podemos portanto afirmar que os circuitossequenciais possuem memória, onde armazenamuma informação interna de estado

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 3

Circuitos sequenciaissí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ãoaqueles que directamente nos interessam

– Os circuitos sequenciais assíncronos, que pela definiçãoanterior ficam associados aos circuitos nos quais atransição de estado não é cadenciada por um sinal derelógio, ou onde o sinal de relógio não é periódico

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 4

Composição de um circuitosequencial• A necessidade de armazenar a informação de estado

faz com que os circuitos sequenciais síncronosdisponham de elementos de memória internos (FF)

• Para além dos FF, existem dois blocos combinatóriosprincipais, que têm por entradas a informação doestado 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

Page 2: Circuitos sequenciais Sequenciais x combinatórios síncronospaginas.fe.up.pt/~jmf/Publicacoes/Downloads/Slides_IPSDM/3-Slides.pdf · transição de estado não é cadenciada por

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 5

Modelo de Huffman

CLK

X Z

D1

D0

Q1

Q0

Circuitocombinatório

Estadoactual

Estadoseguinte

Bloco que determinao estado seguinte:

CLK

X Z

D1

D0

Q1

Q0

Circuitocombinatório

Estadoactual

Estadoseguinte

Bloco que determinaas saídas exteriores:

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 6

Formas básicas derepresentação• Consideraremos as seguintes alternativas principais

para a representação de circuitos sequenciais:– 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á explicitamenterepresentado no diagrama lógico

Entradasexteriores

Saídasexteriores

Relógio

(CLK)

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 7

Diagrama de transição deestados• Os estados são indicados por círculos

e definidos por combinações devalores lógicos presentes nasvariáveis de estado (os FF queconstituem a memória do circuito)

• O estado seguinte e o valor das saídas são definidospelo estado actual e pelo valor das entradas, quandoocorre uma transição activa 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

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 8

Interpretação do diagrama

• Quando o circuito se encontra noestado A, sendo a entrada exterior(X) 0, a próxima transição activa nosinal de relógio provocará apassagem para o estado A(mantém-se o estado actual); 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 circuitopassará para o estado B

Page 3: Circuitos sequenciais Sequenciais x combinatórios síncronospaginas.fe.up.pt/~jmf/Publicacoes/Downloads/Slides_IPSDM/3-Slides.pdf · transição de estado não é cadenciada por

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 9

O conceito de entrada docircuito sequencial• Exemplo para a sequê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 momentoem 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

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 10

Formas de onda nasentradas• Uma vez que o que é importante é o valor da entrada

no momento em que ocorre a transição activa nosinal de relógio, as seguintes formas de onda naentrada 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

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 11

Tabela de transição deestados• Esta tabela contém exactamente a

mesma informação que o diagrama detransição de estados, mas agora na formatabular

Estado actual Estado seguinte Saída(quando X=0) (quando X=1)

A A B 0B C B 0C A D 0D A B 1

X=0

X=1

X=0

X=0

X=1

X=1

X=0

X=1

D

C

B

A

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 12

Tabela de verdade

• A tabela de verdade contém umadescrição mais pormenorizada docircuito, uma vez que a alocação deestados 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 00 0 1 0 1 00 1 0 1 0 00 1 1 0 1 01 0 0 0 0 01 0 1 1 1 01 1 0 0 0 11 1 1 0 1 1

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

Page 4: Circuitos sequenciais Sequenciais x combinatórios síncronospaginas.fe.up.pt/~jmf/Publicacoes/Downloads/Slides_IPSDM/3-Slides.pdf · transição de estado não é cadenciada por

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 13

Interpretação da tabela deverdade• Usa-se a designação S para indicar o valor actual das

variáveis de estado (state) e NS para representar oseu valor seguinte (next state)

• No caso da primeira linha da tabela, teremos que seo circuito se encontrar no estado A (S1,S0=00) e aentrada exterior for X=0, então a próxima transiçãoactiva no sinal de relógio manterá o circuito no estadoA (NS1,NS0=00) e a saída continuará em Z=0

S1 S0 X NS1 NS0 Z

0 0 0 0 0 0

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 14

A implementação dasvariáveis de estado• As variáveis de estado são normalmente

implementadas por recurso a circuitos bi-estáveis, aque 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 MicrocontroladoresCircuitos sequenciais síncronos - 15

Os FF do tipo D

• Num FF do tipo D, a saída assume o valor da entradapor 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

X ↓↓↓↓ Qant /Qant

Q6

Q5

CLK3

D2

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 16

Os FF do tipo J-K

• Nos FF J-K, o valor da saída é definido pelo valorpresente nas duas entradas (J e K), quando ocorre atransiçã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

CLK5

J4

correspondênciaque existe nestecaso entre S,NS, J, K e Q?)

Page 5: Circuitos sequenciais Sequenciais x combinatórios síncronospaginas.fe.up.pt/~jmf/Publicacoes/Downloads/Slides_IPSDM/3-Slides.pdf · transição de estado não é cadenciada por

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 17

Os FF do tipo T

• Nos FF do tipo T (toggle), a saída é complementadapor cada transição activa no sinal de relógio (e paraeste caso, qual a correspondência entre S, NS, T eQ?) T CLK Q /Q

0 X Qant /Qant

1 ↑↑↑↑ /Qant Qant

X 0 Qant /Qant

X 1 Qant /Qant

X ↓↓↓↓ Qant /Qant

T

CLK

Q

Q

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 18

Utilização dos FF D

• No circuito considerado, o uso de FF Dpara as variáveis de estado levaria auma 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 01 0 0 0 0 01 0 1 1 1 01 1 0 0 0 1

1 1 1 0 1 1 CLK

X Z

D1

D0

Q1

Q0

Circuitocombinatório

Estadoactual

Estadoseguinte

X=0

X=1

X=0

X=0

X=1

X=1

X=0

X=1

D

C

B

A

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 19

Máquinas de Moore emáquinas de Mealy• Nas máquinas de estado (circuitos sequenciais com

um número finito de estados) do tipo Moore, assaídas dependem apenas do estado actual do circuito

S1 S0 X NS1 NS0 Z

0 0 0 0 0 00 0 1 0 1 00 1 0 1 0 00 1 1 0 1 01 0 0 0 0 01 0 1 1 1 01 1 0 0 0 11 1 1 0 1 1

• Nas máquinas de Mealy assaídas dependem do estadoactual e do valor das entradas

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

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 20

Distinção entre máquinasde 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 6: Circuitos sequenciais Sequenciais x combinatórios síncronospaginas.fe.up.pt/~jmf/Publicacoes/Downloads/Slides_IPSDM/3-Slides.pdf · transição de estado não é cadenciada por

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 21

Exemplo 1: Um detector dejanela• Apresente o diagrama de transição de estados para

um circuito com uma entrada, à qual chegamcontinuamente (em forma série) palavras de 3 bits, ecom uma saída, que deverá ser colocada em 1sempre que a palavra lida pertença ao intervalo [2,5]

• Assuma que a saída é considerada válida apenasdurante cada terceiro ciclo de relógio, após o que seinicia imediatamente a leitura de uma nova sequência

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 22

Exemplo 1: Um detector dejanela (conclusão)

E

1

F

A

D

CB0

01

10

10

0,1

0,1

Assumindo que o bit maissignificativo é lido emprimeiro lugar, concluímosfacilmente que as sequênciasque devem colocar a saídaem 1 são aquelas nas quaisos dois primeiros bits lidossão diferentes: 010 (2), 011(3), 100 (4) e 101 (5).

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 23

Exemplo 2: Um votadorsequencial• Apresente o diagrama de transição de estados para

um circuito com uma entrada e uma saída, quedeverá ser colocada em 1 sempre que a entrada semantiver no mesmo estado durante pelo menos doisimpulsos de relógio consecutivos (voltando a 0quando esta situação deixar de ter lugar)

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 24

Exemplo 2: Um votadorsequencial (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 oprimeiro 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 ondejá foram lidosdois 1 (eportanto a saídaestá em 1).

Page 7: Circuitos sequenciais Sequenciais x combinatórios síncronospaginas.fe.up.pt/~jmf/Publicacoes/Downloads/Slides_IPSDM/3-Slides.pdf · transição de estado não é cadenciada por

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 25

Síntese de máquinas deestado• A síntese de máquinas de estado, seja de Moore ou

de Mealy, é feita de acordo com o seguinte conjuntode 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 MicrocontroladoresCircuitos sequenciais síncronos - 26

Exemplo 1: Um detector deduplas sequências• Pretende-se ilustrar a aplicação das quatro etapas

principais referidas na transparência anterior, atravésdo exemplo concreto de um circuito com as seguintescaracterísticas funcionais:– O circuito deverá possuir duas entradas, nas quais se

pretende detectar a ocorrência simultânea da sequência101 (representa-se à esquerda o primeiro bit lido)

– Sequências sobrepostas devem ser consideradas válidas

Y

Z

Relógio (CLK)

X

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 27

Exemplo 1: Um detector deduplas sequê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

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 28

Exemplo 1: Um detector deduplas sequê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çãode estados que corresponde aodiagrama temporal abaixo?

Page 8: Circuitos sequenciais Sequenciais x combinatórios síncronospaginas.fe.up.pt/~jmf/Publicacoes/Downloads/Slides_IPSDM/3-Slides.pdf · transição de estado não é cadenciada por

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 29

Exemplo 1: Um detector deduplas sequências (cont.)• Considerando a alocação de

estados A-00, B-01, C-10 eD-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

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 30

Exemplo 1: Um detector deduplas sequê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

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 31

Exemplo 1: Um detector deduplas sequências (cont.)• Diagrama lógico

correspondente àsoma mínimaobtida:

Entrada Y

Entrada X

CLK

Saída

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

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 32

Exemplo 2: Um comparadorsequencial• No sentido de ilustrar a situação mais realista de nos

confrontarmos com uma especificação incompleta /ambígua, consideraremos agora o caso de umcircuito 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ídaque indique quando M ≤ N

– Pretende-se que a comparação seja efectuada bit a bit,com início pelo bit mais significativo

Y

Z

Relógio (CLK)

X

Page 9: Circuitos sequenciais Sequenciais x combinatórios síncronospaginas.fe.up.pt/~jmf/Publicacoes/Downloads/Slides_IPSDM/3-Slides.pdf · transição de estado não é cadenciada por

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 33

Exemplo 2: Um comparadorsequencial (cont.)• Dúvidas por esclarecer na especificação inicial:

– Existe algum sinal exterior que indique o início de umanova comparação?

– Ou assume-se que estão permanentemente a serefectuadas 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 MicrocontroladoresCircuitos sequenciais síncronos - 34

Exemplo 2: Um comparadorsequencial (cont.)• Assumindo a existência

de um sinal exterior deinicialização (reset),chegamos ao seguintediagrama de transiçãode 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: Yt-2 Yt-1 Yt

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 35

Exemplo 2: Um comparadorsequencial (cont.)• O sinal de

reset exterior:

Reinicialização

Relógio (CLK)

>> estado ACompara o MSB

Z = M≤N está válida (e o estado é B ou D)

(...)

(...)

(...)

Z = M (menorou igual a) N

D1

D0

Reinicialização

(...)

(...)

(...)

(...)

(...)

(...)

(...)

(...)

(...)

Y

Z = M≤N

Relógio

(CLK)

X

Reinicialização

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 36

Exemplo 2: Um comparadorsequencial (cont.)• A implementação do sinal de reset poderia também

ser feita através de um pino específico dos FF-D:

YZ = M≤N

D1

D0

Q1

Q0

Blococombinatório

(estadoseguinte)

Blococombinatório

(saídas)

CLK

X

RST

Page 10: Circuitos sequenciais Sequenciais x combinatórios síncronospaginas.fe.up.pt/~jmf/Publicacoes/Downloads/Slides_IPSDM/3-Slides.pdf · transição de estado não é cadenciada por

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 37

Exemplo 2: Um comparadorsequencial (cont.)• Se o circuito não

dispuser de resetexterior, efectuandoconstantementecomparações,teremos o seguintediagrama detransição de estados:

00,01,10,11

XY=10

A00,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 1000,11

00,01,1101 00,11

10

10

01

01

M: Xt-2 Xt-1 Xt

N: Yt-2 Yt-1 Yt

MSB: Bit maissignificativo

Bitintermédio

LSB: Bit menossignificativo

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 38

Exemplo 2: Um comparadorsequencial (cont.)• Caso de M=100 e N=101

(M≤N verdadeiro):

Entrada Y (N)

Relógio (CLK)

Saída (Z)

Entrada X (M)

Estado actual A C F I B

Fim destacomparação

Início da seguinte

00,01,10,11

XY=10

A00,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 1000,11

00,01,1101 00,11

10

10

01

01

M: Xt-2 Xt-1 Xt

N: Yt-2 Yt-1 Yt

MSB: Bit maissignificativo

Bitintermédio

LSB: Bit menossignificativo

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 39

Síntese de máquinas deMealy• A síntese de máquinas de Mealy segue um conjunto

de passos idêntico ao que consideramos para estesdois exemplos de máquinas de Moore

• As diferenças face às máquinas de Moore existemapenas na etapa de representação formal, onde ...?

• Resta referir que uma mesma máquina de estadospode naturalmente apresentar saídas destes doistipos (Moore e Mealy)

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 40

Projecto com blocos SSI /MSI• Tal como sucedia com os circuitos combinatórios,

também neste caso o procedimento de projecto maiscomum na prática consiste em recorrer aoscomponentes de catálogo já disponíveis, reservandoa síntese de circuitos “à medida” aos casos em queisso seja realmente necessário

• Interessa-nos pois conhecer quais os principais tiposde blocos SSI / MSI disponíveis neste domínio

Page 11: Circuitos sequenciais Sequenciais x combinatórios síncronospaginas.fe.up.pt/~jmf/Publicacoes/Downloads/Slides_IPSDM/3-Slides.pdf · transição de estado não é cadenciada por

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 41

Principais blocos SSI / MSI

• Os principais tipos de blocos SSI / MSI do tiposequencial, normalmente disponíveis nos catálogosdos 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 MicrocontroladoresCircuitos sequenciais síncronos - 42

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 Henquanto /S e /R estiverem em L, mas ficarão em estadoindeterminado se /S e /R passarem a H em simultâneo

Entradas Saídas

Modo de operação

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 43

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ídaum "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 Henquanto /S e /R estiverem em L, mas ficarão em estadoindeterminado se /S e /R passarem a H em simultâneo

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 44

Registos74x573 (8-bit latch)

OE

1

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 abreas saídas

Habilita e memo-riza as saídas

Mantém

Inibe as saídas

Saídas(Q0 a Q7)

Saídasinternas

Modo deoperaçã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 12: Circuitos sequenciais Sequenciais x combinatórios síncronospaginas.fe.up.pt/~jmf/Publicacoes/Downloads/Slides_IPSDM/3-Slides.pdf · transição de estado não é cadenciada por

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 45

Registos 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

CP

8

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ídaum "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 deoperação

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 46

Registos de deslocamento(74x194)

MR

1

D14

Q213

Q312

CP

11

S1

10

Q114

D25

Q015

D03

S0

9

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 deoperaçã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 ousaí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)

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 47

Registos de deslocamento(74x195)

/K3

D15

Q114

Q015

J2

CP

10

Q213

D04

Q312

D26

/Q3

11

/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 deoperaçã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 ousaída, um "setup time" antes da subida no relógio

= Subida no relógio

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

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 48

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 13: Circuitos sequenciais Sequenciais x combinatórios síncronospaginas.fe.up.pt/~jmf/Publicacoes/Downloads/Slides_IPSDM/3-Slides.pdf · transição de estado não é cadenciada por

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 49

Contadores(74x161)

TC15

Q0

14

Q1

13

CP2

Q2

12

CEP7

D0

3

MR1

D1

4

D2

5

D3

6

CET10

Q3

11

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 deoperaçã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 estadoda 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)

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 50

Contadores(74x192)

D11

Q12

Q03

CP

U5

Q26

D015

Q37

D210

TC

U12

PL11

D39

TC

D13

CP

D4

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 deoperaçã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)

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 51

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 contagemIntrodução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 52

Exemplo 1: Um detector desequê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 indiquequando 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 dedeslocamento 74x195

Page 14: Circuitos sequenciais Sequenciais x combinatórios síncronospaginas.fe.up.pt/~jmf/Publicacoes/Downloads/Slides_IPSDM/3-Slides.pdf · transição de estado não é cadenciada por

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 53

Exemplo 1: Um detector desequência (cont.)

Que alteração haveria no funcionamento do circuito,se as entradas do EX-OR tivessem por engano sidoligadas à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

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 54

Exemplo 2: Um contadorcomo detector de paridade• Pretende-se recorrer ao contador 74x161 para

projectar um circuito que indique quando uma palavrade 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 umimpulso de reset a precedercada palavra e que a saídadeve estar válida apenas noquarto impulso de relógio

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 55

Análise de circuitossequenciais síncronos• A análise é uma actividade que surge com frequência

na prática com circuitos electrónicos, nomeadamenteem 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íveldefinir algumas regras gerais a seguir para este fim

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 56

Análise de circuitos naforma de Huffman• Este tipo de circuitos é o que decorre da síntese por

recurso a mapas de Karnaugh, podendo a análisedestes circuitos ser feita seguindo o percurso opostoao 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 15: Circuitos sequenciais Sequenciais x combinatórios síncronospaginas.fe.up.pt/~jmf/Publicacoes/Downloads/Slides_IPSDM/3-Slides.pdf · transição de estado não é cadenciada por

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 57

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

diagrama de transição deestados correspondenteao 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

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 58

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

Q1 Q0 X D1 D0

0 0 0 1 00 0 1 0 10 1 0 0 00 1 1 1 11 0 0 1 11 0 1 0 01 1 0 0 11 1 1 1 0

001

1

D

C

B

A

0 1

10

• Tabela de verdade ediagrama 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

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 59

Análise de circuitos comblocos SSI / MSI• A muito menor uniformização do projecto com blocos

SSI / MSI torna mais difícil o estabelecimento deregras para permitir a análise de forma sistemática

• Como regras de ordem geral, podemos ainda assimreferir 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 MicrocontroladoresCircuitos sequenciais síncronos - 60

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

sequência decontagem quetem lugar nocircuitoapresentado

+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 16: Circuitos sequenciais Sequenciais x combinatórios síncronospaginas.fe.up.pt/~jmf/Publicacoes/Downloads/Slides_IPSDM/3-Slides.pdf · transição de estado não é cadenciada por

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 61

A testabilidade de circuitossequenciais• As razões pelas quais a geração de vectores de teste

para circuitos sequenciais são bastante mais difíceisdo 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ídasprimárias

– A falta pode afectar a determinação do estado seguinte

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 62

A testabilidade de circuitossequenciais (cont.)• Exemplo: obter

um vector quedetecte a falta Xs@0 no circuitoapresentado à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

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 63

A testabilidade de circuitossequenciais (cont.)• Apesar de a determinação do vector a aplicar nas

entradas do bloco combinatório ser simples, osvalores a que chegamos dão-nos apenas, nestecaso, a indicação do estado (1,1) que permitiria adetecção da falta

• Resta ainda, portanto, determinar qual a sequência aaplicar na entrada primária A, de forma a conduzir ocircuito até ao estado pretendido

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 64

A testabilidade de circuitossequenciais (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

PR

4C

L1

7474

D12

CLK11

Q9

Q8

PR

10C

L13

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

PR

4C

L1

7474

D12

CLK11

Q9

Q8

PR

10C

L13

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

PR

4C

L1

7474

D12

CLK11

Q9

Q8

PR

10C

L13

7432

1

23

F

CLK

A

fault-free

X s@0

1/0

1

1

1

Page 17: Circuitos sequenciais Sequenciais x combinatórios síncronospaginas.fe.up.pt/~jmf/Publicacoes/Downloads/Slides_IPSDM/3-Slides.pdf · transição de estado não é cadenciada por

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 65

A testabilidade de circuitossequenciais (cont.)• Repare-se ainda que:

– A simplicidade que encontrámos no exemplo anterior seficou a dever ao facto de os dois FF estarem ligados comoum registo de deslocamento, o que torna trivial forçar apassagem para qualquer estado

– O problema surge quando é necessário determinar asequência de transição que nos permita chegar ao estadopretendido, sobretudo naqueles casos em que a própriatransição de estados é afectada pela falta considerada

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 66

A testabilidade de circuitossequenciais (cont.)• Uma falta que afecte

o diagrama detransição de estados(como é o caso de Ys@0) ajuda-nos acompreender melhoreste 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

PR

4C

L1

7408

4

56

7474

D12

CLK11

Q9

Q8

PR

10C

L13

7408

1

23

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 67

A testabilidade de circuitossequenciais (cont.)• Alteração no diagrama de transição de estados:

(qual o novo vector 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

PR

4C

L1

7408

4

56

7474

D12

CLK11

Q9

Q8

PR

10C

L13

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

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 68

Soluções ad hoc paramelhorar a testabilidade• Sendo um conjunto de “regras soltas” de projecto, as

regras ad hoc apresentam como desvantagensprincipais as seguintes:– Não são necessariamente reutilizáveis, uma vez que cada

projecto tem requisitos e problemas de testabilidade quelhe são específicos

– Não conseguem garantir elevados índices de testabilidadepara qualquer tipo de circuito

Page 18: Circuitos sequenciais Sequenciais x combinatórios síncronospaginas.fe.up.pt/~jmf/Publicacoes/Downloads/Slides_IPSDM/3-Slides.pdf · transição de estado não é cadenciada por

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 69

Soluções ad hoc para atestabilidade: Exemplos• A título de exemplo, podemos referir as seguintes

medidas ad hoc para melhorar a testabilidade decircuitos sequenciais:– Partição de contadores, convertendo um contador de N

bits em K contadores com N/K bits, de forma a tornar maisrá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 MicrocontroladoresCircuitos sequenciais síncronos - 70

Métodos estruturados deprojecto para a testabilidade• Pretendem proporcionar uma forma sistemática de

forçar a passagem do circuito para qualquer estadopretendido, num número fixo (e reduzido) de ciclos derelógio, qualquer que seja o estado actual e a faltapresente no circuito

• O termo estruturados implica que o método seja(quase-) universal e conduza sempre a idênticosníveis de testabilidade (que custos haverá?)

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 71

Projecto com varrimento(scan design)• A geração de vectores de

teste pode ser largamentesimplificada se cada FF Dfor precedido por um muxde 2:1, criando aquilo aque se dá a designaçãode scan FF

+5 V

+5 V

+5 V

+5 V

+5 V

+5 V

2:1 mux

1

0

2:1 mux

1

0

2:1 mux

1

0

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

PR

10C

L13

U1A7474

D2

CLK3

Q5

Q6

PR

4C

L1

U2A7474

D2

CLK3

Q5

Q6

PR

4C

L1

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 72

Projecto com varrimento:

• A importância do projecto com varrimento, comometodologia estruturada de projecto para atestabilidade, pode ser melhor aferida seconsiderarmos que no projecto sem varrimento:– Parte das entradas do circuito combinatório não são

directamente controláveis, por estarem ligadas às saídasdos 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)

Page 19: Circuitos sequenciais Sequenciais x combinatórios síncronospaginas.fe.up.pt/~jmf/Publicacoes/Downloads/Slides_IPSDM/3-Slides.pdf · transição de estado não é cadenciada por

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 73

A questão dacontrolabilidade• Consideremos que se

pretende passar para oestado 110, partindo doestado 100 e sendo oestado seguinte (para ascondições consideradas)001

+5 V

+5 V

+5 V

+5 V

+5 V

+5 V

2:1 mux

Modo deTeste

1

0

2:1 mux

1

0

2:1 mux

1

0

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

PR

4C

L1

U1B7474

D12

CLK11

Q9

Q8

PR

10C

L13

U2A7474

D2

CLK3

Q5

Q6

PR

4C

L1

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 74

A questão dacontrolabilidade (cont.)

+5 V

+5 V

+5 V

+5 V

+5 V

+5 V

0

1

1

0

2: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

PR

4C

L1

U1A7474

D2

CLK3

Q5

Q6

PR

4C

L1

U1B7474

D12

CLK11

Q9

Q8

PR

10C

L13

+5 V

+5 V

+5 V

+5 V

+5 V

+5 V

0

1

1

0

2: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

PR

4C

L1

U1A7474

D2

CLK3

Q5

Q6

PR

4C

L1

U1B7474

D12

CLK11

Q9

Q8

PR

10C

L13

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 75

A questão dacontrolabilidade (cont.)

+5 V

+5 V

+5 V

+5 V

+5 V

+5 V

1

1

1

0

2: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

PR

4C

L1

U1A7474

D2

CLK3

Q5

Q6

PR

4C

L1

U1B7474

D12

CLK11

Q9

Q8

PR

10C

L13

+5 V

+5 V

+5 V

+5 V

+5 V

+5 V

2:1 mux

Modo deTeste

1

0

2:1 mux

1

0

2:1 mux

1

0

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

PR

4C

L1

U1B7474

D12

CLK11

Q9

Q8

PR

10C

L13

U2A7474

D2

CLK3

Q5

Q6

PR

4C

L1

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 76

A questão daobservabilidade• Consideremos que se

pretende observar o valordos nós que definem oestado seguinte, para ocaso anteriormenteconsiderado

+5 V

+5 V

+5 V

+5 V

+5 V

+5 V

2:1 mux

Modo deTeste

1

0

2:1 mux

1

0

2:1 mux

1

0

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

PR

4C

L1

U1B7474

D12

CLK11

Q9

Q8

PR

10C

L13

U2A7474

D2

CLK3

Q5

Q6

PR

4C

L1

Page 20: Circuitos sequenciais Sequenciais x combinatórios síncronospaginas.fe.up.pt/~jmf/Publicacoes/Downloads/Slides_IPSDM/3-Slides.pdf · transição de estado não é cadenciada por

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 77

A questão daobservabilidade (cont.)

+5 V

+5 V

+5 V

+5 V

+5 V

+5 V

2:1 mux

Modo deTeste

1

0

2:1 mux

1

0

2:1 mux

1

0

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

PR

4C

L1

U1B7474

D12

CLK11

Q9

Q8

PR

10C

L13

U2A7474

D2

CLK3

Q5

Q6

PR

4C

L1

+5 V

+5 V

+5 V

+5 V

+5 V

+5 V

0

1

1

0

2: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

PR

4C

L1

U1A7474

D2

CLK3

Q5

Q6

PR

4C

L1

U1B7474

D12

CLK11

Q9

Q8

PR

10C

L13

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 78

A questão daobservabilidade (cont.)

+5 V

+5 V

+5 V

+5 V

+5 V

+5 V

1

1

1

0

2: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

PR

4C

L1

U1A7474

D2

CLK3

Q5

Q6

PR

4C

L1

U1B7474

D12

CLK11

Q9

Q8

PR

10C

L13

+5 V

+5 V

+5 V

+5 V

+5 V

+5 V

2:1 mux

Modo deTeste

1

0

2:1 mux

1

0

2:1 mux

1

0

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

PR

4C

L1

U1B7474

D12

CLK11

Q9

Q8

PR

10C

L13

U2A7474

D2

CLK3

Q5

Q6

PR

4C

L1

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 79

Resumo: Projecto para atestabilidade• As técnicas de projecto para a testabilidade eliminam

(sob o ponto de vista das ferramentas para a geraçãode 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 amais pinos

– Os projectistas deixam de ter liberdade para escolherquaisquer soluções que achem mais adequadas (porexemplo, não são admissíveis estruturas assíncronas)

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresCircuitos sequenciais síncronos - 80

Conclusão

• Objectivo principal do capítulo: Concluir osconhecimentos básicos sobre o projecto de sistemasdigitais (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 esíntese automática