реклама на сайте
подробности

 
 
> защёлка для сигналов RGB, помогите сделать
penauch
сообщение Oct 28 2009, 11:46
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 12-10-09
Пользователь №: 52 902



не получается сделать защёлку для цветов R,G,B

есть синхросигнал
и сигнал поделённый на 4, тоесть счетчик 0,1,2,3,0,1,2,3...

когда сигнал=0 то с шины данных считывается биты в RGB

когда сигнал 1,2,3, то данные с шины не должны поступать, а использоваться защёлкнутые (когда сигнал=0) данные

код типа:

if count(1 downto 0)=0 then
R<=DataBus(3 downto 0);
G<=DataBus(7 downto 4);
B<=DataBus(11 downto 8);
end if;

даёт постоянную коммутацию DataBus на RGB, а надо чтобы оставалось защёлкнуто до тех пор пока снова count станет 0

как это сделать? 1111493779.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Shtirlits
сообщение Oct 29 2009, 00:52
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905



Предположу, что у вас синтезируется ерунда несинхронная. В симуляторе не видно, а на практике гонки.
Сколько у вас разных сигналов стоит в скобках if rising_edge() ?
Я бы сделал полностью синхронную схему, тактируемую одним фронтом одного клока, а если не получится, то тогда концепцию подозревал. И обязательно посмотрел бы во что синтезируется.
Go to the top of the page
 
+Quote Post
penauch
сообщение Oct 29 2009, 01:02
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 12-10-09
Пользователь №: 52 902



Цитата(Shtirlits @ Oct 29 2009, 03:52) *
Предположу, что у вас синтезируется ерунда несинхронная. В симуляторе не видно, а на практике гонки.
Сколько у вас разных сигналов стоит в скобках if rising_edge() ?
Я бы сделал полностью синхронную схему, тактируемую одним фронтом одного клока, а если не получится, то тогда концепцию подозревал. И обязательно посмотрел бы во что синтезируется.


все эти излишки кода в условиях - следствие отчаянной попытки найти те условия при которых снег исчез бы.
в первом случае всё было по минимуму.

можете написать свой вариант фрагментов по которым было бы видно что и как?

и ещё - частота Clk = 50 МГц, ширина строба 10нс - притык для SRAM, может из-за этого?

из времянок CS,OE, WE которые я тут привел видно - что память рабоет с временным разделением адресов чтения и записи и снег становится ровно тем цветом которым мы заполняем видеопамять.

одним словом, когда мы пишем - в память пишется, а луч находится в другом месте и вместо цвета в данном месте чертит на доли секунды то что пишим в ячейку! потому что снег появляется не случайно - он выстроен в косые линии идущие вертикально.

как можно заткнуть RGB чтоб они не обновлялись в момент записи?

SRAM_D обьявлен как inout - предполагаю что он засоряется в момент записи, а в RGB передается тот самый SRAM_D

как можно разрулить?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 06:08
Рейтинг@Mail.ru


Страница сгенерированна за 0.01381 секунд с 7
ELECTRONIX ©2004-2016