Este exemplo de projeto demonstra como recarregar os coeficientes de um arquivo ao usar a função de compilador IP MegaCore de resposta de impulso finito (FIR). O compilador FIR oferece a flexibilidade para alterar os coeficientes no tempo de funcionamento. Enquanto o compilador FIR está izando os dados com um conjunto de coeficientes, você pode recarregar outro conjunto sem interromper o processamento do núcleo.
Para otimizar a eficiência do silício, os coeficientes não são armazenados em sua ordem natural. Este exemplo explica as etapas para reordenar os coeficientes usando o executável pré coef_seq.exe. O filtro usa quatro conjuntos de coeficientes: passe baixo, passe alto, passagem de banda e filtros de rejeição de banda. Os dois primeiros são parametrizados no kit de ferramentas IP; os dois últimos devem ser recarregados no tempo de execução e exigir reordenamento antecipadamente. O testbench fornecido mostra como configurar controles para recarregar os coeficientes para atender aos requisitos de tempo.
Baixe os arquivos usados neste exemplo:
- Baixe o arquivo de design de exemplo de recarregação do coeficiente FIR (Versão 91)
- Baixe o arquivo README do coeficiente fir (versão 91)
O uso deste design é regido por, e sujeito, aos termos e condições do Contrato de licença de exemplo de projeto Intel®.
Os arquivos no zip download incluem:
- fir91.v - arquivo do compilador FIR
- coef_reload_tb.v - arquivo Testbench
- coef_reload_msim.tcl - script Tcl para executar uma simulação funcional usando a ferramenta ModelSim*
- coef_seq.exe - executável do Windows que reordena os coeficientes
Tabela 1. Lista de portas do compilador FIR
Nome da porta |
Tipo |
Descrição |
---|---|---|
Clk |
Entrada |
Sinal do clock |
reset_n |
Entrada |
Sinal de reinicialização baixa ativa síncrona |
sink_data[15:0] |
Entrada |
Dados de entrada de amostra |
coef_set |
Entrada |
Selecione qual conjunto de coeficientes usado para o cálculo |
sink_valid |
Entrada |
Afirmado quando os dados de entrada são válidos |
source_ready |
Entrada |
Afirmado pelo módulo de downstream se ele é capaz de aceitar dados |
sink_error[1:0] |
Entrada |
Sinal de erro indicando Avalon®-ST no lado do dissipador |
coef_set_in |
Entrada |
Seleciona qual coeficiente será recarregado |
coef_we |
Entrada |
Sinal ativo de alta capacidade de gravação |
coef_in[18:0] |
Entrada |
Valor do coeficiente de entrada ao carregar o coeficiente |
source_data[37:0] |
Saída |
Saída do filtro |
sink_ready |
Saída |
Afirmado pelo filtro FIR quando ele é capaz de aceitar dados |
source_valid |
Saída |
Afirmado pelo filtro FIR quando há dados válidos para saída |
source_error[1:0] |
Saída |
Sinal de erro indicando Avalon®-ST no lado da fonte |
Tabela 2. Parâmetros do compilador FIR
Parâmetros FIR |
Valores |
---|---|
Taxa de filtragem |
Único |
Nº de canais de entrada |
1 |
Bitwidth de entrada |
16 |
Bitwidth de saída |
38 (Resolução completa) |
Bitwidth do coeficiente |
16 |
Nº do conjunto de coeficientes |
2 |
Nº de coeficiente em cada conjunto |
37 |
Família de dispositivos |
Stratix® IV |
Estrutura |
DA: Filtro totalmente paralelo |
Nível do pipeline |
1 |
Armazenamento de dados |
Células lógicas |
Armazenamento de coeficientes |
M512 |
Caixa de recarga do coeficiente |
Verificado |
Use a caixa de clock único |
Verificado |