Builder 1 17 декабря, 2009 Опубликовано 17 декабря, 2009 · Жалоба !!!почитай Вам будет интересно!!! Я уже давал эту ссылку... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
%-) 0 17 декабря, 2009 Опубликовано 17 декабря, 2009 · Жалоба !!!почитай Вам будет интересно!!! засуньте себе в одно место в N-ый раз повторяю читайте хендбуки с www.altera.com, там все написано. Ответ на большинство ваших вопросов ищется в хендбуке за 10-15 минут + немного логики здравого смысла номер хендбука от Алтеры пожалуйста... где написано как сделать перегружаемую палитру на 256 цветов отсутствие ссылки - факт подтверждения вашего мнимого профессионализма. P.S. говорить и посылать мы все можем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
torik 0 18 декабря, 2009 Опубликовано 18 декабря, 2009 · Жалоба Многие ли захотят Вам помогать Да и нечем, похоже, помочь... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DmitryR 0 18 декабря, 2009 Опубликовано 18 декабря, 2009 · Жалоба двухпортовое озу просто необходимо - нужно одновременно и оперативно писать и вычитывать. В надежде закончить этот холивар я вам скажу: когда вы одновременно пишете значение палитры и читаете его же, вы в зависимости от настроек памяти можете получить три разных вида значений, в том числе и неопределенное (что IMHO по умолчанию или даже без вариантов у Альтеры). Двухпортовая память может применяться, когда запись и чтение разделены по адресам. Так как чтение палитры использует случайные адреса - реализовать это, на мой взгляд можно только сделам палитру двустраничной, в неактивную страницу пишите - из активной читаете, потом меняете местами. Или все-таки писать палитру во время бланкинга - тогда хватит одной страницы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
%-) 0 19 декабря, 2009 Опубликовано 19 декабря, 2009 (изменено) · Жалоба когда вы одновременно пишете значение палитры и читаете его же, вы в зависимости от настроек памяти можете получить три разных вида значений, в том числе и неопределенное (что IMHO по умолчанию или даже без вариантов у Альтеры). Двухпортовая память может применяться, когда запись и чтение разделены по адресам. Так как чтение палитры использует случайные адреса - реализовать это, на мой взгляд можно только сделам палитру двустраничной, в неактивную страницу пишите - из активной читаете, потом меняете местами. Или все-таки писать палитру во время бланкинга - тогда хватит одной страницы. лажу несёте, сударь, однако :) эксперименты с палитрой показали, что если индекс палитры - всегда определённые биты (например биты 0 - 7 памяти), то палитра успешно отображается и на VGA и на ТВ: здесь адрес меняется по фронту clk: if rising_edge(clk) then R<rgb(conv_integer(sram(7..0)))(14..10); G<rgb(conv_integer(sram(7..0)))(9..5); B<rgb(conv_integer(sram(7..0)))(4..0); end if; если же на первом такте вычитывать биты 0-7 памяти, а на втором такте - биты 8-15 (ещё раз: биты 0-7 - это одна точка, биты 8-15 - вторая точка), то размытость на ТВ ожидаема. На VGA всё ОК здесь адрес меняется по фронту clk/2: if rising_edge(clk) then if shift='0' then R<rgb(conv_integer(sram(7..0)))(14..10); G<rgb(conv_integer(sram(7..0)))(9..5); B<rgb(conv_integer(sram(7..0)))(4..0); else R<rgb(conv_integer(sram(15..8)))(14..10); G<rgb(conv_integer(sram(15..8)))(9..5); B<rgb(conv_integer(sram(15..8)))(4..0); end if; shift<=not shift; end if; Изменено 19 декабря, 2009 пользователем %-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться