Издательство Московского государственного университета леса

Федеральное государственное бюджетное образовательное

Учреждение высшего профессионального образования

«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ЛЕСА»

Н.В. Ефремов, А.А. Бородин

Инструментальные средства проектирования и отладки систем на программируемых

Кристаллах компании Altera

Рекомендовано к изданию Редакционно-издательским советом университета в качестве учебного пособия для студентов направления 230100 «Информатика и вычислительная техника» факультета электроник­и и системотехники

Учебное пособие

Москва

Издательство Московского государственного университета леса


УДК 004.896(075)

Е92

Разработано в соответствии с Федеральным государственным образовательным стандартом ВПО 2009 г. по направлению подготовки 230100 «Информатика и вычислительная техника» на основе программы дисциплины «Организация ЭВМ и систем»

Рецензент: доцент кафедры управляющих интеллектуальных систем МИФИ

Е.Ф. Березкин

Работа подготовлена на кафедре вычислительной техники

Ефремов Н.В., Бородин А.А.

Е92 Инструментальные средства проектирования и отладки систем на программируемых кристаллах компании Altera: учебное пособие. – М.: ФГБОУ ВПО МГУЛ, 2012. -151 с.

Изложены основные сведения по приложениям SOPC Вuilder, входящему в состав Quartus II, и Altera Monitor Program. Первое предназначено для проектирования процессорных систем на кристаллах FPGA компании Altera, второе для отладки программ, выполняемых в процессорных системах. Приведено описание мультимедийной процессорной системы «DE2-70 Media Computer», используемой при выполнении лабораторных работ по дисциплине «Организация ЭВМ и систем» и процессора Nios II, являющегося основой проектируемых систем. Предназначено для студентов, обучающихся по направлению «Информатика и вычислительная техника» и студентов смежных специальностей.

УДК 004.896(075)

©Н.В. Ефремов, А.А. Бородин

©ФГБОУ ВПО МГУЛ, 2012

В настоящее время проектирование систем на кристалле считается новым направлением в развитии электронной техники. В работе [1] сформулировано следующее определение: система на кристалле — это СБИС, интегрирующая на кристалле различные функциональные блоки, которые образуют законченное изделие для автономного применения в электронной аппаратуре.

Существует два варианта реализации систем на кристалле, в виде заказной СБИС (ASIC) и на базе программируемой логической интегральной схемы (ПЛИС) типа FPGA[1,2]. Первый вариант экономически оправдан только для реализации высокобюджетных проектов, предполагающих последующий крупносерийный выпуск изделий. Поэтому наиболее используемым является второй вариант. Его достоинствами являются малые затраты на разработку и создание опытных образцов, возможность многократной коррекции проекта, использование хорошо проверенных серийных изделий, более простой процесс тестирования и отладки (возможность реализации и отладки «по частям»).

Одним из мировых лидеров в области производства ПЛИС, а также систем автоматизации проектирования, средств программирования и отладки является компания Altera [3]. Разработанный ею учебный стенд Altera® DE2-70 [4] используется в качестве технической базы лабораторного практикума и курсового проектирования по дисциплине «Организация ЭВМ и систем». В состав стенда входит ПЛИС Cyclone® IIC70 FPGA и большое количество дополнительных компонентов, включая микросхемы статической, динамической и флеш памяти, а также типовой периферии, позволяющих создавать на базе стенда широкий диапазон различных проектов. Причем, проекты могут представлять собой сложные аппаратно - программные комплексы, включающие полный набор технических средств стенда.

Целью учебного пособия является изложение материала, позволяющего студентам освоить технологию создания процессорных систем на примере программируемых кристаллов FPGA компании Altera, приобрести опыт разработки и отладки программных приложений, предназначенных для созданных систем.

В первой части пособия приводится описание приложения SOPC BULDER, входящего в состав системы автоматизированного проектирования Quartus II. Это приложение предназначено для проектирования процессорных систем на программируемых кристаллах компании Altera. Оно позволяет автоматизировать процесс выбора компонентов системы и настроить их параметры должным образом. Проектирование системы завершается созданием всех необходимых проектных файлов, которые в последующем будут использованы в Quartus II для конфигурирования процессорной системы в кристалле FPGA.

Во второй части учебного пособия содержится описание приложения Altera Monitor Program. Оно разработано компанией Altera в обучающих целях и представляет собой упрощенную версию среды разработки программных приложений для создаваемых в кристаллах процессорных систем.

В третьей части приводится описание мультимедийной процессорной системы «DE2-70 Media Computer», используемой при выполнении лабораторного практикума по дисциплине «Организация ЭВМ и систем». Изложение материала сопровождается большим количеством примеров программ, написанных на языках ассемблер и С.

В четвертой части пособия содержится описание процессора Nios II, являющегося основой проектируемых процессорных систем, включая мультимедийную процессорную систему «DE2-70 Media Computer». Приводится регистровая модель процессора, форматы команд и способы адресации операндов, а также краткое описание системы команд.

Представленный в пособии материал ориентирован в первую очередь на студентов, выполняющих лабораторные работы и курсовые проекты по дисциплине «Организация ЭВМ и систем», обучающихся по направлению «Информатика и вычислительная техника». Учебное пособие может быть полезным и для студентов смежных специальностей.

Оглавление

Часть 1 Использование SOPC Builder для создания процессорной системы на программируемом кристалле фирмы Altera............................................................... 9

1.1 Назначение и возможности SOPC Builder........................................ 9

1.2 Способы запуска SOPC Builder..................................................... 10

1.3Графическийинтерфейс SOPC Builder........................................... 13

1.3.1 Главное окно SOPC Builder..................................................... 13

1.3.1.1 Библиотека готовых компонентов....................................... 14

1.3.1.2 Рабочая область SOPC Builder............................................ 15

1.3.1.3 Список синхросигналов SOPC системы.............................. 17

1.3.1.4 Информационная область.................................................... 17

1.3.2 Пункты меню SOPC Builder..................................................... 18

1.3.2.1 Пункты меню File.................................................................. 18

1.3.2.2 Пункты меню Edit................................................................. 18

1.3.2.3 Пункты меню Module........................................................... 19

1.3.2.4 Пункты меню System............................................................ 19

1.3.2.5 Пункты меню View............................................................... 20

1.3.2.6 Пункты меню Tools............................................................. 21

1.3.2.7 Пункты меню Nios II............................................................. 21

1.4 Основные операции SOPC Builder.................................................. 21

1.4.1 Добавление нового компонента в систему................................ 21

1.4.2 Редактирование параметров IP компонента.............................. 22

1.4.3 Соединение IP компонентов....................................................... 23

1.4.4 Переименование компонента..................................................... 24

1.4.5 Установка начальных адресов, назначение сигналов синхронизации и прерываний........................................................................................................ 25

1.4.6 Удаление компонентов из процессорной системы.................... 26

1.5 Пример создания процессорной системы...................................... 27

1.5.1 Добавление внутрикристальной памяти в систему................... 27

1.5.2 Добавление процессора в систему............................................. 29

1.5.3 Добавление параллельных портов ввода/вывода в систему.... 35

1.5.4 Генерация проектных файлов процессорной системы............. 38

1.6 Создание внешнего интерфейса шины Avalon в проектируемой системе 39

1.7 Добавление нового компонента в систему...................................... 43

Часть 2 Использование средства Altera Monitor Program для отладки программных приложений...................................................................................................... 52

2.1 Назначение и возможности AMP.................................................... 52

2.2 Графический интерфейс AMP......................................................... 53

2.2.1 Главное окно AMP.................................................................... 53

2.2.1.1 Вкладка Disassembly........................................................... 54

2.2.1.2 Вкладка Breakpoints............................................................ 56

2.2.1.3 Вкладка Memory.................................................................. 58

2.2.1.4 Вкладка Watches................................................................... 61

2.2.1.5 Вкладка Trace...................................................................... 61

2.2.2 Пункты меню AMP.................................................................... 63

2.3 Создание нового проекта в AMP.................................................... 66

2.4 Конфигурирование кристалла ПЛИС в АМР................................ 73

2.5 Компиляция программы и загрузка объектного кода в процессорную систему, реализованную на кристалле....................................................................... 73

2.6 Отладка программы в АМР............................................................ 75

2.7 Редактирование проекта в АМР...................................................... 75

Часть 3 Мультимедийная процессорная система «DE2-70 Media Computer» 77

3.1 Назначение и возможности учебного стенда Altera® DE2-70....... 77

3.2 Содержание процессорной системы «DE2-70 Media Computer».. 80

3.2.1. Процессор Nios II...................................................................... 81

3.2.2. Компоненты памяти................................................................... 81

3.2.2.1. SDRAM................................................................................. 81

3.2.2.2. SRAM.................................................................................... 82

3.2.2.3. Память, реализованная внутри кристалла.......................... 82

3.2.3. Параллельные порты................................................................ 82

3.2.3.1. Параллельные порты красных и зеленых светодиодов...... 83

3.2.3.2. Параллельные порты 7-сегментных индикаторов.............. 83

3.2.3.3. Параллельный порт переключателей.................................. 84

3.2.3.4. Параллельный порт для связи с кнопками.......................... 84

3.2.3.5. Параллельные порты расширения...................................... 85

3.2.3.6. Использование параллельных портов в программах на языке ассемблер и C.............................................................................................................. 86

3.2.4. JTAG порт.................................................................................. 89

3.2.4.1. Использование JTAG UART в программах на языке ассемблер и С 90

3.2.5. Последовательный порт............................................................ 93

3.2.6. Интервальный таймер............................................................... 94

3.2.7. Модуль идентификации системы.............................................. 95

3.3. Исключения и прерывания в процессорной системе.................... 96

3.3.1. Прерывания от параллельных портов..................................... 96

3.3.1.1. Прерывания от кнопок......................................................... 97

3.3.2. Прерывания от JTAG UART.................................................... 98

3.3.3. Прерывания от последовательного порта UART.................... 98

3.3.4. Прерывания от интервального таймера................................... 99

3.3.5. Использование прерываний в программе на языке ассемблер 99

3.3.6. Использование прерываний в программе на языке С........... 104

3.4. Мультимедийные компоненты процессорной системы................ 110

3.4.1. Аудиопорт............................................................................... 110

3.4.2. Порт вывода видеоданных...................................................... 112

3.4.2.1. Графический видеобуфер................................................... 113

3.4.2.2. Символьный буфер............................................................. 115

3.4.2.3. Использование порта вывода видеоданных в программе на языке С 116

3.4.3. Модуль конфигурации аудио/видеопортов........................... 116

3.4.4. Порт LCD дисплея................................................................... 117

3.4.5. Порт PS/2................................................................................. 120

3.4.6. Второй PS/2 порт.................................................................... 121

3.4.7. Блок арифметики с плавающей запятой................................. 121

3.5. Модификация процессорной системы «DE2-70 Media Computer» 122

3.6. Реализация процессорной системы «DE2-70 Media Computer» после включения питания стенда.......................................................................................... 124

3.7. Адресное пространство процессорной системы.......................... 124

Часть 4 Процессор Nios II....................................................................... 126

4.1 Назначение и возможности процессора NIOS II........................... 126

4.2 Регистровая структура процессора Nios II................................... 128

4.3 Адресация в процессоре Nios II..................................................... 131

4.4 Форматы команд............................................................................. 131

4.5 Список команд................................................................................ 132

4.5.1 Команды «load», «store»........................................................... 132

4.5.2 Арифметические команды......................................................... 134

4.5.3 Логические команды.................................................................. 134

4.5.4 Команды сдвига......................................................................... 135

4.5.5 Команды пересылки.................................................................. 136

4.5.6 Команды сравнения................................................................... 136

4.5.7 Команды сравнения с непосредственным операндом.............. 137

4.5.8 Команды переходов................................................................... 137

4.5.9 Команды вызова подпрограммы и возврата из неё................. 138

4.5.10 Команды управления............................................................... 139

4.5.11 Специализированные инструкции.......................................... 139

4.6 Директивы ассемблера................................................................... 140

4.7 Обработка исключений................................................................. 142

4.8 КЭШ память и сильносвязанная память........................................ 144

Список литературы................................................................................. 145

Приложение............................................................................................ 146


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: