Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Проектирование на ПЛИС. Архитектура, средства и методы. Курс молодого бойца

Курс молодого бойца
Покупка
Артикул: 087536.03.99
Доступ онлайн
330 ₽
В корзину
Эта книга является не только пособием по проектированию устройств на основе ПЛИС (FPGA), но и содержит поистине энциклопедические сведения. Кроме архитектурных особенностей последних поколений микросхем ПЛИС, здесь рассматриваются различные методы и средства проектирования. Проводится обзор и анализ схемотехнических подходов к проектированию (которые всё ещё находят применение), HDL-моделирования и логического синтеза, а так же современных технологий проектирования, основанных на использовании языка С/С++. Рассматриваются специализированные вопросы, такие как совместное проектирование программно-аппаратных систем и разработка систем цифровой обработки сигналов (ЦОС). Обсуждаются и технические новинки, например программируемые пользователем массивы узлов (FPNA). Написанная в непринуждённом, увлекательном стиле, книга будет хорошим пособием и для начинающих, и для опытных инженеров, разрабатывающих устройства на основе ПЛИС. Книга послужит весьма ценным источником информации и для специалистов, разрабатывающих устройства на основе заказных микросхем и переходящих на использование ПЛИС. А также, несомненно, привлечет внимание широкого круга читателей, в том числе технических аналитиков, студентов и продавцов технической продукции.
Максфилд, К. Проектирование на ПЛИС. Архитектура, средства и методы. Курс молодого бойца : практическое пособие / К. Максфилд ; пер. с англ. В. М. Барской. - 2-е изд. - Москва : ДМК Пресс, Додэка-XXI, 2023. - 409 с. - (Программируемые системы). - ISBN 978-5-89818-432-2. - Текст : электронный. - URL: https://znanium.com/catalog/product/2104738 (дата обращения: 07.10.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Проектирование на ПЛИС
Архитектура, средства и методы

Курс молодого бойца

EMBEDDED TECHNOLOGY TM

S E R I E S

Ч. Хелибайк

The Design Warrior’s

Guide to FPGA’s

Clive «Max» Maxfield

An imprint of Elsevier Science

С Е Р И Я
ПРОГРАММИРУЕМЫЕ СИСТЕМЫ

Клайв Максфилд

Проектирование на ПЛИС

Архитектура, средства

и методы

Курс молодого бойца

Перевод с английского

Москва

2023

ДМК Пресс, ДодэкаXXI

2е издание, электронное

УДК 004.312
ББК 32.844-1
М17

М17
Максфилд, Клайв.
Проектирование на ПЛИС. Архитектура, средства и методы. Курс молодого 
бойца / К. Максфилд ; пер. с англ. В. М. Барской. — 2-е изд., эл. — 1 файл pdf : 
409 с. — Москва : ДМК Пресс, Додэка-XXI, 2023. — (Программируемые системы). — 
Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 12". — 
Текст : электронный.
ISBN 978-5-89818-432-2

Эта книга является не только пособием по проектированию устройств на основе ПЛИС 
(FPGA), но и содержит поистине энциклопедические сведения. Кроме архитектурных особенностей последних поколений микросхем ПЛИС, здесь рассматриваются различные методы и средства проектирования. Проводится обзор и анализ схемотехнических подходов к 
проектированию (которые всё ещё находят применение), HDL-моделирования и логического синтеза, а так же современных технологий проектирования, основанных на использовании языка С/С++. Рассматриваются специализированные вопросы, такие как совместное проектирование программно-аппаратных систем и разработка систем цифровой обработки сигналов (ЦОС). Обсуждаются и технические новинки, например программируемые 
пользователем массивы узлов (FPNA).
Написанная в непринуждённом, увлекательном стиле, книга будет хорошим пособием и 
для начинающих, и для опытных инженеров, разрабатывающих устройства на основе ПЛИС. 
Книга послужит весьма ценным источником информации и для специалистов, разрабатывающих устройства на основе заказных микросхем и переходящих на использование ПЛИС. 
А также, несомненно, привлечет внимание широкого круга читателей, в том числе технических аналитиков, студентов и продавцов технической продукции.

УДК 004.312 
ББК 32.844-1

Электронное издание на основе печатного издания: Проектирование на ПЛИС. Архитектура, средства и 
методы. Курс молодого бойца / К. Максфилд ; пер. с англ. В. М. Барской. — Москва : ДМК Пресс, 
Додэка-XXI, 2015. — 408 с. — (Программируемые системы). — ISBN 978-5-97060-265-2. — Текст : непосредственный.

В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации.

ISBN 978-5-89818-432-2
© Издательский дом «Додэка XXI», 2007
© Издание, ДМК Пресс, 2015
® Серия «Программируемые системы»

Оглавление 5

Благодарности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
Предисловие  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
Глава 1. Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
Что такое ПЛИС . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Чем интересны ПЛИС . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Как можно использовать ПЛИС  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Что есть в этой книге . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Чего нет в этой книге . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Кому предназначается эта книга . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Глава 2. Основные понятия  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
Особенность микросхем ПЛИС  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Простая программируемая функция  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Метод плавких перемычек  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Метод наращиваемых перемычек  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Устройства, программируемые фотошаблоном  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
ППЗУ  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
СППЗУ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
ЭСППЗУ  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Flashтехнология  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Статическое ОЗУ  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Заключение  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Глава 3. История развития ПЛИС . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
Родственные технологии. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  35
Транзисторы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Интегральные микросхемы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Статическое и динамическое ОЗУ, микропроцессоры  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Простые и сложные ПЛУ  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
ППЗУ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Программируемые логические матрицы (ПЛМ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Программируемые матрицы PAL и GAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Дополнительные программируемые опции  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Сложные ПЛУ  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Программные средства ABEL, CUPL, PALASM, JEDEC и другие . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Заказные интегральные схемы — ASIC  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Заказные интегральные микросхемы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Микроматрица и микромозаика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Вентильные матрицы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Схемы на стандартных элементах . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Структурированные специализированные микросхемы и структурированные ASIC  . . . . . . . . . . 52
ПЛИС . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
ПЛИСплатформа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Гибриды вида ПЛИС — заказные интеральные схемы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Как создают ПЛИС . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

ОГЛАВЛЕНИЕ

Оглавление

Глава 4. Архитектура ПЛИС  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60
Предупреждение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  60
Небольшое введение  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Наращиваемые перемычки, статическое ОЗУ и прочее… . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Устройства на основе статического ОЗУ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Защита интеллектуальной собственности  в устройствах на основе статического ОЗУ . . . . . . . . . 62
Устройства на основе наращиваемых перемычек  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Устройства на основе СППЗУ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Устройства на основе ЭСППЗУ и Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Гибридные устройства на ячейках Flash и статического ОЗУ  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Выводы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Мелко, среднеи крупномодульные архитектуры  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Логические блоки на мультиплексорах и таблицах соответствия  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Устройства на основе мультиплексоров  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Устройства на основе таблиц соответствия  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Мультиплексоры или таблицы соответствия?  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3, 4, 5или 6входовые таблицы соответствия  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Таблицы соответствия, распределенное ОЗУ, сдвиговые регистры . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Конфигурируемые логические блоки, блоки логических массивов, секции . . . . . . . . . . . . . . . . . . . . . . 73
Логические ячейки фирмы Xilinx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Логические элементы компании Altera  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Секции и логические ячейки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Конфигурируемые логические блоки CLB и блоки логических массивов LAB . . . . . . . . . . . . . . . . 75
Распределенное ОЗУ и сдвиговые регистры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Схемы ускоренного переноса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Встроенные блоки ОЗУ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Встроенные умножители, сумматоры, блоки умножения с накоплением и др.  . . . . . . . . . . . . . . . . . . . 77
Аппаратные и программные встроенные микропроцессорные ядра  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Аппаратные микропроцессорные ядра  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Программные микропроцессорные ядра  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Дерево синхронизации и диспетчеры синхронизации  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Дерево синхронизации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Диспетчер синхронизации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Ввод/вывод общего назначения  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Конфигурируемые стандарты ввода/вывода  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Согласование ввода/вывода  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Напряжение ядра и напряжение ввода/вывода  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Гигабитные приёмопередатчики . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
IP — блоки аппаратной, программной и микропрограммной интеллектуальной собственности . . . . 88
Системный вентиль и реальный вентиль . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Возраст ПЛИС  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Ласковые слова . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  93
Конфигурационные файлы и прочее  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Конфигурационные ячейки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Глава 5. Программирование или конфигурирование ПЛИС . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93
ПЛИС на наращиваемых перемычках  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
ПЛИС на ячейках статического ОЗУ  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Ловкость рук и никакого мошенства  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Программирование встроенных блоков ОЗУ, распределенного ОЗУ и других ОЗУ . . . . . . . . . . . . 97
Мультипрограммирование конфигурационных цепочек . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Быстрая реинициализация устройства  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Конфигурационный порт . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Последовательная загрузка, ПЛИС в режиме ведущий  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Параллельная загрузка, ПЛИС в режиме ведущий  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Параллельная загрузка, ПЛИС в режиме ведомый . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Последовательная загрузка, ПЛИС в режиме ведомый  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

Оглавление 7

JTAGпорт . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Встроенные процессоры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Глава 6. Ведущие производители . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106
Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  106
Поставщики FPGA и FPAA  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Поставщики устройств FPNA  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Поставщики САПР для полного цикла разработки ПЛИС  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Специалисты по ПЛИС и независимые разработчики САПР . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Консультанты по разработке ПЛИС и их средства проектирования  . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Открытые, недорогие и бесплатные системы проектирования  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Введение  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Подходы к проектированию . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Глава 7. Различные подходы к проектированию систем на основе ПЛИС и заказных микросхем 111
Конвейеры и уровни логики  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Что такое конвейер  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Конвейер в электронных системах . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Логические уровни  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Метод асинхронного проектирования  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Асинхронные элементы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Комбинационные петли . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Элементы задержки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Анализ систем синхронизации  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Зоны синхронизации  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Выравнивание тактовых сигналов  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Стробирование и разрешение тактовых сигналов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
ФАПЧ и схема согласования тактовых сигналов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Достоверность передачи данных через разные зоны синхронизации  . . . . . . . . . . . . . . . . . . . . . . . 117
Регистры и защелки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Защелки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Триггеры с входами установки и сброса  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Общий сброс и исходное состояние . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Разделение ресурсов или разделение по времени . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Использовать или потерять!  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Подождите, ещё не вечер!  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Кодирование конечных автоматов  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Методики тестирования  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Глава 8. Схемотехническое проектирование  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120
Давнымдавно. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  120
Развитие САПР электронных систем . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Начальный этап проектирования. Логическое моделирование  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Завершающий этап проектирования. Компоновка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
САПР электронных систем  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Простой метод схемотехнического проектирования заказных ИС . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Простой метод схемотехнического проектирования ПЛИС  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Сопоставление . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Компоновка  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Размещение и разводка  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Временной анализ и повторное моделирование  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Одноуровневые и иерархические принципиальные схемы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Одноуровневые принципиальные схемы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Иерархические принципиальные схемы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Современная последовательность схемотехнического проектирования ПЛИС  . . . . . . . . . . . . . . . . . 134
Глава 9. Проектирование на основе языков описания аппаратных средств  . . . . . . . . . . . . . . . . . . .136
Закат схемотехнического проектирования  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
История развития HDLпроектирования  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

Оглавление

Уровни абстракции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Простые HDLметоды проектирования заказных микросхем  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Простые HDLметоды проектирования ПЛИС . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Архитектурное проектирование ПЛИС . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Логический и физический синтез . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Средства графического ввода продолжают жить  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Типы языков HDL  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Verilog HDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
VHDL и VITAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Проектирование с применением нескольких языков . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
UDL/I  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Superlog и SystemVerilog  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
SystemC  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Информация к размышлению . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Ужасы проектирования  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Последовательные и параллельные мультиплексоры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Остерегайтесь защёлок!  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Рационально используйте константы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Распределение ресурсов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Последнее, но не менее важное  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Глава 10. Виртуальное макетирование ПЛИС . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .154
Общие сведения о виртуальном макетировании  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  154
Применение виртуальных прототипов при проектировании заказных микросхем . . . . . . . . . . . . . . . 154
Виртуальные прототипы на уровне вентилей. Быстрый и грубый синтез . . . . . . . . . . . . . . . . . . . . 155
Виртуальные прототипы на уровне вентилей. Синтез, оптимизированный по быстродействию 156
Виртуальные прототипы на уровне кластеров  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Виртуальные прототипы  на основе RTL  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Виртуальные прототипы ПЛИС  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Интерактивная правка  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Поэтапные размещение и разводка  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Виртуальные прототипы ПЛИС уровня регистровых передач  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Глава 11. Проектирование на основе С/С++ и других языков . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164
Проблемы использования HDLязыков  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  164
С, С++ и другие версии   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Проектирование на языке SystemC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Что такое SystemC и его история  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
SystemC 1.0  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
SystemC 2.0  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Уровни абстракции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Альтернативные методы проектирования на основе языка SystemC . . . . . . . . . . . . . . . . . . . . . . . . 170
Принять иль не принять . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Проектирование на  расширенном С/С++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Что такое расширенный С/С++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Расширенный стандарт языка С/С++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Проектирование на немодифицированном С/С++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Уровни абстракций синтеза  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Системы мультиязычного проектирование и тестирования  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Глава 12. Проектирование средств цифровой обработки сигналов  . . . . . . . . . . . . . . . . . . . . . . . . . . .182
Введение в ЦОС  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Альтернативы реализации ЦОС  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Выбрать любое устройство, но мне его не показывать  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Оценки системного уровня и алгоритмическая верификация  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Работа программного обеспечения на ядре ЦСП  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Специализированное аппаратное обеспечение ЦОС . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Другие встраиваемые в ПЛИС ресурсы ЦОС . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

Оглавление 9

Разработка ПЛИС для ЦОС  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Специализированные языки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Системы проектирования и моделирования на системном уровне  . . . . . . . . . . . . . . . . . . . . . . . . . 190
Модели с фиксированной и плавающей точкой  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Перевод из системного/алгоритмического уровня к RTL. Ручной способ . . . . . . . . . . . . . . . . . . . 191
Перевод из системного/алгоритмического уровня к RTL. Автоматический способ . . . . . . . . . . . 192
Перевод из системного/алгоритмического уровня в код С/С++ и другие  . . . . . . . . . . . . . . . . . . . 194
Блоки интеллектуальной собственности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Не забудьте о средствах тестирования!  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Смешанные системы проектирования: ЦОС и VHDL/Verilog   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Глава 13. Проектирование устройств со встроенными микропроцессорами . . . . . . . . . . . . . . . . . . . .198
Введение  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Аппаратные и программные ядра  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Аппаратные ядра  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Программные микропроцессорные ядра  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Разделение устройства на аппаратные и программные компоненты  . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Аппаратное и программное мировоззрение  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
ПЛИС как среда проектирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Контроль состояния устройства  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Некоторые альтернативные методы совместной проверки  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
RTLописания: VHDL или Verilog  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
С/С++, SystemC и т. д. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Реальные микросхемы в аппаратных устройствах моделирования   . . . . . . . . . . . . . . . . . . . . . . . . . 209
Эмулятор машинных команд  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Очень интересная среда проектирования  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Глава 14. Модульное и пошаговое проектирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .213
Работа с одним целым . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Разбиение на меньшие блоки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Модульное проектирование  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Пошаговое проектирование  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Отрицательные стороны . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Всегда есть выход  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Глава 15. Быстродействующие схемы и некоторые соображения по поводу печатных плат . . . . . . .218
Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  218
Когда мы были молодыми  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Время перемен  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
FPGA Xchange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Другие элементы проектирования  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Быстродействующие схемы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Анализ искажений сигналов  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
SPICE и IBIS  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Стартовая мощность потребления  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Применение внутренней согласованной нагрузки  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Параллельная и последовательная передача данных  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Глава 16. Отслеживание состояния внутренних точек схемы в ПЛИС . . . . . . . . . . . . . . . . . . . . . . . .225
Отсутствие наглядности  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  225
Мультиплексирование  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Специальные цепи отладки  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Виртуальный логический анализатор . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
VirtualWires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Проблема  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Решение VirtualWire  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Глава 17. Блоки интеллектуальной собственности  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .232
Источники блоков интеллектуальной собственности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  232
Ручная работа  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232

Оглавление

Незашифрованные RTLописания  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Шифрованные RTLописания  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Таблица соединений до размещения и разводки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Таблица соединений после размещения и разводки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Генераторы ядер IP  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Разное . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Глава 18. Переход от заказных микросхем к ПЛИС и наоборот  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .236
Сценарии проектирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  236
Только ПЛИС  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
От ПЛИС к ПЛИС  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
От ПЛИС к заказной микросхеме  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
От заказной микросхемы к ПЛИС . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Глава 19. Средства моделирования, синтеза, верификации и реализации  . . . . . . . . . . . . . . . . . . . . .241
Введение  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Типы моделирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Событийное моделирование   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Краткий обзор систем событийного моделирования  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Логические величины и системы логических величин . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Моделирование с использованием разных языков  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Альтернативные форматы описания задержек . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Системы циклового  моделирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Выбор оптимальной системы логического моделирования!  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Средства синтеза. Логический/HDL и физический синтез  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Технология логического/HDLсинтеза . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Технология физического синтеза . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Коррекция временных параметров, репликация и повторный синтез  . . . . . . . . . . . . . . . . . . . . . . 254
Выбор оптимального средства синтеза! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Временной анализ. Статический и динамический . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Статический временной анализ  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Статистический статический временной анализ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Динамический временной анализ  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Общая верификация  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Верификация блоков интеллектуальной собственности  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Среда верификации и разработка тестов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Анализ результатов моделирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Формальная верификация  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Особенности формальной верификации  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Что такое формальная верификация, и чем она хороша  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Термины и определения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Альтернативные методы описания утверждений/свойств . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Статическая и динамическая формальная верификация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Обзор других языков . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Разное . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Преобразование из HDL в С  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Кодовое покрытие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Анализ производительности  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Глава 20. Выбор правильного устройства  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .273
Такой широкий выбор . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Главное, чтобы инструмент был  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Технология изготовления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Основные ресурсы и корпус . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Интерфейсы ввода/вывода общего назначения  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Встроенные умножители, блоки ОЗУ и т. д.  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Встроенные микропроцессорные ядра . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Возможности гигабитного ввода/вывода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277

Доступ онлайн
330 ₽
В корзину