Концепт проекта Pentagon
Оглавление
Скачать статью в формате PDF
Аннотация
Наш проект FPGA-Systems.ru потихоньку развивается и обрастает новыми участниками. Не так давно мы приняли решение попробовать разработать свой собственный универсальный отладочный комплект для начинающих разработчиков, студентов и энтузиастов, содержащий ПЛИС/FPGA, причем не важно какого производителя Вы предпочитаете. В виду этого был оперативно организован чат в телеграм https://t.me/FpgaSystemsBoards @FpgaSystemsBoards и набралась активная группа разработчиков, желающих принять в проекте участие. Мы предлагаем три варианта концепта платы проекта «Pentagon» и надеемся на Ваши отзывы. Просим Вас дать отзыв и замечания, которые Вы можете оставить в комментариях под статьей. Если есть предложения или желание помочь: милости просим.
Вариант PointPas
Идея заключается в следующем: основная плата может использоваться без платы расширения и имеет одинаковый, минимальный набор периферии с которой можно поиграться (какой, нужно решить), сюда входят различного рода кнопки, переключатели, светодиоды и т.д. (Рисунок 1). Нацелено это на то, чтобы начинающие могли хоть что-то сделать на дешёвой плате и понять как им этот мир в целом. Так же на основной плате располагается dc/dc преобразователь с возможностью выбора напряжения питания IO, загрузочная флэш память, ОЗУ (какого типа нужно выбрать, возможно маленькие по объёму кристаллы не потянут ддр, наверное, нужно на таргет чипах сделать тестовые проекты, посмотреть сколько занимает, а возможно, вообще, лучше поставить простую память, чтобы к ней можно было самому контроллер написать т.к. новичкам для практики самое то, ну, или к ддр что-то в добавок, в общем вопрос открытый). В зависимости от объема чипа можно ставить ОЗУ и флэш большего/меньшего объема. На основной плате питание поступает через USB разъем. Также через USB и чип FTDI получаем UART, JTAG.
На плате расширения ставится USB для дополнительного питания и диф. пара заводится напрямую на ПЛИС (вдруг кто-то захочет поднять??). Так же стоит вопрос о том, нужно ли какую-то периферию ставить на плату расширения, если да, то какую, если нет, то тупо выводим все на PMODы?
У ПЛИС разных вендоров будет разное количество IO, нужно решить, что делать с «избыточными» пинами. Тут видится два варианта.
- Сделать на плате расширения PMODы под FPGA с максимальным количеством IO и на моделях с меньшим количеством выводов просто не использовать часть разъемов.
- Сделать на основной плате 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.
Такая конструкция отладочной платы позволяет использовать несущую плату с любым набором периферии и SoM любой доступной конфигурации.
Список возможных дополнительных модулей:
- Расширение для 40-pin (Terasic) и Pmod;
- HDMI interface;
- Ethernet PHY + RJ45;
- MIPI Display and Camera;
- Light, Humidity, Temperature, etc. Sensors;
- LED, Button, 7-seg, Switch;
- 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, что вполне достаточно для платы начального уровня.
Достоинства предлагаемого решения:
- Это конструктор, пользователь полностью сам набирает нужную ему периферию
- Наличие PMOD позволяет делать периферию пользователям самостоятельно
- Частичная автономность мезонинного модуля позволит использовать его без несущей платы. Несущую плату пользователи также смогут сделать самостоятельно
- Универсальность несущей платы позволит подключать мезонины с ПЛИС любых производителей
Недостатки
- Предлагаемая нестандартная форма платы приведет к ее удорожанию, нужно оценить
- Несколько переходов по штырькам повлияет на целостность сигналов при относительно скоростной подключенной периферии. Однако большая часть внешних устройств работает на частотах до 100-200МГц.
Стоимость типового решения
Ориентируемся на xc7s25t-1ftgb196c установленной внешней энергозависимой памятью MT41K128M16JT-125:K. Без программатора. Вместе с компонентами несущей платы
Компонент |
Стоимость |
MT41K128M16JT-125:K |
$7 |
xc7s25-1ftgb196c |
$40 |
C, R, L, X |
7$ |
Питание |
10$ |
Плата и монтаж |
20$ |
Итого |
84$ |