Пример сквозного проектирования встраиваемой восьмиразрядной микропроцессорной системы на базе ядра семейства PicoBlaze, реализуемой на основе плис фирмы Xilinx. Часть 2

№ 8’2006
Проектирование аппаратной части разрабатываемого контроллера осуществляем в соответствии с последовательностью операций.

Все статьи цикла:

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

Рис. 4. Вид стартовой диалоговой панели «мастера» New Project Wizard при создании проекта контроллера в САПР серии Xilinx ISE

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

Рис. 5. Диалоговая панель выбора ПЛИС, средств синтеза и моделирования проектируемого контроллера

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

Рис. 6. Диалоговая панель создания нового исходного модуля проекта

С помощью этой панели создадим модуль исходного описания проектируемой микропроцессорной системы верхнего уровня иерархии, нажав кнопку New Source. В появившейся на экране диалоговой панели установки параметров создаваемого исходного модуля в качестве типа модуля выбираем VHDL Module. В поле редактирования названия формируемого модуля File Name указываем имя, совпадающее с названием проекта, — sampled_data_controller.

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

Рис. 7. Вид диалоговой панели параметров для создаваемого исходного модуля описания контроллера верхнего уровня иерархии
Рис. 8. Диалоговая панель исходных данных для создания шаблона VHDL-описания верхнего уровня иерархии проекта контроллера

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

Рис. 9. Информационная панель «мастера» подготовки шаблона VHDL-описания, отображающая параметры создаваемого модуля верхнего уровня иерархии для проекта контроллера

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

Рис. 10. Вид диалоговой панели создания нового исходного модуля после формирования VHDL-описания верхнего уровня иерархии для проекта контроллера

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

Рис. 11. Вид диалоговой панели включения существующих модулей исходного описания в состав создаваемого проекта контроллера

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

Рис. 12. Информационная панель «мастера» формирования нового проекта контроллера

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

Рис. 13. Вид основного окна Навигатора проекта после создания нового проекта контроллера

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

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

Рис. 14. Вид диалоговой панели исходных данных для создания шаблона VHDL-описания входных портов контроллера

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

Рис. 15. Информационная панель «мастера» подготовки VHDL-шаблона, отображающая параметры создаваемого модуля описания входных портов контроллера

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

Рис. 16. Рабочее окно HDL-редактора, содержащее автоматически сформированный шаблон VHDL(описания входных портов контроллера

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

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

Рис. 17. Вид диалоговой панели исходных данных для создания шаблона VHDL-описания выходного порта проектируемого контроллера

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

Рис. 18. Рабочее окно HDL-редактора, содержащее автоматически сформированный шаблон VHDL-описания выходного порта разрабатываемого контроллера

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

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

Рис. 19. Рабочее окно HDL-редактора, содержащее автоматически сформированный шаблон VHDL-описания модуля верхнего уровня иерархии проекта

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

Окончание следует

Литература

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *