Ну у нас-то вся мощь удвоенной/учетверённой/увосьмерённой ;) частоты ПЛИС.)))
Нам конденсаторы без надобности. :)
Вид для печати
Быть может тебе будет интересно, синхронный видеогенератор здесь и далее, АГАТовские режимы тоже на 312 строк.
Ещё успеет.))
Кстати, jic файл готовить научились? На марсоходе ребята подробно расписали процесс.
А вообще это необязательно - прекрасно шьётся pof-файлом в режиме Active Serial, правда значительно дольше, чем через житаг. Ну и разъём, разумеется подключается непосредственно к флеши. В Configuration Handbook от Альтеры есть.
Чужие схемы анализировать, конечно же, необходимо, но делать лучше свои. По крайней мере так не повторишь чужих ошибок (однако не факт, что не наделаешь своих)))
На данном этапе достаточно одного. :) на Z80.
Ну и разрисовать тайминги.
Там по большому счету всё достаточно просто - каждые 8 тактов пиксельклока (7МГц) надо читать из видеопамяти дважды - содержимое 8 точек в строке и цветовые атрибуты для них. То есть на 7МГц надо читать каждый четвёртый такт, что для частоты процессора (3,5МГц) означает, что видеопамять занята каждый второй такт, то есть ровно половину всего времени. Других вариантов как бы и нет.
Остаётся только выбрать, в которых тактах будет "окно" для процессора.
- - - Добавлено - - -
Если честно, не пробовал. Во время отладки прошивка всё равно льётся непосредственно в ОЗУ циклона.
Ну что ж...
Есть первые, хоть и незначительные, но успехи!
Собрал вот такую вот девборду для отладки, а то куча проводов это жуть....
http://savepic.net/9618250.jpg
Ну, и, собственно сам успех! :)
http://savepic.net/9626447.jpg
Пока что атрибуты здесь не выводил, но картинка статичная, никуда не дергается!
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
УРА!!!!!!!!!!!!!!!!!!!!!!
Не прошло и месяца!!! И наконец!!!!
http://savepic.net/9631567.jpg
Тест 48 прошел, 128 пока нет, но это дело поправимо!!!
Ну и конечно же :)
http://savepic.net/9619279.jpg
PS: больше всего провозился из-за проблемы с мультиплексором и сигналом записи!
PS2: написал на чистом Verilog одним файлом :)
PS3: выкладываю полурабочий вариант, что-то сейчас с портами, не работают как надо...
UPD: разобрался с портами, там в коде немного накосячил и еще нужно их читать по нарастанию а не по спаду :)
http://savepic.net/9622351.jpg
А я говорил - схемный ввод до добра не доведёт ))
shurik-ua, чойто?
http://newru.org/wp-content/uploads/...interny-57.jpg
Да я к тому что человек вон промаялся с этим схемным вводом и в итоге всё равно сделал на верилоге))