Радиотехнический сайт RADIOTRACT

Радиотехника и электроника для разработчиков и радиолюбителей

Информация

 

 

Справочные данные на радиоэлектронные компоненты, приборы, средства связи и измерений. Радиотехническая литература.

Общая

Микроконтроллеры

ПЛИС

Измерения

Радиостанции

Библиотека

Справочники

Доска объявлений

Объявления о покупке и продаже радиокомпонентов. Спрос и предложение на различные радиодетали и приборы.

Куплю

Продам

Магазин

Программы

Полезные программы для радиолюбителей и разработчиков радиоэлектроники.

Радиотехника

Интернет

Калькуляторы

Другие

Мы в соцсетях

  

Цифровая техника

Справочная информация\Библиотека\Цифровая техника, программирование ПЛИС\Проектирование на ПЛИС. Курс молодого бойца

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

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

Содержание

Благодарности 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
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
Разработка ПЛИС для ЦОС 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
Блоки интеллектуальной собственности 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
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
Модель с сосредоточенной нагрузкой 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

Страниц: 408
Формат: djvu

Проектирование на ПЛИС. Курс молодого бойца - скачать

Данные книги предоставлены исключительно в ознакомительных целях и должны быть удалены с вашего компьютера или любого иного носителя информации сразу после поверхностного ознакомления с содержанием.
Все авторские права на содержащийся в книге материал принадлежат правообладателю.
Без разрешения правообладателя материалы книги не могут быть использованы ни в каких целях, кроме ознакомительных.
Публикация материалов данного типа не преследует коммерческих целей и является рекламой бумажных аналогов (если такие существуют).


Комментарии

comments powered by Disqus