Upload
internet
View
109
Download
3
Embed Size (px)
Citation preview
ComL@b – Laboratório de Comunicações Digitais
Aula 8, Exp 6: Parelização e Serialização de circuitos.
Fabbryccio Cardoso
Dalton S. Arantes
DECOM-FEEC-UNICAMP
www.decom.fee.unicamp.br/~cardoso
ComL@b – Laboratório de Comunicações Digitais
Exemplo 1
fpt dbl
res_EF
fpt dbl
res_CD
fpt dbl
res_AB
F
E
D
C
B
A
xlmult
z-4
a
b
(ab)
Mult2
xlmult
z-4
a
b
(ab)
Mult1
xlmult
z-4
a
b
(ab)
Mult
dbl fpt
F
dbl fpt
E
dbl fpt
D
dbl fpt
C
dbl fpt
B
dbl fpt
A
ComL@b – Laboratório de Comunicações Digitais
Serialização do Exemplo 1
TDD amostra em d0 nos instantes 0, 3, 6, 9, ...
TDD amostra em d0 nos instantes 0, ST, 2*ST, 3*ST, ...
Delay total deve ser múltiplo de ST
Sample Time = ST Sample Time = 1
fpt dbl
res_EF
fpt dbl
res_CD
fpt dbl
res_AB
xltdd 3
z-1
d q1
q2
q0
Time Division Demultiplexer
xlmult
z-4
a
b
(ab)
Mult1
dbl fpt
F
dbl fpt
E
z-2
Delay
dbl fpt
D
dbl fpt
C
xltdm 3d1
d2
q
d0
d1
B_D_F
dbl fpt
B xltdm 3d1
d2
q
d0
d1
A_C_E
dbl fpt
A
E C A E C A E C A
F D B F D B F D B
EF CD AB EF CD AB EF CD AB 0 0 0 0
EF CD AB EF CD AB EF CD AB 0 0 0 0 0 0 q2 q1 q0 q2 q1 q0 q2 q1 q0 q2 q1 q0 q2 q1 q0
t
ComL@b – Laboratório de Comunicações Digitais
Verificar o resultado
TDD amostra em d0 nos instantes 0, 3, 6, 9, ...
TDD amostra em d0 nos instantes 0, ST, 2*ST, 3*ST, ...
Delay total deve ser múltiplo de ST
Sample Time = ST Sample Time = 1
fpt dbl
res_EF
fpt dbl
res_CD
fpt dbl
res_AB
xltdd 3
z-1
d q1
q2
q0
Time Division Demultiplexer
TimeScope
F
A.*B
E
D
C
B
A
xlmult
z-4
a
b
(ab)
Mult1
dbl fpt
F
dbl fpt
E
z-3
Delay1
z-2
Delay
dbl fpt
D
dbl fpt
C
xltdm 3d1
d2
q
d0
d1
B_D_F
dbl fpt
B
|u|
xltdm 3d1
d2
q
d0
d1
A_C_E
dbl fpt
A
SystemGenerator
ST1 = 3 ST2 = 1
Latência total medida em ST1 = (4 + 2)/ST1 + 1 = 3
ComL@b – Laboratório de Comunicações Digitais
Resultados
RES_AB
referência
Erro absoluto
ComL@b – Laboratório de Comunicações Digitais
Exemplo 2
fpt dbl
res_AB
TimeScope
A.*B
B
A
xlmult
z-4
a
b
(ab)
Mult1
z-4
Delay1
dbl fpt
B
|u|
dbl fpt
A
Sy stemGenerator
ComL@b – Laboratório de Comunicações Digitais
Paralelização do Exemplo 2
fpt dbl
res_AB
xltdm 3d1
d2
q
d0
d1
Time Division Multiplexer
xltdd 3
z-1
d q1
q2
q0
xltdd 3
z-1
d q1
q2
q0
xlmult
z-4
a
b
(ab)
Mult3
xlmult
z-4
a
b
(ab)
Mult2
xlmult
z-4
a
b
(ab)
Mult1
dbl fpt
B
dbl fpt
A
A2 A1 A0 A2 A1 A0
B2 B1 B0 B2 B1 B0
ST1 = 1 ST2 = 3
A0 A0 0
B0 B0 0
A0B0 A0B0 0 0 0 0 0
A1B1 A1B1 0 0 0 0 0
A2B2 A2B2 0 0 0 0 0
.... A2B2 A1B1 A0B0 000 000 000 000 000
ComL@b – Laboratório de Comunicações Digitais
Verificação
Sample Time = ST = 1
Sample Time = 3*ST
fpt dbl
res_AB
xltdm 3d1
d2
q
d0
d1
Time Division Multiplexer
xltdd 3
z-1
d q1
q2
q0
xltdd 3
z-1
d q1
q2
q0
TimeScope
A.*B
B
A
xlmult
z-4
a
b
(ab)
Mult3
xlmult
z-4
a
b
(ab)
Mult2
xlmult
z-4
a
b
(ab)
Mult1
z-15
Delay1
dbl fpt
B
|u|
dbl fpt
A
SystemGenerator
ST1 =1
ST2 =3
Latência em ST1 = 3*(1+4)
ComL@b – Laboratório de Comunicações Digitais
Resultados
RES_AB
referência
Erro absoluto
ComL@b – Laboratório de Comunicações Digitais
Multiplicador serial de 5 entradas
fpt dbl
resultado
xlusamp 3
Up Sample2
xltdm 5
d1
d2
d3
d4
q
d0
d1
Time Division Multiplexer
TimeScope
resultado
E
D
C
B
A
xlrelationala
ba=b
Relational
xlregisterz-1d
rstq
Register
xlmult
z-2
a
b(ab)
Mult3
dbl fpt
E
xldsamp 15
z-1
Down Sample
z-1
Delay1
dbl fpt
D
outrst
Counter
k =14
Constant
dbl fpt
C
dbl fpt
B
|u|
dbl fpt
ASy stem
Generator
ComL@b – Laboratório de Comunicações Digitais
Multiplicador serial ABCDE sem latência
X
z -1
Valor inicial = 1
A cada 5 períodos de clock o registrador precisa ser resetado.
Atraso de 1
1*A 1*A*B 1*A*B*C 1*A*B*C*D 1
BCDEF
1*A*B 1*A*B*C 1*A*B*C*D A*B*C*D*E 1*F
A
1
1*A
23456 1Clock:
ComL@b – Laboratório de Comunicações Digitais
Multiplicador com latência
X
z -1
0 1*A 0*B 1*A*C 0*B*D
BCDEF
0*B 1*A*C 0*B*D 1*A*C*E
A
1
1*A
23456 1Clock:
z -1
0
Não Funcionou
ComL@b – Laboratório de Comunicações Digitais
Multiplicador com latência: solução
X
z -1
0 1*A 0 1*A*B 0
0B0C0
0 1*A*B 0 1*A*B*C
A
1
1*A
23456 1Clock:
z -1
0
Atraso de 1
Atraso de 1
ComL@b – Laboratório de Comunicações Digitais
Multiplicador com latência 2
X
z -1
0 A 0 A*B0
0B0C0 A
1
23456 1Clock:
z -2
78910111213141516
000DE 0 000F
A*B*C A*B*C*D 00000001
0 A 0 A*B0A*B*C A*B*C*D 0000000A*B*C*D*E 0
Reseta o registrador a cada 15 pulsos de clocke amostra a saída do multiplicador.
ComL@b – Laboratório de Comunicações Digitais
Circuito para latência 2
fpt dbl
resultado
xlusamp 3
Up Sample2
xltdm 5
d1
d2
d3
d4
q
d0
d1
Time Division Multiplexer
TimeScope
resultado
E
D
C
B
A
xlrelationala
ba=b
Relational
xlregisterz-1d
rstq
Register
xlmult
z-2
a
b(ab)
Mult3
dbl fpt
E
xldsamp 15
z-1
Down Sample
z-1
Delay1
dbl fpt
D
outrst
Counter
k =14
Constant
dbl fpt
C
dbl fpt
B
|u|
dbl fpt
ASy stem
Generator
ComL@b – Laboratório de Comunicações Digitais
Exercício
Dadas cinco fontes independentes A, B, C, D e E do tipo
aritmético signed fixed (32,29), disponibilizadas no
arquivo exp6.mat, realize as tarefas:
Implemente, utilizando quatro multiplicadores em paralelo,
a operação f = A*B*C*D*E;
Implemente, utilizando apenas um único multiplicador, a
operação f = A*B*C*D*E;
Para as duas implementações citadas acima, compare o
resultado obtido com o resultado desejado (variável
resultado) plotando a diferença absoluta entre ambos.
ComL@b – Laboratório de Comunicações Digitais
fpt dbl
resultado
TimeScope
A.*B.*C.*D.*E
Signal FromWorkspace5
E
Signal FromWorkspace4
D
C
B
A A
B
C
D
E
f -14
Z
Multiplicador_Paralelo
dbl fpt
E
z-14
Delay
dbl fpt
D
dbl fpt
C
dbl fpt
B
Add
|u|
Abs
dbl fpt
ASy stem
Generator
ref
ref
calc
calcdif erro
Comparação de resultados
Signal Processing / Signal Operation
Signal Processing / Sinks
Simulink / Math Operation
Signal Processing / Sources
ComL@b – Laboratório de Comunicações Digitais
Inicialização de variáveis
Inicializar o modelo, a partir do arquivo de dados
exp6.mat, usando o model explorer:
M-Code
ComL@b – Laboratório de Comunicações Digitais
Sugestões
Não esqueça de otimizar os parâmetros de
quantização dos blocos;
Fixar os parâmetros de quantização dos Gateways
IN em fix_32_29;
Avaliar a ocupação de área para os multiplicadores
serial e paralelo.
ComL@b – Laboratório de Comunicações Digitais
Experimento: Serialização
2
Out2
1
Out1
z-1x 0.8008
CMult1
z-1x 0.8008
CMult
din dout
Atraso1
din dout
Atraso
xladdsuba+b
a
b
a
AddSub1
xladdsuba+b
a
b
a
AddSub
2
In2
1
In1
A
B
C
D
Fixar latência em 1 para o experimento.
... A1 A0
... B1 B0 ... B1 B0 0
... (A2+B1) (A1+B0) A0
... (C2+D1) (C1+D0) C0Usar latência de 8000 amostras.
ComL@b – Laboratório de Comunicações Digitais
2
Out2
1
Out1
xltdm 2
d1
q
d0
d1
Time Division Multiplexer1
xltdm 2
d1
q
d0
d1
Time Division Multiplexer
xltdd 2
z-1
d
q1
q0
Time Division Demultiplexer
z-1x 0.8008
CMult
din dout
Atraso1
din dout
Atraso
xladdsuba+b
a
b
a
AddSub
2
In2
1
In1
Fix_16_14
Fix_16_14
Fix_16_14
Fix_16_14
Fix_16_14
Fix_16_14
Fix_16_14
Fix_16_14
Fix_16_14
Fix_16_14
Experimento: Serialização
A
B
C
D
... C1 A1 C0 A0
... D1 B1 D0 B0
... (C1+B1) (A1+D0) (C0+B0) A0
... D1 B1 D0 B0 0
Não Funciona: o que fazer para corrigir?
ComL@b – Laboratório de Comunicações Digitais
Avaliação
Visto do experimento: 5 pontos;
Modelo com as resoluções: 5 pontos;