-
wowa
-
-
Не в сети
-
Давно я тут
-
-
Сообщений: 157
-
Спасибо получено: 37
-
-
-
-
|
Я бы попробовал вывести на выводы счётчик в модуле "Pal" и выводы на красный канал.. Посмотреть если туда вообще доходят данные. Под рукой нет платки с таким чипом попробовать.. Память бы была а нет МАХ2..
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Alucard
-
Автор темы
-
Не в сети
-
Завсегдатай
-
-
Сообщений: 208
-
Спасибо получено: 20
-
-
-
-
|
Вывел часть счетных битов на выводы - все в порядке, считывание палитры происходит. Заметил еще один баг. Если выводить какое-либо изображение, но с палитрой, заполненной нулями (по идее, весь экран должен быть черным), то:
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
wowa
-
-
Не в сети
-
Давно я тут
-
-
Сообщений: 157
-
Спасибо получено: 37
-
-
-
-
|
Рекомендую отказаться от латчей.. Перевести всё на синхронные регистры.. Это именно от них. Там что-то не успевает и вот получаете такое на выходе. Ну и потихоньку начать переводить схему в верилог.
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Alucard
-
Автор темы
-
Не в сети
-
Завсегдатай
-
-
Сообщений: 208
-
Спасибо получено: 20
-
-
-
-
|
wowa пишет: Рекомендую отказаться от латчей.. Перевести всё на синхронные регистры.. Это именно от них. Там что-то не успевает и вот получаете такое на выходе. Ну и потихоньку начать переводить схему в верилог.
Причину нашел: SRAM не успевает передать данные. Во время считывания происходит:
- Чтение индекса
- Чтение красного
- Чтение зеленого
- Чтение синего
Чтение индекса проходит нормально, но SRAM (или регистры) не успевают переключиться, и во время чтения красного - данные не изменяются. То есть данные индекса переходят на красный цвет минуя сумматоры и т.п, поэтому палитра "действует" только на зеленый и синий, а красный работает без нее. :-(
Как быстрый и простой вариант - не менять схему, а понизить частоту работы с палитрой. Но вопрос: успеет ли произойти чтение пикселей и вывод их на экран на такой более низкой частоте? Если ЧастотаПамяти/ ЧастотаВыводаПикселей==4-ре чтения.
И еще: как это - "перевести на синхронные регистры"?
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от Alucard.
|
-
wowa
-
-
Не в сети
-
Давно я тут
-
-
Сообщений: 157
-
Спасибо получено: 37
-
-
-
-
|
А какая частота работы с памятью максимальная? Что за память? Можно взять побыстрее ? Переходить надо на регистры которые работают не по уровню (latch) а по фронту или спаду тактового импульса - D-тригер - и везде розвести тактирование - потом будет гарантия того что всё будет происходить в определённое время и можно будет провести временный анализ чтобы найти самое медленное место и попытаться его оптимализировать...
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от wowa.
|
-
Alucard
-
Автор темы
-
Не в сети
-
Завсегдатай
-
-
Сообщений: 208
-
Спасибо получено: 20
-
-
-
-
|
wowa пишет: А какая частота работы с памятью максимальная? Что за память? Можно взять побыстрее ? Переходить надо на регистры которые работают не по уровню (latch) а по фронту или спаду тактового импульса - D-тригер - и везде развести тактирование - потом будет гарантия того что всё будет происходить в определённое время и можно будет провести временный анализ чтобы найти самое медленное место и попытаться его оптимизировать...
Сейчас работа с памятью - 100MHz, у памяти эта частота максимальная, но я не учитывал временные характеристики чтения/записи.
Насчет синхронных регистров - а как учесть, что некоторые компоненты могут не сразу выполнить свою функцию, а за ними стоит еще куча синхронных: получается, необходимо чтобы clock шел последовательно через все компоненты? (гарантия, что все успеет сработать) К примеру, те же самые защелки - если их сделать синхронными, то как учесть задержку внешней памяти и самих компонентов ПЛИС? Я так понимаю, в синхронном виде невозможно сделать задержку, а можно сделать деление тактовой частоты.
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от nckm.
|
-
wowa
-
-
Не в сети
-
Давно я тут
-
-
Сообщений: 157
-
Спасибо получено: 37
-
-
-
-
|
Здесь не в задержках проблема а в работе частей в очереди. От такта к такту должен дойти сигнал по логике. Если не успевает - то надо розделить логику на две части и просто начинать на такт раньше. Потом как в пайплайну всё доедет на конец вовремя. Возможно будет больше регистров использовано - но тут я так понял и так много ещё места для розширения. Теоретически память должна успеть прочитать это 4 раза. значить надо выбирать данные из памяти постоянно с частотой в 100/4 и складывать отдельно в регистр. а уже из него будет брать данные сама логика. У меня русский не совсем родной и поэтому незнаю как это описать подробней :)
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
wowa
-
-
Не в сети
-
Давно я тут
-
-
Сообщений: 157
-
Спасибо получено: 37
-
-
-
-
|
Думаю что эту память можно без проблем и немного перетактировать.. Мне попадались и по 7 наносекунд памяти (150 МГц)
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Alucard
-
Автор темы
-
Не в сети
-
Завсегдатай
-
-
Сообщений: 208
-
Спасибо получено: 20
-
-
-
-
|
Спасибо за разъяснения.
Возможно ли сделать синхронную систему палитр без использования Verilog. Это хороший язык, но его синтаксис меня убивает :) Я привык на Си-подобных языках писать, а здесь с трудом разбираюсь.
Думаю что эту память можно без проблем и немного перетактировать..
Проблема в том, что она асинхронная, поэтому тактировать там нечего :) Если только напряжение поднять, то задержек меньше будет. [Сейчас вся схема питается от 2.8в]
значить надо выбирать данные из памяти постоянно с частотой в 100/4 и складывать отдельно в регистр
Хм... У меня постоянно идет считывание из памяти 4 байта данных, которые отправляются в латчи, а из них уже забирает другая логика...
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
Время создания страницы: 0.151 секунд