В общем делаю устройство задача которого вывести изображение на экран ЖК монитора 1024x768 60Гц. Структура устройства - источник изображения микроконтроллер, буфер кадров SDRAM, ну а сам видеоадаптер с интерфейсом SDRAM и интерфейсом для связи с микроконтроллером на ПЛИС. Для вывода изображения читаю из SDRAM пиксели с частотой 130 МГц, а на экран вывожу с частотой 65МГц, паралельно пишу в SDRAM другое изображение. Цикл запись-чтение 32 такта CL=2, чтение, пакетное FullPage, прерывание чтения на 16-ом слове, запись одиночная. Все нормально выводиться на экран и записывается в память, но при записи появляются вертикальные полосы шириной 3-4 пикселя с шагом через 16 пикселей по горизонтали. Проанализировав проблему пришел к выводу, что во время записи в память выход генератора цветных полос подключаю к выводам DQ[15..0] SDRAM памяти ну и соответственно ко входу асинхронног FIFO, в этот момент запись в FIFO для чтения данных из SDRAM запрещена, и это подключение не должно влиять так как вход FIFO вроде как заперт. Но как выяснилось влияет из-за чего и возникают ненужные полосы. Вопрос почему??????
Куда выложить проект для его анализа, размер 46 Мб. Проект Quartus 2 Web Edition v11.1, в архиве RAR.
Все разобрался! Проблема была в том, что чтение из SDRAM опаздывало на 2 такта от сигнала wr_req. Получалось что FIFO активировалось для записи на два такта раньше чем начинался очередной цикл чтения. В это время на DQ стояло что угодно, это попадало в FIFO и довало полосы.
Moyo, на будущее, что-бы выложить проект, в нем можно оставить только входные файлы, указанные сбоку в списке файлов (например Verilog файлы .v), и файл проекта .qpf. Этого достаточно, ведь в вашей папке хранятся и история, и различные промежуточные файлы компилятора. Они то и занимают основное место.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения