fpga-systems-magazine

Концепт проекта Pentagon

Главная » Статьи » FPGA-Systems Boards (FSB) » Проект "Pentagon"
KeisN13
10.10.2019 12:50
5029
3
0.0

Оглавление

Аннотация

Вариант PointPas

Вариант Metallfly

Вариант KeisN13

 

Скачать статью в формате PDF

 

Аннотация

Наш проект FPGA-Systems.ru потихоньку развивается и обрастает новыми участниками. Не так давно мы приняли решение попробовать разработать свой собственный универсальный отладочный комплект для начинающих разработчиков, студентов и энтузиастов, содержащий ПЛИС/FPGA, причем не важно какого производителя Вы предпочитаете. В виду этого был оперативно организован чат в телеграм https://t.me/FpgaSystemsBoards @FpgaSystemsBoards и набралась активная группа разработчиков, желающих принять в проекте участие. Мы предлагаем три варианта концепта платы проекта «Pentagon» и надеемся на Ваши отзывы. Просим Вас дать отзыв и замечания, которые Вы можете оставить в комментариях под статьей. Если есть предложения или желание помочь: милости просим.

Вариант PointPas

Идея заключается в следующем: основная плата может использоваться без платы расширения и имеет одинаковый, минимальный набор периферии с которой можно поиграться (какой, нужно решить), сюда входят различного рода кнопки, переключатели, светодиоды и т.д. (Рисунок 1). Нацелено это на то, чтобы начинающие могли хоть что-то сделать на дешёвой плате и понять как им этот мир в целом. Так же на основной плате располагается dc/dc преобразователь с возможностью выбора напряжения питания IO, загрузочная флэш память, ОЗУ (какого типа нужно выбрать, возможно маленькие по объёму кристаллы не потянут ддр, наверное, нужно на таргет чипах сделать тестовые проекты, посмотреть сколько занимает, а возможно, вообще, лучше поставить простую память, чтобы к ней можно было самому контроллер написать т.к. новичкам для практики самое то, ну, или к ддр что-то в добавок, в общем вопрос открытый). В зависимости от объема чипа можно ставить ОЗУ и флэш большего/меньшего объема. На основной плате питание поступает через USB разъем. Также через USB и чип FTDI получаем UART, JTAG.


Рис 1 – Возможная реализация

На плате расширения ставится USB для дополнительного питания и диф. пара заводится напрямую на ПЛИС (вдруг кто-то захочет поднять??). Так же стоит вопрос о том, нужно ли какую-то периферию ставить на плату расширения, если да, то какую, если нет, то тупо выводим все на PMODы?

У ПЛИС разных вендоров будет разное количество IO, нужно решить, что делать с «избыточными» пинами. Тут видится два варианта.

  1. Сделать на плате расширения PMODы под FPGA с максимальным количеством IO и на моделях с меньшим количеством выводов просто не использовать часть разъемов.
  2. Сделать на основной плате PMODы для избыточных пинов.

Компонент

Цена с ru.mouser.com (цена с digikey.com USA, могут быть вопросы с таможней)

Примечание

Память PSRAM

10$(5$)

32 Мб(16Мб)

Память SDRAM

5$(3$)

32 Мб

Память SDRAM-DDR3

8,5$(5$)

256 Мб Чип Micron шины данных 8 бит т.к. наименьшее кол-во ресурсов займет.

Память HyperRam

10$(3$)

16 Мб(8Мб)

LFE5U-45F-6BG256C
 

28$(16$)

Самый низкий класс скорости, в этом корпусе нет плис на 85к лутов, 44 максимум

LFE5U-25F-6BG381C

20$(12$)

Цена норм

LFE5U-45F-6BG381C

34$(18$)

Более ходовое посадочное место т.к. имеет совместимость с плис с трансиверами и на 85к лутов. 203 I/O

LFE5U-85F-6BG381C

54$(28$)

Самая жирная ПЛИС, которая пролазит в бесплатную версию сапра. 205 I/O

QSPI-flash

4-5$

128Mbit, чип Micron

FT2232

10$(6$)

 

Питание

~10$

Есть дешевые импульсные на 3 канала, но нам мб линейник еще нужен будет. Пока ориентировочно 10$ будет

Плата основная

87$ за 10шт. 7$ за трафарет для запайки. + доставка ~ 11$/шт.

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

Плата расширения

29$ за 10шт. 7$ за трафарет + доставка ~5$/шт

4 слоя. До размеров 100х100 JLCPCB у других на мелких заказах поболее стоимость

Подведем небольшой итог. Считаем на одно готовое изделие: 16$ платы (цена на плату расширения учитывается, но т.к. она будет одинаковая для всех вендоров стоит ли её учитывать?) + небольшая ПЛИС на 25к лутов 20$  + ОЗУ 9$ (цена для 256Мб ддр3, если ставить меньшего объема, то должна быть подешевле) + загрузочная флэш 5$ (это за 128 мбит т.к. сколько другим вендорам нужно я хз, самой жирной от лэттиса нужно 64мбита, что тоже дешевле) + чип для прошивки 2232 10$ + питание 10$ (мне кажется можно сделать сильно дешевле) + всякие светодиоды и комплектуха типа резисторов и разъемов мне кажется максимум баксов 15 на плату выйдет если не меньше т.к. это все массово и для всех вариантов закупаться будет. Итого: 76$ (цена с запасом, как мне кажется, хотя может не хватить и стать больше). 

Вариант Metallfly

Конструкция платы предлагается следующая: в качестве несущей платы использовать одну плату только с разъемами с четырех сторон, а в качестве основной платы использовать несколько вариантов различной стоимости с различными компонентами и FPGA различных производителей.

На рисунке 1 представлены модули (System-On-Module) отладочной платы с FPGA.

  
Рисунок 1 ­ Предварительная схема
SoM

На рисунке 1 (а) показан модуль с установленной FPGA с большим количеством логических ячеек, отладчиком и DDR памятью. На рисунке 1 (б) показан модуль с установленной FPGA с малым количеством логических ячеек, отладчиком и SDR памятью. На рисунке 1 (в) показан модуль с установленной FPGA отладчиком и без использования памяти (возможно с наименьшим количеством логических ячеек). Для вывода сигналов на периферию используются разъемы с левой и правой стороны платы. Можно продумать возможность переключения питания для питания банков ввода-вывода от 3.3 В до 1.2 В.

На рисунке 2 представлена схема основной платы расширения для SoM. Снизу и сверху платы находятся разъемы для подключения модулей со скоростными интерфейсами (Ethernet, HDMI и т.д.). С левой и правой стороны находятся разъемы для подключения низкоскоростных модулей (SPI, I2C, LED, Button). В центре устанавливается SoM.

Рисунок 2 ­ Предварительная схема платы расширения 

Такая конструкция отладочной платы позволяет использовать несущую плату с любым набором периферии и SoM любой доступной конфигурации.

Список возможных дополнительных модулей:

  1. Расширение для 40-pin (Terasic) и Pmod;
  2. HDMI interface;
  3. Ethernet PHY + RJ45;
  4. MIPI Display and Camera;
  5. Light, Humidity, Temperature, etc. Sensors;
  6. LED, Button, 7-seg, Switch;
  7. Etc.

Подсчет стоимости решения

Сравнение цен на FPGA с 25K лог. ячеек

 

 

Spartan 7 (XC7S25)

MAX 10 (10M25)

Cyclone 10 LP (10CL025)

ECP5 (LFE5U-25)

Digikey

31$ – 40$

31$ – 87$

19$ – 31$

9$ – 13$

Элитан

2500 р. – 3500 р.

2500 р. – 6000 р.

2100 р. – 2800 р.

700 р. – 1300 р.

Примечание

 

Встроенная Flash

Нет DDR

 

 

 

 

 

Стоимость проекта без учета FPGA

Цена комплектующих

Дешевое решение

Средней стоимости

Дорогое решение

Память

-

3$

3$

Конфигурационная память

-

-

2$

Питание

8$

8$

8$

Отладчик

7$

7$

7$

Разъемы

1$

1$

1$

Остальные компоненты

~3$

~4$

~5$

Плата + монтаж

~10$

~13$

~15$

Итого

~29$

36$

41$

Цены приведены при использовании информации с сайта Digikey и при штучной покупке электронных компонентов и могут отличаться при крупных заказах. Цена при заказе крупной партии печатных плат, а также для монтажа может отличаться. Цены изготовления печатной платы взяты для шестислойной платы с сайта JLCPCB.

 

Вариант KeisN13

Отладочный комплект предполагается делать из двух частей: основной модуль и несущая плата. Комплект для начального уровня или чуть выше. Не для «про». В виду этого сам принцип построения можно сделать в виде конструктора

Концепт несущей платы – это универсальная плата, к которой можно подключить основной модуль с любой установленной ПЛИС и внешнюю периферию, используя стандартные разъемы формата PMOD. Возможно дублирование PMOD на плате в виде набора PLS/PLD линеек либо разработка переходников на другие форматы, совместимые с Terrasic, Raspberry PI, Arduino и тд.

Количество портов ввода/вывода ориентировочно 100 шт (зависит от ПЛИС конечно), что дает 100/8 = 12.5 возможно подключаемых PMOD. Предлагается устанавливать по 2-4 PMOD с каждой стороны. Но в зависимости от кристалла это количество варьируется, но посадочные места можно оставить. Для примера на рисунке расположение 12 PMOD для 100 I/O ПЛИС.

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

Программатор и флешка для прошивки делаются на отдельных модулях и приобретаются отдельно. Флешка – второстепенная вещь, а программатор является наиболее дорогой частью изделия, и у пользователя он уже может быть в наличии, а если нет, то программатор приобретается как законченный модуль для проекта «Пентагон» или любой другой, который подключается через выведенный на плате JTAG.

 

Рис. Концепт несущей платы

 

Основной (мезонинный) модуль предполагается сделать без периферии, только ПЛИС, энергозависимая память, питание и дополнительный разъем для подключения внешнего JTAG. Периферия вроде кнопочек, светодиодов, Ethernet, HDMI, VGA и тд подключаются к несущей плате. Сделаем отдельную линейку PMOD для проекта. Питание осуществляется от USB порта. Плата начального уровня, питания от USB должно хватить.



Рис. Мезонинный модуль


Выбор элементной базы. Нужно брать максимально совместимые кристаллы по посадочному месту, однако в виду универсальности несущей платы это требование можно опустить. Тем не менее, в качестве базового кристалла Xilinx предлагаю взять Spartan-7 в корпусе FTBG196. В нем 4 совместимых кристалла 6, 15, 25 и 50к логики, 100 I/O, что вполне достаточно для платы начального уровня.


 

Достоинства предлагаемого решения:

  1. Это конструктор, пользователь полностью сам набирает нужную ему периферию
  2. Наличие PMOD позволяет делать периферию пользователям самостоятельно
  3. Частичная автономность мезонинного модуля позволит использовать его без несущей платы. Несущую плату пользователи также смогут сделать самостоятельно
  4. Универсальность несущей платы позволит подключать мезонины с ПЛИС любых производителей

 

Недостатки

  1. Предлагаемая нестандартная форма платы приведет к ее удорожанию, нужно оценить
  2. Несколько переходов по штырькам повлияет на целостность сигналов при относительно скоростной подключенной периферии. Однако большая часть внешних устройств работает на частотах до 100-200МГц. 

 

Стоимость типового решения

Ориентируемся на xc7s25t-1ftgb196c установленной внешней энергозависимой памятью MT41K128M16JT-125:K. Без программатора. Вместе с компонентами несущей платы

Компонент

Стоимость

MT41K128M16JT-125:K

$7

xc7s25-1ftgb196c

$40

C, R, L, X

7$

Питание

10$

Плата  и монтаж

20$

Итого

84$

Скачать статью в формате PDF

5029
3
0.0

Всего комментариев : 3
avatar
1 digitalinvitro • 14:59, 10.10.2019
Почему во всех трех проектах рассматривается SDRAM? В первом случае PointPas при выборе компонентной базы был некий намек на PSRAM. Почему вниманием обделены варианты с последовательной FRAM/SRAM и параллельной SRAM? Если разговор идет о новичках то писать автомат состояний для SDRAM та еще морока, вряд ли новичок такой забег выдержит.
avatar
0
2 KeisN13 • 15:54, 10.10.2019
Я полагаю, что ставиться будет память в зависимости от емкости кристалла. Для мелких это простенькая статика, гиперрам или еще что-то не очень тяжелое, для более крупных DDR3L. Для статики сделаем тест проект или сами корку напишем или возьмем IP, если оно есть. Для больших стандартный MIG.
avatar
3 Strijar • 16:42, 28.10.2019
А какая цель именно создать свое? Потому что можете? (; Я к тому что китайцев в этом не переплюнуть. Есть куча готовых плат по очень вкусным ценам. Например на Spartan6 можно взять за 1500р, на Artix7 около 3500р. Было бы полезней взять именно какую нибудь из таких и сделать периферийные платы (разные) - под работу с сетью, звуком, видео.
avatar

FPGA-Systems – это живое, постоянно обновляемое и растущее сообщество.
Хочешь быть в курсе всех новостей и актуальных событий в области?
Подпишись на рассылку

ePN