13
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 Aula 6, Exp 5: Implementação de Atrasos com FIFO Fabbryccio Cardoso Dalton S. Arantes DECOM-FEEC-UNICAMP

Embed Size (px)

Citation preview

Page 1: 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

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

Page 2: 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

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

Page 3: 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

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

Page 4: 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

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;

Page 5: 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

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.

Page 6: 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

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.

Page 7: 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

ComL@b – Laboratório de Comunicações Digitais

Interface do System Generator: Bitstream

Page 8: 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

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

Page 9: 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

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

Page 10: 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

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.

Page 11: 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

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

Page 12: 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

ComL@b – Laboratório de Comunicações Digitais

Avaliação

Visto do experimento = 7 pontos;

Modelo do Projeto SysGen = 3 pontos.

Page 13: 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

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.