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

ТЕМА: VGA

Re: VGA 10 года 7 мес. назад #2126

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

wowa пишет: Проблема в том что использовано больше 50% кристала.. Боюсь на палитру нехватит.

Ну что ж, оптимизации еще никто не отменял. :) Что интересно: если не использовать проводник "шина" в Quartus, а подсоединять все по отдельности (получается каша), то проект использует меньше логических элементов. (на 4-5 меньше)
---
В проекте Quartus ругается на Timings: Critical Warning (332012): Synopsys Design Constraints File file not found: 'max2.sdc'. A Synopsys Design Constraints File is required by the TimeQuest Timing Analyzer to get proper timing constraints. Without it, the Compiler will not properly optimize the design.

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

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

Re: VGA 10 года 7 мес. назад #2127

Я непользуюсь схематическим вводом вообще.. поэтому знать незнаю как там это работает.. А с констрайном - создайте его :) в меню Tools > TimeQuest timing analyzer а как откроется окно в нём File > New SDC file

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

Re: VGA 10 года 6 мес. назад #2244

  • Alucard
  • Alucard аватар Автор темы
  • Не в сети
  • Завсегдатай
  • Завсегдатай
  • Сообщений: 208
  • Спасибо получено: 20
Проект немного сдвинулся :) Теперь работает передача данных по шлейфу от МК к ПЛИС. 83MHZ - без помех. Только ЦАП для vga вывода не доделал. (Отсутствует красный компонент)
www. polesite.ru/wp-content/uploads/2014/01/DSCN5409.jpg [bad link]
Также оптимизировал код - стало 93Ле. Однако до сих пор не могу продумать работу с палитрой. :( На вторую память не хватает портов. (да ее и нету)
Палитра 256цветов на 12бит. 256/8*12 = 384байта. - Можно ли это хранить в памяти ПЛИС? Кривенько получается это с 8бит видеопамятью: 4бита на каждый цвет = 1.5байт на один индекс палитры. (как это можно потоково обработать?)

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

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

Re: VGA 10 года 6 мес. назад #2247

Недумаю что туда палитра поместится.. Как вариант попробуйте встроить стандартную палитру с виндовс на 256 цветов.

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

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

Re: VGA 10 года 6 мес. назад #2248

  • Alucard
  • Alucard аватар Автор темы
  • Не в сети
  • Завсегдатай
  • Завсегдатай
  • Сообщений: 208
  • Спасибо получено: 20
Жаль, но в изменяемой палитре и заключалась вся соль. Можно было бы для каждого изображения, передаваемого в видеопамять, отправлять его палитру. Тем самым значительно повысить качество изображения.
Что ж, буду мучиться с видеопамятью - теоретически можно задействовать еще кварц на 50MHz(на плате был), по которому будут синхронизироваться все операции с палитрой. То есть, вывод изображения идет (как и шел) синхронно по 25.175 MHz, а палитра по 50MHz.
PS: Оба кварца на плате есть

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

Re: VGA 10 года 6 мес. назад #2249

Ну как вариант можно выделить часть памяти для палитры и передавать сначала адрес пиксела и вторым тактом читать 1,5 байта палитры. Но тогда будет проще ещё повесить больше памяти и опять сразу писать не 8 а 12 или даже 16 бит в память :) для начтения 12 бит палитры нужно будет всёравно увеличить ширину шины данных. Иначе вам нехватит той частоты на 3 чтения, причём воторое чтение (адрес) зависит от того что прочитаете в первый раз :) Хотя тут есть возможность сделать такой пайплайн 2-3 регистров для обработки адреса палитры. и начинать выводить пиксел на 3 такта раньше и за эти 3 такта считать и обработать данные палитры...
Спасибо сказали: Alucard

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

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

Re: VGA 10 года 6 мес. назад #2251

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

wowa пишет: Ну как вариант можно выделить часть памяти для палитры и передавать сначала адрес пиксела и вторым тактом читать 1,5 байта палитры. Но тогда будет проще ещё повесить больше памяти и опять сразу писать не 8 а 12 или даже 16 бит в память :) для начтения 12 бит палитры нужно будет всёравно увеличить ширину шины данных. Иначе вам нехватит той частоты на 3 чтения, причём воторое чтение (адрес) зависит от того что прочитаете в первый раз :) Хотя тут есть возможность сделать такой пайплайн 2-3 регистров для обработки адреса палитры. и начинать выводить пиксел на 3 такта раньше и за эти 3 такта считать и обработать данные палитры...

Сейчас попробовал тест 8бит палитры. Причем индексы палитры приравнял к текущим адресам памяти этого же самого индекса. Получается он не использует как таковую палитру, а просто кушает ресурсы. Результат - положительный. Никаких артефактов. Сам блок палитры работает от 50MHz.
---
Вопрос: если же использовать не 1.5байта, а все 3байта? У меня частота пикселей делится на 2 и удваиваются горизонтальные строки для достижения формата изображения 320x240; соответственно это дает небольшой выигрыш во времени. 25.175MHZ/2 => 50MHz/12.5875 = 3.972194637537239 - если расчеты верны, то можно успеть произвести почти 4-ре чтения палитры...

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

Re: VGA 10 года 6 мес. назад #2255

Ну тогда конешно можно попробовать раз успевает.. Главное чтобы поместилось в чип.

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

Re: VGA 10 года 6 мес. назад #2258

  • Alucard
  • Alucard аватар Автор темы
  • Не в сети
  • Завсегдатай
  • Завсегдатай
  • Сообщений: 208
  • Спасибо получено: 20
Сделал блок палитры (в память влезает). Пока еще не тестировал.
  • INDEX - индекс указывающий на определенный цвет в палитре
  • DATARAM - подключить к шине данных видеопамяти
  • ADDRRAM - подключить к шине адреса видеопамяти

www. polesite.ru/wp-content/uploads/2014/01/Ashampoo_Snap_2014.01.09_16h07m37s_003_.png [bad link]
Немного сомневаюсь в вычислительных блоках: быстро ли они считают...

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

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

Re: VGA 10 года 6 мес. назад #2259

А зачем там вообще умножение??? Там надо выделить адрес от которого в памяти будет палетта и её задать как константу к которой прибавить байт данных из памяти - на выходе и будет цвет пиксела считаный из памяти палитры. Сделайте для начала 16 бит палитру. Забыл додать - умножение на 2 решается простым сдвигом.

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

Последнее редактирование: от wowa.
Время создания страницы: 0.161 секунд
Работает на Kunena форум