Что такое Verilog
Часть раздела Основы путешествия по Verilog на Coddy. Урок 1 из 90.
Verilog — это язык описания аппаратуры (HDL), используемый для моделирования, проектирования и симуляции цифровых электронных схем — от простых логических вентилей до сложных процессоров.
В отличие от языков программирования, которые выполняются последовательно на CPU, Verilog описывает аппаратное обеспечение, работающее параллельно. Это отраслевой стандарт для проектирования FPGA и ASIC, используемый в таких инструментах, как ModelSim, Vivado и Quartus.
В этом курсе вы изучите Verilog с нуля: начнёте с базового вывода результатов симуляции, затем будете создавать комбинационные и последовательностные схемы и в итоге проектировать настоящие модули, такие как счётчики, регистры сдвига и интерфейсы UART.
Задание
ЛегкоДобро пожаловать в вашу первую программу на Verilog! Код уже написан за вас.
Что делать:
- Посмотрите на код. Он использует
$displayдля вывода текста, подобноprintfв C - Нажмите Запустить код, чтобы скомпилировать и смоделировать его
- В выводе вы должны увидеть
Hello World!
Примечание: Каждая программа на Verilog выполняется внутри module. Блок initial запускается один раз в начале симуляции, а $finish завершает её.
Попробуйте сами
module main;
initial begin
$display("Hello World!");
$finish;
end
endmoduleВсе уроки раздела Основы
1Введение
Что такое VerilogАппаратное и программное обеспечениеВаш первый модульКомментарииУровни абстракции проектирования4Операторы. Часть 1
Арифметические операторыОператор взятия остаткаОператоры сравненияПовторение — простая математикаПобитовые операторы7Присваивание и логические элементы
Непрерывное присваиваниеПрисваивание с операторамиВстроенные примитивы логических элементовЭлементы И, ИЛИ и НЕЭлементы XOR и XNORПовторение — схема на логических элементах10Принятие решений
Оператор ifif—elseПовторение — простой компараторОператор casecaseх и casezПовторение — проектирование ALU5Операторы, часть 2
Логические операторыОператоры свёрткиОператоры сдвигаОператор конкатенацииУсловный операторПовторение — задание на операторы11Циклы
Цикл forЦикл whileЦикл повторенияБесконечный циклОператор отключенияПовторение — шаблоны циклов3Система счисления
Двоичное представлениеЧисла заданной разрядностиЧисла без указания разрядностиОтрицательные числаСпециальные значения X и ZПовторение — форматы чисел6Модули
Структура модуляВходные и выходные портыДвунаправленные портыСоздание экземпляра модуляПодключение портов по имениПодключение портов по порядкуПовторение — создание модуля9Процедурные блоки
Блок AlwaysБлок InitialСписок чувствительностиБлокирующее присваиваниеНеблокирующее присваиваниеПовторение: Always и InitialПотренируйтесь самостоятельно: Онлайн-компилятор Verilog