omercury, тогда может так? Сдвинуть 5битный цвет влево до 8?
Вид для печати
omercury, тогда может так? Сдвинуть 5битный цвет влево до 8?
5 бит
I_RED => vga_r & vga_r(4 downto 2),
I_GREEN => vga_g & vga_g(4 downto 2),
I_BLUE => vga_b & vga_b(4 downto 2),
то есть сдвигаешь влево до конца и остаток добиваешь тем же цветом от старшего разряда вниз, насколько хватит.
2 бита (мой для ленина, например)
I_RED => VGA_Red & VGA_I & VGA_Red & VGA_I & VGA_Red & VGA_I & VGA_Red & VGA_I,
I_GREEN => VGA_Green & VGA_I & VGA_Green & VGA_I & VGA_Green & VGA_I & VGA_Green & VGA_I,
I_BLUE => VGA_Blue & VGA_I & VGA_Blue & VGA_I & VGA_Blue & VGA_I & VGA_Blue & VGA_I,
Правильней всего так.
omercury, Спасибо, начинает доходить.
Ну и еще вопрос , если я сейчас к твоему ленинграду прикручу сей HDMI - должно на экране появится что- мусор или?
- - - Добавлено - - -
А как здесь получается сдвиг?
Типа 5бит + 3бита , биты из левой части автоматом сдвигает на количество правой?
При конкатенации складываются сами сигналы?
Мусор. :)
Я ж совсем забыл про твой ХДМИ...
Угу, заполнение начинается справа, если в ноликах или downto ошибёшься, отрежет всё, что выше 8 бит.
Ничего не складывается, просто объединяются в одну именованную шину.
Ну да , имелось в виду количество проводников.
Блин у меня уже каша в голове.
- - - Добавлено - - -
Вот-вот, лучше б я платы прикупил...
Ну да ладно. Похоже сейчас будет адский винегрет.
Verlog я не знаю, хотя и VHDL почти так же.
Пробовать добавить твой видеогенератор с SDRAM из ленинграда в свой проект?
- - - Добавлено - - -
Ж... я снова в ступоре...
У тебя же верилог.
Я даже в топе ничего не поменяю...
Угу, кактусу хорошо в отличии от меня... :)))))
Ну да ладно, буду описывать свои потуги :
Обрезал твой проект под самые помидоры -
https://a.radikal.ru/a39/1909/25/6b9460cc6a4e.jpg
Далее буду прикручивать HDMI .
Надо добавить еще выхлоп 2х тактовых с PLL0 , естественно вопрос - какие данные у VGA генератора - 640x480?
Да и полез сравнивать SDRAM , у тебя HY57V641620FTP-7 у меня mt48lc16m16a2
- - - Добавлено - - -
Стал конфигурить PLL0 для HDMI и VGA генератора для 800x600"60Hz, надо частоты 140МГц,200МГц и 40МГц.
140МГц не дает ставить - недостижимые множитель/делитель...
- - - Добавлено - - -
как мне перевести сие в верилог ?
Пробую :Цитата:
U_HDMI: entity work.hdmi
generic map (
FREQ => 25200000,
FS => 48000,
CTS => 25200,
N => 6144)
port map (
I_CLK_VGA => clk_vga,
I_CLK_TMDS => clk_tmds, -- 472.6 MHz max
I_HSYNC => vga_hsync,
I_VSYNC => vga_vsync,
I_BLANK => vga_blank,
I_RED => vga_r,
I_GREEN => vga_g,
I_BLUE => vga_b,
I_AUDIO_PCM_L => "0000000000000000",
I_AUDIO_PCM_R => "0000000000000000",
O_TMDS => TMDS);
Гонит ошибкиЦитата:
hdmi HDMI1((FREQ ==25200000),(FS --48000),(CTS ==25200),(N ==6144),.I_CLK_VGA(clk_40MHz));
лучшие таблички по VGA
http://tinyvga.com/vga-timing
переводить если надо несколько строк, а если модуль цельнотянутый - то подключать без перевода. Удобнее и быстрее.
а так да, первые четыре строки присваиванием делаем, а следующие - с точИчкой. желательно в столбЕК.
и смотрим в какой строка вылазиет ошибка. скорее всего синтаксическая.
ругаетсяЦитата:
U_HDMI: entity work.hdmi
generic map (
FREQ => 25200000,
FS => 48000,
CTS => 25200,
N => 6144)
port map (
I_CLK_VGA => clk_vga,
I_CLK_TMDS => clk_tmds, -- 472.6 MHz max
I_HSYNC => vga_hsync,
I_VSYNC => vga_vsync,
I_BLANK => vga_blank,
I_RED => vga_r,
I_GREEN => vga_g,
I_BLUE => vga_b,
I_AUDIO_PCM_L => "0000000000000000",
I_AUDIO_PCM_R => "0000000000000000",
O_TMDS => TMDS);
Error (10170): Verilog HDL syntax error at lenin_rzrd.v(99) near text "entity"
ну да, entity - это для вэхэдээля.
вот, нашел свой вга-генератор. У мну тайминги прибиты гвоздями. Надо менять разрешение - ну и меняем цифры на нужные
Код://VGA
parameter
hsync_end = 10'd95,
hdat_begin = 10'd143,
hdat_end = 10'd783,
hpixel_end = 10'd799,
vsync_end = 10'd1,
vdat_begin = 10'd34,
vdat_end = 10'd514,
vline_end = 10'd524;