Зотов В. Ю. Проектирование встраиваемых микропроцессорных систем на основе ПЛИС фирмы XILINX®. - М.: Горячая линия - Телеком, 2006. - 520 е., ил.

Зотов В. Ю. Проектирование встраиваемых микропроцессорных систем на основе ПЛИС фирмы XILINX®. - М.: Горячая линия - Телеком, 2006. - 520 е., ил.

Turbobit.net:Скачать

 ПРЕДИСЛОВИЕ

Современный этап развития цифровой техники характеризуется широким применением программно-аппаратных комплексов, которые строятся по принципу «система на кристалле» (System-on-Chip). При этом в качестве элементной базы для реализации таких систем все чаще используются программируемые логические интегральные схемы (ПЛИС). Такая тенденция обусловлена тем, что современные семейства ПЛИС отличаются высоким быстродействием и значительным объемом логических и специальных ресурсов в сочетании с относительно невысокой стоимостью. Ведущими производителями кристаллов программируемой логики для поддержки данного направления разработаны микропроцессорные ядра, а также соответствующие средства проектирования и отладки встраиваемых систем. Фирма Xilinx® предоставляет несколько семейств микропроцессорных ядер, широкий спектр IP-компонентов периферийных устройств, а также средства автоматизированного проектирования, позволяющие в короткие сроки и с минимальными затратами создавать цифровые системы на кристалле, реализуемые на базе ПЛИС с различной архитектурой.

Данное издание знакомит с технологией сквозного проектирования встраиваемых микропроцессорных систем на основе ПЛИС фирмы Xilinx. Приводится описание микропроцессорных ядер и соответствующих средств проектирования, позволяющих выполнить все этапы разработки, начиная с создания проекта и заканчивая программированием кристалла.

Структура книги включает в себя 14 глав и 3 приложения. В гл. 1 дается краткая характеристика микропроцессорных ядер и систем автоматизированного проектирования (САПР), предлагаемых фирмой Xilinx. В гл. 2 подробно рассматриваются основные характеристики и архитектура базового варианта микропроцессорного ядра семейства PicoBlaze, реализуемого на основе ПЛИС серий Spartan™-II, Spartan-IIE, Virtex™, Virtex-E. В гл. 3 описывается система команд этого варианта микропроцессорного ядра PicoBlaze. Гл. 4 знакомит с особенностями микропроцессорного ядра PicoBlaze, предназначенного для применения в проектах систем, реализуемых на основе ПЛИС семейства Virtex-Il. В гл. 5 представлены отличия характеристик, архитектуры и системы команд микропроцессорного ядра PicoBlaze, реализуемого на основе ПЛИС семейства CoolRunner-II, по сравнению с базовым вариантом. В гл. 6 рассмотрены отличительные особенности микропроцессорного ядра PicoBlaze, предназначенного для реализации на основе ПЛИС семейств Spartan-3, Virtex-II, Virtex-Il PRO и Virtex-4. Гл. 7 посвящена вопросам разработки и трансляции программ на языке ассемблера микропроцессорных ядер семейства PicoBlaze. В гл. 8 представлены этапы проектирования встраиваемых систем на основе микропроцессорных ядер семейства PicoBlaze и процесс их выполнения в САПР серии Xilinx ISE™ (Integrated Synthesis Environment). Здесь же приведен пример разработки контроллера с использованием ядра PicoBlaze, реализуемого в ПЛИС семейства Spartan-3. Гл. 9 знакомит с характеристиками и архитектурой микропроцессорных ядер семейства MicroBlaze. Система команд данного семейства микропроцессорных ядер представлена в гл. 10. В гл. 11 приведено описание характеристик и пользовательского интерфейса комплекса средств автоматизированного проектирования встраиваемых 32-разрядных микропроцессорных систем Xilinx Embedded Development Kit™

(EDK). В гл. 12 подробно рассмотрено поэтапное выполнение процесса разработки микропроцессорных систем на основе ядер семейства MicroBlaze в САПР Xilinx EDK. Гл. 13 представляет методику проектирования встраиваемых систем на основе микропроцессорных ядер семейства MicroBlaze, осуществляемого с помощью мастера Base System Builder Wizard™. Гл. 14 знакомит с аппаратными средствами, применяемыми для отладки встраиваемых микропроцессорных систем, разрабатываемых на основе ПЛИС фирмы Xilinx.

В прил. 1-3 приведены VHDL-описания исполнительных модулей микропроцессорных ядер семейства PicoBlaze, реализуемых на базе ПЛИС семейств Spartan™-II, Spartan-IIE, Virtex™, Virtex-E, CoolRunner-II, Spartan-3, Virtex-II, Virtex-IIPRO и Virtex-4. Представленные тексты VHDL-описаний могут использоваться в качестве образцов или шаблонов при создании собственных микропроцессорных ядер, предназначенных для разработки встраиваемых систем на основе ПЛИС различных семейств, выпускаемых фирмой Xilinx.

При изучении материала рекомендуется воспользоваться бесплатными версиями рассматриваемых систем проектирования, которые можно заказать, обратившись на Web-страницу www.xilinx.com или к официальному дистрибьютору фирмы Xilinx.

Автор выражает благодарность заместителю генерального директора фирмы InlineGROUP (официального дистрибьютора фирмы Xilinx) Д. А. Кнышеву и ведущим сотрудникам М. О. Кузелину, М. Ю. Гетопанову, Г. И. Алексееву, Ю. В. Митя-кину, А. В. Перекресту за информационно-техническую поддержку в процессе работы над книгой.

ОГЛАВЛЕНИЕ

ПРЕДИСЛОВИЕ.................................................................................................................3

1. ХАРАКТЕРИСТИКА МИКРОПРОЦЕССОРНЫХ ЯДЕР И СРЕДСТВ ПРОЕКТИРОВАНИЯ ВСТРАИВАЕМЫХ МИКРОПРОЦЕССОРНЫХ СИСТЕМ

НА ОСНОВЕ ПЛИС ФИРМЫ XILINX.............................................................................5

1.1. Типы микропроцессорных ядер, предназначенных для разработки встраиваемых систем на основе ПЛИС фирмы Xilinx...............................................5

1.2. Краткая характеристика микропроцессорных ядер семейства PicoBlaze.........6

1.3. Краткая характеристика микропроцессорных ядер семейства MicroBlaze.......7

1.4. Краткая характеристика микропроцессорных ядер семейства PowerPC..........8

1.5. Краткий обзор основных средств проектирования, предоставляемых фирмой Xilinx....10

2. МИКРОПРОЦЕССОРНОЕ ЯДРО PICOBLAZE, ПРЕДНАЗНАЧЕННОЕ

ДЛЯ РАЗРАБОТКИ ВСТРАИВАЕМЫХ СИСТЕМ НА ОСНОВЕ ПЛИС ФИРМЫ XILINX СЕМЕЙСТВ SPARTAN-II, SPARTAN-ПЕ, VIRTEX, VIRTEX-E..................15

2.1. Основные характеристики микропроцессорного ядра PicoBlaze (семейства Spartan-II, Spartan-IIE, Virtex, Virtex-E)......................................................................15

2.2. Архитектура микропроцессорного ядра PicoBlaze (семейства Spartan-II, Spartan-IIE, Virtex, Virtex-E)......16

2.3. Структура проекта микропроцессорного ядра PicoBlaze

(семейства Spartan-II, Spartan-IIE, Virtex, Virtex-E)..................................................19

2.4. Общая характеристика системы команд, поддерживаемых микропроцессорным ядром PicoBlaze (семейства Spartan-II» Spartan-IIE,Virtex, Virtex-E).....................................24

 3. СИСТЕМА КОМАНД МИКРОПРОЦЕССОРНОГО ЯДРА PICOBLAZE, РЕАЛИЗУЕМОГО НА ОСНОВЕ ПЛИС СЕМЕЙСТВ SPARTAN-II, SPARTAN-IIE, VIRTEX, VIRTEX-E...............................................................................26

3.1. Команды управления последовательностью выполнения операций

в программе..........26

3.2. Группа логических команд...................................................................................30

3.3. Группа арифметических команд..........................................................................34

3.4. Команды сдвига данных.......................................................................................37

3.5. Команды ввода/вывода.........................................................................................39

3.6. Команды обслуживания прерываний..................................................................40

3.7. Различия в системе команд микропроцессорных ядер семейства PicoBlaze... 42

4. ОСОБЕННОСТИ МИКРОПРОЦЕССОРНОГО ЯДРА PICOBLAZE, ПРЕДНАЗНАЧЕННОГО ДЛЯ ПРИМЕНЕНИЯ В ПРОЕКТАХ, РЕАЛИЗУЕМЫХ

НА ОСНОВЕ ПЛИС СЕМЕЙСТВА VIRTEX-II............................................................43

4.1. Основные характеристики микропроцессорного ядра PicoBlaze (семейство Virtex II).....................................................................................................43

4.2. Архитектура микропроцессорного ядра PicoBlaze (семейство Virtex-II).......43

4.3. Структура проекта микропроцессорного ядра PicoBlaze (семейство Virtex-II)............45

4.4. Система команд микропроцессорного ядра PicoBlaze (семейство Virtex-II)... 50

4.5. Команды управления последовательностью выполнения операций в программе для ядра PicoBlaze, реализуемого на базе кристаллов

семейства Virtex-II.................50

4.6. Группа логических команд микропроцессорного ядра PicoBlaze (семейство Virtex-II).....................................................................................................52

4.7. Группа арифметических команд микропроцессорного ядра PicoBlaze (семейство Virtex-II).....................................................................................................54

4.8. Команды сдвига данных для микропроцессорного ядра PicoBlaze, реализуемого на основе кристаллов семейства Virtex-II.........................................55

4.9. Команды ввода/вывода микропроцессорного ядра PicoBlaze

(семейство Virtex-II).....................................................................................................56

4.10. Команды обслуживания прерываний микропроцессорного ядра PicoBlaze (семейство Virtex-II).....................................................................................................57

5. ОСОБЕННОСТИ МИКРОПРОЦЕССОРНОГО ЯДРА PICOBLAZE, ПРЕДНАЗНАЧЕННОГО ДЛЯ ПРИМЕНЕНИЯ В ПРОЕКТАХ, РЕАЛИЗУЕМЫХ

НА ОСНОВЕ ПЛИС СЕМЕЙСТВА COOLRUNNER-II...............................................58

5.1. Основные характеристики микропроцессорного ядра PicoBlaze (семейство CoolRunner-II)...........................................................................................58

5.2. Архитектура микропроцессорного ядра PicoBlaze

(семейство CoolRunner-II)...........................................................................................59

5.3. Структура проекта микропроцессорного ядра PicoBlaze (семейство CoolRunner-II)...............................................................................................................60

5.4. Система команд микропроцессорного ядра PicoBlaze

(семейство CoolRunner-II)...........................................................................................64

5.5. Команды управления последовательностью выполнения операций

в программе для ядра PicoBlaze, реализуемого на базе кристаллов семейства CoolRunner-II................................................................................................................64

5.6. Группа логических команд микропроцессорного ядра PicoBlaze, предназначенного для использования в кристаллах семейства CoolRunner-II.......66

5.7. Группа арифметических команд микропроцессорного ядра PicoBlaze, предназначенного для применения в кристаллах семейства CoolRunner-II...........67

5.8. Команды сдвига данных для микропроцессорного ядра PicoBlaze, предназначенного для использования в кристаллах семейства CoolRunner-II.......69

5.9. Команды ввода/вывода микропроцессорного ядра PicoBlaze, предназначенного для применения в кристаллах семейства CoolRunner-II...........70

5.10. Команды обслуживания прерываний микропроцессорного ядра PicoBlaze, реализуемого на основе кристаллов семейства CoolRunner-II.................................70

6. ОСОБЕННОСТИ МИКРОПРОЦЕССОРНОГО ЯДРА PICOBLAZE, ПРЕДНАЗНАЧЕННОГО ДЛЯ ПРИМЕНЕНИЯ В ПРОЕКТАХ, РЕАЛИЗУЕМЫХ НА ОСНОВЕ ПЛИС СЕМЕЙСТВ SPARTAN-3, VLRTEX-IIt VIRTEX-IIPRO

И VIRTEX-4.......................................................................................................................72

6.1. Основные характеристики микропроцессорного ядра PicoBlaze

(семейства Spartan-3, Virtex-II, Virtex-IIPRO и Virtex-4)..........................................72

6.2. Архитектура микропроцессорного ядра Р1соВ1аге (семейства ЗраПап-З, Уи1ех-П, УЫех-ПРЯО и Уи1;ех-4)...............................................................................73

6.3. Структура проекта микропроцессорного ядра РюоВ1а2е

(семейства ЗраПап-З, У1Пех-П, У^ех-ПРЯО и У^ех-4)..........................................75

6.4. Общая характеристика системы команд микропроцессорного

ядра Р1СоВ1аге (семейства 5ра11;ап-3, Уи^ех-П, У1Пех-ИР110 и У1Лех-4)...............79

6.5. Команды управления последовательностью выполнения операций

в программе для ядра Р1соВ1аге, реализуемого на базе кристаллов семейств ЭраПап-З, УШех-И, У1пех-ПРЯО и Уи1ех-4...............................................................80

6.6. Группа логических команд микропроцессорного ядра РюоВ1аге, предназначенного для использования в кристаллах семейств БраЛап-З, У1Пех-П, У1Пех-11РКО и УЬ1ех-4.....82

6.7. Группа арифметических команд микропроцессорного ядра Р1соВ1аге, предназначенного для использования в кристаллах семейств Зрайап-З, УШех-Н, УМех-НРЯО и Уп1ех-4.................85

6.8. Команды сдвига данных для микропроцессорного ядра Р1соВ1аге, реализуемого в кристаллах семейств БраПап-З, УнЧех-П, УМех-ПРБЮ и Уи1ех-4............................88

6.9. Команды ввода/вывода микропроцессорного ядра Р1соВ1аге, предназначенного для использования в кристаллах семейств БраЛап-З, УШех-Н, Утех-НРЮ и Ун1ех-4.....................................................89

6.10. Команды обслуживания прерываний микропроцессорного ядра Р1соВ1аге, предназначенного для использования в кристаллах семейств ЯраЛап-З, УШех-П, У 1Пех-ПР1Ю и У1Лех-4........................................90

6.11. Команды чтения и записи данных в сверхоперативное запоминающее устройство микропроцессорного ядра Р1соВ1аге, предназначенного

для использования в кристаллах семейств ЭраПап-З, Уи*1ех-П, УпЧех-ПРКО и Утех-4...................  СЕМЕЙСТВА MICROBLAZE.......................................................................................190

10.1. Общая характеристика команд, поддерживаемых микропроцессорными ядрами семейства MicroBlaze....................................................................................190

10.2. Форматы команд, поддерживаемых микропроцессорными

ядрами семейства MicroBlaze....................................................................................191

10. 3. Группа арифметических команд.....................................................................192

10. 4. Группа логических команд..............................................................................203

10. 5. Команды сдвига данных..................................................................................208

10. 6. Команды преобразования типов данных........................................................212

10. 7. Команды передачи данных..............................................................................215

10. 8. Команды управления последовательностью выполнения операций

в программе.................................................................................................................221

10. 9. Группа инструкций ввода/вывода...................................................................235

10.10. Группа специальных команд..........................................................................237

ЮЛ 1. Инструкции записи в кеш-память..................................................................240

ЮЛ 2. Инструкции поразрядного сравнения двух операндов................................240

10.13. Группа команд, предназначенных ддя выполнения операций с плавающей запятой.................................................................................................242

11. EMBEDDED DEVELOPMENT KIT - СИСТЕМА ПРОЕКТИРОВАНИЯ ВСТРАИВАЕМЫХ 32-РАЗРЯДНЫХ МИКРОПРОЦЕССОРНЫХ СИСТЕМ

НА ОСНОВЕ ПЛИС СЕРИЙ FPGA ФИРМЫ XILINX................................................247

11.1. Основные характеристики пакета Xilinx Embedded Development Kit..........247

11.2. Структура средств разработки встраиваемых микропроцессорных систем Embedded System Tools..............................................................................................249

11.3. Краткая характеристика и пользовательский интерфейс управляющей оболочки Xilinx Platform Studio................................................................................254

11.4. Этапы проектирования микропроцессорных систем на основе ПЛИС семейств FPGA фирмы Xilinx с применением ядер семейства MicroBlaze..........258

11.5. Структура проекта в САПР встраиваемых микропроцессорных

систем Xilinx Embedded System Tools......................................................................260

12. ПРОЕКТИРОВАНИЕ ВСТРАИВАЕМЫХ 32-РАЗРЯДНЫХ МИКРОПРОЦЕССОРНЫХ СИСТЕМ НА ОСНОВЕ ЯДЕР СЕМЕЙСТВА MICROBLAZE.................................................................................................................261

12.1. Создание нового проекта встраиваемой микропроцессорной системы

в среде управляющей оболочки Xilinx Platform Studio...........................................262

12.2. Синтаксис файла спецификации аппаратной платформы разрабатываемой микропроцессорной системы, реализуемой на базе ПЛИС семейств FPGA фирмы Xilinx...............................................................................................................273

12.3. Создание спецификации аппаратной платформы разрабатываемой микропроцессорной системы в среде

управляющей оболочки Xilinx Platform Studio........................................................278

12. 4. Подготовка файла временных и топологических ограничений проекта аппаратной платформы разрабатываемой микропроцессорной системы.............300

12.5. Формирование списка соединений аппаратной платформы разрабатываемой микропроцессорной системы......................................................303

12.6. Реализация проекта аппаратной части разрабатываемой

микропроцессорной системы в кристалле FPGA....................................................304

12. 7. Генерация конфигурационной последовательности для проекта аппаратной части разрабатываемой 32-разрядной

микропроцессорной системы....................................................................................311

12.8. Синтаксис и структура файла спецификации программной платформы

разрабатываемой 32-разрядной микропроцессорной системы,

реализуемой на базе ПЛИС семейств FPGA фирмы Xilinx....................................315

12.9. Создание спецификации программных средств разрабатываемой 32-разрядной микропроцессорной системы в среде управляющей

оболочки Xilinx Platform Studio................................................................................320

12.10. Генерация программной платформы разрабатываемой 32-разрядной микропроцессорной системы, реализуемой на основе ПЛИС семейств FPGA фирмы Xilinx...............................................................................................................326

12.11. Создание проекта прикладной программы для разрабатываемой 32-разрядной микропроцессорной системы в среде управляющей

оболочки Xilinx Platform Studio................................................................................326

12.12. Формирование исходных модулей прикладной программы для разрабатываемой 32-разрядной микропроцессорной системы..............................333

12.13. Создание файла директив для компоновщика (linker script).......................334

12.14. Компиляция и компоновка прикладной программы

для разрабатываемой 32-разрядной микропроцессорной системы.......................338

12.15. Запись исполняемого кода прикладной программы в конфигурационную последовательность проекта аппаратной части микропроцессорной системы,

и загрузка конфигурационных данных в кристалл FPGA......................................338

13. РАЗРАБОТКА ВСТРАИВАЕМЫХ 32-РАЗРЯДНЫХ МИКРОПРОЦЕССОРНЫХ СИСТЕМ НА ОСНОВЕ ЯДЕР СЕМЕЙСТВА MICROBLAZE С ПОМОЩЬЮ МАСТЕРА BASE SYSTEM BUILDER WIZARD.........................................................341

13.1. Выбор способа создания проекта разрабатываемой микропроцессорной системы в САПР Xilinx EST......................................................................................341

13.2. Формирование исходных файлов описания разрабатываемой 32-разрядной микропроцессорной системы с помощью

мастера Base System Builder Wizard.........................................................................344

13.3. Формирование конфигурационной последовательности для проекта аппаратной части разрабатываемой 32-разрядной

микропроцессорной системы....................................................................................372

13.4. Создание программного обеспечения для разрабатываемой 32-разрядной микропроцессорной системы............................................................373

13.5. Включение исполняемого кода прикладной программы

в конфигурационную последовательность проекта аппаратной части микропроцессорной системы и загрузка конфигурационных данных в кристалл FPGA........................................................................................................373

14. АППАРАТНЫЕ СРЕДСТВА РАЗРАБОТКИ ВСТРАИВАЕМЫХ МИКРОПРОЦЕССОРНЫХ СИСТЕМ НА СНОВЕ ПЛИС ФИРМЫ XILINX..........375

14.1. Инструментальный комплект CoolRunner-II Design Kit................................375

14.1.1. Назначение и основные характеристики инструментального комплекта CoolRunner-II Design Kit...............................................................375

14.1.2. Структура инструментального модуля Digilab ХС2

(Digiiab XC2-XL)..............................................................................................377

14.1.3. Организация питания инструментального модуля Digilab ХС2 (Digilab XC2-XL)..............................................................................................382

14.1.4. Формирование цепочки периферийного сканирования ПЛИС

в составе инструментального модуля Digilab ХС2 (Digilab XC2-XL).........383

14.1.5. Работа с инструментальным модулем Digilab ХС2

(Digilab XC2-XL)..............................................................................................384

14.1.6. Краткая характеристика ПЛИС семейства CoolRunner-II, используемых в инструментальном модуле Digilab ХС2

(Digilab XC2-XL)..............................................................................................385

14.2. Инструментальный комплект Spartan-3 Starter Kit.........................................387

14.2Л. Назначение и основные характеристики инструментального комплекта Spartan-3 Starter Kit........................................................................387

14.2.2, Структура инструментального модуля Spartan-3 Starter Board........389

14.2.3. Краткая характеристика ПЛИС XC3S200, используемой

в инструментальном модуле Spartan-3 Starter Board.....................................395

14.2.4, Описание структуры тестового проекта.............................................397

14.2.5. Использование инструментального модуля

Spartan-3 Starter Board......................................................................................398

Приложение 1. VHDL-ОПИСАИИЕ ИСПОЛНИТЕЛЬНОГО МОДУЛЯ МИКРОПРОЦЕССОРНОГО ЯДРА PICOBLAZE, РЕАЛИЗУЕМОГО НА ОСНОВЕ ПЛИС СЕМЕЙСТВ SPARTAN-II, SPARTAN-IIE, VIRTEX, У1КТЕХ-Е........................................................................................................399

Приложение 2. VHDL-ОПИСАИИЕ МИКРОПРОЦЕССОРНОГО ЯДРА PICOBLAZE, ПРЕДНАЗНАЧЕННОГО ДЛЯ ИСПОЛЬЗОВАНИЯ В ПРОЕКТАХ, ВЫПОЛНЯЕМЫХ НА ОСНОВЕ ПЛИС СЕМЕЙСТВА COOLRUNNER-II............................................................................................................443

Приложение 3. VHDL-ОПИСАИИЕ ИСПОЛНИТЕЛЬНОГО МОДУЛЯ МИКРОПРОЦЕССОРНОГО ЯДРА PICOBLAZE, РЕАЛИЗУЕМОГО НА ОСНОВЕ ПЛИС СЕМЕЙСТВ SPARTAN-3, VIRTEX-II, VIRTEX-IIPRO, VIRTEX-4.........................................................................................................................478

ЛИТЕРАТУРА.................................................................................................................512

Похожие книги: