aula 6, exp 5: implementação de atrasos com fifo

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

Upload: carly-atkins

Post on 13-Mar-2016

29 views

Category:

Documents


2 download

DESCRIPTION

www.decom.fee.unicamp.br/~cardoso. Aula 6, Exp 5: Implementação de Atrasos com FIFO. Fabbryccio Cardoso Dalton S. Arantes DECOM-FEEC-UNICAMP. Objetivo do Experimento. No Experimento 4 foi implementada a equação de diferenças y(n) = x(n) + 0.8*x(n – 6000), onde: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Aula 6, Exp 5: Implementação de Atrasos com FIFO

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

Aula 6, Exp 5: Implementação de Atrasos com FIFO

Fabbryccio CardosoDalton S. ArantesDECOM-FEEC-UNICAMP

www.decom.fee.unicamp.br/~cardoso

Page 2: Aula 6, Exp 5: Implementação de Atrasos com FIFO

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: Aula 6, Exp 5: Implementação de Atrasos com FIFO

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: Aula 6, Exp 5: Implementação de Atrasos com FIFO

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: Aula 6, Exp 5: Implementação de Atrasos com FIFO

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: Aula 6, Exp 5: Implementação de Atrasos com FIFO

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: Aula 6, Exp 5: Implementação de Atrasos com FIFO

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

Interface do System Generator: Bitstream

Page 8: Aula 6, Exp 5: Implementação de Atrasos com FIFO

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: Aula 6, Exp 5: Implementação de Atrasos com 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

Page 10: Aula 6, Exp 5: Implementação de Atrasos com FIFO

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: Aula 6, Exp 5: Implementação de Atrasos com FIFO

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: Aula 6, Exp 5: Implementação de Atrasos com FIFO

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

Avaliação

Visto do experimento = 7 pontos;

Modelo do Projeto SysGen = 3 pontos.

Page 13: Aula 6, Exp 5: Implementação de Atrasos com FIFO

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.