Como projeto de curso, tenho que implementaralgoritmo em FPGA. Atualmente estou considerando algoritmos aritméticos e idéias como implementação de 4 operadores básicos para números de ponto flutuante vêm à mente. Como eu sou novo para esses tópicos eu ficaria grato se alguém sugere um algoritmo que vale a pena para a implementação.
Respostas:
0 para resposta № 1Sua pergunta é muito vaga e existem infinitos algoritmos que você poderia implementar. Algumas sugestões com diferentes níveis de dificuldade:
Muito fácil
- Controle de volume de áudio.
- Eco de áudio.
Tecnicamente, estes não são "úteis" para implementar em hardware, mas o material de áudio geralmente faz demonstrações impressionantes ao vivo. Mesmo que o algoritmo seja muito fácil.
Fácil
- Filtros FIR ou IIR (passa baixa, passa alta, passa banda, ...)
- CRC
- Soma de verificação
Esses algoritmos são implementados em hardwareA Hora. Eles são exemplos muito típicos. Ainda é muito fácil de implementar. Se você começar com o controle de volume de áudio ou eco, poderá adicionar filtros posteriormente para torná-lo um pouco mais avançado.
Médio / duro
- Vários algoritmos de criptografia, SHA, AES, ...
- FFT
- Compressão JPEG
Quanto aos algoritmos de ponto flutuante: Você normalmente nunca usaria matemática de ponto flutuante em um FPGA, a menos que seja absolutamente necessário. Todos os algoritmos que são possíveis com matemática de ponto fixo, devem ser implementados em matemática de ponto fixo. Você também nunca usaria a divisão em um FPGA, a menos que seja absolutamente necessário. É desejável substituir todas as divisões por multiplicações sempre que possível.