Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 636193)
Контекстум
Руконтекст антиплагиат система

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

0   0
Первый авторМаксфилд
ИздательствоДМК Пресс, Додэка-XXI
Страниц409
ID836607
АннотацияЭта книга является не только пособием по проектированию устройств на основе ПЛИС (FPGA), но и содержит поистине энциклопедические сведения. Кроме архитектурных особенностей последних поколений микросхем ПЛИС, здесь рассматриваются различные методы и средства проектирования. Проводится обзор и анализ схемотехнических подходов к проектированию (которые всё ещё находят применение), HDL-моделирования и логического синтеза, а так же современных технологий проектирования, основанных на использовании языка С/С++. Рассматриваются специализированные вопросы, такие как совместное проектирование программно-аппаратных систем и разработка систем цифровой обработки сигналов (ЦОС). Обсуждаются и технические новинки, например программируемые пользователем массивы узлов (FPNA). Написанная в непринуждённом, увлекательном стиле, книга будет хорошим пособием и для начинающих, и для опытных инженеров, разрабатывающих устройства на основе ПЛИС. Книга послужит весьма ценным источником информации и для специалистов, разрабатывающих устройства на основе заказных микросхем и переходящих на использование ПЛИС. А также, несомненно, привлечет внимание широкого круга читателей, в том числе технических аналитиков, студентов и продавцов технической продукции.
ISBN978-5-89818-432-2
Максфилд, К. Проектирование на ПЛИС. Архитектура, средства и методы. Курс молодого бойца / К. Максфилд .— : ДМК Пресс, Додэка-XXI, 2023 .— 409 с. — ISBN 978-5-89818-432-2 .— URL: https://rucont.ru/efd/836607 (дата обращения: 18.05.2024)

Предпросмотр (выдержки из произведения)

Проектирование_на_ПЛИС._Архитектура,_средства_и_методы._Курс_молодого_бойца.pdf
Стр.5
Стр.6
Стр.7
Стр.8
Стр.9
Стр.10
Стр.11
Стр.12
Стр.13
Стр.14
Проектирование_на_ПЛИС._Архитектура,_средства_и_методы._Курс_молодого_бойца.pdf
УДК 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
Оглавление  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
Стр.6
6  Оглавление Глава 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
Оглавление  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
Стр.8
8  Оглавление Уровни абстракции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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
Оглавление  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
Стр.10
10  Оглавление Незашифрованные 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
Стр.11
Оглавление  11 Блоки интеллектуальной собственности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 Скоростные показатели . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 На оптимистической ноте . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 Глава 21. Гигабитные приёмопередатчики . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .279 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 Дифференциальные пары . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 Многообразие стандартов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 8 и 10битное кодирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 Погружение в приёмопередатчики . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 Соединение нескольких приёмопередающих блоков . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 Конфигурируемые параметры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 Определение разделителей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Амплитуда выходного сигнала . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Внутрикристальные согласующие резисторы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 Внесение предыскажений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 Компенсация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 Восстановление синхронизации, флуктуация и глазковые диаграммы . . . . . . . . . . . . . . . . . . . . . . . . . 289 Восстановление синхронизации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 Флуктуация и глазковые диаграммы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 Глава 22. Системы с перестраиваемой архитектурой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .293 Динамически реконфигурируемая логика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 Динамически реконфигурируемые внутренние соединения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 Системы с перестраиваемой архитектурой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 Глава 23.FPNA — программируемый пользователем массив узлов . . . . . . . . . . . . . . . . . . . . . . . . . . .298 Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 Мелко, средне и крупномодульные архитектуры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 Алгоритмическая оценка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 Технология picoArray компании picoChip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 Идеальные приложения для picoArray: беспроводные базовые станции . . . . . . . . . . . . . . . . . . . . . 301 Среда проектирования picoArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 Технология адаптивных вычислительных машин компании QuickSilver . . . . . . . . . . . . . . . . . . . . . . . . 303 Конфигурирование состава узлов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 Разновидности узлов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 Пространственная и временная сегментация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 Создание и выполнение приложений на АВМ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 Подождите, ещё не вечер . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 Это кристалл, Джим, но не такой, каким мы его знаем! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 ParaCore Architect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 Глава 24. Средства проектирования независимых разработчиков . . . . . . . . . . . . . . . . . . . . . . . . . . . .309 Реализация модулей для обработки данных с плавающей точкой . . . . . . . . . . . . . . . . . . . . . . . . . . 310 Реализация функций БПФ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 Webинтерфейс . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 Язык проектирования системы Confluence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 Простой пример . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 Но подождите, есть коечто ещё . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 Бесплатная копия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 У вас есть средство? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 Глава 25. Проектирование с использованием открытого программного обеспечения . . . . . . . . . . . .317 Как открыть магазин по продаже устройств на основе ПЛИС без крупных вложений . . . . . . . . . . . . 317 Базовая платформа: Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 Приобретение ОС Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 Среда верификации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 Icarus Verilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 Dinotrace и GTKWave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Стр.12
12  Оглавление Covered . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 Verilator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 Формальная верификация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 Верификация модели . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 Автоматизированная формулировка логических выводов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 В чём заключается проблема? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 Доступ к общим блокам интеллектуальной собственности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 OpenCores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 OVL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 Средства синтеза и реализации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 Макетная плата . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 Другие необходимые средства и утилиты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 Глава 26. Перспективы развития ПЛИС . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .327 Ужасы проектирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 Архитектуры и технологии нового поколения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 Устройства с миллиардами транзисторов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 Сверхбыстрые устройства ввода/вывода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 Сверхскоростное конфигурирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 Увеличение количества аппаратных блоков интеллектуальной собственности . . . . . . . . . . . . . . 330 Аналоговые и комбинированные устройства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 ASMBL и другие архитектуры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 Уровень детализации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 Включение ядер ПЛИС в заказные микросхемы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 Включение ядер FPNA в заказные микросхемы и ПЛИС и наоборот . . . . . . . . . . . . . . . . . . . . . . . 332 Устройства на основе магнитного ОЗУ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 Не забывайте о средствах проектирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 Ожидание неожиданного . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 Приложение А. Целостность сигнала . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .334 Вступление. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 Ёмкостное и индуктивное взаимодействие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 Эффекты на уровне кристалла . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 Резистивноёмкостные эффекты на уровне кристалла . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 Увеличение ёмкостной связи боковых стенок . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 Выбросы, вызванные перекрестными наводками . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 Задержки распространения сигнала . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 Воздействие нескольких проводников«агрессоров» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 И не надо забывать про эффект Миллера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 Эффекты на уровне печатной платы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 Эффекты индуктивноёмкостного характера на уровне печатной платы . . . . . . . . . . . . . . . . . . . 342 Разные способы представления проблемы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 Эффекты взаимной ёмкости и индуктивности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 Эффект Миллера наоборот . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 Эффекты линии передачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 Как можно облегчить себе жизнь . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 Приложение Б. Эффекты задержки в технологии глубокого субмикрона . . . . . . . . . . . . . . . . . . . . . .345 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 Развитие спецификаций задержки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 Набор определений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 Крутизна импульса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 Входной порог срабатывания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 Внутренние и внешние задержки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 Задержки выводвывод и точкаточка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 Зависимость от состояния и зависимость от крутизны . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 Альтернативные модели внутренних соединений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Стр.13
Оглавление  13 Модель с сосредоточенной нагрузкой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 Распределённая RCмодель . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 Чистая LCмодель . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 RLCмодель . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 Эффекты задержки глубокого субмикрона . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 Зависимость задержки выводвывод от пути прохождения сигнала . . . . . . . . . . . . . . . . . . . . . . . . 351 Зависимость задержки выводвывод от порога срабатывания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 Зависимость задержки выводвывод от крутизны фронта входного сигнала . . . . . . . . . . . . . . . . . 353 Зависимость задержки выводвывод от состояния вентиля . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 Зависимость выходной характеристики от пути прохождения сигнала . . . . . . . . . . . . . . . . . . . . . . 355 Зависимость выходной характеристики от крутизны входного сигнала . . . . . . . . . . . . . . . . . . . . . 356 Зависимость выходной характеристики вентиля от его состояния . . . . . . . . . . . . . . . . . . . . . . . . . 356 Зависимость порога срабатывания вентиля от его состояния . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357 Зависимость величины паразитных элементов вентиля от его состояния . . . . . . . . . . . . . . . . . . . 357 Влияние изменения нескольких сигналов на задержку выводвывод . . . . . . . . . . . . . . . . . . . . . . . 358 Влияние изменения нескольких сигналов на выходную характеристику . . . . . . . . . . . . . . . . . . . . 359 Паразитное отражение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 Выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 Приложение В. Линейный сдвиговый регистр с обратной связью . . . . . . . . . . . . . . . . . . . . . . . . . . . .361 Ауроборос . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 Реализация вида «многие к одному» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 Множество отводов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 Реализация вида «один ко многим» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 Инициализация LFSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 Очереди FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 Модификация LFSR для формирования последовательностей длиной 2n . . . . . . . . . . . . . . . . . . . . . . 368 Доступ к предыдущему значению . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 Шифрование и дешифровка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 Контроль с помощью циклических избыточных кодов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 Сжатие данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 Встроенное самотестирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 Генераторы псевдослучайных последовательностей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 И последнее, но не менее важное . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 Об авторе . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .376 Словарь . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .377 Предметный указатель . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .397
Стр.14

Облако ключевых слов *


* - вычисляется автоматически
Антиплагиат система на базе ИИ