aula8-exp6.ppt [modo de compatibilidade]cardoso/ie344b2008s2/aula8-exp6.pdf · coml@b –...
TRANSCRIPT
ComL@b – Laboratório de Comunicações Digitais
www.decom.fee.unicamp.br/~cardoso
Aula 8, Exp 6: Parelização e Serialização de circuitos.
Fabbryccio Cardoso
D lt S A tDalton S. Arantes
DECOM-FEEC-UNICAMP
ComL@b – Laboratório de Comunicações Digitais
Exemplo 1Exemplo 1
A adbl fpt
fpt dbl
res_ABB
A
xlmult
z-4
a
b
(ab)
dbl fpt
dbl fpt
A
C a
Mult
dbl fpt
B
fpt dbl
res_CDD
xlmult
z-4b
(ab)
dbl fpt
D
C
E a
Mult1
dbl fpt
E
D
fpt dbl
res_EFF
xlmult
z-4b
(ab)
Mult2
dbl fpt
F
E
Mult2
ComL@b – Laboratório de Comunicações Digitais
Serialização do Exemplo 1Serialização do Exemplo 1
TDD amostra em d0 nos instantes 0, ST, 2*ST, 3*ST, ...
dbl f t
E C A E C A E C At
TDD amostra em d0 nos instantes 0, 3, 6, 9, ...
fpt dbl
res_ABdbl fpt
B xltdm3d1 q
d0
d1
dbl fpt
A
fpt dblxltdd3d q1
q0
xlmult
a
(ab) z-2
dbl fpt
C
B xltdm3d1
d2
qd1
A_C_Efpt dbl
res_CD
xltdd3
z-1d q1
q2
Time Division Demultiplexer
z-4b
(ab)
Mult1
z
Delay
dbl fpt
D
xltdm3d1 q
d0
d1
Delay total deve ser múltiplo de ST
Sample Time = ST Sample Time = 1
fpt dbl
res_EFdbl fpt
F
dbl fpt
E d2
B_D_F
Sample Time = ST Sample Time = 1 F
F D B F D B F D BEF 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
EF CD AB EF CD AB EF CD AB 0 0 0 0
q q q q q q q q q q q q q q q
ComL@b – Laboratório de Comunicações Digitais
Verificar o resultadoVerificar o resultado
TDD amostra em d0 nos instantes 0, 3, 6, 9, ...
TDD amostra em d0 nos instantes 0, ST, 2*ST, 3*ST, ...
A dbl fpt
fpt dbl
res_AB
q0C
B
adbl fpt
dbl fpt
B xltdm3d1
d2
q
d0
d1
A
fpt dbl
res_CD
xltdd3
z-1d q1
q2
q0
Time Division Demultiplexer
D
C
xlmult
z-4
a
b
(ab)
Mult1
z-2
Delaydbl fpt
D
db p
C
xltdm3d1 q
d0
d1
A_C_E
Delay total deve ser múltiplo de ST
Sample Time = ST Sample Time = 1
fpt dbl
res_EF
p
F
E
dbl fpt
F
dbl fpt
E
d3d
d2
qd
B_D_F
SystemGenerator
ST1 = 3 ST2 = 1
TimeScope
A.*B z-3
Delay1
|u|
Latência total medida em ST1 = (4 + 2)/ST1 + 1 = 3
ComL@b – Laboratório de Comunicações Digitais
ResultadosResultados
RES ABRES_AB
referência
Erro absoluto
ComL@b – Laboratório de Comunicações Digitais
Exemplo 2Exemplo 2
Sy stem
A adbl fpt
Sy stemGenerator
fpt dbl
res_ABB
A
xlmult
z-4
a
b
(ab)
dbl fpt
B
dbl fpt
A
Mult1
4
B
TimeScope
A.*B z-4
Delay1
|u|
ComL@b – Laboratório de Comunicações Digitais
Paralelização do Exemplo 2Paralelização do Exemplo 2
q0 aA0 A0 0
A0B0 A0B0 0 0 0 0 0 d0xltdd3
z-1
d q1
q2
xlmult
z-4b
(ab)dbl fpt
AB0 B0 0
q0
a
Mult1
A2 A1 A0 A2 A1 A0A1B1 A1B1 0 0 0 0 0
.... A2B2 A1B1 A0B0 000 000 000 000 000
fpt dbl
res_AB
xltdm3d1 qd1
xltdd3
z-1
d q1
q0xlmult
z-4b
(ab)
dbl fpt
B zq2
a
Mult2B
B2 B1 B0 B2 B1 B0 A2B2 A2B2 0 0 0 0 0d2xlmult
z-4b
(ab)
A2B2 A2B2 0 0 0 0 0
Time Division MultiplexerMult3
ST1 = 1 ST2 = 3
ComL@b – Laboratório de Comunicações Digitais
VerificaçãoVerificação
q0 a
SystemGenerator
d0xltdd3
z-1
d q1
q2
Axlmult
z-4b
(ab)
Mult1
dbl fpt
A
fpt dbl
res_AB
xltdm3d1 qd1
xltdd3
z-1
d q1
q0
B
xlmult
z-4
a
b
(ab)
dbl fpt
B
Sample Time = ST = 1 d2
zq2
xlmult-4
a
(ab)
Mult2B
Sample Time = 3*ST Time Division Multiplexer
z-4b
Mult3
ST1 =1
ST2 =3
TimeS
A.*B z-15
Delay1
|u|
Scopey
Latência em ST1 = 3*(1+4)
ComL@b – Laboratório de Comunicações Digitais
ResultadosResultados
RES ABRES_AB
referência
Erro absoluto
ComL@b – Laboratório de Comunicações Digitais
Multiplicador serial de 5 entradasMultiplicador serial de 5 entradas
d0A dbl fpt d0A dbl fpt
A
d1d1B dbl fpt
B
xltdm 5d2 qC dbl fpt
CU
d3D dbl fpt
D
d4E dbl fpt
D
Time Division MultiplexerE
ComL@b – Laboratório de Comunicações Digitais
Multiplicador serial ABCDE sem latênciaMultiplicador serial ABCDE sem latência
Atraso 23456 1Clock:
Valor inicial = 1de 1
1*A 1*A*B 1*A*B*C 1*A*B*C*D 1 1
z -1
XBCDEF ABCDEF A
1*A*B 1*A*B*C 1*A*B*C*D A*B*C*D*E 1*F 1*A
A cada 5 períodos de clock o registrador precisa ser resetado.
ComL@b – Laboratório de Comunicações Digitais
Multiplicador com latênciaMultiplicador com latência23456 1Clock:
0 1*A 0*B 1*A*C 0*B*D 1
z -1
XBCDEF A z -1
0*B 1*A*C 0*B*D 1*A*C*E 1*A 0
Não FuncionouNão Funcionou
ComL@b – Laboratório de Comunicações Digitais
Multiplicador com latência: soluçãoMultiplicador com latência: solução23456 1Clock:
Atraso
0 1*A 0 1*A*B 0 1
de 1
z -1
X0B0C0 A z -1
Atraso de 1
0 1*A*B 0 1*A*B*C 1*A 0
ComL@b – Laboratório de Comunicações Digitais
Multiplicador com latência 2Multiplicador com latência 223456 1Clock: 78910111213141516
0 A 0 A*B0 1A*B*C A*B*C*D 00000001
z -1
X0B0C0 A z -2000DE 0 000F 0B0C0 A000DE 0 000F
0A 0A*B0A*B*CA*B*C*D 0000000A*B*C*D*E0 0 A 0 A*B0A*B*C A*B*C*D 0000000A*B*C*D*E 0
R t i t d d 15 l d l kReseta 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 2Circuito para latência 2
d0A
1d
Registerdbl fpt
d1d1B
xlregisterz-1
rstq
dbl fpt
B
A
xlusamp 3
Up Sample2
xltdm 5d2
d3
q
D
Cxlmult
z-2
a
b(ab) xldsamp 15
z-1
dbl f t
dbl fpt
C
d3
d4E
D Mult3
dbl fpt
Down Sampledbl fpt
D
Time Division MultiplexerE
xlrelationala
ba=b
outrst
CRelational
Counter
k =14
ComL@b – Laboratório de Comunicações Digitais
ExercícioExercício
Dadas cinco fontes independentes A, B, C, D e E do tipo
aritmético signed fixed (32 29) disponibilizadas no 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;
P d i l t õ it d i 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
Comparação de resultadosComparação de resultados
B
A A
Bdbl fpt
dbl fpt
ASy stem
Generator Simulink / Math
fpt dbl
resultado
C
B B
C f -14
Zdbl fpt
C
dbl fpt
B
Add
|u|
Ab
Generator
calcdif erro
Simulink / MathOperation
TimeS
E
D D
Edbl fpt
dbl fpt
D
Add Abs
ref
calc
ScopeSignal FromWorkspace4
Multiplicador_ParaleloE
Signal Processing / A.*B.*C.*D.*E
Signal FromWorkspace5
z-14
Delay
ref
Signal Processing / Signal Operation
g gSinks
Si l P i / SSignal Processing / Sources
ComL@b – Laboratório de Comunicações Digitais
Inicialização de variáveisInicialização de variáveis
Inicializar o modelo, a partir do arquivo de dados
6 t d d l lexp6.mat, usando o model explorer:
M-Code
ComL@b – Laboratório de Comunicações Digitais
Sugestões 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.serial e paralelo.
ComL@b – Laboratório de Comunicações Digitais
Experimento: SerializaçãoExperimento: Serialização
Fixar latência em 1 para o experimento.
aaA... A1 A0... (A2+B1) (A1+B0) A0
1Out1z-1
x 0.8008 din dout
Atraso
xladdsuba+ba
b
a
AddSub
1In1 B
CMult
aaC
... B1 B0 ... B1 B0 0... (C2+D1) (C1+D0) C0Usar latência de 8000 amostras.
2Out2z-1
x 0.8008 din dout
Atraso1
xladdsuba+ba
b
a
AddSub1
2In2 D
CMult1Atraso1
ComL@b – Laboratório de Comunicações Digitais
Experimento: SerializaçãoExperimento: Serialização
A
xltdm2
d1
q
d0
d1
Fix_16_14
A
C
... C1 A1 C0 A0
1Out1d0
d1d1
Time Division Multiplexerq0
din doutl dd b
aa1 Fix_16_14 Fix_16_14Fix 16 14
Fix_16_14B
C... (C1+B1) (A1+D0) (C0+B0) A0
2Out2
xltdm2
d1
q
d1
Ti Di i i M lti l 1
xltdd2
z-1d
q1z-1x 0.8008
CMult
Atraso
xladdsuba+bb
AddSub
In1 Fix_16_14Fix_16_14Fix_16_14
Fix_16_14D
Time Division Multiplexer1 Time Division Demultiplexer
din dout
Atraso1
2In2
Fix_16_14 Fix_16_14 ... D1 B1 D0 B0
... D1 B1 D0 B0 0
Não Funciona: o que fazer para corrigir?
ComL@b – Laboratório de Comunicações Digitais
AvaliaçãoAvaliação
Visto do experimento: 5 pontos;
Modelo com as resoluções: 5 pontos;ç p ;