Пример сквозного проектирования встраиваемой восьмиразрядной микропроцессорной системы на базе ядра семейства PicoBlaze, реализуемой на основе плис фирмы Xilinx. Часть 2
Все статьи цикла:
- Пример сквозного проектирования встраиваемой восьмиразрядной микропроцессорной системы на базе ядра семейства PicoBlaze, реализуемой на основе ПЛИС фирмы Xilinx. Часть 1
- Пример сквозного проектирования встраиваемой восьмиразрядной микропроцессорной системы на базе ядра семейства PicoBlaze, реализуемой на основе плис фирмы Xilinx. Часть 2
- Пример сквозного проектирования встраиваемой восьмиразрядной микропроцессорной системы на базе ядра семейства PicoBlaze, реализуемой на основе ПЛИС фирмы Xilinx. Часть 3
Разработка аппаратной части контроллера, проектируемого на основе микропроцессорного ядра PicoBlaze и реализуемого в ПЛИС семейства Spartan-3
Проектирование аппаратной части разрабатываемого контроллера осуществляем в соответствии с последовательностью операций, представленной в [13, 14, 8]. Для этого, прежде всего, активизируем управляющую оболочку средств проектирования серии Xilinx ISE Навигатор проекта и запускаем «мастер» формирования нового проекта New Project Wizard, выполнив команду New Project из всплывающего меню File. В стартовой диалоговой панели «мастера» New Project Wizard в поле редактирования Project Location указываем название каталога, используемого для хранения проектов C:Project (рис. 4). В поле редактирования Project name с помощью клавиатуры вводим название создаваемого проекта контроллера sampled_data_controller. При этом данное название автоматически добавляется в поле редактирования Project Location, определяя тем самым имя рабочего каталога проекта. Так как модуль верхнего уровня иерархии проекта будет представлять собой VHDL-описание разрабатываемой системы, то в поле выбора Top-Level Module Type оставляем значение HDL, предлагаемое по умолчанию.

Завершив ввод исходных данных, необходимых для создания нового проекта контроллера, после нажатия кнопки Далее в стартовой панели «мастера» New Project Wizard (рис. 4) переходим к диалоговой панели выбора ПЛИС для реализации проекта. В этой панели поочередно выбираем семейство ПЛИС — Spartan-3, тип кристалла — xc3s200, тип корпуса — FT256, класс быстродействия — 4 (рис. 5). Именно такой кристалл установлен на отладочной плате из инструментального комплекта Xilinx Spartan-3 Starter Kit [12].

В качестве средств синтеза и моделирования разрабатываемого контроллера выбираем встроенные инструменты синтеза и моделирования САПР серии Xilinx ISE — Xilinx Synthesis Technology (XST) и ISE Simulator соответственно. Для формирования моделей проектируемой системы будем использовать язык VHDL. После этого, воспользовавшись кнопкой Далее в панели выбора ПЛИС, средств синтеза и моделирования проектируемого контроллера (рис. 5), переключаемся на диалоговую панель создания нового исходного модуля проекта, вид которой показан на рис. 6.

С помощью этой панели создадим модуль исходного описания проектируемой микропроцессорной системы верхнего уровня иерархии, нажав кнопку New Source. В появившейся на экране диалоговой панели установки параметров создаваемого исходного модуля в качестве типа модуля выбираем VHDL Module. В поле редактирования названия формируемого модуля File Name указываем имя, совпадающее с названием проекта, — sampled_data_controller.
После нажатия кнопки Далее в этой диалоговой панели (рис. 7) открывается панель определения исходных данных для создания шаблона VHDL-описания. В этой панели оставим имя описываемого объекта Entity Name, предлагаемое по умолчанию, — sampled_data_controller, а имя архитектурного тела Architecture Name изменим на structural, указывая на то, что оно содержит структурное описание объекта. Затем поочередно внесем в таблицу описания портов названия, тип и разрядность интерфейсных портов объекта sampled_data_controller, как показано на рис. 8.


Ввод исходных данных, необходимых для автоматического создания основы VHDL-описания верхнего уровня иерархии проекта контроллера, завершается нажатием кнопки Далее, после чего на экране отображается информационная панель, в которой представлены установленные значения параметров формируемого модуля (рис. 9).

Подтверждаем выбранные значения нажатием кнопки Готово (Finish) в нижней части информационной панели. После этого на экран повторно выводится диалоговая панель создания нового исходного модуля проекта, в которой представлено название сформированного файла и его тип (рис. 10).

Нажав кнопку Далее, расположенную в этой панели, переходим к диалоговой панели включения существующих модулей в состав проекта. Воспользовавшись кнопкой Add Source и стандартной панелью открытия файла, поочередно добавляем в состав проекта контроллера модули исходного описания компонентов ядра семейства PicoBlaze [1, 2, 4–6] embedded_kcpsm3.vhd и kcpsm3.vhd, а также файл VHDL-описания содержимого программной памяти prog_rom.vhd (рис. 11).

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

Нажатием кнопки Готово (Finish) в нижней части информационной панели (рис. 12) подтверждаем установленные значения основных параметров создаваемого проекта контроллера. После этого в рабочей области Навигатора проекта автоматически открывается сформированный проект sampled_data_controller (рис. 13). При этом в области расположения рабочих окон открыто две страницы. Первая содержит подробную информацию о новом проекте Design Summary. На второй странице представлен текст шаблона VHDL-описания верхнего уровня иерархии для проекта контроллера sampled_data_controller.vhd, который был автоматически сформирован «мастером» и должен быть дополнен вручную.

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

на оперативной панели или выберем команду New Source из раздела Project основного меню Навигатора проекта. В появившейся диалоговой панели параметров нового исходного модуля (рис. 7) выберем тип создаваемого файла — VHDL Module. В поле редактирования названия формируемого модуля File Name указываем идентификатор in_port8x2 для создания шаблона VHDL-описания входных портов. Затем, нажав кнопку Далее, переходим к диалоговой панели ввода исходных данных, в которую заносим информацию об интерфейсе описываемого объекта, как показано на рис. 14. Имя архитектурного тела Architecture Name изменим на structur.

Закончив ввод исходных данных и воспользовавшись кнопкой Далее, проверяем установленные значения параметров в открывшейся информационной панели «мастера» подготовки VHDL-описания (рис. 15).

Убедившись в отсутствии ошибок, нажатием кнопки Готово (Finish) в информационной панели завершаем процесс создания шаблона исходного модуля VHDL-описания входных портов для разрабатываемого контроллера. После этого название созданного файла in_port8x2.vhd отображается в окне исходных модулей Навигатора проекта. Одновременно автоматически открывается новое рабочее окно HDL-редактора, в котором отображается сформированный шаблон VHDL-описания входных портов контроллера. Вид этого окна приведен на рис. 16.

В этом шаблоне прежде всего убираем символы комментариев в строках, содержащих директивы включения библиотеки UNISIM. Затем в описание интерфейса объекта in_port8x2 добавляем оператор generic, определяющий разрядность входных портов. Далее между строкой с названием архитектурного тела architecture structur of in_port8x2 is и ключевым словом begin включаем выражения декларации внутренних сигналов. Сразу после ключевого слова begin добавляем выражения структурного описания объекта in_port8x2. В результате выполненных операций редактирования VHDL-описание входных портов должно выглядеть следующим образом.


Закончив редактирование файла in_port8x2.vhd, сохраняем его на диске. После этого повторим рассмотренную выше последовательность операций формирования нового исходного модуля для создания VHDL-описания выходного порта out_port8.vhd. При этом диалоговая панель исходных данных для создания шаблона VHDL-описания выходного порта должна выглядеть так, как показано на рис. 17.

На основе указанных исходных данных формируется шаблон VHDL-описания выходного порта контроллера out_port8, который автоматически открывается в окне встроенного HDL-редактора Навигатора проекта после нажатия кнопки Готово (Finish) в соответствующей информационной панели. Вид окна редактирования, содержащего автоматически сформированный шаблон VHDL-описания выходного порта контроллера, представлен на рис. 18.

В текст шаблона описания объекта out_port8 вносим те же изменения и дополнения, что и при создании VHDL-описания входного порта in_port8x2, после чего сохраняем его на диске в файле out_port8.vhd. В окончательном виде содержимое этого файла должно выглядеть следующим образом.

После создания описаний входных и выходных портов приступаем к редактированию шаблона VHDL-описания модуля верхнего уровня иерархии проекта. Для этого вернемся к рабочему окну HDL-редактора с заголовком sampled_data_controller.vhd (рис. 19).

В текст этого шаблона между строкой с названием архитектурного тела architecture Structural of sampled_data_controller is и ключевым словом begin добавим выражения декларации используемых компонентов микропроцессорного ядра PicoBlaze embedded_kcpsm3 и портов ввода/вывода in_port8x2, out_port8. Между ключевыми словами begin и end Structural помещаем VHDL-код структурного описания контроллера. Закончив редактирование модуля исходного описания верхнего уровня иерархии проекта, сохраняем его в виде файла sampled_data_controller.vhd, содержимое которого должно выглядеть следующим образом:


Окончание следует
Литература
- Зотов В. Проектирование встраиваемых микропроцессорных систем на основе ПЛИС фирмы Xilinx. М.: Горячая линия — Телеком 2006.
- Зотов В. PicoBlaze — семейство восьмиразрядных микропроцессорных ядер, реализуемых на основе ПЛИС фирмы Xilinx // Компоненты и технологии. 2003. № 4.
- Зотов В. Система команд микропроцессорного ядра PicoBlaze, реализуемого на основе ПЛИС семейств Spartan-II, Spartan-IIE, Virtex, Virtex-E // Компоненты и технологии. 2003. № 5.
- Зотов В. Особенности микропроцессорного ядра PicoBlaze, предназначенного для применения в проектах, реализуемых на основе ПЛИС семейства Virtex-II // Компоненты и технологии. 2003. № 6.
- Зотов В. Особенности микропроцессорного ядра PicoBlaze, предназначенного для применения в проектах, реализуемых на основе ПЛИС семейства CoolRunner-II // Компоненты и технологии. 2003. № 7.
- Зотов В. Особенности микропроцессорного ядра PicoBlaze, предназначенного для применения в проектах, реализуемых на основе ПЛИС семейств Spartan-3, Virtex-II и Virtex-IIPRO // Компоненты и технологии. 2005. № 5–6.
- Зотов В. Разработка программ на языке ассемблера для семейства микропроцессорных ядер PicoBlaze // Компоненты и технологии. 2003. № 8.
- Зотов В. Программирование конфигурационной памяти встраиваемой системы, реализуемой на основе микропроцессорного ядра семейства PicoBlaze в ПЛИС фирмы Xilinx // Компоненты и технологии. 2006. № 2.
- Зотов В. pBlaze IDE — интегрированная среда разработки и отладки программного обеспечения встраиваемых восьмиразрядных микропроцессорных систем, реализуемых на основе ПЛИС фирмы Xilinx // Компоненты и технологии. 2006. № 3–4.
- Зотов В. Директивы и сообщения об ошибках интегрированной среды разработки и отладки программного обеспечения встраиваемых восьмиразрядных микропроцессорных систем, реализуемых на основе ПЛИС фирмы Xilinx, pBlaze IDE // Компоненты и технологии. 2006. № 5.
- Зотов В. Разработка и отладка программного обеспечения встраиваемых восьмиразрядных микропроцессорных систем, реализуемых на основе ПЛИС фирмы Xilinx, в среде pBlaze IDE // Компоненты и технологии. 2006. № 6.
- Зотов В. Инструментальный комплект Spartan-3 Starter Kit для практического освоения методов проектирования встраиваемых микропроцессорных систем на основе ПЛИС семейств FPGA фирмы Xilinx // Компоненты и технологии. 2005. № 7.
- Зотов В. Создание проекта встраиваемой системы на основе микропроцессорного ядра семейства PicoBlaze // Компоненты и технологии. 2005. № 8–9.
- Зотов В. Реализация проекта встраиваемой системы на основе микропроцессорного ядра семейства PicoBlaze // Компоненты и технологии. 2006. № 1.