Быть может тебе будет интересно, синхронный видеогенератор здесь и далее, АГАТовские режимы тоже на 312 строк.
Турбо АГАТ-9/16 (ЦП 65C802, 5 Махов, dual-port SRAM).
Ещё успеет.))
Кстати, jic файл готовить научились? На марсоходе ребята подробно расписали процесс.
А вообще это необязательно - прекрасно шьётся pof-файлом в режиме Active Serial, правда значительно дольше, чем через житаг. Ну и разъём, разумеется подключается непосредственно к флеши. В Configuration Handbook от Альтеры есть.
Последний раз редактировалось omercury; 07.04.2017 в 00:36.
Турбо АГАТ-9/16 (ЦП 65C802, 5 Махов, dual-port SRAM).
Чужие схемы анализировать, конечно же, необходимо, но делать лучше свои. По крайней мере так не повторишь чужих ошибок (однако не факт, что не наделаешь своих)))
На данном этапе достаточно одного.на Z80.
Ну и разрисовать тайминги.
Там по большому счету всё достаточно просто - каждые 8 тактов пиксельклока (7МГц) надо читать из видеопамяти дважды - содержимое 8 точек в строке и цветовые атрибуты для них. То есть на 7МГц надо читать каждый четвёртый такт, что для частоты процессора (3,5МГц) означает, что видеопамять занята каждый второй такт, то есть ровно половину всего времени. Других вариантов как бы и нет.
Остаётся только выбрать, в которых тактах будет "окно" для процессора.
- - - Добавлено - - -
Если честно, не пробовал. Во время отладки прошивка всё равно льётся непосредственно в ОЗУ циклона.
Последний раз редактировалось omercury; 07.04.2017 в 01:19.
Ну что ж...
Есть первые, хоть и незначительные, но успехи!
Собрал вот такую вот девборду для отладки, а то куча проводов это жуть....
Ну, и, собственно сам успех!
Пока что атрибуты здесь не выводил, но картинка статичная, никуда не дергается!
PS: на всякий случай чтобы не про... не потерять, рабочий мультиплексор на метр
Код:always @(*) casex({H[1],H[0],H[2]}) // 1024K multiplexor 'b00X: MA <= A[9:0]; // column Z80 address 'b01X: MA <= {RAM[19], RAM[17], RAM[15], A[13:10], RAM[18], RAM[16], RAM[14]}; // row Z80 address 'b101: MA <= {V[7:6], V[5:3], H[7:3]}; // column attr 'b100: MA <= {V[1:0], V[5:3], H[7:3]}; // column pixels 'b111: MA <= {2'b00,SCR,1'b0, 6'b110011}; // row attr 'b110: MA <= {2'b00,SCR,1'b0,{V[7],V[6],V[2]}, 3'b011}; // row pixels endcase
Последний раз редактировалось EvgenRU; 10.08.2017 в 22:17.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
УРА!!!!!!!!!!!!!!!!!!!!!!
Не прошло и месяца!!! И наконец!!!!
Тест 48 прошел, 128 пока нет, но это дело поправимо!!!
Ну и конечно же
PS: больше всего провозился из-за проблемы с мультиплексором и сигналом записи!
PS2: написал на чистом Verilog одним файлом
PS3: выкладываю полурабочий вариант, что-то сейчас с портами, не работают как надо...
UPD: разобрался с портами, там в коде немного накосячил и еще нужно их читать по нарастанию а не по спаду
![]()
Последний раз редактировалось EvgenRU; 10.08.2017 в 22:20.
А я говорил - схемный ввод до добра не доведёт ))
shurik-ua, чойто?
![]()
Да я к тому что человек вон промаялся с этим схемным вводом и в итоге всё равно сделал на верилоге))
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)