Рубликатор

 



























Все о псориазе



Окончание. Начало в № 7'2004

Формирование спецификации аппаратной платформы микропроцессорной системы на основе ядра MicroBlaze, реализуемой в ПЛИС семейств FPGA фирмы Xilinx

Вся необходимая информация о подключении портов компонентов, которые не связаны с основными шинами, заносится в таблицу, расположенную в левой части страницы Ports диалоговой панели создания и редактирования спецификации аппаратной платформы (рис. 7).

Страница Ports диалоговой панели создания и редактирования спецификации аппаратной платформы
Рис. 7. Страница Ports диалоговой панели создания и редактирования спецификации аппаратной платформы

Эта таблица содержит восемь колонок: Instance, Port Name, Net Name, Polarity, Scope, Range, Class, Sensitivity. Каждая строка данной таблицы содержит описание подключения соответствующего порта одного из компонентов проектируемой системы. Первоначально при создании новой спецификации в этой таблице представлена только строка с названиями колонок.

В столбце Instance отображается идентификатор экземпляра компонента, включенного в состав спецификации MHS разрабатываемой микропроцессорной системы, которому принадлежит описываемый порт. Ячейки в колонке Port Name содержат идентификатор подключаемого порта.

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

Ячейки колонки Polarity, содержат информацию о типе порта (сигнала) в соответствии с направлением передачи данных. Если описываемый порт является входным, то в данной ячейке отображается символ I. Для обозначения выходного порта используется символ O. Двунаправленный порт обозначается сочетанием IO.

В столбце Scope указывается статус порта в иерархической структуре проекта. Ячейки этого столбца представляют собой поле выбора, в правой части которого находится кнопка управления выпадающим списком возможных вариантов. При нажатии на эту кнопку на экран выводится список вариантов статуса соответствующего порта. Для выбора необходимого варианта следует щелкнуть левой кнопкой мыши на нужной строке этого списка, после чего выбранный статус порта будет отображаться в таблице. Если какой-либо порт некоторого компонента спецификации аппаратной платформы должен быть подключен непосредственно только к внешней интерфейсной цепи, то для этого порта в соответствующей ячейке колонки Scope указывается статус External. В том случае, если порт подключается к внутренней цепи системы, используемой для соединения компонентов между собой, то в этой ячейке должен быть выбран вариант Internal.

Ячейки колонки Range используются для определения номеров разрядов внешних интерфейсных портов, которые представлены в форме векторов.

Каждая ячейка этой колонки является полем редактирования. Для того чтобы указать значения начального и конечного индексов, необходимо активизировать соответствующую ячейку и воспользоваться клавиатурой. Вводимые значения начального и конечного индекса векторов разделяются двоеточием.

В колонке Class отображается условное обозначение категории сигнала, ассоциируемого с описываемым портом. Если сигнал, ассоциируемый с портом, соответствует группе сигналов синхронизации, то в ячейке содержится обозначение CLK. Для сигналов прерывания используется условное обозначение INTERRUPT. Принадлежность к группе сигналов сброса фиксируется кодовым обозначением RST.

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

  • EDGE_FALLING соответствует порту, управляемому спадом сигнала;
  • EDGE_RISING соответствует порту, управляемому фронтом сигнала;
  • LEVEL_HIGH соответствует порту, для которого активным является высокий логический уровень сигнала;
  • LEVEL_LOW соответствует порту, для которого активным является низкий логический уровень сигнала.

В правой части страницы Ports диалоговой панели создания и редактирования спецификации аппаратной платформы находится встроенное окно, в котором отображается список всех доступных портов компонентов, включенных в состав проектируемой системы. Этот список разделен на секции, в начале каждой из которых указывается название экземпляра компонента, а затем перечисляютсего порты. Чтобы выбрать требуемый порт компонента, необходимо поместить курсор мыши на соответствующую строку списка и щелкнуть левой кнопкой. Если нужный экземпляр компонента или порт не представлен в отображаемой части списка, то следует воспользоваться элементами прокрутки, которые расположены с правой стороны списка (рис. 7). Для выделения группы портов компонентов следует удерживать нажатой клавишу Ctrl или Shift при щелчке левой кнопкой мыши на строках списка. Поле выбора, расположенное над встроенным окном списка, позволяет быстро найти порты требуемого компонента. При нажатии на кнопку управления, расположенную в правой части этого поля, на экране отображается полный список экземпляров компонентов, включенных в спецификацию аппаратной платформы.

При выборе одной из строк выпадающего списка в видимой части встроенного окна автоматически отображается идентификатор экземпляра соответствующего компонента и названия его доступных портов. Чтобы порты элементов, выбранных из предложенного списка, были добавлены в спецификацию MHS, нужно нажать кнопку << Add, которая расположена в диалоговой панели между таблицей и списком (рис. 7).

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

Кнопка Add Port, находящаяся под кнопкой << Add, предназначена для включения в спецификацию аппаратной платформы описаний внешних портов проектируемой системы. При нажатии на кнопку Add Port на экране появляется диалоговая панель, вид которой показан на рис. 8. Эта панель позволяет определить все параметры создаваемого внешнего порта. В поле редактирования Port Name (рис. 8) после его активизации необходимо с помощью клавиатуры указать идентификатор нового внешнего порта. Поле выбора Port Polarity позволяет определить тип создаваемого порта. Для этого следует нажать кнопку управления выпадающим списком, расположенную в правой части указанного поля выбора, и выбрать из предложенных вариантов тип, соответствующий направлению передачи данных через этот порт.

Панель создания описания внешнего порта в спецификации аппаратной платформы
Рис. 8. Панель создания описания внешнего порта в спецификации аппаратной платформы

С помощью поля выбора Port Class нужно указать категорию, к которой относится сигнал, ассоциируемый с создаваемым портом. Возможные варианты категорий были представлены выше. Если сигнал, ассоциируемый с портом, не принадлежит ни к одной из рассмотренных категорий, то в поле выбора Port Class следует оставить без изменений вариант None, который предлагается по умолчанию. В случае, если новый порт сопряжен с сигналом прерывания, необходимо указать активный уровень или фронт для этого сигнала, используя поле выбора Port Sensitivity.

Для портов, сигналы которых относятся к другим категориям, данное поле будет недоступно. Чтобы указать название цепи, к которой должен быть подключен новый внешний порт, следует воспользоваться полем редактирования и выбора Connected to. Идентификатор соответствующей цепи может быть непосредственно занесен в данное поле (после его активизации) с помощью клавиатуры или выбран из выпадающего списка. После того, как определены все параметры создаваемого порта, следует нажать кнопку ОК, расположенную в нижней части диалоговой панели (рис. 8). Вслед за этим в таблице, расположенной в левой части страницы Ports (рис. 7), появляется новая строка, содержащая описание нового внешнего порта.

Для подключения порта к некоторой цепи системы или изменения статуса порта нужно выделить соответствующую строку в таблице, находящейся в левой части страницы Ports, после чего воспользоваться кнопкой Connect, которая расположена под кнопкой Del. При нажатии этой кнопки на экран выводится диалоговая панель, представленная на рис. 9. В поле редактирования с помощью клавиатуры указывается идентификатор цепи, к которой должен быть подключен выбранный порт. Статус этого порта устанавливается путем нажатия одной из двух кнопок с зависимой фиксацией: External или Internal. Все выполненные изменения вступают в силу после нажатия кнопки ОК, расположенной в нижней части диалоговой панели (рис. 9), после чего автоматически отображаются в таблице на странице Ports.

Вид диалоговой панели подключения и изменения статуса порта в спецификации аппаратной платформы
Рис. 9. Вид диалоговой панели подключения и изменения статуса порта в спецификации аппаратной платформы

Если какой-либо порт компонента был ошибочно включен в спецификацию, то для его удаления нужно, прежде всего, выделить соответствующую строку таблицы в левой части страницы Ports, расположив на ней курсор и щелкнув левой кнопкой мыши. Затем необходимо нажать кнопку Del, находящуюся несколько ниже кнопки Add Port, в результате чего на экран будет выведена диалоговая панель, в которой содержится запрос подтверждения на удаление выбранного порта компонента из спецификации аппаратной платформы (рис. 10). При утвердительном ответе на запрос (нажатии кнопки ОК, расположенной в нижней части панели запроса) выбранные строки таблицы и описание подключения соответствующих портов будут удалены из спецификации MHS.

Панель запроса подтверждения удаления порта из спецификации аппаратной платформы
Рис. 10. Панель запроса подтверждения удаления порта из спецификации аппаратной платформы

Для того, чтобы зафиксировать все изменения, выполненные на странице Ports, следует нажать кнопку «Применить» (Apply), расположенную в нижней части диалоговой панели.

Страница Parameters позволяет определить значения различных индивидуальных параметров тех экземпляров компонентов, которые ранее были занесены в спецификацию аппаратной платформы. Вид этой страницы показан на рис. 11.

Страница Parameters диалоговой панели создания и редактирования спецификации аппаратной платформы
Рис. 11. Страница Parameters диалоговой панели создания и редактирования спецификации аппаратной платформы

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

В первой колонке (Parameter) перечисляются все параметры выбранного экземпляра компонента, а во второй (Value) — значения этих параметров, установленные по умолчанию. Для того чтобы получить исчерпывающую информацию о назначении параметров выбранного компонента и их допустимых значениях, следует обратиться к документации, в которой содержится детальное описание данного компонента. Кнопка Open PDF Doc, расположенная правее поля выбора, позволяет открыть соответствующий документ (в формате PDF) непосредственно из среды управляющей оболочки Xilinx Platform Studio. При этом предполагается, что на используемом компьютере установлена программа Acrobat Reader фирмы Adobe.

Чтобы установить значения параметров компонентов, отличающиеся от принятых по умолчанию, необходимо, прежде всего, включить названия этих параметров в таблицу редактирования, которая находится в левой части страницы Parameters. Для этого следует выделить соответствующие строки в таблице, которая открыта во встроенном окне, а затем нажать кнопку << Add (рис. 11). Для выделения группы параметров можно воспользоваться клавишей Ctrl или Shift при щелчке левой кнопкой мыши на строках таблицы. При необходимости для просмотра всех параметров выбранного компонента можно использовать инструменты прокрутки, расположенные в правой части встроенного окна. Если требуется исключить некоторые параметры из таблицы редактирования, то нужно выделить соответствующие им строки и нажать кнопку Del, которая расположена под кнопкой << Add. После этого на экране появляется диалоговая панель, содержащая запрос подтверждения на удаление выбранных параметров компонента из спецификации аппаратной платформы (рис. 12). При нажатии кнопки OK, расположенной в нижней части панели запроса (рис. 12), все выделенные строки таблицы редактирования будут удалены. Для предотвращения удаления выбранных параметров компонентов следует воспользоваться кнопкой «Отмена» (Cancel).

Панель запроса подтверждения на удаление выбранных параметров компонентов
Рис. 12. Панель запроса подтверждения на удаление выбранных параметров компонентов

Таблица редактирования значений параметров содержит две колонки с теми же названиями, что и таблица, расположенная во встроенном окне. Но в отличие от последней все ячейки таблицы редактирования, составляющие столбец Value, представляют собой поле редактирования значений параметров.

Для изменения значения какого-либо параметра следует активизировать соответствующую ячейку в колонке Value таблицы редактирования (поместив на нее курсор и щелкнув левой кнопкой мыши) и ввести новое значение, используя клавиатуру. Все выполненные изменения в диалоговой панели создания и редактирования спецификации аппаратной платформы проектируемой системы вступают в силу (заносятся в файл MHS) только после нажатия кнопки «Применить» (Apply) или OK, которые находятся в нижней части этой панели. Использование кнопки OK приводит к закрытию диалоговой панели.

После завершения работы с диалоговой панелью создания и редактирования спецификации аппаратной платформы рекомендуется открыть сформированный файл MHS в текстовом редакторе и проверить значения всех установленных параметров. Для этого следует во встроенном окне проекта разрабатываемой системы, на странице System, в разделе Project Files расположить курсор мыши на строке MHS File и дважды щелкнуть левой кнопкой.

После этого в панели для размещения рабочих окон открывается новое окно встроенного текстового редактора, в котором отображается сформированная в диалоговом режиме спецификация аппаратной платформы. При необходимости в текст спецификации с помощью клавиатуры могут быть внесены различные изменения, в том числе значений параметров, идентификаторов компонентов и цепей (сигналов). Для того чтобы выполненные изменения вступили в силу, следует сохранить файл MHS на жестком диске, выполнив команду Save из всплывающего меню File.

Редактор структурных схем Processor Block Diagram Editor (PBD Editor) позволяет отобразить в графической форме созданную архитектуру аппаратной платформы. Для этого нужно во встроенном окне проекта, на странице System, в разделе Project Files расположить курсор мыши на строке PBD File и дважды щелкнуть левой кнопкой или выполнить команду View Block Diagram из меню Project. В результате в панели для размещения рабочих окон открывается окно редактора структурных схем PBD Editor, которое содержит графическое представление спецификации аппаратной платформы разрабатываемой системы. Чтобы получить всю информацию о параметрах какого-либо компонента, шины или цепи аппаратной платформы, достаточно поместить курсор мыши на соответствующий элемент структурной схемы. Эта информация отображается в виде всплывающей подсказки.

Для изменения параметров элементов схемы или идентификаторов компонентов, шин и цепей следует воспользоваться командами контекстно-зависимых всплывающих меню, которые выводятся на экран при щелчке правой кнопкой мыши на соответствующем изображении в окне редактора PBD Editor.

Пример создания спецификации аппаратной платформы для тестового проекта встраиваемой микропроцессорной системы

Процедура подготовки спецификации аппаратной платформы рассматривается на примере проекта простейшей микропроцессорной системы сбора и обработки данных. Разрабатываемая система предназначена для приема данных, поступающих на входы параллельного порта ввода-вывода, их обработки и дальнейшей передачи полученных результатов через последовательный интерфейс RS-232 в центральный компьютер. Структурное представление архитектуры проектируемой системы показано на рис. 13.

Архитектура проектируемой системы сбора и обработки данных
Рис. 13. Архитектура проектируемой системы сбора и обработки данных

В состав архитектуры входят следующие функциональные блоки:

  • микропроцессорное ядро MicroBlaze;
  • программная и оперативная память, реализуемая на основе блочной памяти ПЛИС Block SelectRAM;
  • контроллер интерфейса программной памяти, подключенной к шине ILMB;
  • контроллер интерфейса оперативной памяти, подключенной к шине DLMB;
  • ядро универсального последовательного асинхронного приемопередатчика;
  • ядро параллельного интерфейса ввода-вывода.

Процесс разработки этой системы выполняется в рамках тестового проекта, создание которого было описано ранее [5]. Прежде чем приступить непосредственно к формированию спецификации аппаратной платформы системы сбора и обработки данных, внесем некоторые изменения в параметры созданного проекта. Для этого в главном меню управляющей оболочки XPS выберем пункт Options, а затем в появившемся меню активизируем команду Project Options. После этого, используя страницу Device and Repository в открывшейся диалоговой панели, изменим тип кристалла, на основе которого выполняется тестовый проект. В качестве ПЛИС, предназначенной для реализации проектируемой системы, выберем кристалл XC3S200 в корпусе FT256 с классом быстродействия -4 из семейства Spartan-3. Данное семейство является развитием серии Spartan. Микросхемы семейства Spartan-3 отличаются более высокими показателями и меньшей стоимостью по сравнению с кристаллами семейства Spartan-II.

Кроме того, на странице Hierarchy and Flow диалоговой панели установки параметров проекта во встроенной панели Implementation Tool Flow зафиксируем кнопку ISE (ProjNav) для того, чтобы процесс размещения и трассировки выполнялся в среде управляющей оболочки пакета Foundation ISE, Project Navigator. На этой же странице в поле редактирования NPL File с помощью клавиатуры определим название раздела, в котором будет располагаться рабочий каталог проекта для пакета Foundation ISE. Рекомендуется создавать рабочий каталог проекта Foundation ISE в том же разделе, где находятся все файлы проекта микропроцессорной системы.

Далее открываем диалоговую панель создания и редактирования спецификации аппаратной платформы, выполнив команду Add/Edit Cores из всплывающего меню Project.

На странице Peripherals в списке, расположенном во встроенном окне, выбираем следующие IP-компоненты: microblaze, lmb_bram_if_cntlr, bram_block, opb_uartlite, opb_gpio. Нажатием кнопки << Add включаем экземпляры выделенных компонентов в состав формируемой таблицы. Для компонента lmb_bram_if_cntlr повторяем перечисленные операции, чтобы добавить еще один экземпляр в спецификацию MHS. В строке таблицы, содержащей параметры экземпляра ядра microblaze, устанавливаем номер версии используемого IP-компонента — 2.10.a и изменяем его идентификатор на cpu_mb. Экземплярам контроллеров интерфейса программной и оперативной памяти lmb_bram_if_cntlr присваиваем идентификаторы inst_bus_cntlr и data_bus_cntlr соответственно. Для этих элементов в качестве базового адреса указываем значение 0x00000000, а в качестве верхней границы выделяемого адресного пространства — значение 0x00001fff.

Модулю блочной памяти bram_block присваиваем идентификатор inst_data_bram. В строке таблицы, представляющей параметры экземпляра ядра универсального последовательного асинхронного приемопередатчика opb_uartlite изменяем идентификатор на uart_port и значения нижней и верхней границ выделяемого адресного пространства на 0x80002000 и 0x800020ff соответственно. Для экземпляра ядра параллельного интерфейса ввода-вывода выбираем номер версии используемого IP-компонента 3.01.a, указываем идентификатор in_data_port и изменяем значения базового и максимального адресов на 0x80002200 и 0x800023ff соответственно. После этого страница Peripherals приобретает вид, показанный на рис. 14.

Окончательный вид страницы Peripherals при подготовке спецификации аппаратной платформы микропроцессорной системы сбора и обработки данных
Рис. 14. Окончательный вид страницы Peripherals при подготовке спецификации аппаратной платформы микропроцессорной системы сбора и обработки данных

Для включения описания шин в состав спецификации MHS переходим к странице Bus Connections. Из списка, представленного во встроенном окне в правой части страницы выбираем следующие типы шин: lmb_v10 и opb_v20. Используя кнопку << Add, включаем экземпляры выбранных типов шин в состав спецификации аппаратной платформы. Для шины стандарта lmb_v10 следует повторить указанные операции, так как необходимы два экземпляра данного типа: для шины команд и шины данных. С помощью команды Edit Name, которая находится в контекстно-зависимом меню, изменяем идентификаторы шин, установленные по умолчанию. Для шины команд и шины данных задаем идентификаторы instr_bus и data_bus соответственно, а для шины OPB — идентификатор opb_bus_mb. Затем осуществляем подключение элементов спецификации MHS к данным шинам, поочередно щелкнув левой кнопкой мыши в ячейках таблицы, которые располагаются на пересечении столбца, соответствующего используемой шине, и строки, содержащей идентификатор подключаемого экземпляра компонента. К шине команд (instr_bus) должны быть подключены микропроцессорное ядро (cpu_mb ilmb) и контроллер интерфейса программной памяти (inst_bus_cntlr slmb), к шине данных (data_bus) — микропроцессорное ядро (cpu_mb dlmb) и контроллер интерфейса оперативной памяти (data _bus_cntlr slmb), к шине opb_bus_mb — микропроцессорное ядро (cpu_mb iopb и cpu_mb dopb), ядро универсального последовательного асинхронного приемопередатчика (uart_port sopb) и ядро параллельного интерфейса ввода-вывода (in_data_port sopb). Далее указываем порты модуля внутренней блочной памяти ПЛИС Block SelectRAM, посредством которых осуществляется подключение к контроллерам программной и оперативной памяти. Для сопряжения с контроллером программной памяти выбираем порт А блочной памяти Block SelectRAM и присваиваем внутренней шине, соединяющей данную память с контроллером, идентификатор inst_ port. Для подключения к контроллеру оперативной памяти выделяем порт В и назначаем соответствующей внутренней шине идентификатор data_port.

После выполнения всех перечисленных операций страница Bus Connections должна выглядеть так, как показано на рис. 15.

Окончательный вид страницы Bus Connections при подготовке спецификации аппаратной платформы микропроцессорной системы сбора и обработки данных
Рис. 15. Окончательный вид страницы Bus Connections при подготовке спецификации аппаратной платформы микропроцессорной системы сбора и обработки данных

Чтобы внести в спецификацию MHS описание взаимосвязей портов компонентов, не связанных с шинными интерфейсами, переходим к странице Ports. В списке, отображаемом во встроенном окне в правой части этой страницы, выделим идентификаторы портов компонентов проектируемой системы, с которыми ассоциированы сигналысинхронизации и сброса, и с помощью кнопки << Add добавим их в таблицу. Все эти порты должны иметь статус Internal. Далее подключим все порты, с которыми ассоциированы сигналы синхронизации, к цепи system_clk, а порты, с которыми ассоциированы сигналы сброса — к цепи system_rst.

Порты ядра универсального асинхронного последовательного приемопередатчика, с которыми ассоциированы сигналы принимаемых и передаваемых данных, подключаем к внешним цепям проектируемой системы uartRX и uartTX соответственно. Порт ядра параллельного интерфейса ввода-вывода, с которым ассоциированы сигналы входных данных, соединяем с внешней шиной in_data. При этом в ячейке Range указываем в качестве номеров младшего и старшего разрядов порта соответственно значения 0 и 7. Все порты компонентов, которые подключены только к внешним цепям разрабатываемой системы, должны иметь статус External. После этого, используя кнопку Add Port, включим в состав спецификации описания двух внешних портов с идентификаторами systemRst и systemClk, которые подключаются к цепям сброса system_rst и синхронизации system_clk соответственно.

При создании этих портов указываем условные обозначения категорий, к которым относятся ассоциируемые с ними сигналы: RST для systemRst и CLK для systemClk. Окончательное содержание таблицы подключения портов на странице Ports представлено на рис. 16.

Окончательный вид страницы Ports при подготовке спецификации аппаратной платформы системы сбора и обработки данных
Рис. 16. Окончательный вид страницы Ports при подготовке спецификации аппаратной платформы системы сбора и обработки данных

Для определения значений индивидуальных параметров компонентов, включенных в состав спецификации MHS, открываем страницу Parameters. Вначале изменим значения параметров ядра универсального асинхронного последовательного приемопередатчика. Для этого в поле выбора компонента зафиксируем идентификатор uart_port.

Затем выделяем все параметры, содержащиеся в таблице, которая расположена в правой части страницы Parameters и, нажав кнопку << Add, копируем их в таблицу редактирования. С помощью клавиатуры устанавливаем следующие значения параметров компонента uart_port: тактовая частота 50 MHz (C_CLK_FREQ = 50000000), восемь бит данных (C_DATA_BITS = 8), скорость передачи данных 9600 бит/с (C_BAUDRATE = 9600), контроль четности (нечетности) отсутствует (C_USE_PARITY = 0, C_ODD_PARITY = 0). Окончательный вид таблицы редактирования параметров ядра универсального асинхронного последовательного приемопередатчика показан на рис. 17.

Установка параметров ядра универсального асинхронного последовательного приемопередатчика
Рис. 17. Установка параметров ядра универсального асинхронного последовательного приемопередатчика

Аналогичным образом изменяем значения отдельных параметров ядра параллельного интерфейса ввода-вывода, зафиксировав в поле выбора компонента идентификатор in_data_port. Данный компонент конфигурируем как входной (C_IS_BIDIR = 0, C_ALL_INPUTS = 1) восьмиразрядный (C_GPIO_WIDTH = 8) одноканальный (C_IS_DUAL = 0) параллельный порт (рис. 18).

Установка параметров ядра параллельного интерфейса ввода%вывода
Рис. 18. Установка параметров ядра параллельного интерфейса ввода%вывода

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

# Номер версии спецификации MHS
PARAMETER VERSION = 2.1.0

# Описание внешних портов проектируемой системы
PORT uartRX = uartRX, DIR = I
PORT uartTX = uartTX, DIR = O
PORT in_data = in_data, VEC = [0:7], DIR = I
PORT systemClk = system_clk, DIR = IN, SIGIS = CLK
PORT systemRst = system_rst, DIR = IN, SIGIS = RST

# Описание параметров и подключения микропроцессорного ядра MicroBlaze
BEGIN microblaze
PARAMETER INSTANCE = cpu_mb
PARAMETER HW_VER = 2.10.a
BUS_INTERFACE DOPB = opb_bus_mb
BUS_INTERFACE IOPB = opb_bus_mb
BUS_INTERFACE DLMB = data_bus
BUS_INTERFACE ILMB = instr_bus
PORT CLK = system_clk
END

# Описание параметров и подключения контроллера интерфейса
шины команд ILMB
BEGIN lmb_v10
PARAMETER INSTANCE = instr_bus
PARAMETER HW_VER = 1.00.a
PARAMETER C_EXT_RESET_HIGH = 1
PORT SYS_Rst = system_rst
PORT LMB_Clk = system_clk
END

# Описание параметров и подключения контроллера интерфейса
шины данных DLMB
BEGIN lmb_v10
PARAMETER INSTANCE = data_bus
PARAMETER HW_VER = 1.00.a
PARAMETER C_EXT_RESET_HIGH = 1
PORT SYS_Rst = system_rst
PORT LMB_Clk = system_clk
END

# Описание параметров и подключения контроллера интерфейса
оперативной памяти
BEGIN lmb_bram_if_cntlr
PARAMETER INSTANCE = data_bus_cntlr
PARAMETER HW_VER = 1.00.b
PARAMETER C_MASK = 0x80000000
PARAMETER C_BASEADDR = 0x00000000
PARAMETER C_HIGHADDR = 0x00001fff
BUS_INTERFACE SLMB = data_bus
BUS_INTERFACE BRAM_PORT = data_port
END

# Описание параметров и подключения контроллера интерфейса
программной памяти
BEGIN lmb_bram_if_cntlr
PARAMETER INSTANCE = inst_bus_cntlr
PARAMETER HW_VER = 1.00.b
PARAMETER C_MASK = 0x80000000
PARAMETER C_BASEADDR = 0x00000000
PARAMETER C_HIGHADDR = 0x00001fff
BUS_INTERFACE SLMB = instr_bus
BUS_INTERFACE BRAM_PORT = inst_port
END

# Описание параметров и подключения модуля блочной памяти
BEGIN bram_block
PARAMETER INSTANCE = inst_data_bram
PARAMETER HW_VER = 1.00.a
BUS_INTERFACE PORTA = inst_port
BUS_INTERFACE PORTB = data_port
END

# Описание параметров и подключения контроллера интерфейса шины OPB
BEGIN opb_v20
PARAMETER INSTANCE = opb_bus_mb
PARAMETER HW_VER = 1.10.b
PARAMETER C_EXT_RESET_HIGH = 1
PORT SYS_Rst = system_rst
PORT OPB_Clk = system_clk
END

# Описание параметров и подключения ядра универсального
# последовательного асинхронного приемопередатчика
BEGIN opb_uartlite
PARAMETER INSTANCE = uart_port
PARAMETER HW_VER = 1.00.b
PARAMETER C_BAUDRATE = 9600
PARAMETER C_DATA_BITS = 8
PARAMETER C_ODD_PARITY = 0
PARAMETER C_USE_PARITY = 0
PARAMETER C_CLK_FREQ = 50000000
PARAMETER C_BASEADDR = 0x80002000
PARAMETER C_HIGHADDR = 0x800020ff
BUS_INTERFACE SOPB = opb_bus_mb
PORT OPB_Clk = system_clk
PORT RX = uartRX
PORT TX = uartTX
END

# Описание параметров и подключения ядра параллельного интерфейса
# (порта) ввода-вывода
BEGIN opb_gpio
PARAMETER INSTANCE = in_data_port
PARAMETER HW_VER = 3.01.a
PARAMETER C_GPIO_WIDTH = 8
PARAMETER C_IS_DUAL = 0
PARAMETER C_IS_BIDIR = 0
PARAMETER C_ALL_INPUTS = 1
PARAMETER C_BASEADDR = 0x80002200
PARAMETER C_HIGHADDR = 0x800023ff
BUS_INTERFACE SOPB = opb_bus_mb
PORT OPB_Clk = system_clk
PORT GPIO_in = in_data
END

Для большей информативности этот файл MHS дополнен комментариями, которые поясняют назначение разделов спецификации. Схемотехническое представление сформированной архитектуры аппаратной платформы проектируемой системы, открытое в редакторе структурных схем (PBD Editor), показано на рис. 19.

Схемотехническое представление архитектуры проектируемой системы сбора и обработки данных в редакторе PBD Editor
Рис. 19. Схемотехническое представление архитектуры проектируемой системы сбора и обработки данных в редакторе PBD Editor

В следующей публикации данного цикла будут рассмотрены этапы генерации списка соединений разрабатываемой микропроцессорной системы, синтеза, размещения и трассировки проекта в кристалле FPGA.

Литература

  1. Зотов В. MicroBlaze — семейство тридцатидвухразрядных микропроцессорных ядер, реализуемых на основе ПЛИС фирмы Xilinx // Компоненты и технологии. 2003. № 9.
  2. Зотов В. Система команд микропроцессорного ядра MicroBlaze // Компоненты и технологии. 2004. № 1-3.
  3. Зотов В. Embedded Development Kit — система проектирования встраиваемых микропроцессорных систем на основе ПЛИС серий FPGA фирмы Xilinx. 2004. № 3.
  4. Зотов В. Организация памяти микропроцессорного ядра MicroBlaze // Компоненты и технологии. 2004. № 5.
  5. Зотов В. Создание проекта микропроцессорной системы на основе ядра MicroBlaze, реализуемой в ПЛИС семейств FPGA фирмы Xilinx // Компоненты и технологии. 2004. № 3.
  6. Кнышев Д. А., Кузелин М. О. ПЛИС фирмы «Xilinx»: описание структуры основных семейств. М.: Издательский дом «Додека-XXI». 2001.

Валерий Зотов


Статьи по: ARM PIC AVR MSP430, DSP, RF компоненты, Преобразование и коммутация речевых сигналов, Аналоговая техника, ADC, DAC, PLD, FPGA, MOSFET, IGBT, Дискретные полупрoводниковые приборы. Sensor, Проектирование и технология, LCD, LCM, LED. Оптоэлектроника и ВОЛС, Дистрибуция электронных компонентов, Оборудование и измерительная техника, Пассивные элементы и коммутационные устройства, Системы идентификации и защиты информации, Корпуса, Печатные платы

Design by GAW.RU