Проектирование цифровых систем на основе ПЛИС. - 2-е изд., стереотип

Владимир Соловьев

ОГЛАВЛЕНИЕ

Предисловие 3

Глава 1. Программируемые логические интегральные схемы 6
1.1. Классификация ПЛИС 6
1.2. Стандартные PLD 13
1.2.1. Архитектуры стандартных PLD 13
1.2.2. Анализ функциональных возможностей
стандартных PLD 24
1.2.3. Перспективные архитектуры стандартных PLD 31
1.3. Программируемые логические секвенсеры 41
1.3.1. Архитектуры PLS 41
1.3.2. Анализ функциональных возможностей PLS 47
1.3.3. Перспективная архитектура PLS 48
1.4. Сложные PLD 51
1.4.1. Основные структуры 51
1.4.2. Функциональные блоки 57
1.4.3. Архитектуры макроячеек 63
1.4.4. Обеспечение внутренних соединений 68
1.4.5. Соотношение числа макроячеек (триггеров)
и внешних выводов 70
1.4.6. Реализация концепции PLA 72
1.4.7. Назначение промежуточных шин 74
1.4.8. Реализация обратных связей с матрицей И 77
1.4.9. Назначение сформированных сигналов
внешним выводам 78
1.4.10. Буферизация входных сигналов 80
1.5. Сравнение архитектур CPLD и FPGA 82
1.5.1. Основные архитектуры FPGA 82
1.5.2. Функциональная ориентация 84
1.5.3. Предсказуемость задержки и быстродействие 86
1.5.4. Особенности проектирования 88
1.5.5. Сближение архитектур CPLD и FPGA 88
1.6. Литература 90
1.7. Задания 91

Глава 2. Синтез комбинационных схем на PLD 93
2.1. Анализ методов синтеза комбинационных схем 93
2.1.1. Двухуровневый синтез 93
2.1.2. Многоуровневый синтез 97
2.1.3. Методы синтеза комбинационных схем на PLD 106
2.1.4. Характеристика предлагаемых методов синтеза 112
2.2. Возможности PLD при синтезе комбинационных схем 115
2.2.1. Возможности “классических” PAL 115
2.2.2. Возможности универсальных PAL 117
2.2.3. Возможности CPLD 118
2.3. Синтез комбинационных схем на одном PLD 120
2.3.1. Синтез комбинационных схем на одной
универсальной PAL 120
2.3.2. Синтез комбинационных схем на одной
“классической” PAL 134
2.3.3. Синтез комбинационных схем
на одном функциональном блоке CPLD 134
2.4. Синтез одноуровневых комбинационных схем 138
2.4.1. Синтез одноуровневых комбинационных схем на
универсальных PAL без объединения выходов
PAL по ИЛИ 138
2.4.2. Синтез одноуровневых комбинационных схем
на универсальных PAL
с объединением выходов PAL по ИЛИ 144
2.4.3. Синтез одноуровневых комбинационных схем на
“классических” PAL 153
2.4.4. Синтез одноуровневых
комбинационных схем на CPLD 154
2.5. Синтез многоуровневых комбинационных схем 165
2.5.1. Синтез многоуровневых комбинационных схем
на универсальных PAL 166
2.5.2. Синтез многоуровневых комбинационных схем на “классиче-ских” PAL 184
2.5.3. Синтез многоуровневых комбинационных схем
на CPLD 184
2.6. Анализ рассмотренных методов синтеза и рекомендации
по их использованию 187
2.6.1. Анализ рассмотренных методов синтеза 187
2.6.2. Особенности используемых алгоритмов 192
2.6.3. Выбор метода синтеза комбинационных схем 192
2.7. Верификация результатов синтеза
комбинационных схем 193
2.8. Литература 195
2.9. Задания 203

Глава 3. Синтез конечных автоматов на SPLD 205
3.1. Анализ методов синтеза конечных автоматов 205
3.1.1. Общие положения 205
3.1.2. Классические методы 207
3.1.3. Символическая минимизация
(двухуровневый синтез) 210
3.1.4. Многоуровневый синтез 213
3.1.5. Другие методы синтеза конечных автоматов 215
3.1.6. Методы синтеза конечных автоматов на PLD 217
3.1.7. Характеристика предлагаемых методов синтеза
конечных автоматов 220
3.2. Модели конечных автоматов 223
3.2.1. Структуры конечных автоматов 223
3.2.2. Сложность реализации 233
3.2.3. Функционирование во времени 235
3.2.4. Использование моделей конечных автоматов
в цифровых системах 242
3.2.5. Выбор модели автомата 247
3.2.6. Совмещение моделей 249
3.3. Синтез автоматов классов А и В 249
3.3.1. Синтез автоматов на PAL 249
3.3.2. Синтез автоматов на универсальных PAL 267
3.4. Синтез автомата Мура класса С 278
3.5. Синтез автомата Мили класса D 284
3.6. Синтез автоматов классов E и F 291
3.6.1. Синтез автомата Мили класса E 291
3.6.2. Синтез автомата Мура класса F 297
3.7. Синтез совмещенных моделей конечных автоматов 301
3.7.1. Общие положения 302
3.7.2. Синтез совмещенных моделей
конечных автоматов Мили 303
3.7.3. Синтез других совмещенных моделей
конечных автоматов Мили 313
3.7.4. Синтез совмещенных моделей
конечных автоматов Мура 319
3.7.5. Выбор метода синтеза
конечных автоматов на SPLD 319
3.8. Синтез автоматов на PLS 321
3.8.1. Общие положения 321
3.8.2. Синтез автомата Мили класса А 323
3.8.3. Синтез автомата Мура класса B 329
3.8.4. Синтез автомата Мура класса С 332
3.9. Литература 336
3.10. Задания 344

Глава 4. Синтез конечных автоматов на CPLD 346
4.1. Общие положения 346
4.1.1. Особенности реализации
конечных автоматов на CPLD 346
4.1.2. Способы кодирования внутренних состояний 347
4.1.3. Характеристика предлагаемых методов синтеза 348
4.2. Реализация конечного автомата
одним функциональным блоком 351
4.2.1. Общие положения 351
4.2.2. Алгоритм синтеза 354
4.2.3. Кодирование внутренних состояний 354
4.3. Синтез конечных автоматов классов A и B
при использовании бинарного кодирования 358
4.3.1. Синтез конечных автоматов Мили класса A 358
4.3.2. Синтез конечных автоматов Мура класса B 371
4.4. Синтез конечных автоматов Мура класса С 380
4.5. Синтез других моделей конечных автоматов 388
4.6. Синтез конечных автоматов при использовании
унарного кода 389
4.6.1. Особенности унарного кодирования 389
4.6.2. Синтез конечных автоматов Мили класса A 390
4.6.3. Синтез конечных автоматов Мура класса B 395
4.6.4. Синтез конечных автоматов Мили класса D 399
4.6.5. Использование регистровой упаковки 403
4.6.6. Расщепление состояний для ограничения числа
аргументов функций переходов 406
4.7. Архитектуры макроячеек CPLD
для эффективной реализации конечных автоматов 413
4.7.1. Общие положения 413
4.7.2. Архитектура макроячейки MC1 414
4.7.3. Архитектура макроячейки MC2 416
4.7.4. Синтез конечных автоматов на CPLD
с предлагаемыми архитектурами выходных макроячеек 418
4.7.5. Оценка эффективности CPLD
с новой архитектурой макроячеек 420
4.8. Выбор метода синтеза конечных автоматов на CPLD 421
4.9. Литература 423
4.10. Задания 424

Глава 5. Синтез микропрограммных автоматов на PLD 425
5.1. Общие положения 425
5.1.1. Принципы микропрограммного управления 425
5.1.2. Языки описания
алгоритмов логического управления 429
5.1.3. Модели алгоритмов логического управления 441
5.1.4. Анализ методов синтеза
микропрограммных автоматов на PLD 443
5.1.5. Характеристика предлагаемых методов синтеза 454
5.2. Синтез МПА на одном PLD 458
5.2.1. Синтез МПА классов А и В 458
5.2.2. Синтез МПА Мура класса С 464
5.2.3. Синтез МПА Мили класса D 469
5.2.4. Синтез МПА на PLS 472
5.2.5. Использование мультиплексоров
при синтезе МПА на PLD 479
5.3. Синтез одноуровневых схем МПА 487
5.3.1. Структура одноуровневой схемы МПА 488
5.3.2. Синтез одноуровневой схемы МПА Мили 490
5.3.3. Синтез одноуровневой схемы МПА Мура 501
5.3.4. Синтез регулярных одноуровневых схем МПА 510
5.4. Синтез иерархических схем МПА 523
5.4.1. Синтез иерархических схем последовательных МПА 523
5.4.2. Реализация ГСА с повторяющимися фрагментами 535
5.4.3. Синтез иерархических схем параллельных МПА 540
5.5. Синтез специальных структур МПА 547
5.5.1. Синтез апериодических МПА 547
5.5.2. Синтез УЛУ с потенциальными сигналами 559
5.6. Выбор метода синтеза МПА 565
5.7. Верификация результатов синтеза МПА 566
5.8. Литература 568
5.9. Задания 576

Глава 6. Проектирование цифровых систем на основе PLD 579
6.1. Синтез стандартных функциональных узлов 579
6.1.1. Синтез функциональных узлов
комбинационного типа 580
6.1.2. Синтез функциональных узлов
последовательностного типа 583
6.1.3. Синтез мультиплексоров большого размера 584
6.2. Реализация произвольной логики проекта 588
6.2.1. Реализация произвольной логики
на универсальных PAL 589
6.2.2. Реализация произвольной логики на CPLD 597
6.3. Отображение логики проекта на структуру CPLD 601
6.3.1. Общие положения 602
6.3.2. Постановка задачи упаковки 604
6.3.3. Последовательный алгоритм
решения задачи упаковки 606
6.3.4. Итерационные алгоритмы
решения задачи упаковки 608
6.3.5. Назначение сигналов внешним выводам 613
6.3.6. Особенности применения
алгоритмов отображения 614
6.4. Проектирование сложных цифровых систем 614
6.4.1.Структура цифровой системы 615
6.4.2. Управление цифровой системой 615
6.4.3. Синхронизация цифровой системы 617
6.5. Литература 617
6.6. Задания 618

Заключение 621

Список сокращений 622

Предметный указатель 625

Оглавление 631