Estudo de circuitos aritméticos e implementação em Dispositivos Lógicos Programáveis - RESUMO ESTENDIDO - MediaWiki do Campus São José
Estudo de circuitos aritméticos e implementação em Dispositivos Lógicos Programáveis - RESUMO ESTENDIDO
Estudo de circuitos aritméticos e implementação em Dispositivos Lógicos Programáveis
Autor: Kamila Rose da Silva¹
Orientador: Marcos Moecke¹
¹Instituto Federal de Santa Catarina (IFSC), São José – SC
kamilasilvar@gmail.com, moecke@ifsc.edu.br
O sistema de numeração binário e a aritmética binária são fundamentais para a realização e implementação de sistemas que envolvem processamentos de sinais digitais. Através deles foi possível o desenvolvimento dos computadores digitais que conhecemos, estes possuem uma unidade de processamento central (CPU) que realiza seus cálculos em alta velocidade e precisão na seção de unidades lógica arimética (ULA). Muitos microcontroladores e microprocessadores também baseiam-se na aritmética binária por meio do uso de instruções (TOKHEIM). Outro importante elemento no qual utiliza-se a prática da aritmética binária é na implementação de filtros digitais, frequentemente usado em sistemas de telecomunicações.
Na aritmética binária existem as operações de soma, subtração, multiplicação e divisão, as quais são semelhantes a aritmética decimal, utilizando apenas dois dígitos para representar as quantidades. Para números inteiros as representações numéricas podem ser realizadas com ou sem sinal, enquanto que, no caso de números reais é possível representá-los como ponto fixo ou em ponto flutuante. Exitem também diversos tipos de circuitos lógicos combinacionais aritméticos que implementam funções aritméticas, como por exemplo, circuitos somadores, subtratores, multiplicadores e divisores que são comumente adotados em práticas que envolvem a implementação em hardware.
Para o desenvolvimento das aplicações que constituem os sistemas de telecomunicações, foi primordial o melhoramento das técnicas de execução em hardware. Para isso, empresas que atuam na área da lógica combinacional passaram a fazer o uso de DLPs (Programmable Logic Devices) para a realização de seus projetos. Estes dispositivos possuem melhor desempenho, maior velocidade de execução e menor custo se comparado a outras tecnologias, além de promoverem maior facilidade de manutenção e possibilitar a reconfiguração do hardware. A principal característica de um dispositivo DLP é pode ser configurado conforme as necessidades e especificações particulares de cada projeto, o que proporciona um aumento na flexibilidade na implementação dos mesmos (PEDRONI). Os DLPs tem despertado o interesse do ramo industrial e também na área da pesquisa, devido a maior velocidade de operação se comparado a implementação do mesmo sistema em software. Diversos estudos tem sido feitos com a tecnologia DLP propondo melhorias no hardware de unidades de aritméticas. Apesar disto, o interesse pelo tema dos graduandos do curso CST em Sistemas de Telecomunicações por esta área de conhecimento é baixo.
A presente proposta tem como objetivo principal o estudo de circuitos aritméticos implementados em dispositivos lógicos programáveis (DLPs). Existem diversos tipos de DLPs que tornaram-se mais robustos e complexos conforme o avanço da tecnologia. Os FPGAs (Field Programmable Gate Array) dispositivos que serão utilizados neste trabalho, possuem diferenças notáveis se comparado a outros tipos de dispositivos, por sua arquitetura (são compostos por CLBs - configurable logic blocks), tecnologia, tamanho, desempenho e custo. Para a programação do FPGA tem-se disponível alguns tipos de linguagens de descrição de hardware que permitem que o circuito seja simulado antes de ser implementado fisicamente. As mais difundidas são o Verilog (Hardware Description Language - HDL), o VHDL (Very High Speed Integrated Circuits Hardware Description Language) e a entrada do circuito via diagrama esquemático. No nosso estudo pretende-se avaliar o desempenho da descrição em hardware de soma e subtração (utilizando a representação de números em complemento de dois). Especificamente essa proposta visa avaliar a possibilidade de aprimoramento dos seguintes quesitos: 1) Hardware necessário para a implementação; 2)Velocidade de operação; 3) Versatilidade para tornar o hardware configurável (Modularidade); 4) Variações dos tipos de entrada do projeto de hardware.
Para isto, os circuitos serão inseridos no software de programação em hardware através do código em VHDL e/ou diagrama esquemático. Após a simulação e compilação final do projeto serão realizadas as avaliações de desempenho. O ambiente de programação em hardware que será utilizado, permite a realização de diversas análises, entre as quais: número de elementos lógicos utilizados na implementação do circuito projetado; porcentagem de área ocupada no FPGA alvo, entre outros. Para o teste da versatilidade e configurabilidade dos circuitos aritméticos será avaliada a possibilidade de alterar a quantidade de bits do circuito. Neste caso, avaliaremos as diferentes técnicas de implementar somadores grandes.
Para fins de avaliação de uma aplicação prática, ao final do estudo será implementado um filtro FIR (Finite Impulse Response), que é um exemplo de aplicação muito usado na área de Telecomunicações. Neste exemplo será possível realizar testes e comparações de desempenho da aplicação simultânea de diferentes circuitos aritméticos em um único sistema de hardware.
PEDRONI, Volnei A. Eletrônica Digital Moderna e VHDL: Princípios Digitais, Eletrônica Digital, Projeto Digital, Microeletrônica e VHDL. 1 ed. [S.l.]:Elsevier, 2010. 648 p. ISBN 978-8535234657.
TOKHEIM, Roger. Fundamentos de Eletrônica Digital: Sistemas Sequenciais - volume 2. 7 ed. [S.l]:AMGH, 2013. 255 p. ISBN 978-85-8055-194-5.
Disponível em "https://wiki.sj.ifsc.edu.br/index.php?title=Estudo_de_circuitos_aritméticos_e_implementação_em_Dispositivos_Lógicos_Programáveis_-_RESUMO_ESTENDIDO&oldid=115851"