circSeq_AOCO_201516

8
1 Arquitetura e Organização de Computadores - EIC0083 1º ano, 1º semestre - 2015/16 Mestrado Integrado em Engenharia Informática e Computação FEUP Circuitos sequenciais Outubro de 2015 António José Duarte Araújo António José Araújo, FEUP AOCO_2015/16 - Circuitos sequenciais 2 Circuitos sequenciais: resumo • Conceitos introdutórios • Elementos de memória • Circuitos sequenciais síncronos • Registos, banco de registos e contadores • Exemplos

description

circSeq_AOCO_201516

Transcript of circSeq_AOCO_201516

Page 1: circSeq_AOCO_201516

1

Arquitetura e Organização de

Computadores - EIC00831º ano, 1º semestre - 2015/16

Mestrado Integrado em Engenharia Informática e Computação

FEUP

Circuitos sequenciais

Outubro de 2015

António José Duarte Araújo

António José Araújo, FEUP AOCO_2015/16 - Circuitos sequenciais 2

Circuitos sequenciais: resumo

• Conceitos introdutórios

• Elementos de memória

• Circuitos sequenciais síncronos

• Registos, banco de registos e contadores

• Exemplos

Page 2: circSeq_AOCO_201516

2

António José Araújo, FEUP AOCO_2015/16 - Circuitos sequenciais 3

Introdução

• Circuito combinacional: o valor da saída depende apenasdos valores atuais das entradas.

• Circuito sequencial: o valor da saída depende dos valores atuais e dos valores anteriores das entradas.

• Estado de um circuito: conjunto de variáveis de estado que, em cada momento, contém informação sobre o passado do circuito permitindo, em conjunto com os valores da entrada, a determinação do comportamento futuro.

• Em circuitos digitais, as variáveis de estado são binárias: um circuito com n variáveis de estado pode ter até 2n

estados.

• O valor de uma variável de estado é armazenado num elemento de memória (p. ex. flip-flop tipo D).

• Nos circuitos digitais síncronos, as mudanças de estado ocorrem em instantes de tempo determinados por um sinal periódico: o sinal de relógio.

António José Araújo, FEUP AOCO_2015/16 - Circuitos sequenciais 4

Como funcionam?

• Um circuito sequencial, além do estado interno, tem:

– entradas

– saídas

• O estado atual e as entradas definem:– quais são os valores das saídas

– qual vai ser o próximo estado, ou seja, que valores tomarão as variáveis de estado

estado

saídasentradas

Page 3: circSeq_AOCO_201516

3

António José Araújo, FEUP AOCO_2015/16 - Circuitos sequenciais 5

Modelo conceptual

Composição

• Geração das saídas

– Bloco combinatório

– Saídai = fi (entradas, estado

presente)

• Geração do próximo estado

– Bloco combinatório

– Estadoi = gi(entradas, estado

presente)

• Memória de estado

– Elementos de memória (flip-

flops)

– Próximo estado passa a

constituir o estado presente

após transição do relógio

estado

saídasentradas

estado

(memória)

saídasentradas

estado

presentepróximo

estado

sinal de

relógio

António José Araújo, FEUP AOCO_2015/16 - Circuitos sequenciais 6

Sinal de relógio

• Sinal de relógio típico, para um sistema sensível

à transição positiva (flanco ascendente )

• T = período (intervalo de repetição) (unidade: s)

• T = TH + TL

• F = 1/T = frequência (unidade: Hz = 1/s)

– Exemplo: se FCLK = 1 GHz, TCLK = 1 ns (10-9 s)

TL THT

mudanças de estado

ocorrem aqui

Page 4: circSeq_AOCO_201516

4

António José Araújo, FEUP AOCO_2015/16 - Circuitos sequenciais 7

Organização geral de um sistema

sequencial síncrono• O flanco de relógio determina quando é que os elementos de

memória são modificados.

• O período de relógio deve ser longo o suficiente para a saída da lógica combinatória atingir o seu valor final, isto é, estabilizar.

• Num sistema sensível à transição, o valor de um elemento de memória pode ser usado para calcular o próximo valor desse mesmo elemento. A alteração só é efetuada na transição ativa seguinte.

Circuito combinatório

Circuito combinatórioElemento de

estado 1

Elemento de

estado 1

Elemento de

estado 2

António José Araújo, FEUP AOCO_2015/16 - Circuitos sequenciais 8

Elemento de memória

• Circuitos bi-estáveis:

– portas lógicas “normais” com realimentação

positiva, isto é, que reforça o estado atual

– as saídas sustentam valores nas entradas

• O circuito bi-estável mais simples:

– mas … não tem entradas,

não podendo ser controlado

Q,Q’ pode ser 1,0 ou 0,1

Page 5: circSeq_AOCO_201516

5

António José Araújo, FEUP AOCO_2015/16 - Circuitos sequenciais 9

Latch tipo D (ou transparente)

símbolo:

EN D Q Q’

0 X Qant. Q’ant.

1 0 0 1

1 1 1 0

Q

Q’

D

EN

Quando EN=1 a latch é transparente (Q=D)

Quando EN passa de 1 para 0, a saída Q memoriza o seu estado

D

Q

EN

Q

Q’

D

EN

R

S

António José Araújo, FEUP AOCO_2015/16 - Circuitos sequenciais 10

Flip-flop tipo D

D CLK Q Q’

X 0 Qant. Q’ant.

X 1 Qant. Q’ant.

1 1 0

0 0 1

Edge-triggered: sensível à transição do sinal de relógio (CLK)

CLK

D

Q

Page 6: circSeq_AOCO_201516

6

António José Araújo, FEUP AOCO_2015/16 - Circuitos sequenciais 11

Flip-flop tipo D

• quando CLK sobe captura o valor na entrada D

• símbolo:

• parâmetros temporais: tsetup e thold

Que acontece se estes

tempos forem violados?

CLK

D

tsetup thold

Q

Q’

D

CLK

indica que é

edge-triggered

indica que é ativo à transição

negativa, ou descendente

Q

Q’

D

CLK

António José Araújo, FEUP AOCO_2015/16 - Circuitos sequenciais 12

Flip-flop tipo D

Equação característica:

– Q* representa o próximo valor para Q

• quando CLK passa de 0 para 1

– Q* é função de Q e da entrada

• flip-flop tipo D: Q* = D

– copia para Q o que está em D

Page 7: circSeq_AOCO_201516

7

António José Araújo, FEUP AOCO_2015/16 - Circuitos sequenciais 13

Registos

• Registo: grupo de n elementos de memória (p. ex. flip-

flops D), que são acedidos como uma única entidade e

partilham o mesmo sinal de relógio

• Exemplo: implementação de um registo de 4 bits

D3 D2 D1 D0

Q3 Q2 Q1 Q0

CLK

António José Araújo, FEUP AOCO_2015/16 - Circuitos sequenciais 14

Banco de registos

• Banco de registos: conjunto de registos com a mesma capacidade,

em que cada registo pode ser selecionado individualmente

Qual a função do

descodificador e

do multiplexador?

Exemplo: banco

de 8 registos de

4 bits

Page 8: circSeq_AOCO_201516

8

António José Araújo, FEUP AOCO_2015/16 - Circuitos sequenciais 15

Contador síncrono

• Todos os flip-flops têm o mesmo sinal de relógio (circuito síncrono),

comutando simultaneamente.

• A saída Qi troca quando todos os bits anteriores (Q0 a Qi-1) são iguais a 1.

QD

CLK

QD

CLK

QD

CLK

CLK

ENQ0

Q1

Q2

• Constituição com flip-flops tipo D:

CLK

QAENQB

QC

CONT3

Símbolo (ex: contador

de 3 bits)

António José Araújo, FEUP AOCO_2015/16 - Circuitos sequenciais 16

Contador com load

QD

CLK

QD

CLK

QD

CLK

CLK

EN Q0

Q1

Q2

D0

D1

D2

load

0

1

0

1

0

1

Quando load está ativo, o contador é “carregado” com o que está nas entradas Di

Como acrescentar uma entrada de reset (síncrono)?