Altera Cyclone 3, TERASIC DE0, Quartus 2, проблемы с FIFO
Добавлено: Пн июн 10, 2013 16:09:56
Всем доброго времени суток!
В общем делаю устройство задача которого вывести изображение на экран ЖК монитора 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.
В общем делаю устройство задача которого вывести изображение на экран ЖК монитора 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.