Implementação de Filtros Adaptativos em FPGA

Tamanho: px
Começar a partir da página:

Download "Implementação de Filtros Adaptativos em FPGA"

Transcrição

1 UNIVERSIDADE CATÓLICA DE PELOTAS ESCOLA DE INFORMÁTICA PROGRAMA DE PÓS-GRADUAÇÃO EM INFORMÁTICA Implementação de Filtros Adaptativos em FPGA por Conrado Ruch Jr. Trabalho Individual I TI-2006/2-02 Orientador: Co-orientador: Prof. Dr. Sérgio José Melo de Almeida Prof. Dr. Eduardo Antônio César da Costa Pelotas, dezembro de 2006

2 AGRADECIMENTOS Ao completar esta etapa, presto meus agradecimentos a todos que de alguma forma contribuiram de forma direta ou indireta para este trabalho. Como forma de reconhecimento, quero citar aqui ao Programa de Pós-Graduação em Informática, que acreditou em minhas capacidades, e concedeu-me a possibilidade de ser um aluno deste programa. Também quero agrader a CAPES, através de seu programa PROSUP, que me beneficiou com uma bolsa integral, proporcionando-me tranquilidade para a realização de minhas atividades. Aos meus colegas de mestrado, meu sincero obrigado, por sua companhia e auxílio, e aos professores e funcionários do PPGINF, que tanto se dedicaram em nosso favor. Agradeço também a meus familiares, que mesmo distantes, me apoiaram na execução deste trabalho. E a Lísia, minha namorada, por seu auxílio e compreensão, tão fundamentais quanto seu amor. Um especial agradecimento a meus professores orientador Prof. Sérgio José Melo de Almeida e co-orientador prof. Eduardo Antônio César da Costa, por sua coragem em me acolher, por sua compreensão nos momentos difíceis, e por nunca desistir de mim, mesmo quando isso parecia iminente ou necessário, conduzindo-me assim até este momento, na conclusão deste trabalho. Saibam todos que vossa amizade, apoio e companheirismo foram fundamentais para o desenrolar de minhas atividades.

3 SUMÁRIO LISTA DE FIGURAS LISTA DE TABELAS LISTINGS LISTA DE ABREVIATURAS E SIGLAS RESUMO ABSTRACT INTRODUÇÃO Introdução Objetivos desta Monografia Contribuições da Monografia Organização da Monografia FILTRAGEM ADAPTATIVA, O ESTADO-DA-ARTE E SEUS CON- CEITOS Introdução Filtragem Adaptativa Sistema Adaptativo Filtro FIR Solução ótima de Wiener Algoritmos Adaptativos Algoritmo LMS Algoritmo NLMS ARQUITETURAS DEDICADAS Trabalhos Relacionados Projeto de uma Arquitetura Especificação de Requisitos Modelamento da Arquitetura Síntese de Alto Nível Mapeamento Tecnológico Simulação do Circuito Ferramentas de CAD

4 3.3.1 VHDL ATIVIDADES PROPOSTAS E REALIZADAS Especificação da Proposta Desenvolvimento da Proposta Circuito MAC Circuito Multiplicador Circuito Somador Circuito Acumulador Circuito Divisor RESULTADOS OBTIDOS Análise de Resultados Análise Funcional Análise considerando Timing Análise Comparativa CONCLUSÃO REFERÊNCIAS ANEXO A SOMADOR 16 BITS ANEXO B DIVISOR 16 BITS ANEXO C MULTIPLICADOR 16 BITS ANEXO D REGISTRADOR 16 BITS

5 LISTA DE FIGURAS Figura 2.1 Sistema de Filtragem Adaptativa Figura 2.2 Sistema Adaptativo Figura 2.3 Filtro FIR Figura 2.4 Erro Médio Quadrático: LMS x NLMS Figura 3.1 Etapas do Projeto de uma Arquitetura Figura 4.1 Filtro FIR LMS Figura 4.2 Filtro FIR NLMS Figura 4.3 Simulação do circuito multiplicador Figura 4.4 Simulação do circuito somador Figura 4.5 Simulação do circuito acumulador Figura 4.6 Simulação do circuito divisor

6 LISTA DE TABELAS Tabela 2.1 Algoritmo LMS Tabela 2.2 Algoritmo NLMS Tabela 4.1 Métricas do Multiplicador Array Binário Tabela 4.2 Métricas do Registrador de 16 bits Tabela 4.3 Código fonte antes da alteração Tabela 4.4 Código fonte alterado Tabela 4.5 Métricas dos divisores Tabela 5.1 Métricas do Filtro de 16 bits em simulação Funcional Tabela 5.2 Métricas do Filtro de 16 bits em simulacao Timing Tabela 5.3 Ciclos utilizados por Operação da arquitetura

7 LISTINGS A.1 Somador 16 bits na linguagem VHDL B.1 Divisor 16 bits na linguagem VHDL C.1 Multiplicador 16 bits na linguagem VHDL D.1 Registrador 16 bits na linguagem VHDL

8 LISTA DE ABREVIATURAS E SIGLAS AP Affine Projection ASICs Circuitos de Aplicações 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 Descrição de Hardware IEEE Institute of Electrical and Electronic Engineers LAMIPSLaboratório de Microeletrônica 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

9 RESUMO Este trabalho apresenta a implementação do algoritmo NLMS em uma arquitetura dedicada de um filtro adaptativo em FPGA. A filtragem adaptativa é uma estratégia utilizada para o tratamento de sinais. Esta solução é empregada com sucesso em diversas áreas e sua utilização, associada a utilização de filtros adaptativos, permitindo uma ampla gama de aplicações, apesar destes filtros variarem em sua forma de atuação bem como o ambiente a ser empregado. Dentre dos algoritmos existentes, o algoritmo LMS tem provado sua versatilidade desde sua proposição, mesmo sujeito à comportamentos indesejados em situações de flutuação no valor da potência do sinal de entrada, e possuindo como características básicas a baixa velocidade de convergência. Já o algoritmo LMS Normalizado procura atender a estas características, em detrimento de um aumento da computação e da complexidade algoritmica. O objetivo principal proposto neste trabalho será contribuir e promover a continuidade do trabalho desenvolvido pelo LAMIPS, avançando a partir da arquitetura já existente até a implementação do algoritmo LMS normalizado (NLMS), dentro da estrutura de um filtro adaptativo puramente sequencial. Através desta implementação do circuito de 16 bits 8 taps em uma arquitetura dedicada serão demonstradas as etapas necessárias para a implementação do algoritmo e a utilização do circuito. Palavras-chave: Filtros adaptativos, fpga, nlms.

10 TITLE: ADAPTIVE FILTER IMPLEMENTATION ON FPGA ABSTRACT This work presents an implementation of NLMS algorithm in a dedicated architecture of FPGA adaptive filter. The adaptive filter is a strategy used for the signal processing. This solution is successfully used in many areas and its use, associated the use of adaptive filters, allowing an ample gamma of applications, despite these filters varying in its form of performance as well as the environment to be used. Amongst of the existing algorithms, algorithm LMS has proven its versatility since its proposal, exactly subject to the behaviors undesired in situations of fluctuation in the value of the power of the input signal, and possessing as characteristic basic low the speed of convergence. Already Normalized algorithm LMS search to take care of to these characteristics, in detriment of an increase of the computation and the algoritmica complexity. The considered main objective in this work will be to contribute and to promote the continuity of the work developed for the LAMIPS, advancing from the existing architecture already until the implementation of normalized algorithm LMS (NLMS), inside of the structure of purely sequential a adaptativo filter. Through this implementation of the circuit of 16 bits and 8 taps in a dedicated architecture the implementation of the algorithm and the use of the circuit will be demonstrated to the necessary stages for. Keywords: adaptive filter, fpga, nlms.

11 11 1 INTRODUÇÃO 1.1 Introdução A teoria de sistemas lineares nos permite utilizar grande número de ferramentas e modelos matemáticos. Apesar de nosso mundo real ser determinístico, as variáveis necessárias para realizar o modelamento real de todo um ambiente são praticamente infinitas, e atualmente impossíveis de serem modeladas e/ou manipuladas. Contudo temos modelos não lineares capazes de descrever de forma simples o comportamento de uma partes destes fenômenos e atividades. Estes modelos são extremamente importantes em diversas áreas da engenharia e computação, como cancelamento de eco acústico; redução, identificação ou eliminação de fontes de ruído e distorções, e equalização de canais de comunicação (MATHEWS, 1991). Dentro do campo da não-lineariedade, duas técnicas são utilizadas com sucesso para análise de diversos problemas: Filtragem Adaptativa e Redes Neurais. Em particular a filtragem adaptativa, um campo de grande importância na área de Processamento de Sinais, pode oferecer uma maior confiabilidade à uma gama maior de problemas, através da utilização de filtros adaptativos fundamentais para a resolução de problemas em ambientes não estacionários (HAYKIN, 2001). Os filtros adaptativos são formados por estruturas dispostas para a análise de um sinal de entrada, e a partir da comparação deste com o sinal desejado pelo filtro, produzir o valor resultante desta diferença. Este valor da diferença, chamado de erro, influencia os coeficientes de ajuste do filtro, que permitem aproximar o resultado do filtro do sinal desejado, aproximando o valor do erro a 0. Um dos fatores que influenciam o comportamento do filtro é o algoritmo adaptativo presente nele. Dentre eles estacamos dois: o LMS (Least Mean Square) e o NLMS (Normalized Least Mean Square), caracterizados por sua baixa complexidade computacional e amplamente estudados, analisados e implementados na literatura (HAYKIN, 2001). A implementação destes filtros adaptativos é realizada através da associação de sistemas adaptativos e estruturas dedicadas em hardware (circuitos digitais). Nos últimos anos é observado um constante avanço da eletrônica digital, através da utilização de circuitos dedicados em novas aplicações e o aumento da complexidade dos mesmos, com a agregação de um número cada vez maior de funcionalidades. Um sistema digial é constituído de dispositivos construídos para a manipulação de informações discretas, através de pontos obtidos por amostras de grandezas físicas. O aparecimento dos atuais sistemas de informação, que manipulam dados digitais (discretos), viabilizou o surgimento de sub-áreas como controle e automação de processos

12 12 e processamento e transmissão de dados e sinais. Estas sub-áreas foram as principais responsáveis por tamanha evolução da eletrônica digital. No entanto, ao mesmo tempo em que esse avanço tecnológico traz benefícios, simplificando a vida dos usuários dos produtos, os projetistas e profissionais da área necessitam estar em constante atualização para as novidades tecnológicas (TOCCI, 2000). Segundo (TOCCI, 2000) dentre as causas da superação dos sistemas digitais sobre os sistemas analógicos, nos aspectos de utilização, tecnologia, dentre outros, podemos citar: facilidade de projeto, uma vez que são circuitos de chaveamento; facilidade de armazenamento de informações, sendo que circuitos de chaveamento especiais podem reter informações por um tempo indeterminado; precisão e exatidão da saída do circuito (resposta) são maiores, podendo haver tantos dígitos de precisão quantos forem necessários, com a simples adição de mais circuitos de chaveamento; facilidade de programação das operações, sendo relativamente fácil o desenvolvimento de sistemas cujo comportamento segue um conjunto de instruções previamente armazenadas; baixa susceptibilidade a ruídos, pois trabalham com valores aproximados; facilidade de encapsulamento (circuitos integrados). A tecnologia de integração de circuitos digitais tem evoluído bastante desde a integração em pequena escala (SSI - Small scale integration), com menos de 12 portas por circuito integrado, até os dias atuais como alguns microprocessadores contendo alguns milhões de portas lógicas (ULSI - Ultra large scale integration) (TOCCI, 2000). Nos últimos anos, circuitos integrados capazes de implementar em hardware circuitos descritos em forma de software, podendo ser reconfigurados, vêm ganhando espaço no mercado. Atualmente existem vários tipos de circuitos integrados com essa característica, como podemos citar: EPLD (Eraseable Programmable Logic Device), EEPLD (Electrically Eraseable Programmable Logic Device), CPLD (Complex Programmable Logic Device), FPGA (Field Programmable Gate Array). Dentre os citados, os FPGAs são os que possuem uma tecnologia mais avançada, capazes de implementar circuitos mais complexos e podendo ser reconfigurado parcial ou totalmente, estática ou dinamicamente, dependendo da sua arquitetura. A exploração destas características na implementação de um sistema adaptativo em estruturas dedicadas em FPGAS será o foco desta monografia, buscando trabalhar as possibilidades oferecidas pela associação das duas áreas na computação.

13 Objetivos desta Monografia O objetivo geral desta monografia é conhecer e implementar arquiteturas dedicadas em em VHDL (VHSIC Hardware Description Language), formadas por filtros adaptativos utilizando os algoritmos LMS (Least Mean-Square) e NLMS (Normalized Least Mean-Square). Para a execução das tarefas será utilizada a ferramenta Quartus II 6.0 SP1 da Altera para realizar a modelagem, síntese e simulação do circuito (ALTERA, 2006). 1.3 Contribuições da Monografia Nesta monografia é realizada a comparação entre filtros adaptativos que utilizam os algoritmos LMS e o NLMS, implementados em circuitos dedicados, dentro de uma estrutura transversal de um filtro FIR (Finite Impulse Response), implementado em VHDL. Com base nas simulações apresentadas, serão comparadas as métricas obtidas em uma implementação anteriormente realizada (FOSTER et al., 2006), com os valores extraídos a partir da implementação deste algoritmo agora implementado. Além disso é importante ressaltar a importância da contribuição deste trabalho para o desenvolvimento das atividades do LAMIPS (Laboratório de Microeletrônica e Processamento de Sinais), e também para o desenvolvimento futuro da dissertação final de Mestrado. 1.4 Organização da Monografia Esta organização desta monografia divide seu conteúdo em 6 capítulos. Este capítulo 1 apresentou uma instrução sobre o trabalho, no capítulo 2 são abordados os tópicos teóricos referentes a filtragem adaptativa e seus componentes: sistema adaptativo, algoritmos adaptativos, solução ótima de Wiener e os algoritmos LMS e NLMS abordados neste trabalho. Durante o terceiro capítulo são apresentados os conceitos sobre arquiteturas dedicadas, FPGA, VHDL e características inerentes as implementações. No capítulo 4 são discutidas as proposições para a realização do trabalho e apresentadas as etapas realizadas para o desenvolvimento da solução. E finalmente no capítulo 5 são reportados os resultados obtidos e finalizadas as conclusões.

14 14 2 FILTRAGEM ADAPTATIVA, O ESTADO- DA-ARTE E SEUS CONCEITOS 2.1 Introdução Neste capítulo são apresentados os conceitos básicos sobre: filtragem adaptativa, sistema adaptativo, algoritmos adaptativos, solução ótima de Wiener. 2.2 Filtragem Adaptativa A filtragem adaptativa constitui uma ferramenta fundamental no processamento de sinais digitais. Ela é aplicada atualmente em um grande número de problemas de engenharia. Esta técnica tem sido explorada com sucesso em problemas de Economia, Engenharia Biomédica, Equalização de Canais, Sistemas de Controle e em Telecomunicações. Em (HAYKIN, 2001) é apresentado um breve histórico do desenvolvimento da filtragem adaptativa e aplicações do processamento adaptativo de sinais. O estudo da filtragem adaptativa ganhou impulso com o desenvolvimento do algoritmo LMS por Widrow e Hopf em 1959, e tem recebido considerável atenção de muitos pesquisadores nas últimas décadas. Este interesse deve-se ao fato de muitos problemas práticos não poderem ser resolvidos de maneira satisfatória através da utilização de filtros digitais (ALMEIDA, 2004). Assim, o uso de filtros adaptativos permite a expansão das capacidades de processamento que não seriam possíveis de outra forma. Observando a figura 2.1 percebemos que o processo de um sistema de filtragem adaptativa consiste na utilização de um filtro adaptativo para processar sinais resultantes de ambientes com estatísticas estocásticas, fornecendo na saída um sinal tratado que atende aos critérios do filtro adaptativo. Figura 2.1: Sistema de Filtragem Adaptativa

15 2.3 Sistema Adaptativo 15 Um sistema adaptativo é aquele cuja estrutura é alterável (através do ajuste dos seus coeficientes) de tal forma que seu comportamento melhore de acordo com algum critério de desempenho através da exposição ao ambiente no qual será inserido (ALMEIDA, 2004). O ajuste dos coeficientes do filtro adaptativo é realizado através da implementação de um algoritmo, devidamente escolhido, cujo objetivo é atender a requisitos dos sistema. Estes algoritmos são definidos como algoritmos adaptativos. Segundo Widrow e Stearns (WIDROW; STEARNS, 1985) os sistemas adaptativos possuem todas ou algumas destas características abaixo listadas: 1. Adaptação automática à medida em que ocorre a modificação do ambiente e/ou mudança das necessidades do sistema (auto-otimização); 2. Possibilidade de serem treinados para desenvolver uma tarefa específica de filtragem ou decisão, ou seja, podem ser programados através de um processo de treinamento (auto-programáveis); 3. Em virtude disso, não precisam de procedimentos elaborados de síntese (são basicamente auto-programáveis); 4. Podem extrapolar o espaço de conhecimento e lidar com novas situações após o treinamento com um pequeno conjunto de padrões de entrada (auto-aprendizado); 5. Até certo ponto podem reparar a si mesmos, ou seja, podem adaptar-se em regiões próximas da ótima mesmo quando sujeitos a certos tipos de defeitos ou limitações; 6. Geralmente são mais complexos e difíceis de analisar que sistemas não adaptativos, mas oferecem a possibilidade de um desempenho substancialmente melhor quando as características do ambiente são desconhecidas ou variantes no tempo. A operação de um sistema de filtragem adaptativa envolve dois processos básicos: o processo de filtragem com o objetivo de produzir uma saída em resposta a uma seqüência de entrada; e o processo adaptativo. O propósito é fornecer um mecanismo para ajuste de um conjunto de parâmetros utilizados no processo de filtragem (ALMEIDA, 2004). A estrutura de um sistema adaptativo é representada pela figura 2.2. Neste sistema sua saída é modificada de tal forma que seu comportamento sofre alterações de acordo com o critério desejado. Neste exemplo observa-se um sistema em diagrama de blocos representando um sistema adaptativo, com uma seqüência de entrada x(n), o filtro FIR e a saída y(n): um sinal d(n) que representa a resposta desejada, e que subtraindo do sinal y(n) gera o valor de erro e, que é o valor da diferença entre o sinal desejado e a estimativa do filtro. A equação 2.1 apresenta a expressão que representa o valor de erro, dada por: e(n) = d(n) y(n) (2.1)

16 16 Figura 2.2: Sistema Adaptativo A partir desta percepção verifica-se que o objetivo final do filtro é estimar seu valor de saída, aproximando ao máximo este resultado com o valor desejado, até atingir o valor de erro nulo ou próximo de zero. A realimentação do filtro com o sinal de erro procura forçar o sistema a esta adaptação. 2.4 Filtro FIR Filtros FIR são estruturas responsáveis pelas características do processo de filtragem, e respondem pela duração da resposta impulsional deste filtro. Sua construção obedece o critério desejado, e é o responsável pelo comportamento do sistema adaptativo. Na figura 2.3 é apresentada a ilustração da estrutura de um filtro transversal, onde o número de elementos de atraso determina a duração finita de sua resposta ao impulso, representados por Z n. Figura 2.3: Filtro FIR Os filtros FIR são utilizados no processo de filtragem no domínio de uma determinada freqüência. Eles podem diferir na forma de atuação sobre o sinal. São filtros estáveis, e de fácil implementação. Este filtro, chamado filtro de resposta ao impulso de duração finita, é utilizado para filtragem adaptativa em tempo real. Sua ordem é baseada no número de elementos de atraso, e sua saída y é determinada pela equação 2.2:

17 17 y = N 1 i=0 ω i x(n i) (2.2) É importante salientar que o desempenho do sistema adaptativo é diretamente dependente do algoritmo adaptativo utilizado no filtro, sendo este tópico abordado mais adiante. 2.5 Solução ótima de Wiener A solução de Wiener é proveniente de uma base estatística, onde os coeficientes ótimos de um filtro linear são obtidos através da minimização do erro quadrático. Este filtro requer informações adicionais a respeito do sinal original e do ruído; e além disso ele considera a estacionariedade do ambiente. O objetivo da solução do Wiener é fornecer o ω 0, também chamado ponto ótimo. Porém o ponto ótimo para uma solução em tempo real passa a ser utópico, visto que para a utilização da solução de Wiener é necessário que conheçamos antecipadamente a matriz de correlação dos dados de entrada R e vetor de correlação cruzada do sinal desejado p, conforme observado na equação 2.3. Assim, diante do impasse em utilizar a solução de Wiener, se faz necessário utilizar um algoritmo adaptativo que procure aproximar-se do valor desejado de resposta. ω 0 = R 1 p (2.3) A matriz de auto-correlação R dos dados de entrada para a sistema de Wiener é formada pela equação 2.4: R = E { x (n) x T (n) } (2.4) e a equação 2.5 representa o vetor de correlação cruzada dado por p: p = E {d (n) x(n)} (2.5) A finalidade do algoritmo adaptativo é ajustar o filtro para minimizar o valor médio quadrático do erro e(n). O sistema de adaptação irá continuamente ajustar os coeficientes do filtro, e a cada iteração tentar minimizar o erro. O comportamento do filtro, sua complexidade computacional e tempo de resposta dependem diretamente do algoritmo adaptativo implementado no filtro. O filtro de Wiener utiliza um filtro transversal como base de sua estrutura, que apresenta baixa complexidade computacional e pequeno desajuste (HAYKIN, 2001). 2.6 Algoritmos Adaptativos Entre os diversos algoritmos existentes na literatura, pode-se citar o LMS, o Normalized-LMS (NLMS), o Recursive Least Square (RLS) e o Affine Projection (AP) (ALMEIDA, 2004), entre outros. Cada um destes algoritmos apresenta características bem peculiares, o que faz com que a escolha de um deles seja baseada com o tipo de problema a que ele será aplicado (MITRA, 2003). Em particular, uma das aplicações onde a filtragem adaptativa tem permitido ex-

18 18 celentes resultados é no cancelamento de eco acústico. O eco acústico é um fenômeno causado pela reflexão do som. Ele ocorre quando uma fonte emissora emite e recebe de volta, além do retorno direto, uma outra versão do som, refletido (e distorcido) por uma superfície, após um determinado intervalo de tempo, resultando em repetição do som original. Assim, quando ocorre o evento, surge uma dificuldade em estabelecer comunicação, em virtude deste retorno. Como exemplo clássico, temos as redes de telecomunicações, aonde o eco vem a ser a principal fonte de deterioração. No processo de cancelamento de eco acústico, diversas estruturas de hardware são estudadas. Tais estruturas são baseadas em processadores digitais de sinais (DSP s) (COSTA, 2002) (MITRA, 2003). Entretanto, conforme já mencionado, o melhor desempenho de um sistema adaptativo está diretamente relacionado ao algoritmo adaptativo implementado. Assim, além da implementação de variados algoritmos adaptativos, também é necessário ter o conhecimento das técnicas de redução de potência e de aumento de desempenho, a fim de alcançar métricas necessárias para o funcionamento. O desempenho de um algoritmo adaptativo pode ser avaliado por um conjunto de características. Segundo (HAYKIN, 2001) as principais são: 1. Taxa de convergência: define o número de iterações necessárias para o algoritmo levar os coeficientes do filtro para um valor em torno da solução ótima do Wiener, no sentido médio quadrático; 2. Desajuste: é a medida quantitativa da diferença entre o erro médio quadrático residual devido ao algoritmo e o erro médio quadrático mínimo, que é produzido pelo filtro de Wiener; 3. Tracking: capacidade do algoritmo de acompanhar as variações das características estatísticas dos sinais em um meio não-estacionário. Seu desempenho é influenciado pela taxa de convergência e pelas flutuações em regime permanente; 4. Robutez: capacidade do algoritmo operar satisfatoriamente com sinal de entrada mal condicionado; 5. Complexidade Computacional: número de operações por iteração do algoritmo. Este fator pode determinar a viabilidade de sua implementação em tempo real; 6. Estrutura: o filtro adaptativo pode ser implementado utilizando-se diversas estruturas, tais como treliças, forma transversal e outras; 7. Estabilidade numérica: filtros adaptativos freqüentemente precisam ser implementados em processadores digitais de sinais (DSP s), os quais operam com aritmética de precisão finita. Um algoritmo é considerado numericamente estável se o vetor de erro nos coeficientes do filtro permanece limitado ao longo do processamento com precisa finita Algoritmo LMS O algoritmo LMS continua sendo o mais utilizado em aplicações práticas por: 1. Sua baixa complexidade e fácil implementação;

19 19 2. A garantia de sua convergência desde que ocorra uma escolha correta de seu passo de adaptação. O algoritmo é baseado no algoritmo do passo descendente (steepest-descent) cuja adaptação do vetor de coeficientes é dada por (HAYKIN, 2001), observado pela equação 2.6: ω (n + 1) = ω (n) + µ ωǫ (n) (2.6) onde µ é denominado o tamanho do passo de adaptação (step-size), cujo valor deve ser criteriosamente escolhido para garantir a convergência do algoritmo (HAYKIN, 2001). Na prática ωǫ (n) é um valor que não pode ser obtido com exatidão, tendo em vista que tanto o vetor de correlação cruzada p quanto a matriz de autocorrelação R são desconhecidos, e somente seus valores do instante k são conhecidos no instante k. Assim, uma maneira de contornar o problema é utilizar valores estimados. Como características do algoritmo LMS pode-se citar: 1. Possui uma velocidade de convergência lenta. 2. Poussui baixa complexidade. 3. É sensível a potência do sinal de entrada, e isso influencia em seus resultados. 4. Apresenta dificuldades e lentidão para convergir quando utilizado sinais de entrada correlacionados. Para a implementação do algoritmo LMS, emprega-se o algoritmo que consta na tabela 2.1: Inicializar: x(0) = ω(0) = 0 escolher µ no intervalo 0 < µ < 1 λmax para n = 1, 2,... e (n) = d (n) ω T (n)x(n) ω (n + 1) = ω (n) + µe (n) x (n) Algoritmo NLMS Tabela 2.1: Algoritmo LMS O algoritmo LMS Normalizado surgiu como um avanço do LMS (MITRA, 2003). O algoritmo LMS apresenta como um dos principais problemas a sensibilidade a potência do sinal de entrada. Para resolver este problema, o LMS Normalizado emprega uma normalização do sinal de entrada, tornando-o imune a variação de potência na entrada. Como características do algoritmo NLMS pode-se citar que ele: 1. Possui maior velocidade de convergência que o LMS.

20 20 2. É um pouco mais complexo que o LMS, mas ainda assim possui baixa complexidade, se comparado com outros algoritmos apresentados na literatura. 3. É imune a alterações da potência do sinal de entrada, pois normaliza a entrada do sinal. 4. E assim como o LMS apresenta baixa taxa de convergencia para sinais de entrada correlacionados. A equação 2.7 representa o algoritmo NLMS normalizado. ω (n + 1) = ω (n) + µ N e (n) x (n) (2.7) x T (n) x (n) Para a implementação do algoritmo LMS normalizado, emprega-se o algoritmo da tabela 2.2: Inicializar: x(0) = ω(0) = 0 escolher µ no intervalo 0 < µ < 1 λmax para n = 1, 2,... e (n) = d (n) ω T (n)x(n) ω (n + 1) = ω (n) + e (n) x (n) µ N x T (n)x(n) Tabela 2.2: Algoritmo NLMS Na figura 2.4 é apresentada um gráfico de comparaçaõ entre o comportamento do LMS e do NLMS. As diferentes taxas de convergência para a mesma situação entre os dois algoritmos (LMS e NLMS) podem ser observadas no gráfico. Em azul está representado o LMS, que demonstra a necessidade de um tempo maior de adaptação até convergir para o regime permanente, quando comparado ao NLMS, representado em vermelho. Observamos também que o NLMS, apesar de ser mais rápido para a convergência, apresenta um erro maior em regime que o LMS, quando utilizamos as mesmas condições de operação.

21 21 Figura 2.4: Erro Médio Quadrático: LMS x NLMS O LMS e o NLMS são algoritmos diferentes, que possuem características de modos de utilização diferentes. Agora durante o capítulo três serão discutidos os tópicos referentes as arquiteturas dedicadas de hardware.

22 22 3 ARQUITETURAS DEDICADAS Neste capítulo serão abordados os pontos teóricos sobre a utilização de arquiteturas dedicadas, características e etapas para a concepção de circuitos. Sabe-se que a utilização de uma estrutura genérica pode provocar um aumento de carga computacional, e conseqüentemente uma redução de desempenho. Assim, quando é necessário satisfazer requisitos mínimos para a modelagem do circuito, deve-se explorá-la arquiteturalmente, buscando atender estes requisitos. Para este projeto prevê-se a utilização de arquiteturas dedicadas para a construção do sistema adaptativo, permitindo a exploração de possibilidades que um sistema genérico não poderia ofertar. A própria literatura demonstra melhores resultados obtidos a partir de circuitos especialmente construídos para esta finalidade (COSTA, 2002), e recomenda esta abordagem. Além disso, a prototipação em FPGA é eficiente e rápida, permitindo a realização de testes e auferição de valores, comparando-os com os valores obtidos através de ferramentas de síntese. Esta metodologia, estando disponível no Laboratório de Microeletrônica e Processamento de Sinais, será utilizada. Ainda poderão ser consideradas durante as atividades posteriores, durante a dissertação, outras possibilidades, como a prototipação em ASIC (Circuitos de Aplicações Específicas). A prototipação em FPGA é um passo anterior antes da finalização dos circuitos dedicados. Essa possibilidade permite testar diferentes abordagens antes de efetivar a construção do chip. A complexidade computacional do circuito pode gerar um aumento da carga computacional. Provocado por este aumento computacional pode-se ter um aumento no consumo de potência do circuito (COSTA, 2002). Assim, circuitos dedicados podem ser construídos visando obter maior desempenho frente a sistemas genéricos, e assim possibilitar o estabelecimento de métricas favoráveis ao desenvolvimento do problema a ser solucionado (WESTE; HARRIS, 1993) (RABAEY, 1996). Um dos requisitos dos circuitos é o atendimento da demanda de potência, onde podem ser desenvolvidas soluções em diferentes níveis de abstração: sistema, algoritmo, arquitetura, lógico, circuito e tecnologia, sendo que as maiores oportunidades para uma redução significativa encontra-se nos primeiros três níveis (COSTA, 2002). É importante ressaltar que a redução do consumo de potência é crucial em determinadas aplicações, especialmente em dispositivos móveis, onde o tempo de funcionamento do circuito depende do tempo de duração da carga da bateria do dispositivo. Assim pode-se dizer que em detrimento de um mediano desempenho pode-se obter um maior rendimento da carga das baterias para o dispositivo (RABAEY, 1996), especialmente quando se tratam de dispositivos especialmente projetados para o fim a que se destinam.

23 23 Para permitir a construção destes circuitos, são realizadas etapas para o projeto e concepção destes elementos. O passo inicial é a escolha de uma linguagem de descrição de hardware (HDL). Na próxima seção trataremos do VHDL, uma das mais conhecidas e utilizadas linguagens. 3.1 Trabalhos Relacionados Sendo o LMS um algoritmo bastante estudado, não faltam implementações realizadas com ele. Citamos em nosso trabalho duas pesquisas que merecem destaque, e que serviram como base nossa implementação, onde são implementados filtros adaptativos utilizando NLMS a partir de uma estrutura utilizando LMS. Em (GOEL; SHANBHAG, 1996) vemos uma implementação de um Arquitetura de Filtro adaptativo de Baixa Potência, e em (C.; ZHU; F., 1998) temos um trabalho onde ocorre a implementação de um arquitetura de um filtro FIR adaptativo com LMS e pipeline. 3.2 Projeto de uma Arquitetura Para a construção de uma arquitetura, são necessárias algumas etapas para atingir o produto final. Estas etapas são descritas e comentadas nos sub-tópicos abaixo, e seguem o fluxo da figura 3.1 que corresponde as etapas de projeto de uma arquitetura: Figura 3.1: Etapas do Projeto de uma Arquitetura Especificação de Requisitos Durante a etapa de Especificação de Requisitos, o projetista e o usuário (em muitos casos podem ser a mesma pessoa), fazem um estudo e levantam todos os requisitos e características do sistema e definem o seu funcionamento. Características tais como atraso máximo permitido para as saídas, freqüência máxima de operação, consumo de potência, custo, temperatura de operação, tensão de alimentação são relacionadas a fim de buscar projetar um circuito que atenda a estes requisitos, que podem ser desejáveis ou necessários. Não é necessário especificar todas estas características, isso sempre dependerá de cada projeto. Esta fase é de extrema importância porque uma vez compreendido corretamente o funcionamento do sistema, evita-se a ocorrência de erros futuros. A cada unidade de tempo avançada no ciclo de projeto, maior o custo de correção de um erro e

24 24 maior a dificuldade em encontrá-lo. Ou seja, além do prejuízo ser maior, maior também a probabilidade de que o erro passe despercebido e seja incluído na produção do sistema (UYEMURA, 2002) (ALTERA, 2006) Modelamento da Arquitetura Na etapa de modelamento é que o projeto propriamente dito é iniciado. Baseado nas especificações da etapa inicial, o projetista irá escrever os modelos que representam o circuito. É de fundamental importância que o projetista tenha já um prévio conhecimento das ferramentas de software que utilizará no projeto e da tecnologia que irá utilizar, a fim de conduzir o modelamento a fim de obter os melhores resultados futuramente. Outras características importantes a serem incluídas nos modelos são: sempre que possível, de maneira a não afetar o desempenho e a portabilidade, escrever modelos que sigam o padrão estabelecido na linguagem, e não as extensões oferecidas pelos desenvolvedores das ferramentas de síntese; seguir um padrão de escrita de código uniforme para todos os modelos do projeto; documentar adequadamente os modelos, incluindo nome do autor, datas de manutenção, e comentários e explicações relevantes (UYEMURA, 2002) (AL- TERA, 2006) Síntese de Alto Nível A Síntese de Alto Nível está para o hardware assim como a compilação está para o software. Na síntese, o modelo descrito será convertido para estruturas de dados representando as conexões, blocos, componentes e portas lógicas. Esta etapa é automática e dependente da ferramenta de software utilizada. Em geral, certos cuidados podem ser tomados durante o modelamento a fim de direcionar o algoritmo da síntese para que obtenha os melhores resultados para o circuito. Durante a síntese são pré-avaliados os requisitos do sistema a fim de indicar se o circuitos irá atendê-los adequadamente. Após a síntese ainda não está definido o circuito a ser implementado, a especificação intermediária que é resultante é ainda bastante genérica e pode ser direcionada para uma de muitas possibilidades de tecnologias de implementação (UYEMURA, 2002) (ALTERA, 2006) Mapeamento Tecnológico Somente após o Mapeamento Tecnológico é que o circuito já está definido dentro da tecnologia em que será implementado. Fazendo uma analogia com o software, essa etapa corresponderia à geração de código executável que ocorre ao final da compilação de um código fonte. Só é possível entender essa etapa adequadamente conhecendo-se as diferentes tecnologias disponíveis no mercado, como full custom, gate array, FPGAs, entre outros. O projetista pouco consegue influir no mapeamento, especificando apenas os parâmetros de otimização desejados. Nesta etapa de implementação/fabricação são criados os primeiros protótipos, avaliadas as condições finais, detalhes de produção entre outros detalhes de implementação final. Em seguida à fabricação, os circuitos são testados para que possam ser entregues ao usuário com garantia de isenção de falhas (UYEMURA, 2002) (ALTERA, 2006).

25 3.2.5 Simulação do Circuito 25 A Simulação é uma etapa auxiliar, mas de grande relevância no ciclo de vida do projeto. Simular consiste em avaliar o comportamento do circuito e validar o modelo produzido até aquele momento. Antes da simulação, são inseridos vetores característicos nas entradas primárias do circuito, e os nós internos do circuito e as saídas primárias são analisadas a fim de comparar com o esperado na especificação. A Simulação gera uma realimentação para os processos de modelamento, síntese e mapeamento, evitando a propagação de erros para etapas posteriores. Muitos dos problemas encontrados na simulação não estão necessariamente ligados a erros no projeto, mas ao não preenchimento dos requisitos necessários, principalmente no que se refere aos tempos do circuito (atraso, setup/hold, freqüência de operação) (UYEMURA, 2002) (ALTERA, 2006). Na simulação, um recurso muito interessante a ser utilizado são os testbenches. O testebench é um algoritmo responsável por gerar automaticamente os sinais que estimularão as entradas do modelo que será simulado. Dentro do testebench podem também estar presentes rotinas que capturem os valores de saída do circuito simulado e gerem apenas resultados de comparação dizendo se o circuito está funcionando correto ou não e sob quais aspectos estão ocorrendo os problemas (UYEMURA, 2002) (ALTERA, 2006). Como exemplo de ferramenta de testbench temos o ModelSim produzido pela Mentor Graphics (MENTORGRAPHICS, 2006). 3.3 Ferramentas de CAD 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 visava a descrição ténica e projeto de uma nova linha de circuitos integrados. Com o avanço acelerado dos dispositivos eletrônicos entretanto este programa apresentou-se ineficiente, principalmente na representação de grandes e complexos projetos. Uma vez que o projeto VHSIC era de alta prioridade militar, e haviam dezenas de fornecedores envolvidos, o DoD definiu que haveria prioridade com as questões de portabilidade, documentação e compreensibilidade dos projetos. Cada um destes fornecedores atuava desenvolvendo partes dos projetos ou mesmo fornecendo componentes que viriam a se encaixar em outros sistemas maiores. Desta forma o DoD optou por buscar desenvolver uma linguagem que servisse como base para troca de informações sobre estes componentes e projetos. Uma linguagem que, independente do formato original do circuito, pudesse servir como uma descrição e documentação eficientes do circuito, possibilitando os mais diferentes fornecedores e participantes a entender o funcionamento das outras partes, padronizando a comunicação (UYEMURA, 2002). Em 1981, aprimorando-se as idéias do VHSIC, foi proposto o emprego de uma linguagem de descrição de hardware mais genérica e flexível para documentar o comportamento de Circuitos de Aplicações Específicas (ASICs) utilizados pelas Forças Armadas americanas. Isto significa dizer que a linguagem proposta foi desenvolvida para substituir os complexos manuais que descrevia o funcionamento dos ASICs. Até aquele momento a única metodologia largamente utilizada no projeto de circuitos era a criação através de diagramas esquemáticos. O problema desta metodologia era o fato que o desenho possuia uma menor portabilidade, um fator de complexidade maior pra a compreensão do circuito

26 26 e eram extremamente dependentes da ferramenta utilizada na sua produção. O desenvolvimento inicial desta linguagem serviu aos propósitos de documentação do projeto VHSIC. Entretanto naquela época buscava-se uma linguagem que facilitasse o projeto de um circuito: ou seja, a partir de uma descrição textual, um algoritmo, desenvolver o circuito, sem necessidade de especificar explicitamente as ligações entre componentes (UYEMURA, 2002). Assim uma linguagem surgia com o nome VHDL (VHSIC Hardware Description Language), que presta-se adequadamente a tais propósitos, podendo ser utilizada para as tarefas de documentação, descrição, síntese, simulação, teste, verificação formal e ainda compilação de software, em alguns casos. Após o sucesso inicial do uso da VHDL, a sua definição foi posta em domínio público, o que levou a ser padronizada pelo IEEE (Institute of Electrical and Electronic Engineers) em O fato de ser padronizada e de domínio público ampliou ainda mais a sua utilização, novas alterações foram propostas, permitindo uma linguagem mais flexível e com novos recursos, e como é natural num processo de aprimoramento a linguagem sofreu uma revisão e um novo padrão mais atualizado foi lançado em 1993 (UYEMURA, 2002) (ALTERA, 2006).

27 27 4 ATIVIDADES PROPOSTAS E REAL- IZADAS 4.1 Especificação da Proposta Considerando a proposta do Trabalho Individual apresentada no inicio de agosto de 2006, esta monografia deve ser constituída de um estudo sobre o estado da arte sobre Filtragem adaptativa, seus conceito e aplicações, e a implementação do filtro adaptativo, e um estudo sobre os conceitos de arquiteturas dedicadas e implementação das mesmas. Neste ponto, a proposta consiste no desenvolvimento do filtra adaptativo a partir de uma arquitetura base previamente implementada. Observando a arquitetura já desenvolvida do filtro FIR sequencial utilizando o algoritmo LMS, deve-se alterar e implementar esta mesma arquitetura utilizando o NLMS. A arquitetura em questão é o filtro LMS 8 taps e 16 bits, um circuito já consagrado, desenvolvida pelo LAMIPS (Laboratório de Microeletrônica e Processamento de Sinais), e apresentado em eventos de Microeletrônica (FOSTER et al., 2006). Conforme a figura 4.1 observamos no circuito a entrada X(n) e os coeficientes ω nas entradas do filtro. Também é constatada que a estrutura do filtro FIR é composta pelo multiplicador e o somador acumulador, sendo a saída do sinal desejado d e o passo de adaptação µ.

28 28 Figura 4.1: Filtro FIR LMS 4.2 Desenvolvimento da Proposta Para que a arquitetura referenciada na figura 4.1 seja implementadaconforme a especificação da proposta, ela necessita sofrer algumas modificações, conforme constam em destaque (vermelho) na figura 4.2:

29 29 Figura 4.2: Filtro FIR NLMS Da figura 4.2 observa-se a necessidade de incorporar alguns elementos: uma unidade MAC (Multiplicador-Somador-Acumulador) e um circuito divisor, que irá efetuar a operação de divisão entre o valor do passo de adaptação µ pelo valor resultante do MAC à estrutura original LMS 4.1, conforme a equação 4.1, que representa o algoritmo NLMS Circuito MAC ω (n + 1) = ω (n) + µ N e (n) x (n) (4.1) x T (n) x (n) A unidade MAC é formada por três circuitos menores: um multiplicador, um somador e um acumulador. Ele é responsável por realizar as multiplicações dos dois termos que entram em sua unidade x (k) e x T (k) sendo que k representa o passo de execução dentro da unidade do filtro Circuito Multiplicador Esta etapa consiste na implementação do multiplicador de duas entradas R e T que representa a saída da entrada x. Este multiplicador, do tipo array binário, foi gerado através da ferramenta GMP (Gerador de Multiplicador Parametrizável) (FONSECA, 2004). Na tabela 4.1 são citados os valores extraídos através da ferramenta de síntese:

30 30 Multiplicador Array Binário Unidade Atraso Elementos Lógicos Multiplicador gerado por GMP ns 155 Tabela 4.1: Métricas do Multiplicador Array Binário Na figura 4.3 temos um exemplo de uma simulação do multiplicador, onde são observadas as entradas R e T, e a saída P do circuito. Figura 4.3: Simulação do circuito multiplicador Circuito Somador A segunda etapa foi o desenvolvimento do circuito somador de 16 bits. Nesta etapa foi utilizado apenas a biblioteca de Standard Logic Arithmetic existente na ferramenta Quartus, possibilitando um rápido avanço nesta etapa. Na figura 4.4 temos um exemplo de uma simulação do somador, onde são observadas as entradas A e B, e a saída S do circuito. Figura 4.4: Simulação do circuito somador É importante ressaltar que a entrada A recebe o valor vindo do multiplicador, e tanto a entrada B como a saída S são conectados ao circuito acumulador, que será explanado abaixo Circuito Acumulador O terceiro elemento do MAC é formado por um acumulador, também chamado registrador. Sua construição foi realizada especialmente para possibilitar a utilização no circuito MAC. Seu funcionamento é bastante simples: Quando a borda do clock está em 1 o registrador permite carregar o valor vindo do somador, atualizando-o. Em todos os casos existe um valor de saída, que é disponibilizado novamente para o somador, através de uma de suas entradas. E em todos os casos sua saída também é disponibilizada para a entrada do divisor do circuito divisor. Na tabela 4.2 oberva-se as métricas extraídas dele:

31 31 Registrador 16 bits Unidade Atraso Elementos Lógicos Registrador 16 bits 7,185 ns 16 Tabela 4.2: Métricas do Registrador de 16 bits Ele recebe o resultado produzido na saída S do somador, e sua saída é conectada a entrada B deste mesmo somador, permitindo uma acumulação do resultado. Na figura 4.5 temos a simulação do registrador. Figura 4.5: Simulação do circuito acumulador Circuito Divisor O circuito divisor implementado apresenta uma de suas entradas com valor fixo, compreendido pelo µ, e a outra variável, recebendo o resultado da unidade MAC. Para a operação proposta foi utilizado um divisor em ponto-fixo presente na literatura (PEDRONI, 2004). É importante ressaltar que este divisor sofreu uma importante modificação, que é explicada abaixo. Na literatura este divisor possui um sinal de erro (err) que recebe o valor 1 quando ocorre uma divisão por 0. Até este ponto isso está correto, pois a divisão de um número por zero gera um erro. Porém, neste divisor, mesmo informando que ocorrera um erro de divisão, o processamento continuava até o final. A modificação foi realizada neste ponto. Quando ocorre um erro de divisão por zero, o processamento para, e apenas informa o valor de erro para a máquina de estados, que por conseqüência reinicia todo o sistema. A tabela 4.3 contém o trecho do código original, e pode ser comparado com a tabela 4.4, onde verifica-se que a principal diferença está no fluxo de processamento, que no caso do código alterado, encontra-se dentro do próprio laço de identificação do erro.

32 32 Código Original:... PROCESS... IF (b = 0) THEN err = 1 ; ELSE err = 0 ; END IF;... Fluxo de processamento... END PROCESS;... Tabela 4.3: Código fonte antes da alteração Código Modificado:... PROCESS... IF (b = 0) THEN err = 1 ; ELSE err = 0 ;... Fluxo de processamento... END IF; END PROCESS;... Tabela 4.4: Código fonte alterado Com a alteração realizada, era necessário comprovar sua eficiência, e comparar com os valores anteriormente extraídos. Constata-se que apesar de ocorrer um aumento da área do circuito em 60%, ocorreu uma redução de 38,94% do valor de atraso do circuito. Os valores extraídos são representados pela tabela 4.5 abaixo: Assim, pode-se constatar que nem sempre um aumento de área significa um aumento do atraso do circuito, conforme mencionado em (COSTA, 2002). Em seguida foi realizada a implementação do circuito MAC, conforme a próxima seção. Comparação entre Divisores Unidade Atraso Elementos Lógicos Divisor Original 8,513 ns 5 Divisor Alterado 5,198 ns 8 Tabela 4.5: Métricas dos divisores

33 33 Na figura 4.6 está representado a simulação realizada com o circuito divisor. Figura 4.6: Simulação do circuito divisor Com todos os subcircuitos contruídos, procedeu-se a adaptação da arquitetura original, conforme as especificações do projeto. Os resultados obtidos e a comparação com os valores originais da arquitetura são apresentados no próximo capítulo.

34 34 5 RESULTADOS OBTIDOS 5.1 Análise de Resultados Para a análise de resultados, é importante ressaltar as características intrínsecas do circuito. Foi implementado um circuito de um filtro adaptativo utilizando o algoritmo NLMS, de 16 bits e 8 taps. Para a análise foram utilizados vetores senoidais (S) e randômicos (R), cada um com 100 amostras. A ferramenta de síntese e simulação utilizadao foi a Quartus II 6.0 Web Edition SP1 da Altera (ALTERA, 2006), e o componente FPGA utilizado foi o Stratix. As simulações realizadas foram: funcional, para detectar o funcionamento correto do circuito; e considerando timing, para simular o circuito observando os atrasos de cada etapa do mesmo Análise Funcional Para se obter resultados satisfatórios, era necessário extrair valores de ambos os circuitos LMS e NLMS. Assim, uma simulação funcional foi realizada. Na tabela 5.1 temos a comparação entre os dois circuitos. Circuito Atraso (tco) ELs Potência consumida (R) Potência consumida (S) Unidade Atraso Elementos Lógicos LMS ns ,38 mw 173,25 mw NLMS ns ,38 mw 178,58 mw Tabela 5.1: Métricas do Filtro de 16 bits em simulação Funcional Análise considerando Timing Com os valores de simulação funcional extraídos, o circuito foi explorado considerando o atraso existente em cada porta e componente do mesmo. A tabela 5.2 representa a comparação entre simulações do LMS e o NLMS considerando timing. Circuito Atraso (tco) ELs Potência consumida (R) Potência consumida (S) LMS ns ,17 mw 174,01 mw NLMS ns ,56 mw 176,32 mw Tabela 5.2: Métricas do Filtro de 16 bits em simulacao Timing

35 5.1.3 Análise Comparativa 35 Agora, com os dados extraídos, foi realizada a confrontação das informações dispostas nas tabelas. Na comparação deve ser considerado que as tabelas seguiram diferentes modelos de simulações. Na tabela 5.1 observamos que a simulação funcional apresenta um tempo reduzido de atraso. Isso é devido as características da simulação funcional, que não considera o atraso entre as portas lógicas do circuito. Porém a diferença entre o LMS e o NLMS neste caso é relativamente pequena. Quando verificamos esta situação na tabela 5.2 observamos que também ali ocorre um evento semelhante onde, apesar dos valores totais de atraso serem superiores ao da primeira tabela, a diferença entre o LMS e o NLMS na tabela (?) é pequena (3,53%). Isso ocorre em virtude da estrutura da arquitetura puramente sequencial. O atraso maior ainda continua correspondendo ao valor do filtro FIR, e não da alteração arquitetural realizada. Já quando verificamos o número de elementos lógicos utilizados para programar nosso circuito, verifica-se um relativo aumento, referente as estruturas adicionadas na implementação do algoritmo NLMS. Outro fator curioso dentro das simulações é referente as simulações utilizando sinais Senoidais (S). Nota-se que não ocorre uma alteração significativa no consumo. Na tabela 5.3 estão relacionados como são gastos os ciclos de relógio dentro da arquitetura. É importante ressaltar que não ocorreram alterações de ciclos com base na arquitetura modelo utilizada. Ciclos utilizados Operação Realizada 32 Resposta ao Impulso Finito - FIR 1 Cálculo de Erro (e(n)) 1 Cálculo de Coef. Adaptação (µ.e(n)) 8 Cálculo dos Coeficientes (ω(n)) Tabela 5.3: Ciclos utilizados por Operação da arquitetura

36 36 6 CONCLUSÃO Este trabalho apresentou uma implementação de um sistema adaptativo com um filtro utilizando o algoritmo NLMS. Para a comparação de resultados foi utilizada uma implementação anteriormente realizada, que utilizou o algoritmo LMS. A partir do sinal de entrada, o algoritmo filtra o sinal, procurando eliminar as interferências, permitindo que o sinal fique aproximado do sinal desejado. Os resultados observados demonstraram que a implementação do filtro adaptativo utilizando NLMS apresentou comportamento e métricas semelhantes quando comparados aos dados extraídos da implementação do filtro adaptativo utilizando LMS, indicando que a substituição de um algoritmo pelo outro é possível de ser realizada em situações onde o LMS foi utilizado com sucesso. Dentre os valores adquiridos e apresentados, ainda é importante ressaltar que é importante re-mensurar os valores apresentados de potência consumida, visto que apesar dos testes realizados oferecem valores aproximados, a utilização de uma ferramenta de programação de FPGAs não possibilita extrair valores reais de consumo, pois dentro dele estão relacionadas também as fugas de potência em chaveamento de celulas e de programação de portas lógicas (COSTA, 2002). Para sugestões de trabalhos futuros, podem ser mencionados: 1. Paralelização da estrutura do filtro FIR; 2. Utilização de níveis de pipeline, buscando reduzir atrasos; 3. Aplicação de técnicas de redução de potência e aumento de desempenho do circuito

37 37 REFERÊNCIAS ALMEIDA, S. J. M. de. Análise Estatística do Comportamento de uma Classe de Algoritmos de Projeções Afins Tese (Doutorado em Ciência da Computação) Programa de Pós-graduação em Engenharia Elétrica - UFSC, Florianópolis, SC. ALTERA. Quartus II Version 6.0 Handbook. [S.l.]: Altera Inc., v.i. C., D. S.; ZHU, Q.; F., S. K. A pipelined LMS adaptive FIR filter architecture without adaptation delay. In: IEEE TRANSACTIONS ON SIGNAL PROCESSING 46, Anais... IEEE, p COSTA, E. A. C. da. Operadores Aritméticos de Baixo Consumo para Arquiteturas de Circuitos DSP Tese (Doutorado em Ciência da Computação) Programa de Pós-Graduação em Computação - UFRGS, Porto Alegre, RS. FONSECA, M. R. GMP - Gerador de Multiplicador Parametrizável. Pelotas, RS: [s.n.], 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, Anais... [S.l.: s.n.], GOEL, M.; SHANBHAG, N. R. Low-power adaptive filter architectures via strength reduction. In: INTERNATIONAL SYMPOSIUM ON LOW POWER ELECTRONICS AND DESIGN, 1996., 1996, Monterey, California, USA. Proceedings... IEEE, p HAYKIN, S. Adaptive Filter Theory. 4th.ed. Upper Saddle River, NJ, USA: Pearson Education, MATHEWS, V. J. Adaptive Polynomial Filters. IEEE Signal Processing Mag., [S.l.], p.10 26, jul MENTORGRAPHICS. ModelSim - Digital Simulation. MITRA, S. K. Digital Signal Processing: a computer-based approach. 3rd.ed. New York, NY, USA: McGraw-Hill, PEDRONI, V. A. Circuit Design with VHDL. [S.l.]: MIT Press, 2004.

38 38 RABAEY, J. M. Digital Integrated Circuits: A Design Perspective. [S.l.]: Prentice Hall, TOCCI, R. J. Sistemas Digitais: princípios e aplicações. 5th.ed. [S.l.]: Prentice-Hall, UYEMURA, J. P. Sistemas Digitais - uma abordagem integrada. [S.l.]: Pioneira Thomson Learning, WESTE, N. H. E.; HARRIS, D. CMOS VLSI Design - a circuits and systems perspective. 3rd.ed. [S.l.]: Pearson Addison Wesley, WIDROW, B.; STEARNS, S. Adaptive Signal Processing. Englewood Cliffs, NJ, USA: Prentice-Hall, 1985.

39 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 Arquivo : a d d e r 1 6 b i t s. vhd 5 D e s c r i c a o : Somador Half Adder não p o s s u i c a r r y i n ( e n t r a d a ). 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 y o u t ) ; LIBRARY i e e e ; b i b l i o t e c a 15 USE i e e e. s t d l o g i c ALL; i e e e p a c o t e s t d l o g i c ENTITY a d d e r 1 6 b i t s IS GENERIC ( 20 b i t s : i n t e g e r := 16 i n d i c a o tamanho de b i t s das i n s t r u c o e s ) ; PORT ( a : IN STD LOGIC VECTOR( b i t s 1 DOWNTO b i t s b i t s ) ; e n t r a d a do dado 1 (16 b i t s ) 25 b : IN STD LOGIC VECTOR( b i t s 1 DOWNTO b i t s b i t s ) ; e n t r a d a do dado 2 (16 b i t s )

40 40 sum : OUT STD 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 30 ) ; END a d d e r 1 6 b i t s ; da soma (1 b i t ) ARCHITECTURE s t r u c t u r e OF a d d e r 1 6 b i t s IS s a i d a de c a r r y COMPONENT h a l f a d d e r 1 b i t PORT 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 t PORT ( 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 ; 50 BEGIN SIGNAL c a r r y t : STD LOGIC VECTOR( b i t s DOWNTO b i t s b i t s ) ; P r o c e s s S t a t e m e n t ( o p t i o n a l ) Concurrent Procedure C a l l ( o p t i o n a l ) 55 Concurrent S i g n a l Assignment ( 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 t PORT 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 Assignment ( o p t i o n a l ) 70 S e l e c t e d S i g n a l Assignment ( 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 )

41 41 b i t 0 : h a l f a d d e r 1 b i t 75 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 ) ) ; Generate 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 ;

42 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 0 0 / 0 0 / LIBRARY i e e e ; 15 USE i e e e. s t d l o g i c 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 IS GENERIC 20 ( d a t a w i d t h : i n t e g e r := 32 ) ; PORT ( 25 d i v i d e n d, 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 : OUT STD LOGIC VECTOR( d a t a w i d t h 1 DOWNTO 0 ) ; r e m a i n d e r : OUT STD LOGIC VECTOR( d a t a w i d t h 1 DOWNTO 0 ) ; e r r : OUT STD 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 ;

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 IS BEGIN P r o c e s s 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 d e n d, d i v i s o r ) VARIABLE t e m p d i v i d e n d : INTEGER RANGE 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 Assignment S t a t e m e n t ( o p t i o n a l ) 43 V a r i a b l e Assignment S t a t e m e n t ( o p t i o n a l ) Procedure C a l l S t a t e m e n t ( o p t i o n a l ) I f S t a t e m e n t ( o p t i o n a l ) Error 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 i d e n d, d a t a w 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 a w i d t h ) ; IF ( b = 0 ) THEN e 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 3 2 ; 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 1 6 ; 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 ;

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 ) THEN q 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 ; Rema in d er : r e m a i n d e r <= t e m p d i v i d e n d ; 100 END IF ; 44 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 ; Concurrent Procedure C a l l ( o p t i o n a l ) 110 Concurrent S i g n a l Assignment ( 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 Assignment ( o p t i o n a l ) S e l e c t e d S i g n a l Assignment ( 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 ) Generate S t a t e m e n t ( o p t i o n a l ) END r t l ;

45 45 ANEXO C MULTIPLICADOR 16 BITS Listing C.1: Multiplicador 16 bits na linguagem VHDL E n t i t y m u l t i p l i c a d o r 1 6 b i t s i s Port ( 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 : in 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 ; A r c h i t e c t u r e comportamento o f m u l t i p l i c a d o r 1 6 b i t s i s SIGNAL temp, h, q : BIT VECTOR(1000 downto 0 ) ; 10 component meio port (A, B : in b i t ; sum, c o u t : out b i t ) ; end component ; 15 component somador port (A, B, c i n : in s t d l o g i c ; sum, c o u t : out s t d l o g i c ) ; end component ; 20 begin P0<=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 ;

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 ; 46

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 ( )<=R6 and T5 ; temp ( )<=R6 and T6 ; 125 temp ( )<=R6 and T7 ; temp ( )<=R6 and T8 ; temp ( )<=R6 and T9 ; temp ( )<=R6 and T10 ; temp ( )<=R6 and T11 ; 130 temp ( )<=R6 and T12 ; temp ( )<=R6 and T13 ; temp ( )<=R6 and T14 ; temp ( )<=R6 and T15 ; temp ( )<=R7 and T0 ; 135 temp ( )<=R7 and T1 ; temp ( )<=R7 and T2 ; temp ( )<=R7 and T3 ; temp ( )<=R7 and T4 ; temp ( )<=R7 and T5 ; 140 temp ( )<=R7 and T6 ; temp ( )<=R7 and T7 ; temp ( )<=R7 and T8 ; temp ( )<=R7 and T9 ; temp ( )<=R7 and T10 ; 145 temp ( )<=R7 and T11 ; temp ( )<=R7 and T12 ; temp ( )<=R7 and T13 ; temp ( )<=R7 and T14 ; temp ( )<=R7 and T15 ; 150 temp ( )<=R8 and T0 ; temp ( )<=R8 and T1 ; temp ( )<=R8 and T2 ; temp ( )<=R8 and T3 ; 47

48 temp ( )<=R8 and T4 ; 155 temp ( )<=R8 and T5 ; temp ( )<=R8 and T6 ; temp ( )<=R8 and T7 ; temp ( )<=R8 and T8 ; temp ( )<=R8 and T9 ; 160 temp ( )<=R8 and T10 ; temp ( )<=R8 and T11 ; temp ( )<=R8 and T12 ; temp ( )<=R8 and T13 ; temp ( )<=R8 and T14 ; 165 temp ( )<=R8 and T15 ; temp ( )<=R9 and T0 ; temp ( )<=R9 and T1 ; temp ( )<=R9 and T2 ; temp ( )<=R9 and T3 ; 170 temp ( )<=R9 and T4 ; temp ( )<=R9 and T5 ; temp ( )<=R9 and T6 ; temp ( )<=R9 and T7 ; temp ( )<=R9 and T8 ; 175 temp ( )<=R9 and T9 ; temp ( )<=R9 and T10 ; temp ( )<=R9 and T11 ; temp ( )<=R9 and T12 ; temp ( )<=R9 and T13 ; 180 temp ( )<=R9 and T14 ; temp ( )<=R9 and T15 ; temp ( )<=R10 and T0 ; temp ( )<=R10 and T1 ; temp ( )<=R10 and T2 ; 185 temp ( )<=R10 and T3 ; temp ( )<=R10 and T4 ; temp ( )<=R10 and T5 ; temp ( )<=R10 and T6 ; temp ( )<=R10 and T7 ; 190 temp ( )<=R10 and T8 ; temp ( )<=R10 and T9 ; temp ( )<=R10 and T10 ; temp ( )<=R10 and T11 ; temp ( )<=R10 and T12 ; 195 temp ( )<=R10 and T13 ; temp ( )<=R10 and T14 ; temp ( )<=R10 and T15 ; temp ( )<=R11 and T0 ; temp ( )<=R11 and T1 ; 200 temp ( )<=R11 and T2 ; temp ( )<=R11 and T3 ; temp ( )<=R11 and T4 ; temp ( )<=R11 and T5 ; temp ( )<=R11 and T6 ; 205 temp ( )<=R11 and T7 ; temp ( )<=R11 and T8 ; temp ( )<=R11 and T9 ; temp ( )<=R11 and T10 ; temp ( )<=R11 and T11 ; 210 temp ( )<=R11 and T12 ; 48

49 temp ( )<=R11 and T13 ; temp ( )<=R11 and T14 ; temp ( )<=R11 and T15 ; temp ( )<=R12 and T0 ; 215 temp ( )<=R12 and T1 ; temp ( )<=R12 and T2 ; temp ( )<=R12 and T3 ; temp ( )<=R12 and T4 ; temp ( )<=R12 and T5 ; 220 temp ( )<=R12 and T6 ; temp ( )<=R12 and T7 ; temp ( )<=R12 and T8 ; temp ( )<=R12 and T9 ; temp ( )<=R12 and T10 ; 225 temp ( )<=R12 and T11 ; temp ( )<=R12 and T12 ; temp ( )<=R12 and T13 ; temp ( )<=R12 and T14 ; temp ( )<=R12 and T15 ; 230 temp ( )<=R13 and T0 ; temp ( )<=R13 and T1 ; temp ( )<=R13 and T2 ; temp ( )<=R13 and T3 ; temp ( )<=R13 and T4 ; 235 temp ( )<=R13 and T5 ; temp ( )<=R13 and T6 ; temp ( )<=R13 and T7 ; temp ( )<=R13 and T8 ; temp ( )<=R13 and T9 ; 240 temp ( )<=R13 and T10 ; temp ( )<=R13 and T11 ; temp ( )<=R13 and T12 ; temp ( )<=R13 and T13 ; temp ( )<=R13 and T14 ; 245 temp ( )<=R13 and T15 ; temp ( )<=R14 and T0 ; temp ( )<=R14 and T1 ; temp ( )<=R14 and T2 ; temp ( )<=R14 and T3 ; 250 temp ( )<=R14 and T4 ; temp ( )<=R14 and T5 ; temp ( )<=R14 and T6 ; temp ( )<=R14 and T7 ; temp ( )<=R14 and T8 ; 255 temp ( )<=R14 and T9 ; temp ( )<=R14 and T10 ; temp ( )<=R14 and T11 ; temp ( )<=R14 and T12 ; temp ( )<=R14 and T13 ; 260 temp ( )<=R14 and T14 ; temp ( )<=R14 and T15 ; temp ( )<=R15 and T0 ; temp ( )<=R15 and T1 ; temp ( )<=R15 and T2 ; 265 temp ( )<=R15 and T3 ; temp ( )<=R15 and T4 ; temp ( )<=R15 and T5 ; 49

50 50 temp ( )<=R15 and T6 ; temp ( )<=R15 and T7 ; 270 temp ( )<=R15 and T8 ; temp ( )<=R15 and T9 ; temp ( )<=R15 and T10 ; temp ( )<=R15 and T11 ; temp ( )<=R15 and T12 ; 275 temp ( )<=R15 and T13 ; temp ( )<=R15 and T14 ; temp ( )<=R15 and T15 ; Y0 : meio port map (A=>temp ( 0 ),B=>temp ( 1 5 ), 280 sum=>p1, c o u t=>h ( 0 ) ) ; Y1 : somador port map (A=>temp ( 1 ),B=>temp ( 1 6 ), c i n=>h ( 0 ), sum=>q ( 0 ), c o u t=>h ( 1 ) ) ; Y2 : somador 285 port map (A=>temp ( 2 ),B=>temp ( 1 7 ), c i n=>h ( 1 ), sum=>q ( 1 ), c o u t=>h ( 2 ) ) ; Y3 : somador port map (A=>temp ( 3 ),B=>temp ( 1 8 ), c i n=>h ( 2 ), sum=>q ( 2 ), c o u t=>h ( 3 ) ) ; 290 Y4 : somador port map (A=>temp ( 4 ),B=>temp ( 1 9 ), c i n=>h ( 3 ), sum=>q ( 3 ), c o u t=>h ( 4 ) ) ; Y5 : somador port map (A=>temp ( 5 ),B=>temp ( 2 0 ), c i n=>h ( 4 ), 295 sum=>q ( 4 ), c o u t=>h ( 5 ) ) ; Y6 : somador port map (A=>temp ( 6 ),B=>temp ( 2 1 ), c i n=>h ( 5 ), sum=>q ( 5 ), c o u t=>h ( 6 ) ) ; Y7 : somador 300 port map (A=>temp ( 7 ),B=>temp ( 2 2 ), c i n=>h ( 6 ), sum=>q ( 6 ), c o u t=>h ( 7 ) ) ; Y8 : somador port map (A=>temp ( 8 ),B=>temp ( 2 3 ), c i n=>h ( 7 ), sum=>q ( 7 ), c o u t=>h ( 8 ) ) ; 305 Y9 : somador port map (A=>temp ( 9 ),B=>temp ( 2 4 ), c i n=>h ( 8 ), sum=>q ( 8 ), c o u t=>h ( 9 ) ) ; Y10 : somador port map (A=>temp ( 1 0 ),B=>temp ( 2 5 ), c i n=>h ( 9 ), 310 sum=>q ( 9 ), c o u t=>h ( 1 0 ) ) ; Y11 : somador port map (A=>temp ( 1 1 ),B=>temp ( 2 6 ), c i n=>h ( 1 0 ), sum=>q ( 1 0 ), c o u t=>h ( 1 1 ) ) ; Y12 : somador 315 port map (A=>temp ( 1 2 ),B=>temp ( 2 7 ), c i n=>h ( 1 1 ), sum=>q ( 1 1 ), c o u t=>h ( 1 2 ) ) ; Y13 : somador port map (A=>temp ( 1 3 ),B=>temp ( 2 8 ), c i n=>h ( 1 2 ), sum=>q ( 1 2 ), c o u t=>h ( 1 3 ) ) ; 320 Y14 : somador port map (A=>temp ( 1 4 ),B=>temp ( 2 9 ), c i n=>h ( 1 3 ), sum=>q ( 1 3 ), c o u t=>h ( 1 4 ) ) ; Y15 : meio port map (A=>temp ( 3 0 ),B=>h ( 1 4 ),

51 sum=>q ( 1 4 ), c o u t=>h ( 1 5 ) ) ; Y31 : meio port map (A=>q ( 0 ),B=>temp ( 3 1 ), sum=>p2, c o u t=>h ( 1 6 ) ) ; Y32 : somador 330 port map (A=>temp ( 3 2 ),B=>q ( 1 ), c i n=>h ( 1 6 ), sum=>q ( 1 5 ), c o u t=>h ( 1 7 ) ) ; Y33 : somador port map (A=>temp ( 3 3 ),B=>q ( 2 ), c i n=>h ( 1 7 ), sum=>q ( 1 6 ), c o u t=>h ( 1 8 ) ) ; 335 Y34 : somador port map (A=>temp ( 3 4 ),B=>q ( 3 ), c i n=>h ( 1 8 ), sum=>q ( 1 7 ), c o u t=>h ( 1 9 ) ) ; Y35 : somador port map (A=>temp ( 3 5 ),B=>q ( 4 ), c i n=>h ( 1 9 ), 340 sum=>q ( 1 8 ), c o u t=>h ( 2 0 ) ) ; Y36 : somador port map (A=>temp ( 3 6 ),B=>q ( 5 ), c i n=>h ( 2 0 ), sum=>q ( 1 9 ), c o u t=>h ( 2 1 ) ) ; Y37 : somador 345 port map (A=>temp ( 3 7 ),B=>q ( 6 ), c i n=>h ( 2 1 ), sum=>q ( 2 0 ), c o u t=>h ( 2 2 ) ) ; Y38 : somador port map (A=>temp ( 3 8 ),B=>q ( 7 ), c i n=>h ( 2 2 ), sum=>q ( 2 1 ), c o u t=>h ( 2 3 ) ) ; 350 Y39 : somador port map (A=>temp ( 3 9 ),B=>q ( 8 ), c i n=>h ( 2 3 ), sum=>q ( 2 2 ), c o u t=>h ( 2 4 ) ) ; Y40 : somador port map (A=>temp ( 4 0 ),B=>q ( 9 ), c i n=>h ( 2 4 ), 355 sum=>q ( 2 3 ), c o u t=>h ( 2 5 ) ) ; Y41 : somador port map (A=>temp ( 4 1 ),B=>q ( 1 0 ), c i n=>h ( 2 5 ), sum=>q ( 2 4 ), c o u t=>h ( 2 6 ) ) ; Y42 : somador 360 port map (A=>temp ( 4 2 ),B=>q ( 1 1 ), c i n=>h ( 2 6 ), sum=>q ( 2 5 ), c o u t=>h ( 2 7 ) ) ; Y43 : somador port map (A=>temp ( 4 3 ),B=>q ( 1 2 ), c i n=>h ( 2 7 ), sum=>q ( 2 6 ), c o u t=>h ( 2 8 ) ) ; 365 Y44 : somador port map (A=>temp ( 4 4 ),B=>q ( 1 3 ), c i n=>h ( 2 8 ), sum=>q ( 2 7 ), c o u t=>h ( 2 9 ) ) ; Y45 : somador port map (A=>temp ( 4 5 ),B=>q ( 1 4 ), c i n=>h ( 2 9 ), 370 sum=>q ( 2 8 ), c o u t=>h ( 3 0 ) ) ; Y46 : somador port map (A=>temp ( 4 6 ),B=>h ( 1 5 ), c i n=>h ( 3 0 ), sum=>q ( 2 9 ), c o u t=>h ( 3 1 ) ) ; Y47 : meio 375 port map (A=>q ( 1 5 ),B=>temp ( 4 7 ), sum=>p3, c o u t=>h ( 3 2 ) ) ; Y48 : somador port map (A=>temp ( 4 8 ),B=>q ( 1 6 ), c i n=>h ( 3 2 ), sum=>q ( 3 0 ), c o u t=>h ( 3 3 ) ) ; 380 Y49 : somador port map (A=>temp ( 4 9 ),B=>q ( 1 7 ), c i n=>h ( 3 3 ),

52 52 sum=>q ( 3 1 ), c o u t=>h ( 3 4 ) ) ; Y50 : somador port map (A=>temp ( 5 0 ),B=>q ( 1 8 ), c i n=>h ( 3 4 ), 385 sum=>q ( 3 2 ), c o u t=>h ( 3 5 ) ) ; Y51 : somador port map (A=>temp ( 5 1 ),B=>q ( 1 9 ), c i n=>h ( 3 5 ), sum=>q ( 3 3 ), c o u t=>h ( 3 6 ) ) ; Y52 : somador 390 port map (A=>temp ( 5 2 ),B=>q ( 2 0 ), c i n=>h ( 3 6 ), sum=>q ( 3 4 ), c o u t=>h ( 3 7 ) ) ; Y53 : somador port map (A=>temp ( 5 3 ),B=>q ( 2 1 ), c i n=>h ( 3 7 ), sum=>q ( 3 5 ), c o u t=>h ( 3 8 ) ) ; 395 Y54 : somador port map (A=>temp ( 5 4 ),B=>q ( 2 2 ), c i n=>h ( 3 8 ), sum=>q ( 3 6 ), c o u t=>h ( 3 9 ) ) ; Y55 : somador port map (A=>temp ( 5 5 ),B=>q ( 2 3 ), c i n=>h ( 3 9 ), 400 sum=>q ( 3 7 ), c o u t=>h ( 4 0 ) ) ; Y56 : somador port map (A=>temp ( 5 6 ),B=>q ( 2 4 ), c i n=>h ( 4 0 ), sum=>q ( 3 8 ), c o u t=>h ( 4 1 ) ) ; Y57 : somador 405 port map (A=>temp ( 5 7 ),B=>q ( 2 5 ), c i n=>h ( 4 1 ), sum=>q ( 3 9 ), c o u t=>h ( 4 2 ) ) ; Y58 : somador port map (A=>temp ( 5 8 ),B=>q ( 2 6 ), c i n=>h ( 4 2 ), sum=>q ( 4 0 ), c o u t=>h ( 4 3 ) ) ; 410 Y59 : somador port map (A=>temp ( 5 9 ),B=>q ( 2 7 ), c i n=>h ( 4 3 ), sum=>q ( 4 1 ), c o u t=>h ( 4 4 ) ) ; Y60 : somador port map (A=>temp ( 6 0 ),B=>q ( 2 8 ), c i n=>h ( 4 4 ), 415 sum=>q ( 4 2 ), c o u t=>h ( 4 5 ) ) ; Y61 : somador port map (A=>temp ( 6 1 ),B=>q ( 2 9 ), c i n=>h ( 4 5 ), sum=>q ( 4 3 ), c o u t=>h ( 4 6 ) ) ; Y62 : somador 420 port map (A=>temp ( 6 2 ),B=>h ( 3 1 ), c i n=>h ( 4 6 ), sum=>q ( 4 4 ), c o u t=>h ( 4 7 ) ) ; Y63 : meio port map (A=>q ( 3 0 ),B=>temp ( 6 3 ), sum=>p4, c o u t=>h ( 4 8 ) ) ; 425 Y64 : somador port map (A=>temp ( 6 4 ),B=>q ( 3 1 ), c i n=>h ( 4 8 ), sum=>q ( 4 5 ), c o u t=>h ( 4 9 ) ) ; Y65 : somador port map (A=>temp ( 6 5 ),B=>q ( 3 2 ), c i n=>h ( 4 9 ), 430 sum=>q ( 4 6 ), c o u t=>h ( 5 0 ) ) ; Y66 : somador port map (A=>temp ( 6 6 ),B=>q ( 3 3 ), c i n=>h ( 5 0 ), sum=>q ( 4 7 ), c o u t=>h ( 5 1 ) ) ; Y67 : somador 435 port map (A=>temp ( 6 7 ),B=>q ( 3 4 ), c i n=>h ( 5 1 ), sum=>q ( 4 8 ), c o u t=>h ( 5 2 ) ) ; Y68 : somador port map (A=>temp ( 6 8 ),B=>q ( 3 5 ), c i n=>h ( 5 2 ),

53 53 sum=>q ( 4 9 ), c o u t=>h ( 5 3 ) ) ; 440 Y69 : somador port map (A=>temp ( 6 9 ),B=>q ( 3 6 ), c i n=>h ( 5 3 ), sum=>q ( 5 0 ), c o u t=>h ( 5 4 ) ) ; Y70 : somador port map (A=>temp ( 7 0 ),B=>q ( 3 7 ), c i n=>h ( 5 4 ), 445 sum=>q ( 5 1 ), c o u t=>h ( 5 5 ) ) ; Y71 : somador port map (A=>temp ( 7 1 ),B=>q ( 3 8 ), c i n=>h ( 5 5 ), sum=>q ( 5 2 ), c o u t=>h ( 5 6 ) ) ; Y72 : somador 450 port map (A=>temp ( 7 2 ),B=>q ( 3 9 ), c i n=>h ( 5 6 ), sum=>q ( 5 3 ), c o u t=>h ( 5 7 ) ) ; Y73 : somador port map (A=>temp ( 7 3 ),B=>q ( 4 0 ), c i n=>h ( 5 7 ), sum=>q ( 5 4 ), c o u t=>h ( 5 8 ) ) ; 455 Y74 : somador port map (A=>temp ( 7 4 ),B=>q ( 4 1 ), c i n=>h ( 5 8 ), sum=>q ( 5 5 ), c o u t=>h ( 5 9 ) ) ; Y75 : somador port map (A=>temp ( 7 5 ),B=>q ( 4 2 ), c i n=>h ( 5 9 ), 460 sum=>q ( 5 6 ), c o u t=>h ( 6 0 ) ) ; Y76 : somador port map (A=>temp ( 7 6 ),B=>q ( 4 3 ), c i n=>h ( 6 0 ), sum=>q ( 5 7 ), c o u t=>h ( 6 1 ) ) ; Y77 : somador 465 port map (A=>temp ( 7 7 ),B=>q ( 4 4 ), c i n=>h ( 6 1 ), sum=>q ( 5 8 ), c o u t=>h ( 6 2 ) ) ; Y78 : somador port map (A=>temp ( 7 8 ),B=>h ( 4 7 ), c i n=>h ( 6 2 ), sum=>q ( 5 9 ), c o u t=>h ( 6 3 ) ) ; 470 Y79 : meio port map (A=>q ( 4 5 ),B=>temp ( 7 9 ), sum=>p5, c o u t=>h ( 6 4 ) ) ; Y80 : somador port map (A=>temp ( 8 0 ),B=>q ( 4 6 ), c i n=>h ( 6 4 ), 475 sum=>q ( 6 0 ), c o u t=>h ( 6 5 ) ) ; Y81 : somador port map (A=>temp ( 8 1 ),B=>q ( 4 7 ), c i n=>h ( 6 5 ), sum=>q ( 6 1 ), c o u t=>h ( 6 6 ) ) ; Y82 : somador 480 port map (A=>temp ( 8 2 ),B=>q ( 4 8 ), c i n=>h ( 6 6 ), sum=>q ( 6 2 ), c o u t=>h ( 6 7 ) ) ; Y83 : somador port map (A=>temp ( 8 3 ),B=>q ( 4 9 ), c i n=>h ( 6 7 ), sum=>q ( 6 3 ), c o u t=>h ( 6 8 ) ) ; 485 Y84 : somador port map (A=>temp ( 8 4 ),B=>q ( 5 0 ), c i n=>h ( 6 8 ), sum=>q ( 6 4 ), c o u t=>h ( 6 9 ) ) ; Y85 : somador port map (A=>temp ( 8 5 ),B=>q ( 5 1 ), c i n=>h ( 6 9 ), 490 sum=>q ( 6 5 ), c o u t=>h ( 7 0 ) ) ; Y86 : somador port map (A=>temp ( 8 6 ),B=>q ( 5 2 ), c i n=>h ( 7 0 ), sum=>q ( 6 6 ), c o u t=>h ( 7 1 ) ) ; Y87 : somador 495 port map (A=>temp ( 8 7 ),B=>q ( 5 3 ), c i n=>h ( 7 1 ),

54 54 sum=>q ( 6 7 ), c o u t=>h ( 7 2 ) ) ; Y88 : somador port map (A=>temp ( 8 8 ),B=>q ( 5 4 ), c i n=>h ( 7 2 ), sum=>q ( 6 8 ), c o u t=>h ( 7 3 ) ) ; 500 Y89 : somador port map (A=>temp ( 8 9 ),B=>q ( 5 5 ), c i n=>h ( 7 3 ), sum=>q ( 6 9 ), c o u t=>h ( 7 4 ) ) ; Y90 : somador port map (A=>temp ( 9 0 ),B=>q ( 5 6 ), c i n=>h ( 7 4 ), 505 sum=>q ( 7 0 ), c o u t=>h ( 7 5 ) ) ; Y91 : somador port map (A=>temp ( 9 1 ),B=>q ( 5 7 ), c i n=>h ( 7 5 ), sum=>q ( 7 1 ), c o u t=>h ( 7 6 ) ) ; Y92 : somador 510 port map (A=>temp ( 9 2 ),B=>q ( 5 8 ), c i n=>h ( 7 6 ), sum=>q ( 7 2 ), c o u t=>h ( 7 7 ) ) ; Y93 : somador port map (A=>temp ( 9 3 ),B=>q ( 5 9 ), c i n=>h ( 7 7 ), sum=>q ( 7 3 ), c o u t=>h ( 7 8 ) ) ; 515 Y94 : somador port map (A=>temp ( 9 4 ),B=>h ( 6 3 ), c i n=>h ( 7 8 ), sum=>q ( 7 4 ), c o u t=>h ( 7 9 ) ) ; Y95 : meio port map (A=>q ( 6 0 ),B=>temp ( 9 5 ), 520 sum=>p6, c o u t=>h ( 8 0 ) ) ; Y96 : somador port map (A=>temp ( 9 6 ),B=>q ( 6 1 ), c i n=>h ( 8 0 ), sum=>q ( 7 5 ), c o u t=>h ( 8 1 ) ) ; Y97 : somador 525 port map (A=>temp ( 9 7 ),B=>q ( 6 2 ), c i n=>h ( 8 1 ), sum=>q ( 7 6 ), c o u t=>h ( 8 2 ) ) ; Y98 : somador port map (A=>temp ( 9 8 ),B=>q ( 6 3 ), c i n=>h ( 8 2 ), sum=>q ( 7 7 ), c o u t=>h ( 8 3 ) ) ; 530 Y99 : somador port map (A=>temp ( 9 9 ),B=>q ( 6 4 ), c i n=>h ( 8 3 ), sum=>q ( 7 8 ), c o u t=>h ( 8 4 ) ) ; Y100 : somador port map (A=>temp ( ),B=>q ( 6 5 ), c i n=>h ( 8 4 ), 535 sum=>q ( 7 9 ), c o u t=>h ( 8 5 ) ) ; Y101 : somador port map (A=>temp ( ),B=>q ( 6 6 ), c i n=>h ( 8 5 ), sum=>q ( 8 0 ), c o u t=>h ( 8 6 ) ) ; Y102 : somador 540 port map (A=>temp ( ),B=>q ( 6 7 ), c i n=>h ( 8 6 ), sum=>q ( 8 1 ), c o u t=>h ( 8 7 ) ) ; Y103 : somador port map (A=>temp ( ),B=>q ( 6 8 ), c i n=>h ( 8 7 ), sum=>q ( 8 2 ), c o u t=>h ( 8 8 ) ) ; 545 Y104 : somador port map (A=>temp ( ),B=>q ( 6 9 ), c i n=>h ( 8 8 ), sum=>q ( 8 3 ), c o u t=>h ( 8 9 ) ) ; Y105 : somador port map (A=>temp ( ),B=>q ( 7 0 ), c i n=>h ( 8 9 ), 550 sum=>q ( 8 4 ), c o u t=>h ( 9 0 ) ) ; Y106 : somador port map (A=>temp ( ),B=>q ( 7 1 ), c i n=>h ( 9 0 ),

55 55 sum=>q ( 8 5 ), c o u t=>h ( 9 1 ) ) ; Y107 : somador 555 port map (A=>temp ( ),B=>q ( 7 2 ), c i n=>h ( 9 1 ), sum=>q ( 8 6 ), c o u t=>h ( 9 2 ) ) ; Y108 : somador port map (A=>temp ( ),B=>q ( 7 3 ), c i n=>h ( 9 2 ), sum=>q ( 8 7 ), c o u t=>h ( 9 3 ) ) ; 560 Y109 : somador port map (A=>temp ( ),B=>q ( 7 4 ), c i n=>h ( 9 3 ), sum=>q ( 8 8 ), c o u t=>h ( 9 4 ) ) ; Y110 : somador port map (A=>temp ( ),B=>h ( 7 9 ), c i n=>h ( 9 4 ), 565 sum=>q ( 8 9 ), c o u t=>h ( 9 5 ) ) ; Y111 : meio port map (A=>q ( 7 5 ),B=>temp ( ), sum=>p7, c o u t=>h ( 9 6 ) ) ; Y112 : somador 570 port map (A=>temp ( ),B=>q ( 7 6 ), c i n=>h ( 9 6 ), sum=>q ( 9 0 ), c o u t=>h ( 9 7 ) ) ; Y113 : somador port map (A=>temp ( ),B=>q ( 7 7 ), c i n=>h ( 9 7 ), sum=>q ( 9 1 ), c o u t=>h ( 9 8 ) ) ; 575 Y114 : somador port map (A=>temp ( ),B=>q ( 7 8 ), c i n=>h ( 9 8 ), sum=>q ( 9 2 ), c o u t=>h ( 9 9 ) ) ; Y115 : somador port map (A=>temp ( ),B=>q ( 7 9 ), c i n=>h ( 9 9 ), 580 sum=>q ( 9 3 ), c o u t=>h ( ) ) ; Y116 : somador port map (A=>temp ( ),B=>q ( 8 0 ), c i n=>h ( ), sum=>q ( 9 4 ), c o u t=>h ( ) ) ; Y117 : somador 585 port map (A=>temp ( ),B=>q ( 8 1 ), c i n=>h ( ), sum=>q ( 9 5 ), c o u t=>h ( ) ) ; Y118 : somador port map (A=>temp ( ),B=>q ( 8 2 ), c i n=>h ( ), sum=>q ( 9 6 ), c o u t=>h ( ) ) ; 590 Y119 : somador port map (A=>temp ( ),B=>q ( 8 3 ), c i n=>h ( ), sum=>q ( 9 7 ), c o u t=>h ( ) ) ; Y120 : somador port map (A=>temp ( ),B=>q ( 8 4 ), c i n=>h ( ), 595 sum=>q ( 9 8 ), c o u t=>h ( ) ) ; Y121 : somador port map (A=>temp ( ),B=>q ( 8 5 ), c i n=>h ( ), sum=>q ( 9 9 ), c o u t=>h ( ) ) ; Y122 : somador 600 port map (A=>temp ( ),B=>q ( 8 6 ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y123 : somador port map (A=>temp ( ),B=>q ( 8 7 ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; 605 Y124 : somador port map (A=>temp ( ),B=>q ( 8 8 ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y125 : somador port map (A=>temp ( ),B=>q ( 8 9 ), c i n=>h ( ),

56 sum=>q ( ), c o u t=>h ( ) ) ; Y126 : somador port map (A=>temp ( ),B=>h ( 9 5 ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y127 : meio 615 port map (A=>q ( 9 0 ),B=>temp ( ), sum=>p8, c o u t=>h ( ) ) ; Y128 : somador port map (A=>temp ( ),B=>q ( 9 1 ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; 620 Y129 : somador port map (A=>temp ( ),B=>q ( 9 2 ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y130 : somador port map (A=>temp ( ),B=>q ( 9 3 ), c i n=>h ( ), 625 sum=>q ( ), c o u t=>h ( ) ) ; Y131 : somador port map (A=>temp ( ),B=>q ( 9 4 ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y132 : somador 630 port map (A=>temp ( ),B=>q ( 9 5 ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y133 : somador port map (A=>temp ( ),B=>q ( 9 6 ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; 635 Y134 : somador port map (A=>temp ( ),B=>q ( 9 7 ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y135 : somador port map (A=>temp ( ),B=>q ( 9 8 ), c i n=>h ( ), 640 sum=>q ( ), c o u t=>h ( ) ) ; Y136 : somador port map (A=>temp ( ),B=>q ( 9 9 ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y137 : somador 645 port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y138 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; 650 Y139 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y140 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), 655 sum=>q ( ), c o u t=>h ( ) ) ; Y141 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y142 : somador 660 port map (A=>temp ( ),B=>h ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y143 : meio port map (A=>q ( ),B=>temp ( ), sum=>p9, c o u t=>h ( ) ) ; 665 Y144 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ),

57 57 sum=>q ( ), c o u t=>h ( ) ) ; Y145 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), 670 sum=>q ( ), c o u t=>h ( ) ) ; Y146 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y147 : somador 675 port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y148 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; 680 Y149 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y150 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), 685 sum=>q ( ), c o u t=>h ( ) ) ; Y151 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y152 : somador 690 port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y153 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; 695 Y154 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y155 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), 700 sum=>q ( ), c o u t=>h ( ) ) ; Y156 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y157 : somador 705 port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y158 : somador port map (A=>temp ( ),B=>h ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; 710 Y159 : meio port map (A=>q ( ),B=>temp ( ), sum=>p10, c o u t=>h ( ) ) ; Y160 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), 715 sum=>q ( ), c o u t=>h ( ) ) ; Y161 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y162 : somador 720 port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y163 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ),

58 58 sum=>q ( ), c o u t=>h ( ) ) ; 725 Y164 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y165 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), 730 sum=>q ( ), c o u t=>h ( ) ) ; Y166 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y167 : somador 735 port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y168 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; 740 Y169 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y170 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), 745 sum=>q ( ), c o u t=>h ( ) ) ; Y171 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y172 : somador 750 port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y173 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; 755 Y174 : somador port map (A=>temp ( ),B=>h ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y175 : meio port map (A=>q ( ),B=>temp ( ), 760 sum=>p11, c o u t=>h ( ) ) ; Y176 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y177 : somador 765 port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y178 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; 770 Y179 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y180 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), 775 sum=>q ( ), c o u t=>h ( ) ) ; Y181 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y182 : somador 780 port map (A=>temp ( ),B=>q ( ), c i n=>h ( ),

59 59 sum=>q ( ), c o u t=>h ( ) ) ; Y183 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; 785 Y184 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y185 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), 790 sum=>q ( ), c o u t=>h ( ) ) ; Y186 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y187 : somador 795 port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y188 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; 800 Y189 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y190 : somador port map (A=>temp ( ),B=>h ( ), c i n=>h ( ), 805 sum=>q ( ), c o u t=>h ( ) ) ; Y191 : meio port map (A=>q ( ),B=>temp ( ), sum=>p12, c o u t=>h ( ) ) ; Y192 : somador 810 port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y193 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; 815 Y194 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y195 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), 820 sum=>q ( ), c o u t=>h ( ) ) ; Y196 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y197 : somador 825 port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y198 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; 830 Y199 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y200 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), 835 sum=>q ( ), c o u t=>h ( ) ) ; Y201 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ),

60 60 sum=>q ( ), c o u t=>h ( ) ) ; Y202 : somador 840 port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y203 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; 845 Y204 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y205 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), 850 sum=>q ( ), c o u t=>h ( ) ) ; Y206 : somador port map (A=>temp ( ),B=>h ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y207 : meio 855 port map (A=>q ( ),B=>temp ( ), sum=>p13, c o u t=>h ( ) ) ; Y208 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; 860 Y209 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y210 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), 865 sum=>q ( ), c o u t=>h ( ) ) ; Y211 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y212 : somador 870 port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y213 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; 875 Y214 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y215 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), 880 sum=>q ( ), c o u t=>h ( ) ) ; Y216 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y217 : somador 885 port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y218 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; 890 Y219 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y220 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ),

61 sum=>q ( ), c o u t=>h ( ) ) ; Y221 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y222 : somador 900 port map (A=>temp ( ),B=>h ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y223 : meio port map (A=>q ( ),B=>temp ( ), sum=>p14, c o u t=>h ( ) ) ; 905 Y224 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y225 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), 910 sum=>q ( ), c o u t=>h ( ) ) ; Y226 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y227 : somador 915 port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y228 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; 920 Y229 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y230 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), 925 sum=>q ( ), c o u t=>h ( ) ) ; Y231 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y232 : somador 930 port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y233 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; 935 Y234 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y235 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), 940 sum=>q ( ), c o u t=>h ( ) ) ; Y236 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y237 : somador 945 port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; Y238 : somador port map (A=>temp ( ),B=>h ( ), c i n=>h ( ), sum=>q ( ), c o u t=>h ( ) ) ; 950 Y239 : meio port map (A=>temp ( ),B=>q ( ),

62 62 sum=>p15, c o u t=>h ( ) ) ; Y240 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), 955 sum=>p16, c o u t=>h ( ) ) ; Y241 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>p17, c o u t=>h ( ) ) ; Y242 : somador 960 port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>p18, c o u t=>h ( ) ) ; Y243 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>p19, c o u t=>h ( ) ) ; 965 Y244 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>p20, c o u t=>h ( ) ) ; Y245 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), 970 sum=>p21, c o u t=>h ( ) ) ; Y246 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>p22, c o u t=>h ( ) ) ; Y247 : somador 975 port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>p23, c o u t=>h ( ) ) ; Y248 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>p24, c o u t=>h ( ) ) ; 980 Y249 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>p25, c o u t=>h ( ) ) ; Y250 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), 985 sum=>p26, c o u t=>h ( ) ) ; Y251 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>p27, c o u t=>h ( ) ) ; Y252 : somador 990 port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>p28, c o u t=>h ( ) ) ; Y253 : somador port map (A=>temp ( ),B=>q ( ), c i n=>h ( ), sum=>p29, c o u t=>h ( ) ) ; 995 Y254 : somador port map (A=>temp ( ),B=>h ( ), c i n=>h ( ), sum=>p30, c o u t=>p31 ) ; end comportamento ;

63 63 ANEXO D REGISTRADOR 16 BITS LIBRARY i e e e ; USE i e e e. s t d l o g i c ALL; Listing D.1: Registrador 16 bits na linguagem VHDL ENTITY r e g i s t e r 3 2 b i t s IS 5 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 IS SIGNAL b u f f e r n b i t s : 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 ) ; BEGIN 20 P r o c e s s 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 Assignment 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 Assignment S t a t e m e n t ( o p t i o n a l ) Procedure C a 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 ( clock 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 ;

64 64 40 Concurrent Procedure C a l l ( o p t i o n a l ) Concurrent S i g n a l Assignment ( o p t i o n a l ) 45 C o n d i t i o n a l S i g n a l Assignment ( o p t i o n a l ) S e l e c t e d S i g n a l Assignment ( 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 Generate 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 ;

ESTIMAÇÃO PARAMÉTRICA UTILIZANDO ALGORITMO RLS. Rodrigo Urban de Morais

ESTIMAÇÃO PARAMÉTRICA UTILIZANDO ALGORITMO RLS. Rodrigo Urban de Morais UNIVERSIDADE FEDERAL DO PARANÁ PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA PPGEE ESTIMAÇÃO PARAMÉTRICA UTILIZANDO ALGORITMO RLS Rodrigo Urban de Morais CURITIBA, JUNHO DE 2007. Sumário 1. Introdução...3

Leia mais

ELETRÔNICA DIGITAL I

ELETRÔNICA DIGITAL I ELETRÔNICA DIGITAL I Parte 0 Introdução Professor Dr. Michael Klug 1 Analógico x Digital Representações: Analógica = contínua Digital = discreta (passo a passo) 2 Vantagens Técnicas Digitais 1) Fáceis

Leia mais

Dispositivos de Lógica Programável

Dispositivos de Lógica Programável Dispositivos de Lógica Programável Evolução Válvula no início de 1940 Transistor em 1947 Não aquece como as válvulas Fisicamente menor 1961 primeiro integrado TTL 74LSXX Década de 1970 surge SPLD Simple

Leia mais

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar - Aula 1 - O NÍVEL DA LÓGICA DIGITAL 1. INTRODUÇÃO Na parte inferior da hierarquia da figura abaixo encontramos o nível da lógica digital, o verdadeiro hardware do computador. Este nível situa-se na fronteira

Leia mais

Resumo. Filtragem Adaptativa. Filtros adaptativos. Tarefas desempenhadas pelos filtros

Resumo. Filtragem Adaptativa. Filtros adaptativos. Tarefas desempenhadas pelos filtros Resumo Filtragem Adaptativa Luís Caldas de Oliveira lco@istutlpt Instituto Superior Técnico Sistemas de filtragem adaptativa Conceitos de filtragem adaptativa Filtro de Wiener Algoritmo steepest descent

Leia mais

Disciplina: Processamento Digital de Sinais Aula 05 - Implementação de Sistemas de Processamento Digital de Sinais (Parte 01)

Disciplina: Processamento Digital de Sinais Aula 05 - Implementação de Sistemas de Processamento Digital de Sinais (Parte 01) Disciplina: Processamento Digital de Sinais Aula 05 - Implementação de Sistemas de Processamento Digital de Sinais (Parte 01) Prof. ([email protected]) Programa de Pós-Graduação em Engenharia Elétrica

Leia mais

Sistemas Digitais I LESI :: 2º ano. Introdução

Sistemas Digitais I LESI :: 2º ano. Introdução Sistemas Digitais I LESI :: 2º ano Introdução António Joaquim Esteves João Miguel Fernandes www.di.uminho.pt/~aje Bibliografia: capítulo 1, DDPP, Wakerly DEP. DE INFORMÁTICA ESCOLA DE ENGENHARIA UNIVERSIDADE

Leia mais

Circuitos Digitais Representação Numérica. Sistema Digital. Circuitos Digitais. Conversão A/D e D/A. Circuitos Digitais

Circuitos Digitais Representação Numérica. Sistema Digital. Circuitos Digitais. Conversão A/D e D/A. Circuitos Digitais 2 Sistemas Digitais Aula 2 Introdução à Sistemas Embarcados Prof. Abel Guilhermino Centro de Informática Universidade Federal de Pernambuco Circuitos Digitais Representação Numérica Analógica As entradas

Leia mais

DSP Builder - Altera. MO801 - Tópicos em Arquitetura e Hardware. Michele Tamberlini 05/2006

DSP Builder - Altera. MO801 - Tópicos em Arquitetura e Hardware. Michele Tamberlini 05/2006 DSP Builder - Altera MO801 - Tópicos em Arquitetura e Hardware Michele Tamberlini 05/2006 DSP Builder Roteiro Introdução Funcionalidades MegaCore MATLAB / SIMULINK SOPC Builder Bibliotecas Introdução Algoritmos

Leia mais

Parte # 2 - Circuitos Combinatórios

Parte # 2 - Circuitos Combinatórios CEFET Departamento de Engenharia Elétrica - DEPEL GELE 7163 Eletrônica Digital Parte # 2 - Circuitos Combinatórios 1 GELE 7163 Eletrônica Digital 2 Referências : Notas de Aula. Mendonça, Alexandre e Zelenovsky,

Leia mais

Projeto e Implementação de um Fatorial em Hardware para Dispositivos Reconfiguráveis

Projeto e Implementação de um Fatorial em Hardware para Dispositivos Reconfiguráveis Projeto e Implementação de um Fatorial em Hardware para Dispositivos Reconfiguráveis Álamo G. Silva, Leonardo A. Casillo Departamento de Ciências Exatas e Naturais Universidade Federal Rural do Semi- Árido

Leia mais

FPGA & VHDL. Tutorial

FPGA & VHDL. Tutorial FPGA & VHDL Tutorial 2009-2 FPGA FieldProgrammableGateArray Dispositivo lógico contendo uma matriz de: Células lógicas genéricas Configuráveis ( programadas ) para desempenhar uma função simples Chaves

Leia mais

Livro texto: VHDL- Descrição e Síntese de Circuitos Digitais Roberto D Amore Editora LTC

Livro texto: VHDL- Descrição e Síntese de Circuitos Digitais Roberto D Amore Editora LTC Livro texto: VHDL- Descrição e Síntese de Circuitos Digitais Roberto D Amore Editora LTC Linguagem para descrever o funcionamento de um sistema (o que e como o sistema faz). O sistema descrito em HDL

Leia mais

Redes Neurais e Sistemas Fuzzy

Redes Neurais e Sistemas Fuzzy Redes Neurais e Sistemas Fuzzy O ADALINE e o algoritmo LMS O ADALINE No contexto de classificação, o ADALINE [B. Widrow 1960] pode ser visto como um perceptron com algoritmo de treinamento baseado em minimização

Leia mais

Projeto com Linguagens de Descrição de Hardware

Projeto com Linguagens de Descrição de Hardware Projeto com Linguagens de Descrição de Hardware Versão 2012 RESUMO Esta experiência consiste no projeto e implementação de um circuito digital simples com o uso de uma linguagem de descrição de hardware.

Leia mais

FPGA & VHDL. Tutorial Aula 1. Computação Digital

FPGA & VHDL. Tutorial Aula 1. Computação Digital FPGA & VHDL Tutorial Aula 1 Computação Digital FPGA Field Programmable Gate Array Dispositivo lógico contendo uma matriz de: Células lógicas genéricas Configuráveis ( programáveis ) para desempenhar uma

Leia mais

DISPOSITIVOS LÓGICOS PROGRAMÁVEIS. SEL Sistemas Digitais Prof. Homero Schiabel

DISPOSITIVOS LÓGICOS PROGRAMÁVEIS. SEL Sistemas Digitais Prof. Homero Schiabel DISPOSITIVOS LÓGICOS PROGRAMÁVEIS SEL 414 - Sistemas Digitais Prof. Homero Schiabel 1. Introdução Operação do circuito lógico pode ser descrita por: Tabela da Verdade Expressão booleana Dispositivo de

Leia mais

Aula 11. Dispositivos Lógicos Programáveis. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira

Aula 11. Dispositivos Lógicos Programáveis. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira Aula 11 Dispositivos Lógicos Programáveis SEL 0414 - Sistemas Digitais Prof. Dr. Marcelo Andrade da Costa Vieira 1. Características Gerais l PLD Programmable Logical Device; l Agrupa um grande número de

Leia mais

O Mundo Real é Analógico ou Digital?

O Mundo Real é Analógico ou Digital? Analógico / Digital O Mundo Real é Analógico ou Digital? O que define uma grandeza analógica? Os sinais analógicos podem tomar qualquer valor num intervalo contínuo de tensão, corrente, resistência ou

Leia mais

Desenvolvendo aplicações com LabVIEW FPGA. Rogério Rodrigues Engenheiro de Marketing Técnico Marcos Cardoso Engenheiro de Vendas

Desenvolvendo aplicações com LabVIEW FPGA. Rogério Rodrigues Engenheiro de Marketing Técnico Marcos Cardoso Engenheiro de Vendas Desenvolvendo aplicações com LabVIEW FPGA Rogério Rodrigues Engenheiro de Marketing Técnico Marcos Cardoso Engenheiro de Vendas Agenda O que são FPGAs e por que eles são úteis? Programando FPGAs Hardware

Leia mais

ELD - Eletrônica Digital Aula 11 Introdução à Lógica Programável. Prof. Antonio Heronaldo de Sousa

ELD - Eletrônica Digital Aula 11 Introdução à Lógica Programável. Prof. Antonio Heronaldo de Sousa ELD - Eletrônica Digital Aula 11 Introdução à Lógica Programável Prof. Antonio Heronaldo de Sousa Agenda - Introdução - Lógica Programável - Dispositivos de Lógica Programável - Arranjos Lógicos Programáveis

Leia mais

Introdução ao VHDL. Circuitos Lógicos. DCC-IM/UFRJ Prof. Gabriel P. Silva. Original por Ayman Wahba

Introdução ao VHDL. Circuitos Lógicos. DCC-IM/UFRJ Prof. Gabriel P. Silva. Original por Ayman Wahba Introdução ao VHDL Circuitos Lógicos DCC-IM/UFRJ Prof. Gabriel P. Silva Original por Ayman Wahba VHDL É uma linguaguem de descrição de hardware, ou seja, uma forma estruturada para a descrição de circuitos

Leia mais

Revisão: Projeto de Processadores em VHDL

Revisão: Projeto de Processadores em VHDL Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Revisão: Projeto de Processadores em VHDL DCA0119 Sistemas Digitais Heitor Medeiros Florencio 1 Sumário

Leia mais

Engenharia Software. Ení Berbert Camilo Contaiffer

Engenharia Software. Ení Berbert Camilo Contaiffer Engenharia Software Ení Berbert Camilo Contaiffer Características do Software Software não é um elemento físico, é um elemento lógico; Software é desenvolvido ou projetado por engenharia, não manufaturado

Leia mais

Prof. André Rabelo LÓGICA DIGITAL INTRODUÇÃO

Prof. André Rabelo LÓGICA DIGITAL INTRODUÇÃO Prof. André Rabelo LÓGICA DIGITAL INTRODUÇÃO INTRODUÇÃO Um sistema pode ser definido como sendo um conjunto de elementos que são interligados de alguma maneira para compor um todo e assim realizar funcionalidade

Leia mais

Calculadora Simples em VHDL

Calculadora Simples em VHDL Calculadora Simples em VHDL Versão 2014 RESUMO Esta experiência consiste no projeto e implementação de um circuito digital simples com o uso de uma linguagem de descrição de hardware. São apresentados

Leia mais

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I. Introdução ao VHDL. César A. M. Marcon

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I. Introdução ao VHDL. César A. M. Marcon ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I Introdução ao VHDL César A. M. Marcon VHDL Uma Linguagem de Descrição de Hardware 2 Originou como linguagem para descrever hardware, no contexto do programa

Leia mais

Hardware Reconfigurável

Hardware Reconfigurável Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Hardware Reconfigurável DCA0119 Sistemas Digitais Heitor Medeiros Florencio Tópicos Alternativas de projeto

Leia mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02 Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02 Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação POR QUE APRENDER CONCEITOS

Leia mais

Prof. Leonardo Augusto Casillo

Prof. Leonardo Augusto Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Aula 3 Introdução ao VHDL Prof. Leonardo Augusto Casillo O que significa VHDL? Very High Speed Integrated Circuit Hardware Description

Leia mais

Implementação de algoritmos de processamento em FPGA para reconstrução de imagens biomédicas por ultrassom

Implementação de algoritmos de processamento em FPGA para reconstrução de imagens biomédicas por ultrassom https://eventos.utfpr.edu.br//sicite/sicite2017/index Implementação de algoritmos de processamento em FPGA para reconstrução de imagens biomédicas por ultrassom RESUMO Samuel Leme de Almeida Leite [email protected]

Leia mais

Introdução ao Processamento Estatístico de Sinais

Introdução ao Processamento Estatístico de Sinais Charles Casimiro Cavalcante [email protected] Grupo de Pesquisa em Telecomunicações Sem Fio GTEL Departamento de Engenharia de Teleinformática Universidade Federal do Ceará UFC http://www.gtel.ufc.br/

Leia mais

VHDL. Descrição e Projeto de Circuitos Utilizando VHDL

VHDL. Descrição e Projeto de Circuitos Utilizando VHDL VHDL Descrição e Projeto de Circuitos Utilizando VHDL O projeto de circuitos digitais de forma automatizada se tornou prática industrial comum. As principais vantagens são : Portabilidade de tecnologia

Leia mais

Introdução a Sistemas Digitais

Introdução a Sistemas Digitais Introdução a Sistemas Digitais Definição Sistemas Digitais Projeto Revisão: Circuitos Combinacionais Circuitos Sequênciais Máquinas de Estados Sistemas Digitais Definição Um sistema digital é um sistema

Leia mais

Circuitos Lógicos. Prof. Odilson Tadeu Valle

Circuitos Lógicos. Prof. Odilson Tadeu Valle Introdução Circuitos Lógicos Prof. Odilson Tadeu Valle Instituto Federal de Santa Catarina IFSC Campus São José [email protected] 1/44 Sumário 1 Introdução 2 Analógico Versus Digital 3 Bits, Bytes e

Leia mais

Revisão: Projeto e síntese de Circuitos Digitais em FPGA

Revisão: Projeto e síntese de Circuitos Digitais em FPGA Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Revisão: Projeto e síntese de Circuitos Digitais em FPGA DCA0119 Sistemas Digitais Heitor Medeiros Florencio

Leia mais

4. O algoritmo LMS e variantes

4. O algoritmo LMS e variantes Apontamentos de Processamento Adaptativo de Sinais 4. O algoritmo LMS e variantes Família de algoritmos do gradiente Na prática usam-se estimativas do gradiente, ˆ (n), em vez do verdadeiro gradiente (n),

Leia mais

Curso de Tecnologia em Sistemas Eletrônicos MATRIZ CURRICULAR. Módulo I /Semestre 1 Carga horária total: 400h

Curso de Tecnologia em Sistemas Eletrônicos MATRIZ CURRICULAR. Módulo I /Semestre 1 Carga horária total: 400h Curso de Tecnologia em Sistemas Eletrônicos CÂMPUS FLORIANÓPOLIS MATRIZ CURRICULAR Módulo I /Semestre 1 Carga horária total: 400h Circuitos Elétricos 1 80 Lógica Combinacional 80 Física Geral 80 Comunicação

Leia mais

EPUSP PCS 2011/2305/2355 Laboratório Digital SOMADORES DECIMAIS

EPUSP PCS 2011/2305/2355 Laboratório Digital SOMADORES DECIMAIS SOMADORES DECIMAIS Versão 2012 RESUMO Nesta experiência será estudado um circuito aritmético de soma decimal a partir dos somadores binários de 4 bits (por exemplo, o circuito integrado 74283). A parte

Leia mais

EPUSP PCS2355 Laboratório Digital SOMADORES DECIMAIS

EPUSP PCS2355 Laboratório Digital SOMADORES DECIMAIS SOMADORES DECIMAIS Versão 2015 RESUMO Nesta experiência será estudado um circuito aritmético de soma decimal a partir dos somadores binários de 4 bits (por exemplo, o circuito integrado 74283). A parte

Leia mais

Análise de vibrações mecânica com FPGA

Análise de vibrações mecânica com FPGA Análise de vibrações mecânica com FPGA Este artigo consiste do estudo e adaptação de técnicas de processamento digital de sinais de vibrações mecânicas, em dispositivos FPGA, cujo resultado será uma biblioteca

Leia mais

Palavras-Chave: Filtro digital, FPGA, VHDL.

Palavras-Chave: Filtro digital, FPGA, VHDL. Desenvolvimento de um filtro de resposta ao impulso finito em VHDL Erik Farias da Silva¹, Kesia Cristiane dos Santos Farias², Evandson Claude Seabra Dantas³, Johannes Warwick da Costa Farias 4 1 Mestre

Leia mais

Sílvio A. Abrantes Faculdade de Engenharia Universidade do Porto, Portugal

Sílvio A. Abrantes Faculdade de Engenharia Universidade do Porto, Portugal Apontamentos de Processamento Adaptativo de Sinais Sílvio A. Abrantes Faculdade de Engenharia Universidade do Porto, Portugal Apontamentos de Processamento Adaptativo de Sinais 1. Introdução Introdução

Leia mais

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica REDES NEURAIS ARTIFICIAIS REDE ADALINE e REGRA DELTA Prof. Dr. André A. P. Biscaro 2º Semestre de 2017 Aspectos históricos O ADALINE foi idealizado por Widrow & Hoff em 1960. Sua principal aplicação estava

Leia mais

Cálculo Numérico IPRJ/UERJ. Sílvia Mara da Costa Campos Victer ÍNDICE. Aula 1- Introdução. Representação de números. Conversão de números

Cálculo Numérico IPRJ/UERJ. Sílvia Mara da Costa Campos Victer ÍNDICE. Aula 1- Introdução. Representação de números. Conversão de números Cálculo Numérico IPRJ/UERJ Sílvia Mara da Costa Campos Victer ÍNDICE Aula 1- Introdução Representação de números Conversão de números Aritmética de ponto flutuante Erros em máquinas digitais Aula 1 - Introdução

Leia mais

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES Paradigmas da Engenharia de Software AULA 03-04 PROF. ABRAHAO LOPES Introdução O processo de software é visto por uma sequência de atividades que produzem uma variedade de documentos, resultando em um

Leia mais

Dispositivo Lógico Programável(PLD)

Dispositivo Lógico Programável(PLD) Dispositivo Lógico Programável(PLD) Para reduzir o número de CI's(Circuitos Integrados) a serem usados num projeto digital, é necessário colocar mais funções em um mesmo chip. Isso tem sido feito com evolução

Leia mais

Introdução à Linguagem VHDL

Introdução à Linguagem VHDL Fundamentos de Sistemas Digitais Introdução à Linguagem VHDL prof. Dr. Alexandre M. Amory Referências Sugiro estudarem nesta ordem de preferência: Vahid, Cap 9 Ignorar verilog e SystemC Bem didático! um

Leia mais

UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE ENGENHARIA ELETRÔNICA DISCIPLINA DE INSTRUMENTAÇÃO ELETRÔNICA. Trena Ultrassônica

UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE ENGENHARIA ELETRÔNICA DISCIPLINA DE INSTRUMENTAÇÃO ELETRÔNICA. Trena Ultrassônica UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE ENGENHARIA ELETRÔNICA DISCIPLINA DE INSTRUMENTAÇÃO ELETRÔNICA Trena Ultrassônica Desenvolvido por Thiago Ferreira Pontes Relatório Final da

Leia mais

Pontifícia Universidade Católica Federal do Rio de Santa Grande Catarina do Sul

Pontifícia Universidade Católica Federal do Rio de Santa Grande Catarina do Sul DEPARTAMENTO: Engenharia Elétrica CURSO: Engenharia Elétrica DISCIPLINA: Sistemas Digitais CÓDIGO: EEL 7020 CRÉDITOS: 04 (02 Teoria e 02 Prática) CARGA HORÁRIA: 72 horas-aula REQUISITOS: OFERTA: Pré-requisito:

Leia mais

INSTRUMENTAÇÃO MECATRÔNICA

INSTRUMENTAÇÃO MECATRÔNICA CONCEITOS DE INSTRUMENTAÇÃO Instrumentação é a ciência que aplica e desenvolve técnicas para adequação de instrumentos de medição, transmissão, indicação, registro e controle de variáveis físicas em equipamentos

Leia mais

Funcionamento Área Desempenho (velocidade) Potência Aula 1. Circuitos Digitais. Circuitos Digitais

Funcionamento Área Desempenho (velocidade) Potência Aula 1. Circuitos Digitais. Circuitos Digitais INF01058 Objetivo Circuitos igitais Projetar circuitos digitais: Combinacionais Sequências Testar a analisar circuitos digitais Introdução Funcionamento Área esempenho (velocidade) Potência Aula 1 Mundo

Leia mais

Rodrigo Pereira David. Técnica de Estimação de Canal Utilizando Símbolos Pilotos em Sistemas OFDM. Dissertação de Mestrado

Rodrigo Pereira David. Técnica de Estimação de Canal Utilizando Símbolos Pilotos em Sistemas OFDM. Dissertação de Mestrado Rodrigo Pereira David Técnica de Estimação de Canal Utilizando Símbolos Pilotos em Sistemas OFDM Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau de Mestre pelo

Leia mais

UM MÉTODO PARA COMPARAÇÃO ENTRE HARDWARE E SOFTWARE DAS FUNÇÕES CRC-16 E FDCT SCHNEIDER, R. F. ¹, RAMOS, F. L. L.¹

UM MÉTODO PARA COMPARAÇÃO ENTRE HARDWARE E SOFTWARE DAS FUNÇÕES CRC-16 E FDCT SCHNEIDER, R. F. ¹, RAMOS, F. L. L.¹ UM MÉTODO PARA COMPARAÇÃO ENTRE HARDWARE E SOFTWARE DAS FUNÇÕES CRC-16 E FDCT SCHNEIDER, R. F. ¹, RAMOS, F. L. L.¹ ¹ ³ Universidade Federal do Pampa (UNIPAMPA) Bagé RS Brasil RESUMO A execução de funções

Leia mais

3 Redes Neurais Artificiais

3 Redes Neurais Artificiais 3 Redes Neurais Artificiais 3.1. Introdução A capacidade de implementar computacionalmente versões simplificadas de neurônios biológicos deu origem a uma subespecialidade da inteligência artificial, conhecida

Leia mais

Estatística e Modelos Probabilísticos - COE241

Estatística e Modelos Probabilísticos - COE241 Estatística e Modelos Probabilísticos - COE241 Aula passada Somas aleatórias Aula de hoje Introdução à simulação Geração de números aleatórios Lei dos Grandes Números Simulação de Sistemas Discretos É

Leia mais

EPUSP PCS 3335 Laboratório Digital A. Introdução ao VHDL

EPUSP PCS 3335 Laboratório Digital A. Introdução ao VHDL Introdução ao VHDL Versão 2016 RESUMO Esta experiência consiste no estudo de descrições VHDL e no projeto e implementação de um circuito digital simples. São apresentados aspectos básicos da linguagem

Leia mais

Linguagem de Maquina II. Visão Geral

Linguagem de Maquina II. Visão Geral Linguagem de Maquina II Visão Geral Revisão A linguagem de máquina é composta de seqüências binárias (1's e 0's) São interpretadas como instruções pelo hardware A linguagem de montagem e a linguagem de

Leia mais

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

! Introdução.  Motivação para Processos de Software. ! Processo Unificado (USDP)  Definições  RUP x USDP  Características do Processo Unificado Agenda Rodrigo Reis Cleidson de Souza! Introdução " Motivação para Processos de Software! (USDP) " Definições " RUP x USDP " Características do! Descrição detalhada do! Processos Derivados! Templates simplificados!

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Tópico 1 - Visão Geral da Engenharia de Software Sistemas Computacionais o Definição e conceitos básicos o Evolução do desenvolvimento Natureza do produto software Definição de Engenharia

Leia mais

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Processos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Objetivos Apresentar modelos de processos de software Descrever três modelos genéricos de processo e quando

Leia mais

Processamento de sinais digitais

Processamento de sinais digitais Processamento de sinais digitais Aula 2: Descrição discreta no tempo de sinais e sistemas [email protected] Tópicos Sequências discretas no tempo. Princípio da superposição para sistemas lineares.

Leia mais

Capítulo13 Arquiteturas de Dispositivos Lógicos Programáveis Pearson. Todos os direitos reservados.

Capítulo13 Arquiteturas de Dispositivos Lógicos Programáveis Pearson. Todos os direitos reservados. Capítulo13 Arquiteturas de Dispositivos Lógicos Programáveis slide 1 Temas abordados nesse capítulo: - Descrever as diferentes categorias de dispositivos de sistemas digitais. - Descrever os diferentes

Leia mais

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro Frequencímetro Versão 2014 RESUMO Esta experiência tem como objetivo a familiarização com duas classes de componentes: os contadores e os registradores. Para isto, serão apresentados alguns exemplos de

Leia mais

UMA HIERARQUIA DE MEMÓRIA PARA UM MODELO RTL DO PROCESSADOR RISC-V SINTETISÁVEL EM FPGA

UMA HIERARQUIA DE MEMÓRIA PARA UM MODELO RTL DO PROCESSADOR RISC-V SINTETISÁVEL EM FPGA UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO UMA HIERARQUIA DE MEMÓRIA PARA UM MODELO RTL DO PROCESSADOR RISC-V SINTETISÁVEL EM FPGA PROPOSTA DE TRABALHO

Leia mais

DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP. 10/03/2017 Prof. Alexandre - ELP1DLP1 / DEE

DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP. 10/03/2017 Prof. Alexandre - ELP1DLP1 / DEE DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP 1 Objetivos da Aula: Introdução à Linguagem VHDL Plano de Ensino Conteúdo Programático 3. Ferramentas de Desenvolvimento 3.4. Editor de texto (programação VHDL ou

Leia mais

6.Elaboração de algoritmos...13

6.Elaboração de algoritmos...13 Índice de conteúdos Capítulo 1. Computação Científica...1 1.Definição...1 2.Modelo genérico...2 3.Modelo matemático...2 4.Tipos de modelos matemáticos...3 5.Modelação matemática...5 5.1.Definição (formulação)

Leia mais

Processamento de sinais digitais

Processamento de sinais digitais Processamento de sinais digitais Aula 1: Filtros digitais [email protected] Tópicos Definição de um filtro digital Anatomia de um filtro digital Descrição no domínio da frequência de sinais e sistemas

Leia mais

Processos de software

Processos de software Processos de software 1 Processos de software Conjunto coerente de atividades para especificação, projeto, implementação e teste de sistemas de software. 2 Objetivos Introduzir modelos de processos de

Leia mais

Projetos de Circuitos Digitais em VHDL e FPGA

Projetos de Circuitos Digitais em VHDL e FPGA Projetos de Circuitos Digitais em VHDL e FPGA Cap. 1 - Dispositivos Lógicos Programáveis Prof. Erivelton Geraldo Nepomuceno Engenharia Elétrica UFSJ - Universidade Federal de São João del-rei 19 de fevereiro

Leia mais

EN3604 FILTRAGEM ADAPTATIVA

EN3604 FILTRAGEM ADAPTATIVA EN3604 FILTRAGEM ADAPTATIVA Introdução Filtros adaptativos, os quais têm como meta transformar os sinais portadores de informação em versões limpas ou melhoradas, ajustam suas características de acordo

Leia mais

Estatística e Modelos Probabilísticos - COE241

Estatística e Modelos Probabilísticos - COE241 Estatística e Modelos Probabilísticos - COE241 Aula passada Análise da dados através de gráficos Introdução a Simulação Aula de hoje Introdução à simulação Geração de números aleatórios Lei dos Grandes

Leia mais

Comparação de algoritmos adaptativos para cancelamento de eco acústico

Comparação de algoritmos adaptativos para cancelamento de eco acústico Comparação de algoritmos adaptativos para cancelamento de eco acústico Bruno C. Bispo e Sergio L. Netto Resumo Neste artigo são comparados diferentes algoritmos adaptativos para cancelamento de eco acústico.

Leia mais

Relatório Circuitos Lógicos. Calculadora 4 bits

Relatório Circuitos Lógicos. Calculadora 4 bits INSTITUTO FEDERAL DE SANTA CATARINA-IFSC CÂMPUS SÃO JOSÉ Relatório Circuitos Lógicos Calculadora 4 bits Marcelo Bittencourt do Nascimento Filho Sarom da Silva Torres SÃO JOSÉ, 2018 1. Introdução O presente

Leia mais

Lógica Matemática e Elementos de Lógica Digital (Representação analógica e digital)

Lógica Matemática e Elementos de Lógica Digital (Representação analógica e digital) Lógica Matemática e Elementos de Lógica Digital (Representação analógica e digital) Curso: Ciência da Computação Lívia Lopes Azevedo [email protected] Lógica Matemática e Elementos de Lógica Digital Circuitos

Leia mais

1. Introdução. 1.1.Objetivo

1. Introdução. 1.1.Objetivo 1. Introdução 1.1.Objetivo O objetivo desta dissertação é desenvolver um sistema de controle por aprendizado acelerado e Neuro-Fuzzy baseado em técnicas de inteligência computacional para sistemas servo-hidráulicos

Leia mais

AVALIAÇÃO DE CONVERSORES BOOST OPERANDO EM PARALELO EMPREGANDO A TÉCNICA INTERLEAVED E CONTROLADOS DIGITALMENTE

AVALIAÇÃO DE CONVERSORES BOOST OPERANDO EM PARALELO EMPREGANDO A TÉCNICA INTERLEAVED E CONTROLADOS DIGITALMENTE AVALIAÇÃO DE CONVERSORES BOOST OPERANDO EM PARALELO EMPREGANDO A TÉCNICA INTERLEAVED E CONTROLADOS DIGITALMENTE ANALISYS OF PARALLEL BOOST CONVERTERS THROUGH INTERLEAVED STRATEGY AND CONTROLLED DIGITALLY

Leia mais

Descrição do processo de Modelagem e Simulação em quatro etapas no ambiente AMESim

Descrição do processo de Modelagem e Simulação em quatro etapas no ambiente AMESim Descrição do processo de Modelagem e Simulação em quatro etapas no ambiente AMESim Similarmente a outros softwares de modelagem e simulação, a utilização do sistema AMESim está baseada em quatro etapas:

Leia mais

Paradigmas de Linguagens

Paradigmas de Linguagens Paradigmas de Linguagens Aula 1: Introdução e Conceitos Básicos Professora Sheila Cáceres O que é um paradigma??? Paradigmas de Linguagens - Sheila Cáceres 2 O que é um paradigma??? Paradigmas de Linguagens

Leia mais

DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP. 18/04/2016 Prof. Alexandre - ELP1DLP1 / DEE

DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP. 18/04/2016 Prof. Alexandre - ELP1DLP1 / DEE DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP 1 Objetivos da Aula: Introdução à Linguagem VHDL Plano de Ensino Conteúdo Programático 3. Ferramentas de Desenvolvimento 3.4. Editor de texto (programação VHDL ou

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Engenharia de requisitos Estabelece os serviços que o cliente requer de um sistema e as restrições sob as quais tal sistema operará e será desenvolvido. Tais serviços e restrições

Leia mais

Plano de trabalho. 1. Introdução:

Plano de trabalho. 1. Introdução: Plano de trabalho Aluno: Rafael Astuto Arouche Nunes Orientador: Márcio Portes de Albuquerque Título do Projeto: Construção de um Amplificador Lock-In utilizando DSPs Palavras-Chave: Amplificadores Lock-In,

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Criado: mar/2001 Atualizado: set/2005 Tópicos Definição de Requisitos Participantes Processo Documento de Requisitos (SRS) Evolução dos Requisitos 2 Referência I.Sommerville. Sw

Leia mais

LISTA DE EXERCÍCIOS #2 (BASEADO NO ENADE COMPUTAÇÃO)

LISTA DE EXERCÍCIOS #2 (BASEADO NO ENADE COMPUTAÇÃO) LISTA DE EXERCÍCIOS #2 (BASEADO NO ENADE 2005- COMPUTAÇÃO) 1) Apesar de todo o desenvolvimento, a construção de computadores e processadores continua, basicamente, seguindo a arquitetura clássica de von

Leia mais