Você está na página 1de 10

Universidade Federal de Santa Catarina

Centro Tecnológico
Departamento de Informática e Estatística
Curso de Graduação em Ciências da Computação

Lógica Programável
INE 5348

Aula 12
Projeto de Sistemas Digitais no Nível RT. Barramentos x
Multiplexadores, Registradores x Banco de Registradores,
Análise de Timing de um SD.

Prof. José Luís Güntzel


guntzel@inf.ufsc.br
www.inf.ufsc.br/~guntzel/ine5348/ine5348.html
Projeto de Sistemas Digitais no Nível RT
Barramentos x Multiplexadores

• Se qualquer registrador pode ser


R1 R2 R3 R4
fonte ou destino de dados para
qualquer uma das entradas da UF
• Se somente um registrador está
conectado a cada entrada da UF, 00 01 10 1 1 00 01 10 1 1

por vez (i.e., por ciclo de relógio)


n n
• Então, é melhor usar barramentos
(um por entrada da UF)! overflow
+/-
S0

4 sinais de controle

INE/CTC/UFSC slide 12T.2 Prof. José Luís Güntzel


Lógica Programável - semestre 2007/2
Projeto de Sistemas Digitais no Nível RT
Barramentos x Multiplexadores

• Porém, somente um registrador


R1 R2 R3 R4
pode escrever no barramento, por
vez (i.e., por ciclo de relógio)
• Logo, usar tri-state

n n

overflow S0
+/-
n

8 sinais de controle

INE/CTC/UFSC slide 12T.3 Prof. José Luís Güntzel


Lógica Programável - semestre 2007/2
Projeto de Sistemas Digitais no Nível RT
Registradores x Banco de Registradores

• Se houver uma quantidade grande


R1 R2 R3 R4
de registradores (ou pelo menos 4)
• Se somente um registrador está
conectado a cada entrada da UF,
por vez (i.e., por ciclo de relógio) 00 01 10 1 1 00 01 10 1 1

• Então, é possível reduzir custo da


n n
rede de interconexão agrupando os
registradores overflow
+/-
S0

INE/CTC/UFSC slide 12T.4 Prof. José Luís Güntzel


Lógica Programável - semestre 2007/2
Projeto de Sistemas Digitais no Nível RT
Registradores x Banco de Registradores
Exemplo 1:
Reg a ser 2
escrito
R1
R1 R2 R3 R4
R2
R3
Reg a ser 2 2 Reg a ser
lido 1 R4 lido 2

00 01 10 1 1 00 01 10 1 1 n n

overflow S0
+/-
n n
n
overflow S0
+/-
n
• 4 registradores
• 2 “portas” de leitura e 1 “porta” de escrita
• 2 bits de endereço/ por “porta”
INE/CTC/UFSC slide 12T.5 Prof. José Luís Güntzel
Lógica Programável - semestre 2007/2
Projeto de Sistemas Digitais no Nível RT
Registradores x Banco de Registradores
Exemplo 2: Banco de registradores de um microprocessador
3 Controle
5 ULA
Reg a ser 32
lido #1 Dado
5 lido #1 Para o BC
Reg a ser Zero
lido #2
Registradores ULA
5 32
Reg a ser
escrito Dado
lido #2
Dado de
escrita 32

EscReg

• 2 “portas” de leitura e 1 “porta” de escrita (há um sinal p/ habilitar escrita)


• Quantos registradores há neste banco de registradores?
• Qual o comprimento (ou tamanho) dos dados?

INE/CTC/UFSC slide 12T.6 Prof. José Luís Güntzel


Lógica Programável - semestre 2007/2
Projeto de Sistemas Digitais no Nível RT
Análise de Timing
Sinais de status

D1 Q1

Q1

lógica de D2 Q2
lógica de
próximo Q2 saída
Bloco Operativo
estado
D3 Q3

Q3

Sinais de controle
(comando)

INE/CTC/UFSC slide 12T.7 Prof. José Luís Güntzel


Lógica Programável - semestre 2007/2
Projeto de Sistemas Digitais no Nível RT
Análise de Timing
Exemplo entA entB
n
n S3 n
0 1
n
D1 Q1 RstP CA CB
Q1 P A B 1
lógica de CP n n n n
lógica de D2 Q2 saída
próximo Q2 S1 0 1 0 1 S2
estado Bz
Az
D3 Q3
n
Q3
n n
S0
S4
+/-
n

saída

INE/CTC/UFSC slide 12T.8 Prof. José Luís Güntzel


Lógica Programável - semestre 2007/2
Projeto de Sistemas Digitais no Nível RT
entA entB
Análise de Timing n
S3 n
n
0 1
n
D1 Q1 RstP CA CB
Q1 P A B 1
lógica de CP n n n n
lógica de D2 Q2
saída
próximo Q2 S1 0 1 0 1 S2
estado Bz
Az
1 D3 Q3
n
Q3
n n
S0
2 S4
+/-
n

1 Período do clock ?

ck

td1 = max { tdRegEst , thold}, onde:


• tdRegEst = atraso de propagação do reg. de estado
• thold = tempo de manutenção (hold) do reg. de estado
td1 tsetup tdLPE = atraso e propagação da lógica de próximo estado
tdLPE tdSU = tempo de setup do registrador de estado

INE/CTC/UFSC slide 12T.9 Prof. José Luís Güntzel


Lógica Programável - semestre 2007/2
Projeto de Sistemas Digitais no Nível RT
entA entB
Análise de Timing n
S3 n
n
0 1
n
D1 Q1 RstP CA CB
Q1 P A B 1
lógica de CP n n n n
lógica de D2 Q2
saída
próximo Q2 S1 0 1 0 1 S2
estado Bz
Az
D3 Q3
n
Q3
n n
S0
S4
+/-
n

2 Período do clock

ck

td1 = max { tdRegEst , thold}


tdLS = atraso e propagação da lógica de saída
tdMux = atraso de propagação do multiplexador 2:1
td1 tdMux tdMux tdSomaSub = atraso de propagação do somador-subtrator
tdLS tsetup = tempo de setup do registrador A
tdSomaSub tsetup

INE/CTC/UFSC slide 12T.10 Prof. José Luís Güntzel


Lógica Programável - semestre 2007/2

Você também pode gostar