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

Основы Verilog: проектирование вашего первого И-шлюза

Verilog — это язык описания аппаратуры (HDL), который позволяет инженерам моделировать, симулировать и синтезировать цифровую логику для ПЛИС и ASIC. Наряду со своим близким родственником VHDL, Verilog является индустриальным стандартом как для академических программ, так и для коммерческой разработки продуктов.

Если вы новичок в мире программируемой логики или кремниевого проектирования, это руководство проведет вас через основы Verilog и покажет, как построить простой И-шлюз — базовый элемент каждой цифровой системы.

В отличие от высокоуровневых языков программирования, таких как Java или C, Verilog описывает аппаратуру на уровне вентилей. Результат — код, который может быть непосредственно отображен в кремний, давая проектировщикам тонкий контроль над таймингом, мощностью и площадью.

Ниже приведена схема классического двухвходового И-шлюза, которую мы смоделируем в Verilog.

Основы Verilog: проектирование вашего первого И-шлюза

Давайте погрузимся в реализацию на Verilog.

В Verilog строительным блоком является wire. Для этого примера мы будем рассматривать wire как бинарный сигнал, который может быть только 0 или 1.

 wire and_temp; assign and_temp = input_1 & input_2; 

Первая строка объявляет wire с именем and_temp. Вторая строка присваивает ему результат логического И между input_1 и input_2. В Verilog амперсанд (&) — это булев оператор И.

Все сигналы, которые модуль выставляет наружу, перечислены в его заголовке module. Ключевое слово module вводит самодостаточный блок кода с определенными входами и выходами.

 module example_and_gate ( input_1, input_2, and_result ); input input_1; input input_2; output and_result; 

Наконец, мы соединяем внутренний сигнал and_temp с внешним выходом and_result и закрываем модуль.

 /////////////////////////////////////////////////////////////////////////////// // File Downloaded from https://www.nandland.com /////////////////////////////////////////////////////////////////////////////// module example_and_gate ( input_1, input_2, and_result ); input input_1; input input_2; output and_result; wire and_temp; assign and_temp = input_1 & input_2; assign and_result = and_temp; endmodule // example_and_gate 

Поздравляем — вы написали свой первый Verilog-модуль! Хотя синтаксис HDL может казаться многословным по сравнению с обычным программным обеспечением, он предлагает беспрецедентную точность для проектирования аппаратуры. С практикой вы сможете реализовать всё — от простых логических вентилей до полноценных графических конвейеров.

Verilog

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