-
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.
|
-
wowa
-
-
Не в сети
-
Давно я тут
-
-
Сообщений: 157
-
Спасибо получено: 37
-
-
-
-
|
Я непользуюсь схематическим вводом вообще.. поэтому знать незнаю как там это работает.. А с констрайном - создайте его :) в меню Tools > TimeQuest timing analyzer а как откроется окно в нём File > New SDC file
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
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.
|
-
wowa
-
-
Не в сети
-
Давно я тут
-
-
Сообщений: 157
-
Спасибо получено: 37
-
-
-
-
|
Недумаю что туда палитра поместится.. Как вариант попробуйте встроить стандартную палитру с виндовс на 256 цветов.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от wowa.
|
-
Alucard
-
Автор темы
-
Не в сети
-
Завсегдатай
-
-
Сообщений: 208
-
Спасибо получено: 20
-
-
-
-
|
Жаль, но в изменяемой палитре и заключалась вся соль. Можно было бы для каждого изображения, передаваемого в видеопамять, отправлять его палитру. Тем самым значительно повысить качество изображения.
Что ж, буду мучиться с видеопамятью - теоретически можно задействовать еще кварц на 50MHz(на плате был), по которому будут синхронизироваться все операции с палитрой. То есть, вывод изображения идет (как и шел) синхронно по 25.175 MHz, а палитра по 50MHz.
PS: Оба кварца на плате есть
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
wowa
-
-
Не в сети
-
Давно я тут
-
-
Сообщений: 157
-
Спасибо получено: 37
-
-
-
-
|
Ну как вариант можно выделить часть памяти для палитры и передавать сначала адрес пиксела и вторым тактом читать 1,5 байта палитры. Но тогда будет проще ещё повесить больше памяти и опять сразу писать не 8 а 12 или даже 16 бит в память :) для начтения 12 бит палитры нужно будет всёравно увеличить ширину шины данных. Иначе вам нехватит той частоты на 3 чтения, причём воторое чтение (адрес) зависит от того что прочитаете в первый раз :) Хотя тут есть возможность сделать такой пайплайн 2-3 регистров для обработки адреса палитры. и начинать выводить пиксел на 3 такта раньше и за эти 3 такта считать и обработать данные палитры...
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от wowa.
|
-
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-ре чтения палитры...
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
wowa
-
-
Не в сети
-
Давно я тут
-
-
Сообщений: 157
-
Спасибо получено: 37
-
-
-
-
|
Ну тогда конешно можно попробовать раз успевает.. Главное чтобы поместилось в чип.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
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.
|
-
wowa
-
-
Не в сети
-
Давно я тут
-
-
Сообщений: 157
-
Спасибо получено: 37
-
-
-
-
|
А зачем там вообще умножение??? Там надо выделить адрес от которого в памяти будет палетта и её задать как константу к которой прибавить байт данных из памяти - на выходе и будет цвет пиксела считаный из памяти палитры. Сделайте для начала 16 бит палитру. Забыл додать - умножение на 2 решается простым сдвигом.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от wowa.
|
Время создания страницы: 0.155 секунд