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

Формирование спецификации аппаратной платформы микропроцессорной системы на основе ядра microblaze, реализуемой в ПЛИС семейств FPGA фирмы Xilinx Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
129
48
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Зотов Валерий

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Зотов Валерий

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

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

Компоненты и технологии, № 8'2004 Софт

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

Формирование спецификации аппаратной платформы микропроцессорной системы

на основе ядра MicroBlаze, реализуемой в ПЛИС семейств FPGA фирмы Xilinx

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

[email protected]

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

Рис. 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, заполняется только для тех портов, с которыми ассоциированы сигналы прерывания. В ячейках этого столбца отображается условное обозначение активного уровня или фронта для сигнала прерывания, с которым ассоциируется описываемый порт. Возможны следующие четыре варианта условного обозначения активного события:

Компоненты и технологии, № 8'2004

• 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 позволяет определить тип создаваемого порта. Для этого следует нажать кнопку управления выпадающим списком, расположенную в правой части указанного поля выбора, и выбрать из предложен----------------------www.finestreet.ru -

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

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

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

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

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

Если какой-либо порт компонента был ошибочно включен в спецификацию, то для его удаления нужно, прежде всего, выделить соответствующую строку таблицы в левой ча-

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

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

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

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

Компоненты и технологии, № 8'2004

Add/tàt Hardware И«((опл Specifications

P«()he»ah | But Comecbom | Port» P*ameteii |

Edi Parametex aiagncd lo IP Irulance n MHS These далтегм values wi ovetnds àf!r*M MPO values

.*1

Chooie IP Indance lot a kxi ol paamtni ||гясюЫак_0

Parameter Value

C_U5E_DIV 0

Peametei: wih défaut vaiuei h

Оххж one « mwe luting and ttfl

~^1 Open PDF Рос I cfcfAdd

Parameter Value a

C_USE .BARREL 0

C_U5C_DIV 0

C.DEBUG.ENAHED 0

C_MUMreR_OF_PC_0fK l

C_MLMBfR_OF_RO_AD... 0

C_NUMBER_CFJAH_AD... 0

C_tNTÉRAUPTJS_EC*5£ 0

CJDGEJS.POStTtVE 1

С_Г*_ИЖ5 0

C_FSl_DATA_SIZE 32

CJCAO€_pASEAOO« ChOOOOOOOO

CJCAOCJflGMADOR (MRTffFT

C.U5EJCAO* 0

C.AUOW JCACKJW* 1

С _ADOft _T AG_Bn 5 7

С_САО*_ВУТЕ _5I2E 6192

C_DCACME_BAS£AOOft ÛxOClOOÛÛOO

C.DCACHE.HIGHAOOft 0x3FFFFFFF

r irr rVATHF n ,

•1 i .1

1 Otmwm I Пиысмить

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

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

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

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

в нижней части панели запроса (рис. 12), все выделенные строки таблицы редактирования будут удалены. Для предотвращения удаления выбранных параметров компонентов следует воспользоваться кнопкой «Отмена» (Cancel).

Таблица редактирования значений параметров содержит две колонки с теми же названиями, что и таблица, расположенная во встроенном окне. Но в отличие от последней все ячейки таблицы редактирования, составляющие столбец 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.

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

• микропроцессорное ядро MicroBlaze;

• программная и оперативная память, реализуемая на основе блочной памяти ПЛИС Block SelectRAM;

• контроллер интерфейса программной памяти, подключенной к шине ILMB;

• контроллер интерфейса оперативной памяти, подключенной к шине DLMB;

• ядро универсального последовательного асинхронного приемопередатчика;

• ядро параллельного интерфейса ввода-вывода.

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

Компоненты и технологии, № 8'2004

некоторые изменения в параметры созданного проекта. Для этого в главном меню управляющей оболочки 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.

Для включения описания шин в состав спецификации 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.

Чтобы внести в спецификацию MHS описание взаимосвязей портов компонентов, не связанных с шинными интерфейсами, переходим к странице Ports. В списке, отображаемом во встроенном окне в правой части этой страницы, выделим идентификаторы

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

Id/Edit Hardware Platform Specrficetion»

*J

Penpherals Bu* Сопууаол»

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

I Porti I I

Par am*eu |

Ckk on squares to make master. slave о» master sieve [M. S. MSI conned**» fli^t cfcfc on any but retancc (cokmn hoadoi) lor a conter menu

Choose one or more (using shtftand CM] buses and cfcfc Add

W dc«_v2S_v1_00_a dtoem_v1 0_v1_00_b dtoc*Cv10fv£00~a Irf_v20_v1_00_b W_v20_v2_00_a eoem_v1Û_v1_ÛÛ_b И

CCAJ гьЬЛпЬ «Add j

cpu_mb ènrb M

epumbdeob Choose (he В RAM port to connect to the contiolet pen Gwe a name to the connection

ct>u_mbepb M

cWa_buj_cr<k ilmb * Crttlr Port BRAM Port Connector I

inst_buj_crrt slmb * <MA_but_cr>rtr bram_port «tfjWa.bramPORTB Z. <laie_port

uail_p«t ropb I ret_bgs_indr bram_poct ret_dala^f»nPCRTA Z. n*t_pcrt

ri_deta_pcrt wpb t

J On-WHa I flpnje«m>

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

Компоненты и технологии, № 8'2004

Add/Г dit Itflrdwnrr PUHomi Sprrllirallom

Percherais j But Cormebont | Parametert |

Ш

Port Signal Assignments

Ute etil end ihlt loi mJbple row іеіесіюгп and cfcfc Conned to corned port* Ute Add Port I« external pats that need Ю be GND CxVCC The "Range' coOmn ta external portt it given as ‘116 UBf Ho» e g 4031p

Fief lubUnng « fulance

Letol Ports Seied cne or

Instance Port Name Net Name Polarity Scope Range Gass ікхе ports and Lie*. Add

Cpujnb CLK system jdc I internal Z or

uart_port ОРв_С* system _cfc 1 lntem.il 2. CLK CLK

uartjxjrt RX uartRX J External » «Add 1 INTERRUPT

uaft _port TX uartTX 0 External Z dale but стЛ

n_da<a _po»t OPS_Ck system jdk 1 Internal z. Ck Add Port 1 LMB_Cfc

Indata jxjrt «PlOJn tndata I External ml_but cr* LMB.fik

nstrjjus 5Y5JW system_rst 1 Internal 21

nsbjxjs IMB.Ok system jA 1 Intern^ Z ax

SYS.Rst system jit 1 Internal Z —.—-—

data bus LMB Ok system.dk 1 Internal » ax Dd j

opb_busjnb SYSJUt system j* 1 Internal Z Irrtcrtupt

opb_bus_mb ОРЄ.Л system _dk 1 Internal z ax TX

system systemCt. system _cft: IN External ax Corned n_<Wa_port 0P8 Ck .і і .1^

system systemRst systemRst IN External RST

і «

I

І Оімснд j П»»эег«пь

Рис. 16. Окончательный вид страницы 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.

Для определения значений индивидуальных параметров компонентов, включенных в состав спецификации MHS, открываем страницу Parameters. Вначале изменим значения параметров ядра универсального асинхронного последовательного приемопередатчика. Для этого в поле выбора компонента зафиксируем идентификатор uart_port. Затем выделяем все параметры, содержащиеся в таблице, которая расположена в правой части страницы Parameters и, нажав кнопку <<Add, копируем их в таблицу редактирования. С помощью клавиатуры устанавливаем следующие значения параметров компонента uart_port: тактовая частота 50 МГц

(C_CLK_FREQ = 50000000), восемь бит данных (C_DATA_BITS = 8), скорость передачи данных 9600 бит/с (C_BAUDRATE = 9600), контроль четности (нечетности) отсутствует (C_USE_PARITY = 0, C_ODD_PARITY = 0). Окончательный вид таблицы редактирования параметров ядра универсального асинхронного последовательного приемопередатчика показан на рис. 17.

Аналогичным образом изменяем значения отдельных параметров ядра параллельного

интерфейса ввода-вывода, зафиксировав в поле выбора компонента идентификатор in_data_port. Данный компонент конфигурируем как входной (С_18_ВГОШ = 0, С_АЬЬ_ШРИТ8 = 1) восьмиразрядный

(С_ОРЮ_'ШОТН = 8) одноканальный (С_Б_ОиАЬ = 0) параллельный порт (рис. 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

Компоненты и технологии, № 8'2004

# Описание параметров и подключения контроллера интерфейса

программной памяти

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

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

# Описание параметров и подключения ядра параллельного интерфейса

# (порта) ввода-вывода 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.

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

Литература

7. Зотов В. Проектирование цифровых устройств на основе ПЛИС фирмы Xilinx в САПР WebPack ISE. М.: Горячая линия — Телеком. 2003.

i Надоели баннеры? Вы всегда можете отключить рекламу.