Pull to refresh

Comments 9

Здорово, всегда хотел сделать что-то такое, только повода не было.
Есть два момента:
1) На мой взгляд стоит сделать более прозрачное описание интерфейса модуля — чтобы было понятно что по какому адресу грузить — чтоб можно было взять ваш модуль и пустить в работу с минимальными усилиями.
2) В коде по ссылке я вижу, что выходы на VGA одноразрядные, что вызывает недоумение:
r: out STD_LOGIC;
g: out STD_LOGIC;
b: out STD_LOGIC;
1) Чтобы было прозрачно, можно в generic задать базовый адресс.
2) Неувязочка вышла. Дело в том, что код я брал из текущей версии модуля (там как раз сигналы напрямую к VGA-разъему идут). Впрочем, изменения для 8-битного выхода и 1-битного минимальные.
Я имел в виду документацию — вот у вас 32 разрядный адрес (о боже, куда столько?), а по какому адресу писать, чтобы вывести 15 символ в 3 строке непонятно…
И еще вопрос — знакогенератор перепрограммируемый или фиксированный?
Добавил в топик небольшое описание.
Знакогенератор перепрограммируемый.
я как-то пытался сделать такой же, но с хранением таблицы символов и видеопамяти в SRAM, куда таблица подгружалась из flash. В принципе, можно сделать довольно эффективный по ячейкам алгоритм, если хранить только один байт — текущую строку текущего символа. Поскольку символ шириной в 8 точек, то можно успеть сделать 8 обращений к SRAM, пока он рисуется, но достаточно двух. Естественно, такие обращения должны быть приоритетными и прерывать другую активность с памятью. Только тогда до меня дошло, почему при размещении программы в одном банке с видеопамятью в ZX-spectrum летели к черту все расчеты по количеству тактов на операцию :)
Если попытаться создать свой суперпроцессор, почему-то всегда получается Zilog :)
Мы (студенты Латвийского университета) тоже делали такой модуль как часть курсового проекта на курсе по цифровому проектированию ;-) Проектировался он для Xilinx Spartan-3E, шрифт и видеопамять были в RAM-блоках, размерность была 40×30 символов (потому что хорошо умещается в 640×480).

Потом уже на основе этого модуля мы сделали традиционную змейку и «Matrix digital rain»:
www.youtube.com/watch?v=tfB1G7xCYi0
www.youtube.com/watch?v=wDJkkOI-s9w
Кстати, если уж вы Spartan упомянули. Вам случайно не приходилось прошивать плату Gigilent Nexys2 под линуксом? Ну или подобную. Вроде как слышал что это возможно, но у меня не получалось.
У нас был Spartan-3E Starter Kit. Он работал с линуксом (32-битный Ubuntu), но, насколько я помню, там надо было специальные драйверы от Xilinx ставить.
Sign up to leave a comment.

Articles