📄 colormap.vhd
字号:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity colormap is
Port ( hloc : in std_logic_vector(9 downto 0);
vloc : in std_logic_vector(9 downto 0);
rgbx : out std_logic_vector(2 downto 0));
--rgby : out std_logic_vector(2 downto 0);
end colormap;
architecture Behavioral of colormap is
signal h:std_logic_vector(5 downto 0);
signal V:std_logic_vector(5 downto 0);
begin
h<=hloc(9 downto 4);
v<=vloc(9 downto 4);
process(h,v)
begin
if v<2 then rgbx<="001";
elsif v<3 then
if h<2 then rgbx<="001";
elsif (h=10 or (h>=26 and h<=28) or h=33) then rgbx<="010";
elsif h=38 or h=39 then rgbx<="001";
else rgbx<="000";
end if;
elsif v<4 then
if h<2 then rgbx<="001";
elsif (h=10 or (h>=23 and h<=26) or h=30 or h=33) then rgbx<="010";
elsif h=38 or h=39 then rgbx<="001";
else rgbx<="000";
end if;
elsif v<5 then
if h<2 then rgbx<="001";
elsif (h=9 or h=11 or h=26 or h=31 or h=33 ) then rgbx<="010";
elsif h=38 or h=39 then rgbx<="001";
else rgbx<="000";
end if;
elsif v<6 then
if h<2 then rgbx<="001";
elsif (h=8 or h=12 or h=26 or h=33) then rgbx<="010";
elsif h=38 or h=39 then rgbx<="001";
else rgbx<="000";
end if;
elsif v<7 then
if h<2 then rgbx<="001";
elsif (h=6 or h=7 or h=13 or h=14 or (h>=23 and h<=28) or h=30 or h=33) then rgbx<="010";
elsif h=38 or h=39 then rgbx<="001";
else rgbx<="000";
end if;
elsif v<8 then
if h<2 then rgbx<="001";
elsif (h=4 or h=5 or h=15 or h=16 or h=26 or h=31 or h=33) then rgbx<="010";
elsif h=38 or h=39 then rgbx<="001";
else rgbx<="000";
end if;
elsif v<9 then
if h<2 then rgbx<="001";
elsif (h=7 or h=12 or h=25 or h=26 or h=27 or h=33) then rgbx<="010";
elsif h=38 or h=39 then rgbx<="001";
else rgbx<="000";
end if;
elsif v<10 then
if h<2 then rgbx<="001";
elsif (h=7 or h=12 or h=24 or h=26 or (h>=28 and h<=35)) then rgbx<="010";
elsif h=38 or h=39 then rgbx<="001";
else rgbx<="000";
end if;
elsif v<11 then
if h<2 then rgbx<="001";
elsif (h=6 or h=8 or h=12 or h=24 or h=26 or h=33) then rgbx<="010";
elsif h=38 or h=39 then rgbx<="001";
else rgbx<="000";
end if;
elsif v<12 then
if h<2 then rgbx<="001";
elsif (h=6 or h=9 or h=11 or h=13 or h=23 or h=26 or h=33) then rgbx<="010";
elsif h=38 or h=39 then rgbx<="001";
else rgbx<="000";
end if;
elsif v<13 then
if h<2 then rgbx<="001";
elsif (h=5 or h=11 or h=14 or h=26 or h=33) then rgbx<="010";
elsif h=38 or h=39 then rgbx<="001";
else rgbx<="000";
end if;
elsif v<14 then
if h<2 then rgbx<="001";
elsif (h=5 or h=11 or h=15 or h=16 or h=26 or h=33) then rgbx<="010";
elsif h=38 or h=39 then rgbx<="001";
else rgbx<="000";
end if;
elsif v<15 then
if h<2 then rgbx<="001";
elsif (h=4 or h=9 or h=15 or h=26 or h=33) then rgbx<="010";
elsif h=38 or h=39 then rgbx<="001";
else rgbx<="000";
end if;
elsif v<16 then
if h<2 then rgbx<="001";
elsif (h=9 or h=25 or h=31) then rgbx<="010";
elsif h=38 or h=39 then rgbx<="001";
else rgbx<="000";
end if;
elsif v<17 then
if h<2 then rgbx<="001";
elsif (h=9 or h=25 or h=31) then rgbx<="010";
elsif h=38 or h=39 then rgbx<="001";
else rgbx<="000";
end if;
elsif v<18 then
if h<2 then rgbx<="001";
elsif ((h>=4 and h<=16) or h=25 or (h>=28 and h<=35)) then rgbx<="010";
elsif h=38 or h=39 then rgbx<="001";
else rgbx<="000";
end if;
elsif v<19 then
if h<2 then rgbx<="001";
elsif (h=9 or (h>=23 and h<=27) or h=31) then rgbx<="010";
elsif h=38 or h=39 then rgbx<="001";
else rgbx<="000";
end if;
elsif v<20 then
if h<2 then rgbx<="001";
elsif (h=8 or h=25 or h=31) then rgbx<="010";
elsif h=38 or h=39 then rgbx<="001";
else rgbx<="000";
end if;
elsif v<21 then
if h<2 then rgbx<="001";
elsif ((h>=8 and h<=14) or h=25 or (h>=28 and h<=34)) then rgbx<="010";
elsif h=38 or h=39 then rgbx<="001";
else rgbx<="000";
end if;
elsif v<22 then
if h<2 then rgbx<="001";
elsif (h=7 or h=8 or h=14 or h=25 or h=26 or h=29 or h=34) then rgbx<="010";
elsif h=38 or h=39 then rgbx<="001";
else rgbx<="000";
end if;
elsif v<23 then
if h<2 then rgbx<="001";
elsif (h=6 or h=9 or h=13 or h=24 or h=25 or h=29 or h=33) then rgbx<="010";
elsif h=38 or h=39 then rgbx<="001";
else rgbx<="000";
end if;
elsif v<24 then
if h<2 then rgbx<="001";
elsif (h=5 or h=10 or h=12 or h=23 or h=25 or h=30 or h=32) then rgbx<="010";
elsif h=38 or h=39 then rgbx<="001";
else rgbx<="000";
end if;
elsif v<25 then
if h<2 then rgbx<="001";
elsif (h=3 or h=11 or h=25 or h=31) then rgbx<="010";
elsif h=38 or h=39 then rgbx<="001";
else rgbx<="000";
end if;
elsif v<26 then
if h<2 then rgbx<="001";
elsif (h=10 or h=12 or h=25 or h=30 or h=32) then rgbx<="010";
elsif h=38 or h=39 then rgbx<="001";
else rgbx<="000";
end if;
elsif v<27 then
if h<2 then rgbx<="001";
elsif (h=8 or h=9 or h=13 or h=14 or h=23 or h=25 or h=29 or h=33) then rgbx<="010";
elsif h=38 or h=39 then rgbx<="001";
else rgbx<="000";
end if;
elsif v<28 then
if h<2 then rgbx<="001";
elsif (h=5 or h=6 or h=7 or h=15 or h=16 or h=24 or h=27 or h=28 or h=34 or h=35) then rgbx<="010";
elsif h=38 or h=39 then rgbx<="001";
else rgbx<="000";
end if;
elsif v<30 then rgbx<="001";
else rgbx<="000";
end if;
end process;
end Behavioral;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -