📄 kai.vhd
字号:
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 + -