m2rpi

Объединение технологий FPGA и CPU давно будоражит пытливые умы разработчиков. Та же компания Intel не оставляет попыток "скрестить ежа с ужом", да и у разных производителей ПЛИС есть свои чипы с встроенным HPS. Об одной такой системе мы уже писали. Интерес этот понятен, каждая из технологий FPGA/CPU удобнее в какой-то своей сфере применения. На FPGA шире спектр подключаемой периферии и проще работать с задачами реального времени. На CPU удобнее обрабатывать и хранить данные, проще с пользовательским интерфейсом и связью с внешним миром. Но у существующих решений есть две серьезные проблемы - это высокий порог вхождения и цена. А нам хотелось бы реализовать симбиоз FPGA и CPU "для самых маленьких". Отсюда появилась идея сделать плату для Raspbery Pi. Хотя платы с FPGA для Raspbery Pi уже существуют, они имеют ряд недостатков. Опять-же, цена, нет плат с альтеровскими чипами и, на наш взгляд, не очень удачное конструктивное решение.

Хочу остановиться на этом моменте подробнее. Те, кто знаком с Raspbery Pi, наверное обратили внимание, что на последней версии платы Raspbery Pi3, на чипах уже появились радиаторы. Простите меня за сарказм, но в следующей версии (типа Raspbery Pi4) можно ожидать и вентилятор. А все существующие платы вставляются сверху, что только ухудшает охлаждение процессора, и будет повышать температуру находящейся над ней FPGA. Поэтому мы решили устанавливать плату не сверху, а рядом и соединять с Raspbery Pi при помощи специального переходника.

m2rpi connected

Плату мы постарались сделать как можно проще (и соответственно дешевле) - FPGA EP4CE6E22C8 или 10CL006YE144C8G:

  • Логических элементов 6272;
  • Встроенная память 270Кбит;
  • Умножителей 15 (18x18) или 30 (9x9);
  • PLL 2;
  • 4 светодиода;
  • 3 кнопки;
  • Кварцевый генератор 100Мгц;
  • Возможность установки чипа EPCS4 (для случая, если плата будет использоваться автономно);
  • Разъем JTAG (для случая, если плата будет использоваться автономно);
  • два 40 пиновых разъема на каждом по 28 пользовательских GPIO;
  • один 40 пиновый разьем для подключения к Raspbery, на котором можно использовать 24 или 20 GPIO (в зависимости от того, установлен чип EPCS4 или нет).

Мы тестировали нашу плату с Raspberry Pi3 и Raspberry Pi2B. Нашу плату можно подключить и к Raspbery Pi Zero. Но они, к сожалению, продаются с невпаянными разъемами, и их придется допаивать самостоятельно. Если, допаять "гребенку " сверху, то подключение будет таким-же, как и с обычным Raspbery Pi:

m2rpi zero

Но если запаять разъем "противоположной сексуальной ориентации" снизу, то в этом случае, можно обойтись без переходника:

m2rpi zero top

Схема платы доступна для загрузки 

Программировать плату можно несколькими способами. Первый способ - использование программного обеспечения OpenOCD,

Второй способ - использование сетевого программатора для Quartus Prime. В этом случае на Raspberry запускается специальный сервер и у Quartus устанавливается специальный Jtag DLL. Они взаимодействуют по сети и FPGA загружается по сети прямо из среды квартуса. В этом случае можно пользоваться даже Quaruts Prime SignalTap. Последняя версия JTAG Server поддерживает Raspberry Pi4.

Плату можно купить в нашем интернет магазине.

 

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