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

Проектирование встраиваемых систем на ПЛИС (3000,00 руб.)

0   0
Первый авторНаваби
ИздательствоДМК Пресс, Додэка-XXI
Страниц465
ID836604
АннотацияТемой данной книги является проектирование встраиваемых систем на программируемых логических интегральных схемах (ПЛИС). Издание предоставляет всю информацию, которая необходима для проектирования сложных встраиваемых систем и ядер. В первой части определяется, чем является встраиваемая система, и знание каких аспектов цифрового проектирования полезно при проектировании таких систем. Затем обсуждается язык проектирования Verilog на уровне регистровых передач и применение этого языка для RTL-моделирования и RTL-синтеза. Далее приводится описание проектирования цифровых систем, архитектуры компьютеров и разработка программной части. После рассмотрения основ показывается, как эти темы совместить вместе в проекте законченной системы с аппаратными и программными ядрами. Издание предназначено студентам старших курсов вузов, а также разработчикам аппаратуры, знакомым с основами логического проектирования и желающим заняться автоматизированным проектированием на системном уровне.
ISBN978-5-89818-425-4
Наваби, З. Проектирование встраиваемых систем на ПЛИС / З. Наваби .— : ДМК Пресс, Додэка-XXI, 2023 .— 465 с. — ISBN 978-5-89818-425-4 .— URL: https://rucont.ru/efd/836604 (дата обращения: 01.06.2024)

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

Проектирование_встраиваемых_систем_на_ПЛИС.pdf
Стр.5
Стр.6
Стр.7
Стр.8
Стр.9
Стр.10
Стр.11
Стр.12
Проектирование_встраиваемых_систем_на_ПЛИС.pdf
УДК 004.2/.3 ББК 32.971 Н15 Н15 Наваби, Заиналабедин. Проектирование встраиваемых систем на ПЛИС / З. Наваби ; пер. с англ. В. В. Соловьева — 2-е изд., эл. — 1 файл pdf : 465 с. — Москва : ДМК Пресс, Додэка-XXI, 2023. — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный. ISBN 978-5-89818-425-4 Темой данной книги является проектирование встраиваемых систем на программируемых логических интегральных схемах (ПЛИС). Издание предоставляет всю информацию, которая необходима для проектирования сложных встраиваемых систем и ядер. В первой части определяется, чем является встраиваемая система, и знание каких аспектов цифрового проектирования полезно при проектировании таких систем. Затем обсуждается язык проектирования Verilog на уровне регистровых передач и применение этого языка для RTL-моделирования и RTL-синтеза. Далее приводится описание проектирования цифровых систем, архитектуры компьютеров и разработка программной части. После рассмотрения основ показывается, как эти темы совместить вместе в проекте законченной системы с аппаратными и программными ядрами. Издание предназначено студентам старших курсов вузов, а также разработчикам аппаратуры, знакомым с основами логического проектирования и желающим заняться автоматизированным проектированием на системном уровне. УДК 004.2/.3 ББК 32.971 Электронное издание на основе печатного издания: Проектирование встраиваемых систем на ПЛИС / З. Наваби ; пер. с англ. В. В. Соловьева. — Москва : ДМК Пресс, Додэка-XXI, 2016. — 464 с. — ISBN 978-5-97060174-7. — Текст : непосредственный. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации. ISBN 978-5-89818-425-4 © 2007 by The McGraw-Hill Companies © Оформление, перевод, ДМК Пресс, 2016
Стр.5
СодержанИе Об авторе ........................................................................................................................................13 Предисловие ..................................................................................................................................14 Введение .........................................................................................................................................16 Благодарности ..............................................................................................................................18 1 Элементы проектирования встраиваемых систем .................................................19 1.1. Уровни абстрагирования ............................................................................................20 1.1.1. От транзисторов к программам .....................................................................20 1.1.2. Смешение уровней абстакции .......................................................................22 1.1.3. Описание проекта ..............................................................................................23 1.2. Маршрут проектирования встраиваемых систем ..............................................23 1.2.1. Разделение на аппаратную и программную части ..................................23 1.2.2. Аппаратная часть ................................................................................................24 1.2.3. Программная часть ............................................................................................24 1.2.4. Спецификация межсоединений ....................................................................25 1.2.5. Совместное аппаратно-программное моделирование ...........................25 1.2.6. Синтез аппаратной части ................................................................................25 1.2.7. Компиляция программной части .................................................................26 1.2.8. Генерация межсоединений .............................................................................27 1.2.9. Интеграция проекта ..........................................................................................27 1.3. Средства проектирования ..........................................................................................27 1.3.1. Описание структурной схемы .......................................................................28 1.3.2. Языки описания аппаратуры и другие программы моделирования аппаратной части ...........................................................................28 1.3.3. Компиляторы языков программирования ................................................28 1.3.4. Программа моделирования системы, описанной в виде списка цепей ..................................................................................................................................28 1.3.5. Эмулятор системы команд ..............................................................................28 1.3.6. Программы синтеза аппаратной части .......................................................29 1.3.7. Компилятор в машинные коды .....................................................................29 1.3.8. Программы сборки и отладки программной части ................................29 1.3.9. Программа-интегратор ....................................................................................29 1.4. Новые тенденции проектирования аппаратуры ................................................29 1.4.1. Конфигурируемые процессоры .....................................................................29 1.4.2. Стандартные шины ............................................................................................30 1.4.3. Программирование ............................................................................................30 1.4.4. Программное обеспечение ..............................................................................30 1.5. Выводы .............................................................................................................................30 2 Основы проектирования логических схем ................................................................31 2.1. Системы счисления ......................................................................................................32 2.1.1. Двоичные числа ..................................................................................................33
Стр.6
6 содержание 2.1.2. Шестнадцатеричные числа .............................................................................33 2.2. Двоичная арифметика .................................................................................................34 2.2.1. Числа со знаком ..................................................................................................34 2.2.2. Двоичное сложение ...........................................................................................35 2.2.3. Двоичное вычитание .........................................................................................35 2.2.4. Система дополнения до двух .........................................................................35 2.2.5. Переполнение ......................................................................................................36 2.2.6. Числа с фиксированной запятой ..................................................................37 2.2.7. Числа с плавающей запятой ...........................................................................37 2.3. Базовые логические вентили и структуры...........................................................39 2.3.1. Система логических значений .......................................................................39 2.3.2. Представление логических функций ..........................................................39 2.3.3. Транзисторы .........................................................................................................40 2.3.4. КМОП-инвертор ................................................................................................41 2.3.5. КМОП-вентиль И-НЕ......................................................................................41 2.3.6. КМОП-вентиль ИЛИ-НЕ ..............................................................................42 2.3.7. Вентили И и ИЛИ .............................................................................................43 2.3.8. Вентиль ИСКЛЮЧАЮЩЕЕ ИЛИ ............................................................43 2.3.9. Мультиплексоры ................................................................................................44 2.3.10. Вентили с тремя состояниями выходов ...................................................45 2.3.11. Функциональный генератор (LUT-элемент) ........................................46 2.4. Проектирование комбинационных схем ..............................................................47 2.4.1. Булева алгебра .....................................................................................................47 2.4.2. Карты Карно ........................................................................................................49 2.4.3. Неопределенные значения ..............................................................................53 2.4.4. Минимальное покрытие ..................................................................................54 2.4.5. Итеративная аппаратура .................................................................................55 2.4.6. Мультиплексоры и дешифраторы ................................................................58 2.4.7. Уровни активности ............................................................................................60 2.4.8. Входы разрешения/запрета ............................................................................61 2.4.9. Высокоуровневое проектирование .............................................................61 2.5. Запоминающие элементы ..........................................................................................62 2.5.1. Простой триггер-защелка ................................................................................63 2.5.2. Тактируемый D-триггер ...................................................................................64 2.5.3. D-триггер (триггер с задержкой) ..................................................................65 2.5.4. Управление триггером ......................................................................................66 2.5.5. Регистры ................................................................................................................68 2.6. Проектирование последовательностных схем ....................................................68 2.6.1. Конечные автоматы ...........................................................................................68 2.6.2. Проектирование конечных автоматов ........................................................70 2.6.3. Автоматы Мили и Мура ..................................................................................75 2.6.4. Унарное кодирование состояний ..................................................................76 2.6.5. Часто используемые последовательностные схемы ..............................77 2.7. Запоминающие устройства .......................................................................................80 2.7.1. Структура статического оперативного запоминающего устройства ........................................................................................................................81
Стр.7
содержание 7 2.8. Двунаправленные выводы .........................................................................................82 2.9. Обобщающий пример: последовательный сумматор .......................................82 2.9.1. Постановка задачи .............................................................................................83 2.9.2. Разбиение проекта на блоки ...........................................................................83 2.9.3. Проектирование операционного устройства ............................................84 2.10. Выводы ...........................................................................................................................87 3 Проектирование на уровне регистровых передач с использованием языка Verilog ..........................................................................................................................89 3.1. Основные структуры языка Verilog ........................................................................90 3.1.1. Модули...................................................................................................................92 3.1.2. Структура модуля ..............................................................................................93 3.1.3. Порты модуля ......................................................................................................94 3.1.4. Переменные модуля ..........................................................................................95 3.1.5. Система логических значений .......................................................................97 3.1.6. Вычисление значений проводных соединений (цепей) .......................97 3.2. Комбинационные схемы .............................................................................................99 3.2.1. Комбинационные схемы на уровне вентилей ..........................................99 3.2.2. Синтез на вентильном уровне .................................................................... 104 3.2.3. Описания с использованием логических уравнений ......................... 105 3.2.4. Создание других модулей ........................................................................... 109 3.2.5. Синтез операторов присваивания ............................................................ 111 3.2.6. Описания с использованием процедурных операторов .................... 112 3.2.7. Правила описания комбинационных схем ............................................. 117 3.2.8. Синтез процедурных блоков ...................................................................... 117 3.2.9. Соединения с шиной ...................................................................................... 119 3.3. Последовательностные схемы ............................................................................... 119 3.3.1. Основные элементы памяти на вентильном уровне ........................... 120 3.3.2. Элементы памяти, использующие процедурные операторы .......... 121 3.3.3. Синтез триггеров ............................................................................................. 125 3.3.4. Регистры, сдвиговые регистры и счетчики ............................................ 127 3.3.5. Синтез сдвиговых регистров и счетчиков .............................................. 130 3.3.6. Кодирование конечных автоматов ............................................................ 130 3.3.7. Синтез конечных автоматов ........................................................................ 140 3.3.8. Запоминающие устройства .......................................................................... 142 3.4. Написание тестовых примеров ............................................................................. 144 3.4.1. Генерация периодических данных............................................................. 145 3.4.2. Случайные входные данные ........................................................................ 146 3.4.3. Привязка данных ко времени ..................................................................... 147 3.5. Спецификация последовательного умножителя ............................................ 148 3.5.1. Процесс умножения путем сдвига и сложения .................................... 148 3.5.2. Проектирование последовательного умножителя .............................. 151 3.5.3. Тестирование умножителя ........................................................................... 156 3.6. Синтез результатов .................................................................................................... 160 3.7. Выводы .......................................................................................................................... 160
Стр.8
8 содержание 4 Аппаратное и программное обеспечение компьютера ...................................... 162 4.1. Аппаратное и программное обеспечение компьютера .................................. 163 4.2. Программное обеспечение компьютера ............................................................. 166 4.2.1. Машинный код ................................................................................................. 166 4.2.2. Язык ассемблера .............................................................................................. 166 4.2.3. Язык высокого уровня ................................................................................... 166 4.2.4. Язык программирования С .......................................................................... 168 4.3. Архитектура множества команд ........................................................................... 179 4.3.1. Аппаратное обеспечение .............................................................................. 179 4.3.2. Программное обеспечение .......................................................................... 180 4.3.3. Аппаратно-программный интерфейс ...................................................... 180 4.4. Проектирование процессора SMPL-CPU ......................................................... 181 4.4.1. Описание процессора .................................................................................... 181 4.4.2. Одноцикловая реализация .......................................................................... 183 4.4.3. Многоцикловая реализация ........................................................................ 196 4.5. Проектирование и тестирование компьютера SAYEH ................................. 207 4.5.1. Детали функционирования процессора .................................................. 207 4.5.2. Операционное устройство процессора SAYEH .................................... 210 4.5.3. Описание процессора SAYEH на языке Verilog ................................... 212 4.5.4. Тестовый пример/ассемблер верхнего уровня процессора SAYEH ........................................................................................................................... 213 4.5.5. Реализация аппаратной части процессора SAYEH ............................. 215 4.6. Выводы .......................................................................................................................... 215 5 Программируемые логические интегральные схемы (ПЛИС) ...................... 216 5.1. Постоянные запоминающие устройства ............................................................ 217 5.1.1. Основная структура ПЗУ ............................................................................ 217 5.1.2. Реализация на вентилях ИЛИ-НЕ ........................................................... 219 5.1.3. Распределенные вентили.............................................................................. 219 5.1.4. Программируемость матриц ....................................................................... 221 5.1.5. Обзор памяти .................................................................................................... 221 5.1.6. Разновидности ПЗУ ....................................................................................... 222 5.2. Программируемые логические матрицы ........................................................... 226 5.2.1. Логическая структура PAL .......................................................................... 228 5.2.2. Расширение промежуточных шин ............................................................ 229 5.2.3. Выходы с тремя состояниями ..................................................................... 230 5.2.4. Регистровые выходы ...................................................................................... 231 5.2.5. Коммерческие устройства ............................................................................ 231 5.3. Сложные программируемые логические устройства .................................... 234 5.3.1. CPLD семейства MAX 7000S фирмы Altera.......................................... 235 5.4. Программируемые пользователем вентильные матрицы............................ 237 5.4.1. FPGA семейства FLEX 10K фирмы Altera ............................................ 238 5.4.2. FPGA семейства Cyclone фирмы Altera .................................................. 245 5.5. Выводы .......................................................................................................................... 264
Стр.9
содержание 9 6 Средства для проектирования и макетирования ................................................. 265 6.1. Маршрут проектирования аппаратной части .................................................. 266 6.1.1. Операционное устройство последовательного сумматора ............... 267 6.1.2. Контроллер последовательного сумматора ........................................... 268 6.2. HDL-моделирование и HDL-синтез ................................................................... 270 6.2.1. Моделирование перед синтезом ................................................................ 271 6.2.2. Синтез модуля .................................................................................................. 277 6.2.3. Моделирование после выполнения синтеза .......................................... 281 6.3. Смешанно-уровневое проектирование в системе QuartusII ...................... 284 6.3.1. Описание проекта ........................................................................................... 286 6.3.2. Файл структурной схемы проекта ............................................................ 287 6.3.3. Создание и вставка элементов проекта ................................................... 288 6.3.4. Элементы проводных соединений проекта ............................................ 294 6.3.5. Компиляция проекта ..................................................................................... 295 6.3.6. Моделирование проекта ............................................................................... 296 6.3.7. Результаты синтеза ......................................................................................... 299 6.4. Макетирование проекта........................................................................................... 304 6.4.1. Описание платы UP3 ..................................................................................... 304 6.4.2. Спецификация платы DE2 .......................................................................... 311 6.4.3. Программирование устройства Cyclone II на плате DE2 ................. 320 6.5. Выводы .......................................................................................................................... 324 7 Проектирование аппаратных утилитных ядер ..................................................... 325 7.1. Управление библиотекой ........................................................................................ 326 7.2. Руководство по основным устройствам ввода-вывода ................................. 327 7.2.1. Устройство устранения дребезга ................................................................ 327 7.2.2. Устройство формирования одного импульса ....................................... 331 7.2.3. Использование основных элементов ввода-вывода платы UP3 .... 333 7.2.4. Использование основных элементов ввода-вывода платы DE2 .... 335 7.3. Делители частоты ...................................................................................................... 336 7.4. Семисегментные дисплеи ....................................................................................... 336 7.4.1. Дешифратор для семисегментного дисплея .......................................... 337 7.4.2. Тестирование дешифратора для сегментного дисплея платы DE2 .................................................................................................................................. 337 7.5. Адаптер жидкокристаллического дисплея ....................................................... 337 7.5.1. Запись в жидкокристаллический дисплей ............................................. 338 7.5.2. Инициализация жидкокристаллического дисплея ............................ 340 7.5.3. Драйвер дисплея с инициализацией ........................................................ 342 7.5.4. Тестирование драйвера жидкокристаллического дисплея на плате UP3 ................................................................................................................ 342 7.5.5. Тестирование драйвера жидкокристаллического дисплея на плате DE2 ................................................................................................................ 343 7.6. Логика интерфейса клавиатуры ........................................................................... 344 7.6.1. Передача последовательных данных ........................................................ 344
Стр.10
10 содержание 7.6.2. Алгоритм включения напряжения питания .......................................... 346 7.6.3. Коды и команды ............................................................................................... 347 7.6.4. Проектирование интерфейса клавиатуры .............................................. 350 7.7. Логический интерфейс VGA .................................................................................. 355 7.7.1. Функционирование драйвера VGA .......................................................... 355 7.7.2. Аппаратура синхронизации монитора ..................................................... 358 7.7.3. Дисплей символов .......................................................................................... 359 7.7.4. Драйвер VGA для текстовых данных ....................................................... 363 7.7.5. Макетирование драйвера VGA на плате UP3 ....................................... 364 7.7.6. Макетирование драйвера VGA на плате DE2 ....................................... 364 7.8. Выводы .......................................................................................................................... 366 8 Проектирование со встраиваемыми процессорами ............................................ 367 8.1. Этапы встраиваемого проектирования .............................................................. 368 8.1.1. Выбор процессора ........................................................................................... 368 8.1.2. Сопряжение процессора ............................................................................... 371 8.1.3. Разработка программного обеспечения .................................................. 372 8.2. Проектирование фильтра ........................................................................................ 372 8.2.1. Концепции фильтров ..................................................................................... 372 8.2.2. Аппаратная реализация КИХ-фильтра ................................................... 376 8.2.3. Встраиваемая реализация КИХ-фильтра ............................................... 378 8.2.4. Построение КИХ-фильтра ........................................................................... 383 8.3. Проектирование микроконтроллера ................................................................... 385 8.3.1. Системная платформа .................................................................................. 385 8.3.2. Архитектура микроконтроллера ................................................................ 386 8.4. Выводы .......................................................................................................................... 387 9 Проектирование встраиваемой системы ................................................................. 388 9.1. Проектирование встраиваемой системы ........................................................... 389 9.2. Процессор Nios II ....................................................................................................... 390 9.2.1. Свойства конфигурируемости процессора Nios II .............................. 392 9.2.2. Архитектура процессора ............................................................................... 394 9.2.3. Система команд ............................................................................................... 400 9.2.4. Альтернативные ядра процессора Nios II ............................................... 403 9.3. Переключательная структура Avalon .................................................................. 403 9.3.1. Спецификация Avalon ................................................................................... 403 9.3.2. Логика дешифрации адреса ......................................................................... 406 9.3.3. Мультиплексирование маршрутов данных ........................................... 406 9.3.4. Вставка состояния ожидания...................................................................... 407 9.3.5. Конвейерная обработка ................................................................................ 407 9.3.6. Преобразование порядка байтов ............................................................... 408 9.3.7. Собственное выравнивание адреса и динамический размер шины ............................................................................................................................... 408 9.3.8. Арбитраж для многомастерных систем ................................................... 409
Стр.11
содержание 11 9.3.9. Управление пакетами ..................................................................................... 411 9.3.10. Пересечение областей синхронизации .................................................. 412 9.3.11. Контроллер прерываний ............................................................................ 412 9.3.12. Распределение сигнала сброса ................................................................. 413 9.4. Обзор программы SOPC Builder ......................................................................... 414 9.4.1. Архитектура систем, создаваемых программой SOPC Builder ....... 414 9.4.2. Функции программы SOPC Builder ......................................................... 416 9.5. Интегрированная среда проектирования IDE ................................................ 417 9.5.1. Менеджер проекта IDE ................................................................................. 417 9.5.2. Редактор исходного кода .............................................................................. 418 9.5.3. Компилятор языка C/C++ ........................................................................... 418 9.5.4. Отладчик ............................................................................................................ 418 9.5.5. Программатор flash-памяти ......................................................................... 419 9.6. Проект встраиваемой системы: калькулятор ................................................... 419 9.6.1. Описание системы .......................................................................................... 420 9.6.2. Вычислительное устройство ....................................................................... 420 9.6.3. Интерфейс ввода-вывода калькулятора ................................................. 421 9.6.4. Проектирование вычислительного устойства ...................................... 422 9.6.5. Построение программного обеспечения калькулятора ..................... 430 9.6.6. Программа калькулятора ............................................................................. 435 9.6.7. Завершение проекта системы «калькулятор» ....................................... 439 9.7. Выводы .......................................................................................................................... 441 Приложение А. Множество команд процессора Nios II .......................................... 442 A.1. Команды передачи данных .................................................................................... 442 A.2. Арифметические и логические команды .......................................................... 443 A.3. Команды пересылки ................................................................................................. 443 A.4. Команды сравнения.................................................................................................. 444 A.5. Команды сдвига и ротации .................................................................................... 444 A.6. Команды управления программой ...................................................................... 445 A.7. Другие команды управления ................................................................................ 445 A.8. Пользовательские команды ................................................................................... 446 A.9. Команда нет операции............................................................................................. 446 A.10. Потенциально нереализованные команды .................................................... 447 Приложение B. Литература для дополнительного чтения ...................................... 448 Предметный указатель ........................................................................................................... 450
Стр.12

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


* - вычисляется автоматически
Периодика по подписке
Антиплагиат система Руконтекст