View
104
Download
0
Category
Preview:
Citation preview
ComL@b – Laboratório de Comunicações Digitais
Aula 6, Exp 5: Implementação de Atrasos com FIFO
Fabbryccio Cardoso
Dalton S. Arantes
DECOM-FEEC-UNICAMP
www.decom.fee.unicamp.br/~cardoso
ComL@b – Laboratório de Comunicações Digitais
Objetivo do Experimento
No Experimento 4 foi implementada a equação de
diferenças y(n) = x(n) + 0.8*x(n – 6000), onde: 1 slice e 1 bit -> 2 SRL16 + 2 Reg -> Ratraso = 34
ciclos/slice
1 slice e 16 bits -> Ratraso = 34/16 = 2.125 ciclos/slice
Nslice = 6000 / 2.125 = 2824 (XCV2P30 tem 13969).
Utilizar FIFOs, implementadas com BRAM, para
implementar atrasadores e economizar slices de
lógica;
Obs: A FPGA XC2VP30 possui 136 BRAMs de 18kb cada;
6000x16 = 96 kb ~6 BRAMs de 18kb
ComL@b – Laboratório de Comunicações Digitais
Configuração Física do Experimento
Geração de áudio(PCM)
Captura, Processamento e Reprodução do Sinal de áudio
Reprodução de áudio
Line In
Line OutCabos
ComL@b – Laboratório de Comunicações Digitais
Metodologia
Utilizar o netlist do projeto principal (top-level)
“xupv2pro_wrapper.ngc” e UCF
“xupv2pro_wrapper.ucf” do Experimento 4 ;
Gerar o bitstream do projeto a partir do SysGen
(observe que o SysGen irá gerar o componente
audio_clk_wrapper.ngc a partir do modelo audio.mdl para então
executar a fase de implementação do fluxo de projeto, ligando o
componente SysGen ao projeto principal)
A implementação da equação de diferenças deve
ser feita no modelo “audio.mdl” que irá gerar o
componente audio_clk_wrapper para o projeto
principal;
ComL@b – Laboratório de Comunicações Digitais
Implementação de Componente no SysGen
Editar o modelo “audio.mdl”: não renomear o modelo
nem as portas (gateways); certificar que as portas estão
configuradas para 16 bits; (se estes requisitos não forem atendidos
haverá um descasamento entre o componente audio_clk_wrapper.ngc esperado pelo
projeto principal e o gerado pelo ISE, resultando em erro na fase de implementação)
Implementar a equação de diferenças para os canais
esquerdo e direito do modelo a partir de FIFOS:
y(n) = x(n) + 0.8*x(n – 6000);
Usar o bloco Resource Estimator para estimar os
recursos da FPGA necessários para implementação do
componente.
ComL@b – Laboratório de Comunicações Digitais
Módulo System Generator
fpt dbl
audio_right_out
dbl fpt
audio_right_in
fpt dbl
audio_left_out
dbl fpt
audio_left_in
y_out0
ST
xlregisterd q
xlregisterd q
xlregisterd q
xlregisterd q
0
DisplaySystem
Generator
double
double
Fix_16_14
Fix_16_14 Fix_16_14
Fix_16_14
Fix_16_14
Fix_16_14 double
double
Adicionar Sub-Sistema para implementar equações de diferenças.
ComL@b – Laboratório de Comunicações Digitais
Interface do System Generator: Bitstream
ComL@b – Laboratório de Comunicações Digitais
Dicas Gerais
Aproveite o modelo do Experimento 4 e use um
subsystem para implementar o atrasador desejado em
substituição ao bloco “delay” do SysGen;
Na FIFO, din é o sinal de entrada e dout é o sinal de
saída; as portas we e re são para controle; e empty,
%full e full são para inspecionar o estado da FIFO;
Se a FIFO não estourar ou esvaziar, todo sinal que é
escrito na FIFO (din) quando we = 1 deve ser recuperado
em dout quando re = 1, seguindo a lógica first in first
out;
xlfifo
din
we
re
dout
empty
%full
full
doutdout
FIFO
ComL@b – Laboratório de Comunicações Digitais
Lógica do atrasador
xlfifo
din
we
re
dout
empty
%full
full
doutdout
FIFO
0 1 2 3 4 71 72 73
1
A B C D E F G H I J
0 0 0 0 0 0 0 0 A B C D
Cont:
we:
re:
din:
dout:
Atraso de leitura.
Atraso total = 72 + 1 = 73
Use o bloco “terminator” da biblioteca Simulink/Sinks nas portas de saída não utilizadas
ComL@b – Laboratório de Comunicações Digitais
Testes
Inspecionar os sinais de entrada e saída da FIFO
para comprovar se a lógica obtém o atraso
desejado; Verifique se funciona, por exemplo, para
um atraso de 5;
Para inspecionar os resultados use o bloco “scope”
da biblioteca Simulink/Sinks;
Para se inspecionar os sinais do SysGen com o
scope também é necessário utilizar o bloco
Gateway Out para converter os dados para o
formato do Simulink.
ComL@b – Laboratório de Comunicações Digitais
Dicas para a fase de testes de simulação
Scope
fpt dbl
fpt dbl
fpt dblCont
re
dout
Resultado esperado para atraso de 5.
Atraso de leitura
Primeira amostra é zero.
Atraso total
ComL@b – Laboratório de Comunicações Digitais
Avaliação
Visto do experimento = 7 pontos;
Modelo do Projeto SysGen = 3 pontos.
ComL@b – Laboratório de Comunicações Digitais
O que deve ser entregue
No lugar do relatório, deverá ser entregue o
modelo SysGen do projeto com o netlist e o UCF do
projeto principal.
Adicionar comentário no modelo comparando a
ocupação de área (slices) e de BRAMS dos
atrasadores dos experimentos 4 e 5.
Entregar também o modelo de teste com atraso de
5 ciclos.
Recommended