implementac¸ao de filtros adaptativos em˜...

64
UNIVERSIDADE CAT ´ OLICA DE PELOTAS ESCOLA DE INFORM ´ ATICA PROGRAMA DE P ´ OS-GRADUAC ¸ ˜ AO EM INFORM ´ ATICA Implementac ¸˜ ao de Filtros Adaptativos em FPGA por Conrado Ruch Jr. Trabalho Individual I TI-2006/2-02 Orientador: Prof. Dr. S´ ergio Jos´ e Melo de Almeida Co-orientador: Prof. Dr. Eduardo Antˆ onio C´ esar da Costa Pelotas, dezembro de 2006

Upload: duongtram

Post on 14-Dec-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

UNIVERSIDADE CATOLICA DE PELOTAS

ESCOLA DE INFORMATICA

PROGRAMA DE POS-GRADUACAO EM INFORMATICA

Implementacao de Filtros Adaptativos emFPGA

porConrado Ruch Jr.

Trabalho Individual ITI-2006/2-02

Orientador: Prof. Dr. Sergio Jose Melo de AlmeidaCo-orientador: Prof. Dr. Eduardo Antonio Cesar da Costa

Pelotas, dezembro de 2006

Page 2: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

AGRADECIMENTOS

Ao completar esta etapa, presto meus agradecimentos a todosque de alguma formacontribuiram de forma direta ou indireta para este trabalho. Como forma de reconheci-mento, quero citar aqui ao Programa de Pos-Graduacao em Informatica, que acreditouem minhas capacidades, e concedeu-me a possibilidade de serum aluno deste programa.Tambem quero agrader a CAPES, atraves de seu programa PROSUP, que me beneficioucom uma bolsa integral, proporcionando-me tranquilidade para a realizacao de minhasatividades. Aos meus colegas de mestrado, meu sincero obrigado, por sua companhia eauxılio, e aos professores e funcionarios do PPGINF, que tanto se dedicaram em nossofavor.

Agradeco tambem a meus familiares, que mesmo distantes, me apoiaram naexecucao deste trabalho. E a Lısia, minha namorada, por seu auxılio e compreensao,tao fundamentais quanto seu amor.

Um especial agradecimento a meus professores orientador Prof. Sergio Jose Melode Almeida e co-orientador prof. Eduardo Antonio Cesar daCosta, por sua coragem emme acolher, por sua compreensao nos momentos difıceis, e por nunca desistir de mim,mesmo quando isso parecia iminente ou necessario, conduzindo-me assim ate este mo-mento, na conclusao deste trabalho. Saibam todos que vossaamizade, apoio e compan-heirismo foram fundamentais para o desenrolar de minhas atividades.

Page 3: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

SUMARIO

LISTA DE FIGURAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

LISTA DE TABELAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

LISTINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

LISTA DE ABREVIATURAS E SIGLAS . . . . . . . . . . . . . . . . . . . . . 8

RESUMO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

ABSTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1 INTRODUCAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.2 Objetivos desta Monografia . . . . . . . . . . . . . . . . . . . . . . . . . 131.3 Contribuicoes da Monografia . . . . . . . . . . . . . . . . . . . . . . . . 131.4 Organizacao da Monografia . . . . . . . . . . . . . . . . . . . . . . . . . 13

2 FILTRAGEM ADAPTATIVA, O “ESTADO-DA-ARTE” E SEUS CON-CEITOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14

2.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.2 Filtragem Adaptativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.3 Sistema Adaptativo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.4 Filtro FIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.5 Solucao otima de Wiener . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.6 Algoritmos Adaptativos . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.6.1 Algoritmo LMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.6.2 Algoritmo NLMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3 ARQUITETURAS DEDICADAS . . . . . . . . . . . . . . . . . . . . . . . 223.1 Trabalhos Relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.2 Projeto de uma Arquitetura . . . . . . . . . . . . . . . . . . . . . . . . . 233.2.1 Especificacao de Requisitos . . . . . . . . . . . . . . . . . . . .. . . . . 233.2.2 Modelamento da Arquitetura . . . . . . . . . . . . . . . . . . . . . .. . 243.2.3 Sıntese de Alto Nıvel . . . . . . . . . . . . . . . . . . . . . . . . . .. . 243.2.4 Mapeamento Tecnologico . . . . . . . . . . . . . . . . . . . . . . . .. . 243.2.5 Simulacao do Circuito . . . . . . . . . . . . . . . . . . . . . . . . .. . . 253.3 Ferramentas de CAD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Page 4: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

3.3.1 VHDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4 ATIVIDADES PROPOSTAS E REALIZADAS . . . . . . . . . . . . . . . . 274.1 Especificacao da Proposta . . . . . . . . . . . . . . . . . . . . . . . . . . 274.2 Desenvolvimento da Proposta. . . . . . . . . . . . . . . . . . . . . . . . 284.2.1 Circuito MAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.2.2 Circuito Multiplicador . . . . . . . . . . . . . . . . . . . . . . . . .. . . 294.2.3 Circuito Somador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.2.4 Circuito Acumulador . . . . . . . . . . . . . . . . . . . . . . . . . . . .304.2.5 Circuito Divisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31

5 RESULTADOS OBTIDOS . . . . . . . . . . . . . . . . . . . . . . . . . . . 345.1 Analise de Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345.1.1 Analise Funcional . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 345.1.2 Analise considerandoTiming . . . . . . . . . . . . . . . . . . . . . . . . 345.1.3 Analise Comparativa . . . . . . . . . . . . . . . . . . . . . . . . . . .. 35

6 CONCLUSAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

REFERENCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

ANEXO A SOMADOR 16 BITS . . . . . . . . . . . . . . . . . . . . . 39

ANEXO B DIVISOR 16 BITS . . . . . . . . . . . . . . . . . . . . . . 42

ANEXO C MULTIPLICADOR 16 BITS . . . . . . . . . . . . . . . . . 45

ANEXO D REGISTRADOR 16 BITS . . . . . . . . . . . . . . . . . . 63

Page 5: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

LISTA DE FIGURAS

Figura 2.1 Sistema de Filtragem Adaptativa . . . . . . . . . . . . . .. . . . . . 14Figura 2.2 Sistema Adaptativo . . . . . . . . . . . . . . . . . . . . . . . . .. . 16Figura 2.3 Filtro FIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Figura 2.4 Erro Medio Quadratico: LMS x NLMS . . . . . . . . . . . .. . . . 21

Figura 3.1 Etapas do Projeto de uma Arquitetura . . . . . . . . . . .. . . . . . 23

Figura 4.1 Filtro FIR LMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28Figura 4.2 Filtro FIR NLMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Figura 4.3 Simulacao do circuito multiplicador . . . . . . . .. . . . . . . . . . 30Figura 4.4 Simulacao do circuito somador . . . . . . . . . . . . . .. . . . . . . 30Figura 4.5 Simulacao do circuito acumulador . . . . . . . . . . .. . . . . . . . 31Figura 4.6 Simulacao do circuito divisor . . . . . . . . . . . . . .. . . . . . . 33

Page 6: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

LISTA DE TABELAS

Tabela 2.1 Algoritmo LMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Tabela 2.2 Algoritmo NLMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Tabela 4.1 Metricas do Multiplicador Array Binario . . . . .. . . . . . . . . . 30Tabela 4.2 Metricas do Registrador de 16 bits . . . . . . . . . . . .. . . . . . . 31Tabela 4.3 Codigo fonte antes da alteracao . . . . . . . . . . . .. . . . . . . . 32Tabela 4.4 Codigo fonte alterado . . . . . . . . . . . . . . . . . . . . . .. . . . 32Tabela 4.5 Metricas dos divisores . . . . . . . . . . . . . . . . . . . . .. . . . 32

Tabela 5.1 Metricas do Filtro de 16 bits em simulacao Funcional . . . . . . . . . 34Tabela 5.2 Metricas do Filtro de 16 bits em simulacaoTiming . . . . . . . . . . 34Tabela 5.3 Ciclos utilizados por Operacao da arquitetura. . . . . . . . . . . . . 35

Page 7: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

LISTINGS

A.1 Somador 16 bits na linguagem VHDL . . . . . . . . . . . . . . . . . . . 39B.1 Divisor 16 bits na linguagem VHDL . . . . . . . . . . . . . . . . . . . .42C.1 Multiplicador 16 bits na linguagem VHDL . . . . . . . . . . . . . .. . . 45D.1 Registrador 16 bits na linguagem VHDL . . . . . . . . . . . . . . . .. . 63

Page 8: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

LISTA DE ABREVIATURAS E SIGLAS

AP Affine Projection

ASICs Circuitos de Aplicacoes Especıficas

CPLD Complex Programmable Logic Device

DoD Departamento de Defesa dos Estados Unidos

DSP Digital Signal Processor

EPLD Eraseable Programmable Logic Device

EEPLD Electrically Eraseable Programmable Logic Device

FIR Finite Impulse Response

FPGA Field Programmable Gate Array

HDL Linguagens de Descricao de Hardware

IEEE Institute of Electrical and Electronic Engineers

LAMIPSLaboratorio de Microeletronica e Processamento de Sinais

LMS Least Mean-Square

MAC Multiplicador-Somador-Acumulador

NLMS Normalized Least Mean-Square

RLS Recursive Least Square

SSI Small Scale Integration

ULSI Ultra large scale integration

VHDL VHSIC Hardware Description Language

VHSIC Very High Speed Integrated Circuit

Page 9: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

RESUMO

Este trabalho apresenta a implementacao do algoritmo NLMS em uma arquiteturadedicada de um filtro adaptativo em FPGA. A filtragem adaptativa e uma estrategia uti-lizada para o tratamento de sinais. Esta solucao e empregada com sucesso em diversasareas e sua utilizacao, associada a utilizacao de filtros adaptativos, permitindo uma amplagama de aplicacoes, apesar destes filtros variarem em sua forma de atuacao bem como oambiente a ser empregado.

Dentre dos algoritmos existentes, o algoritmo LMS tem provado sua versatili-dade desde sua proposicao, mesmo sujeito a comportamentos indesejados em situacoesde flutuacao no valor da potencia do sinal de entrada, e possuindo como caracterısticasbasicas a baixa velocidade de convergencia. Ja o algoritmo LMS Normalizado procuraatender a estas caracterısticas, em detrimento de um aumento da computacao e da com-plexidade algoritmica.

O objetivo principal proposto neste trabalho sera contribuir e promover a con-tinuidade do trabalho desenvolvido pelo LAMIPS, avancando a partir da arquitetura ja ex-istente ate a implementacao do algoritmo LMS normalizado (NLMS), dentro da estruturade um filtro adaptativo puramente sequencial. Atraves desta implementacao do circuitode 16 bits 8 taps em uma arquitetura dedicada serao demonstradas as etapas necessariaspara a implementacao do algoritmo e a utilizacao do circuito.

Palavras-chave:Filtros adaptativos, fpga, nlms.

Page 10: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

ABSTRACT

TITLE: “ADAPTIVE FILTER IMPLEMENTATION ON FPGA”

This work presents an implementation of NLMS algorithm in a dedicated architec-ture of FPGA adaptive filter. The adaptive filter is a strategyused for the signal processing.This solution is successfully used in many areas and its use,associated the use of adaptivefilters, allowing an ample gamma of applications, despite these filters varying in its formof performance as well as the environment to be used.

Amongst of the existing algorithms, algorithm LMS has proven its versatility sinceits proposal, exactly subject to the behaviors undesired insituations of fluctuation in thevalue of the power of the input signal, and possessing as characteristic basic low thespeed of convergence. Already Normalized algorithm LMS search to take care of tothese characteristics, in detriment of an increase of the computation and the algoritmicacomplexity.

The considered main objective in this work will be to contribute and to promotethe continuity of the work developed for the LAMIPS, advancing from the existing archi-tecture already until the implementation of normalized algorithm LMS (NLMS), insideof the structure of purely sequential a adaptativo filter. Through this implementation ofthe circuit of 16 bits and 8 taps in a dedicated architecture the implementation of thealgorithm and the use of the circuit will be demonstrated to the necessary stages for.

Keywords: adaptive filter, fpga, nlms.

Page 11: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

11

1 INTRODUCAO

1.1 Introducao

A teoria de sistemas lineares nos permite utilizar grande n´umero de ferramentase modelos matematicos. Apesar de nosso mundo real ser determinıstico, as variaveisnecessarias para realizar o modelamento real de todo um ambiente sao praticamente in-finitas, e atualmente impossıveis de serem modeladas e/ou manipuladas. Contudo temosmodelos nao lineares capazes de descrever de forma simpleso comportamento de umapartes destes fenomenos e atividades. Estes modelos sao extremamente importantes emdiversas areas da engenharia e computacao, como cancelamento de eco acustico; reducao,identificacao ou eliminacao de fontes de ruıdo e distorcoes, e equalizacao de canais decomunicacao (MATHEWS, 1991).

Dentro do campo da nao-lineariedade, duas tecnicas sao utilizadas com sucessopara analise de diversos problemas: Filtragem Adaptativae Redes Neurais. Em particulara filtragem adaptativa, um campo de grande importancia na area de Processamento deSinais, pode oferecer uma maior confiabilidade a uma gama maior de problemas, atravesda utilizacao de filtros adaptativos fundamentais para a resolucao de problemas em ambi-entes nao estacionarios (HAYKIN, 2001).

Os filtros adaptativos sao formados por estruturas dispostas para a analise de umsinal de entrada, e a partir da comparacao deste com o sinaldesejado pelo filtro, produziro valor resultante desta diferenca. Este valor da diferenc¸a, chamado de erro, influenciaos coeficientes de ajuste do filtro, que permitem aproximar o resultado do filtro do sinaldesejado, aproximando o valor do erro a 0. Um dos fatores que influenciam o compor-tamento do filtro e o algoritmo adaptativo presente nele. Dentre eles estacamos dois: oLMS (Least Mean Square) e o NLMS (Normalized Least Mean Square), caracterizadospor sua baixa complexidade computacional e amplamente estudados, analisados e imple-mentados na literatura (HAYKIN, 2001). A implementacao destes filtros adaptativos erealizada atraves da associacao de sistemas adaptativos e estruturas dedicadas em hard-ware (circuitos digitais).

Nos ultimos anos e observado um constante avanco da eletronica digital, atravesda utilizacao de circuitos dedicados em novas aplicacoes e o aumento da complexidadedos mesmos, com a agregacao de um numero cada vez maior de funcionalidades. Um sis-tema digial e constituıdo de dispositivos construıdos para a manipulacao de informacoesdiscretas, atraves de pontos obtidos por amostras de grandezas fısicas.

O aparecimento dos atuais sistemas de informacao, que manipulam dados digitais(discretos), viabilizou o surgimento de sub-areas como controle e automacao de processos

Page 12: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

12

e processamento e transmissao de dados e sinais. Estas sub-areas foram as principaisresponsaveis por tamanha evolucao da eletronica digital. No entanto, ao mesmo tempoem que esse avanco tecnologico traz benefıcios, simplificando a vida dos usuarios dosprodutos, os projetistas e profissionais da area necessitam estar em constante atualizacaopara as novidades tecnologicas (TOCCI, 2000).

Segundo (TOCCI, 2000) dentre as causas da superacao dos sistemas digitais sobreos sistemas analogicos, nos aspectos de utilizacao, tecnologia, dentre outros, podemoscitar:

• facilidade de projeto, uma vez que sao circuitos de chaveamento;

• facilidade de armazenamento de informacoes, sendo que circuitos de chaveamentoespeciais podem

• reter informacoes por um tempo indeterminado;

• precisao e exatidao da saıda do circuito (resposta) saomaiores, podendo haver tan-tos dıgitos de precisao quantos forem

• necessarios, com a simples adicao de mais circuitos de chaveamento;

• facilidade de programacao das operacoes, sendo relativamente facil o desenvolvi-mento de sistemas

• cujo comportamento segue um conjunto de instrucoes previamente armazenadas;

• baixa susceptibilidade a ruıdos, pois trabalham com valores aproximados;

• facilidade de encapsulamento (circuitos integrados).

A tecnologia de integracao de circuitos digitais tem evoluıdo bastante desde aintegracao em pequena escala (SSI - Small scale integration), com menos de 12 portaspor circuito integrado, ate os dias atuais como alguns microprocessadores contendo al-guns milhoes de portas logicas (ULSI - Ultra large scale integration) (TOCCI, 2000).Nos ultimos anos, circuitos integrados capazes de implementar em hardware circuitos de-scritos em forma desoftware, podendo ser reconfigurados, vem ganhando espaco no mer-cado. Atualmente existem varios tipos de circuitos integrados com essa caracterıstica,como podemos citar: EPLD (Eraseable Programmable Logic Device), EEPLD (Elec-trically Eraseable Programmable Logic Device), CPLD (Complex Programmable LogicDevice), FPGA (Field Programmable Gate Array). Dentre os citados, os FPGAs saoos que possuem uma tecnologia mais avancada, capazes de implementar circuitos maiscomplexos e podendo ser reconfigurado parcial ou totalmente, estatica ou dinamicamente,dependendo da sua arquitetura.

A exploracao destas caracterısticas na implementacao de um sistema adaptativoem estruturas dedicadas em FPGAS sera o foco desta monografia, buscando trabalhar aspossibilidades oferecidas pela associacao das duas areas na computacao.

Page 13: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

13

1.2 Objetivos desta MonografiaO objetivo geral desta monografia e conhecer e implementar arquiteturas ded-

icadas em em VHDL (VHSIC Hardware Description Language), formadas por filtrosadaptativos utilizando os algoritmos LMS (Least Mean-Square) e NLMS (NormalizedLeast Mean-Square). Para a execucao das tarefas sera utilizada a ferramenta Quartus II6.0 SP1 da Altera para realizar a modelagem, sıntese e simulacao do circuito (ALTERA,2006).

1.3 Contribuicoes da MonografiaNesta monografia e realizada a comparacao entre filtros adaptativos que utilizam

os algoritmos LMS e o NLMS, implementados em circuitos dedicados, dentro de uma es-trutura transversal de um filtro FIR (Finite Impulse Response), implementado em VHDL.Com base nas simulacoes apresentadas, serao comparadasas metricas obtidas em umaimplementacao anteriormente realizada (FOSTER et al., 2006), com os valores extraıdosa partir da implementacao deste algoritmo agora implementado. Alem disso e impor-tante ressaltar a importancia da contribuicao deste trabalho para o desenvolvimento dasatividades do LAMIPS (Laboratorio de Microeletronica e Processamento de Sinais), etambem para o desenvolvimento futuro da dissertacao final de Mestrado.

1.4 Organizacao da MonografiaEsta organizacao desta monografia divide seu conteudo em6 capıtulos. Este

capıtulo 1 apresentou uma instrucao sobre o trabalho, nocapıtulo 2 sao abordados ostopicos teoricos referentes a filtragem adaptativa e seuscomponentes: sistema adapta-tivo, algoritmos adaptativos, solucao otima de Wiener eos algoritmos LMS e NLMSabordados neste trabalho. Durante o terceiro capıtulo sao apresentados os conceitos so-bre arquiteturas dedicadas, FPGA, VHDL e caracterısticasinerentes as implementacoes.No capıtulo 4 sao discutidas as proposicoes para a realizacao do trabalho e apresentadasas etapas realizadas para o desenvolvimento da solucao. Efinalmente no capıtulo 5 saoreportados os resultados obtidos e finalizadas as conclusoes.

Page 14: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

14

2 FILTRAGEM ADAPTATIVA, O “ESTADO-DA-ARTE” E SEUS CONCEITOS

2.1 Introducao

Neste capıtulo sao apresentados os conceitos basicos sobre: filtragem adaptativa,sistema adaptativo, algoritmos adaptativos, solucao otima de Wiener.

2.2 Filtragem Adaptativa

A filtragem adaptativa constitui uma ferramenta fundamental no processamento desinais digitais. Ela e aplicada atualmente em um grande numero de problemas de engen-haria. Esta tecnica tem sido explorada com sucesso em problemas de Economia, Engen-haria Biomedica, Equalizacao de Canais, Sistemas de Controle e em Telecomunicacoes.Em (HAYKIN, 2001) e apresentado um breve historico do desenvolvimento da filtragemadaptativa e aplicacoes do processamento adaptativo de sinais.

O estudo da filtragem adaptativa ganhou impulso com o desenvolvimento do algo-ritmo LMS por Widrow e Hopf em 1959, e tem recebido consideravel atencao de muitospesquisadores nas ultimas decadas. Este interesse deve-se ao fato de muitos problemaspraticos nao poderem ser resolvidos de maneira satisfat´oria atraves da utilizacao de filtrosdigitais (ALMEIDA, 2004). Assim, o uso de filtros adaptativos permite a expansao dascapacidades de processamento que nao seriam possıveis deoutra forma.

Observando a figura 2.1 percebemos que o processo de um sistema de filtragemadaptativa consiste na utilizacao de um filtro adaptativopara processar sinais resultantesde ambientes com estatısticas estocasticas, fornecendona saıda um sinal tratado queatende aos criterios do filtro adaptativo.

Figura 2.1: Sistema de Filtragem Adaptativa

Page 15: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

15

2.3 Sistema Adaptativo

Um sistema adaptativo e aquele cuja estrutura e alteravel (atraves do ajuste dosseus coeficientes) de tal forma que seu comportamento melhore de acordo com al-gum criterio de desempenho atraves da exposicao ao ambiente no qual sera inserido(ALMEIDA, 2004). O ajuste dos coeficientes do filtro adaptativo e realizado atravesda implementacao de um algoritmo, devidamente escolhido, cujo objetivo e atender arequisitos dos sistema. Estes algoritmos sao definidos como algoritmos adaptativos.

Segundo Widrow e Stearns (WIDROW; STEARNS, 1985) os sistemas adapta-tivos possuem todas ou algumas destas caracterısticas abaixo listadas:

1. Adaptacao automatica a medida em que ocorre a modificacao do ambiente e/oumudanca das necessidades do sistema (auto-otimizacao);

2. Possibilidade de serem treinados para desenvolver uma tarefa especıfica de fil-tragem ou decisao, ou seja, podem ser programados atravesde um processo detreinamento (auto-programaveis);

3. Em virtude disso, nao precisam de procedimentos elaborados de sıntese (sao basi-camente auto-programaveis);

4. Podem extrapolar o espaco de conhecimento e lidar com novas situacoes apos otreinamento com um pequeno conjunto de padroes de entrada (auto-aprendizado);

5. Ate certo ponto podem reparar a si mesmos, ou seja, podem adaptar-se em regioesproximas da otima mesmo quando sujeitos a certos tipos de defeitos ou limitacoes;

6. Geralmente sao mais complexos e difıceis de analisar que sistemas nao adaptativos,mas oferecem a possibilidade de um desempenho substancialmente melhor quandoas caracterısticas do ambiente sao desconhecidas ou variantes no tempo.

A operacao de um sistema de filtragem adaptativa envolve dois processos basicos:o processo de filtragem com o objetivo de produzir uma saıda em resposta a umasequencia de entrada; e o processo adaptativo. O proposito e fornecer um mecanismo paraajuste de um conjunto de parametros utilizados no processode filtragem (ALMEIDA,2004).

A estrutura de um sistema adaptativo e representada pela figura 2.2. Neste sistemasua saıda e modificada de tal forma que seu comportamento sofre alteracoes de acordocom o criterio desejado. Neste exemplo observa-se um sistema em diagrama de blocosrepresentando um sistema adaptativo, com uma sequencia de entradax(n), o filtro FIR ea saıday(n): um sinald(n) que representa a resposta desejada, e que subtraindo do sinaly(n)gera o valor de erroe, que e o valor da diferenca entre o sinal desejado e a estimativado filtro. A equacao 2.1 apresenta a expressao que representa o valor de erro, dada por:

e(n) = d(n) − y(n) (2.1)

Page 16: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

16

Figura 2.2: Sistema Adaptativo

A partir desta percepcao verifica-se que o objetivo final dofiltro e estimar seuvalor de saıda, aproximando ao maximo este resultado com ovalor desejado, ate atingiro valor de erro nulo ou proximo de zero. A realimentacao dofiltro com o sinal de erroprocura forcar o sistema a esta adaptacao.

2.4 Filtro FIRFiltros FIR sao estruturas responsaveis pelas caracter´ısticas do processo de fil-

tragem, e respondem pela duracao da resposta impulsionaldeste filtro. Sua construcaoobedece o criterio desejado, e e o responsavel pelo comportamento do sistema adapta-tivo. Na figura 2.3 e apresentada a ilustracao da estrutura de um filtro transversal, ondeo numero de elementos de atraso determina a duracao finitade sua resposta ao impulso,representados porZn.

Figura 2.3: Filtro FIR

Os filtros FIR sao utilizados no processo de filtragem no dom´ınio de uma deter-minada frequencia. Eles podem diferir na forma de atuac˜ao sobre o sinal. Sao filtrosestaveis, e de facil implementacao. Este filtro, chamado filtro de resposta ao impulso deduracao finita, e utilizado para filtragem adaptativa em tempo real. Sua ordem e baseadano numero de elementos de atraso, e sua saıday e determinada pela equacao 2.2:

Page 17: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

17

y =N−1∑

i=0

ωix(n − i) (2.2)

E importante salientar que o desempenho do sistema adaptativo e diretamente de-pendente do algoritmo adaptativo utilizado no filtro, sendoeste topico abordado maisadiante.

2.5 Solucao otima de WienerA solucao de Wiener e proveniente de uma base estatıstica, onde os coeficientes

otimos de um filtro linear sao obtidos atraves da minimizacao do erro quadratico. Estefiltro requer informacoes adicionais a respeito do sinal original e do ruıdo; e alem dissoele considera a estacionariedade do ambiente. O objetivo dasolucao do Wiener e fornecero ω0, tambem chamado ponto otimo. Porem o ponto otimo para uma solucao em temporeal passa a ser utopico, visto que para a utilizacao da solucao de Wiener e necessarioque conhecamos antecipadamente a matriz de correlacao dos dados de entradaR e vetorde correlacao cruzada do sinal desejadop, conforme observado na equacao 2.3. Assim,diante do impasse em utilizar a solucao de Wiener, se faz necessario utilizar um algoritmoadaptativo que procure aproximar-se do valor desejado de resposta.

ω0 = R−1p (2.3)

A matriz de auto-correlacaoR dos dados de entrada para a sistema de Wiener eformada pela equacao 2.4:

R = E{

x (n) xT (n)}

(2.4)

e a equacao 2.5 representa o vetor de correlacao cruzadadado porp:

p = E {d (n) x (n)} (2.5)

A finalidade do algoritmo adaptativo e ajustar o filtro para minimizar o valor medioquadratico do erroe(n). O sistema de adaptacao ira continuamente ajustar os coeficientesdo filtro, e a cada iteracao tentar minimizar o erro. O comportamento do filtro, sua com-plexidade computacional e tempo de resposta dependem diretamente do algoritmo adap-tativo implementado no filtro. O filtro de Wiener utiliza um filtro transversal como basede sua estrutura, que apresenta baixa complexidade computacional e pequeno desajuste(HAYKIN, 2001).

2.6 Algoritmos AdaptativosEntre os diversos algoritmos existentes na literatura, pode-se citar o LMS, o

Normalized-LMS(NLMS), o Recursive Least Square(RLS) e oAffine Projection(AP)(ALMEIDA, 2004), entre outros. Cada um destes algoritmos apresenta caracterısticasbem peculiares, o que faz com que a escolha de um deles seja baseada com o tipo deproblema a que ele sera aplicado (MITRA, 2003).

Em particular, uma das aplicacoes onde a filtragem adaptativa tem permitido ex-

Page 18: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

18

celentes resultados e no cancelamento de eco acustico. O eco acustico e um fenomenocausado pela reflexao do som. Ele ocorre quando uma fonte emissora emite e recebe devolta, alem do retorno direto, uma outra versao do som, refletido (e distorcido) por umasuperfıcie, apos um determinado intervalo de tempo, resultando em repeticao do som orig-inal. Assim, quando ocorre o evento, surge uma dificuldade emestabelecer comunicacao,em virtude deste retorno. Como exemplo classico, temos as redes de telecomunicacoes,aonde o eco vem a ser a principal fonte de deterioracao.

No processo de cancelamento de eco acustico, diversas estruturas de hardwaresao estudadas. Tais estruturas sao baseadas em processadores digitais de sinais (DSP’s)(COSTA, 2002) (MITRA, 2003). Entretanto, conforme ja mencionado, o melhor desem-penho de um sistema adaptativo esta diretamente relacionado ao algoritmo adaptativo im-plementado. Assim, alem da implementacao de variados algoritmos adaptativos, tambeme necessario ter o conhecimento das tecnicas de reducao de potencia e de aumento dedesempenho, a fim de alcancar metricas necessarias para ofuncionamento.

O desempenho de um algoritmo adaptativo pode ser avaliado por um conjunto decaracterısticas. Segundo (HAYKIN, 2001) as principais s˜ao:

1. Taxa de convergencia: define o numero de iteracoes necessarias para o algoritmolevar os coeficientes do filtro para um valor em torno da solucao otima do Wiener,no sentido medio quadratico;

2. Desajuste: e a medida quantitativa da diferenca entre oerro medio quadratico resid-ual devido ao algoritmo e o erro medio quadratico mınimo,que e produzido pelofiltro de Wiener;

3. Tracking: capacidade do algoritmo de acompanhar as variacoes das caracterısticasestatısticas dos sinais em um meio nao-estacionario. Seu desempenho e influenci-ado pela taxa de convergencia e pelas flutuacoes em regimepermanente;

4. Robutez: capacidade do algoritmo operar satisfatoriamente com sinal de entradamal condicionado;

5. Complexidade Computacional: numero de operacoes poriteracao do algoritmo.Este fator pode determinar a viabilidade de sua implementac¸ao em tempo real;

6. Estrutura: o filtro adaptativo pode ser implementado utilizando-se diversas estru-turas, tais como trelicas, forma transversal e outras;

7. Estabilidade numerica: filtros adaptativos frequentemente precisam ser implemen-tados em processadores digitais de sinais (DSP’s), os quaisoperam com aritmeticade precisao finita. Um algoritmo e considerado numericamente estavel se o vetorde erro nos coeficientes do filtro permanece limitado ao longodo processamentocom precisa finita.

2.6.1 Algoritmo LMS

O algoritmo LMS continua sendo o mais utilizado em aplicac˜oes praticas por:

1. Sua baixa complexidade e facil implementacao;

Page 19: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

19

2. A garantia de sua convergencia desde que ocorra uma escolha correta de seu passode adaptacao.

O algoritmo e baseado no algoritmo do passo descendente (steepest-descent) cujaadaptacao do vetor de coeficientes e dada por (HAYKIN, 2001), observado pela equacao2.6:

ω (n + 1) = ω (n) + µ∇ωǫ (n) (2.6)

ondeµ e denominado o tamanho do passo de adaptacao (step-size), cujo valordeve ser criteriosamente escolhido para garantir a convergencia do algoritmo (HAYKIN,2001).

Na pratica∇ωǫ (n) e um valor que nao pode ser obtido com exatidao, tendo emvista que tanto o vetor de correlacao cruzadap quanto a matriz de autocorrelacaoR saodesconhecidos, e somente seus valores do instantek sao conhecidos no instantek. Assim,uma maneira de contornar o problema e utilizar valores estimados.

Como caracterısticas do algoritmo LMS pode-se citar:

1. Possui uma velocidade de convergencia lenta.

2. Poussui baixa complexidade.

3. E sensıvel a potencia do sinal de entrada, e isso influenciaem seus resultados.

4. Apresenta dificuldades e lentidao para convergir quandoutilizado sinais de entradacorrelacionados.

Para a implementacao do algoritmo LMS, emprega-se o algoritmo que consta natabela 2.1:

Inicializar:x(0) = ω(0) = 0escolherµ no intervalo0 < µ <

1λmax

para n = 1, 2, ...

e (n) = d (n) − ωT (n)x (n)ω (n + 1) = ω (n) + µe (n) x (n)

Tabela 2.1: Algoritmo LMS

2.6.2 Algoritmo NLMSO algoritmo LMS Normalizado surgiu como um avanco do LMS (MITRA, 2003).

O algoritmo LMS apresenta como um dos principais problemas asensibilidade a potenciado sinal de entrada. Para resolver este problema, o LMS Normalizado emprega umanormalizacao do sinal de entrada, tornando-o imune a variacao de potencia na entrada.

Como caracterısticas do algoritmo NLMS pode-se citar que ele:

1. Possui maior velocidade de convergencia que o LMS.

Page 20: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

20

2. E um pouco mais complexo que o LMS, mas ainda assim possui baixa complexi-dade, se comparado com outros algoritmos apresentados na literatura.

3. E imune a alteracoes da potencia do sinal de entrada, poisnormaliza a entrada dosinal.

4. E assim como o LMS apresenta baixa taxa de convergencia para sinais de entradacorrelacionados.

A equacao 2.7 representa o algoritmo NLMS normalizado.

ω (n + 1) = ω (n) +µN

xT (n) x (n)e (n) x (n) (2.7)

Para a implementacao do algoritmo LMS normalizado, emprega-se o algoritmo databela 2.2:

Inicializar:x(0) = ω(0) = 0escolherµ no intervalo0 < µ <

1λmax

para n = 1, 2, ...

e (n) = d (n) − ωT (n)x (n)ω (n + 1) = ω (n) + µN

xT (n)x(n)e (n) x (n)

Tabela 2.2: Algoritmo NLMS

Na figura 2.4 e apresentada um grafico de comparacao entreo comportamentodo LMS e do NLMS. As diferentes taxas de convergencia para a mesma situacao en-tre os dois algoritmos (LMS e NLMS) podem ser observadas no grafico. Em azul estarepresentado o LMS, que demonstra a necessidade de um tempo maior de adaptacao ateconvergir para o regime permanente, quando comparado ao NLMS, representado em ver-melho. Observamos tambem que o NLMS, apesar de ser mais rapido para a convergencia,apresenta um erro maior em regime que o LMS, quando utilizamos as mesmas condicoesde operacao.

Page 21: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

21

Figura 2.4: Erro Medio Quadratico: LMS x NLMS

O LMS e o NLMS sao algoritmos diferentes, que possuem caracterısticas de mo-dos de utilizacao diferentes. Agora durante o capıtulo tres serao discutidos os topicosreferentes as arquiteturas dedicadas de hardware.

Page 22: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

22

3 ARQUITETURAS DEDICADAS

Neste capıtulo serao abordados os pontos teoricos sobrea utilizacao de arquite-turas dedicadas, caracterısticas e etapas para a concepcao de circuitos. Sabe-se que autilizacao de uma estrutura generica pode provocar um aumento de carga computacional,e consequentemente uma reducao de desempenho. Assim, quando e necessario satisfazerrequisitos mınimos para a modelagem do circuito, deve-se explora-la arquiteturalmente,buscando atender estes requisitos.

Para este projeto preve-se a utilizacao de arquiteturasdedicadas para a construcaodo sistema adaptativo, permitindo a exploracao de possibilidades que um sistema genericonao poderia ofertar. A propria literatura demonstra melhores resultados obtidos a partirde circuitos especialmente construıdos para esta finalidade (COSTA, 2002), e recomendaesta abordagem.

Alem disso, a prototipacao em FPGA e eficiente e rapida,permitindo a realizacaode testes e aufericao de valores, comparando-os com os valores obtidos atraves deferramentas de sıntese. Esta metodologia, estando disponıvel no Laboratorio de Mi-croeletronica e Processamento de Sinais, sera utilizada. Ainda poderao ser consideradasdurante as atividades posteriores, durante a dissertacao, outras possibilidades, como aprototipacao em ASIC (Circuitos de Aplicacoes Especıficas).

A prototipacao em FPGA e um passo anterior antes da finalizacao dos circuitosdedicados. Essa possibilidade permite testar diferentes abordagens antes de efetivar aconstrucao do chip. A complexidade computacional do circuito pode gerar um aumentoda carga computacional. Provocado por este aumento computacional pode-se ter um au-mento no consumo de potencia do circuito (COSTA, 2002). Assim, circuitos dedicadospodem ser construıdos visando obter maior desempenho frente a sistemas genericos, eassim possibilitar o estabelecimento de metricas favoraveis ao desenvolvimento do prob-lema a ser solucionado (WESTE; HARRIS, 1993) (RABAEY, 1996).

Um dos requisitos dos circuitos e o atendimento da demanda de potencia, ondepodem ser desenvolvidas solucoes em diferentes nıveis de abstracao: sistema, algoritmo,arquitetura, logico, circuito e tecnologia, sendo que as maiores oportunidades para umareducao significativa encontra-se nos primeiros tres n´ıveis (COSTA, 2002).E importanteressaltar que a reducao do consumo de potencia e crucialem determinadas aplicacoes,especialmente em dispositivos moveis, onde o tempo de funcionamento do circuito de-pende do tempo de duracao da carga da bateria do dispositivo. Assim pode-se dizer queem detrimento de um mediano desempenho pode-se obter um maior rendimento da cargadas baterias para o dispositivo (RABAEY, 1996), especialmente quando se tratam dedispositivos especialmente projetados para o fim a que se destinam.

Page 23: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

23

Para permitir a construcao destes circuitos, sao realizadas etapas para o projeto econcepcao destes elementos. O passo inicial e a escolha de uma linguagem de descricaode hardware (HDL). Na proxima secao trataremos do VHDL, uma das mais conhecidas eutilizadas linguagens.

3.1 Trabalhos RelacionadosSendo o LMS um algoritmo bastante estudado, nao faltam implementacoes real-

izadas com ele. Citamos em nosso trabalho duas pesquisas quemerecem destaque, e queserviram como base nossa implementacao, onde sao implementados filtros adaptativosutilizando NLMS a partir de uma estrutura utilizando LMS. Em(GOEL; SHANBHAG,1996) vemos uma implementacao de um Arquitetura de Filtroadaptativo de BaixaPotencia, e em (C.; ZHU; F., 1998) temos um trabalho onde ocorre a implementacaode um arquitetura de um filtro FIR adaptativo com LMS e pipeline.

3.2 Projeto de uma ArquiteturaPara a construcao de uma arquitetura, sao necessarias algumas etapas para atingir

o produto final. Estas etapas sao descritas e comentadas nossub-topicos abaixo, e seguemo fluxo da figura 3.1 que corresponde as etapas de projeto de umaarquitetura:

Figura 3.1: Etapas do Projeto de uma Arquitetura

3.2.1 Especificacao de RequisitosDurante a etapa de Especificacao de Requisitos, o projetista e o usuario (em muitos

casos podem ser a mesma pessoa), fazem um estudo e levantam todos os requisitos ecaracterısticas do sistema e definem o seu funcionamento. Caracterısticas tais comoatraso maximo permitido para as saıdas, frequencia maxima de operacao, consumo depotencia, custo, temperatura de operacao, tensao de alimentacao sao relacionadas a fimde buscar projetar um circuito que atenda a estes requisitos, que podem ser desejaveis ounecessarios. Nao e necessario especificar todas estas caracterısticas, isso sempre depen-dera de cada projeto. Esta fase e de extrema importancia porque uma vez compreendidocorretamente o funcionamento do sistema, evita-se a ocorrˆencia de erros futuros. A cadaunidade de tempo avancada no ciclo de projeto, maior o custode correcao de um erro e

Page 24: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

24

maior a dificuldade em encontra-lo. Ou seja, alem do preju´ızo ser maior, maior tambema probabilidade de que o erro passe despercebido e seja incluıdo na producao do sistema(UYEMURA, 2002) (ALTERA, 2006).

3.2.2 Modelamento da Arquitetura

Na etapa de modelamento e que o projeto propriamente dito einiciado. Baseadonas especificacoes da etapa inicial, o projetista ira escrever os modelos que representam ocircuito. E de fundamental importancia que o projetista tenha ja um previo conhecimentodas ferramentas desoftwareque utilizara no projeto e da tecnologia que ira utilizar,afim de conduzir o modelamento a fim de obter os melhores resultados futuramente. Out-ras caracterısticas importantes a serem incluıdas nos modelos sao: sempre que possıvel,de maneira a nao afetar o desempenho e a portabilidade, escrever modelos que sigam opadrao estabelecido na linguagem, e nao as extensoes oferecidas pelos desenvolvedoresdas ferramentas de sıntese; seguir um padrao de escrita decodigo uniforme para todos osmodelos do projeto; documentar adequadamente os modelos, incluindo nome do autor,datas de manutencao, e comentarios e explicacoes relevantes (UYEMURA, 2002) (AL-TERA, 2006).

3.2.3 Sıntese de Alto Nıvel

A Sıntese de Alto Nıvel esta para o hardware assim como a compilacao esta parao software. Na sıntese, o modelo descrito sera convertido para estruturas de dados rep-resentando as conexoes, blocos, componentes e portas logicas. Esta etapa e automatica edependente da ferramenta desoftwareutilizada. Em geral, certos cuidados podem sertomados durante o modelamento a fim de direcionar o algoritmoda sıntese para queobtenha os melhores resultados para o circuito. Durante a s´ıntese sao pre-avaliados osrequisitos do sistema a fim de indicar se o circuitos ira atende-los adequadamente. Aposa sıntese ainda nao esta definido o circuito a ser implementado, a especificacao inter-mediaria que e resultante e ainda bastante generica e pode ser direcionada para uma demuitas possibilidades de tecnologias de implementacao (UYEMURA, 2002) (ALTERA,2006).

3.2.4 Mapeamento Tecnologico

Somente apos o Mapeamento Tecnologico e que o circuito j´a esta definido dentroda tecnologia em que sera implementado. Fazendo uma analogia com osoftware, essaetapa corresponderia a geracao de codigo executavel que ocorre ao final da compilacaode um codigo fonte. So e possıvel entender essa etapa adequadamente conhecendo-seas diferentes tecnologias disponıveis no mercado, como full custom, gate array, FPGAs,entre outros. O projetista pouco consegue influir no mapeamento, especificando apenasos parametros de otimizacao desejados. Nesta etapa de implementacao/fabricacao saocriados os primeiros prototipos, avaliadas as condicoes finais, detalhes de producao entreoutros detalhes de implementacao final. Em seguida a fabricacao, os circuitos sao testadospara que possam ser entregues ao usuario com garantia de isencao de falhas (UYEMURA,2002) (ALTERA, 2006).

Page 25: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

25

3.2.5 Simulacao do Circuito

A Simulacao e uma etapa auxiliar, mas de grande relevancia no ciclo de vida doprojeto. Simular consiste em avaliar o comportamento do circuito e validar o modeloproduzido ate aquele momento. Antes da simulacao, sao inseridos vetores caracterısticosnas entradas primarias do circuito, e os nos internos do circuito e as saıdas primariassao analisadas a fim de comparar com o esperado na especificac¸ao. A Simulacao gerauma realimentacao para os processos de modelamento, sıntese e mapeamento, evitandoa propagacao de erros para etapas posteriores. Muitos dosproblemas encontrados nasimulacao nao estao necessariamente ligados a erros noprojeto, mas ao nao preenchi-mento dos requisitos necessarios, principalmente no que se refere aos tempos do circuito(atraso, setup/hold, frequencia de operacao) (UYEMURA, 2002) (ALTERA, 2006).

Na simulacao, um recurso muito interessante a ser utilizado sao ostestbenches.O testebenche um algoritmo responsavel por gerar automaticamente os sinais que estim-ularao as entradas do modelo que sera simulado. Dentro dotestebenchpodem tambemestar presentes rotinas que capturem os valores de saıda docircuito simulado e geremapenas resultados de comparacao dizendo se o circuito esta funcionando correto ou nao esob quais aspectos estao ocorrendo os problemas (UYEMURA,2002) (ALTERA, 2006).Como exemplo de ferramenta detestbenchtemos o ModelSim produzido pela MentorGraphics (MENTORGRAPHICS, 2006).

3.3 Ferramentas de CAD

3.3.1 VHDL

No final dos anos 70, o Departamento de Defesa dos Estados Unidos (DoD)definiu um programa chamado VHSIC (Very High Speed Integrated Circuit), que visavaa descricao tenica e projeto de uma nova linha de circuitos integrados. Com o avancoacelerado dos dispositivos eletronicos entretanto este programa apresentou-se ineficiente,principalmente na representacao de grandes e complexos projetos. Uma vez que o pro-jeto VHSIC era de alta prioridade militar, e haviam dezenas de fornecedores envolvidos,o DoD definiu que haveria prioridade com as questoes de portabilidade, documentacaoe compreensibilidade dos projetos. Cada um destes fornecedores atuava desenvolvendopartes dos projetos ou mesmo fornecendo componentes que viriam a se encaixar em out-ros sistemas maiores. Desta forma o DoD optou por buscar desenvolver uma linguagemque servisse como base para troca de informacoes sobre estes componentes e projetos.Uma linguagem que, independente do formato original do circuito, pudesse servir comouma descricao e documentacao eficientes do circuito, possibilitando os mais diferentesfornecedores e participantes a entender o funcionamento das outras partes, padronizandoa comunicacao (UYEMURA, 2002).

Em 1981, aprimorando-se as ideias do VHSIC, foi proposto o emprego de umalinguagem de descricao de hardware mais generica e flexıvel para documentar o compor-tamento de Circuitos de Aplicacoes Especıficas (ASICs) utilizados pelas Forcas Armadasamericanas. Isto significa dizer que a linguagem proposta foi desenvolvida para substituiros complexos manuais que descrevia o funcionamento dos ASICs. Ate aquele momentoa unica metodologia largamente utilizada no projeto de circuitos era a criacao atraves dediagramas esquematicos. O problema desta metodologia erao fato que o desenho possuiauma menor portabilidade, um fator de complexidade maior praa compreensao do circuito

Page 26: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

26

e eram extremamente dependentes da ferramenta utilizada nasua producao. O desen-volvimento inicial desta linguagem serviu aos propositosde documentacao do projetoVHSIC. Entretanto naquela epoca buscava-se uma linguagemque facilitasse o projetode um circuito: ou seja, a partir de uma descricao textual,um algoritmo, desenvolvero circuito, sem necessidade de especificar explicitamente as ligacoes entre componentes(UYEMURA, 2002) .

Assim uma linguagem surgia com o nome VHDL (VHSIC Hardware DescriptionLanguage), que presta-se adequadamente a tais propositos, podendo ser utilizada para astarefas de documentacao, descricao, sıntese, simulacao, teste, verificacao formal e aindacompilacao de software, em alguns casos. Apos o sucesso inicial do uso da VHDL, a suadefinicao foi posta em domınio publico, o que levou a ser padronizada pelo IEEE (Instituteof Electrical and Electronic Engineers) em 1987. O fato de ser padronizada e de domıniopublico ampliou ainda mais a sua utilizacao, novas alteracoes foram propostas, permitindouma linguagem mais flexıvel e com novos recursos, e como e natural num processo deaprimoramento a linguagem sofreu uma revisao e um novo padrao mais atualizado foilancado em 1993 (UYEMURA, 2002) (ALTERA, 2006).

Page 27: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

27

4 ATIVIDADES PROPOSTAS E REAL-IZADAS

4.1 Especificacao da Proposta

Considerando a proposta do Trabalho Individual apresentada no inicio de agostode 2006, esta monografia deve ser constituıda de um estudo sobre o ”estado da arte´´ sobreFiltragem adaptativa, seus conceito e aplicacoes, e a implementacao do filtro adaptativo,e um estudo sobre os conceitos de arquiteturas dedicadas e implementacao das mesmas.Neste ponto, a proposta consiste no desenvolvimento do filtra adaptativo a partir de umaarquitetura base previamente implementada.

Observando a arquitetura ja desenvolvida do filtro FIR sequencial utilizando o al-goritmo LMS, deve-se alterar e implementar esta mesma arquitetura utilizando o NLMS.A arquitetura em questao e o filtro LMS 8 taps e 16 bits, um circuito ja consagrado, desen-volvida pelo LAMIPS (Laboratorio de Microeletronica e Processamento de Sinais), e ap-resentado em eventos de Microeletronica (FOSTER et al., 2006). Conforme a figura 4.1observamos no circuito a entradaX(n)e os coeficientesω nas entradas do filtro. Tambeme constatada que a estrutura do filtro FIR e composta pelo multiplicador e o somadoracumulador, sendo a saıda do sinal desejadod e o passo de adaptacaoµ.

Page 28: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

28

Figura 4.1: Filtro FIR LMS

4.2 Desenvolvimento da Proposta

Para que a arquitetura referenciada na figura 4.1 seja implementadaconforme aespecificacao da proposta, ela necessita sofrer algumas modificacoes, conforme constamem destaque (vermelho) na figura 4.2:

Page 29: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

29

Figura 4.2: Filtro FIR NLMS

Da figura 4.2 observa-se a necessidade de incorporar alguns elementos: umaunidade MAC (Multiplicador-Somador-Acumulador) e um circuito divisor, que ira efetuara operacao de divisao entre o valor do passo de adaptacao µ pelo valor resultante do MACa estrutura original LMS 4.1, conforme a equacao 4.1, querepresenta o algoritmo NLMS.

ω (n + 1) = ω (n) +µN

xT (n) x (n)e (n) x (n) (4.1)

4.2.1 Circuito MAC

A unidade MAC e formada por tres circuitos menores: um multiplicador, um so-mador e um acumulador. Ele e responsavel por realizar as multiplicacoes dos dois termosque entram em sua unidadex (k) e xT (k) sendo quek representa o passo de execucaodentro da unidade do filtro.

4.2.2 Circuito Multiplicador

Esta etapa consiste na implementacao do multiplicador deduas entradas ’R’ e ’T’que representa a saıda da entradax. Este multiplicador, do tipo array binario, foi ger-ado atraves da ferramenta GMP (Gerador de Multiplicador Parametrizavel) (FONSECA,2004). Na tabela 4.1 sao citados os valores extraıdos atraves da ferramenta de sıntese:

Page 30: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

30

Multiplicador Array Bin arioUnidade Atraso Elementos LogicosMultiplicador gerado por GMP 25.696 ns 155

Tabela 4.1: Metricas do Multiplicador Array Binario

Na figura 4.3 temos um exemplo de uma simulacao do multiplicador, onde saoobservadas as entradas R e T, e a saıda P do circuito.

Figura 4.3: Simulacao do circuito multiplicador

4.2.3 Circuito Somador

A segunda etapa foi o desenvolvimento do circuito somador de16 bits. Nesta etapafoi utilizado apenas a biblioteca deStandard Logic Arithmeticexistente na ferramentaQuartus, possibilitando um rapido avanco nesta etapa.

Na figura 4.4 temos um exemplo de uma simulacao do somador, onde sao obser-vadas as entradas A e B, e a saıda S do circuito.

Figura 4.4: Simulacao do circuito somador

E importante ressaltar que a entrada A recebe o valor vindo domultiplicador,e tanto a entrada B como a saıda S sao conectados ao circuitoacumulador, que seraexplanado abaixo.

4.2.4 Circuito Acumulador

O terceiro elemento do MAC e formado por um acumulador, tambem chamadoregistrador. Sua construicao foi realizada especialmente para possibilitar a utilizacao nocircuito MAC. Seu funcionamento e bastante simples:

Quando a borda do clock esta em ’1’ o registrador permite carregar o valor vindodo somador, atualizando-o. Em todos os casos existe um valorde saıda, que e disponibi-lizado novamente para o somador, atraves de uma de suas entradas. E em todos os casossua saıda tambem e disponibilizada para a entrada do divisor do circuito divisor. Na tabela4.2 oberva-se as metricas extraıdas dele:

Page 31: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

31

Registrador 16 bitsUnidade Atraso Elementos LogicosRegistrador 16 bits 7,185 ns 16

Tabela 4.2: Metricas do Registrador de 16 bits

Ele recebe o resultado produzido na saıda S do somador, e suasaıda e conectadaa entrada B deste mesmo somador, permitindo uma acumulacao do resultado. Na figura4.5 temos a simulacao do registrador.

Figura 4.5: Simulacao do circuito acumulador

4.2.5 Circuito Divisor

O circuito divisor implementado apresenta uma de suas entradas com valor fixo,compreendido peloµ, e a outra variavel, recebendo o resultado da unidade MAC.Para a operacao proposta foi utilizado um divisor em ponto-fixo presente na literatura(PEDRONI, 2004). E importante ressaltar que este divisor sofreu uma importantemodificacao, que e explicada abaixo.

Na literatura este divisor possui um sinal de erro (err) que recebe o valor ’1’quando ocorre uma divisao por 0. Ate este ponto isso esta correto, pois a divisao de umnumero por zero gera um erro. Porem, neste divisor, mesmo informando que ocorreraum erro de divisao, o processamento continuava ate o final.A modificacao foi realizadaneste ponto. Quando ocorre um erro de divisao por zero, o processamento para, e apenasinforma o valor de erro para a maquina de estados, que por consequencia reinicia todo osistema. A tabela 4.3 contem o trecho do codigo original, epode ser comparado com atabela 4.4, onde verifica-se que a principal diferenca est´a no fluxo de processamento, queno caso do codigo alterado, encontra-se dentro do propriolaco de identificacao do erro.

Page 32: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

32

Codigo Original:...PROCESS...IF (b = 0) THENerr ¡= ’1’;ELSEerr ¡= ’0’;END IF;...¡Fluxo de processamento¿...END PROCESS;...

Tabela 4.3: Codigo fonte antes da alteracao

Codigo Modificado:...PROCESS...IF (b = 0) THENerr ¡= ’1’;ELSEerr ¡= ’0’;...¡Fluxo de processamento¿...END IF;END PROCESS;...

Tabela 4.4: Codigo fonte alterado

Com a alteracao realizada, era necessario comprovar suaeficiencia, e compararcom os valores anteriormente extraıdos. Constata-se que apesar de ocorrer um aumento daarea do circuito em 60%, ocorreu uma reducao de 38,94% do valor de atraso do circuito.Os valores extraıdos sao representados pela tabela 4.5 abaixo:

Assim, pode-se constatar que nem sempre um aumento de area significa um au-mento do atraso do circuito, conforme mencionado em (COSTA,2002). Em seguida foirealizada a implementacao do circuito MAC, conforme a pr´oxima secao.

Comparacao entre DivisoresUnidade Atraso Elementos LogicosDivisor Original 8,513 ns 5Divisor Alterado 5,198 ns 8

Tabela 4.5: Metricas dos divisores

Page 33: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

33

Na figura 4.6 esta representado a simulacao realizada como circuito divisor.

Figura 4.6: Simulacao do circuito divisor

Com todos os subcircuitos contruıdos, procedeu-se a adaptacao da arquiteturaoriginal, conforme as especificacoes do projeto. Os resultados obtidos e a comparacaocom os valores originais da arquitetura sao apresentados no proximo capıtulo.

Page 34: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

34

5 RESULTADOS OBTIDOS

5.1 Analise de Resultados

Para a analise de resultados, e importante ressaltar as caracterısticas intrınsecasdo circuito. Foi implementado um circuito de um filtro adaptativo utilizando o algo-ritmo NLMS, de 16 bits e 8taps. Para a analise foram utilizados vetores senoidais (S)e randomicos (R), cada um com 100 amostras. A ferramenta de sıntese e simulacao uti-lizadao foi a Quartus II 6.0 Web Edition SP1 da Altera (ALTERA, 2006), e o componenteFPGA utilizado foi o Stratix. As simulacoes realizadas foram: funcional, para detectar ofuncionamento correto do circuito; e considerandotiming, para simular o circuito obser-vando os atrasos de cada etapa do mesmo.

5.1.1 Analise Funcional

Para se obter resultados satisfatorios, era necessario extrair valores de ambos oscircuitos LMS e NLMS. Assim, uma simulacao funcional foi realizada. Na tabela 5.1temos a comparacao entre os dois circuitos.

Circuito Atraso (tco) ELs Potencia consumida (R)Potencia consumida (S)Unidade Atraso Elementos LogicosLMS 9.412 ns 1298 190,38 mW 173,25 mWNLMS 9.812 ns 1325 210,38 mW 178,58 mW

Tabela 5.1: Metricas do Filtro de 16 bits em simulacao Funcional

5.1.2 Analise considerandoTiming

Com os valores de simulacao funcional extraıdos, o circuito foi explorado con-siderando o atraso existente em cada porta e componente do mesmo. A tabela 5.2 repre-senta a comparacao entre simulacoes do LMS e o NLMS considerandotiming.

Circuito Atraso (tco) ELs Potencia consumida (R)Potencia consumida (S)LMS 37.571 ns 1298 190,17 mW 174,01 mWNLMS 36.289 ns 1325 209,56 mW 176,32 mW

Tabela 5.2: Metricas do Filtro de 16 bits em simulacaoTiming

Page 35: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

35

5.1.3 Analise ComparativaAgora, com os dados extraıdos, foi realizada a confrontacao das informacoes dis-

postas nas tabelas. Na comparacao deve ser considerado que as tabelas seguiram difer-entes modelos de simulacoes.

Na tabela 5.1 observamos que a simulacao funcional apresenta um tempo re-duzido de atraso. Isso e devido as caracterısticas da simulacao funcional, que nao consid-era o atraso entre as portas logicas do circuito. Porem a diferenca entre o LMS e o NLMSneste caso e relativamente pequena.

Quando verificamos esta situacao na tabela 5.2 observamosque tambem ali ocorreum evento semelhante onde, apesar dos valores totais de atraso serem superiores ao daprimeira tabela, a diferenca entre o LMS e o NLMS na tabela (?) e pequena (3,53%). Issoocorre em virtude da estrutura da arquitetura puramente sequencial. O atraso maior aindacontinua correspondendo ao valor do filtro FIR, e nao da alteracao arquitetural realizada.

Ja quando verificamos o numero de elementos logicos utilizados para programarnosso circuito, verifica-se um relativo aumento, referenteas estruturas adicionadas naimplementacao do algoritmo NLMS. Outro fator curioso dentro das simulacoes e refer-ente as simulacoes utilizando sinais Senoidais (S). Nota-se que nao ocorre uma alteracaosignificativa no consumo.

Na tabela 5.3 estao relacionados como sao gastos os ciclosde relogio dentro daarquitetura.E importante ressaltar que nao ocorreram alteracoes de ciclos com base naarquitetura modelo utilizada.

Ciclos utilizados Operacao Realizada32 Resposta ao Impulso Finito - FIR1 Calculo de Erro (e(n))1 Calculo de Coef. Adaptacao (µ.e(n))8 Calculo dos Coeficientes (ω(n))

Tabela 5.3: Ciclos utilizados por Operacao da arquitetura

Page 36: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

36

6 CONCLUSAO

Este trabalho apresentou uma implementacao de um sistemaadaptativo com umfiltro utilizando o algoritmo NLMS. Para a comparacao de resultados foi utilizada umaimplementacao anteriormente realizada, que utilizou o algoritmo LMS. A partir do sinalde entrada, o algoritmo filtra o sinal, procurando eliminar as interferencias, permitindoque o sinal fique aproximado do sinal desejado.

Os resultados observados demonstraram que a implementac˜ao do filtro adaptativoutilizando NLMS apresentou comportamento e metricas semelhantes quando comparadosaos dados extraıdos da implementacao do filtro adaptativo utilizando LMS, indicando quea substituicao de um algoritmo pelo outro e possıvel de ser realizada em situacoes onde oLMS foi utilizado com sucesso.

Dentre os valores adquiridos e apresentados, ainda e importante ressaltar que eimportante re-mensurar os valores apresentados de potencia consumida, visto que ape-sar dos testes realizados oferecem valores aproximados, a utilizacao de uma ferramentade programacao de FPGAs nao possibilita extrair valoresreais de consumo, pois dentrodele estao relacionadas tambem as fugas de potencia em chaveamento de celulas e deprogramacao de portas logicas (COSTA, 2002).

Para sugestoes de trabalhos futuros, podem ser mencionados:

1. Paralelizacao da estrutura do filtro FIR;

2. Utilizacao de nıveis de pipeline, buscando reduzir atrasos;

3. Aplicacao de tecnicas de reducao de potencia e aumento de desempenho do circuito

Page 37: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

37

REFERENCIAS

ALMEIDA, S. J. M. de.Analise Estatıstica do Comportamento de uma Classe deAlgoritmos de Projecoes Afins. 2004. Tese (Doutorado em Ciencia da Computacao) —Programa de Pos-graduacao em Engenharia Eletrica - UFSC, Florianopolis, SC.

ALTERA. Quartus II Version 6.0 Handbook. [S.l.]: Altera Inc., 2006. v.I.

C., D. S.; ZHU, Q.; F., S. K. A pipelined LMS adaptive FIR filterarchitecture withoutadaptation delay. In: IEEE TRANSACTIONS ON SIGNAL PROCESSING 46, 1998.Anais. . . IEEE, 1998. p.775–779.

COSTA, E. A. C. da.Operadores Aritmeticos de Baixo Consumo para Arquiteturasde Circuitos DSP. 2002. Tese (Doutorado em Ciencia da Computacao) — Programa dePos-Graduacao em Computacao - UFRGS, Porto Alegre, RS.

FONSECA, M. R.GMP - Gerador de Multiplicador Parametriz avel. Pelotas, RS:[s.n.], 2004. PIC - UCPEL.

FOSTER, D.; ARDIZZONE, N.; FONSECA, M. R.; ALMEIDA, S. J. M. de; COSTA,E. A. C. da. Low power dedicated datapaths for LMS adaptive filter. In: VI MI-CROELETRONIC STUDENT FORUM, 2006.Anais. . . [S.l.: s.n.], 2006.

GOEL, M.; SHANBHAG, N. R. Low-power adaptive filter architectures via strengthreduction. In: INTERNATIONAL SYMPOSIUM ON LOW POWER ELECTRONICSAND DESIGN, 1996., 1996, Monterey, California, USA.Proceedings. . .IEEE, 1996.p.217–220.

HAYKIN, S. Adaptive Filter Theory . 4th.ed. Upper Saddle River, NJ, USA: PearsonEducation, 2001.

MATHEWS, V. J. Adaptive Polynomial Filters.IEEE Signal Processing Mag., [S.l.],p.10–26, jul 1991.

MENTORGRAPHICS.ModelSim - Digital Simulation. http://www.mentor.com/.

MITRA, S. K. Digital Signal Processing: a computer-based approach. 3rd.ed. New York,NY, USA: McGraw-Hill, 2003.

PEDRONI, V. A.Circuit Design with VHDL . [S.l.]: MIT Press, 2004.

Page 38: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

38

RABAEY, J. M.Digital Integrated Circuits : A Design Perspective. [S.l.]: Prentice Hall,1996.

TOCCI, R. J.Sistemas Digitais: princıpios e aplicacoes. 5th.ed. [S.l.]: Prentice-Hall,2000.

UYEMURA, J. P. Sistemas Digitais - uma abordagem integrada. [S.l.]: PioneiraThomson Learning, 2002.

WESTE, N. H. E.; HARRIS, D.CMOS VLSI Design - a circuits and systems perspec-tive. 3rd.ed. [S.l.]: Pearson Addison Wesley, 1993.

WIDROW, B.; STEARNS, S.Adaptive Signal Processing. Englewood Cliffs, NJ, USA:Prentice-Hall, 1985.

Page 39: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

39

ANEXO A SOMADOR 16 BITS

Listing A.1: Somador 16 bits na linguagem VHDL−−

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

−−−− P r o j e t o : Datapath S i m p l i f i c a d o de 16 b i t s−− Arqu ivo : a d d e r 1 6 b i t s . vhd

5 −− Desc r i cao : Somador Ha l f Adder− nao p o s s u i c a r r y i n (en t rada ) .

−− − ENTRADA:−− d o i s s i n a i s de dados ;−− − SAIDA :−− r e s u l t a d o da soma ;

10 −− c a r r y da soma ( c a r r yo u t ) ;−−−−

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

LIBRARY i e e e ;

−− b i b l i o t e c a i e e e15 USE i e e e . s t d l o g i c 1 1 6 4 .ALL ;

−− paco te s t d l o g i c

ENTITY a d d e r 1 6 b i t s ISGENERIC(

20 b i t s : i n t e g e r := 16

−− i n d i c a otamanho de b i t s das i n s t r u c o e s

) ;PORT(

a : INSTD LOGIC VECTOR( b i t s − 1 DOWNTO b i t s − b i t s ) ; −−en t rada do dado 1 (16 b i t s )

25 b : INSTD LOGIC VECTOR( b i t s − 1 DOWNTO b i t s − b i t s ) ; −−en t rada do dado 2 (16 b i t s )

Page 40: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

40

sum : OUTSTD LOGIC VECTOR( b i t s − 1 DOWNTO b i t s − b i t s ) ; −−s a i d a do r e s u l t a d o da soma (16 b i t s )

c a r r y o u t : OUT STD LOGIC

−− s a i d a de c a r r yda soma (1 b i t )

) ;END a d d e r 1 6 b i t s ;

30

ARCHITECTURE s t r u c t u r e OF a d d e r 1 6 b i t s IS

COMPONENT h a l f a d d e r 1 b i tPORT

35 (a , b : IN STD LOGIC ;sum , c a r r y o u t : OUT STD LOGIC

) ;END COMPONENT h a l f a d d e r 1 b i t ;

40

COMPONENT f u l l a d d e r 1 b i tPORT(

a , b , c a r r y i n : IN STD LOGIC ;45 sum , c a r r y o u t : OUT STD LOGIC

) ;END COMPONENT f u l l a d d e r 1 b i t ;

SIGNAL c a r r y t : STD LOGIC VECTOR( b i t s DOWNTO b i t s − b i t s ) ;50 BEGIN

−− Process S t a t e m e n t ( o p t i o n a l )

−− Concur ren t Procedure Ca l l ( o p t i o n a l )

55 −− Concur ren t S i g n a l Ass ignment ( o p t i o n a l )soma :FOR i IN 1 TO b i t s − 1 GENERATE

b i t 1 t o 1 5 : f u l l a d d e r 1 b i tPORT MAP

60 (a

=> a ( i ) ,b

=> b ( i ) ,c a r r y i n =>

c a r r y t ( i ) ,sum

=> sum ( i ) ,65 c a r r y o u t =>

c a r r y t ( i + 1 )) ;

END GENERATE soma ;−− C o n d i t i o n a l S i g n a l Ass ignment ( o p t i o n a l )

70 −− S e l e c t e d S i g n a l Ass ignment ( o p t i o n a l )

−− Component I n s t a n t i a t i o n S t a t e m e n t ( o p t i o n a l )

Page 41: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

41

b i t 0 : h a l f a d d e r 1 b i t75 PORT MAP

(a => a ( 0 )

,b => b ( 0 )

,sum => sum

( 0 ) ,80 c a r r y o u t => c a r r y t ( 1 )

) ;

−− Genera te S t a t e m e n t ( o p t i o n a l )

85 c a r r y o u t <= c a r r y t ( b i t s ) ;

END s t r u c t u r e ;

Page 42: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

42

ANEXO B DIVISOR 16 BITS

Listing B.1: Divisor 16 bits na linguagem VHDL−−

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

−−−− P r o j e c t : f i x e d−p o i n t d i v i s o r s−− F i l e name : f i x e d p o i n t d i v i s o r 8 b i t s . vhd

5 −− T i t l e : f i x e d−p o i n t d i v i s o r 8 b i t s−− D e s c r i p t i o n : i t ’ s s t r u c t u r a l s h i f t−s u b s t r a c t d i v i s o r−−−−

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

−− R e v i s i o n s :10 −− Date Author R e v i s i o n Comments

−− 00 /00 /0000−−

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

LIBRARY i e e e ;15 USE i e e e . s t d l o g i c 1 1 6 4 .ALL ;

USE i e e e . s t d l o g i c a r i t h .ALL ;

ENTITY f i x e d p o i n t d i v i s o r 3 2 b i t s ISGENERIC

20 (d a t a w i d t h : i n t e g e r := 32

) ;PORT(

25 d iv idend , d i v i s o r : IN STD LOGIC VECTOR(d a t a w i d t h − 1 DOWNTO 0) ;

q u o t i e n t : OUTSTD LOGIC VECTOR( d a t a w i d t h − 1 DOWNTO 0) ;

r ema inde r : OUTSTD LOGIC VECTOR( d a t a w i d t h − 1 DOWNTO 0) ;

e r r : OUTSTD LOGIC

) ;30 END f i x e d p o i n t d i v i s o r 3 2 b i t s ;

Page 43: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

43

ARCHITECTURE r t l OF f i x e d p o i n t d i v i s o r 3 2 b i t s ISBEGIN

−− Process S t a t e m e n t ( o p t i o n a l )35 p r o c e s s d i v i d e n d d i v i s o r :

PROCESS ( d i v i dend , d i v i s o r )VARIABLE t e m p d i v i d e n d : INTEGERRANGE 0 TO

d a t a w i d t h − 1 ;VARIABLE t e m p d i v i s o r : INTEGER RANGE 0 TO

d a t a w i d t h − 1 ;BEGIN

40 −− S i g n a l Ass ignment S t a t e m e n t ( o p t i o n a l )

−− V a r i a b l e Ass ignment S t a t e m e n t ( o p t i o n a l )

−− Procedure Ca l l S t a t e m e n t ( o p t i o n a l )45

−− I f S t a t e m e n t ( o p t i o n a l )−−−−− Erro r and i n i t i a l i z a t i o n ; −−−−−−t e m p d i v i d e n d := c o n v i n t e n g e r ( d i v idend , d a t aw i d t h ) ;t e m p d i v i s o r := c o n v i n t e n g e r ( d i v i s o r , d a t aw i d t h ) ;

50

IF ( b = 0) THENe r r <= ’1 ’ ;

ELSE

55 e r r <= ’0 ’ ;−−−−− q u o t i e n t ( 5 ) ; −−−−−−−−−−−−−−−−−−−−−−−−−−IF ( t e m p d i v i d e n d >= t e m p d i v i s o r ∗ 32 ) THEN

q u o t i e n t ( 5 ) <= ’1 ’ ;t e m p d i v i d e n d := t e m p d i v i d e n d −

t e m p d i v i s o r ∗ 32 ;60 ELSE

q u o t i e n t ( 5 ) <= ’0 ’ ;END IF ;−−−−− q u o t i e n t ( 4 ) ; −−−−−−−−−−−−−−−−−−−−−−−−−−IF ( t e m p d i v i d e n d >= t e m p d i v i s o r ∗ 16 ) THEN

65 q u o t i e n t ( 4 ) <= ’1 ’ ;t e m p d i v i d e n d := t e m p d i v i d e n d −

t e m p d i v i s o r ∗ 16 ;ELSE

q u o t i e n t ( 4 ) <= ’0 ’ ;END IF ;

70 −−−−− q u o t i e n t ( 3 ) ; −−−−−−−−−−−−−−−−−−−−−−−−−−IF ( t e m p d i v i d e n d >= t e m p d i v i s o r ∗ 8 ) THEN

q u o t i e n t ( 3 ) <= ’1 ’ ;t e m p d i v i d e n d := t e m p d i v i d e n d −

t e m p d i v i s o r ∗ 8 ;ELSE

75 q u o t i e n t ( 3 ) <= ’0 ’ ;END IF ;−−−−− q u o t i e n t ( 2 ) ; −−−−−−−−−−−−−−−−−−−−−−−−−−IF ( t e m p d i v i d e n d >= t e m p d i v i s o r ∗ 4) THEN

q u o t i e n t ( 2 ) <= ’1 ’ ;80 t e m p d i v i d e n d := t e m p d i v i d e n d −

t e m p d i v i s o r ∗ 4 ;ELSE

q u o t i e n t ( 2 ) <= ’0 ’ ;

Page 44: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

44

END IF ;−−−−− q u o t i e n t ( 1 ) ; −−−−−−−−−−−−−−−−−−−−−−−−−−

85 IF ( t e m p d i v i d e n d >= t e m p d i v i s o r ∗ 2) THENq u o t i e n t ( 1 ) <= ’1 ’ ;t e m p d i v i d e n d := t e m p d i v i d e n d −

t e m p d i v i s o r ∗ 2 ;ELSE

q u o t i e n t ( 1 ) <= ’0 ’ ;90 END IF ;

−−−−− q u o t i e n t ( 0 ) ; −−−−−−−−−−−−−−−−−−−−−−−−−−IF ( t e m p d i v i d e n d >= t e m p d i v i s o r ) THEN

q u o t i e n t ( 0 ) <= ’1 ’ ;t e m p d i v i d e n d := t e m p d i v i d e n d −

t e m p d i v i s o r ;95 ELSE

q u o t i e n t ( 0 ) <= ’0 ’ ;END IF ;−−−−− Remainder :−−−−−−−−−−−−−−−−−−−−−r ema inde r <= t e m p d i v i d e n d ;

100 END IF ;

−− Case S t a t e m e n t ( o p t i o n a l )

−− Loop S t a t e m e n t ( o p t i o n a l )105 END PROCESS p r o c e s s d i v i d e n d d i v i s o r ;

−− Concur ren t Procedure Ca l l ( o p t i o n a l )

−− Concur ren t S i g n a l Ass ignment ( o p t i o n a l )110

−− C o n d i t i o n a l S i g n a l Ass ignment ( o p t i o n a l )

−− S e l e c t e d S i g n a l Ass ignment ( o p t i o n a l )

115 −− Component I n s t a n t i a t i o n S t a t e m e n t ( o p t i o n a l )

−− Genera te S t a t e m e n t ( o p t i o n a l )END r t l ;

Page 45: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

45

ANEXO C MULTIPLICADOR 16 BITS

Listing C.1: Multiplicador 16 bits na linguagem VHDLEnt i t y m u l t i p l i c a d o r 1 6 b i t s i sPor t (R15 , R14 , R13 , R12 , R11 , R10 , R9 , R8 , R7 , R6 , R5 , R4 , R3 , R2 , R1 ,R0 , T15 , T14 , T13 , T12 ,

T11 , T10 , T9 , T8 , T7 , T6 , T5 , T4 , T3 , T2 , T1 , T0 :i n b i t ;P31 , P30 , P29 , P28 , P27 , P26 , P25 , P24 , P23 , P22 , P21 , P20 , P19, P18 , P17 , P16 , P15 , P14

, P13 , P12 , P11 , P10 , P9 , P8 , P7 , P6 , P5 , P4 , P3 , P2 , P1 , P0 :out b i t ) ;5 end m u l t i p l i c a d o r 1 6 b i t s ;

Arch i t ec tu re compor tamentoo f m u l t i p l i c a d o r 1 6 b i t s i sSIGNAL temp , h , q : BITVECTOR(1000 downto 0) ;

10 component meiopor t (A, B : i n b i t ;

sum , cou t :out b i t ) ;end component;

15 component somadorpor t (A, B , c i n : i n s t d l o g i c ;

sum , cou t :out s t d l o g i c ) ;end component;

20

beginP0<=R0 and T0 ;temp ( 0 )<=R0 and T1 ;temp ( 1 )<=R0 and T2 ;

25 temp ( 2 )<=R0 and T3 ;temp ( 3 )<=R0 and T4 ;temp ( 4 )<=R0 and T5 ;temp ( 5 )<=R0 and T6 ;temp ( 6 )<=R0 and T7 ;

30 temp ( 7 )<=R0 and T8 ;temp ( 8 )<=R0 and T9 ;temp ( 9 )<=R0 and T10 ;temp ( 1 0 )<=R0 and T11 ;temp ( 1 1 )<=R0 and T12 ;

35 temp ( 1 2 )<=R0 and T13 ;temp ( 1 3 )<=R0 and T14 ;temp ( 1 4 )<=R0 and T15 ;temp ( 1 5 )<=R1 and T0 ;temp ( 1 6 )<=R1 and T1 ;

Page 46: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

46

40 temp ( 1 7 )<=R1 and T2 ;temp ( 1 8 )<=R1 and T3 ;temp ( 1 9 )<=R1 and T4 ;temp ( 2 0 )<=R1 and T5 ;temp ( 2 1 )<=R1 and T6 ;

45 temp ( 2 2 )<=R1 and T7 ;temp ( 2 3 )<=R1 and T8 ;temp ( 2 4 )<=R1 and T9 ;temp ( 2 5 )<=R1 and T10 ;temp ( 2 6 )<=R1 and T11 ;

50 temp ( 2 7 )<=R1 and T12 ;temp ( 2 8 )<=R1 and T13 ;temp ( 2 9 )<=R1 and T14 ;temp ( 3 0 )<=R1 and T15 ;temp ( 3 1 )<=R2 and T0 ;

55 temp ( 3 2 )<=R2 and T1 ;temp ( 3 3 )<=R2 and T2 ;temp ( 3 4 )<=R2 and T3 ;temp ( 3 5 )<=R2 and T4 ;temp ( 3 6 )<=R2 and T5 ;

60 temp ( 3 7 )<=R2 and T6 ;temp ( 3 8 )<=R2 and T7 ;temp ( 3 9 )<=R2 and T8 ;temp ( 4 0 )<=R2 and T9 ;temp ( 4 1 )<=R2 and T10 ;

65 temp ( 4 2 )<=R2 and T11 ;temp ( 4 3 )<=R2 and T12 ;temp ( 4 4 )<=R2 and T13 ;temp ( 4 5 )<=R2 and T14 ;temp ( 4 6 )<=R2 and T15 ;

70 temp ( 4 7 )<=R3 and T0 ;temp ( 4 8 )<=R3 and T1 ;temp ( 4 9 )<=R3 and T2 ;temp ( 5 0 )<=R3 and T3 ;temp ( 5 1 )<=R3 and T4 ;

75 temp ( 5 2 )<=R3 and T5 ;temp ( 5 3 )<=R3 and T6 ;temp ( 5 4 )<=R3 and T7 ;temp ( 5 5 )<=R3 and T8 ;temp ( 5 6 )<=R3 and T9 ;

80 temp ( 5 7 )<=R3 and T10 ;temp ( 5 8 )<=R3 and T11 ;temp ( 5 9 )<=R3 and T12 ;temp ( 6 0 )<=R3 and T13 ;temp ( 6 1 )<=R3 and T14 ;

85 temp ( 6 2 )<=R3 and T15 ;temp ( 6 3 )<=R4 and T0 ;temp ( 6 4 )<=R4 and T1 ;temp ( 6 5 )<=R4 and T2 ;temp ( 6 6 )<=R4 and T3 ;

90 temp ( 6 7 )<=R4 and T4 ;temp ( 6 8 )<=R4 and T5 ;temp ( 6 9 )<=R4 and T6 ;temp ( 7 0 )<=R4 and T7 ;temp ( 7 1 )<=R4 and T8 ;

95 temp ( 7 2 )<=R4 and T9 ;temp ( 7 3 )<=R4 and T10 ;

Page 47: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

47

temp ( 7 4 )<=R4 and T11 ;temp ( 7 5 )<=R4 and T12 ;temp ( 7 6 )<=R4 and T13 ;

100 temp ( 7 7 )<=R4 and T14 ;temp ( 7 8 )<=R4 and T15 ;temp ( 7 9 )<=R5 and T0 ;temp ( 8 0 )<=R5 and T1 ;temp ( 8 1 )<=R5 and T2 ;

105 temp ( 8 2 )<=R5 and T3 ;temp ( 8 3 )<=R5 and T4 ;temp ( 8 4 )<=R5 and T5 ;temp ( 8 5 )<=R5 and T6 ;temp ( 8 6 )<=R5 and T7 ;

110 temp ( 8 7 )<=R5 and T8 ;temp ( 8 8 )<=R5 and T9 ;temp ( 8 9 )<=R5 and T10 ;temp ( 9 0 )<=R5 and T11 ;temp ( 9 1 )<=R5 and T12 ;

115 temp ( 9 2 )<=R5 and T13 ;temp ( 9 3 )<=R5 and T14 ;temp ( 9 4 )<=R5 and T15 ;temp ( 9 5 )<=R6 and T0 ;temp ( 9 6 )<=R6 and T1 ;

120 temp ( 9 7 )<=R6 and T2 ;temp ( 9 8 )<=R6 and T3 ;temp ( 9 9 )<=R6 and T4 ;temp ( 1 0 0 )<=R6 and T5 ;temp ( 1 0 1 )<=R6 and T6 ;

125 temp ( 1 0 2 )<=R6 and T7 ;temp ( 1 0 3 )<=R6 and T8 ;temp ( 1 0 4 )<=R6 and T9 ;temp ( 1 0 5 )<=R6 and T10 ;temp ( 1 0 6 )<=R6 and T11 ;

130 temp ( 1 0 7 )<=R6 and T12 ;temp ( 1 0 8 )<=R6 and T13 ;temp ( 1 0 9 )<=R6 and T14 ;temp ( 1 1 0 )<=R6 and T15 ;temp ( 1 1 1 )<=R7 and T0 ;

135 temp ( 1 1 2 )<=R7 and T1 ;temp ( 1 1 3 )<=R7 and T2 ;temp ( 1 1 4 )<=R7 and T3 ;temp ( 1 1 5 )<=R7 and T4 ;temp ( 1 1 6 )<=R7 and T5 ;

140 temp ( 1 1 7 )<=R7 and T6 ;temp ( 1 1 8 )<=R7 and T7 ;temp ( 1 1 9 )<=R7 and T8 ;temp ( 1 2 0 )<=R7 and T9 ;temp ( 1 2 1 )<=R7 and T10 ;

145 temp ( 1 2 2 )<=R7 and T11 ;temp ( 1 2 3 )<=R7 and T12 ;temp ( 1 2 4 )<=R7 and T13 ;temp ( 1 2 5 )<=R7 and T14 ;temp ( 1 2 6 )<=R7 and T15 ;

150 temp ( 1 2 7 )<=R8 and T0 ;temp ( 1 2 8 )<=R8 and T1 ;temp ( 1 2 9 )<=R8 and T2 ;temp ( 1 3 0 )<=R8 and T3 ;

Page 48: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

48

temp ( 1 3 1 )<=R8 and T4 ;155 temp ( 1 3 2 )<=R8 and T5 ;

temp ( 1 3 3 )<=R8 and T6 ;temp ( 1 3 4 )<=R8 and T7 ;temp ( 1 3 5 )<=R8 and T8 ;temp ( 1 3 6 )<=R8 and T9 ;

160 temp ( 1 3 7 )<=R8 and T10 ;temp ( 1 3 8 )<=R8 and T11 ;temp ( 1 3 9 )<=R8 and T12 ;temp ( 1 4 0 )<=R8 and T13 ;temp ( 1 4 1 )<=R8 and T14 ;

165 temp ( 1 4 2 )<=R8 and T15 ;temp ( 1 4 3 )<=R9 and T0 ;temp ( 1 4 4 )<=R9 and T1 ;temp ( 1 4 5 )<=R9 and T2 ;temp ( 1 4 6 )<=R9 and T3 ;

170 temp ( 1 4 7 )<=R9 and T4 ;temp ( 1 4 8 )<=R9 and T5 ;temp ( 1 4 9 )<=R9 and T6 ;temp ( 1 5 0 )<=R9 and T7 ;temp ( 1 5 1 )<=R9 and T8 ;

175 temp ( 1 5 2 )<=R9 and T9 ;temp ( 1 5 3 )<=R9 and T10 ;temp ( 1 5 4 )<=R9 and T11 ;temp ( 1 5 5 )<=R9 and T12 ;temp ( 1 5 6 )<=R9 and T13 ;

180 temp ( 1 5 7 )<=R9 and T14 ;temp ( 1 5 8 )<=R9 and T15 ;temp ( 1 5 9 )<=R10 and T0 ;temp ( 1 6 0 )<=R10 and T1 ;temp ( 1 6 1 )<=R10 and T2 ;

185 temp ( 1 6 2 )<=R10 and T3 ;temp ( 1 6 3 )<=R10 and T4 ;temp ( 1 6 4 )<=R10 and T5 ;temp ( 1 6 5 )<=R10 and T6 ;temp ( 1 6 6 )<=R10 and T7 ;

190 temp ( 1 6 7 )<=R10 and T8 ;temp ( 1 6 8 )<=R10 and T9 ;temp ( 1 6 9 )<=R10 and T10 ;temp ( 1 7 0 )<=R10 and T11 ;temp ( 1 7 1 )<=R10 and T12 ;

195 temp ( 1 7 2 )<=R10 and T13 ;temp ( 1 7 3 )<=R10 and T14 ;temp ( 1 7 4 )<=R10 and T15 ;temp ( 1 7 5 )<=R11 and T0 ;temp ( 1 7 6 )<=R11 and T1 ;

200 temp ( 1 7 7 )<=R11 and T2 ;temp ( 1 7 8 )<=R11 and T3 ;temp ( 1 7 9 )<=R11 and T4 ;temp ( 1 8 0 )<=R11 and T5 ;temp ( 1 8 1 )<=R11 and T6 ;

205 temp ( 1 8 2 )<=R11 and T7 ;temp ( 1 8 3 )<=R11 and T8 ;temp ( 1 8 4 )<=R11 and T9 ;temp ( 1 8 5 )<=R11 and T10 ;temp ( 1 8 6 )<=R11 and T11 ;

210 temp ( 1 8 7 )<=R11 and T12 ;

Page 49: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

49

temp ( 1 8 8 )<=R11 and T13 ;temp ( 1 8 9 )<=R11 and T14 ;temp ( 1 9 0 )<=R11 and T15 ;temp ( 1 9 1 )<=R12 and T0 ;

215 temp ( 1 9 2 )<=R12 and T1 ;temp ( 1 9 3 )<=R12 and T2 ;temp ( 1 9 4 )<=R12 and T3 ;temp ( 1 9 5 )<=R12 and T4 ;temp ( 1 9 6 )<=R12 and T5 ;

220 temp ( 1 9 7 )<=R12 and T6 ;temp ( 1 9 8 )<=R12 and T7 ;temp ( 1 9 9 )<=R12 and T8 ;temp ( 2 0 0 )<=R12 and T9 ;temp ( 2 0 1 )<=R12 and T10 ;

225 temp ( 2 0 2 )<=R12 and T11 ;temp ( 2 0 3 )<=R12 and T12 ;temp ( 2 0 4 )<=R12 and T13 ;temp ( 2 0 5 )<=R12 and T14 ;temp ( 2 0 6 )<=R12 and T15 ;

230 temp ( 2 0 7 )<=R13 and T0 ;temp ( 2 0 8 )<=R13 and T1 ;temp ( 2 0 9 )<=R13 and T2 ;temp ( 2 1 0 )<=R13 and T3 ;temp ( 2 1 1 )<=R13 and T4 ;

235 temp ( 2 1 2 )<=R13 and T5 ;temp ( 2 1 3 )<=R13 and T6 ;temp ( 2 1 4 )<=R13 and T7 ;temp ( 2 1 5 )<=R13 and T8 ;temp ( 2 1 6 )<=R13 and T9 ;

240 temp ( 2 1 7 )<=R13 and T10 ;temp ( 2 1 8 )<=R13 and T11 ;temp ( 2 1 9 )<=R13 and T12 ;temp ( 2 2 0 )<=R13 and T13 ;temp ( 2 2 1 )<=R13 and T14 ;

245 temp ( 2 2 2 )<=R13 and T15 ;temp ( 2 2 3 )<=R14 and T0 ;temp ( 2 2 4 )<=R14 and T1 ;temp ( 2 2 5 )<=R14 and T2 ;temp ( 2 2 6 )<=R14 and T3 ;

250 temp ( 2 2 7 )<=R14 and T4 ;temp ( 2 2 8 )<=R14 and T5 ;temp ( 2 2 9 )<=R14 and T6 ;temp ( 2 3 0 )<=R14 and T7 ;temp ( 2 3 1 )<=R14 and T8 ;

255 temp ( 2 3 2 )<=R14 and T9 ;temp ( 2 3 3 )<=R14 and T10 ;temp ( 2 3 4 )<=R14 and T11 ;temp ( 2 3 5 )<=R14 and T12 ;temp ( 2 3 6 )<=R14 and T13 ;

260 temp ( 2 3 7 )<=R14 and T14 ;temp ( 2 3 8 )<=R14 and T15 ;temp ( 2 3 9 )<=R15 and T0 ;temp ( 2 4 0 )<=R15 and T1 ;temp ( 2 4 1 )<=R15 and T2 ;

265 temp ( 2 4 2 )<=R15 and T3 ;temp ( 2 4 3 )<=R15 and T4 ;temp ( 2 4 4 )<=R15 and T5 ;

Page 50: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

50

temp ( 2 4 5 )<=R15 and T6 ;temp ( 2 4 6 )<=R15 and T7 ;

270 temp ( 2 4 7 )<=R15 and T8 ;temp ( 2 4 8 )<=R15 and T9 ;temp ( 2 4 9 )<=R15 and T10 ;temp ( 2 5 0 )<=R15 and T11 ;temp ( 2 5 1 )<=R15 and T12 ;

275 temp ( 2 5 2 )<=R15 and T13 ;temp ( 2 5 3 )<=R15 and T14 ;temp ( 2 5 4 )<=R15 and T15 ;Y0 : meiopor t map (A=>temp ( 0 ) ,B=>temp ( 1 5 ) ,

280 sum=>P1 , cou t=>h ( 0 ) ) ;Y1 : somadorpor t map (A=>temp ( 1 ) ,B=>temp ( 1 6 ) , c i n=>h ( 0 ) ,

sum=>q ( 0 ) , cou t=>h ( 1 ) ) ;Y2 : somador

285 por t map (A=>temp ( 2 ) ,B=>temp ( 1 7 ) , c i n=>h ( 1 ) ,sum=>q ( 1 ) , cou t=>h ( 2 ) ) ;

Y3 : somadorpor t map (A=>temp ( 3 ) ,B=>temp ( 1 8 ) , c i n=>h ( 2 ) ,

sum=>q ( 2 ) , cou t=>h ( 3 ) ) ;290 Y4 : somador

por t map (A=>temp ( 4 ) ,B=>temp ( 1 9 ) , c i n=>h ( 3 ) ,sum=>q ( 3 ) , cou t=>h ( 4 ) ) ;

Y5 : somadorpor t map (A=>temp ( 5 ) ,B=>temp ( 2 0 ) , c i n=>h ( 4 ) ,

295 sum=>q ( 4 ) , cou t=>h ( 5 ) ) ;Y6 : somadorpor t map (A=>temp ( 6 ) ,B=>temp ( 2 1 ) , c i n=>h ( 5 ) ,

sum=>q ( 5 ) , cou t=>h ( 6 ) ) ;Y7 : somador

300 por t map (A=>temp ( 7 ) ,B=>temp ( 2 2 ) , c i n=>h ( 6 ) ,sum=>q ( 6 ) , cou t=>h ( 7 ) ) ;

Y8 : somadorpor t map (A=>temp ( 8 ) ,B=>temp ( 2 3 ) , c i n=>h ( 7 ) ,

sum=>q ( 7 ) , cou t=>h ( 8 ) ) ;305 Y9 : somador

por t map (A=>temp ( 9 ) ,B=>temp ( 2 4 ) , c i n=>h ( 8 ) ,sum=>q ( 8 ) , cou t=>h ( 9 ) ) ;

Y10 : somadorpor t map (A=>temp ( 1 0 ) ,B=>temp ( 2 5 ) , c i n=>h ( 9 ) ,

310 sum=>q ( 9 ) , cou t=>h ( 1 0 ) ) ;Y11 : somadorpor t map (A=>temp ( 1 1 ) ,B=>temp ( 2 6 ) , c i n=>h ( 1 0 ) ,

sum=>q ( 1 0 ) , cou t=>h ( 1 1 ) ) ;Y12 : somador

315 por t map (A=>temp ( 1 2 ) ,B=>temp ( 2 7 ) , c i n=>h ( 1 1 ) ,sum=>q ( 1 1 ) , cou t=>h ( 1 2 ) ) ;

Y13 : somadorpor t map (A=>temp ( 1 3 ) ,B=>temp ( 2 8 ) , c i n=>h ( 1 2 ) ,

sum=>q ( 1 2 ) , cou t=>h ( 1 3 ) ) ;320 Y14 : somador

por t map (A=>temp ( 1 4 ) ,B=>temp ( 2 9 ) , c i n=>h ( 1 3 ) ,sum=>q ( 1 3 ) , cou t=>h ( 1 4 ) ) ;

Y15 : meiopor t map (A=>temp ( 3 0 ) ,B=>h ( 1 4 ) ,

Page 51: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

51

325 sum=>q ( 1 4 ) , cou t=>h ( 1 5 ) ) ;Y31 : meiopor t map (A=>q ( 0 ) ,B=>temp ( 3 1 ) ,

sum=>P2 , cou t=>h ( 1 6 ) ) ;Y32 : somador

330 por t map (A=>temp ( 3 2 ) ,B=>q ( 1 ) , c i n=>h ( 1 6 ) ,sum=>q ( 1 5 ) , cou t=>h ( 1 7 ) ) ;

Y33 : somadorpor t map (A=>temp ( 3 3 ) ,B=>q ( 2 ) , c i n=>h ( 1 7 ) ,

sum=>q ( 1 6 ) , cou t=>h ( 1 8 ) ) ;335 Y34 : somador

por t map (A=>temp ( 3 4 ) ,B=>q ( 3 ) , c i n=>h ( 1 8 ) ,sum=>q ( 1 7 ) , cou t=>h ( 1 9 ) ) ;

Y35 : somadorpor t map (A=>temp ( 3 5 ) ,B=>q ( 4 ) , c i n=>h ( 1 9 ) ,

340 sum=>q ( 1 8 ) , cou t=>h ( 2 0 ) ) ;Y36 : somadorpor t map (A=>temp ( 3 6 ) ,B=>q ( 5 ) , c i n=>h ( 2 0 ) ,

sum=>q ( 1 9 ) , cou t=>h ( 2 1 ) ) ;Y37 : somador

345 por t map (A=>temp ( 3 7 ) ,B=>q ( 6 ) , c i n=>h ( 2 1 ) ,sum=>q ( 2 0 ) , cou t=>h ( 2 2 ) ) ;

Y38 : somadorpor t map (A=>temp ( 3 8 ) ,B=>q ( 7 ) , c i n=>h ( 2 2 ) ,

sum=>q ( 2 1 ) , cou t=>h ( 2 3 ) ) ;350 Y39 : somador

por t map (A=>temp ( 3 9 ) ,B=>q ( 8 ) , c i n=>h ( 2 3 ) ,sum=>q ( 2 2 ) , cou t=>h ( 2 4 ) ) ;

Y40 : somadorpor t map (A=>temp ( 4 0 ) ,B=>q ( 9 ) , c i n=>h ( 2 4 ) ,

355 sum=>q ( 2 3 ) , cou t=>h ( 2 5 ) ) ;Y41 : somadorpor t map (A=>temp ( 4 1 ) ,B=>q ( 1 0 ) , c i n=>h ( 2 5 ) ,

sum=>q ( 2 4 ) , cou t=>h ( 2 6 ) ) ;Y42 : somador

360 por t map (A=>temp ( 4 2 ) ,B=>q ( 1 1 ) , c i n=>h ( 2 6 ) ,sum=>q ( 2 5 ) , cou t=>h ( 2 7 ) ) ;

Y43 : somadorpor t map (A=>temp ( 4 3 ) ,B=>q ( 1 2 ) , c i n=>h ( 2 7 ) ,

sum=>q ( 2 6 ) , cou t=>h ( 2 8 ) ) ;365 Y44 : somador

por t map (A=>temp ( 4 4 ) ,B=>q ( 1 3 ) , c i n=>h ( 2 8 ) ,sum=>q ( 2 7 ) , cou t=>h ( 2 9 ) ) ;

Y45 : somadorpor t map (A=>temp ( 4 5 ) ,B=>q ( 1 4 ) , c i n=>h ( 2 9 ) ,

370 sum=>q ( 2 8 ) , cou t=>h ( 3 0 ) ) ;Y46 : somadorpor t map (A=>temp ( 4 6 ) ,B=>h ( 1 5 ) , c i n=>h ( 3 0 ) ,

sum=>q ( 2 9 ) , cou t=>h ( 3 1 ) ) ;Y47 : meio

375 por t map (A=>q ( 1 5 ) ,B=>temp ( 4 7 ) ,sum=>P3 , cou t=>h ( 3 2 ) ) ;

Y48 : somadorpor t map (A=>temp ( 4 8 ) ,B=>q ( 1 6 ) , c i n=>h ( 3 2 ) ,

sum=>q ( 3 0 ) , cou t=>h ( 3 3 ) ) ;380 Y49 : somador

por t map (A=>temp ( 4 9 ) ,B=>q ( 1 7 ) , c i n=>h ( 3 3 ) ,

Page 52: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

52

sum=>q ( 3 1 ) , cou t=>h ( 3 4 ) ) ;Y50 : somadorpor t map (A=>temp ( 5 0 ) ,B=>q ( 1 8 ) , c i n=>h ( 3 4 ) ,

385 sum=>q ( 3 2 ) , cou t=>h ( 3 5 ) ) ;Y51 : somadorpor t map (A=>temp ( 5 1 ) ,B=>q ( 1 9 ) , c i n=>h ( 3 5 ) ,

sum=>q ( 3 3 ) , cou t=>h ( 3 6 ) ) ;Y52 : somador

390 por t map (A=>temp ( 5 2 ) ,B=>q ( 2 0 ) , c i n=>h ( 3 6 ) ,sum=>q ( 3 4 ) , cou t=>h ( 3 7 ) ) ;

Y53 : somadorpor t map (A=>temp ( 5 3 ) ,B=>q ( 2 1 ) , c i n=>h ( 3 7 ) ,

sum=>q ( 3 5 ) , cou t=>h ( 3 8 ) ) ;395 Y54 : somador

por t map (A=>temp ( 5 4 ) ,B=>q ( 2 2 ) , c i n=>h ( 3 8 ) ,sum=>q ( 3 6 ) , cou t=>h ( 3 9 ) ) ;

Y55 : somadorpor t map (A=>temp ( 5 5 ) ,B=>q ( 2 3 ) , c i n=>h ( 3 9 ) ,

400 sum=>q ( 3 7 ) , cou t=>h ( 4 0 ) ) ;Y56 : somadorpor t map (A=>temp ( 5 6 ) ,B=>q ( 2 4 ) , c i n=>h ( 4 0 ) ,

sum=>q ( 3 8 ) , cou t=>h ( 4 1 ) ) ;Y57 : somador

405 por t map (A=>temp ( 5 7 ) ,B=>q ( 2 5 ) , c i n=>h ( 4 1 ) ,sum=>q ( 3 9 ) , cou t=>h ( 4 2 ) ) ;

Y58 : somadorpor t map (A=>temp ( 5 8 ) ,B=>q ( 2 6 ) , c i n=>h ( 4 2 ) ,

sum=>q ( 4 0 ) , cou t=>h ( 4 3 ) ) ;410 Y59 : somador

por t map (A=>temp ( 5 9 ) ,B=>q ( 2 7 ) , c i n=>h ( 4 3 ) ,sum=>q ( 4 1 ) , cou t=>h ( 4 4 ) ) ;

Y60 : somadorpor t map (A=>temp ( 6 0 ) ,B=>q ( 2 8 ) , c i n=>h ( 4 4 ) ,

415 sum=>q ( 4 2 ) , cou t=>h ( 4 5 ) ) ;Y61 : somadorpor t map (A=>temp ( 6 1 ) ,B=>q ( 2 9 ) , c i n=>h ( 4 5 ) ,

sum=>q ( 4 3 ) , cou t=>h ( 4 6 ) ) ;Y62 : somador

420 por t map (A=>temp ( 6 2 ) ,B=>h ( 3 1 ) , c i n=>h ( 4 6 ) ,sum=>q ( 4 4 ) , cou t=>h ( 4 7 ) ) ;

Y63 : meiopor t map (A=>q ( 3 0 ) ,B=>temp ( 6 3 ) ,

sum=>P4 , cou t=>h ( 4 8 ) ) ;425 Y64 : somador

por t map (A=>temp ( 6 4 ) ,B=>q ( 3 1 ) , c i n=>h ( 4 8 ) ,sum=>q ( 4 5 ) , cou t=>h ( 4 9 ) ) ;

Y65 : somadorpor t map (A=>temp ( 6 5 ) ,B=>q ( 3 2 ) , c i n=>h ( 4 9 ) ,

430 sum=>q ( 4 6 ) , cou t=>h ( 5 0 ) ) ;Y66 : somadorpor t map (A=>temp ( 6 6 ) ,B=>q ( 3 3 ) , c i n=>h ( 5 0 ) ,

sum=>q ( 4 7 ) , cou t=>h ( 5 1 ) ) ;Y67 : somador

435 por t map (A=>temp ( 6 7 ) ,B=>q ( 3 4 ) , c i n=>h ( 5 1 ) ,sum=>q ( 4 8 ) , cou t=>h ( 5 2 ) ) ;

Y68 : somadorpor t map (A=>temp ( 6 8 ) ,B=>q ( 3 5 ) , c i n=>h ( 5 2 ) ,

Page 53: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

53

sum=>q ( 4 9 ) , cou t=>h ( 5 3 ) ) ;440 Y69 : somador

por t map (A=>temp ( 6 9 ) ,B=>q ( 3 6 ) , c i n=>h ( 5 3 ) ,sum=>q ( 5 0 ) , cou t=>h ( 5 4 ) ) ;

Y70 : somadorpor t map (A=>temp ( 7 0 ) ,B=>q ( 3 7 ) , c i n=>h ( 5 4 ) ,

445 sum=>q ( 5 1 ) , cou t=>h ( 5 5 ) ) ;Y71 : somadorpor t map (A=>temp ( 7 1 ) ,B=>q ( 3 8 ) , c i n=>h ( 5 5 ) ,

sum=>q ( 5 2 ) , cou t=>h ( 5 6 ) ) ;Y72 : somador

450 por t map (A=>temp ( 7 2 ) ,B=>q ( 3 9 ) , c i n=>h ( 5 6 ) ,sum=>q ( 5 3 ) , cou t=>h ( 5 7 ) ) ;

Y73 : somadorpor t map (A=>temp ( 7 3 ) ,B=>q ( 4 0 ) , c i n=>h ( 5 7 ) ,

sum=>q ( 5 4 ) , cou t=>h ( 5 8 ) ) ;455 Y74 : somador

por t map (A=>temp ( 7 4 ) ,B=>q ( 4 1 ) , c i n=>h ( 5 8 ) ,sum=>q ( 5 5 ) , cou t=>h ( 5 9 ) ) ;

Y75 : somadorpor t map (A=>temp ( 7 5 ) ,B=>q ( 4 2 ) , c i n=>h ( 5 9 ) ,

460 sum=>q ( 5 6 ) , cou t=>h ( 6 0 ) ) ;Y76 : somadorpor t map (A=>temp ( 7 6 ) ,B=>q ( 4 3 ) , c i n=>h ( 6 0 ) ,

sum=>q ( 5 7 ) , cou t=>h ( 6 1 ) ) ;Y77 : somador

465 por t map (A=>temp ( 7 7 ) ,B=>q ( 4 4 ) , c i n=>h ( 6 1 ) ,sum=>q ( 5 8 ) , cou t=>h ( 6 2 ) ) ;

Y78 : somadorpor t map (A=>temp ( 7 8 ) ,B=>h ( 4 7 ) , c i n=>h ( 6 2 ) ,

sum=>q ( 5 9 ) , cou t=>h ( 6 3 ) ) ;470 Y79 : meio

por t map (A=>q ( 4 5 ) ,B=>temp ( 7 9 ) ,sum=>P5 , cou t=>h ( 6 4 ) ) ;

Y80 : somadorpor t map (A=>temp ( 8 0 ) ,B=>q ( 4 6 ) , c i n=>h ( 6 4 ) ,

475 sum=>q ( 6 0 ) , cou t=>h ( 6 5 ) ) ;Y81 : somadorpor t map (A=>temp ( 8 1 ) ,B=>q ( 4 7 ) , c i n=>h ( 6 5 ) ,

sum=>q ( 6 1 ) , cou t=>h ( 6 6 ) ) ;Y82 : somador

480 por t map (A=>temp ( 8 2 ) ,B=>q ( 4 8 ) , c i n=>h ( 6 6 ) ,sum=>q ( 6 2 ) , cou t=>h ( 6 7 ) ) ;

Y83 : somadorpor t map (A=>temp ( 8 3 ) ,B=>q ( 4 9 ) , c i n=>h ( 6 7 ) ,

sum=>q ( 6 3 ) , cou t=>h ( 6 8 ) ) ;485 Y84 : somador

por t map (A=>temp ( 8 4 ) ,B=>q ( 5 0 ) , c i n=>h ( 6 8 ) ,sum=>q ( 6 4 ) , cou t=>h ( 6 9 ) ) ;

Y85 : somadorpor t map (A=>temp ( 8 5 ) ,B=>q ( 5 1 ) , c i n=>h ( 6 9 ) ,

490 sum=>q ( 6 5 ) , cou t=>h ( 7 0 ) ) ;Y86 : somadorpor t map (A=>temp ( 8 6 ) ,B=>q ( 5 2 ) , c i n=>h ( 7 0 ) ,

sum=>q ( 6 6 ) , cou t=>h ( 7 1 ) ) ;Y87 : somador

495 por t map (A=>temp ( 8 7 ) ,B=>q ( 5 3 ) , c i n=>h ( 7 1 ) ,

Page 54: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

54

sum=>q ( 6 7 ) , cou t=>h ( 7 2 ) ) ;Y88 : somadorpor t map (A=>temp ( 8 8 ) ,B=>q ( 5 4 ) , c i n=>h ( 7 2 ) ,

sum=>q ( 6 8 ) , cou t=>h ( 7 3 ) ) ;500 Y89 : somador

por t map (A=>temp ( 8 9 ) ,B=>q ( 5 5 ) , c i n=>h ( 7 3 ) ,sum=>q ( 6 9 ) , cou t=>h ( 7 4 ) ) ;

Y90 : somadorpor t map (A=>temp ( 9 0 ) ,B=>q ( 5 6 ) , c i n=>h ( 7 4 ) ,

505 sum=>q ( 7 0 ) , cou t=>h ( 7 5 ) ) ;Y91 : somadorpor t map (A=>temp ( 9 1 ) ,B=>q ( 5 7 ) , c i n=>h ( 7 5 ) ,

sum=>q ( 7 1 ) , cou t=>h ( 7 6 ) ) ;Y92 : somador

510 por t map (A=>temp ( 9 2 ) ,B=>q ( 5 8 ) , c i n=>h ( 7 6 ) ,sum=>q ( 7 2 ) , cou t=>h ( 7 7 ) ) ;

Y93 : somadorpor t map (A=>temp ( 9 3 ) ,B=>q ( 5 9 ) , c i n=>h ( 7 7 ) ,

sum=>q ( 7 3 ) , cou t=>h ( 7 8 ) ) ;515 Y94 : somador

por t map (A=>temp ( 9 4 ) ,B=>h ( 6 3 ) , c i n=>h ( 7 8 ) ,sum=>q ( 7 4 ) , cou t=>h ( 7 9 ) ) ;

Y95 : meiopor t map (A=>q ( 6 0 ) ,B=>temp ( 9 5 ) ,

520 sum=>P6 , cou t=>h ( 8 0 ) ) ;Y96 : somadorpor t map (A=>temp ( 9 6 ) ,B=>q ( 6 1 ) , c i n=>h ( 8 0 ) ,

sum=>q ( 7 5 ) , cou t=>h ( 8 1 ) ) ;Y97 : somador

525 por t map (A=>temp ( 9 7 ) ,B=>q ( 6 2 ) , c i n=>h ( 8 1 ) ,sum=>q ( 7 6 ) , cou t=>h ( 8 2 ) ) ;

Y98 : somadorpor t map (A=>temp ( 9 8 ) ,B=>q ( 6 3 ) , c i n=>h ( 8 2 ) ,

sum=>q ( 7 7 ) , cou t=>h ( 8 3 ) ) ;530 Y99 : somador

por t map (A=>temp ( 9 9 ) ,B=>q ( 6 4 ) , c i n=>h ( 8 3 ) ,sum=>q ( 7 8 ) , cou t=>h ( 8 4 ) ) ;

Y100 : somadorpor t map (A=>temp ( 1 0 0 ) ,B=>q ( 6 5 ) , c i n=>h ( 8 4 ) ,

535 sum=>q ( 7 9 ) , cou t=>h ( 8 5 ) ) ;Y101 : somadorpor t map (A=>temp ( 1 0 1 ) ,B=>q ( 6 6 ) , c i n=>h ( 8 5 ) ,

sum=>q ( 8 0 ) , cou t=>h ( 8 6 ) ) ;Y102 : somador

540 por t map (A=>temp ( 1 0 2 ) ,B=>q ( 6 7 ) , c i n=>h ( 8 6 ) ,sum=>q ( 8 1 ) , cou t=>h ( 8 7 ) ) ;

Y103 : somadorpor t map (A=>temp ( 1 0 3 ) ,B=>q ( 6 8 ) , c i n=>h ( 8 7 ) ,

sum=>q ( 8 2 ) , cou t=>h ( 8 8 ) ) ;545 Y104 : somador

por t map (A=>temp ( 1 0 4 ) ,B=>q ( 6 9 ) , c i n=>h ( 8 8 ) ,sum=>q ( 8 3 ) , cou t=>h ( 8 9 ) ) ;

Y105 : somadorpor t map (A=>temp ( 1 0 5 ) ,B=>q ( 7 0 ) , c i n=>h ( 8 9 ) ,

550 sum=>q ( 8 4 ) , cou t=>h ( 9 0 ) ) ;Y106 : somadorpor t map (A=>temp ( 1 0 6 ) ,B=>q ( 7 1 ) , c i n=>h ( 9 0 ) ,

Page 55: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

55

sum=>q ( 8 5 ) , cou t=>h ( 9 1 ) ) ;Y107 : somador

555 por t map (A=>temp ( 1 0 7 ) ,B=>q ( 7 2 ) , c i n=>h ( 9 1 ) ,sum=>q ( 8 6 ) , cou t=>h ( 9 2 ) ) ;

Y108 : somadorpor t map (A=>temp ( 1 0 8 ) ,B=>q ( 7 3 ) , c i n=>h ( 9 2 ) ,

sum=>q ( 8 7 ) , cou t=>h ( 9 3 ) ) ;560 Y109 : somador

por t map (A=>temp ( 1 0 9 ) ,B=>q ( 7 4 ) , c i n=>h ( 9 3 ) ,sum=>q ( 8 8 ) , cou t=>h ( 9 4 ) ) ;

Y110 : somadorpor t map (A=>temp ( 1 1 0 ) ,B=>h ( 7 9 ) , c i n=>h ( 9 4 ) ,

565 sum=>q ( 8 9 ) , cou t=>h ( 9 5 ) ) ;Y111 : meiopor t map (A=>q ( 7 5 ) ,B=>temp ( 1 1 1 ) ,

sum=>P7 , cou t=>h ( 9 6 ) ) ;Y112 : somador

570 por t map (A=>temp ( 1 1 2 ) ,B=>q ( 7 6 ) , c i n=>h ( 9 6 ) ,sum=>q ( 9 0 ) , cou t=>h ( 9 7 ) ) ;

Y113 : somadorpor t map (A=>temp ( 1 1 3 ) ,B=>q ( 7 7 ) , c i n=>h ( 9 7 ) ,

sum=>q ( 9 1 ) , cou t=>h ( 9 8 ) ) ;575 Y114 : somador

por t map (A=>temp ( 1 1 4 ) ,B=>q ( 7 8 ) , c i n=>h ( 9 8 ) ,sum=>q ( 9 2 ) , cou t=>h ( 9 9 ) ) ;

Y115 : somadorpor t map (A=>temp ( 1 1 5 ) ,B=>q ( 7 9 ) , c i n=>h ( 9 9 ) ,

580 sum=>q ( 9 3 ) , cou t=>h ( 1 0 0 ) ) ;Y116 : somadorpor t map (A=>temp ( 1 1 6 ) ,B=>q ( 8 0 ) , c i n=>h ( 1 0 0 ) ,

sum=>q ( 9 4 ) , cou t=>h ( 1 0 1 ) ) ;Y117 : somador

585 por t map (A=>temp ( 1 1 7 ) ,B=>q ( 8 1 ) , c i n=>h ( 1 0 1 ) ,sum=>q ( 9 5 ) , cou t=>h ( 1 0 2 ) ) ;

Y118 : somadorpor t map (A=>temp ( 1 1 8 ) ,B=>q ( 8 2 ) , c i n=>h ( 1 0 2 ) ,

sum=>q ( 9 6 ) , cou t=>h ( 1 0 3 ) ) ;590 Y119 : somador

por t map (A=>temp ( 1 1 9 ) ,B=>q ( 8 3 ) , c i n=>h ( 1 0 3 ) ,sum=>q ( 9 7 ) , cou t=>h ( 1 0 4 ) ) ;

Y120 : somadorpor t map (A=>temp ( 1 2 0 ) ,B=>q ( 8 4 ) , c i n=>h ( 1 0 4 ) ,

595 sum=>q ( 9 8 ) , cou t=>h ( 1 0 5 ) ) ;Y121 : somadorpor t map (A=>temp ( 1 2 1 ) ,B=>q ( 8 5 ) , c i n=>h ( 1 0 5 ) ,

sum=>q ( 9 9 ) , cou t=>h ( 1 0 6 ) ) ;Y122 : somador

600 por t map (A=>temp ( 1 2 2 ) ,B=>q ( 8 6 ) , c i n=>h ( 1 0 6 ) ,sum=>q ( 1 0 0 ) , cou t=>h ( 1 0 7 ) ) ;

Y123 : somadorpor t map (A=>temp ( 1 2 3 ) ,B=>q ( 8 7 ) , c i n=>h ( 1 0 7 ) ,

sum=>q ( 1 0 1 ) , cou t=>h ( 1 0 8 ) ) ;605 Y124 : somador

por t map (A=>temp ( 1 2 4 ) ,B=>q ( 8 8 ) , c i n=>h ( 1 0 8 ) ,sum=>q ( 1 0 2 ) , cou t=>h ( 1 0 9 ) ) ;

Y125 : somadorpor t map (A=>temp ( 1 2 5 ) ,B=>q ( 8 9 ) , c i n=>h ( 1 0 9 ) ,

Page 56: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

56

610 sum=>q ( 1 0 3 ) , cou t=>h ( 1 1 0 ) ) ;Y126 : somadorpor t map (A=>temp ( 1 2 6 ) ,B=>h ( 9 5 ) , c i n=>h ( 1 1 0 ) ,

sum=>q ( 1 0 4 ) , cou t=>h ( 1 1 1 ) ) ;Y127 : meio

615 por t map (A=>q ( 9 0 ) ,B=>temp ( 1 2 7 ) ,sum=>P8 , cou t=>h ( 1 1 2 ) ) ;

Y128 : somadorpor t map (A=>temp ( 1 2 8 ) ,B=>q ( 9 1 ) , c i n=>h ( 1 1 2 ) ,

sum=>q ( 1 0 5 ) , cou t=>h ( 1 1 3 ) ) ;620 Y129 : somador

por t map (A=>temp ( 1 2 9 ) ,B=>q ( 9 2 ) , c i n=>h ( 1 1 3 ) ,sum=>q ( 1 0 6 ) , cou t=>h ( 1 1 4 ) ) ;

Y130 : somadorpor t map (A=>temp ( 1 3 0 ) ,B=>q ( 9 3 ) , c i n=>h ( 1 1 4 ) ,

625 sum=>q ( 1 0 7 ) , cou t=>h ( 1 1 5 ) ) ;Y131 : somadorpor t map (A=>temp ( 1 3 1 ) ,B=>q ( 9 4 ) , c i n=>h ( 1 1 5 ) ,

sum=>q ( 1 0 8 ) , cou t=>h ( 1 1 6 ) ) ;Y132 : somador

630 por t map (A=>temp ( 1 3 2 ) ,B=>q ( 9 5 ) , c i n=>h ( 1 1 6 ) ,sum=>q ( 1 0 9 ) , cou t=>h ( 1 1 7 ) ) ;

Y133 : somadorpor t map (A=>temp ( 1 3 3 ) ,B=>q ( 9 6 ) , c i n=>h ( 1 1 7 ) ,

sum=>q ( 1 1 0 ) , cou t=>h ( 1 1 8 ) ) ;635 Y134 : somador

por t map (A=>temp ( 1 3 4 ) ,B=>q ( 9 7 ) , c i n=>h ( 1 1 8 ) ,sum=>q ( 1 1 1 ) , cou t=>h ( 1 1 9 ) ) ;

Y135 : somadorpor t map (A=>temp ( 1 3 5 ) ,B=>q ( 9 8 ) , c i n=>h ( 1 1 9 ) ,

640 sum=>q ( 1 1 2 ) , cou t=>h ( 1 2 0 ) ) ;Y136 : somadorpor t map (A=>temp ( 1 3 6 ) ,B=>q ( 9 9 ) , c i n=>h ( 1 2 0 ) ,

sum=>q ( 1 1 3 ) , cou t=>h ( 1 2 1 ) ) ;Y137 : somador

645 por t map (A=>temp ( 1 3 7 ) ,B=>q ( 1 0 0 ) , c i n=>h ( 1 2 1 ) ,sum=>q ( 1 1 4 ) , cou t=>h ( 1 2 2 ) ) ;

Y138 : somadorpor t map (A=>temp ( 1 3 8 ) ,B=>q ( 1 0 1 ) , c i n=>h ( 1 2 2 ) ,

sum=>q ( 1 1 5 ) , cou t=>h ( 1 2 3 ) ) ;650 Y139 : somador

por t map (A=>temp ( 1 3 9 ) ,B=>q ( 1 0 2 ) , c i n=>h ( 1 2 3 ) ,sum=>q ( 1 1 6 ) , cou t=>h ( 1 2 4 ) ) ;

Y140 : somadorpor t map (A=>temp ( 1 4 0 ) ,B=>q ( 1 0 3 ) , c i n=>h ( 1 2 4 ) ,

655 sum=>q ( 1 1 7 ) , cou t=>h ( 1 2 5 ) ) ;Y141 : somadorpor t map (A=>temp ( 1 4 1 ) ,B=>q ( 1 0 4 ) , c i n=>h ( 1 2 5 ) ,

sum=>q ( 1 1 8 ) , cou t=>h ( 1 2 6 ) ) ;Y142 : somador

660 por t map (A=>temp ( 1 4 2 ) ,B=>h ( 1 1 1 ) , c i n=>h ( 1 2 6 ) ,sum=>q ( 1 1 9 ) , cou t=>h ( 1 2 7 ) ) ;

Y143 : meiopor t map (A=>q ( 1 0 5 ) ,B=>temp ( 1 4 3 ) ,

sum=>P9 , cou t=>h ( 1 2 8 ) ) ;665 Y144 : somador

por t map (A=>temp ( 1 4 4 ) ,B=>q ( 1 0 6 ) , c i n=>h ( 1 2 8 ) ,

Page 57: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

57

sum=>q ( 1 2 0 ) , cou t=>h ( 1 2 9 ) ) ;Y145 : somadorpor t map (A=>temp ( 1 4 5 ) ,B=>q ( 1 0 7 ) , c i n=>h ( 1 2 9 ) ,

670 sum=>q ( 1 2 1 ) , cou t=>h ( 1 3 0 ) ) ;Y146 : somadorpor t map (A=>temp ( 1 4 6 ) ,B=>q ( 1 0 8 ) , c i n=>h ( 1 3 0 ) ,

sum=>q ( 1 2 2 ) , cou t=>h ( 1 3 1 ) ) ;Y147 : somador

675 por t map (A=>temp ( 1 4 7 ) ,B=>q ( 1 0 9 ) , c i n=>h ( 1 3 1 ) ,sum=>q ( 1 2 3 ) , cou t=>h ( 1 3 2 ) ) ;

Y148 : somadorpor t map (A=>temp ( 1 4 8 ) ,B=>q ( 1 1 0 ) , c i n=>h ( 1 3 2 ) ,

sum=>q ( 1 2 4 ) , cou t=>h ( 1 3 3 ) ) ;680 Y149 : somador

por t map (A=>temp ( 1 4 9 ) ,B=>q ( 1 1 1 ) , c i n=>h ( 1 3 3 ) ,sum=>q ( 1 2 5 ) , cou t=>h ( 1 3 4 ) ) ;

Y150 : somadorpor t map (A=>temp ( 1 5 0 ) ,B=>q ( 1 1 2 ) , c i n=>h ( 1 3 4 ) ,

685 sum=>q ( 1 2 6 ) , cou t=>h ( 1 3 5 ) ) ;Y151 : somadorpor t map (A=>temp ( 1 5 1 ) ,B=>q ( 1 1 3 ) , c i n=>h ( 1 3 5 ) ,

sum=>q ( 1 2 7 ) , cou t=>h ( 1 3 6 ) ) ;Y152 : somador

690 por t map (A=>temp ( 1 5 2 ) ,B=>q ( 1 1 4 ) , c i n=>h ( 1 3 6 ) ,sum=>q ( 1 2 8 ) , cou t=>h ( 1 3 7 ) ) ;

Y153 : somadorpor t map (A=>temp ( 1 5 3 ) ,B=>q ( 1 1 5 ) , c i n=>h ( 1 3 7 ) ,

sum=>q ( 1 2 9 ) , cou t=>h ( 1 3 8 ) ) ;695 Y154 : somador

por t map (A=>temp ( 1 5 4 ) ,B=>q ( 1 1 6 ) , c i n=>h ( 1 3 8 ) ,sum=>q ( 1 3 0 ) , cou t=>h ( 1 3 9 ) ) ;

Y155 : somadorpor t map (A=>temp ( 1 5 5 ) ,B=>q ( 1 1 7 ) , c i n=>h ( 1 3 9 ) ,

700 sum=>q ( 1 3 1 ) , cou t=>h ( 1 4 0 ) ) ;Y156 : somadorpor t map (A=>temp ( 1 5 6 ) ,B=>q ( 1 1 8 ) , c i n=>h ( 1 4 0 ) ,

sum=>q ( 1 3 2 ) , cou t=>h ( 1 4 1 ) ) ;Y157 : somador

705 por t map (A=>temp ( 1 5 7 ) ,B=>q ( 1 1 9 ) , c i n=>h ( 1 4 1 ) ,sum=>q ( 1 3 3 ) , cou t=>h ( 1 4 2 ) ) ;

Y158 : somadorpor t map (A=>temp ( 1 5 8 ) ,B=>h ( 1 2 7 ) , c i n=>h ( 1 4 2 ) ,

sum=>q ( 1 3 4 ) , cou t=>h ( 1 4 3 ) ) ;710 Y159 : meio

por t map (A=>q ( 1 2 0 ) ,B=>temp ( 1 5 9 ) ,sum=>P10 , cou t=>h ( 1 4 4 ) ) ;

Y160 : somadorpor t map (A=>temp ( 1 6 0 ) ,B=>q ( 1 2 1 ) , c i n=>h ( 1 4 4 ) ,

715 sum=>q ( 1 3 5 ) , cou t=>h ( 1 4 5 ) ) ;Y161 : somadorpor t map (A=>temp ( 1 6 1 ) ,B=>q ( 1 2 2 ) , c i n=>h ( 1 4 5 ) ,

sum=>q ( 1 3 6 ) , cou t=>h ( 1 4 6 ) ) ;Y162 : somador

720 por t map (A=>temp ( 1 6 2 ) ,B=>q ( 1 2 3 ) , c i n=>h ( 1 4 6 ) ,sum=>q ( 1 3 7 ) , cou t=>h ( 1 4 7 ) ) ;

Y163 : somadorpor t map (A=>temp ( 1 6 3 ) ,B=>q ( 1 2 4 ) , c i n=>h ( 1 4 7 ) ,

Page 58: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

58

sum=>q ( 1 3 8 ) , cou t=>h ( 1 4 8 ) ) ;725 Y164 : somador

por t map (A=>temp ( 1 6 4 ) ,B=>q ( 1 2 5 ) , c i n=>h ( 1 4 8 ) ,sum=>q ( 1 3 9 ) , cou t=>h ( 1 4 9 ) ) ;

Y165 : somadorpor t map (A=>temp ( 1 6 5 ) ,B=>q ( 1 2 6 ) , c i n=>h ( 1 4 9 ) ,

730 sum=>q ( 1 4 0 ) , cou t=>h ( 1 5 0 ) ) ;Y166 : somadorpor t map (A=>temp ( 1 6 6 ) ,B=>q ( 1 2 7 ) , c i n=>h ( 1 5 0 ) ,

sum=>q ( 1 4 1 ) , cou t=>h ( 1 5 1 ) ) ;Y167 : somador

735 por t map (A=>temp ( 1 6 7 ) ,B=>q ( 1 2 8 ) , c i n=>h ( 1 5 1 ) ,sum=>q ( 1 4 2 ) , cou t=>h ( 1 5 2 ) ) ;

Y168 : somadorpor t map (A=>temp ( 1 6 8 ) ,B=>q ( 1 2 9 ) , c i n=>h ( 1 5 2 ) ,

sum=>q ( 1 4 3 ) , cou t=>h ( 1 5 3 ) ) ;740 Y169 : somador

por t map (A=>temp ( 1 6 9 ) ,B=>q ( 1 3 0 ) , c i n=>h ( 1 5 3 ) ,sum=>q ( 1 4 4 ) , cou t=>h ( 1 5 4 ) ) ;

Y170 : somadorpor t map (A=>temp ( 1 7 0 ) ,B=>q ( 1 3 1 ) , c i n=>h ( 1 5 4 ) ,

745 sum=>q ( 1 4 5 ) , cou t=>h ( 1 5 5 ) ) ;Y171 : somadorpor t map (A=>temp ( 1 7 1 ) ,B=>q ( 1 3 2 ) , c i n=>h ( 1 5 5 ) ,

sum=>q ( 1 4 6 ) , cou t=>h ( 1 5 6 ) ) ;Y172 : somador

750 por t map (A=>temp ( 1 7 2 ) ,B=>q ( 1 3 3 ) , c i n=>h ( 1 5 6 ) ,sum=>q ( 1 4 7 ) , cou t=>h ( 1 5 7 ) ) ;

Y173 : somadorpor t map (A=>temp ( 1 7 3 ) ,B=>q ( 1 3 4 ) , c i n=>h ( 1 5 7 ) ,

sum=>q ( 1 4 8 ) , cou t=>h ( 1 5 8 ) ) ;755 Y174 : somador

por t map (A=>temp ( 1 7 4 ) ,B=>h ( 1 4 3 ) , c i n=>h ( 1 5 8 ) ,sum=>q ( 1 4 9 ) , cou t=>h ( 1 5 9 ) ) ;

Y175 : meiopor t map (A=>q ( 1 3 5 ) ,B=>temp ( 1 7 5 ) ,

760 sum=>P11 , cou t=>h ( 1 6 0 ) ) ;Y176 : somadorpor t map (A=>temp ( 1 7 6 ) ,B=>q ( 1 3 6 ) , c i n=>h ( 1 6 0 ) ,

sum=>q ( 1 5 0 ) , cou t=>h ( 1 6 1 ) ) ;Y177 : somador

765 por t map (A=>temp ( 1 7 7 ) ,B=>q ( 1 3 7 ) , c i n=>h ( 1 6 1 ) ,sum=>q ( 1 5 1 ) , cou t=>h ( 1 6 2 ) ) ;

Y178 : somadorpor t map (A=>temp ( 1 7 8 ) ,B=>q ( 1 3 8 ) , c i n=>h ( 1 6 2 ) ,

sum=>q ( 1 5 2 ) , cou t=>h ( 1 6 3 ) ) ;770 Y179 : somador

por t map (A=>temp ( 1 7 9 ) ,B=>q ( 1 3 9 ) , c i n=>h ( 1 6 3 ) ,sum=>q ( 1 5 3 ) , cou t=>h ( 1 6 4 ) ) ;

Y180 : somadorpor t map (A=>temp ( 1 8 0 ) ,B=>q ( 1 4 0 ) , c i n=>h ( 1 6 4 ) ,

775 sum=>q ( 1 5 4 ) , cou t=>h ( 1 6 5 ) ) ;Y181 : somadorpor t map (A=>temp ( 1 8 1 ) ,B=>q ( 1 4 1 ) , c i n=>h ( 1 6 5 ) ,

sum=>q ( 1 5 5 ) , cou t=>h ( 1 6 6 ) ) ;Y182 : somador

780 por t map (A=>temp ( 1 8 2 ) ,B=>q ( 1 4 2 ) , c i n=>h ( 1 6 6 ) ,

Page 59: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

59

sum=>q ( 1 5 6 ) , cou t=>h ( 1 6 7 ) ) ;Y183 : somadorpor t map (A=>temp ( 1 8 3 ) ,B=>q ( 1 4 3 ) , c i n=>h ( 1 6 7 ) ,

sum=>q ( 1 5 7 ) , cou t=>h ( 1 6 8 ) ) ;785 Y184 : somador

por t map (A=>temp ( 1 8 4 ) ,B=>q ( 1 4 4 ) , c i n=>h ( 1 6 8 ) ,sum=>q ( 1 5 8 ) , cou t=>h ( 1 6 9 ) ) ;

Y185 : somadorpor t map (A=>temp ( 1 8 5 ) ,B=>q ( 1 4 5 ) , c i n=>h ( 1 6 9 ) ,

790 sum=>q ( 1 5 9 ) , cou t=>h ( 1 7 0 ) ) ;Y186 : somadorpor t map (A=>temp ( 1 8 6 ) ,B=>q ( 1 4 6 ) , c i n=>h ( 1 7 0 ) ,

sum=>q ( 1 6 0 ) , cou t=>h ( 1 7 1 ) ) ;Y187 : somador

795 por t map (A=>temp ( 1 8 7 ) ,B=>q ( 1 4 7 ) , c i n=>h ( 1 7 1 ) ,sum=>q ( 1 6 1 ) , cou t=>h ( 1 7 2 ) ) ;

Y188 : somadorpor t map (A=>temp ( 1 8 8 ) ,B=>q ( 1 4 8 ) , c i n=>h ( 1 7 2 ) ,

sum=>q ( 1 6 2 ) , cou t=>h ( 1 7 3 ) ) ;800 Y189 : somador

por t map (A=>temp ( 1 8 9 ) ,B=>q ( 1 4 9 ) , c i n=>h ( 1 7 3 ) ,sum=>q ( 1 6 3 ) , cou t=>h ( 1 7 4 ) ) ;

Y190 : somadorpor t map (A=>temp ( 1 9 0 ) ,B=>h ( 1 5 9 ) , c i n=>h ( 1 7 4 ) ,

805 sum=>q ( 1 6 4 ) , cou t=>h ( 1 7 5 ) ) ;Y191 : meiopor t map (A=>q ( 1 5 0 ) ,B=>temp ( 1 9 1 ) ,

sum=>P12 , cou t=>h ( 1 7 6 ) ) ;Y192 : somador

810 por t map (A=>temp ( 1 9 2 ) ,B=>q ( 1 5 1 ) , c i n=>h ( 1 7 6 ) ,sum=>q ( 1 6 5 ) , cou t=>h ( 1 7 7 ) ) ;

Y193 : somadorpor t map (A=>temp ( 1 9 3 ) ,B=>q ( 1 5 2 ) , c i n=>h ( 1 7 7 ) ,

sum=>q ( 1 6 6 ) , cou t=>h ( 1 7 8 ) ) ;815 Y194 : somador

por t map (A=>temp ( 1 9 4 ) ,B=>q ( 1 5 3 ) , c i n=>h ( 1 7 8 ) ,sum=>q ( 1 6 7 ) , cou t=>h ( 1 7 9 ) ) ;

Y195 : somadorpor t map (A=>temp ( 1 9 5 ) ,B=>q ( 1 5 4 ) , c i n=>h ( 1 7 9 ) ,

820 sum=>q ( 1 6 8 ) , cou t=>h ( 1 8 0 ) ) ;Y196 : somadorpor t map (A=>temp ( 1 9 6 ) ,B=>q ( 1 5 5 ) , c i n=>h ( 1 8 0 ) ,

sum=>q ( 1 6 9 ) , cou t=>h ( 1 8 1 ) ) ;Y197 : somador

825 por t map (A=>temp ( 1 9 7 ) ,B=>q ( 1 5 6 ) , c i n=>h ( 1 8 1 ) ,sum=>q ( 1 7 0 ) , cou t=>h ( 1 8 2 ) ) ;

Y198 : somadorpor t map (A=>temp ( 1 9 8 ) ,B=>q ( 1 5 7 ) , c i n=>h ( 1 8 2 ) ,

sum=>q ( 1 7 1 ) , cou t=>h ( 1 8 3 ) ) ;830 Y199 : somador

por t map (A=>temp ( 1 9 9 ) ,B=>q ( 1 5 8 ) , c i n=>h ( 1 8 3 ) ,sum=>q ( 1 7 2 ) , cou t=>h ( 1 8 4 ) ) ;

Y200 : somadorpor t map (A=>temp ( 2 0 0 ) ,B=>q ( 1 5 9 ) , c i n=>h ( 1 8 4 ) ,

835 sum=>q ( 1 7 3 ) , cou t=>h ( 1 8 5 ) ) ;Y201 : somadorpor t map (A=>temp ( 2 0 1 ) ,B=>q ( 1 6 0 ) , c i n=>h ( 1 8 5 ) ,

Page 60: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

60

sum=>q ( 1 7 4 ) , cou t=>h ( 1 8 6 ) ) ;Y202 : somador

840 por t map (A=>temp ( 2 0 2 ) ,B=>q ( 1 6 1 ) , c i n=>h ( 1 8 6 ) ,sum=>q ( 1 7 5 ) , cou t=>h ( 1 8 7 ) ) ;

Y203 : somadorpor t map (A=>temp ( 2 0 3 ) ,B=>q ( 1 6 2 ) , c i n=>h ( 1 8 7 ) ,

sum=>q ( 1 7 6 ) , cou t=>h ( 1 8 8 ) ) ;845 Y204 : somador

por t map (A=>temp ( 2 0 4 ) ,B=>q ( 1 6 3 ) , c i n=>h ( 1 8 8 ) ,sum=>q ( 1 7 7 ) , cou t=>h ( 1 8 9 ) ) ;

Y205 : somadorpor t map (A=>temp ( 2 0 5 ) ,B=>q ( 1 6 4 ) , c i n=>h ( 1 8 9 ) ,

850 sum=>q ( 1 7 8 ) , cou t=>h ( 1 9 0 ) ) ;Y206 : somadorpor t map (A=>temp ( 2 0 6 ) ,B=>h ( 1 7 5 ) , c i n=>h ( 1 9 0 ) ,

sum=>q ( 1 7 9 ) , cou t=>h ( 1 9 1 ) ) ;Y207 : meio

855 por t map (A=>q ( 1 6 5 ) ,B=>temp ( 2 0 7 ) ,sum=>P13 , cou t=>h ( 1 9 2 ) ) ;

Y208 : somadorpor t map (A=>temp ( 2 0 8 ) ,B=>q ( 1 6 6 ) , c i n=>h ( 1 9 2 ) ,

sum=>q ( 1 8 0 ) , cou t=>h ( 1 9 3 ) ) ;860 Y209 : somador

por t map (A=>temp ( 2 0 9 ) ,B=>q ( 1 6 7 ) , c i n=>h ( 1 9 3 ) ,sum=>q ( 1 8 1 ) , cou t=>h ( 1 9 4 ) ) ;

Y210 : somadorpor t map (A=>temp ( 2 1 0 ) ,B=>q ( 1 6 8 ) , c i n=>h ( 1 9 4 ) ,

865 sum=>q ( 1 8 2 ) , cou t=>h ( 1 9 5 ) ) ;Y211 : somadorpor t map (A=>temp ( 2 1 1 ) ,B=>q ( 1 6 9 ) , c i n=>h ( 1 9 5 ) ,

sum=>q ( 1 8 3 ) , cou t=>h ( 1 9 6 ) ) ;Y212 : somador

870 por t map (A=>temp ( 2 1 2 ) ,B=>q ( 1 7 0 ) , c i n=>h ( 1 9 6 ) ,sum=>q ( 1 8 4 ) , cou t=>h ( 1 9 7 ) ) ;

Y213 : somadorpor t map (A=>temp ( 2 1 3 ) ,B=>q ( 1 7 1 ) , c i n=>h ( 1 9 7 ) ,

sum=>q ( 1 8 5 ) , cou t=>h ( 1 9 8 ) ) ;875 Y214 : somador

por t map (A=>temp ( 2 1 4 ) ,B=>q ( 1 7 2 ) , c i n=>h ( 1 9 8 ) ,sum=>q ( 1 8 6 ) , cou t=>h ( 1 9 9 ) ) ;

Y215 : somadorpor t map (A=>temp ( 2 1 5 ) ,B=>q ( 1 7 3 ) , c i n=>h ( 1 9 9 ) ,

880 sum=>q ( 1 8 7 ) , cou t=>h ( 2 0 0 ) ) ;Y216 : somadorpor t map (A=>temp ( 2 1 6 ) ,B=>q ( 1 7 4 ) , c i n=>h ( 2 0 0 ) ,

sum=>q ( 1 8 8 ) , cou t=>h ( 2 0 1 ) ) ;Y217 : somador

885 por t map (A=>temp ( 2 1 7 ) ,B=>q ( 1 7 5 ) , c i n=>h ( 2 0 1 ) ,sum=>q ( 1 8 9 ) , cou t=>h ( 2 0 2 ) ) ;

Y218 : somadorpor t map (A=>temp ( 2 1 8 ) ,B=>q ( 1 7 6 ) , c i n=>h ( 2 0 2 ) ,

sum=>q ( 1 9 0 ) , cou t=>h ( 2 0 3 ) ) ;890 Y219 : somador

por t map (A=>temp ( 2 1 9 ) ,B=>q ( 1 7 7 ) , c i n=>h ( 2 0 3 ) ,sum=>q ( 1 9 1 ) , cou t=>h ( 2 0 4 ) ) ;

Y220 : somadorpor t map (A=>temp ( 2 2 0 ) ,B=>q ( 1 7 8 ) , c i n=>h ( 2 0 4 ) ,

Page 61: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

61

895 sum=>q ( 1 9 2 ) , cou t=>h ( 2 0 5 ) ) ;Y221 : somadorpor t map (A=>temp ( 2 2 1 ) ,B=>q ( 1 7 9 ) , c i n=>h ( 2 0 5 ) ,

sum=>q ( 1 9 3 ) , cou t=>h ( 2 0 6 ) ) ;Y222 : somador

900 por t map (A=>temp ( 2 2 2 ) ,B=>h ( 1 9 1 ) , c i n=>h ( 2 0 6 ) ,sum=>q ( 1 9 4 ) , cou t=>h ( 2 0 7 ) ) ;

Y223 : meiopor t map (A=>q ( 1 8 0 ) ,B=>temp ( 2 2 3 ) ,

sum=>P14 , cou t=>h ( 2 0 8 ) ) ;905 Y224 : somador

por t map (A=>temp ( 2 2 4 ) ,B=>q ( 1 8 1 ) , c i n=>h ( 2 0 8 ) ,sum=>q ( 1 9 5 ) , cou t=>h ( 2 0 9 ) ) ;

Y225 : somadorpor t map (A=>temp ( 2 2 5 ) ,B=>q ( 1 8 2 ) , c i n=>h ( 2 0 9 ) ,

910 sum=>q ( 1 9 6 ) , cou t=>h ( 2 1 0 ) ) ;Y226 : somadorpor t map (A=>temp ( 2 2 6 ) ,B=>q ( 1 8 3 ) , c i n=>h ( 2 1 0 ) ,

sum=>q ( 1 9 7 ) , cou t=>h ( 2 1 1 ) ) ;Y227 : somador

915 por t map (A=>temp ( 2 2 7 ) ,B=>q ( 1 8 4 ) , c i n=>h ( 2 1 1 ) ,sum=>q ( 1 9 8 ) , cou t=>h ( 2 1 2 ) ) ;

Y228 : somadorpor t map (A=>temp ( 2 2 8 ) ,B=>q ( 1 8 5 ) , c i n=>h ( 2 1 2 ) ,

sum=>q ( 1 9 9 ) , cou t=>h ( 2 1 3 ) ) ;920 Y229 : somador

por t map (A=>temp ( 2 2 9 ) ,B=>q ( 1 8 6 ) , c i n=>h ( 2 1 3 ) ,sum=>q ( 2 0 0 ) , cou t=>h ( 2 1 4 ) ) ;

Y230 : somadorpor t map (A=>temp ( 2 3 0 ) ,B=>q ( 1 8 7 ) , c i n=>h ( 2 1 4 ) ,

925 sum=>q ( 2 0 1 ) , cou t=>h ( 2 1 5 ) ) ;Y231 : somadorpor t map (A=>temp ( 2 3 1 ) ,B=>q ( 1 8 8 ) , c i n=>h ( 2 1 5 ) ,

sum=>q ( 2 0 2 ) , cou t=>h ( 2 1 6 ) ) ;Y232 : somador

930 por t map (A=>temp ( 2 3 2 ) ,B=>q ( 1 8 9 ) , c i n=>h ( 2 1 6 ) ,sum=>q ( 2 0 3 ) , cou t=>h ( 2 1 7 ) ) ;

Y233 : somadorpor t map (A=>temp ( 2 3 3 ) ,B=>q ( 1 9 0 ) , c i n=>h ( 2 1 7 ) ,

sum=>q ( 2 0 4 ) , cou t=>h ( 2 1 8 ) ) ;935 Y234 : somador

por t map (A=>temp ( 2 3 4 ) ,B=>q ( 1 9 1 ) , c i n=>h ( 2 1 8 ) ,sum=>q ( 2 0 5 ) , cou t=>h ( 2 1 9 ) ) ;

Y235 : somadorpor t map (A=>temp ( 2 3 5 ) ,B=>q ( 1 9 2 ) , c i n=>h ( 2 1 9 ) ,

940 sum=>q ( 2 0 6 ) , cou t=>h ( 2 2 0 ) ) ;Y236 : somadorpor t map (A=>temp ( 2 3 6 ) ,B=>q ( 1 9 3 ) , c i n=>h ( 2 2 0 ) ,

sum=>q ( 2 0 7 ) , cou t=>h ( 2 2 1 ) ) ;Y237 : somador

945 por t map (A=>temp ( 2 3 7 ) ,B=>q ( 1 9 4 ) , c i n=>h ( 2 2 1 ) ,sum=>q ( 2 0 8 ) , cou t=>h ( 2 2 2 ) ) ;

Y238 : somadorpor t map (A=>temp ( 2 3 8 ) ,B=>h ( 2 0 7 ) , c i n=>h ( 2 2 2 ) ,

sum=>q ( 2 0 9 ) , cou t=>h ( 2 2 3 ) ) ;950 Y239 : meio

por t map (A=>temp ( 2 3 9 ) ,B=>q ( 1 9 5 ) ,

Page 62: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

62

sum=>P15 , cou t=>h ( 2 2 4 ) ) ;Y240 : somadorpor t map (A=>temp ( 2 4 0 ) ,B=>q ( 1 9 6 ) , c i n=>h ( 2 2 4 ) ,

955 sum=>P16 , cou t=>h ( 2 2 5 ) ) ;Y241 : somadorpor t map (A=>temp ( 2 4 1 ) ,B=>q ( 1 9 7 ) , c i n=>h ( 2 2 5 ) ,

sum=>P17 , cou t=>h ( 2 2 6 ) ) ;Y242 : somador

960 por t map (A=>temp ( 2 4 2 ) ,B=>q ( 1 9 8 ) , c i n=>h ( 2 2 6 ) ,sum=>P18 , cou t=>h ( 2 2 7 ) ) ;

Y243 : somadorpor t map (A=>temp ( 2 4 3 ) ,B=>q ( 1 9 9 ) , c i n=>h ( 2 2 7 ) ,

sum=>P19 , cou t=>h ( 2 2 8 ) ) ;965 Y244 : somador

por t map (A=>temp ( 2 4 4 ) ,B=>q ( 2 0 0 ) , c i n=>h ( 2 2 8 ) ,sum=>P20 , cou t=>h ( 2 2 9 ) ) ;

Y245 : somadorpor t map (A=>temp ( 2 4 5 ) ,B=>q ( 2 0 1 ) , c i n=>h ( 2 2 9 ) ,

970 sum=>P21 , cou t=>h ( 2 3 0 ) ) ;Y246 : somadorpor t map (A=>temp ( 2 4 6 ) ,B=>q ( 2 0 2 ) , c i n=>h ( 2 3 0 ) ,

sum=>P22 , cou t=>h ( 2 3 1 ) ) ;Y247 : somador

975 por t map (A=>temp ( 2 4 7 ) ,B=>q ( 2 0 3 ) , c i n=>h ( 2 3 1 ) ,sum=>P23 , cou t=>h ( 2 3 2 ) ) ;

Y248 : somadorpor t map (A=>temp ( 2 4 8 ) ,B=>q ( 2 0 4 ) , c i n=>h ( 2 3 2 ) ,

sum=>P24 , cou t=>h ( 2 3 3 ) ) ;980 Y249 : somador

por t map (A=>temp ( 2 4 9 ) ,B=>q ( 2 0 5 ) , c i n=>h ( 2 3 3 ) ,sum=>P25 , cou t=>h ( 2 3 4 ) ) ;

Y250 : somadorpor t map (A=>temp ( 2 5 0 ) ,B=>q ( 2 0 6 ) , c i n=>h ( 2 3 4 ) ,

985 sum=>P26 , cou t=>h ( 2 3 5 ) ) ;Y251 : somadorpor t map (A=>temp ( 2 5 1 ) ,B=>q ( 2 0 7 ) , c i n=>h ( 2 3 5 ) ,

sum=>P27 , cou t=>h ( 2 3 6 ) ) ;Y252 : somador

990 por t map (A=>temp ( 2 5 2 ) ,B=>q ( 2 0 8 ) , c i n=>h ( 2 3 6 ) ,sum=>P28 , cou t=>h ( 2 3 7 ) ) ;

Y253 : somadorpor t map (A=>temp ( 2 5 3 ) ,B=>q ( 2 0 9 ) , c i n=>h ( 2 3 7 ) ,

sum=>P29 , cou t=>h ( 2 3 8 ) ) ;995 Y254 : somador

por t map (A=>temp ( 2 5 4 ) ,B=>h ( 2 2 3 ) , c i n=>h ( 2 3 8 ) ,sum=>P30 , cou t=>P31 ) ;

end compor tamento ;

Page 63: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

63

ANEXO D REGISTRADOR 16 BITS

Listing D.1: Registrador 16 bits na linguagem VHDLLIBRARY i e e e ;USE i e e e . s t d l o g i c 1 1 6 4 .ALL ;

ENTITY r e g i s t e r 3 2 b i t s IS5 GENERIC

(d a t a w i d t h : i n t e g e r := 16

) ;PORT

10 (c l o c k : IN STD LOGIC ;d a t a i n : IN STD LOGIC VECTOR(

d a t a w i d t h ∗ 2 − 1 DOWNTO d a t a w i d t h − d a t a w i d t h ) ;d a t a o u t : OUT STD LOGIC VECTOR(

d a t a w i d t h ∗ 2 − 1 DOWNTO d a t a w i d t h − d a t a w i d t h )) ;

15 END r e g i s t e r 3 2 b i t s ;

ARCHITECTURE b e h a v i o r OF r e g i s t e r 3 2 b i t s ISSIGNAL b u f f e r n b i t s : STDLOGIC VECTOR( d a t a w i d t h ∗ 2 − 1

DOWNTO d a t a w i d t h − d a t a w i d t h ) ;BEGIN

20 −− Process S t a t e m e n t ( o p t i o n a l )memory access :PROCESS ( c l o c k )BEGIN

−− S i g n a l Ass ignment S t a t e m e n t ( o p t i o n a l )25

−− V a r i a b l e Ass ignment S t a t e m e n t ( o p t i o n a l )

−− Procedure Ca l l S t a t e m e n t ( o p t i o n a l )

30 −− I f S t a t e m e n t ( o p t i o n a l )IF ( c lock ’ e v e n t AND c l o c k = ’1 ’ ) THEN

b u f f e r n b i t s <= d a t a i n ;END IF ;

35 −− Case S t a t e m e n t ( o p t i o n a l )

−− Loop S t a t e m e n t ( o p t i o n a l )END PROCESS memory access ;

Page 64: Implementac¸ao de Filtros Adaptativos em˜ FPGAppginf.ucpel.tche.br/TI-arquivos/2006/ConradoRuchJr/PPGINF-UCPel... · MAC Multiplicador-Somador-Acumulador NLMS Normalized Least Mean-Square

64

40 −− Concur ren t Procedure Ca l l ( o p t i o n a l )

−− Concur ren t S i g n a l Ass ignment ( o p t i o n a l )

−− C o n d i t i o n a l S i g n a l Ass ignment ( o p t i o n a l )45

−− S e l e c t e d S i g n a l Ass ignment ( o p t i o n a l )

−− Component I n s t a n t i a t i o n S t a t e m e n t ( o p t i o n a l )

50 −− Genera te S t a t e m e n t ( o p t i o n a l )d a t a o u t <= b u f f e r n b i t s ;

END b e h a v i o r ;