Sou estudante de EE e posso escrever [pelo menos simples] programas em mais idiomas do que os meus dedos. Acabei de começar a aprender VHDL e estava pensando em qual seria um bom projeto para realmente conhecer o idioma e as ferramentas relevantes? Estou tendo problemas para criar um, porque é um estilo de programação realmente diferente para mim.
Eu criei coisas simples como adicionadores, mas estou procurando um projeto a mais longo prazo (ou seja, um mês ou mais).
Caso seja relevante, tenho o Xilinx Webpack e uma placa Digilent Spartan3.
Como você parece interessado em programação, você pode construir um microprocessador simples.
fonte
Você deve visitar o opencores.org e encontrar um projeto interessante lá. Você também pode baixar o Sigasi HDT , que o ajudará a acelerar a gramática VHDL.
fonte
Gostei de trabalhar com Hans em hardhack este ano no projeto Rekonstrukt para criar um sintetizador básico em um FPGA. Projetos de LED também são bons, mas não há nada como conectar o FPGA a um aparelho de som. Não está construindo a partir do zero, como faria um projeto de LED, porque o projeto é baseado em um processador de núcleo aberto que suporta. Então, no começo, você está aprendendo a carregar basicamente o FPGA com o projeto, para poder brincar com os envelopes em FORTH. Mas onde você começa a aprender mais sobre os elementos internos do FPGA é quando deseja adicionar funcionalidades, o que exige a inserção no VHDL.
fonte
Um projeto que eu gostei de fazer foi implementar o Milton Bradley Simon Game em um FPGA.
Na minha universidade, nossa turma da EDA usa o mesmo quadro que você mencionou. Alguns dos projetos implementados incluem:
Isso pode lhe dar algumas idéias.
Vou secundar a idéia do opencores.org e implementar seu próprio microprocessador. Como você possui um FPGA Xilinx, você também pode tentar fazer algo com microblaze ou picoblaze.
Editar: formatação.
fonte
Eu escrevi o código vhdl para o xilinx virtex core há algum tempo. foi uma implementação de despertador. Isto é o que eu fiz:
Enxaguado, repetido 1-3. Eu apontaria que a geração de fluxo de bits está praticamente integrada no IDE da Xilinx. Você só precisa ter um conjunto claro de lógica para implementar no HDL; todo o restante é feito pelo IDE.
fonte
O oscilador controlado numericamente seria divertido. Acabei de fazer um design com minha placa compatível com Arduino (consulte http://tinyurl.com/ydmz2su ), mas isso seria perfeito para um FPGA.
Aqui estão algumas referências de design.
Snell, John 1988 "Projeto de um oscilador digital que gerará até 256 ondas senoidais de baixa distorção em tempo real" Fundamentos da música por computador. Cambridge, Massachusetts: MIT Press
Moore, F. Richard 1988 "Ruído de pesquisa de tabela para osciladores digitais sinusoidais" Fundamentos da música por computador. Cambridge, Massachusetts: MIT Press
fonte
O que estou fazendo é fazer um pouco de CPU. É uma ótima maneira de cobrir todos os aspectos básicos.
Você abordará todos os conceitos básicos de um grande projeto em VHDL e será exposto a todos os tópicos principais do design de VHDL (relógios, entradas, saídas, lógica, barramentos e design seqüencial de forma mais proeminente), bem como muitos sistemas eletrônicos e de computadores principais. conceitos de design e arquitetura como registros, operações de dados, memória e aritmética do computador.
Você pode começar com apenas adição e subtração e, em seguida, adicionar mais funcionalidades à medida que for aprendendo, até chegar a um computador totalmente funcional (embora simples ... ou como eu prefiro chamá-lo de "retro"). Pelo menos, esse é o meu plano.
Além disso, ter seu próprio computador personalizado em um chip é simplesmente legal :) Como um Raspberry Pi de 16 bits: P
Outros projetos comuns de FPGA:
-Sintetizador de música
Gerador de efeitos -DSP
-MIDI controlador / interruptor
-Bitcoin miner
Emuladores de console de videogame
Escudos personalizados do Arduino
Processadores paralelos (muito úteis para certos problemas matemáticos nos quais os computadores convencionais não são bons)
-Robótica / sistemas de controle
- Aquisição de dados (poucos projetos de osciloscópios disponíveis para FPGAs, se você souber trabalhar com amplificadores operacionais)
O VHDL por si só não é terrivelmente complicado. A coisa mais importante a lembrar é que você está projetando um circuito digital eletrônico físico, não escrevendo um programa para um microcontrolador. Sua simulação não é um programa que será executado linha por linha, basicamente, portanto, não deixe a semelhança superficial com C enganar você, pois o VHDL é um paradigma muito diferente.
fonte