Добро пожаловать, Гость
Логин: Пароль: Запомнить меня

ТЕМА: VGA

Re: VGA 10 года 5 мес. назад #2315

  • Alucard
  • Alucard аватар Автор темы
  • Не в сети
  • Завсегдатай
  • Завсегдатай
  • Сообщений: 208
  • Спасибо получено: 20
Извините, ошибся файлом. polesite.ru/wp-content/uploads/files/GPUV2.qar
Жаль, что Quartus не понимает русский язык. Я бы мог написать пояснения в схеме...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Alucard.

Re: VGA 10 года 5 мес. назад #2316

Я бы попробовал вывести на выводы счётчик в модуле "Pal" и выводы на красный канал.. Посмотреть если туда вообще доходят данные. Под рукой нет платки с таким чипом попробовать.. Память бы была а нет МАХ2..

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: VGA 10 года 5 мес. назад #2317

  • Alucard
  • Alucard аватар Автор темы
  • Не в сети
  • Завсегдатай
  • Завсегдатай
  • Сообщений: 208
  • Спасибо получено: 20
Вывел часть счетных битов на выводы - все в порядке, считывание палитры происходит. Заметил еще один баг. Если выводить какое-либо изображение, но с палитрой, заполненной нулями (по идее, весь экран должен быть черным), то:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: VGA 10 года 5 мес. назад #2318

Рекомендую отказаться от латчей.. Перевести всё на синхронные регистры.. Это именно от них. Там что-то не успевает и вот получаете такое на выходе. Ну и потихоньку начать переводить схему в верилог.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: VGA 10 года 5 мес. назад #2319

  • Alucard
  • Alucard аватар Автор темы
  • Не в сети
  • Завсегдатай
  • Завсегдатай
  • Сообщений: 208
  • Спасибо получено: 20

wowa пишет: Рекомендую отказаться от латчей.. Перевести всё на синхронные регистры.. Это именно от них. Там что-то не успевает и вот получаете такое на выходе. Ну и потихоньку начать переводить схему в верилог.

Причину нашел: SRAM не успевает передать данные. Во время считывания происходит:
  1. Чтение индекса
  2. Чтение красного
  3. Чтение зеленого
  4. Чтение синего
Чтение индекса проходит нормально, но SRAM (или регистры) не успевают переключиться, и во время чтения красного - данные не изменяются. То есть данные индекса переходят на красный цвет минуя сумматоры и т.п, поэтому палитра "действует" только на зеленый и синий, а красный работает без нее. :-(
Как быстрый и простой вариант - не менять схему, а понизить частоту работы с палитрой. Но вопрос: успеет ли произойти чтение пикселей и вывод их на экран на такой более низкой частоте? Если ЧастотаПамяти/ЧастотаВыводаПикселей==4-ре чтения.

И еще: как это - "перевести на синхронные регистры"?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Alucard.

Re: VGA 10 года 5 мес. назад #2320

А какая частота работы с памятью максимальная? Что за память? Можно взять побыстрее ? Переходить надо на регистры которые работают не по уровню (latch) а по фронту или спаду тактового импульса - D-тригер - и везде розвести тактирование - потом будет гарантия того что всё будет происходить в определённое время и можно будет провести временный анализ чтобы найти самое медленное место и попытаться его оптимализировать...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от wowa.

Re: VGA 10 года 5 мес. назад #2321

  • Alucard
  • Alucard аватар Автор темы
  • Не в сети
  • Завсегдатай
  • Завсегдатай
  • Сообщений: 208
  • Спасибо получено: 20

wowa пишет: А какая частота работы с памятью максимальная? Что за память? Можно взять побыстрее ? Переходить надо на регистры которые работают не по уровню (latch) а по фронту или спаду тактового импульса - D-тригер - и везде развести тактирование - потом будет гарантия того что всё будет происходить в определённое время и можно будет провести временный анализ чтобы найти самое медленное место и попытаться его оптимизировать...

Сейчас работа с памятью - 100MHz, у памяти эта частота максимальная, но я не учитывал временные характеристики чтения/записи.

Насчет синхронных регистров - а как учесть, что некоторые компоненты могут не сразу выполнить свою функцию, а за ними стоит еще куча синхронных: получается, необходимо чтобы clock шел последовательно через все компоненты? (гарантия, что все успеет сработать) К примеру, те же самые защелки - если их сделать синхронными, то как учесть задержку внешней памяти и самих компонентов ПЛИС? Я так понимаю, в синхронном виде невозможно сделать задержку, а можно сделать деление тактовой частоты.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от nckm.

Re: VGA 10 года 5 мес. назад #2322

Здесь не в задержках проблема а в работе частей в очереди. От такта к такту должен дойти сигнал по логике. Если не успевает - то надо розделить логику на две части и просто начинать на такт раньше. Потом как в пайплайну всё доедет на конец вовремя. Возможно будет больше регистров использовано - но тут я так понял и так много ещё места для розширения. Теоретически память должна успеть прочитать это 4 раза. значить надо выбирать данные из памяти постоянно с частотой в 100/4 и складывать отдельно в регистр. а уже из него будет брать данные сама логика. У меня русский не совсем родной и поэтому незнаю как это описать подробней :)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: VGA 10 года 5 мес. назад #2323

Думаю что эту память можно без проблем и немного перетактировать.. Мне попадались и по 7 наносекунд памяти (150 МГц)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: VGA 10 года 5 мес. назад #2324

  • Alucard
  • Alucard аватар Автор темы
  • Не в сети
  • Завсегдатай
  • Завсегдатай
  • Сообщений: 208
  • Спасибо получено: 20
Спасибо за разъяснения.

Возможно ли сделать синхронную систему палитр без использования Verilog. Это хороший язык, но его синтаксис меня убивает :) Я привык на Си-подобных языках писать, а здесь с трудом разбираюсь.

Думаю что эту память можно без проблем и немного перетактировать..

Проблема в том, что она асинхронная, поэтому тактировать там нечего :) Если только напряжение поднять, то задержек меньше будет. [Сейчас вся схема питается от 2.8в]

значить надо выбирать данные из памяти постоянно с частотой в 100/4 и складывать отдельно в регистр

Хм... У меня постоянно идет считывание из памяти 4 байта данных, которые отправляются в латчи, а из них уже забирает другая логика...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.166 секунд
Работает на Kunena форум