Проектирование встраиваемых систем на ПЛИС

ОБ АВТОРЕПРЕДИСЛОВИЕВВЕДЕНИЕ Элементы проектирования встраиваемых систем Уровни абстрагирования От транзисторов к программам Смешение уровней абстакции Описание проекта Маршрут проектирования встраиваемых систем Разделение на аппаратную и программную части Аппаратная часть Программная часть Спецификация межсоединений Совместное аппаратно-программное моделирование Синтез аппаратной части Компиляция программной части Генерация межсоединений Интеграция проекта Средства проектирования Описание структурной схемы Языки описания аппаратуры и другие программы моделирования аппаратной части Компиляторы языков программирования Программа моделирования системы, описанной в виде списка цепей Эмулятор системы команд Программы синтеза аппаратной части Компилятор в машинные коды Программы сборки и отладки программной части Программа-интегратор Новые тенденции проектирования аппаратуры Конфигурируемые процессоры Стандартные шины Программирование Программное обеспечение Выводы Основы проектирования логических схем Системы счисления Двоичные числа Шестнадцатеричные числа Двоичная арифметика Числа со знаком Двоичное сложение Двоичное вычитание Система дополнения до двух Переполнение Числа с фиксированной запятой Числа с плавающей запятой Базовые логические вентили и структуры Система логических значений Представление логических функций Транзисторы КМОП-инвертор КМОП-вентиль И-НЕ КМОП-вентиль ИЛ И-НЕ Вентили И и ИЛИ Вентиль ИСКЛЮЧАЮЩЕЕ ИЛИ Мультиплексоры Вентили с тремя состояниями выходов Функциональный генератор (ШТ-элемент) Проектирование комбинационных схем Булева алгебра Карты Карно Неопределенные значения Минимальное покрытие Импликанта Основная импликанта Существенные основные импликанты Нахождение минимального покрытия Итеративная аппаратура Мультиплексоры и дешифраторы Уровни активности Входы разрешения/запрета Высокоуровневое проектирование Запоминающие элементы Простой триггер-защелка Тактируемый D-триггер О-триггер (триггер с задержкой) Управление триггером Регистры Проектирование последовательностных схем Конечные автоматы Проектирование конечных автоматов Описание задачи Диаграмма состояний Кодирование внутренних состояний Таблица переходов Таблицы возбуждения Проектирование комбинационной части Окончательный проект Автоматы Мили и Мура Унарное кодирование состояний Часто используемые последовательностные схемы Счетчики Сдвиговые регистры Запоминающие устройства Структура статического оперативного запоминающего устройства Двунаправленные выводы Обобщающий пример: последовательный сумматор Постановка задачи Разбиение проекта на блоки Проектирование операционного устройства Выводы Проектирование на уровне регистровых передач с использованием языка Verilog Основные структуры языка Verilog Модули Структура модуля Порты модуля Переменные модуля Система логических значений Вычисление значений проводных соединений (цепей) Комбинационные схемы Комбинационные схемы на уровне вентилей Пример схемы мажоритарного контроля Пример мультиплексора Пример КМОП-вентиля И-НЕ Синтез на вентильном уровне Описания с использованием логических уравнений Пример вентиля ИСКЛЮЧАЮЩЕЕ ИЛИ Пример полного сумматора Пример компаратора Пример мультиплексора Пример дешифратора Пример сумматора Пример АЛУ Создание других модулей Пример АЛУ, использующего сумматор Описание итеративного сумматора Синтез операторов присваивания Описания с использованием процедурных операторов Пример схемы мажоритарного контроля Пример схемы мажоритарного контроля с задержкой Пример полного сумматора Пример процедурного мультиплексора Правила описания комбинационных схем Синтез процедурных блоков Соединения с шиной Последовательностные схемы Основные элементы памяти на вентильном уровне Элементы памяти, использующие процедурные операторы Защелки D-триггер Синхронное управление Асинхронное управление Синтез триггеров Регистры, сдвиговые регистры и счетчики Регистры Сдвиговые регистры Синтез сдвиговых регистров и счетчиков Кодирование конечных автоматов Детектор Мура Пример автомата Мили Стиль кодирования Хаффмана Более сложные выходы Синтез конечных автоматов Запоминающие устройства Индексация массива Стандартная память Написание тестовых примеров Генерация периодических данных Случайные входные данные Привязка данных ко времени Спецификация последовательного умножителя Процесс умножения путем сдвига и сложения Проектирование последовательного умножителя Разбиение управляющих данных Операционное устройство умножителя Описание операционного устройства Устройство управления умножителя Описание умножителя на верхнем уровне Тестирование умножителя Файлы читаемых данных Применение сигнала start Синтез результатов Выводы Аппаратное и программное обеспечение компьютера Аппаратное и программное обеспечение компьютера Дрограммное обеспечение компьютера Машинный код Язык ассемблера Язык высокого уровня Язык программирования С Препроцессор Типы данных в языке С Объявление переменных в языке С Оператор присваивания Условные операторы Операторы цикла Подпрограммы Массивы и указатели Ввод и вывод Описание программы сортировки Архитектура множества команд Аппаратное обеспечение Программное обеспечение Аппаратно-программный интерфейс Проектирование процессора SMPL-CPU Описание процессора Внешние шины процессора Регистры общего назначения Организация памяти Формат команд Режим адресации Одноцикловая реализация Проектирование операционного устройства Выполнение команд Проектирование контроллера Описание на языке /еп1од Элементы операционного устройства Описание операционного устройства Описание контроллера Законченый проект Тестирование одноциклового процессора SMPL-CPU Многоцикловая реализация Проектирование операционного устройства Проектирование контроллера Описание на языке Verilog Описание операционного устройства Описание контроллера Полный проект Тестирование многоцикловой реализации процессора SMPL-CPU Структура тестового примера или ассемблера Ассемблер Проектирование и тестирование компьютера SAYEH Детали функционирования процессора Элементы процессора Команды процессора SAYEH Операционное устройство процессора SAYEH Элементы операционного устройства Описание процессора БАУЕН на языке УегИод Описание верхнего уровня процессора SAYEH Тестовый пример/ассемблер верхнего уровня процессора SAYEH Реализация аппаратной части процессора SAYEH Выводы Программируемые логические интегральные схемы (ПЛИС) Постоянные запоминающие устройства Основная структура ПЗУ Реализация на вентилях ИЛИ-НЕ Распределенные вентили Программируемость матриц Обзор памяти Разновидности ПЗУ ROM PROM EPROM EEPROM Флэш-память Программируемые логические матрицы Логическая структура PAL Расширение промежуточных шин Выходы с тремя состояниями Регистровые выходы Коммерческие устройства EPLD семейства Classic фирмы AlteraМакроячейкиПрограммируемые регистрыВыбор разрешения выхода/синхросигналаВыбор обратной связи Сложные программируемые логические устройства CPLD семейства MAX 7000S фирмы Altera Блоки логической матрицы Матрица программируемых внутренних соединений Блоки управления вводом-выводом Программируемые пользователем вентильные матрицы FPGA семейства FLEX 10K фирмы Altera Блоки устройств семейства FLEX 10К Блок встраиваемой матрицы (ЕАВ) Блок логической матрицы Быстрые каналы внутренних соединений Элементы ввода-вывода FPGA семейства Cyclone фирмы Altera Блоки логической матрицы Логические элементы Многоканальные межсоединения Встраиваемая память Цепь глобальной синхронизации и фазовая Структура элемента ввода-вывода Последовательность подачи напряжений питания Выводы Средства для проектирования и макетирования Маршрутдроектирования аппаратной части Операционное устройство последовательного сумматора Контроллер последовательного сумматора HDL-моделирование и HDL-синтез Моделирование перед синтезом Создание проекта Создание тестового примера на языке Verilog Компиляция файлов проекта Начало моделирования Настройка временной диаграммы Выполнение моделирования Синтез модуля Синтез проекта Компиляция проекта Моделирование после выполнения синтеза Монтаж проекта Тестовый пример для моделирования после синтеза Моделирование описаний до и после синтеза Отображение временных диаграмм Смешанно-уровневое проектирование в системе Quartusll Описание проекта Файл структурной схемы проекта Создание и вставка элементов проекта Вставка базовых элементов Вставка двунаправленных выводов Вставка конфигурируемых элементов Вставка элементов на высокоуровневом языке описания Элементы контроллера Элементы проводных соединений проекта Компиляция проекта Моделирование проекта Определение временной диаграммы Выполнение моделирования Результаты синтеза Информация маршрута проектирования Временная информация Информация об аппаратных средствах Макетирование проекта Описание платы UP3 Программирование UP3 Основные устройства ввода-вывода Жидкокристаллический дисплей Разъем для мыши и клавиатуры PS/2 Стандартный разъем VGA Устройство FLASH-памяти Устройство БЯАМ Устройство памяти SDRAM Схемы синхронизации платы UP3 Другие интерфейсные устройства платы UP3 Спецификация платы DE2 Программирование платы DE2 Основные устройства ввода-вывода Жидкокристаллический дисплей Разъем для мыши и клавиатуры PS/2 Стандартный разъем VGA Устройство FLASH-памяти Устройство SRAM Устройство памяти SDRAM Схемы синхронизации платы DE2 Другие устройства платы иРЗ Программирование устройства Cyclone II на плате DE2 Назначение выводов Установка программатора Программирование устройства Cyclone II Тестирование проекта serialjadder Выводы Проектирование аппаратных утилитных ядер Управление библиотекой Руководство по основным устройствам ввода-вывода Устройство устранения дребезга Ввод устройства устранения дребезга на вентильном Формирование медленного синхросигнала с помощью Полный проект переключателя без дребезга Устройство формирования одного импульса Проектирование устройства формирования одного Устройство формирования одного чистого импульса Использование основных элементов ввода-вывода платы UP3 Использование основных элементов ввода-вывода платы DE2 Делители частоты Семисегментные дисплеи Дешифратор для семисегментного дисплея Тестирование дешифратора для сегментного дисплея платы DE2 Адаптер жидкокр металлического дисплея Запись в жидкокристаллический дисплей Инициализация жидкокристаллического дисплея Драйвер дисплея с инициализацией Тестирование драйвера жидкокристаллического дисплея на плате UP3 Тестирование драйвера жидкокристаллического дисплея на плате DE2 Логика интерфейса клавиатуры Передача последовательных данных Формат последовательных данных Передача данных клавиатурой Передача данных системой Алгоритм включения напряжения питания Коды и команды Системные команды Команды клавиатуры Коды клавиатуры Проектирование интерфейса клавиатуры Получение кода Маке Поиск кода ASCII Драйвер клавиатуры Тестирование драйвера клавиатуры Логический интерфейс VGA Функционирование драйвера VGA Обмен пикселов Синхронизация монитора 7йА Аппаратура синхронизации монитора Дисплей символов Указатель символа Аппаратура генерации пиксела Драйвер VGA для текстовых данных Макетирование драйвера VGA на плате UP3 Макетирование драйвера VGA на плате DE2 Выводы Проектирование со встраиваемыми процессорами Этапы встраиваемого проектирования Выбор процессора Программные ядра Аппаратные ядра Процессорные ядра на языке HDL Пример встраиваемого процессора Сопряжение процессора Простое сопряжение Пример интерфейса встраиваемого процессора Разработка программного обеспечения Основная задача программирования Пример программных средств Проектирование фильтра Концепции фильтров Аналоговые и цифровые фильтры Дискретизация Импульсная характеристика Уравнение фильтра Фильтр с импульсной характеристикой конечной Аппаратная реализация КИХ-фильтра Проектирование КИХ-фильтра на уровне регистровых передач Проектирование процессорного ядра КИХ-фильтра Встраиваемая реализация КИХ-фильтра Выбор процессора Сопряжение памяти и ввода-вывода Построение КИХ-фильтра Проектирование микроконтроллера Системная платформа Архитектура микроконтроллера Выводы Проектирование встраиваемой системы Проектирование встраиваемой системы Процессор Nios II Свойства конфигурируемости процессора Nios II Конфигурируемое программное ядро процессора Гибкость множества периферии и адресной карты Пользовательские команды Создание автоматизированной системы Архитектура процессора Регистровый файл Арифметическо-логическое устойство Сигналы сброса Контроллер исключительных ситуаций и прерываний Организация памяти и ввода-вывода Режимы адресации Модуль отладки JTAG Система команд Команды передачи данных Арифметические и логические команды Команды пересылки Команды сравнения Команды сдвига и ротации Команды управления программой Другие программы управления Команды пользователя Команда нет операции Потенциально нереализованные команды Альтернативные ядра процессора Nios II Переключательная структура Avalon Спецификация Avalon Реализация переключательной структуры Avalon Функции переключательной структуры Avalon Логика дешифрации адреса Мультиплексирование маршрутов данных Вставка состояния ожидания Конвейерная обработка Преобразование порядка байтов Собственное выравнивание адреса и динамический размер шины Арбитраж для многомастерных систем Арбитраж со стороны подчиненного порта Детали арбитра Управление пакетами Пересечение областей синхронизации Логика пересечения областей синхронизации Связь главный-подчиненный Контроллер прерываний Программный приоритет Аппаратный приоритет Распределение сигнала сброса Обзор программы SOPC Builder Архитектура систем, создаваемых программой SOPC Builder Элементы в программе SOPC Builder Переключательная структура Avalon Функции программы SOPC Builder Синтез аппаратуры Карта памяти для разработки программного обеспечения Создание модели для моделирования Интегрированная среда проектирования IDE Менеджер проекта IDE Редактор исходного кода Компилятор языка C/C++ Отладчик Программатор flash-памяти Проект встраиваемой системы: калькулятор Описание системы Вычислительное устройство Интерфейс ввода-вывода калькулятора Проектирование вычислительного устойства Проектирование калькулятора Спецификация процессора Параллельные устройства ввода-вывода Завершение проектирования Построение программного обеспечения калькулятора Определение программного обеспечения проекта Взаимодействие программы на языке С Построение проекта Программа калькулятора Завершение проекта системы «калькулятор» ВыводыА. Множество команд процессора Nios IIА.1. Команды передачи данныхА.2. Арифметические и логические командыА.З. Команды пересылкиА.4. Команды сравненияА.5. Команды сдвига и ротацииА.6. Команды управления программойА.7. Другие команды управленияА.8. Пользовательские командыА.9. Команда нет операцииА. 10. Потенциально нереализованные командыВ. Литература для дополнительного чтенияПредметный указатель
 
РЕЗЮМЕ След >