- •Введение в логическое проектирование аппаратуры Аннотация к курсу
- •Лекция 1 «Схемы без памяти» Введение
- •Схемы из функциональных элементов
- •Представление схем на языке Verilog Общая информация о языке
- •Модули, пример “Hello World”
- •Синтезируемое подмножество языка
- •Логические значения и операции над ними
- •Многоразрядные константы
- •Операции над битовыми массивами
- •Инстанцирование модулей
- •Лекция 2 «Схемы с памятью» Введение
- •Непрерывное присваивание
- •Абстрактный автомат
- •Структурный автомат
- •Триггеры
- •Описание схем с памятью на языке Verilog
- •Моделирование памяти
- •Процедурное присваивание
- •Always-блоки
- •Управляющие конструкции
- •Лекция 3 «Примеры проектирования на языке Verilog»
- •Лекция 4 «Дискретно-событийное моделирование» Введение
- •Дискретно-событийное моделирование аппаратуры Основные понятия
- •Цикл работы симулятора
- •Дельта-задержка
- •Занятие 5: Контрольная работа
Схемы из функциональных элементов
Различают схемы без памяти (комбинационные схемы) и схемы с памятью (последовательные схемы). Одной из математических моделей комбинационных схем являются схемы из функциональных элементов (СФЭ). Другими моделями являются контактные схемы (C. Shannon, 1937) и двоичные решающие диаграммы (C. Lee, 1959). По сути, указанные формализмы являются разными способами представления функций алгебры логики (ФАЛ). Напомним определение СФЭ.
Определение. Базисом называется непустое множество функций алгебры логики.
Определение. Схемой из функциональных элементов (СФЭ) в базисе B называется размеченный ориентированный граф без циклов, в котором
вершины, являющиеся истоками, помечены символами переменных и называются входами (разным вершинам соответствуют разные переменные);
каждая вершина, в которую входит k 1 дуг, помечена функцией из базиса B, зависящей от k переменных (такие вершины называются функциональными элементами или вентилями);
некоторые вершины выделены как выходы (входные вершины могут быть и выходными).
Определение. Сложностью СФЭ называется число входящих в нее ФЭ.
Часто в качестве базиса используют {, , }. Соответствующие ФЭ называются дизъюнктором (вентиль ИЛИ), конъюнктором (вентиль И) и инвертором (вентиль НЕ). Графически вентили изображаются следующим образом (стандарт ANSI).
|
OR |
Дизъюнкция (ИЛИ) |
|
AND |
Конъюнкция (И) |
|
NOT |
Отрицание (НЕ) |
|
XOR |
Сумма по модулю 2 (исключающее ИЛИ) |
|
NOR |
Стрелка Пирса (НЕ-ИЛИ) |
|
NAND |
Штрих Шеффера (НЕ-И) |
|
XNOR |
Эквиваленция (исключающее ИЛИ-НЕ) |
Легко заметить, что для обозначения отрицания используется маленький кружок. Такие кружки можно рисовать не только на выходе вентиля, но и на его входах (если требуется инвертировать соответствующий входной сигнал).
Задание. Изобразить графически схемы, реализующие следующие функции:
1) мультиплексор 2-в-1 (if sel then out=in0 else out=in1);
2) мультиплексор 4-в-1.
Домашнее задание. Изобразить графически схемы, реализующие следующие функции:
1) демультиплексор 1-в-2 (if sel then out0=in else out1=in);
2) демультиплексор 1-в-4.
Представление схем на языке Verilog Общая информация о языке
Язык Verilog был создан Филом Мурби (Phil Moorby) в 1983-1984 гг. в фирме Automated Integrated Design Systems (с 1985 г. Gateway Design Automation) как язык описания аппаратуры. (В 1990 г. Gateway Design Automation была куплена Cadence Design Systems.) Verilog, как и VHDL, относится к классу языков известных как HDL (hardware description languages). Язык Verilog часто сравнивают с языком программирования C, а VHDL — с языком Ada, в виду сходства некоторых синтаксических конструкций. Язык стандартизован в IEEE (стандарты IEEE 1364—{1995,2001,2005}). Имеется объектно-ориентированное расширение SystemVerilog (по большому счету, это новый язык, для которого Verilog является подмножеством).
