⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 colormap.vhd

📁 控制vga显示
💻 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 + -