Ничего не утеряно, просто MS залочил корпоративную учетку где все лежало. Выложил все что есть на Yandex.
https://i.imgur.com/rq79mgc.png
Скачать:
Quartus 2.2,3.0,4.0,4.1,4.2,5.0,6.0,8.0,9.0,9.1,11.0,18.0 + MAX + PLUS II
Quartus 13.0
Quartus 13.1
Вид для печати
Ничего не утеряно, просто MS залочил корпоративную учетку где все лежало. Выложил все что есть на Yandex.
https://i.imgur.com/rq79mgc.png
Скачать:
Quartus 2.2,3.0,4.0,4.1,4.2,5.0,6.0,8.0,9.0,9.1,11.0,18.0 + MAX + PLUS II
Quartus 13.0
Quartus 13.1
Много проектов встречаю в Quartus 9, если возможность открыть такой в версии 13.0? Чип она поддерживает, если что... Ставить старую версию, но она пойдёт ли на 10-ке?
Хотел Спекки 2010 на свою старую девборду перенести, немного модифицировать, если получится (там ещё и ARM дорогой используется, к сожалению, но всё равно хочу на STM32 проект делать). В итоге поставил и 9.1, но топ не открывается в нём, как и в 13.0, почему-то. Все 208 ног с нуля разводить долго... Ладно переживём)
Распиновки и определения выводов находятся в QSF-файле. Можно просто скопировать текст оттуда.
Только у вас-то наверняка все по-другому разведено.
А что Квартус пишет при открытии, какую ошибку?
Speccy2010 компилится и под 9 и под 13 версией. Тоже мне , нашли проблему. Вот stm-ку с функционалом перенести думаю посложнее, впрочем каждый изобретает вилисапеды по-своемуу.
Вот кто бы подсказал, как из одной корки SDRAM сделать другую, с несколько другим кол-вом колонок и строк.
Можно было бы тогда еще один интересный проект Цпектрума портировать. Когда-нибудь.
Пытаюсь сделать сдвиговый регистр с загрузкой байта через 8 тактов пиксельклока.
vaddr глобальный счетчик видимых пикселей ,
младшие три бита [2:0] счетчик битов для загрузки текущего байта с VRAM для последующего сдвига в видеовыход ,
старшие адреса [18:3] текущий адрес в VRAM .
doubled - пиксельклок
и RTLЦитата:
always @(posedge doubled)
begin
if( ~vaddr[0] & ~vaddr[1] & ~vaddr[2]) shift_reg[7:0] <=vdata[7:0]; else shift_reg[7:0] <= shift_reg[7:0] << 1;
if (disp_en)video<=shift_reg[7]; else video<=1'b0;
end
assign video_out = video;
https://d.radikal.ru/d26/2010/f0/2d13ca29bc06.jpg
- - - Добавлено - - -
Переделал так :
https://d.radikal.ru/d18/2010/4a/083d8d19fab2.jpgЦитата:
always @(posedge doubled)
begin
if (disp_en)video<=shift_reg[7]; else video<=1'b0;
if( ~vaddr[0] & ~vaddr[1] & ~vaddr[2]) shift_reg[7:0] =vdata[7:0];
begin
shift_reg[7:0] <= shift_reg[7:0] << 1;
end
end
assign video_out = video;
Сдвиг и выхлоп видео работает, но почему-то и загрузка 7ми битная и теряется один бит
- - - Добавлено - - -
Похоже победил, по крайней мере выхлоп видео адекватный.
https://a.radikal.ru/a19/2010/a7/2b9397d17874.jpgЦитата:
always @(posedge doubled)
begin
if( vaddr[2:0] ==3'b000) shift_reg[7:0] <=vdata[7:0]; else shift_reg[7:0] <= shift_reg[7:0] << 1'b1;
end
assign video_out = shift_reg[7] & disp_en;
- - - Добавлено - - -
Точно победил :
Цитата:
always @(posedge doubled)
begin
if( vaddr[2:0] ==3'b000) shift_reg[7:0] <=vdata[7:0]; else shift_reg[7:1] <= shift_reg[6:0] ;
end
assign video_out = shift_reg[7] & disp_en;
https://c.radikal.ru/c18/2010/fc/5374c37f0697.jpg
Это не загрузка 7ми битная, это у тебя лаг на 1 такт. А маска приходит нормально. А что мешает сделать затемнение как в православных компах?
Если сожрёт левые 8 точек то надо сместить disp_en на 8 точек влево (т.е. этот сигнал должен покрывать циклы обращения). Плюс данного метода в том, что последние 8 точек выдвинутся и автоматом закончатся, что не будет порождать паразитные вертикальные линии на стыке.Код:if (disp_en & ~vaddr[0] & ~vaddr[1] & ~vaddr[2]) shift_reg[7:0] <= vdata[7:0]; else shift_reg[7:0] <= {shift_reg[6:0],1'b0};
assign video_out = shift_reg[7];