Verilog é uma linguagem de descrição de hardware (HDL). É uma linguagem usada para descrever um sistema digital, como um switch de rede, um microprocessador, uma memória ou um flip-flop. Podemos descrever qualquer hardware digital usando HDL em qualquer nível. Os projetos descritos em HDL são independentes de tecnologia, muito fáceis de projetar e depurar e normalmente são mais úteis que esquemas, especialmente para circuitos grandes.
O que é Verilog?
Verilog é uma LINGUAGEM DE DESCRIÇÃO DE HARDWARE (HDL), que é usada para descrever um sistema digital, como um switch de rede ou um microprocessador ou uma memória, um flip-flop.
Verilog foi desenvolvido para simplificar o processo e tornar o HDL mais robusto e flexível. Hoje, Verilog é o HDL mais popular usado e praticado em toda a indústria de semicondutores.
HDL foi desenvolvido para aprimorar o processo de projeto, permitindo que os engenheiros descrevam a funcionalidade desejada do hardware e permitam que as ferramentas de automação convertam esse comportamento em elementos reais de hardware, como portas combinacionais e lógica sequencial.
Verilog é como qualquer outra linguagem de descrição de hardware. Ele permite que os projetistas projetem os projetos na metodologia Bottom-up ou Top-down.
Níveis de abstração Verilog
Verilog suporta um design em vários níveis de abstração, como:
- Nível comportamental
- Nível de transferência de registro
- Nível do portão
Nível comportamental
O nível comportamental descreve um sistema por meio de algoritmos comportamentais concorrentes. Todo algoritmo é sequencial, o que significa que consiste em um conjunto de instruções executadas uma por uma. Funções, tarefas e blocos são os elementos principais. Não há consideração pela realização estrutural do projeto.
Nível de transferência de registro
Projetos que usam o Nível de Transferência de Registro especificam as características de um circuito usando operações e a transferência de dados entre os registros.
A definição moderna de código RTL é 'Qualquer código sintetizável é chamado de código RTL'.
Nível do portão
As características de um sistema são descritas por links lógicos e suas propriedades de temporização dentro do nível lógico. Todos os sinais são sinais discretos. Eles só podem ter valores lógicos definidos (`0', `1', `X', `Z`).
As operações utilizáveis são primitivas lógicas predefinidas (portas básicas). A modelagem em nível de porta pode não ser a ideia certa para projeto lógico. O código no nível do portão é gerado usando ferramentas como ferramentas de síntese, e sua netlist é usada para simulação no nível do portão e back-end.
História da Verilog
- A história da Verilog HDL remonta à década de 1980, quando uma empresa chamada Gateway Design Automation desenvolveu um simulador lógico, Verilog-XL, e uma linguagem de descrição de hardware.
- A Cadence Design Systems adquiriu a Gateway em 1989 e com ela os direitos da linguagem e do simulador. Em 1990, a Cadence colocou a linguagem em domínio público, com a intenção de que ela se tornasse uma linguagem padrão e não proprietária.
- O Verilog HDL é agora mantido por uma organização sem fins lucrativos, Accellera, formada a partir da fusão da Open Verilog International (OVI) e da VHDL International. A OVI teve a tarefa de levar a linguagem ao procedimento de padronização do IEEE.
- Em dezembro de 1995, Verilog HDL tornou-se IEEE Std. 1364-1995. Uma versão significativamente revisada foi publicada em 2001: IEEE Std. 1364-2001. Houve uma nova revisão em 2005, mas isso apenas adicionou algumas pequenas alterações.
- A Accellera também desenvolveu um novo padrão, SystemVerilog, que estende o Verilog.
- SystemVerilog tornou-se um padrão IEEE (1800-2005) em 2005.
Como o Verilog é útil?
Verilog cria um nível de abstração que ajuda a ocultar os detalhes de sua implementação e tecnologia.
Por exemplo, um projeto de flip-flop D exigiria o conhecimento de como os transistores precisam ser dispostos para obter um FF acionado por borda positiva e quais os tempos de subida, descida e CLK-Q necessários para travar o valor em um flop entre muitos outros detalhes orientados para a tecnologia.
A dissipação de energia, o tempo e a capacidade de acionar redes e outros flops também exigiriam uma compreensão mais completa das características físicas de um transistor.
O Verilog nos ajuda a focar no comportamento e deixar o resto para ser resolvido depois.
Pré-requisitos
Antes de aprender Verilog, você deve ter um conhecimento básico da linguagem VLSI Design.
- Você deve saber como funcionam os diagramas lógicos, álgebra booleana, portas lógicas, circuitos combinacionais e sequenciais, operadores, etc.
- Você deve conhecer os conceitos de análise de temporização estática, como tempo de configuração, tempo de espera, caminho crítico, limites na frequência do clock, etc.
- Noções básicas de ASIC e FPGA e conceitos de síntese e simulação.
Público
Nosso tutorial Verilog foi projetado para ajudar iniciantes, engenheiros de projeto e engenheiros de verificação que desejam aprender como modelar sistemas digitais no Verilog HDL para permitir a síntese automática. Ao final deste tutorial, você terá adquirido um nível intermediário de conhecimento em Verilog.
Problema
Garantimos que você não encontrará nenhum problema com o Tutorial Verilog. Mas se houver algum erro, poste a dúvida no formulário de contato.