March 5th, 2018

2017

Дешевые FPGA платы для нужд школьных кружков и университетских курсов с большим количеством студенто

В образовательных проектах, в которых я участвую, мы несколько раз обсуждали перенос всех лаб и упражнений на максимально дешевые FPGA платы. Это особенно актуально для программ со школьниками, а также для университета Иннополис, в котором 210 студентов на курсе компьютерной архитектуры с элементами введения в HDL, RTL и FPGA - и всего 13 плат.



После исследования нескольких плат я остановился на комплекте, который выбрал на AliExpress Виктор Медведев:

https://ru.aliexpress.com/item/USB-Blaster-altera-fpga-board-altera-board-fpga-development-board-EP4CE6E22C8N-board-cyclone-IV-kit/32813061054.html



В комплект входит плата под названием ZEOWAA A-C4E6 и клон Altera USB-Blaster. На этой плате стоит Cyclone IV с 6K альтеровских ячеек, динамический 7-сегментный индикатор, 12 LED построенных в странной фигуре, 4 кнопки со странным расположением, 8 неудобных переключателя и зуммер, который работает не всегда надежно. Разумеется это хуже, чем Terasic DE10-Lite, но зато она стоит ZEOWAA $28.90, а Terasic DE10-Lite стоит $85 (академическая цена $55, но мне никто не продает по академической).

Хотя на плате ZEOWAA нельзя запустить MIPSfpga, но в нее точно должен влезать schoolMIPS и простые упражнения. Я сначала ошибочно считал, что клон USB Blaster в этом комплекте несовместим с последней верситей Quartus, но оказалось, что совместим - просто у разных версий USB Blaster разные названия кабелей, а я конфиругировал в command line c названием одной из версии.

Помимо ZEOWAA я исследовал и плату совсем без периферии EPM240 с Altera Max II, за $6.16. К ней требуется еще и USB Blaster за $2.65, а также доставка $1.95, иными словами выходит $11.02. Однако все, что может делать эта плата - это моргать одним светодиодом, для большего к ней нужно подключить внешние устройства. Кроме этого, в нее еле-еле влез текстовый пример, который для этого плишлось упростить, а в ZEOWAA этот пример занял всего 4% платы. Тем не менее, EPM240 наверное можно использовать для каких-нибудь хакатонов-олимпиад на смекалку "придумайте что-нибудь интересное с этой простой голой платой и куче сенсоров".

Тестовый пример находится на https://github.com/MIPSfpga/digital-design-lab-manual/tree/master/alt_boards.

В него входит:

1. Устранитель дребезга (button and switch debouncer), вариант Ильи Неганова.
2. Генератор strobes / enable, на основе счетчика - два применения.
3. Сдвиговый регистр.
4. Конечные автоматы Мура и Мили, для распознавания простой последовательности (из Harris & Harris).
5. Счетчики strobes и результатов работы конечных автоматов (4)
6. Драйвер динамического семисегментного индикатора.
7. Вырожденно тривиальная среда тестирования.

Также в пример входят скрипты для синтеза и симуляции, чтобы все можно было делать в командной строке.

Оно все работает. Результаты синтеза:

Device : EP4CE6E22C8
Total logic elements : 267 / 6,272 ( 4 % )
Total combinational functions : 246 / 6,272 ( 4 % )
Dedicated logic registers : 216 / 6,272 ( 3 % )
Total registers : 216
Total pins : 42 / 92 ( 46 % )

Теперь к этому нужно подобрать зоопарк сенсоров. Какие будут рекомендации?

Вот список проектов, которые я предложил для студентов в Иннополисе:

Collapse )