Языки описания аппаратуры (HDL)
  • формат djvu
  • размер 3,39 МБ
  • добавлен 1 апреля 2015 г.
Соловьев В.В. Основы языка проектирования цифровой аппаратуры Verilog
М.: Горячая линия - Телеком, 2014. — 206 с. — ISBN 978-5-9912-0353-1.
Рецензент: профессор, доктор технических наук А. А. Баркалов, профессор Факультета Электроники, Информатики и Телекоммуникации Зеленогурского Университета (Зелена Гура, Польша).
Рассмотрен популярный язык проектирования цифровой аппаратуры Verilog. В книге достаточно полно описаны основные синтаксические элементы и конструкции языка с точки зрения их практического использования. Каждая конструкция языка сопровождается примером. Изложение материала не привязано к определенной элементной базе или конкретному программному средству проектирования, поэтому материал книги может использоваться при разработке проектов как на заказных СБИС и БМК, так и на ПЛИС. Популярность языку Verilog придает простота синтаксиса, во многом совпадающего с языком программирования С, а также большие возможности при описании цифровых устройств и систем, как для синтеза, так и для моделирования, от уровня транзисторов до сложных иерархических структур. Язык Verilog предоставляет также возможности для своего расширения. Для этого служит механизм определения пользовательских примитивов UDP и язык программирования интерфейса PLI.
Для разработчиков цифровых устройств и систем самостоятельно изучающих язык Verilog, будет полезна преподавателям, аспирантам и студентам соответствующих специальностей вузов.
Введение
Предварительное знакомство с языком Verilog
История языка Verilog
Первый проект на языке Verilog
Описание проекта
Моделирование проекта
Базовые элементы языка Verilog
Ключевые слова
Идентификаторы
Белые знаки
Комментарии
Сигналы, сети, драйверы
Логические значения
Логическая мощность (сила) сигналов
Числа
Представление целых чисел
Представление действительных чисел
Параллелизм языка Verilog
Модули
Определение модулей
Элементы модулей
Объявления портов
Экземпляры модулей
Параметры
Неявная передача значений параметров
Массивы экземпляров модулей
Иерархия модулей и иерархия имен
Области иерархии и области действия имен
Примитивы и библиотечные модули
Где можно найти готовое решение
Примитивы языка Verilog
Примитивы, определяемые пользователем
Типы данных
Два класса типов данных
Сетевые типы данных
Значение сигнала сети
Типы данных переменные
Другие типы данных
Параметры
Локальные параметры
Параметры блока спецификации
Переменные генерации
Тип данных событие
Строки
Выбор битов и битовых полей
Выбор элементов массива и битовых полей элементов массива
Объявление памяти
Операции
Операции языка Verilog
Побитовые операции
Операции редукции
Логические операции
Операции отношения
Операции идентичности
Арифметические операции
Разносторонние операции
Выполнение операций
Приоритет операций
Размеры битовых выражений
Оператор непрерывного назначения assign
Присваивание значений в языке Verilog
Форматы оператора непрерывного назначения
Использование оператора непрерывного назначения
Процедурные операторы и блоки
Процедурные операторы initial и always, процедурные блок
Операторные скобки begin-and и fork-join
Именованные процедурные блоки
Формат процедурных блоков
Управление процедурным временем
Оператор задержки #
Оператор чувствительности @
Оператор ожидания wait
Список чувствительности
Список чувствительности в комбинационных схемах
Список чувствительности в последовательностных схемах
Операторы процедурного назначения
Общие положения
Оператор блокирующего назначения «=»
Формат
Управление временем
Внутренние задержки
Особенности синтеза
Оператор неблокирующего назначения « =»
Формат
Управление временем
Внутренние задержки
Особенности синтеза
Управление временем в процедурных операторах назначения во время моделирования
Процедурные операторы assign и deassign
Процедурные операторы force и release
Операторы процедурного программирования
Общие положения
Оператор if-else
Оператор case
Операторы casez и casex
Оператор for
Оператор while
Оператор repeat
Оператор forever
Оператор disable
Пример использования операторов процедурного программирования
Различие между операторами wait и while
Атрибуты
Атрибуты языка Verilog
Атрибут fulLcase
Атрибут paralleLcase
Блок генерации
Блоки генерации языка Verilog
Формат блока генерации
Операторы генерации
Группа элементов генерации
Оператор if-else
Оператор case
Оператор for
Задачи и функции
Задачи и функции языка Verilog
Автоматические и статические задачи и функции
Задачи
Функции
Константные функции
Сравнение функций и задач
Системные задачи и функции
Системные задачи и функции языка Verilog
Системные задачи для отображения текста
Системные задачи и функции для работы с файлами
Открытие и закрытие файлов
Вывод информации в файл
Другие функции работы с файлами
Другие системные задачи и функции
Управление процессом симуляции
Управление временем симуляции
Преобразование знаковых и беззнаковых величин
Запись и чтение в переменные и из строки символов
Загрузка содержимого памяти
Преобразование переменных типа real в 64-бито-вый вектор
Функции для работы с командной строкой
Директивы компилятора
Директивы компилятора языка Verilog
Возврат к умалчиваемым значениям директив компилятора
Определение значения единицы времени
Макроопределения
Директивы условной компиляции
Включение файлов
Определение умалчиваемого типа цепей
Определение логических значений для неподсоединенных входов
Определение пользовательских библиотек
Блоки спецификаций
Блоки спецификаций языка Verilog
Формат блоков спецификаций
Обнаружение путей импульсов (сбоев)
Проверки временных ограничений
Конфигурация проекта
Конфигурации
Конфигурационные блоки
Файлы карты библиотеки
Примеры конфигурации проекта
Исходное описание проекта
Использование конфигурации, заданной в файле карты библиотек
Использование оператора default
Использование оператора cell
Использование оператора instance
Использование иерархической конфигурации
Синтезируемые конструкции языка Verilog
Общие положения
Конструкции языка Verilog, поддерживаемые пакетом
Quartus II фирмы Altera
Заключение
Сgисок литературы
Список сокращений
Предметный указатель
Возможность скачивания данного файла заблокирована по требованию правообладателя.