Pergunta

Sou um desenvolvedor embarcado autodidata.Eu uso principalmente AVRs programados em C e ASM, mas já me envolvi com outros sistemas.Pretendo migrar para dispositivos mais complexos, como CPLDs e FPGAs, mas não tenho ideia por onde começar.Então, minhas perguntas e meia são:

  1. Você prefere VHDL ou Verilog e por quê?
  2. Qual é uma boa maneira para alguém sem experiência anterior em HDLs começar a aprender tal fera?
Foi útil?

Solução

Compre um kit inicial barato da Xilinx ou Altera (os dois grandes jogadores da FPGA). Um kit inicial do Xilinx Spartan3 custa US $ 200.

Pessoalmente, prefiro o VHDL. É fortemente digitado e possui recursos mais avançados que o Verilog. O VHDL é mais popular na Europa e Verilog está dominando nos EUA.

Compre um livro (por exemplo, Peter Ashendens, o Guia dos Designers para VHDL) e comece a simular seus designs em um simulador gratuito. ModelsIm do Mentor Graphis é bom e há versões gratuitas disponíveis (com velocidade de simulação aleijada).

Compõe algum projeto interessante (Mini CPU, VGA Graphics, Synthesizer) e comece a projetar. Sempre simule e verifique se o seu design funciona antes de colocar seu design no hardware ...

Se você não tem formação em eletrônicos digitais, compre um livro nesse assunto também.

Outras dicas

No dia em que trabalhei no ASIC Design, estava em Verilog. Em muitos casos, como designer, você não escolhe: as ferramentas de síntese da ASIC para um HDL custam uma quantia substancial de dinheiro, e as empresas compram apenas a cadeia de ferramentas completa para um idioma "abençoado". Meu empregador havia padronizado no Verilog, e foi isso que usamos.

As ferramentas de síntese do FPGA são substancialmente mais baratas, então você tem mais liberdade como designer da FPGA para escolher seu idioma e ferramentas favoritos.

Também existem simuladores verilog gratuitos disponíveis em Verilog.net.

Como @kris mencionou, uma placa inicial do FPGA também é um bom caminho a percorrer. Ter seu código Verilog acende um LED em uma placa é infinitamente mais satisfatório do que uma forma de onda do simulador na tela.

Verifique também OpenCores.org - Existem alguns artigos e muito código de código aberto no Verilog e no VHDL com o qual você pode aprender.

Até onde eu sei, o VHDL vs Verilog fica tão religioso quanto Ruby vs Python ou Java vs C#. Pessoas diferentes têm seus próprios favoritos.

Confira este site:http://www.fpga4fun.com/

Belos projetos simples usando ferramentas simples.Usei uma dessas placas há alguns anos para construir um pequeno sistema de exibição VGA para usar como quadro de avisos.

Olhando novamente o site estou pensando em adquirir uma placa Xylo-LM pois ela possui um processador ARM além de SDRAM e um Xilinx Spartan 3e.

Outra placa que usei antes foi a XPort 2 da Charmed Labs.Isso se conecta a um Gameboy Advance que é bem suportado por ferramentas de desenvolvimento de código aberto.

Confira:http://www.charmedlabs.com/index.php?option=com_virtuemart&page=shop.browse&category_id=6&Itemid=43

Uma coisa adicional a pensar é se você deve começar aprendendo um HDL, ou aprendendo lógica booleana, Karnaugh Maps, teorema de Demorgan, portões, implementando aritmética em portões, etc. É fácil escrever HDL não sintetizável se você não Tenha um modelo mental preciso de como será o hardware subjacente.

Este livro é a versão Verilog daquele que usei na graduação e fez um bom trabalho na minha opinião. Começa você com o material mencionado acima, bem como algumas informações básicas e básicas sobre a implementação de portões no nível do transistor, depois o apresenta em um HDL e você cria blocos de hardware estruturais e comportamentais progressivamente mais complexos. Sim, eu sei que é ímpio, assim como a maioria dos livros da faculdade, mas essa é uma daquelas coisas pelas quais as informações que pude encontrar online, pelo menos, foram lamentavelmente inadequadas.

Quando estiver pronto para escolher um HDL, recomendo sinceramente Verilog (tendo aprendido o VHDL primeiro). Sim, o VHDL já foi muito mais rico em recursos do que Verilog, mas as revisões posteriores do idioma (Verilog 2001, Verilog 2005, SystemVerilog, etc.) escolheram a maioria dos recursos interessantes, e há suporte para a cadeia de ferramentas muito mais robusto Para o Verilog e sua variante nos dias de hoje, além de ser a linguagem dominante em uso nos EUA (na minha experiência, o VHDL é usado apenas aqui ao lidar com blocos de extremo legado e em contextos acadêmicos, em parte devido ao suporte às ferramentas mencionadas anteriormente). Finalmente, depois de aprender o HDL, você tem uma linguagem de verificação de hardware (HVL) no SystemVerilog com a sintaxe estrita-supereset, economizando uma boa parte da curva de aprendizado. Não é assim para o VHDL, a meu conhecimento.

Altera e Xilinx têm simuladores construídos em seus conjuntos de ferramentas gratuitos. São versões limitadas das ferramentas muito populares do Menteror Modelsim. Eles cuidarão do tamanho dos designs que você provavelmente caberá em uma placa <$ 500 (EUA).

Para o HDL Choice Verilog, é C, como o VHDL é para ADA. Portanto, o Verilog é mais fácil de começar, mas você pode cometer erros com mais facilidade. Verifique seus avisos de simulação e compilação para evitar esses problemas.

Verilog é muito mais fácil de aprender e sintaxe mais simples. É também um idioma mais novo. Em segundo lugar, a maioria das pessoas usa Verilog. O VHDL possui muitos tipos de dados que oferecem uma curva de aprendizado. Depois de conhecer o Verilog, será mais fácil preencher a lacuna para o VHDL. Oh, e há também macros no Verilog, que são muito NEET. Eu inventei um idioma com ele. Finalmente, você poderá eventualmente poder fazer um design HW de linguagem mista. Comecei com o VHDL, depois aprendi Verilog e agora sou Pro Verilog.

Eu estava no mesmo barco que você está agora há um semestre. Meu livro preferido foi isto Primeiro, desde que falou sobre os FPGAs revisando a lógica digital. Ele também mostra comparações lado a lado do código VHDL e Verilog para que, em vez de escolher uma para a qual as pessoas possam pressioná-lo, você pode aprender o que você gosta estilisticamente.

Quanto a um FPGA, use Xilinx's ISE Webpack Para fazer sua programação (é grátis) e comece com FPGAs como o Basys2 FPGA Board. É um FPGA muito pequeno que deve iniciar você por um preço pequeno, mas tem a vantagem adicional de aprender o gerenciamento de recursos e memória muito cedo. Você pode usar o DiGilent Adepto (também gratuito) para facilitar a vida no upload do seu código "compilado" para a placa.

Boa sorte!

Antes de mergulhar no Verilog/VHDL ou comprar um kit FPGA Dev, recomendo participar de uma aula introdutória sobre design digital. Existem bons online OpenCourseware mit Aulas.

Boa sorte.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top