Linguagens de Descrição de Hardware (HDL)
Hoje em dia, o projeto de hardware quase não é mais feito com diagramas esquemáticos, mas com Linguagens de Descrição de Hardare (HDL1). Neste tutorial você vai aprender o básico de Verilog que é provavelmente e linguagem mais usada atualmente. Também serão usadas linguagens mais modernas, que posteriormente geram Verilog sintetizável.
Em Verilog há três formas diferentes de se especificar hardware, cada uma delas mais ou menos adequadas a determinadas necessidades ou nível de abstração. A seguir, vamos usar um exemplo simples - um multiplexador 2x1 - para ilustrar cada uma dessas formas.
always, que são avaliados em resposta a mudanças nas entradas.
Essa forma é muito útil para descrever circuitos sequenciais, onde o estado do circuito depende de eventos anteriores, como flip-flops e contadores. Ela também pode ser usada para descrever circuitos combinacionais, mas é mais comum em designs que envolvem lógica sequencial.
Warning
O importante é entender que todas essas formas são apenas diferentes maneiras de descrever o mesmo hardware. O Verilog sintetizável é aquele que pode ser convertido em um circuito físico por ferramentas de síntese, independentemente da forma usada para descrevê-lo. A escolha da forma depende do nível de abstração desejado e da clareza do código, mas é importante endender que nenhuma delas é um programa a ser executado, mas sim a descrição de um circuito a ser implementado em hardware.
Esta é apenas uma visão geral da linguagem, se você deseja aprender sua sintaxe e saber como usá-la para geração de circuitos típicos, veja este curso completo de Verilog. Aprenda também como usar algumas ferramentas para simulação de Verilog.
-
Hardware Description Language ↩