Перейти к основному содержимому

ЛР №1 Учебно-отладочный стенд

Учебно – отладочный стенд «Intel DE 2-115». Приложение Intel Monitor Program (IMP) для работы со стендом.

Для кого этот документ

  • Студентам курса "Организация ЭВМ"
  • Необходимое ПО: Quartus II

Цель работы

Приобретение навыков, необходимых для выполнения лабораторных работ по дисциплине «Организация ЭВМ и систем» с использованием стендов Intel DE 2-115 с помощью приложения Intel Monitor Program (IMP).

Умение использовать в своих проектах кнопочные и ползунковые переключатели, светодиоды и hex индикаторы, входящие в состав стенда.

Объекты изучения

  • учебно-отладочный стенд Intel DE 2 -115;
  • приложение Intel Monitor Program (IMP), для работы со стендом;
  • процессорная система DE 2-115 Media Computer и её периферийные устройства:
    • ползунковые переключатели;
    • кнопочные переключатели;
    • красные и зеленые светодиоды;
    • hex индикаторы, входящие в состав стенда.

Планируемые результаты обучения

После выполнения этой работы студенты будут знать:

  • Какие компоненты включены в состав учебно-отладочного стенда DE2-115 и с какой целью;
  • Какие из них используются в процессорной системе DE 2-115 Media Computer.
  • Какие ресурсы содержатся в кристалле ПЛИС, входящем в состав стенда.

Смогут:

  • Подключать учебно-отладочный стенд DE 2-115 к инструментальному компьютеру и работать с ним, используя приложение IMP;
  • Создавать новые проекты в приложении IMP;
  • Загружать процессорную систему в кристалл ПЛИС стенда;
  • Использовать программные компоненты в процессорной системе;
  • Выполнять их компиляцию и загрузку в оперативную память процессорной системы;
  • Определять состояния кнопок и ползунковых переключателей и управлять индикаторами, входящими в состав стенда.

Приобретут навыки:

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

Исходные файлы лабораторной работы

Файлы, которые используются в этой лабораторной работе, входят в состав приложения IMP. Для процессорной системы DE 2-115 Media Computer это следующие файлы: nios_system.sopcinfo и DE2-115_Media_Computer.sof. Первый из них содержит перечисление компонентов процессорной системы с указанием их особенностей и адресов. Второй файл является конфигурационным файлом, то есть используется для прошивки кристалла ПЛИС стенда.

Третий файл test_Media_Computer.s содержит программу тестирования процессорной системы. Листинг основной части программы с подробными комментариями приведен в приложении Б

Подготовка к лабораторной работе

  1. Изучите описание стенда[1,2]. Включите в отчет описание основных его компонентов.
  2. Изучите описание кристалла ПЛИС, входящего в состав стенда [4,5]. Включите в отчет описание основных ресурсов кристалла.
  3. Изучите описание приложения Intel Monitor Program (IMP). Включите в отчет основные команды для настроек аппаратной части процессорной системы, выбора программных компонентов, настроек памяти процессорной системы, конфигурирования кристалла, а также для компиляции, загрузки и отладки программ, выполняющихся на реализованной в стенде процессорной системе.
  4. Ознакомьтесь с описанием процессорной системы DE 2-115 Media Computer [6,7,3]. Поместите в отчет структурную схему процессорной системы и карту её памяти.
  5. Изучите структуру и принцип работы параллельных портов ввода вывода, используемых в процессорной системе для подключения красных и зеленых светодиодов, HEX - индикаторов, кнопочных и ползунковых переключателей.
  6. Уясните пункты задания, выполняемого в лабораторной работе.
  7. Ознакомьтесь с устройством и внешним видом стендов DE2-115(70) в приложении А «Подготовка к лабораторной работе»; [1,2]
  8. Уясните логику работы программы тестирования процессорной системы, листинг которой представлен в приложении Б.

Вопросы для самоконтроля

  1. Какие компоненты входят в состав учебного стенда?
  2. Каким образом выполняется конфигурирование кристалла ПЛИС учебного стенда?
  3. Какие компоненты учебного стенда входят в состав процессорной системы, используемой в лабораторных работах?
  4. Для чего предназначено приложение «Intel Monitor Program»?
  5. Каковы возможности приложения IМР?
  6. Что представляет собой проект в IМР?
  7. Как выбрать процессорную систему для использования в проекте?
  8. Как добавить программные файлы в проект?
  9. Как загрузить конфигурационный файл в кристалл ПЛИС учебного стенда?
  10. Как выполнить компиляцию исходного файла программы?
  11. Как загрузить исполняемый файл в оперативную память процессорной системы?
  12. Какие компоненты памяти используются в процессорной системе?
  13. Какие устройства ввода/вывода используются в процессорной системе?
  14. Как называется процессор, используемый в процессорной системе? К какому типу архитектуры системы команд (АСК) он относится?
  15. Как можно наблюдать содержимое ячеек памяти, портов ввода/вывода процессорной системы с помощью приложения IМР?
  16. Можно ли изменять содержимое ячеек памяти, портов ввода/вывода процессорной системы с помощью приложения IMP? И если да, то как?
  17. Какие формы используются в IMP для отображения содержимого ячеек памяти, портов ввода/вывода процессорной системы?
  18. Можно ли инициализировать область ОП в заданном диапазоне? И если да, то как это сделать?
  19. Что представляет собой параллельный порт ввода/вывода? Для взаимодействия с какими периферийными устройствами в процессорной системе он используется.
  20. Можно ли вывести на 7-сегментные индикаторы цифры шестнадцатеричной системы счисления и как это сделать?
  21. Какое количество красных и зеленых светодиодов используется в процессорной системе? Как ими управлять?
  22. Какое количество кнопочных переключателей используется в процессорной системе?
  23. Для чего предназначена кнопка KEY0?

Порядок выполнения лабораторной работы

Часть 1. Подключение стенда и запуск приложения IMP

1.1. Подключите стенд к сети питания с переменным напряжением 220 вольт, используя верхний штырьковый разъем на левой стороне стенда и соответствующий кабель, входящий в комплект поставки стенда. Расположение компонентов и разъемов стенда показано на Рис. 1.1 из приложения - А.

1.2. Подключите стенд к инструментальному компьютеру, используя крайний слева разъем USB (типа В) на верхней стороне стенда и соответствующий кабель, входящий в комплект поставки стенда.

1.3. Подайте питание на стенд, нажав красную кнопку в верхней левой части стенда.

1.4. Запустите приложение Intel Monitor Program (IMP), используя пиктограмму на рабочем столе инструментального ПК.

Часть 2. Создание нового проекта в IMP

2.1. Для этого в меню File приложения IMP выполните команду New Project. Появится окно New Project Wizard. Задайте в нем имя рабочей папки, в которой будет храниться проект и имя проекта. Папка предварительно должна быть создана. Следует напомнить, что для корректной работы приложения надо избегать в названии пути к созданной папке русскоязычных символов. Для перехода к следующему окну нажмите Next.

2.2. В появившемся окне следует выбрать процессорную систему. Для этого в поле Select a system щелкните мышью по значку раскрытия списка. В появившемся списке выберите «DE2-70 Media Computer» или «DE2-115 Media Computer». Обратите внимание, после выбора процессорной системы становится активной кнопка «Documentation», размещенная правее, с помощью которой можно открыть pdf файл с описанием процессорной системы [6,7,3] от производителя. Если в проекте будет использоваться самостоятельно спроектированная процессорная система, то в этом случае следует выбрать Custom system.

2.3. В полях System Details появятся названия файлов для конфигурирования процессорной системы, если в предыдущем пункте была выбрана заранее спроектированная процессорная система из предложенного списка. Первый из них, nios_system.sopcinfo содержит описание процессорной системы. В нём перечислены компоненты процессорной системы с указанием их типов и адресов. Второй файл с расширением .sof является конфигурационным файлом, то есть используется для прошивки кристалла ПЛИС стенда. В случае использования специализированной процессорной системы эти поля следует заполнить самостоятельно, указав места размещения соответствующих файлов. Для перехода к следующему окну нажмите кнопку Next.

2.4. В появившемся окне следует определить тип используемой программы. Для этого в поле Program Type в предложенном списке выберите тип Assembly Program. Используйте опцию Include sample program with the project для включения в следующее поле названий образцов программ. Выберите в этом поле программу test_Media_Computer. Для перехода к следующему окну нажмите кнопку Next.

2.5. В следующем окне следует определить исходные файлы используемой в проекте программы. Если в предыдущем пункте была выбрана программа из предложенных образцов, то это поле будет заполнено автоматически. Если в предыдущем пункте не использовалась опция включения образцов программ, то в поле Source files следует добавить имена исходных файлов. Для этого можно использовать кнопку Add. В случае выбора нескольких исходных файлов их компиляция будет выполняться в том же порядке, что и в списке, а результирующему исполняемому файлу будет присвоено имя первого файла в списке. В разделе Program Options в поле Start symbol следует указать имя метки начальной команды программы. Для перехода к следующему окну нажмите Next.

2.6. В появившемся окне следует определить параметры системы. Если используется один программатор, то поля Host Connection и Processor будут заполнены автоматически. В противном случае эти поля следует заполнить самостоятельно. В поле Terminal Device следует указать JTAG_UART. Это будет означать, что в качестве терминального устройства будет использоваться соответствующее окно IMP. Для перехода к следующему окну нажмите кнопку Next.

2.7. В следующем окне следует определить установки памяти процессорной системы. По умолчанию Reset vector address равен 0, а Exception vector address устанавливается равным 0х20. Если эти адреса должны быть изменены, то их следует задать при сборке процессорной системы в приложении Platform Designer (PD).

2.8. Далее в разделе Memory options следует указать, какая память будет использоваться для загрузки программ и данных. В поле .text sections следует задать память SDRAM/s1, в поле Start offset in device следует задать значение 0х400. Это значит, что секция кода будет размещена в динамической памяти, с адреса 0х400. В поле .data sections также следует задать память SDRAM/s1, а в поле Start offset in device следует задать значение 0х400. В случае если использована одна и та же память для размещения секции кода и данных, секция данных будет размещена сразу же после секции кода. Для завершения работы New Project Wizard нажмите кнопку Finish.

Часть 3. Реализация процессорной системы в учебном стенде, загрузка и выполнение тестовой программы

3.1. Если в предыдущих пунктах была выбрана процессорная система из предложенного списка, то появится окно, предлагающее выполнить загрузку конфигурационного файла процессорной системы в кристалл ПЛИС. В противном случае, для загрузки конфигурационного файла следует воспользоваться командой Programmer из меню Tools пакета Quartus II [8,9]. Процесс конфигурирования кристалла сопровождается свечением голубого светодиода в левой верхней части стенда, а загорание второго голубого светодиода означает успешное завершение процесса конфигурирования кристалла.

3.2. Чтобы загрузить программу в память процессорной системы, в основном окне IMP следует выполнить команду Actions > Compile & Load или используйте пиктограмму на панели инструментов Убедитесь, что в основном окне IMP во вкладке Disassembly появилась выбранная в пункте 2.5 программа. Причем желтым цветом будет выделена команда, помеченная меткой начала программы (_start). В нашем случае, это будет команда с адресом 0х400. Наблюдайте также, что значение PC (program counter) в окне отображения и редактирования регистров будет равно 0х400.

3.3. Чтобы запустить программу выполните команду Actions> Continue или используйте пиктограмму на панели инструментов. Проверьте правильность выполнения программы.

3.4. Если была запущена программа Test Computer, то она выполняет следующее.

3.5. Тестирует статическую память. Тестирование заключается в заполнении оперативной памяти значениями 0х55555555. Каждый цикл записи сопровождается считыванием записанной информации и сравнением с эталоном. Затем число-заполнитель меняется на инверсное значение, и цикл тестирования продолжается.

3.6. Отображает бегущую строку на 7-сегментном дисплее. Если ошибок при тестировании статической памяти не обнаружено, то строка содержит слова "dE2" и "PASSEd". Если обнаружены ошибки, то выводится слово "Error".

3.7. Включает мерцание зеленых светодиодов. Скорость мерцания светодиодов и прокрутки текста на 7-сегментных индикаторах регулируется прерываниями от таймера.

3.8. Подключает переключатели к красным светодиодам.

3.9. Обрабатывает прерывания от кнопок. Нажатие кнопки KEY1 увеличивает скорость прокрутки строки. Нажатие кнопки KEY2 снижает скорость, нажатие кнопки KEY3 - останавливает прокрутку.

3.10. Тестирует порт расширения JP1, если установлены соответствующие перемычки.

3.11. Принимает данные, вводимые в терминальное окно IMP, и отсылает их обратно, используя интерфейс JTAG UART, и дополнительно пересылает их в com порт.

3.12. Попробуйте подвигать ползунковые переключатели в нижней части стенда. Наблюдайте, к каким изменениям в работе программы это приводит. Отразите в отчете.

3.13. Экспериментально определите, к каким изменениям приводит нажатие кнопок KEY1, KEY2, KEY3. Поместите в отчет ваши наблюдения.

3.14. Установите курсор мыши в терминальное окно IMP в левой нижней части экрана. Наберите в этом окне вашу фамилию, имя и отчество, используя символы латинского алфавита. Отразите ваши наблюдения в отчете.

3.15. Остановите выполнение программы. Для этого выполните команду Actions> Stop или используйте пиктограмму на панели инструментов IMP. К каким изменениям в работе стенда это привело?

3.16. Выполните несколько команд программы по шагам, используя команду Actions > Single Step или используйте пиктограмму на панели инструментов IMP. Выполняемая команда будет выделена во вкладке Disassembly желтым цветом. Наблюдайте происходящие изменения в регистровом окне приложения. Поместите в отчет выполненные по шагам команды и описание произведенных ими действий.

3.17. Попробуйте изменить содержимое РС в регистровом окне IMP. Наблюдайте соответствующие изменения во вкладке Disassembly. Зафиксируйте в отчете ваши наблюдения.

3.18. Выполните двойной щелчок левой кнопкой мыши по некоторой команде во вкладке Disassembly. Посмотрите к каким изменениям в открытой вкладке и в регистровом окне приведет это действие. Отразите в отчете ваши наблюдения.

3.19. Попробуйте перезапустить программу. Для этого выполните команду Actions> Restart или используйте пиктограмму на панели инструментов. Обратите внимание на то, что данная команда только изменяет значение счетчика команд на адрес начала программы. Убедитесь, что это произошло.

3.20. Продолжите выполнение программы, используя пиктограмму на панели инструментов.

Часть 4. Использование приложения IМР для работы с портами ввода вывода процессорной системы

4.1. Остановите выполнение программы.

4.2. Откройте вкладку Memory основного окна IMP. Для перехода к нужному адресу можно воспользоваться полем Go to в верхней части окна. Наблюдайте состояние переключателей и кнопок стенда, обращаясь к соответствующим портам ввода. Для этого включите опцию Query all devices, используя соответствующее поле в верхней части окна IMP, и после изменения состояния переключателей и кнопок нажмите кнопку Refresh в верхней правой части окна IMP.

4.3. С помощью правой кнопки мыши вызовите контекстное меню в открытой вкладке и изучите его содержимое. Попробуйте отобразить содержимое портов и ОП по байтам, по полусловам и словам. Меняйте количество столбцов с выводимой информацией на экране и сам формат выводимых данных, порядок отображения в окне, слева направо, и справа налево. Экспериментально определите, к каким результатам приводит выполнение других команд из контекстного меню.

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

4.5. Управляйте сегментами индикаторов шестнадцатеричной цифры, подавая различные наборы данных в соответствующие порты вывода данных. Уясните принцип работы индикаторов и отобразите его в отчете.

4.6. Сформируйте наборы данных таким образом, чтобы на HEX индикаторах высветилась дата вашего рождения в формате дд.мм.гггг. Зафиксируйте в отчете выводимые в соответствующие порты наборы данных и фото отображаемой на индикаторах даты.

Отчетные материалы

Отчетные материалы должны содержать:

  1. Цель лабораторной работы.
  2. Материалы, связанные с подготовкой к работе, включая теоретическую часть и исходные заготовки программ.
  3. Информацию по выполнению каждого пункта задания. Причем в отчете должны содержаться выполняемые вами действия, наблюдаемые результаты, подтверждаемые снимками экрана инструментального ПК или фотографиями стенда, и ваши объяснения.
  4. Краткое заключение.

Защита лабораторной работы

На защите работы студенты должны демонстрировать знания, умения и навыки, перечисленные в разделе «Планируемые результаты обучения».

Студенты должны уметь:

  • Подключать стенд к инструментальному компьютеру и использовать приложение IMP для работы с ним;
  • Создавать новые проекты;
  • Выбирать для них подходящую процессорную систему из предложенного списка;
  • Загружать процессорную систему в кристалл ПЛИС учебного стенда;
  • Добавлять к проекту новые программные компоненты;
  • Компилировать и загружать программу в ОП процессорной системы;
  • Использовать вкладку Disassembly для управления программой;
  • Запускать программу, останавливать, выполнять по шагам и перезапускать повторно;
  • Использовать вкладку Memory для наблюдения состояния периферийных устройств ввода, таких как ползунковые и кнопочные переключатели и управлять устройствами вывода, красными, зелеными светодиодами и HEX индикаторами;
  • Показывать на стенде, какие компоненты в него входят, и как они используются в лабораторной работе.

Приложения

Приложение – А

Внешний вид стендов DE2-115 и DE2-70 приведен на Рис. 1.1 и Рис. 1.2, соответственно.

Рис. 1.1 – Внешний вид стенда DE2-115

Рис. 1.2 – Внешний вид стенда DE2-70

Рис. 1.3 – Схема подключения стенда к ПК

Приложение – Б

Листинг 1.

Фрагмент исходного кода программы тестирования процессорной системы test_Media_Computer.s

Примечание: Код листинга 1 будет добавлен вручную.

Листинг 2.

Файл address_map.s с адресами периферийных устройств и памяти.

Примечание: Код листинга 2 будет добавлен вручную.

Чеклист выполнения

  • Работа выполнена
  • Отчет подготовлен