Цифровой синтез: практический курс

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Author(s): Романов А. Ю. , Панчул Ю. В.
Edition: 1
Publisher: ДМК Пресс
Year: 2020

Language: Russian
Pages: 556
City: Москва
Tags: asic fpga verilog altera intel

Digital synthesis rev10.pdf
1.1. Краткие теоретические сведения
1.2 Использование схемотехнического редактора
1.2.1 Установка пакета Quartus Prime
1.2.2 Создание проекта в схемотехническом редакторе
1.2.3 Создание файла в схемотехническом редакторе
1.2.4 Использование схемотехнического редактора (Schematic editor)
1.2.5 Разработка более сложной схемы
1.3 Компиляция проекта
1.3.1 Использование RTL Viewer
1.4 Назначение выводов. Компиляция проекта
1.5 Конфигурирование ПЛИС
1.6  Разработка схемы с использованием языка описания аппаратуры. Симуляция
1.6.1 Загрузка и установка ModelSim Starter Edition
1.6.2 Загрузка и установка пакетов Icarus Verilog и GTK Wave
1.7 HDL-модуль и его описание
1.8 Тестбенч и его описание
1.8.1 Симуляция с использованием ModelSim
1.8.2 Симуляция с использованием Icarus Verilog и GTK Wave
1.9  Создание описания схемы на языке Verilog HDL.Синтез схемы
1.10 Упражнения
1.10.1 Основное задание
1.10.2 Контрольные вопросы
2.1 Последовательностные элементы
2.1.1 Асинхронный RS-триггер
2.1.2 D-защелка
2.1.3 D-триггер
2.1.4 JK-триггер
2.1.5 Т-триггер
2.2  Реализация последовательностной логики на языке Verilog
2.2.1 Реализация D-защелки с использованием языка Verilog
2.2.2 Реализация D-триггера с использованием языка Verilog
2.2.3 Реализация JK-триггера с помощью языка Verilog
2.3 Синхронный и асинхронный сбросы
2.3.1 D-триггер с синхронным сбросом
2.3.2 D-триггер с асинхронным сбросом
2.3.3 Преимущества и недостатки синхронного и асинхронного сброса
2.3.4 Активируемый триггер
2.3.5 Параметризированный триггер
2.4 Энергопотребление цифровых устройств
2.4.1 Общие сведения
2.4.2 Разработка структуры устройства с учетом энергопотребления
2.5 Упражнения
2.5.1 Основное задание
2.5.2 Контрольные вопросы
3.1 Шифраторы
3.2 Описание шифраторов на языке Verilog
3.2.1  Неприоритетный шифратор на основе оператора непрерывного присваивания assign
3.2.2  Неприоритетный шифратор, реализованный с помощью операторов if
3.2.3  Неприоритетный шифратор, реализованный с помощью оператора case
3.2.4  Приоритетный шифратор, реализованный с помощью операторов if
3.2.5 Приоритетный шифратор с использованием оператора assign
3.2.6 Параметрический шифратор
3.2.7 Изучение временны́х характеристик цифровых устройств
3.3 Дешифраторы
3.3.1 Дешифратор с использованием оператора case
3.3.2 Дешифратор с использованием оператора сдвига
3.3.3  Дешифратор с использованием оператора непрерывного присваивания assign
3.3.4 Дешифратор для учебного MIPS-совместимого процессора
3.3.5 Параметрический дешифратор
3.3.6 Сравнение дешифраторов
3.4 Оптимизация при синтезе
3.4.1 Режимы оптимизации
3.5 Упражнения
3.5.1 Основное задание
3.5.2 Задания для самостоятельной работы
3.5.3 Контрольные вопросы
4.1 Проектирование мультиплексоров
4.1.1 Однобитный мультиплексор 2в1
4.1.2 Двухбитный мультиплексор 2в1
4.1.3 Двухбитный мультиплексор 4в1
4.1.4 Иерархический подход при проектировании цифровых систем
4.1.5 Неполный мультиплексор 3в1
4.1.6 Разработка логических функций на мультиплексорах
4.2 Демультиплексор
4.3 Селектор
4.4  Полностью параметризированный мультиплексор и селектор. Конструкция generate
4.5  Некоторые хитрости при создании селекторов и мультиплексоров
4.5.1 Селектор, созданный на логических элементах И и ИЛИ
4.5.2 Распределенный селектор
4.5.3  Пример использования распределенного мультиплексора «из жизни»
4.6 Упражнения
4.6.1 Основное задание
4.6.2 Задания для самостоятельной работы
4.6.3 Контрольные вопросы
5.1  Арифметические комбинационные блоки: сумматор, компаратор, устройство сдвига и АЛУ
5.1.1 Сумматор
5.1.2 Сумматор с синхронизированными входами и выходами
5.1.3 Компаратор
5.1.4 Устройство сдвига
5.1.5 Арифметико-логическое устройство
5.2  Полусумматор, полный сумматор, перенос, каскадное соединение сумматоров
5.2.1 Полусумматор
5.2.2 Полный сумматор
5.2.3 Перенос, каскадное соединение сумматоров
5.3  Повышение скорости арифметических операций на примере сумматоров разных типов
5.3.1 Построение сумматора с ускоренным групповым переносом
5.3.2  Последовательное соединение сумматоров с ускоренным групповым переносом
5.3.3  Двухуровневая реализация сумматора с ускоренным групповым переносом
5.3.4 Префиксный сумматор
5.4 Упражнения
5.4.1 Основное задание
5.4.2 Задания для самостоятельной работы
5.4.3 Контрольные вопросы
6.1 Последовательностные устройства
6.1.1 Модель Хаффмана для последовательностных устройств
6.2 Последовательностные присвоения
6.2.1 Блокирующие и неблокирующие присвоения
6.2.2 Порядок присвоений
6.2.3 Сравнение двух типов присвоения
6.3 Циклы симуляции
6.4 Порядок правильного использования блокирующих и неблокирующих присвоений
6.4.1 Защелки (latch) и почему их рекомендуется избегать
6.4.2 Комбинационная и последовательностная логика
6.5 Счетчики
6.5.1 Простой счетчик с асинхронным сбросом
6.5.2 Счетчик с предустановкой
6.5.3 Счетчик с управляемым направлением счета
6.5.4 Делитель частоты
6.5.5 Широтно-импульсная модуляция
6.5.6 Счетчик Грея
6.6 Сдвиговые регистры
6.6.1 Сдвиговый регистр с сигналом разрешения
6.6.2 Регистр сдвига с линейной обратной связью
6.6.3. Циклический избыточный код
6.7  Примеры организации взаимодействия цифровых систем с простыми периферийными модулями
6.7.1 Матрица светодиодов
6.7.2 Пьезоэлектрический излучатель
6.7.3 Ультразвуковой дальномер
6.8 Упражнения
6.8.1 Основное задание
6.8.2 Задания для самостоятельной работы
6.8.3 Контрольные вопросы
6.8.4 Приложение к главе
7.1 Полупроводниковые устройства памяти
7.2 Двухпортовая память
7.3  Иерархия памяти в компьютере. Память в микросхемах ПЛИС
7.4 Регистровый файл
7.5 Реализация ПЗУ с помощью таблицы перекодировки
7.6 Однопортовая память
7.7 Однопортовое ПЗУ
7.8 Двухпортовая память
7.9 Простой стек (LIFO)
7.9.1 Краткие сведения об организации стека
7.9.2 Реализация стека с помощью сдвигового регистра
7.9.3 Реализация стека с помощью сдвига указателя
7.10 Очередь (FIFO)
7.11 Встроенная память микросхем ASIC
7.12 Упражнения
7.12.1 Основное задание
7.12.2 Задания для самостоятельной работы
7.12.3 Контрольные вопросы
7.12.4 Темы для индивидуальной работы
8.1 Конечные автоматы
8.2 Описание конечного автомата на языке Verilog
8.2.1 Описание выходной логики конечного автомата
8.3 Описание конечного автомата Мура на языке Verilog
8.3.1 Создание и компиляция проекта
8.3.2 Моделирование конечного автомата Мура в ModelSim
8.3.3 Автомат Мура с регистровыми выходами
8.3.4 Создание и компиляция проекта
8.4 Описание конечного автомата Мили на языке Verilog
8.4.1 Создание и компиляция проекта
8.4.2 Моделирование конечного автомата Мили в ModelSim
8.5 Упражнения
8.5.1 Основное задание
8.5.2 Задания для самостоятельной работы
8.5.3 Контрольные вопросы
8.5.4 Темы для индивидуальной работы
9.1  Конечные автоматы для связи с периферийными устройствами
9.1.1 Конечный автомат
9.1.2 Последовательный периферийный интерфейс SPI
9.2 Оборудование и исходный код
9.2.1 Датчик освещенности
9.2.2 Подключение периферийного устройства
9.2.3 Подключение датчика
9.2.4 Симуляционная модель периферийного устройства
9.2.5 Порядок проведения симуляции, синтеза и запуска проекта
9.3 Проектирование конечного автомата
9.3.1 Академический подход
9.3.2 Реализация конечного автомата
9.3.3 Задержка выходных сигналов автомата
9.3.4 Автомат на основе счетчика
9.4 Упражнения
9.4.1 Основное задание
9.4.2 Задания для самостоятельной работы
9.4.3 Контрольные вопросы
10.1  Концепция конвейерной обработки как основы проектирования высокопроизводительных цифровых схем
10.1.1 Конвейерные идеализмы
10.1.2 Одинаковая задержка стадий
10.1.3 Унифицированные типы запросов
10.1.4 Независимость запросов
10.1.5 Планирование вычислительной нагрузки
10.2  Практическое сравнение комбинационной, многотактной и конвейерной реализаций арифметического блока
10.2.1 Функциональное моделирование
10.2.2 Комбинационная реализация
10.2.3 Многотактная реализация
10.2.4 Конвейерная реализация
10.2.5 Сравнение результатов
10.3  Дополнительные приемы эффективного проектирования конвейерных схем
10.3.1 Поведенческий и структурный стили кодирования
10.3.2 Реализация регулярных структур
10.3.3  Конструкция generate в рамках поведенческого стиля описания аппаратуры
10.3.4 Использование сигнала enable для разрешения работы модуля
10.3.5 Синхронизация стадий конвейера с переменными задержками
10.4 Упражнения
10.4.1 Основное задание
10.4.2 Задания для самостоятельной работы
10.4.3 Контрольные вопросы
11.1 Теоретические основы процессорного ядра schoolMIPS
11.1.1 Микроархитектура
11.1.2 Проектирование. Тракт данных
11.1.3 Проектирование. Устройство управления
11.1.4 Реализация. Тракт данных
11.1.5 Реализация. Устройство управления
11.2  Использование процессорного ядра schoolMIPS на практике
11.2.1 Элементы управления и индикации
11.2.2 Сборка и запуск проекта
11.2.3 Структура каталога программы
11.2.4 Порядок запуска программы
11.3 Упражнения
11.3.1 Основное задание
11.3.2 Задания для самостоятельной работы
11.3.3 Контрольные вопросы
A.1  Прототипирование на FPGA как один из этапов проектирования ASIC
А.1.1 Стратегия прототипирования
А.1.2 Предостережения относительно прототипирования
А.2 Последовательность этапов проектирования ASIC
А.2.1 Схема разработки ASIC
А.2.2 Усовершенствование проекта (design refinement)
А.3 Этап логического синтеза
А.3.1 Переработка RTL-кода
А.3.2 Настройка библиотеки
А.3.3 Ограничения по проектированию (design constraints)
А.3.4 Синтез иерархии проекта
А.3.5 Оценка результатов компиляции
А.3.6  Список соединений на Verilog, передаваемый на уровень физического синтеза (hand-off Verilog netlist)
А.4 Этап физического синтеза
А.4.1 Настройка библиотек
А.4.2 Разработки плана размещения
А.4.3 Обеспечение низкого энергопотребления
A.4.4 Этап размещения (placement)
А.4.5 Тактовое дерево (clock tree)
А.4.6 Маршрутизация (routing)
А.4.7  Маршрутизация в соответствии с указаниями о технических изменениях (ECO)
А.4.8 Доводка кристалла (chip finishing)
А.5 Этап передачи в производство
А.5.1 Проверка временных параметров
А.5.2 Проверка соответствия проектным нормам (DRC/ERC check)
А.5.3 Проверка соответствия топологии схеме (LVS)
А.5.4 Геометрическая модель в формате GDSII (stream out GDSII)
А.6 Производство ASIC
А.7 Заключение