Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouEduarda Cacho Alterado mais de 10 anos atrás
1
Aula 6, Exp 5: Implementação de Atrasos com FIFO
Aula 6, Exp 5: Implementação de Atrasos com FIFO Fabbryccio Cardoso Dalton S. Arantes DECOM-FEEC-UNICAMP
2
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 SRL Reg -> Ratraso = 34 ciclos/slice 1 slice e 16 bits -> Ratraso = 34/16 = ciclos/slice Nslice = / = 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
3
Configuração Física do Experimento
4
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;
5
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.
6
Módulo System Generator
fpt dbl audio_right_out audio_right_in audio_left_out audio_left_in y_out ST xlregister d q Display System Generator double Fix_16_14 Adicionar Sub-Sistema para implementar equações de diferenças.
7
Interface do System Generator: Bitstream
8
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;
9
Lógica do atrasador Cont: 1 2 3 4 71 72 73 1 we: re: din: A B C D E
1 2 3 4 71 72 73 1 we: re: din: A B C D E F G H I J dout: A B C D Atraso de leitura. Atraso total = = 73 Use o bloco “terminator” da biblioteca Simulink/Sinks nas portas de saída não utilizadas
10
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.
11
Dicas para a fase de testes de simulação
Atraso total Atraso de leitura Primeira amostra é zero. Resultado esperado para atraso de 5.
12
Avaliação Visto do experimento = 7 pontos;
Modelo do Projeto SysGen = 3 pontos.
13
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.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.