Тут разговор не про платы, а подбор вариантов чипов ПЛИС для данного проекта...
Готовые платки упоминались в контексте чтобы совсем уж с чистого листа все не придумывать...
Вид для печати
Как-то мы чуток в сторону ушли, имхо :) Предлагаю вынести обсуждение девборд в отдельную ветку :)
По поводу Xilinx, мое мнение - можно и ее, но:
1) с этими камнями нет опыта,
2) ISE вроде как только под Windows есть - что есть плохо.
3) Получится в итоге ZX-GO+ ;)
Автор ZX-GO+, кстати, жаловался, что прослойка в виде дешевого МК (там atmega какая-то простенькая, кажется) сильно вносит дискомфорт при трансляции 40-кнопочной клавиатуры внутрь FPGA. Может просто накосячили ? :)
Я хочу продолжить традицию и делать на Altera, все-таки, примерно так вижу будущую железку, назовем ее Karabas Next ? ;) :
1) Altera Cyclone IV EP4CE10 / EP4CE15 / EP4CE22 ;)
2) SDRAM 16x8
3) W25Q64
3) HDMI (или microHDMI), смотря что поместится в стардартную дырку видео-выхода резинки
4) microSD - непонятно пока, в какое место ее физически присобачить
5) 3.5mm TapeIn/Out
6) 3.5mm Stereo Out
7) ZX BUS
8) USB: FE1.1 или FE1.1S в качестве usb-хаба, MAX3421E в качестве аппаратного SPI usb-host контроллера,
9) Atmega328 или что-то, чего хватит в качестве контроллера клавиатуры, прокси USB HID репортов от USB-клавы/мыши/геймпадов внутрь FPGA. Также можно заюзать для бут-лоадера (наработки в проекте SPI-VGA для Reverse-U16)
10) FTDI чип для USB-to-Serial, для программирования атмеги из Arduino IDE по USB
11) USB-B или micro-USB в качестве разъема питания (он же - для программирования атмеги)
12) * RTC DS1338 + батарейка - под вопросом, нужно ли оно кому-нибудь
13) * ESP8266 модуль (ESP12, наверное. или ESP02, хз) - тоже под вопросом
Господа, мы ж не коммерческий массовый продукт тут делаем :)
Нужно сделать поправку на то, что это в первую очередь - хобби-разработка, поэтому 90% всех требований из плана vlad'а можно запросто выкосить :)
Первое, с чего хочу начать - это прототипирование.
В качестве базовой платформы для тестовой площадки вполне сгодится Reverse-U16 или DivGMX, благо и то и другое есть под рукой :)
Осталось дождаться от китайцев MAX3421E и FE1.1, затраты на подготовку к тестовому запуску с моей стороны - около $5. :)
Получится связка из SPI USB-host + Arduino + Reverse-U16 с задизейбленным VNC2 и Ethernet контроллером :)
Если все получится на прототипе - будем двигаться дальше, и разработка сведется к грамотному проектированию схемы, платы и заказу первой пробной партии плат, потом сборка опытного образца :)
Тут затраты уже будут чуть весомее, но все равно для хобби-проекта - не космические. Так и с Карабасом было, собственно.
Ну, как-то так получается:
Бюджет: $100, это та сумма, которую не жалко спустить на закупку компонентов и выпуск опытного образца.
Затраты времени на саму разработку не считаю, ибо сабж некоммерческий, делаю для своего удовольствия :)
Концепция устройства: Девборда на FPGA, спроектированная под корпус "резинки", со всеми вышеозвученными плюшками, повторяющая функциональность DivGMX в master-режиме, с заменой неудобного VNC2 в пользу связки из специализированного чипа с распространенным микроконтроллером (в идеале - atmega328, но ног не хватит, поэтому следующий кандидат - atmega2560), под который есть куча готовых библиотек и IDE под все платформы. Считаю, что именно этот момент снизит порог вхождения в проект и даст возможность подключиться к разработке сторонним девелоперам, если возникнет желание.
ЦА: ретро-маньяки и просто интересующиеся товарищи с zx-pk.ru :)
Примерный план разработки:
1) Наваять протокол обмена по SPI между контроллером и FPGA, сделать трансляцию 40-кнопочной клавиатуры и USB HID репортов по SPI
(если сильно упростить - получится около 5-6 байт в пачке: 1 байт - состояние внутренней клавиатуры, 1 байт - внешней, 1 байт - джой1, 1 байт - джой2, N байт - мышь)
2) Предусмотреть сигналы AVR_BUSY, FPGA_READY (как в Aeon-Lite), дабы исключить пограничные ситуации
3) Допилить SPI-VGA проект, который будет прошиваться в SPI Flash в качестве бут-лоадера, который позволит:
3.1) Выбрать конфигурацию для загрузки с SD-карты из списка (битстрим - в FPGA через дрыганье JTAG пинами, образы ROM - в SDRAM по SPI)
3.2) Сделать настройку RTC
3.3) Сделать Upgrade прошивки SPI Flash с SD-карты
4) Спроектировать получившуюся схему и плату
5) Переписать существующие конфигурации под DivGMX на новый протокол обмена с USB HID, выкосить loader'ы из них в пользу одного глобального loader'а
- - - Добавлено - - -
На ali, естественно :)
Там разброс цен в зависимости от количества и продавца, но вцелом - можно найти вменяемые:
EP4CE22E22C8N - стоит в районе $13-$15
EP4CE15E22C8N - около $10
EP4CE10E22C8N - около $8
Сколько еще нужно входов/выходов? Есть еще ATmega32u4 с 26 I/O (правда это всего на 3 больше чем у atmega328), но он еще со встроенным USB. Кроме того, так как ATmega32U4 обрабатывает USB напрямую, доступны коды библиотек, которые позволяют эмулировать клавиатуру или мышь от компьютера и многое другое с помощью протокола USB-HID.
FTDI чип для USB-to-Serial тогда уже будет не нужен... напоминаю ATmega32u4 это Arduino Leonardo ;)
Пока насчитал
1) 8 - KBA
2) 5 - KBD
3) 4 - JTAG
4) 2 - SERIAL + 1 RESET
5) AVR_BUSY
6) FPGA_READY
7) 3 - SPI (MOSI, MISO, SCLK)
8) SD_CS, VGA_CS, SDRAM_CS, ...
9) USB_CS + USB_INT + USB_GPX
Итого, пока получается 8+5+4+2+1+1+3+3+3=30, это при условии одного SPI на все. Хотя при наличии свободных пинов можно сделать несколько SPI под каждое устройство.... То есть ни atmega328, ни 32u4 тут ну никак не вписываются :(
Atmega32u4 не умеет быть usb host'ом, только девайсом.
Хотя умельцы и на Atmega8 умудрились реализовать low-speed usb host для usb hid, вроде как :)
- - - Добавлено - - -
А идея мне нравится :) Вместо BGA поставить православный TQFP :)
Схемы нет, платы чистой нет, чтобы отреверсить.
Да и потом проблемы с копирайтами могут вылезти... :(
Если пины остануться, то можно статику повесить, и General Sound запилить. Ну это я уж размечтался.
4, 5, 6 и 7 - ISE не поддерживает System Verilog от слова "совсем"
фтопку!
Чем не устраивает ReVerSe или DivGMX ?
- - - Добавлено - - -
Стоит заметить, что ПЛИС Альтеры всегда были доступны на территории бывшего СССР, чего нельзя сказать о ксаях.
Так исторически сложилось.
С учётом вышенаписанного, скорее нет, чем да...
По параметрам только последняя ближе всего к "поделкам" Влада.
За исключением Host USB.
Есть золотое правило: сам предложил - сам сделал.
- - - Добавлено - - -
Атмега умеет USB-HOST? )))
Может хватит уже?
Для приверженцев Ардуиньи есть stm32duino
...для остальных есть нормальные IDE. )))
А пинЫ?
Что мешает поставить готовый Core (с SDRAM сразу), коих на Али вагон с тележкой.
Для начала паять ничего не надо.
МК
Либо либо
Вот это КАТЕГОРИЧЕСКИ не рекомендую - память разведена отвратно.