Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Verilog

Основы Verilog: краткий обзор

Весь поведенческий код пишется внутри module и endmodule. Любой цифровой дизайн, который вы хотите создать, пойдёт внутрь блока module. Порты могут быть определены или нет — позволяют сигналам входить как input или выходить как output.

Модуль

Пустой модуль в примере называется testbench. Имя может быть любым (алфавитно-цифровое, может содержать _).

module testbench; endmodule

Другой модуль с сигналами d, clk, rstb как входы и q как выход.

module dff (input d, clk, rstb, output q); endmodule

Типы данных

В Verilog два основных типа данных:

reg удерживает значения как переменная, wire — аналог электрического провода, требующий непрерывного управления. Обычно wire соединяет модули и другие сигналы.

module testbench; reg d; reg rst_b; reg clk; wire q; endmodule

Присваивания

Три базовых блока Verilog:

always @ (condition)всегда выполняется, когда условие удовлетворено
initialвыполняется один раз в начале симуляции
assign LHS = RHSLHS обновляется при изменении RHS

Правила:

module testbench;
reg d; reg rst_b; reg clk; wire q;
initial begin d = 0; rst_b = 0; clk = 0; #100 $finish; end
always begin #10 clk = ~clk; end
endmodule

Обратите внимание:

Verilog

  1. Освоение Verilog: полное руководство по проектированию цифровых схем
  2. Освоение конкатенации в Verilog: практическое руководство
  3. Понимание назначений в Verilog: типы, синтаксис и лучшие практики
  4. Блокирующие и неблокирующие назначения в Verilog: ключевые различия
  5. Мастерство функций в Verilog для эффективного RTL дизайна
  6. Понимание задач (Tasks) в Verilog: отличия от функций, синтаксис и применение
  7. Иерархические ссылки в Verilog: область видимости и избежание коллизий имен
  8. Генератор тактового сигнала в Verilog: проектирование и реализация
  9. Мастерство математических функций Verilog для эффективного аппаратного дизайна
  10. Мастерство $timeformat в Verilog: точность и контроль отображения времени