Escolar Documentos
Profissional Documentos
Cultura Documentos
Sistemas Digitais
INE 5406
Aula 13-T
4. Projeto de Sistemas Digitais no Nvel RT. Aumentando o Nvel de Abstrao. Estudo de caso e Explorao do Espao de Solues: multiplicador por somas sucessivas (sol.1- custo mnimo).
Aplicao:
Quando o problema que se deseja solucionar pode ser apresentado como um algoritmo
Formas de representao:
Fluxograma Trecho de cdigo em pseudocdigo ou em alguma linguagem (ex.: C, C++, Java, SystemC)
slide 13T.2
slide 13T.3
slide 13T.4
slide 13T.5
slide 13T.6
slide 13T.7
slide 13T.8
slide 13T.9
Interfaces
entA entB
n n
incio
pronto
S.D.
n sada
slide 13T.10
slide 13T.11
O algoritmo pode ser representado graficamente por meio de um fluxograma ou por uma FSMD
INE/CTC/UFSC Sistemas Digitais - semestre 2008/2
slide 13T.12
entA entB
n n pronto
S.D.
Neste algoritmo: n H variveis que servem para armazenar sada dados (A, B, P) H variveis que so apenas interfaces de entrada e sada (entA, entB, sada, pronto) Deve haver UFs para realizar as operaes especificadas Associados aos testes deve existir sinais de status que o B.C. Usa para tomar as decises
slide 13T.13
Prof. Jos Lus Gntzel
At aqui, nada foi especificado a respeito do desempenho e do custo da implementao Explorando a relao custo x desempenho: Uma operao por ciclo de relgio x vrias operaes por ciclo.
slide 13T.14
incio
S.D.
n sada
slide 13T.15
incio
S.D.
n sada
B = 0
N S
A = 0
N
Iremos assumir que somente uma operao ocorre por ciclo de relgio As operaes que podem ocorrer em paralelo esto em uma mesma caixa (observe que pronto uma sada de controle.)
INE/CTC/UFSC Sistemas Digitais - semestre 2008/2
slide 13T.16
Operaes necessrias: + e - (na verdade, seria um decremento, mas vamos assumir subtrao) As operaes + e- so usadas em ciclos de relgio diferentes. Logo, poderemos usar um somador/subtrator, que mais barato que um somador mais um subtrator
sada P pronto 1 fim INE/CTC/UFSC Sistemas Digitais - semestre 2008/2
B = 0
N S
A = 0
N
P P + B A A - 1
slide 13T.17
Subtrator de 4 bits
b3 a2 b2 a1 b1 a0 b0
SC
s3
c3
SC
s2
c2
SC
s1
c1
SC
s0
c0
0 c4
SC
s3
c3
SC
s2
c2
SC
s1
c1
SC
s0
c0
b3 a3 a2
b2 a1
b0 a0
b0
c3 c4
Somador/Subtrator de 4 bits
c0 S
SC
s3
c3
SC
s2
c2
SC
s1
c1
SC
s0
overflow
slide 13T.18
b0
c3 c4
SC
s3
c3
SC
s2
c2
SC
s1
c1
ai
S
bi
MS
SC
s0
overflow
gi
ci+1
pi
ci
xi
MS
si
INE/CTC/UFSC Sistemas Digitais - semestre 2008/2
slide 13T.19
b0
Mas em CMOS
ai
S
c3 c4
bi
SC
s3
c3
SC
s2
c2
SC
s1
c1
SC
s0
overflow
pi
Vcc
ci+1
B S
ci
A A B
INE/CTC/UFSC Sistemas Digitais - semestre 2008/2
si
slide 13T.20
ci+1
Y X Y
ci
X Y X Y
si
X Y
16 transistores
INE/CTC/UFSC Sistemas Digitais - semestre 2008/2
12 transistores
(necessita de 2 inversores)
Prof. Jos Lus Gntzel
slide 13T.21
ci+1
ci
si
8 transistores
INE/CTC/UFSC Sistemas Digitais - semestre 2008/2
6 transistores
( a mais usada)
slide 13T.22
b0
c3 c4
SC
s3
c3
SC
s2
c2
SC
s1
c1
SC
s0
overflow
Custo do Somador/subtrator, por bit: 3 portas xor: 3 x 6 = 18 transistores 3 portas nand de duas entradas: 3 x 4 = 12 transistores Logo, custo de um bit = 30 transistores (ignorando-se a xor que calcula o overflow) Custo de um somador/subtrator de n bits: 30n transistores
INE/CTC/UFSC Sistemas Digitais - semestre 2008/2
slide 13T.23
H trs variveis (p/ dados): A, B e P Iremos precisar de, no mximo, trs registradores
B = 0
N S
A = 0
N
slide 13T.24
B = 0
N
2 3 4 5
A = 0
Existe ao menos um passo no qual as 3 variveis esto simultaneamente vivas. Logo, so necessrios 3 registradores. Chamemo-los de A, B e P
INE/CTC/UFSC Sistemas Digitais - semestre 2008/2
slide 13T.25
B = 0
N S
2 3 4 5
A = 0
N
B=0?
6
zero zero
INE/CTC/UFSC Sistemas Digitais - semestre 2008/2
slide 13T.26
1 2
B = 0
N S
A = 0
N
3 4
slide 13T.27
B = 0
N S
A
n
CA
B
n S
CB
A = 0
N
3 4
overflow
+/n
0 1 slide 13T.28
entA
n
entB
n S3 CA CB n
0 1
1 2
RstP CP
P
n S1 n
0 1
A
n
1
n S2
B = 0
N S
Az n overflow
Bz n S0
A = 0
N
3 4
S4
+/n
S0
0 1
entB
n S3 CA CB n
0 1
n RstP CP
P
n S1 n
0 1
A
n
Az n overflow
Bz n S0
S4
+/n
sada
INE/CTC/UFSC Sistemas Digitais - semestre 2008/2
slide 13T.30
sel Y
A Y
sel A Y B
14 ou 12 transistores
INE/CTC/UFSC Sistemas Digitais - semestre 2008/2
18 ou 20 transistores (eventualmente, podemos considerar somente um inversor para o clock de todos os bits)
CK D D
CK
CK CK CK
CK
CK
CK
slide 13T.32
dado carga CK
D C
Q Q
slide 13T.33
S controle
slide 13T.34
Custo
24n 26n 30n 4n 18n 22n 6n
0
D C
Q Q
dado carga CK
D C
Q Q
slide 13T.35
entB
n S3 CA CB n
0 1
n RstP CP
P
n S1 n
0 1
A
n
Az n overflow
Bz n S0
S4
+/n
sada
INE/CTC/UFSC Sistemas Digitais - semestre 2008/2
Se n = 4 bits: 1 2 Maior inteiro sem sinal: 15 (1111) Pior caso: A=15, B0 Seqncia de execuo: 1, 15x[2,3,4], 2, 5 = 48 passos (48 ciclos de relgio) Generalizando para n bits: 3 4 Maior inteiro sem sinal: 2n-1 Pior caso: A= 2n-1 , B0 Seqncia de execuo: 1, (2n-1)x [2,3,4], 2, 5 = 3x(2n-1)+3 = passos 3x2n (=~ 3x2n ciclos de relgio)
slide 13T.37
Prof. Jos Lus Gntzel
B = 0
N S
A = 0
N
1 2
S0
inicio=1
S1
B = 0
N S
Az=1 + Bz=1
S2 Az=0 Bz=0
A = 0
N
3 4
S5
S3
S4
Estado atual
S0 inicio=1
Entradas incio 0 1 BZ 0 0 1 1 AZ 0 1 0 1 -
Prx. Estado S0 S1 S2 S3 S5 S5 S5 S4 S2 S0
S0 S1 S2
S1
Az=1 + Bz=1
S2 Az=0 Bz=0
S3
S3
S4 S5
S5
S4
slide 13T.39
entA
n
entB
n S3 CA CB n
0 1
1
RstP CP
P
n S1 n
0 1
A
n
1
n S2
B = 0
N S
Az n overflow
Bz n S0
A = 0
N
3
S4
4
sada slide 13T.40
+/n S0
0 1
Estado
pronto 0 A entA B entB P 0
S
Reg. P RstP CP 0 0 0 1 0 0 0 1 0 0 0 0
Reg. A S3 1 0 CA 0 1 0 0 1 0 CB 0 1 0 0 0 0
Somador/Sub S1 0 1 S2 0 1 S0 0 1 S4 0 0 0 0 0 1
Sada pronto 0 0 0 0 1
1
S0 S1
B = 0
N S
S2 S3 S4 S5
A = 0
N
P P + B
3 4
1 sinal
RstP = S3 = CB CP CA = S0 = S1 = S2 S4 = pronto slide 13T.41
5
sada P pronto 1 fim
1 sinal 4 sinais
1 sinal
A A - 1