Введение в Verilog, Второй урок. Иерархия проекта.

Verilog HDL - это язык описания цифровых схем. Он используется для проектирования цифровых микросхем ASIC и загружаемой логики FPGA (Field Programmable Gate Array). В рускоязычных статьях часто вместо слова FPGA пишут ПЛИС - Программируемая Логическая Интегральная Схема. Мы научим вас программировать ПЛИС на языке Verilog за 5 уроков (а эта статья это уже второй урок):
- Часть 1. Базовые типы источников сигнала в языке Verilog HDL - это wire, reg, шины. Группирование логики в модули (module / endmodule). Входные и выходные сигналы модулей (input, output, inout).
- Часть 2. Простейшие модули AND, NAND, OR, NOR, XOR, XNOR, NOT. Установка экземпляров модулей и соединение их проводами. Иерархия модулей в языке описания аппаратуры Verilog HDL.
- Часть 3. Арифметические и логические действия в языке Verilog. Операторы сложения и вычитания (+ , -) , логический и арифметический сдвиг ( << , >> , >>> ), битовые операции ( & , | , ^, ~ ), булевые операции ( && , || , ! ), операторы редукции, условного выбора ( ? ) и сравнения.
- Часть 4. Поведенческие блоки. Конструкции always, if-else, case-endcase, циклы for(...).
- Часть 5. Синхронная логика и триггера в Verilog HDL. Блокирующее и не блокирующее присваивание.
Из первого урока мы уже знаем, что такое модуль.
В проекте, особенно сложном, бывает много модулей, соединенных между собой. Прежде всего, нужно заметить, что в проекте всегда есть один модуль самого верхнего уровня (top level). Он состоит из нескольких других модулей. Те в свою очередь могут содержать еще модули и так далее. Не обязательно, чтобы все модули были написаны на одном языке описания аппаратуры. Совсем наоборот. Довольно удобно и наглядно иметь модуль самого верхнего уровня выполненным в виде схемы, состоящей из модулей более низкого уровня. Эти модули могут быть написаны разными людьми, на разных языках (Verilog, VHDL, AHDL, и даже выполнены в виде схемы). На самом деле – это все дело вкуса и возможностей компилятора (синтезатора), а так же требований заказчика.



).
Подробнее...