grafng 0 21 ноября, 2018 Опубликовано 21 ноября, 2018 · Жалоба https://github.com/MadLittleMods/FP-V-GA-Text/blob/master/vgaText/vgaText_top.vhd (справочник по vhdl есть) помогите , растолкуйте что значит точка в drawElementArray(i).pixelOn что оно вообще такое , как работает (если это важно разрабатываю vga контролер для древней spartan3e kit , гитхаб не мой , пытаюсь разобраться с выводом текста) -- Text Draw Stack ----------------- for i in drawElementArray'range loop if drawElementArray(i).pixelOn then rgbDrawColor := drawElementArray(i).rgb; end if; end loop; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 21 ноября, 2018 Опубликовано 21 ноября, 2018 · Жалоба 1 час назад, grafng сказал: https://github.com/MadLittleMods/FP-V-GA-Text/blob/master/vgaText/vgaText_top.vhd (справочник по vhdl есть) помогите , растолкуйте что значит точка в drawElementArray(i).pixelOn что оно вообще такое , как работает (если это важно разрабатываю vga контролер для древней spartan3e kit , гитхаб не мой , пытаюсь разобраться с выводом текста) -- Text Draw Stack ----------------- for i in drawElementArray'range loop if drawElementArray(i).pixelOn then rgbDrawColor := drawElementArray(i).rgb; end if; end loop; Вроде должно быть так: -- Text Draw Stack ----------------- for i in drawElementArray'range loop -- от 0 и до конца массива drawElementArray (просматриваем весь массив) if drawElementArray(i).pixelOn then -- Если значение pixelOn в просматириваемом массиве равно единичке rgbDrawColor := drawElementArray(i).rgb; -- То будем рисовать цветом из масива, который имеет набольший старший бит. end if; end loop; -- Иными словами у нас есть какой-то тип Record который выглядит как-то так type my_type is record pixelOn : std_logic; -- бит(признак) включенного цвета rgb : std_logic_vector(7 downto 0); -- Хранимый цвет end record; -- Зтаем из этого типа мы создаем массив type drawElementArray is array (0 to 3) of my_type; -- условием for i in drawElementArray'range loop мы просматриваем весь наш массива -- Условием if drawElementArray(i).pixelOn then мы смотрим конкретно на бит pixelOn. -- Каждый раз как pixelOn = 1 мы переменной rgbDrawColor присваиваем то значение, которыое записано в rgb в индексе данного масива. -- Иными словами у нас в переменную rgbDrawColor запишется значение из массива с максимальным индексом, где pixelOn = 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться