b2m, в сорцах твоей реализации РК на DE1 лежит SDRAM_Controller.v, но он, насколько я понял, не используется. Файлик случайно туда попал или у тебя есть версия РК использующая SDRAM?
b2m, в сорцах твоей реализации РК на DE1 лежит SDRAM_Controller.v, но он, насколько я понял, не используется. Файлик случайно туда попал или у тебя есть версия РК использующая SDRAM?
Файлик попал случайно, но версия, использующая SDRAM была (временно), и вроде даже работала без сбоев.
Не, не осталось, я прямо в рабочем проекте попробовал, потом убрал. Слишком уж простой контроллер, на чтение/запись уходит много тактов. Для РК не критично, он всё равно 1 такт работает, 24 простаивает. А для реального применения - малопригодно.
ivagor, у меня в амижном проекте SDRAM контроллер вполне работающий
https://code.google.com/p/z3sdram/so...m_controller.v
Выглядит страшновато, но на самом деле он хороший![]()
tnt23, спасибо, но для меня это слишком страшновато. b2mу спасибо за случайно забытый контроллер, он у меня даже почти заработал.
Несколько стыдно рассказывать, но я попробую. На данный момент затыка в доступе к SDRAMине по чтению проца и видео.
Если процу не давать читать
.rd(vid_rd),
то изображение нормальное.
Если ему дать читать
.rd(vid_rd ? 1'b1 : cpu_rd&(!addrbus[15])),
то изображение скачет. Тем не менее, можно разобрать, что на директивы монитора реагирует. Например заполнил область значением, потом вывел дамп - все работает как должно.
Последний раз редактировалось ivagor; 23.01.2014 в 18:02. Причина: добавил код
Ты мой проект что-ли копаешь? Я думал что-то своё мастыришь.
А я, кстати, только первые 16Кб на SDRAM подменял, т.к. в процессе отладки хотелось, что-бы РК-шка работала, а там уже в мониторе смотреть, как SDRAM выглядит. Поэтому у меня таких проблем не было.
Тут надо синхронизацию переделывать, а то процессор 1 раз в примерно 25 тактов обращается, а видео - ровно 1 раз в 24 такта. И эти обращения никак не синхронизированы. Надо скорректировать запросы путём задержки, пока они не попадут в своё "окно". Точнее, достаточно cpu_ce задерживать, если было обращение от видео.
Если еще буду копать, то оставлю нижние 16 Кб в SDRAM, а верхние надо затолкать в ПЛИС, у меня уже сегодня такая мысль появлялась. А до этого думал РК до 16 Кб урезать и все ОЗУ в ПЛИСине.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)