Введение
Глава 1 . Предварительное знакомство с языком Verilog
История языка Verilog
Первый проект на языке Verilog
Описание проекта
Моделирование проекта
Базовые элементы языка Verilog
Ключевые слова
Идентификаторы
Белые знаки
Комментарии
Сигналы, сети, драйверы
Логические значения
Логическая мощность (сила) сигналов
Числа
Представление целых чисел
Представление действительных чисел
Параллелизм языка Verilog
Глава 2 . Модули
Определение модулей
Элементы модулей
Объявления портов
Экземпляры модулей
Параметры
Неявная передача значений параметров
Массивы экземпляров модулей
Иерархия модулей и иерархия имен
Области иерархии и области действия имен
Глава 3 . Примитивы и библиотечные модули
Где можно найти готовое решение
Примитивы языка Verilog
Примитивы, определяемые пользователем
Глава 4 . Типы данных
Два класса типов данных
Сетевые типы данных
Значение сигнала сети
Типы данных переменные
Другие типы данных
Параметры
Локальные параметры
Параметры блока спецификации
Переменные генерации
Тип данных событие
Строки
Выбор битов и битовых полей
Выбор элементов массива и битовых полей элементов массива
Объявление памяти
Глава 5 . Операции
Операции языка Verilog
Побитовые операции
Операции редукции
Логические операции
Операции отношения
Операции идентичности
Арифметические операции
Разносторонние операции
Выполнение операций
Приоритет операций
Размеры битовых выражений
Глава 6 . Оператор непрерывного назначения assign
Присваивание значений в языке Verilog
Форматы оператора непрерывного назначения
Использование оператора непрерывного назначения
Глава 7 . Процедурные операторы и блоки
Процедурные операторы initial и always, процедурные блок
Операторные скобки begin-and и fork-join
Именованные процедурные блоки
Формат процедурных блоков
Глава 8 . Управление процедурным временем
Оператор задержки #
Оператор чувствительности @
Оператор ожидания wait
Список чувствительности
Список чувствительности в комбинационных схемах
Список чувствительности в последовательностных схемах
Глава 9 . Операторы процедурного назначения
Общие положения
Оператор блокирующего назначения «=»
Формат
Управление временем
Внутренние задержки
Особенности синтеза
Оператор неблокирующего назначения « =»
Формат
Управление временем
Внутренние задержки
Особенности синтеза
Управление временем в процедурных операторах назначения во время моделирования
Процедурные операторы assign и deassign
Процедурные операторы force и release
Глава 10 . Операторы процедурного программирования
Общие положения
Оператор if-else
Оператор case
Операторы casez и casex
Оператор for
Оператор while
Оператор repeat
Оператор forever
Оператор disable
Пример использования операторов процедурного программирования
Различие между операторами wait и while
Глава 11 . Атрибуты
Атрибуты языка Verilog
Атрибут fulLcase
Атрибут paralleLcase
Глава 12 . Блок генерации
Блоки генерации языка Verilog
Формат блока генерации
Операторы генерации
Группа элементов генерации
Оператор if-else
Оператор case
Оператор for
Глава 13 . Задачи и функции
Задачи и функции языка Verilog
Автоматические и статические задачи и функции
Задачи
Функции
Константные функции
Сравнение функций и задач
Глава 14 . Системные задачи и функции
Системные задачи и функции языка Verilog
Системные задачи для отображения текста
Системные задачи и функции для работы с файлами
Открытие и закрытие файлов
Вывод информации в файл
Другие функции работы с файлами
Другие системные задачи и функции
Управление процессом симуляции
Управление временем симуляции
Преобразование знаковых и беззнаковых величин
Запись и чтение в переменные и из строки символов
Загрузка содержимого памяти
Преобразование переменных типа real в 64-бито-вый вектор
Функции для работы с командной строкой
Глава 15 . Директивы компилятора
Директивы компилятора языка Verilog
Возврат к умалчиваемым значениям директив компилятора
Определение значения единицы времени
Макроопределения
Директивы условной компиляции
Включение файлов
Определение умалчиваемого типа цепей
Определение логических значений для неподсоединенных входов
Определение пользовательских библиотек
Глава 16 . Блоки спецификаций
Блоки спецификаций языка Verilog
Формат блоков спецификаций
Обнаружение путей импульсов (сбоев)
Проверки временных ограничений
Глава 17 . Конфигурация проекта
Конфигурации
Конфигурационные блоки
Файлы карты библиотеки
Примеры конфигурации проекта
Исходное описание проекта
Использование конфигурации, заданной в файле карты библиотек
Использование оператора default
Использование оператора cell
Использование оператора instance
Использование иерархической конфигурации
Глава 18 . Синтезируемые конструкции языка Verilog
Общие положения
Конструкции языка Verilog, поддерживаемые пакетом
Quartus II фирмы Altera
Заключение
Сgисок литературы
Список сокращений
Предметный указатель