Começar com Programação VHDL: desenhe o Seu Próprio Hardware

Divulgação: Seu apoio ajuda a manter o site funcionando! Nós ganhamos uma taxa de referência para alguns dos serviços que recomendamos nesta página. Saiba mais

VHDL é uma linguagem de descrição de hardware(HDL). Um HDL se parece um pouco com uma linguagem de programação, mas tem um propósito diferente. Ao invés de ser usado para projetar software, um HDL é usado para definir um chip de computador. VHDL pode ser usado para descrever qualquer tipo de circuito e é frequentemente usado no projeto, simulação e teste de processadores, CPUs, Placas-mãe, FPGAs, ASICs, e muitos outros tipos de circuito digital.

história VHDL

o nome VHDL é um acrónimo aninhado. Significa Linguagem de descrição de Hardware VHSIC. VHSIC significa circuito integrado de alta velocidade. Além de ser uma descrição de um processador rápido, era o nome de um programa de Governo dos EUA na década de 1980, cuja missão era a pesquisa e desenvolvimento no campo de circuitos integrados de alta velocidade (chips de computador rápidos).

junto com grandes avanços na ciência dos materiais, algoritmos, design de chips, litografia, e uma dúzia de outros campos relacionados, VHSIC desenvolveu VHDL.

o primeiro padrão oficial para a língua veio do IEEE em 1987, e é conhecido como IEEE 1076. Tem havido várias edições desde então, a última chegando em 2008. In addition to the “core” language specified in 1076, there are a number of extensions codified in other specs:

  • IEEE 1076.1 VHDL Analog and Mixed-Signal (VHDL-AMS)
  • IEEE 1076.1.1 VHDL-AMS Standard Packages (stdpkgs)
  • IEEE 1076.2 VHDL Math Package
  • IEEE 1076.3 VHDL Synthesis Package (vhdlsynth)
  • IEEE 1076.3 VHDL Synthesis Package – Floating Point (fphdl)
  • IEEE 1076.4 Timing (VHDL Initiative Towards ASIC Libraries: vital)
  • IEEE 1076.6 interoperabilidade da síntese VHDL
  • IEEE 1164 VHDL Multivalue Logic (std_logic_1164) pacotes

VHDL Design and Syntax

VHDL was based on Ada, and borrowed from it extensively in both syntax and concepts. Isto foi então complementado com conceitos específicos de hardware como lógica multi-valorada, paralelismo físico, e um conjunto estendido de operadores booleanos. VHDL também pode indexar arrays em ordem ascendente e descendente, enquanto Ada (e a maioria das outras linguagens de programação também) apenas indexa em ordem ascendente.

a maioria das linguagens de programação são, no fundo, processuais — o computador executa um comando após outro em sequência. VHDL é diferente. É uma linguagem de hardware que descreve uma estrutura física (real ou simulada). Essa estrutura é composta por um grande número de módulos, e cada módulo atua ao mesmo tempo que qualquer outro módulo.

assim, dentro de cada módulo há um fluxo processual de instruções que se parece um pouco com um pequeno programa de software auto-contido — com variáveis, fluxos de controle, condicionamentos, loops. Cada módulo tem uma ou mais entradas, juntamente com uma ou mais saídas. As entradas são especificadas dentro de uma estrutura chamada de entidade, e a lógica auto-contida é definida em uma arquitetura.

considere a ideia de um” And gate ” onde temos duas entradas e uma saída. Se ambas as entradas são ” on “(verdadeiro, 1), então a saída é” on”; caso contrário, a saída é “off”.”Então usando VHDL, nós definiríamos duas entradas e uma saída. Os valores aceitos dessas entradas e Saídas seriam definidos em um módulo std_logic, que é importado como uma biblioteca em uma linguagem de programação regular. A arquitetura definiria então o funcionamento interno do nosso” e do portal ” para que funcionasse como acabamos de discutir.

o módulo std_logic é um interessante tipo específico de hardware de valor. Ele é semelhante ao valor BOOLEANO presente em linguagens de programação (um pouco: verdadeiro ou falso), mas ele pode ter um intervalo de valores, pois representa um real impulso elétrico em um sistema físico:

  • U: não inicializada. Este sinal ainda não foi definido.
  • X: desconhecido. Impossível determinar este valor / resultado.
  • 0: lógica 0
  • 1: lógica 1
  • Z: elevada Impedância
  • W: sinal fraco, não sei se deve ser 0 ou 1.
  • L: sinal fraco que provavelmente deveria ir para 0
  • H: sinal fraco que provavelmente deveria ir para 1
  • -: não quero saber.

isto é, em miniatura, como um projeto VHDL completo é construído. Bastante simples, logicamente, módulos auto-contidos de atividade I / O são construídos e conectados uns aos outros para formar máquinas computacionais capazes de executar diferentes tipos de Tarefas. Um projeto VHDL poderia descrever um computador de uso geral totalmente funcional, ou poderia codificar um único algoritmo, como a prova de Força bruta de trabalho usado para mineração de Bitcoins.

é importante perceber que um projeto VHDL não é um programa — ele não é executado ou executado. Como uma planta, define uma arquitectura. Uma vez que um projeto é concluído, ele é normalmente simulado para testes em uma bancada de teste de software, e então sintetizado, o que significa que ele é traduzido em um projeto físico que pode ser implementado em um chip ou placa de circuito real.

recursos para a aprendizagem VHDL

existem muitos recursos para a aprendizagem VHDL. Reunimos alguns dos melhores.

recursos Online

  • VHDL Primer: a tutorial on VHDL from the University of Pennsylvania.
  • VHDL on Wikipedia: Wikipedia’s coverage of VHDL is surprising in-depth and lucid, providing a great introduction to the language as a whole.
  • VHDL Cookbook: a free, online book, the length and format of a college course textbook.Tutorial
  • VHDL: aprender por exemplo: este venerável tutorial não é nada agradável de se olhar, mas a informação é grande e muito bem organizada.
  • VHDL Language Guide: This is a PDF that covers the language in immense detail (400 pages) with in-document links for very easy navigation. Esta é uma grande referência.
  • Guide to VHDL: a collection of resources, tutorials, and links. Inclui vídeos e um curso de certificação online.
  • Programmable Logic/VHDL Module Structure
  • VHDL Basics — Online Course
  • VHDL Handbook
  • VHDL Starters Guide

Books

All these books focus on VHDL:

  • The Designer’s Guide to VHDL, Third Edition
  • Circuit Design and Simulation with VHDL
  • Vhdl By Example
  • VHDL: Basics to Programming
  • VHDL for Engineers
  • VHDL By Example: Fundamentals of Digital Design
  • Circuit Design with VHDL
  • Digital Design Using VHDL: A Systems Approach

VHDL & Verilog Books

VHDL’s main “competition” is Verilog. Ambas as linguagens são usadas para o design de hardware, por isso há uma série de livros que se concentram no design subjacente e conceitos de engenharia e usam tanto VHDL e Verilog.

  • Digital Design with RTL Design, VHDL, and Verilog
  • Hdl Chip Design: A Practical Guide for Design, Synthesizing & Simulating Asics & Fpgas Using Vhdl or Verilog
  • Design Recipes for FPGAs, Second Edition: Using Verilog and VHDL
  • HDL Programming Fundamentals: VHDL e Verilog

Outros Importantes VHDL Links

Implementações e Simuladores

  • Free / Open Source
    • GHDL
    • NVC
    • Free Projeto HDL
  • Comercial / Proprietário
    • VHDL Simili
    • Active-HDL
    • Incisiva Empresa Simulador
    • ModelSim

Ferramentas

  • EDA Utils: uma grande coleção de utilitários para trabalhar com VHDL, bem como Verilog e outros HDLs.
  • Eda Playground: uma caixa de areia online para testar modelos VHDL.
  • Editor de Pacotes
    • Emacs VHDL Modo
    • VHDL plugin do vim
    • VHDL Pacote para o Sublime Text
    • VHDL para o Átomo
    • VHDL para o bloco de notas++

Você Também Deve Saber…

VHDL é uma das duas principais linguagens de descrição de hardware. O outro é Verilog. A maioria dos designers de hardware estão familiarizados com ambos, bem como as linguagens de baixo nível do sistema operacional como Cand c++.

Deixe uma resposta

O seu endereço de email não será publicado.