📄 kai.vhd
字号:
when 2=> if a0=5 then
shu2<="00011000";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="11011111"; shu2<="00000000";
end if;
when 3=> if a0=5 then
shu2<="00011000";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="11101111"; shu2<="00000000";
end if;
when 4=> if a0=5 then
shu2<="00011000";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="11110111"; shu2<="00000000";
end if;
when 5=> if a0=5 then
shu2<="00011000";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="11111011"; shu2<="00000000";
end if;
when 6=> if a0=5 then
shu2<="00011000";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="11111101"; shu2<="00000000";
end if;
when 7=> if a0=5 then
shu2<="00011000";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="11111110"; shu2<="00000000";
end if;
when others =>if a0=5 then
shu2<="11000000";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
dogshu1<="00111000"; heng2<="01111111"; shu2<="00000000";
end if;
end case;
WHEN 4 => case high is
when 0 => if a0=5 then
shu2<="00001100";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="01111111"; shu2<="00000000";
end if;
when 1 => if a0=5 then
shu2<="00001100";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="10111111"; shu2<="00000000";
end if;
when 2 => if a0=5 then
shu2<="00001100";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="11011111"; shu2<="00000000";
end if;
when 3 => if a0=5 then
shu2<="00001100";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="11101111"; shu2<="00000000";
end if;
when 4 => if a0=5 then
shu2<="00001100";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="11110111"; shu2<="00000000";
end if;
when 5 => if a0=5 then
shu2<="00001100";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="11111011"; shu2<="00000000";
end if;
when 6 => if a0=5 then
shu2<="00001100";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="11111101"; shu2<="00000000";
end if;
when 7 => if a0=5 then
shu2<="00001100";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="11111110"; shu2<="00000000";
end if;
when others =>if a0=5 then
shu2<="11000000";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
dogshu1<="00111000"; heng2<="01111111"; shu2<="00000000";
end if;
end case;
WHEN 5 => case high is
when 0=> if a0=5 then
shu2<="00000110";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="01111111"; shu2<="00000000";
end if;
when 1=> if a0=5 then
shu2<="00000110";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="10111111"; shu2<="00000000"; end if;
when 2=> if a0=5 then
shu2<="00000110";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="11011111"; shu2<="00000000";
end if;
when 3=> if a0=5 then
shu2<="00000110";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="11101111"; shu2<="00000000";
end if;
when 4=> if a0=5 then
shu2<="00000110";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="11110111"; shu2<="00000000";
end if;
when 5=> if a0=5 then
shu2<="00000110";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="11111011"; shu2<="00000000";
end if;
when 6=> if a0=5 then
shu2<="00000110";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="11111101"; shu2<="00000000";
end if;
when 7=> if a0=5 then
shu2<="00000110";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="11111110"; shu2<="00000000";
end if;
when others =>if a0=5 then
shu2<="11000000";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="01111111"; shu2<="00000000";
end if;
end case;
WHEN 6 => case high is
when 0=> if a0=5 then
shu2<="00000011";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="01111111"; shu2<="00000000";
end if;
when 1=> if a0=5 then
shu2<="00000011";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="10111111"; shu2<="00000000";
end if;
when 2=> if a0=5 then
shu2<="00000011";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="11011111"; shu2<="00000000";
end if;
when 3=> if a0=5 then
shu2<="00000011";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="11101111"; shu2<="00000000";
end if;
when 4=> if a0=5 then
shu2<="00000011";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="11110111"; shu2<="00000000";
end if;
when 5=> if a0=5 then
shu2<="00000011";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="11111011"; shu2<="00000000";
end if;
when 6=> if a0=5 then
shu2<="00000011";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="11111101"; shu2<="00000000";
end if;
when 7=> if a0=5 then
shu2<="00000011";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
case radomji is
when 0=> dogshu1<="11100011";
when 1=> dogshu1<="00111000";
when 2=> dogshu1<="10010101";
end case;
heng2<="11111110"; shu2<="00000000";
end if;
when others =>if a0=5 then
shu2<="11000000";heng2<="11111110"; dogshu1<="00000000";
end if;
if a0=10 then
dogshu1<="00111000"; heng2<="01111111"; shu2<="00000000";
end if;
end case;
WHEN others => shu2<="00011000";--heng2<="11111110";
end case;
--shu<=shu2;
--heng<=heng2;
--dogshu<=dogshu1;
end if;
end process shao0;---##################################################################在第一板上的移动
shao1:process (clk1000)---##################################################################在第二板上的移动
variable b0:INTEGER:=0;
begin
if clk1000'event and clk1000='1'then
if b0=10 then
b0:=0;
else
b0:=b0+1;
end if;
end if;
dogshu2<="00000000";
if (high>8 or high=8) then
case location is
when 0=> case high is
when 8 =>if b0=5 then shu1<="11000000"; 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<="11000000"; 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<="11000000"; 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<="11000000"; heng1<="11111110"; end if;
if b0=10 then
case radomji is---
when 0=> shu1<="11100011"; zz<=0;
when 1=> shu1<="00111000"; zz<=0;
when 2=> shu1<="10010101"; zz<=0;
end case;
heng1<="11101111"; end if;
when 12 =>if b0=5 then shu1<="11000000"; heng1<="11111110"; end if;
if b0=10 then
case radomji is---
when 0=> shu1<="11100011"; zz<=0;
when 1=> shu1<="00111000"; zz<=0;
when 2=> shu1<="10010101"; zz<=0;
when others =>zz<=0;
end case;
heng1<="11110111"; end if;
when 13 =>if b0=5 then shu1<="11000000"; heng1<="11111110"; end if;
if b0=10 then
case radomji is---
when 0=> shu1<="11100011"; zz<=0;
when 1=> shu1<="00111000"; zz<=0;
when 2=> shu1<="10010101"; zz<=0;
when others =>zz<=0;
end case;
heng1<="11111011"; end if;
when 14 =>if b0=5 then shu1<="11000000"; 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<="11000000"; 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<="11000000"; heng1<="11111110";
when others =>shu1<="11000000";
end case;
when 1=> case high is
when 8 =>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<="01111111"; end if;
when 9 =>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;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -