Архитектура и программное обеспечение графической системы на базе программируемой логической интегральной схемы Virtex-II Pro

Анализ архитектуры и программного обеспечения графической системы в интегрированной среде автоматизации проектирования электроники Xilinx ISE Design Suite. Создание проекта графической системы, включающего необходимые программные и аппаратные компоненты.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 27.05.2018
Размер файла 741,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

УДК 681.3.068(03)

Архитектура и программное обеспечение графической системы на базе программируемой логической интегральной схемы Virtex-II Pro

Н.В.Симкин

Управление, вычислительная техника и информатика

Аннотация

архитектура программный графический design

Разработаны архитектура и программное обеспечение графической системы в интегрированной среде автоматизации проектирования электроники Xilinx ISE Design Suite.

Ключевые слова: архитектура; программное обеспечение; графическая система; проектирование; PowerPC; встроенный процессор.

Современный этап развития программного обеспечения вычислительной техники характеризуется широким применением программно-аппаратных комплексов, которые строятся по принципу «система на кристалле»(System-on-Chip). В первую очередь эта тенденция проявляется в программируемых логических интегральных схемах (ПЛИС) с архитектурой FPGA [1-5]. При таком подходе кристалл ПЛИС рассматривается как свободный конфигурируемый логический ресурс, на базе которого реализуются все необходимые устройства вычислительной системы. Ведущими мировыми производителями ПЛИС являются фирмы Xilinx и Altera, которые предоставляют и программное обеспечение для разработки проектов, а также для последующего конфигурирования кристаллов [6;7].

Графические системы состоят из различных уровней аппаратного и программного обеспечения, необходимого для того, чтобы вычислительная система отображала графическую информацию на LCD. Как правило, графическая система состоит из графического процессора (GPU), выполняющего математические операции, необходимые для формирования изображения, которое сохраняется в области памяти, называемой «кадровый буфер» (frame buffer), и контроллера LCD, считывающего содержимое кадрового буфера и передающего данные на вход LCD. Также необходимо программное обеспечение для управления аппаратурой и предоставления интерфейса программирования приложений (API) для разработчиков прикладных программ. Современные графические контроллеры обычно выполняются на специализированных микросхемах (ASIC) - главным образом из-за высоких требований к производительности, особенно в трехмерных приложениях.

В статье изложены результаты создания проекта графической системы на ПЛИС Virtex-II Pro, включающего необходимые программные и аппаратные компоненты для выполнения основных операций двухмерной графики.

Архитектура и программное обеспечение графической системы выполнялась в среде автоматизации проектирования электроники Xilinx ISE Design Suite, которая включает следующие основные программы: Project Navigator, Xilinx Platform Studio, Xilinx Platform Studio SDK [6].

Графическая система (рис.1) включает в себя процессор PowerPC 405, два контроллера памяти Sync RAM, контроллер LCD, контроллер памяти на кристалле Block RAM Controller, блок памяти Block RAM, контроллер JTAG, генератор тактовых импульсов Clock Generator, локальную процессорную шину PLB, шину регистров устройств DCR.

Связи между компонентами графической системы выполнены на основе шинной архитектуры PLB и DCR, а их адреса и прерывания установлены с помощью программы Xilinx Platform Studio. С помощью программы Xilinx Platform Studio SDK разработаны приложения для демонстрации функционирования графической системы, которые используют функции прорисовки пикселей, линий, прямоугольников, окружностей и отображения символьной информации.

Рис.1. Архитектура графической системы на ПЛИС Virtex-II Pro

Особенностью ПЛИС Virtex-II Pro является то, что она имеет интегрированный процессорный блок PowerPC 405, который состоит из ядра фирмы IBM PowerPC 405-D5 RISC, контроллера OCM, схемы синхронизации и интерфейса с ПЛИС Virtex-II Pro. Встроенное процессорное ядро позволяет работать на частоте до 300 Mhz с малой потребляемой мощностью. Специально разработанный интерфейс объединяет процессор с компонентами ПЛИС.

В разработанном проекте графической системы программа находится в памяти Block RAM. Процессор исполняет коды программы и модифицирует содержимое видеобуфера.

Шина PLB представляет собой разделяемую шину, работающую по принципу «мастер-подчиненный» (Master-Slave). PLB имеет адресную шину, двунаправленную шину данных и шину управления. В среде Xilinx Platform Studio контроллер LCD подключается к шине PLB через интерфейс IPIC, включающий в себя шины Rd/Wr Req & Qualifiers, Status Reply и Read Data. Основные задачи IPIС - декодирование адреса и генерирование сигнала выбора устройства. Большинство сигналов шины PLB просто транслируются через IPIС. Принцип подключения контроллера LCD через IPIС показан на рис.2.

Рис. 2. Подключение контроллера LCD к шине PLB, работающей в режиме Master_Single

Разработанный контроллер LCD имеет три порта, с помощью которых он подключается к шинам IPIC Rd/Wr Req & Qualifiers, Status Reply и Read Data. Шина Rd/Wr Req & Qualifiers включает в себя адресную шину и сигнал запроса на чтение данных. Шина Status Reply используется для передачи статусных сигналов, которые указывают, что адрес распознан и на шине достоверные данные. Шина Read Data используется для передачи данных на контроллер LCD. Данные передаются за один цикл шины одним 32-битным блоком.

Шина DCR, аналогично PLB, работает по принципу «мастер-подчиненный» (Master-Slave) и используется для исключения конфигурационных регистров контроллера LCD из адресного пространства шины PLB, что повышает пропускную способность шины PLB.

Контроллер LCD состоит из модуля управления LCD, модуля прямого доступа к памяти и модуля генерирования прерывания. Алгоритмы работы модулей контроллера LCD реализованы с использованием языка описания аппаратуры Verilog [8].

Модуль управления LCD генерирует сигнал горизонтальной синхронизации hsync, сигнал вертикальной синхронизации vsync, сигнал разрешения DE и сигналы R[5:0], G[5:0], B[5:0], несущие данные соответственно о красной, зеленой и синей составляющих пикселя. Сигналы горизонтальной (hsync) и вертикальной (vsync) синхронизации обеспечивают регенерацию изображения на экране монитора 60 раз в секунду.

На рис.3 представлена диаграмма формирования сигнала горизонтальной синхронизации hsync, а на рис.4 - диаграмма формирования сигнала вертикальной синхронизации vsync. Из рис.3 следует, что сигнал hsync имеет интервалы thp, thb, DE и thf, длительность которых составляет соответственно 96, 48, 640 и 16 тактовых импульсов CLK. Поэтому длительность интервала hsync равна длительности 800 тактовых импульсов CLK. Сигнал вертикальной синхронизации vsync состоит из интервалов tvp, tvb, DE и tvf, длительность которых составляет соответственно 2, 31, 480, 12 импульсов hsync. Таким образом, длина интервала vsync равна 525 hsync и при частоте тактового сигнала, которая для данного LCD с разрешением 640x480 равна 25Mhz, составляет 16 мс. На рис.3, 4 представлен сигнал DE, который управляет передачей данных о пикселях LCD, и имеет длительность активного интервала, равную 640 тактовым импульсам CLK. Длительность пассивного интервала составляет 160 тактовых импульсов CLK во время горизонтальной развертки и 45 импульсов hsync во время вертикальной синхронизации.

Рис. 3. Диаграмма формирования сигнала горизонтальной синхронизации hsync

Модуль прямого доступа к памяти состоит из спроектированных элементов: счетчика адреса, управляющего автомата и интерфейса с шиной PLB. Асинхронное FIFO (First Input First Output) связывает между собой модуль прямого доступа к памяти и контроллер LCD, работающие соответственно на частотах 100 и 25 Mhz. Кроме этого, FIFO буферизует данные о пикселях, чтобы обеспечить их непрерывное считывание в LCD, а также преобразует данные из 32-битного формата в 8-битный. Так как для хранения данных о цвете каждого пикселя используется палитра, то данные с выхода FIFO, прежде чем попасть на вход LCD, декодируются. Декодирование осуществляется с помощью таблицы цветов (CLUT). Вход разрешения чтения из FIFO управляется сигналом разрешения DE модуля синхронизации LCD. Вход разрешения записи, вход заполнения и вход данных FIFO представляют собой выходы управляющего автомата, который непрерывно и циклически обеспечивает поток данных из видеобуфера для регенерации изображения на LCD. Модуль асинхронного FIFO был сгенерирован в программе CoreGenerator [6], настроен и инициализирован в ISE Project Navigator.

Связь модуля прямого доступа к памяти с шиной PLB реализована на базе управляющего автомата, который обеспечивает протокол шины PLB и непрерывно, циклически считывает данные из видеоОЗУ, инкрементируя содержимое счетчика адреса. Так как контроллер LCD имеет интерфейс шины PLB, то он считывает данные из видеоОЗУ с любого адреса в пределах адресного пространства шины. Чтобы считывать данные по нужному адресу и знать объем видеобуфера, используются два регистра: регистр адреса и регистр размера буфера. Данные в регистры загружаются программно процессором через шину DCR. Доступ к регистрам DCR осуществляется посредством ассемблерных инструкций mtdcr, mfdcr, и макросов mtdcr(addr,data), mfdcr(addr), которые описаны в заголовочном файле xpseudo_asm_gcc.h среды Xilinx SDK. Управляющий автомат контроллера LCD имеет четыре состояния: ожидания, запроса на чтение, квитирования команды и завершения команды.

Рис. 4. Диаграмма формирования сигнала вертикальной синхронизации vsync

Модуль генерирования прерывания формирует сигнал прерывания после отображения кадра одного из двух буферов. Это необходимо для того, чтобы выполнять перестановку кадров в тот момент, когда кадр не считывается контроллером LCD. В этом случае искажения на экране монитора отсутствуют.

В разработанной графической системе процессор PowerPC 405 использует таблицу векторов прерываний [6]. При написании программ на языке С/C++ в Xilinx Platform Studio SDK инициализируется таблица прерываний с помощью функции void XExc_Init (void) и регистрируется собственный обработчик прерываний void XExc_RegisterHandler (Xuint8 ExceptionId, XExceptionHandler Handler, void *DataPtr) [5].

Разработанный контроллер памяти, имея интерфейс шины PLB, обеспечивает операции чтения и записи в микросхемы памяти CY7C1381C [9], расположенные на печатной плате, процессором PowerPC и контроллером LCD.

В программе Project Navigator создан проект графической системы, главный модуль которого включает в себя микропроцессорную систему, созданную в Xilinx Platform Studio, в виде подмодуля. Также в главном модуле реализованы порты с z-состоянием, а в файле ограничений проекта порты главного модуля назначены на соответствующие выводы микросхемы.

На этапе отладки архитектуры графической вычислительной системы, созданный проект компилируется с целью получения файла конфигурационной последовательности, который с помощью программы iMPACT загружается через интерфейс JTAG в конфигурационную статическую память ПЛИС Virtex-II Pro[5]. После загрузки конфигурационного файла, созданные в среде Xilinx Platform Studio SDK демонстрационные приложения, загружаются через интерфейс JTAG с помощью отладчика XMD в оперативную память Block RAM. Затем осуществляется сброс процессора и запуск программы на исполнение. Результат работы программы представлен на рис. 5.

Рис. 5. Тест графических примитивов

В результате экспериментальных исследований разработанного проекта графической системы было установлено, что максимальная скорость построения графических примитивов ограничивается пропускной способностью контроллера памяти видеоОЗУ и разделяемой шины PLB. Это обусловлено тем, что шина PLB имеет разделяемую архитектуру, которая поддерживает сложные схемы арбитража и поэтому вносит задержки при обращении процессора к видеоОЗУ. Кроме того, процессор и контроллер LCD, являющиеся мастерами шины PLB, могут обращаться к видеоОЗУ только последовательно, что также увеличивает время построения графических примитивов.

Ограничение доступа к памяти обусловлено ещё и тем, что запись и чтение данных из памяти происходит только блоками по 32 бита. При этом если для хранения данных об одном пикселе используется 32 бита, например при формате RGBA8888, этот вариант оптимально подходит. Но если для хранения данных об одном пикселе используется другой формат, например RGB565 или палитра, то для изменения значения одного пикселя необходимо выполнить два цикла обращения к памяти (чтение и запись) и использовать битовые маски и сдвиги, что приводит к замедлению работы графической системы. Время построения графических примитивов на LCD-панели представлено в таблице.

Таблица Время построения графических примитивов на LCD-панели

Функция

Время выполнения

Вывод линии по алгоритму Брезенхема

67 мкс

Вывод символа с использованием таблицы шрифтов (8х11)

51 мкс

Вывод строки из 30 символов

1,2 мс

Вывод незакрашенной окружности радиусом 30 пикселей

159 мкс

Вывод закрашенной окружности радиусом 30 пикселей

2,1 мс

Вывод незакрашенной окружности на весь экран

650 мкс

Вывод закрашенной окружности на весь экран

112 мс

Вывод закрашенного треугольника

790 мкс

Вывод закрашенного треугольника на весь экран (640х480)

105 мс

Построение эллипса

1,1 мс

Расчет угла поворота

14 мкс

Вращение окружности со стрелкой вокруг другой окружности и вывод текстовой строки

5,4 мс

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

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

Грушвицкий, Р.И. Проектирование систем на микросхемах с программируемой структурой / Р.И.Грушвицкий, А.Х.Мурасаев, Е.П.Угрюмов. - 2-е изд.,перераб. и доп.-СПб.: БХВ-Петербург, 2006. -736 с.

Симкин, Н.В. Разработка программного обеспечения обработки потока данных, поступающих с аналого-цифрового преобразователя с временным чередованием каналов/Н.В.Симкин, В.В. Симкин // Труды факультета технической кибернетики «Практика применения научного программного обеспечения в образовании и научных исследованиях».-СПб.: СПбГПУ, 2006.-С.128-129.

Симкин, Н.В. Разработка реконфигурируемого персонального компьютера на базе синтезируемого процессорного ядра NIOS II и LCD WINSTAR/Н.В.Симкин//Материалы 61-й студенческой научной конференции.- Брянск: БГТУ, 2006.-277 с.

Симкин, Н.В. Разработка архитектуры и программного обеспечения видеосистемы осциллографа на базе синтезируемого процессорного ядра NIOS II/Н.В.Симкин//Труды факультета технической кибернетики «Практика применения научного программного обеспечения в образовании и научных исследованиях».-СПб: СПбГПУ, 2007.-С.118.

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

http://www.xilinx.com

http://www.altera.com

Verilog HDL Reference manual/IEEE 1364 standard.- 1997.

http://www.cypress.com

Материал поступил в редколлегию 18.11.08.

Размещено на Allbest.ru

...

Подобные документы

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

    дипломная работа [3,9 M], добавлен 06.03.2013

  • Основы работы на языке высокого уровня Turbo Pascal. Основное оборудование и программное обеспечение. Операторы, необходимы для работы в графической среде Turbo Pascal. Запуск графического режима. Текст программы в графической среде Turbo Pascal.

    лабораторная работа [12,7 K], добавлен 14.05.2011

  • Стандартное устройство вывода графической информации в компьютере IBM - система из монитора и видеокарты. Основные компоненты видеокарты. Графическое и цветовое разрешение экрана. Виды мониторов и видеокарт. Мультимедиа-проекторы, плазменные панели.

    контрольная работа [38,7 K], добавлен 09.06.2010

  • Понятие архитектуры программного обеспечения (ПО). Характеристика этапов процесса проектирования и его окончательный продукт. Языки описания и виды архитектуры ПО, базовые фреймворки. Функции разработчика архитектуры ПО и необходимые ему навыки работы.

    реферат [85,0 K], добавлен 15.02.2014

  • Вычислительные системы, сети и телекоммуникации: цели и задачи обработки информации, аппаратные средства её реализации. Функции управления ЭВМ, их программные составляющие (память, интерфейс, средства обработки). Многопроцессорные вычислительные системы.

    курсовая работа [2,1 M], добавлен 17.12.2009

  • Обзор существующих объектных архитектур. Архитектура программного обеспечения. Создание веб-сервиса "Библиотека", предоставляющего механизмы работы с данными на стороне клиентского приложения. WEB-сервис и трехуровневая архитектура в основе приложения.

    лабораторная работа [1,5 M], добавлен 16.06.2013

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

    курсовая работа [149,5 K], добавлен 14.02.2009

  • Изучение инструментальной графической среды программирования промышленных контроллеров и языка программирования FBD. Разработка приложения, реализующего вычисление арифметических и логических выражений. Проверка работы приложения программой "Maple".

    контрольная работа [2,2 M], добавлен 26.05.2015

  • Общие сведения о графической системе "AutoCAD". Описание чертежа и способ построения его в графической системе. Использование инструментов панелей рисования, редактирования и изменения размеров. Свойства инструмента "Зеркало" при построении шестерен.

    курсовая работа [25,8 K], добавлен 28.12.2010

  • Использование информационных технологий с целью автоматизации рабочего места коменданта образовательного учреждения. Программные и аппаратные средства. Архитектура программного обеспечения. Описание пользовательских интерфейсов. Анализ предметной области.

    курсовая работа [1,0 M], добавлен 06.06.2015

  • Представление графической информации в компьютере. Графические форматы и их преобразование. Информационные технологии обработки графической информации. Формирование и вывод изображений. Файлы векторного формата и растровый графический редактор.

    курсовая работа [1,0 M], добавлен 25.04.2013

  • Системное, инструментальное и прикладное программное обеспечение. Современные настольные издательские системы. Программные средства мультимедиа. Системы искусственного интеллекта. Прикладное программное обеспечение автоматизированного проектирования.

    реферат [59,4 K], добавлен 18.12.2013

  • Программное обеспечение — неотъемлемая часть компьютерной системы, логическое продолжение технических средств. Типология прикладного программного обеспечения. Интегрированные пакеты программ. Общая характеристика системы автоматизации проектных работ.

    курсовая работа [39,2 K], добавлен 16.01.2011

  • Виды и классификация программного обеспечения. Операционные системы. Виды прикладного программного обеспечения. Программные средства работы с текстом, для вычислительных работ, с графикой, со звуком. Базы данных. Языки и системы программирования.

    реферат [87,7 K], добавлен 07.03.2009

  • Исследование истории концепции электронного издания для образовательных целей. Характеристика требований к электронному изданию учебного назначения. Анализ технологии создания проекта "Обработка графической информации". Описание алгоритма решения задачи.

    курсовая работа [505,8 K], добавлен 13.01.2015

  • Обзор пакетов программ, предназначенных для визуализации и анализа данных. Обоснование выбора среды программирования. Организация аварийного буфера. Передача данных от нижнего уровня к верхнему и сохранение данных. Отображение данных в графической форме.

    дипломная работа [512,4 K], добавлен 28.08.2012

  • Основные понятия компьютерной графики. Представление графической информации в компьютере. Внутреннее устройство персонального компьютера. История графической программы Macromedia Flash, принципы и методы работы с рисунками, технология создания фильма.

    дипломная работа [5,9 M], добавлен 06.04.2012

  • Структура, функциональные возможности программного обеспечения, предназначенного для решения задач синхронизации, анализа и оптимизации выпуска продукции в рамках производства. Программные продукты системы MES. Назначение и функции системы Teamcenter.

    контрольная работа [24,8 K], добавлен 24.11.2013

  • Проект информационной системы магазина спортивного питания. Функциональный анализ деятельности организации. Методология SADT, элементы графической нотации IDEF0, правила и рекомендации построения. Структурная модель программно-аппаратного обеспечения ИС.

    курсовая работа [1,5 M], добавлен 18.06.2015

  • Требования к функциональным характеристикам разрабатываемой автоматизированной системы. Системы управления обучением. Обзор средств разработки, серверов, СУБД. Применение модели "сущность-связь", ее преимущества. Архитектура программного средства.

    курсовая работа [900,7 K], добавлен 07.07.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.