sistemas digitais circuito de dados / circuito de controlo asms e implementação de máquinas de...

33
Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Upload: internet

Post on 18-Apr-2015

127 views

Category:

Documents


14 download

TRANSCRIPT

Page 1: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Sistemas DigitaisCircuito de Dados / Circuito de

ControloASMs e Implementação de Máquinas

de Estados

Page 2: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 2

Projecto de Sistemas Digitais No projecto de Sistemas Digitais é possível

encontrar sistemas simples e sistemas mais complexos

Projecto de sistemas simples: Combinatórios

Tabelas e Mapas de Karnaugh Tabelas e Multiplexeres Tabelas e ROMs (Read Only Memories) Tabelas e PLDs (Programable Logic Devices)

Sequenciais Modelos de Moore e Mealy; Implementação com recurso a

FFs ou registos e a lógica combinatória Projecto de sistemas mais complexos:

Divisão entre um circuito que dá suporte ao fluxo e manipulação de dados, e um circuito que controla esse circuito de dados

Page 3: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 3

Circuito de Controlo/Circuito de Dados

Circuito com armazenamento de dados e seu processamento

Dados de entrada

Dados de saída

Controlo

Ordens e condicionantes do exterior

Acções a desencadear

Informação sobre o estado

Informação para o exterior

O circuito controlado é constituído por um conjunto de módulos simples que podem incluir:

• Registos

• Contadores

• Multiplexeres

• Somadores

• Comparadores

• Memórias

• Algumas portas lógicas

O circuito de controlo é um sistema sequencial síncrono (Máquina de Moore ou de Mealy)

Page 4: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 4

Exemplo: Controlo do parque de estacionamento do Pav. de Civil no IST-Alameda

Existem 4 detectores e 3 portas que controlam o acesso ao parque de estacionamento

Detector PortaSentido do tráfego

Como a rua de acesso é estreita, só pode circular nela um veículo de cada vez

Quando o parque está cheio não podem entrar carros

Page 5: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 5

Parque de Civil (cont.)

A saída é detectada pela presença em D3. Se não há entrada em curso, a cancela P3 abre e só fechará quando o carro a atravessar e sair de D4. Quando o carro chega a D2, abre-se P2 enquanto o carro estiver sobre D2. Nessa altura haverá mais um lugar de estacionamento

A entrada começa quando um carro chega a D1. Se houver lugar, e se não há saída em curso, a porta P1 abre e asim fica enquanto o carro for detectado por D1. Quando o carro chega a D4 a cancela P3 é aberta e o carro entra. Durante essa fase, deve ser anotado que existe um lugar a menos no estacionamento. Após deixar D4, a cancela P3 fecha

Porta 1

Porta 2

Porta 3 Detector 4

Detector 2

Detector 1

Detector 3

Page 6: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 6

Parque de Civil (cont.): Circuito de Dados

O circuito de dados do sistema que se pretende projectar é muito simples, pois a única informação relevante para o funcionamento correcto do circuito é se existem ou não lugares no parque

Assim, o circuito de dados poderá ser implementado por um contador UP/DOWN que guarda o número de carros no parque e que indica se o parque está cheio:

Porta 1

Porta 2

Porta 3 Detector 3

Detector 2

Detector 1

Detector 4

Page 7: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 7

Parque de Civil (cont.): Circuito de Dados e Circuito de Controlo

O circuito de Controlo será um circuito sequencial que a partir da informação dos detectores e da existência de lugares no parque, deverá controlar a sequência de abertura das portas e o incremento/decremento do contador

Teremos assim o seguinte modelo para o sistema:

ContadorControlo

CP UP

CP DOWN

Cheio

D1 D2 D3 D4

P1 P2 P3

De notar que no circuito de dados deste sistema não existem nem dados de saída, nem dados de entrada

Esses dados, a existirem, poderiam ser, por exemplo, o número de lugares vagos (dado de saída) e o número máximo de lugares que poderia ser variável (dado de entrada)

Page 8: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 8

Parque de Civil (cont.): Circuito de Controlo

A especificação do Circuito de Controlo para este sistema poderia ser feita através de um diagrama de estados

No entanto, o Circuito de Controlo de controlo possui 5 entradas (D1 a D4, e Cheio), e 5 saídas (P1 a P3, CP_UP e CP_DOWN), pelo que o diagrama ficaria bem confuso...

ContadorControlo

CP UP

CP DOWN

Cheio

D1 D2 D3 D4

P1 P2 P3

A solução será especificar o circuito através de um Fluxograma, ou Máquina de Estados (ASM – Algorithmic State Machine)

Page 9: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 9

Parque de Civil (cont.): Fluxograma (ASM) do Circuito de Controlo

P1

P2

P3 D4D2

D1

D3

Page 10: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 16

Implementação de um Circuito de Controlo explicitado por ASM

A implementação de um Circuito de Controlo pode ser feita através de vários métodos: Síntese clássica 1 Flip-Flop por Estado (codificação “One Hot”) Implementação microprogramada com ROM (Read

Only Memory) Endereçamento Explícito Endereçamento Implícito

Page 11: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 17

Implementação através de Síntese Clássica

A implementação de um Circuito de Controlo através do método de síntese de circuitos sequenciais síncronos é possível desde que o ASM seja simples

Basta obter a tabela de transições a partir do fluxograma, e a partir daí aplica-se o método estudado anteriormente

O principal obstáculo quando o ASM tem uma certa dimensão consiste na complexidade que o método implica: Por exemplo, no problema do Parque de Estacionamento de

Civil, temos 8 estados, 5 entradas e 5 saídas, o que leva a que as tabelas de estado seguinte tenham 25=32 colunas(!!!), e a que os mapas de Karnaugh para as entradas dos Flip-Flops tenham 5+3 = 8 variáveis!

Page 12: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 18

Implementação com 1 FF por estado

Mais uma vez recorre-se ao método estudado anteriormente. As grandes vantagens deste método são: Permite uma realização directa a partir do fluxograma; A sua complexidade não aumenta exponencialmente com a

dimensão da ASM

Estes vantagens devem-se ao facto de este método não obrigar a uma visão “global” do circuito a implementar durante a fase de concepção

Recorde-se que neste tipo de implementação cada estado é representado por um FF, e que em cada instante só um FF está a High, estando os restantes obrigatoriamente a Low

Apesar de necessitar de mais FF, a lógica de estado seguinte vem muito simplificada e, sobretudo, a metodologia de projecto é muito mais simples

Page 13: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 23

Implementação de ASM com ROMs (ou Microprogramada)

O maior problema dos métodos apresentados anteriormente reside na grande quantidade de lógica combinatória necessária para as funções de entrada dos FF

A utilização de circuitos combinatórios típicos em substituição das portas lógicas melhora esta situação, mas continua a não ser uma solução satisfatória

Uma solução bastante melhor será a utilização de ROMs (Read Only Memories): Apesar de uma ROM ser um circuito com efeito de “memória”,

i.e., supostamente um circuito sequencial, esta pode ser utilizada de forma bastante eficiente para implementação de funções combinatórias

As memórias serão estudadas de forma detalhada nas próximas aulas, mas para já é conveniente introduzir as ROMs como circuitos que permitem implementar funções combinatórias

Page 14: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 24

Uma ROM é um dispositivo lógico que tem como entradas um conjunto de linhas de endereço (Am,Am-1,...,A1,A0), e como saídas, um conjunto de linhas de dados (Dn,Dn-1,...,D1,D0)

A dimensão do barramento de dados e do barramento de endereços é variável Quando vista como um dispositivo que permite implementar circuitos combinatórios, uma ROM de 2 bits de endereço e 1 bit de

dados, pode ser representada com o seguinte modelo:

Utilização de ROMs para implementação de circuitos combinatórios

De notar que os bits b3, b2, b1 e b0, não são entradas exteriores da ROM, mas sim valores binários pré-definidos que não podem ser alterados em tempo real

0

1

2

3

1

2

DEC 2/4

A0

A1

b3

b2

b1

b0

f

Page 15: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 25

Se assumirmos que na ROM se pré-definiu que: b3=0, b2=1, b1=1 e b0=0, então a saída D0 passa a assumir a função

XOR; b3=0, b2=1, b1=1 e b0=1, então a saída D0 passa a assumir a função

OR; ...e assim sucessivamente para qualquer função possível de definir com

4 bits

Ou seja, é possível implementar qualquer função de 4 bits a partir de uma ROM de 2 bits de endereço e 1 bit de dados

Utilização de ROMs para implementação de circuitos combinatórios (II)

0

1

2

3

1

2

DEC 2/4

A0

A1

0

1

1

0

A0+A1 (XOR)

0

1

2

3

1

2

DEC 2/4

A0

A1

1

1

1

0

A0+A1 (OR)

Page 16: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 26

Numa ROM com n bits de dados, é possível definir n funções combinatórias diferentes

Se essa ROM possuir m bits de endereço, então será possível definir n funções combinatórias de m bits

Resumindo, uma ROM pode ser encarada como um dispositivo extremamente versátil e prático para implementar funções combinatórias

Utilização de ROMs para implementação de circuitos combinatórios (III)

RE_L EN

1, 2D Q0

Q1

Q2

Q3

ROM 32x8

A3

A4

A0

2

0

1A1

A2

3

A

A 0

31

4

Q4

Q5

Q6

Q7

Simbologia de uma ROM de 5 linhas de endereço e 8 linhas de dados (32x8):

Com esta ROM é possível implementar 8 funções de 5 variáveis

Para isso basta que, de alguma forma que será indicada posteriormente, se consigam pré-definir os 8 conjuntos de 25=32 bits indicados como bx no modelo anterior

Normalmente, o conteúdo de uma ROM é apresentado sob a forma de uma tabela de 2m linhas e n colunas

Page 17: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 27

Implementação de ASMs com ROMs (I) A implementação de ASM com recurso a uma ROM

pode ser realizada com a seguinte estrutura:

1D

C1

1D

C1

1D

C1

...

ROM

Entradas Saídas

...

CL OCK_H

ESTADO

LÓGICA COMBINATÓRIA

Endereços da ROM Saídas de dados da ROM

Page 18: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 28

Implementação com ROMs (II) Exemplo:

A

B

CY_H

X_H

E1

E0

0 1

1 0

1D

C1

1D

C1ROM

...CLOCK_H

FD0_H

FD1_H

Q0_H

Q1_H

E0_H

E1_HX_H

Y_H

A0

A1

A2

A3

D0

D1

D2

D3

Temos 3 estados: A, B e C e, portanto, podemos usar 2 variáveis de estado Q1 e Q0.

Temos duas variáveis de entrada, E0 e E1.

Temos duas funções de saída, X, de Mealy e Y de Moore

O diagrama de blocos fica:

Page 19: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 29

Implementação com ROMs (III)Exemplo (cont)

No estado C, com E1=1 e E0=1, vou para o estado A (00), e as saídas são Y=1, X=0

Utilizemos a seguinte atribuição de estados: O conteúdo da ROM será definido pela

seguinte tabela:

Estado Q1Q0

A 0 0

B 0 1

C 1 0Significado das Linhas Q1 Q0 E1 E0 FD1 FD2 Y X

Linhas da ROM A3 A2 A1 A0 D3 D2 D1 D0

EstadoA 0 0 0 0 0 1 0 1A 0 0 0 1 0 1 0 1A 0 0 1 0 1 0 0 0A 0 0 1 1 1 0 0 0B 0 1 0 0 0 1 0 0B 0 1 0 1 0 1 0 0B 0 1 1 0 0 1 0 0B 0 1 1 1 0 1 0 0C 1 0 0 0 1 0 1 0C 1 0 0 1 0 0 1 0C 1 0 1 0 1 0 1 0C 1 0 1 1 0 0 1 0

1 1 0 0 X X X X1 1 0 1 X X X X1 1 1 0 X X X X1 1 1 1 X X X X

ENDEREÇO CONTEÚDO da ROM

No estado C, com E1=0 e E0=0, continuo no estado C (10), e as saídas são Y=1, X=0

Page 20: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 30

Implementação com ROMs (IV)Exemplo (cont)

Repare-se que o conteúdo da ROM em cada endereço pode ser dividido em dois campos distintos, o Estado Seguinte e as Saídas

Significado das Linhas Q1 Q0 E1 E0 FD1 FD2 Y XLinhas da ROM A3 A2 A1 A0 D3 D2 D1 D0

EstadoA 0 0 0 0 0 1 0 1A 0 0 0 1 0 1 0 1A 0 0 1 0 1 0 0 0A 0 0 1 1 1 0 0 0B 0 1 0 0 0 1 0 0B 0 1 0 1 0 1 0 0B 0 1 1 0 0 1 0 0B 0 1 1 1 0 1 0 0C 1 0 0 0 1 0 1 0C 1 0 0 1 0 0 1 0C 1 0 1 0 1 0 1 0C 1 0 1 1 0 0 1 0

1 1 0 0 X X X X1 1 0 1 X X X X1 1 1 0 X X X X1 1 1 1 X X X X

ENDEREÇOEstado

Seguinte Saídas

Page 21: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 31

Implementação com ROMs (II) Exemplo:

A

B

CY_H

X_H

E1

E0

0 1

1 0

1D

C1

1D

C1ROM

...CLOCK_H

FD0_H

FD1_H

Q0_H

Q1_H

E0_H

E1_HX_H

Y_H

A0

A1

A2

A3

D0

D1

D2

D3

Temos 3 estados: A, B e C e, portanto, podemos usar 2 variáveis de estado Q1 e Q0.

Temos duas variáveis de entrada, E0 e E1.

Temos duas funções de saída, X, de Mealy e Y de Moore

O diagrama de blocos fica:

Page 22: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 32

Implementação com ROMs (V) A dimensão da ROM necessária para implementar este exemplo seria bastante aceitável:

4 linhas de endereço 4 linhas de saída (ou dados)

Ou seja, teríamos uma ROM de 16x4 bits, o que é uma ROM bastante pequena No entanto, para um problema como o do Parque de Estacionamento de Civil, a ROM necessária já teria dimensões substancialmente maiores:

8 linhas de endereço (5 Entradas + 3 Estado Presente) 8 linhas de saída (3 Estado Seguinte + 5 Saídas)

Ou seja, teríamos uma ROM de 256x8 bits, o que não levantando um “grande” problema já seria mais complicada de programar Mais uma vez, e à semelhança da síntese clássica, o aumento do número de entradas, causa um aumento exponencial na dimensão da ROM, o que causa sérios problemas em circuitos

reais com elevado número de entradas Felizmente, existem formas de resolver o problema...

Page 23: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 33

Implementação com ROMs: Endereçamento Explícito

Existem várias soluções. Uma delas consiste em eliminar as variáveis de entrada do barramento de endereços

A estrutura criada por esta solução diz-se que utiliza Endereçamento Explícito

Dado que as Entradas são essenciais ao funcionamento da máquina, é necessário tomar várias medidas que as envolvem directamente: Eliminar a acção das Entradas nas Saídas, ou seja,

transformando o circuito de Mealy num circuito de Moore Limitar a sua acção na mudança de estado da máquina de forma

que, de cada estado actual só se possa passar para um de dois estados seguintes (incluindo eventualmente o próprio estado) – ou seja em cada estado só se pode testar no máximo uma variável de entrada

Page 24: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 34

Implementação com ROMs: Endereçamento Explícito (II)

A estrutura de uma implementação por ROM com Endereçamento Explícito é a seguinte

Saídas

MUX1

MUX2Registo

CLOCK

...

ROM

Teste

Entradas

Estado seguinte

Estados condicionais

O número de linhas de Endereço da ROM é dada pelo nº de FF (e se existem N Estados, são necessários log2N Flip-Flops), ou seja eliminaram-se as Entradas

O MUX 2 escolhe para qual dos 2 Estados Seguintes possíveis o circuito irá

O barramento Teste permite seleccionar qual das Entradas se pretende testar no Estado Actual (só se testa no máximo uma Entrada em cada Estado)

Page 25: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 35

Endereçamento Explícito - Exemplo Apliquemos o Endereçamento Explícito ao exemplo anterior É necessário eliminar as saídas condicionadas (X), e garantir que em

cada Estado só se testa no máximo uma variável de Entrada de forma a que só se possa saltar para um de 2 estados (neste exemplo tal não é necessário)

Suponhamos que neste caso a saída X pode ser incluída no Estado B

A

B

CY_H

X_H

E1

E0

0 1

1 0

MUX1

MUX2Registo

CLOCK

ROM

Teste

X_H

Y_H

2

2

FD0_H

FD1_H

D0_H

D1_H

E0_H E1_H

0 1

0

1

Bastam 2 FF para representar o Estado, pelo que a ROM só terá 2 linhas de endereço

A estrutura será a seguinte:

Page 26: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 36

Endereçamento Explícito – Exemplo (II) O conteúdo da ROM passa a ser o seguinte:

MUX1

MUX2Registo

CLOCK

ROM

Teste

X_H

Y_H

2

2

FD0_H

FD1_H

D0_H

D1_H

E0_H E1_H

0 1

0

1

Estado D1 D0 Teste FD10 FD00 FD11 FD01 Y XA1 A0 D6 D5 D4 D3 D2 D1 D0

A 0 0 1 0 1 1 0 0 0B 0 1 X 0 0 0 0 0 1C 1 0 0 1 0 0 0 1 0- 1 1 X X X X X X X

Endereço

Estado Seguinte se Teste for Verdadeiro

Saídas

Estado Seguinte se Teste for Falso

A

BCY_H

X_H

E1

E0

0 1

1 0

Teste a E0 ou a E1

Page 27: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 37

Endereçamento Explícito – Exemplo (III) Quando se opta pelo endereçamento explícito, a ROM passa a ter 4

palavras de 7 bits em vez de 16 palavras de 4 bits Este ganho é feito à custa de 2 MUX adicionais. Pode não parecer

muito neste exemplo, mas para sistemas em que o número de entradas é elevado, o ganho torna-se extremamente importante

Veja-se o exemplo do parque de estacionamento: Dado que todas as saídas são de Moore não é necessário alterá-las É necessário acrescentar vários estados adicionais para que só uma

variável seja testada de cada vez

O fluxograma passará a ser o indicado no slide seguinte. De notar as seguintes modificações: Passamos a necessitar de 4 FFs, dado que o número de estados passou

de 8 para 11 A codificação de estados é apresentada no slide seguinte, e é arbitrária, à

excepção da atribuição do estado inicial, que por facilidades de inicialização é conveniente ser o 0000 (mas podia não ser...)

Page 28: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 38

Retomemos o exemplo do Parque de Civil.No slide seguinte estão as modificações necessárias no fluxograma.

Estado

Cheio

Entrada

S

N

D3

D3N

SS

N

D1N

S

P1_HSaída de Moore

D1S

N

D4N

S

D4S

N

P3_H, CP_UP_H

1

1

P3_H

D4S

N

D4N

S

P2_H, CP_DOWN_H

D2N

S

P3_H

D2S

N

P1

P2

P3 D4D2

D1

D3

Page 29: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 39

Estado

Cheio

Entrada

S

N

D3

D3N

SS

N

D1N

S

P1_HSaída de Moore

D1S

N

D4N

S

D4S

N

P3_H, CP_UP_H

1

1

P3_H

D4S

N

D4N

S

P2_H, CP_DOWN_H

D2N

S

P3_H

D2S

N

CheioS

N

D3

D3N

SS

N

D1N

S

P1_H

D1S

N

D4N

S

D4S

N

P3_H, CP_UP_H

1

1

P3_H

D4S

N

D4N

S

P2_H, CP_DOWN_H

D2N

S

P3_H

D2S

N

A

B

C

D

E

F

G

H

S

P

Q

Page 30: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 40

Endereçamento Explícito – Exemplo (IV)

CheioS

N

D3

D3N

SS

N

D1N

S

P1_H

D1S

N

D4N

S

D4S

N

P3_H, CP_UP_H

1

1

P3_H

D4S

N

D4N

S

P2_H, CP_DOWN_H

D2N

S

P3_H

D2S

N

A

B

C

D

E

F

G

H

S

P

QEstado Q3 Q2 Q1 Q0

A 0 0 0 0B 0 0 0 1C 0 0 1 0D 0 0 1 1E 0 1 0 0F 0 1 0 1G 0 1 1 0H 0 1 1 1S 1 0 0 0P 1 0 0 1Q 1 0 1 0- 1 0 1 1- 1 1 0 0- 1 1 0 1- 1 1 1 0- 1 1 1 1

Page 31: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 41

Endereçamento Explícito – Exemplo (V)

MUX1

MUX2Registo

CLOCK

ROM

T2

4

4D0_H

D1_H

0

1

D2_H

D3_H

CHEIO

D1 D2 D3 D4

T1T0 0 1 2 3 4

P1_H

P2_H

P3_H

CP_UP_H

CP_DOWN_H

A estrutura passa a ser a seguinte:

4 FF (necessários para codificar 11 estados), logo 4 linhas de endereço

5 saídas

A ROM passará a ter 24=16 linhas de 5+4+4+3=16 bits, i.e., 16x16 Sem endereçamento explícito necessitariamos de uma ROM de

256x8, ou seja, uma ROM 16 vezes maior

5 entradas

3 variáveis (necessárias

para seleccionar 5

entradas)

Page 32: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 42

Endereçamento Explícito – Exemplo (VI)

Estado Q3 Q2 Q1 Q0 T2 T1 T0 FD30 FD20 FD10 FD00 FD31 FD21 FD11 FD01 CP_D CP_U P3 P2 P1

A 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0B 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1C 0 0 1 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0D 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0E 0 1 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0F 0 1 0 1 1 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0G 0 1 1 0 0 1 0 0 1 1 0 0 1 1 1 0 0 0 0 0H 0 1 1 1 0 1 0 0 0 0 0 0 1 1 1 1 0 0 1 0S 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0P 1 0 0 1 0 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0Q 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0- 1 0 1 1 X X X X X X X X X X X X X X X X- 1 1 0 0 X X X X X X X X X X X X X X X X- 1 1 0 1 X X X X X X X X X X X X X X X X- 1 1 1 0 X X X X X X X X X X X X X X X X- 1 1 1 1 X X X X X X X X X X X X X X X X

O conteúdo da ROM (16x16) será o seguinte:

5 saídas

3 variáveis de teste que

codificam 5 entradas

4 bits do Estado Seguinte se oTeste for Falso

4 bits do Estado Seguinte se o Teste for Verdadeiro

Page 33: Sistemas Digitais Circuito de Dados / Circuito de Controlo ASMs e Implementação de Máquinas de Estados

Uke2003 Sistemas Digitais 43

Endereçamento Implícito

Uma variante da estrutura apresentada, chamada endereçamento implícito, permite reduzir ainda mais a dimensão da ROM

Esta variante será estudada em Arquitectura de Computadores