Хардвер

hw-spar3e-sk-us_t.jpg Для поделок в области программируемой логики я приобрел инструментальную плату Xilinx Spartan-3E Starter Kit. Весьма недорогая, в Москве $150. Есть выход VGA, два порта RS-232 и один порт PS/2 для клавиатуры. Для подключения к 100-контактному расширителю нужны разъемы FX2-100S-1.27DS (на плату) или FX2BA-100SA-1.27R (на кабель).

На плате установлена FPGA XC3S500E из серии Xilinx Spartan3E в корпусе FG-320. Чип имеет 10000 гейтов и стоит около $40.

Существуют варианты попроще:

и посложнее:

Три младших микросхемы семейства Spartan-3E имеют исполнение в корпусе QFP. В таблице приведены количество сигналов ввода-вывода и примерная цена.

Корпус: vq100 tq144 pq208
Количество сигналов: 66 108 158
Цена xc3s100e $17 $20 ––
Цена xc3s250e нет? $26 нет?
Цена xc3s500e –– –– $40?

Для радиолюбительского монтажа корпусов VQFP100, TQFP144, PQFP208 с шагом 0.5 мм годятся макетные платы QFP05 фирмы "Миктех".

Документация

Verilog

Для разработки выбран язык Verilog.

Разработка делится на два этапа:

  • моделирование (simulation) — проверка правильности функционирования создаваемого устройства;
  • синтез (synthesis) — создание файла “прошивки” для загрузки в микросхему программируемой логики (ПЛИС, FPGA).

Документация по Verilog:

Есть интересные лекции профессора Джона Кубиатовича по разработке микропроцессоров.

Программное обеспечение

Xilinx подкупает наличием бесплатного софта, в том числе под Linux — ISE Webpack. Как использовать Xilinx ISE под Linux описывается здесь.

Загрузка прошивки

Для работы микросхемы FPGA в нее надо загрузить прошивку. Это происходит при нажатии кнопки PROG. Светодиод “DONE” показывает, что процесс загрузки успешно завершился и FPGA готова к работе.

На плате есть три вида памяти, в которых может храниться файл прошивки:

  • 512 килобайт Platform Flash — специализированная микросхема Xilinx XCF04S
  • 2 мегабайта последовательной Flash-памяти — ST Micro 25P16V6G
  • 16 мегабайт параллельной Flash-памяти — Intel TE28F128

Или FPGA может загружаться через порт USB непосредственно из внешнего компьютера. Выбор производится джамперами J30. Файл прошивки для микросхемы XC3S500E имеет размер 283 килобайта.

Утилита прошивки iMPACT входит в состав программного пакета Xilinx ISE Webpack. Её можно вызывать в пакетном режиме:

impact -batch impact.run

При этом командный файл impact.run выглядит так:

setMode -bscan
setCable -p auto
identify
assignFile -p 1 -file "прошивка.bit"
program -p 1
quit

Примеры от Xilinx

С сайта Xilinx можно скачать примеры разработок для платы Spartan-3E Starter Kit.

Picoblaze

Плата Spartan-3E Starter Kit изначально поставляется с прошивкой "startup", демонстрирующей возможности процессора Picoblaze. Это 8-битный процессор с объемом памяти 1024 команд и 64 байт данных. Архитектура похожа на младшие модели микроконтроллеров Microchip PIC. Исходные тексты процессора на языке VHDL (около 1900 строк кода) распространяются бесплатно. Прошивку с текстами можно взять здесь: s3esk-startup.zip. Для компиляции дайте команду “make”. Для загрузки в плату выполните файл “install.bat”.

Microblaze

Microblaze представляет собой 32-битный RISC-процессор с архитектурой, напоминающей MIPS-32. Модуль процессора в виде параметризованного netlist распространяется в составе пакета Xilinx ISE. Исходные тексты на языке VHDL доступны бесплатно, но требуется подписать лицензионное соглашение.

Для архитектуры Microblaze существует компилятор GCC. К сожалению, собрать версию 2005-11-21 из исходных текстов не удается, есть несоответствия в include-файлах. Можно скачать бинарную версию GCC 3.4.1 для Linux. Есть тексты на сайте Xilinx, но они тоже не компилируются.

Есть пример "microblaze-lcd" подключения LCD-индикатора к процессору. Скачать можно здесь.

Linux на Microblaze

PetaLogix предлагает встроенный Linux для Spartan3E-500, с поддержкой Ethernet. Тексты, к сожалению, недоступны.

Jason Wu разработал инструкцию по созданию конфигурации ucLinux с помощью Xilinx Base System Builder (входит в состав платной ISE).

OpenRisc: процессор с открытым кодом

OpenRisc 1200 - проект 32-битного процессора с открытым кодом, распространяемым по лицензии GNU. Архитектура похожа на MIPS и ARM. Из периферии есть контроллер прерываний, таймер, контроллер SRAM/Flash, интерфейс отладчика, UART, Ethernet, VGA, клавиатура/мышь PS2. Система модульная, основана на шине Wishbone. Минимальная конфигурация для Spartan-3E Starter Kit занимает 58% ресурса FPGA.

Для OpenRisc есть поддержка в компиляторе GCC. Программное обеспечение можно скачать с сайта фирмы Beyond Semiconductor.

Есть также отличный симулятор архитектуры OpenRisc. Существуют версии Linux, ucLinux, RTEMS и ecos для OpenRisc.

 
proj/xilinx/spartan3e.txt · Последние изменения: 2009/06/04 12:52 vak
 
Copyright (C) 1996-2013 Serge Vakulenko
serge@vak.ru