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

📄 kai.vhd

📁 一个小赛车游戏
💻 VHD
📖 第 1 页 / 共 3 页
字号:
  
 heng1<="10111111";   end if;
          when 10 =>if b0=5 then    shu1<="01100000";   heng1<="11111110";   end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 

heng1<="11011111";   end if;
          when 11 =>if b0=5 then    shu1<="01100000";   heng1<="11111110";   end if;
                   if b0=10 then  
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
when others=>zz<=0; 
end case; 
 
  heng1<="11101111";   end if;
          when 12 =>if b0=5 then    shu1<="01100000";   heng1<="11111110";   end if;
                   if b0=10 then   
case radomji is
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101";
when others=>zz<=0; 
end case; 
heng1<="11110111";   end if;
          when 13 =>if b0=5 then    shu1<="01100000";   heng1<="11111110";   end if;
                   if b0=10 then 
case radomji is---
when 0=>  shu1<="11100011";  
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101";
when others=>zz<=0;  
end case; 
 
   heng1<="11111011";   end if;
          when 14 =>if b0=5 then    shu1<="01100000";   heng1<="11111110";   end if;
                   if b0=10 then 
case radomji is---
when 0=>  shu1<="11100011";    zz<=5;
when 1=>  shu1<="00111000";    zz<=5;
when 2=>  shu1<="10010101";    zz<=0;--##############
when others =>zz<=0;
end case; 
  
   heng1<="11111101";   end if;
          when 15 =>if b0=5 then    shu1<="01100000";   heng1<="11111110";   end if;
                   if b0=10 then  
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101";
when others=>zz<=0;  
end case; 

  heng1<="11111110";   end if;--############
          when 16 =>shu1<="01100000";   heng1<="11111110"; 
          when others =>shu1<="01100000"; 

end case;
when 2=>   case high is
          when 8 =>if b0=5 then    shu1<="00110000";   heng1<="11111110";   end if;
                   if b0=10 then  
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 

   heng1<="01111111";   end if;
          when 9 =>if b0=5 then    shu1<="00110000";   heng1<="11111110";   end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
when others=>zz<=0; 
end case; 
  
 heng1<="10111111";   end if;
          when 10 =>if b0=5 then    shu1<="00110000";   heng1<="11111110";   end if;
                   if b0=10 then  
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
when others=>zz<=0; 
end case; 
  
 heng1<="11011111";   end if;
          when 11 =>if b0=5 then    shu1<="00110000";   heng1<="11111110";   end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101";
when others=>zz<=0;  
end case; 
  
 heng1<="11101111";   end if;
          when 12 =>if b0=5 then    shu1<="00110000";   heng1<="11111110";   end if;
                   if b0=10 then      
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
when others=>zz<=0; 
end case; 

heng1<="11110111";   end if;
          when 13 =>if b0=5 then    shu1<="00110000";   heng1<="11111110";   end if;
                   if b0=10 then  
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
when others=>zz<=0; 
end case; 

  heng1<="11111011";   end if;
          when 14 =>if b0=5 then    shu1<="00110000";   heng1<="11111110";    zz<=5;   end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011"; zz<=5;
when 1=>  shu1<="00111000"; zz<=5;
when 2=>  shu1<="10010101"; zz<=5;
when others =>zz<=0;
end case; 
  
  heng1<="11111101";   end if;
          when 15 =>if b0=5 then    shu1<="00110000";   heng1<="11111110";   end if;
                   if b0=10 then 
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
when others=>zz<=0; 
end case; 
  
heng1<="11111110";   end if;
          when 16 => shu1<="00110000";   heng1<="11111110"; 
          when others =>shu1<="00110000"; 

end case;
when 3=>   case high is
         when 8 =>if b0=5 then    shu1<="00011000";   heng1<="11111110";   end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 

  heng1<="01111111";   end if;
          when 9 =>if b0=5 then    shu1<="00011000";   heng1<="11111110";   end if;
                   if b0=10 then 
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 
 
  heng1<="10111111";   end if;
          when 10 =>if b0=5 then    shu1<="00011000";   heng1<="11111110";   end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 
  
  heng1<="11011111";   end if;
          when 11 =>if b0=5 then    shu1<="00011000";   heng1<="11111110";   end if;
                   if b0=10 then  
 case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 
  
heng1<="11101111";   end if;
          when 12 =>if b0=5 then    shu1<="00011000";   heng1<="11111110";   end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 

    heng1<="11110111";   end if;
          when 13 =>if b0=5 then    shu1<="00011000";   heng1<="11111110";   end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 

    heng1<="11111011";   end if;
          when 14 =>if b0=5 then    shu1<="00011000";   heng1<="11111110";        end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011"; zz<=0;
when 1=>  shu1<="00111000"; zz<=5;
when 2=>  shu1<="10010101"; zz<=5;
when others =>zz<=0;
end case; 

  heng1<="11111101";   end if;
          when 15 =>if b0=5 then    shu1<="00011000";   heng1<="11111110";   end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 

    heng1<="11111110";    end if;
          when 16 => shu1<="00011000";   heng1<="11111110";  
          when others =>shu1<="00011000"; 

end case;
when 4=>   case high is
           when 8 =>if b0=5 then    shu1<="00001100";   heng1<="11111110";   end if;
                   if b0=10 then  
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 

  heng1<="01111111";   end if;
          when 9 =>if b0=5 then    shu1<="00001100";   heng1<="11111110";   end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 

   heng1<="10111111";   end if;
          when 10 =>if b0=5 then    shu1<="00001100";   heng1<="11111110";   end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 
  
 heng1<="11011111";   end if;
          when 11 =>if b0=5 then    shu1<="00001100";   heng1<="11111110";   end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 
  
 heng1<="11101111";   end if;
          when 12 =>if b0=5 then    shu1<="00001100";   heng1<="11111110";   end if;
                   if b0=10 then  
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 
   heng1<="11110111";   end if;
          when 13 =>if b0=5 then    shu1<="00001100";   heng1<="11111110";   end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 
   heng1<="11111011";   end if;
          when 14 =>if b0=5 then    shu1<="00001100";   heng1<="11111110";      end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011";    zz<=0;
when 1=>  shu1<="00111000";   zz<=5;
when 2=>  shu1<="10010101";   zz<=5;  
when others =>zz<=0;
end case; 
    heng1<="11111101";   end if;
          when 15 =>if b0=5 then    shu1<="00001100";   heng1<="11111110";   end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 
    heng1<="11111110";     end if; 
          when 16 =>shu1<="00001100";   heng1<="11111110";
          when others =>shu1<="00001100"; 

end case;
when 5=>   case high is
           when 8 =>if b0=5 then    shu1<="00000110";   heng1<="11111110";   end if;
                   if b0=10 then  
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 
heng1<="01111111";   end if;
          when 9 =>if b0=5 then    shu1<="00000110";   heng1<="11111110";   end if;
                   if b0=10 then  
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 
  heng1<="10111111";   end if;
          when 10 =>if b0=5 then    shu1<="00000110";   heng1<="11111110";   end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 
    heng1<="11011111";   end if;
          when 11 =>if b0=5 then    shu1<="00000110";   heng1<="11111110";   end if;
                   if b0=10 then  
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 
   heng1<="11101111";   end if;
          when 12 =>if b0=5 then    shu1<="00000110";   heng1<="11111110";   end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 
   heng1<="11110111";   end if;
          when 13 =>if b0=5 then    shu1<="00000110";   heng1<="11111110";   end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 
   heng1<="11111011";   end if;
          when 14 =>if b0=5 then    shu1<="00000110";   heng1<="11111110";   end if;
                   if b0=10 then   case radomji is---
when 0=>  shu1<="11100011";  zz<=5;
when 1=>  shu1<="00111000";   zz<=0;
when 2=>  shu1<="10010101";   zz<=5;
when others =>zz<=0;
end case; 
   heng1<="11111101";   end if;
          when 15 =>if b0=5 then    shu1<="00000110";   heng1<="11111110";   end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 
    heng1<="11111110";   end if;
          when 16 => shu1<="00000110";   heng1<="11111110"; 
          when others =>shu1<="00001100"; 

end case;
when 6=>   case high is
          when 8 =>if b0=5 then    shu1<="00000011";   heng1<="11111110";   end if;
                   if b0=10 then  
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 
   heng1<="01111111";   end if;
          when 9 =>if b0=5 then    shu1<="00000011";   heng1<="11111110";   end if;
                   if b0=10 then  
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 
   heng1<="10111111";   end if;
          when 10 =>if b0=5 then    shu1<="00000011";   heng1<="11111110";   end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 
   heng1<="11011111";   end if;
          when 11 =>if b0=5 then    shu1<="00000011";   heng1<="11111110";   end if;
                   if b0=10 then  
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 
   heng1<="11101111";   end if;
          when 12 =>if b0=5 then    shu1<="00000011";   heng1<="11111110";   end if;
                   if b0=10 then  
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 
    heng1<="11110111";   end if;
          when 13 =>if b0=5 then    shu1<="00000011";   heng1<="11111110";   end if;
                   if b0=10 then   
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 
    heng1<="11111011";   end if;
          when 14 =>if b0=5 then    shu1<="00000011";   heng1<="11111110";   end if;
                   if b0=10 then  
case radomji is---
when 0=>  shu1<="11100011";   zz<=5;
when 1=>  shu1<="00111000";   zz<=0;
when 2=>  shu1<="10010101";   zz<=5;
when others =>zz<=0;
end case; 
    heng1<="11111101";   end if;
          when 15 =>if b0=5 then    shu1<="00000011";   heng1<="11111110";   end if;
                   if b0=10 then  
case radomji is---
when 0=>  shu1<="11100011"; 
when 1=>  shu1<="00111000"; 
when 2=>  shu1<="10010101"; 
end case; 
   heng1<="11111110";   end if;
          when 16 =>shu1<="00000011";   heng1<="11111110";
          when others =>shu1<="00000110"; 


end case;
WHEN others => shu1<="00000011";--heng1<="11111110";
end case;
--shu<=shu1;
--heng<=heng1;
--dogshu<=dogshu1; 
end if;
end process shao1;--##################################################################在第二板上的移动

xianshi:process (cp)
begin
if  zz0=5 then
shu<=shu3;
heng<=heng3;
dogshu<=dogshu3;
else
if(high<8) then
shu<=shu2;
heng<=heng2;
dogshu<=dogshu1;
else
shu<=shu1;
heng<=heng1;
dogshu<=dogshu2;
end if;
end if;
end process xianshi;

over:process (clk1000)
begin
if clk1000'event and clk1000='1'then
if i=9 then
   i<=0;
else i<=i+1;
end if;

if  (zz0=5) then
shiyan0<='1';
--if(j='1') then zz<=0; end if;   --复位功能
score<=3;
else 
shiyan0<='0';
end if;

if (score=3 and zz0=5 ) then
dogshu3<="00000000";
case i is
when 0=> shu3<="01000000";
heng3<="10000001";
when 2=>shu3<="00100000";
heng3<="01011010";
when 4=>shu3<="00010000";--额头
heng3<="01110110";
when 6=> shu3<="00001000";
heng3<="01011010";
when 8=> shu3<="00000100";
heng3<="10000001";
when others => shu3<="00000000";
end case;
end if;
end if;
end process  over;

fuzhi: process  (cp)
--variable t:INTEGER:=0;
begin
--if cp'event and cp='1'then
  --if t=200
if(j='1')then
zz0<=0;   tou<="01100000";   de<="11111110";
else   zz0<=zz;   tou<="11011010";    de<="11111110";
--end if;
end if;
end process fuzhi;

END shen;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -