А ты под правильную флэшку (EPCS64) JIC собираешь?
Вид для печати
Все правильно делаю (( и флешку и циклон верные((. Зашел в тупик, поэтому спраш иваю((
Ок
Спасибо! Почитаю, может где ошибся. andykarpov говорит что может быть проблема с флешкой, при чем флешка сама по себе в программаторе читается и пишется верно, а альтера не может правильно считать.
Говорил, я и так и так пробовал. Сначала конечно не вынимая шил, и нормально было, вчера с горя что gs не получается, решил хотя бы дисковод в tsconf сделать. Сделал, и тут такая засада. Залить spi нельзя ((((.
Sof, который получился при компиляции tsconf с моими изменениями (убрана saa, добалена zxbus и логика работы с ней). Потом делаю cof в конвертере, там выбираю Jic тип флешки epc64, добавляю лоадер, добавляю Sof файл, потом generate. Полученый Jic прошиваю бластером. И в результате болт). Видно что часть прошивки работает ( по крайней мере hdmi), и все. Если sof напрямую бластером залить -работает как задумано
Залей сюда сжатый sof, попробую собрать.
Вложение 61098 Для ep3c
У меня на ep3c - стартует tsconf
не правильный sof, собрал и закинул на г-ящик.
А что в нем неправильного? Какие то настройки в квартусе нужно изменить?
приеду домой буду разбираться, шо ж за напасть такая
Ооо классная идея сейчас попробую
Ура товарищи! Перенес таки general sound из u8 на DIVGMX! Все работает! Сделал 2МБ памяти (62 страницы). Доволен как слон))).
Разобрался в причине проблемы, но не знаю как ее решить... SPI флеш тактируется сигналом DCLK pin_12, а он оказывается особенный. И для маскировки этих особенностей используется настройка в assigment editor'e I/O MAX TOGGLE RATE 0MHz. Но ALTERA предупреждает - if you choose to use the I/O MAX TOGGLE RATE setting on switching pins in order to bypass these placement rules, your design may not function as intended. В общем, если поставить для DCLK I/O MAX TOGGLE RATE 0MHz (сигнал с нулевой частотой, типа RESET) - проект компилируется, но может работать не так как задумано. И естественно, так у меня на tsconf и получилось. SOF напрямую в FPGA заливается, а из флешки при включении питания читаться правильно не хочет, т.к. DCLK.
Такая фигня получилась именно с tsconf, может потому что FPGA заполнена на 99 процентов. Единственное, что в голову приходит, это подтянуть DCLK через резистор к VCC. Или заменить флеш на другую. Или дергать nconfig после подачи питания. Или написать загрузчик конфигураций для VNC2))).
Я взял 2 платы divgmx в одной у меня tsconf а в другой gs .Общаются они через zx bus. В tsconf было заполнено 98%, когда добавил zxbus стало 99... gs занимает 2900 ле... В принципе он влезает в конфиг speccy, но хотелось именно tsconf). Поэтому 2платы..
Циклон на 10к ле
Работает, но на 7 мгц) или с wait. В лоб - не получилось их объединить в одной конфигурации.
Не потому что нельзя, а потому что досконально не разобрался с таймингами sdram(
Перед прошивкой jic, SD карточку желательно вынимать. После прошивки, питание платы нужно выключить и включить, для загрузки новой конфигурации в FPGA.
Была проблема - DIVGMX не стартовала с spi флешки, причина была в измененном мной коде:
areset <= not BUF_NNMI and not BUF_NRESET;
reset <= areset or not locked or (kb_fn_bus(0)) or not BUF_NRESET; -- Reset
Причем если заливать конфигурацию из *.SOF файла - все работало.
https://www.youtube.com/watch?v=5JCH4aDUbvE
В этой сборке для ReVerSE-U16 используется новый процессор GFX_Z80 вместо восьми (в предыдущей сборке), что делает возможным перенос Spec256 на DivGMX уже в ближайшие дни.
Сейчас работаю над фоном на заднем плане как здесь:
http://www.emulatronia.com/emusdaqui...ver1-color.gif
Главной особенностью является возможность запуска специальным образом адаптированных игр, графика которых заменена на 256-цветную и хранится в GFX-памяти.
ZX Spectrum, где вместо обычного процессора Z80 работает так называемый параллельный GFX_Z80 уже с 64-битными регистрами вместо 8 бит и картой памяти 64 бит вместо 8. Это позволяет иметь 256 отдельных цветов для каждого пикселя экрана, а не 16 единиц, и только 2 из 16 цветов для каждого размещения символов 8x8 пикселей.
Z80_GFX выполняет соответствующие операции, но по своим собственным адресам и со своими собственными данными, где 8 байтов машины GFX соответствуют каждому 8 битам каждого байта в обычной машине Z80. Основное отличие режима 256 цветов заключается в следующем: вы видите не буфер видео Spectrum, а видео-буфер GFX.
Для первого представления это кажется не слишком сложным, чтобы найти части изображений, нарисованных на экране (спрайты) и добавить к нему нужные цвета, а вуаля - игра станет 256 цветами! Не нужно исправлять саму игру, взламывать ее (нетривиальная задача для непрофессионала), иметь проблемы с лицензией (просто не публиковать снимок игры и не показывать изображение GFX-памяти, например).
Для DIvGmx Такое возможно?
Уже да!
С фоном я уже работал, думаю шансы есть
https://www.youtube.com/watch?v=R0lOSh_YAmU
Это супер! Поделишься исходниками на гитхабе? Для загрузчика конфигураций хочется что нибуть с одним процом и экраном как в nzx, чтобы красиво было)
План по загрузчику такой - vnc2 через jtag мост при включении питания грузит с usb flash конфигурацию которая выводит менюшку, выбираем нужный пункт и vnc2 грузит.
Ну не удобно все время шнурки тягать, тому же это интересная задача... Может будут другие идеи?)))
Было-бы классно, что-бы по нажатию клавиши "меню" например на экране появлялось полупрозрачное OSD с Setup и возможностью выбора конфигурации с USB FLASH, SPI FLASH, SD или подключаемой в разъем GPIO - SPI/I2C FLASH, WiFi, Bluetooth... Файл загружался бы в ОЗУ, а потом записывался в конфигурационную SPIFLASH, или как ты предложил - через vnc2-jtag мост.
Начнём делать?
Немного приложить усилий и времени на изучение и эксперименты и я думаю все получится. Все свои хотелки мелкие уже реализовал, GS на DIVGMX играет, tsconf с дисководом работает. Теперь очень хочется удобную переключалку конфигураций, и я уверен, это будет сделано.
- - - Добавлено - - -
Конечно начнем! Думаю что в spi flash должна лежать конфигурация, обеспечивающая вывод красивой менюшки и дающей команды VNC2 на загрузку с доступных носителей других конфигураций через vnc2-jtag мост (это кстати я у тебя где -то подсмотрел). Иначе надо будет каждый конфиг сильно изменять, в тсконф например места уже нет (( почти.
По моему мнению нужно начать с того, чтобы научить VNC2 загружать битовый образ в fpga...
Зачастую конфигурации требуют, чтобы в spi flash были еще какие-то дополнительные данные - rom'ы всякие и т.п. Как с этим быть ?
Нужно научить vnc2 шить не только bitstream внутрь FPGA, но и часть флешки, не затерев при этом конфигурацию самого загрузчика.
Вот тогда будет все ок, имхо.
Вот программа на С, которая позволяет загружать в альтеру конфигурации в формате *. rbf (raw binary file, формируется квартусом: Assigments -> Device -> Device and Pin Options и поставить соответствующую галочку). Надо бы приспособить ее для VNC2). Есть еще подобные решения, например от создателей платы Марсоход, но у них используется формат *.svf, который текстовый и по объему в 4 раза большим получается, чем rbf. Плюс так же в том, что это решение предлагается Alter'ой https://www.altera.com/support/suppo.../cfg-jtag.html
Жду детали к VNC2 debug.
Архив с программой и исходниками
Вложение 61291