О, прикольно. Мой проект получил свою тему
Если есть какие вопросы - спрашивайте. Буду рад, если кто-то присоединится к проекту.
Из пока не опубликованного: заказал SDRAM платы с расположением внутрь, поскольку то там то тут встречается запрос на такую конструкцию. Понять можно, но есть подводные камни, о которых не думают:
1) Помехи от основной платы. На скоростях выше 100мгц они существенно влияют.
2) Закроются все GPIO Ардуино, что ухудшит дальнейшие расширения. Можно, конечно дырок насверлить, но это так же может ухудшить скоростные характеристики SDRAM.
3) FPGA не хило так греется из-за железного ARM. Будет подогревать и так не холодную SDRAM.
Всё же решил сделать плату и посмотреть как получится. Хотя, сам Терасик свои расширения делает так, что они смотрят наружу.
Я рекомендую паять вертикально - самый компромиссный вариант. Если горизонтально наружу, то поддерживаются чуть большие скорости, но они уже не используются в эмуляторах.
И да, не забывайте что успешная работа SDRAM платы гарантируется пока только на AS4C16M16SA-6TCN чипе! Заставить работать MT48LC16M16A2 на частотах выше 60мгц мне не удалось. Возможно техпроцесс более старый у данного чипа, и где-то нагрузки сильно сдвигают тайминги. IS42S16320D-6TL работает на 130мгц, что тоже неплохо, но этот чип дороже в 4 раза чем AS4C и он 64мб, половина из которых будет просто простаивать. На mouser.com других подходящих чипов не нашел.
- - - Добавлено - - -
HDMI: доступно только для FPGA. Для вывода видео с Linux (демонстрационная сборка от Terasic), используется ядро эмулирующее простую видеокарту.
DDR3: доступно как для ARM там и для FPGA. В моих ядрах есть примеры использования DDR3.
Ни DDR2 ни DDR3 не позволяют втиснуться в тайминги асинхронной EDO DRAM памяти. Вот только вчера пытался переделать Специалиста под DDR3 ибо там нет жестких требований к таймингам. В результате в играх заметно торможение. То есть даже комп с 580ВМ80 на 2Мгц тормозит с DDR3
И дело тут вовсе не в том, что память шарится с ARM. У меня есть Terasic GX Starter - там нет ARM, и память DDR2 - и там скорости выборки случайных одиночных ячеек памяти не хватает.