Комментарии 9
Здорово, всегда хотел сделать что-то такое, только повода не было.
Есть два момента:
1) На мой взгляд стоит сделать более прозрачное описание интерфейса модуля — чтобы было понятно что по какому адресу грузить — чтоб можно было взять ваш модуль и пустить в работу с минимальными усилиями.
2) В коде по ссылке я вижу, что выходы на VGA одноразрядные, что вызывает недоумение:
r: out STD_LOGIC;
g: out STD_LOGIC;
b: out STD_LOGIC;
Есть два момента:
1) На мой взгляд стоит сделать более прозрачное описание интерфейса модуля — чтобы было понятно что по какому адресу грузить — чтоб можно было взять ваш модуль и пустить в работу с минимальными усилиями.
2) В коде по ссылке я вижу, что выходы на VGA одноразрядные, что вызывает недоумение:
r: out STD_LOGIC;
g: out STD_LOGIC;
b: out STD_LOGIC;
Я имел в виду документацию — вот у вас 32 разрядный адрес (о боже, куда столько?), а по какому адресу писать, чтобы вывести 15 символ в 3 строке непонятно…
И еще вопрос — знакогенератор перепрограммируемый или фиксированный?
И еще вопрос — знакогенератор перепрограммируемый или фиксированный?
я как-то пытался сделать такой же, но с хранением таблицы символов и видеопамяти в SRAM, куда таблица подгружалась из flash. В принципе, можно сделать довольно эффективный по ячейкам алгоритм, если хранить только один байт — текущую строку текущего символа. Поскольку символ шириной в 8 точек, то можно успеть сделать 8 обращений к SRAM, пока он рисуется, но достаточно двух. Естественно, такие обращения должны быть приоритетными и прерывать другую активность с памятью. Только тогда до меня дошло, почему при размещении программы в одном банке с видеопамятью в ZX-spectrum летели к черту все расчеты по количеству тактов на операцию :)
Мы (студенты Латвийского университета) тоже делали такой модуль как часть курсового проекта на курсе по цифровому проектированию ;-) Проектировался он для Xilinx Spartan-3E, шрифт и видеопамять были в RAM-блоках, размерность была 40×30 символов (потому что хорошо умещается в 640×480).
Потом уже на основе этого модуля мы сделали традиционную змейку и «Matrix digital rain»:
www.youtube.com/watch?v=tfB1G7xCYi0
www.youtube.com/watch?v=wDJkkOI-s9w
Потом уже на основе этого модуля мы сделали традиционную змейку и «Matrix digital rain»:
www.youtube.com/watch?v=tfB1G7xCYi0
www.youtube.com/watch?v=wDJkkOI-s9w
Кстати, если уж вы Spartan упомянули. Вам случайно не приходилось прошивать плату Gigilent Nexys2 под линуксом? Ну или подобную. Вроде как слышал что это возможно, но у меня не получалось.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Текстовый VGA модуль на VHDL