132.10+Hardware


 * Introdução > Hardware > Software > Descrição do Projeto > Problemas e Soluções > Resultados > Instalação e Uso > Conclusão > Referências **

=2 Implementação=

2.1 Hardware
O projeto foi implementado num FPGA (//Field Programmable Gate Array//) Cyclone, modelo EP1C3T100, da Altera. Um FPGA é um //chip// digital que permite ao usuário controlar células lógicas (que realizam funções de portas lógicas) interconectadas que, em conjunto, permitem criar qualquer circuito digital.



Cada célula lógica possui uma //lookup table// (LUT), que é uma pequena memória de acesso aleatório com dezesseis endereços de um //bit// cada, responsável por executar qualquer função binária de quatro entradas e uma saída. O //flip-flop// //data// (D) é responsável pela sincronia do resultado da função com o //clock// do sistema, mas pode ser contornado à escolha do //designer// para criar lógica assíncrona.

Existem células de entrada e saída (IO), ligadas aos contatos do //chip// e às células lógicas, para interface com outros dispositivos.



Entre as células lógicas, há também blocos de memória RAM (//Random Access Memory//) que podem ser utilizados à vontade do //designer//.



O //chip// FPGA precisa ser reprogramado toda vez que é ligado à energia. Isto significa ter um //chip// de memória ROM (//Read-Only Memory//) externo conectado ao FPGA que suprirá as instruções de programação das células lógicas. Estas instruções são compiladas de uma linguagem de alto-nível -- neste caso, Verilog -- por um programa de computador. Para facilitar os repetidos testes inerentes ao desenvolvimento de um projeto, foi conveniente adquirir uma placa contendo todos estes componentes, além de uma interface USB (//Universal Serial Bus//) com o computador para a transferência das instruções. A placa escolhida foi a Saxo, que está disponível neste //site//: KNJN.com



O FPGA Cyclone EP1C3T100 possui 2910 células lógicas, 36 contatos de uso geral (e suas respectivas células IO) e cerca de 7 //kilobytes// de memória RAM nos blocos dedicados. A placa Saxo possui uma memória EEPROM (//Electrically-Erasable Programmable Read-Only Memory//) de 125 //kilobytes// e pode gerar //clocks// de frequência 12, 24 ou 48 MHz.