📄 move.vhd
字号:
elsif(vcnt<375) then q17<="000";
elsif(vcnt<450) then q17<="000";
elsif(vcnt<525) then q17<="001";
elsif(hcnt>=a+400) then q17<="000";
else q17<="000";
end if;
end if;
end process;
---------------------------------------------------------
process(clk,a,hcnt,vcnt)
begin
if clk'event and clk ='1' then
if(hcnt<a and vcnt<75) then q18<="111";
else q18<="111";
end if;
end if;
end process;
process(clk,a,hcnt,vcnt)
begin
if clk'event and clk='1' then
if(hcnt<a+400 and vcnt<75) then q19<="111";
elsif(hcnt<a and(vcnt>=75 and vcnt<150)) then q19<="110";
else q19<="000";
end if;
end if;
end process;
process(clk,a,hcnt,vcnt)
begin
if clk'event and clk='1' then
if(vcnt<75) then q20<="111";
elsif(hcnt<a+400 and vcnt<150) then q20<="110";
elsif(hcnt<a and(vcnt>=150 and vcnt<225)) then q20<="101";
else q20<="000";
end if;
end if;
end process;
process(clk,a,hcnt,vcnt)
begin
if clk'event and clk='1' then
if(vcnt<75) then q21<="111";
elsif(vcnt<150) then q21<="110";
elsif(hcnt<a+400 and vcnt<225) then q21<="101";
elsif(hcnt<a and(vcnt>=225 and vcnt<300)) then q21<="100";
else q21<="100";
end if;
end if;
end process;
process(clk,a,hcnt,vcnt)
begin
if clk'event and clk='1' then
if(vcnt<75) then q22<="111";
elsif(vcnt<150) then q22<="110";
elsif(vcnt<225) then q22<="101";
elsif(hcnt<a+400 and vcnt<300) then q22<="100";
elsif(hcnt<a and(vcnt>=300 and vcnt<375)) then q22<="011";
else q22<="000";
end if;
end if;
end process;
process(clk,a,hcnt,vcnt)
begin
if clk'event and clk='1' then
if(vcnt<75) then q23<="111";
elsif(vcnt<150) then q23<="110";
elsif(vcnt<225) then q23<="101";
elsif(vcnt<300) then q23<="100";
elsif(hcnt<a+400 and vcnt<375) then q23<="011";
elsif(hcnt<a and(vcnt>=375 and vcnt<450)) then q23<="010";
else q23<="000";
end if;
end if;
end process;
process(clk,a,hcnt,vcnt)
begin
if clk'event and clk='1' then
if(vcnt<75) then q24<="111";
elsif(vcnt<150) then q24<="110";
elsif(vcnt<225) then q24<="101";
elsif(vcnt<300) then q24<="100";
elsif(vcnt<375) then q24<="011";
elsif(hcnt<a+400 and vcnt<450) then q24<="010";
elsif(hcnt<a and(vcnt>=450 and vcnt<525)) then q24<="001";
else q24<="000";
end if;
end if;
end process;
process(clk,a,hcnt,vcnt)
begin
if clk'event and clk='1' then
if(vcnt<75) then q25<="111";
elsif(vcnt<150) then q25<="110";
elsif(vcnt<225) then q25<="101";
elsif(vcnt<300) then q25<="100";
elsif(vcnt<375) then q25<="011";
elsif(vcnt<450) then q25<="010";
elsif(hcnt<a+400 and vcnt<525) then q25<="001";
elsif(hcnt<a and(vcnt>=525 and vcnt<600)) then q25<="000";
else q25<="000";
end if;
end if;
end process;
process(clk,a,hcnt,vcnt)
begin
if clk'event and clk='1' then
if(vcnt<75) then q26<="111";
elsif(vcnt<150) then q26<="110";
elsif(vcnt<225) then q26<="101";
elsif(vcnt<300) then q26<="100";
elsif(vcnt<375) then q26<="011";
elsif(vcnt<450) then q26<="010";
elsif(vcnt<525) then q26<="001";
elsif(hcnt<a+400 and vcnt<600) then q26<="000";
else q26<="000";
end if;
end if;
end process;
process(clk,a,hcnt,vcnt)
begin
if clk'event and clk='1' then
if(hcnt<a and (hcnt>=400 and hcnt<a+400)) then
q27<="000";
elsif(vcnt<75) then q27<="111";
elsif(vcnt<150) then q27<="110";
elsif(vcnt<225) then q27<="101";
elsif(vcnt<300) then q27<="100";
elsif(vcnt<375) then q27<="011";
elsif(vcnt<450) then q27<="010";
elsif(vcnt<525) then q27<="001";
else q27<="000";
end if;
end if;
end process;
process(clk,hcnt,vcnt)
begin
if clk'event and clk='1' then
if((hcnt>=100 and hcnt<200)and(vcnt>=200 and vcnt<350)
and(not((hcnt>=120 and hcnt<180)and(vcnt>=220 and vcnt<330)))) then
q28<="110";
else q28<="000";
end if;
end if;
end process;
process(clk,hcnt,vcnt)
begin
if clk'event and clk='1' then
if((hcnt>=100 and hcnt<200)and(vcnt>=200 and vcnt<350)
and(not((hcnt>=120 and hcnt<180)and(vcnt>=220 and vcnt<330)))) then
q29<="110";
elsif((hcnt>=210 and hcnt<380)and(vcnt>=200 and vcnt<350)and(not(vcnt+10>=hcnt and hcnt>=210 and vcnt<350))
and(not(vcnt+40<hcnt and hcnt<360 and vcnt>200))) then
q29<="101";
else q29<="000";
end if;
end if;
end process;
process(clk,hcnt,vcnt)
begin
if clk'event and clk='1' then
if((hcnt>=100 and hcnt<200)and(vcnt>=200 and vcnt<350)
and(not((hcnt>=120 and hcnt<180)and(vcnt>=220 and vcnt<330)))) then
q30<="110";
elsif((hcnt>=210 and hcnt<380)and(vcnt>=200 and vcnt<350)and(not(vcnt+10>=hcnt and hcnt>=210 and vcnt<350))
and(not(vcnt+40<hcnt and hcnt<360 and vcnt>200))) then
q30<="101";
elsif((hcnt>=390 and hcnt<490)and(vcnt>=200 and vcnt<350)and(not((hcnt>=410 and hcnt<490)and(vcnt>=220 and vcnt<265)))
and(not((hcnt>=410 and hcnt<490)and(vcnt>=285 and vcnt<330)))) then
q30<="100";
else q30<="000";
end if;
end if;
end process;
process(clk,hcnt,vcnt)
begin
if clk'event and clk='1' then
if((hcnt>=100 and hcnt<200)and(vcnt>=200 and vcnt<350)
and(not((hcnt>=120 and hcnt<180)and(vcnt>=220 and vcnt<330)))) then
q31<="110";
elsif((hcnt>=210 and hcnt<380)and(vcnt>=200 and vcnt<350)and(not(vcnt+10>=hcnt and hcnt>=210 and vcnt<350))
and(not(vcnt+40<hcnt and hcnt<360 and vcnt>200))) then
q31<="101";
elsif((hcnt>=390 and hcnt<490)and(vcnt>=200 and vcnt<350)and(not((hcnt>=410 and hcnt<490)and(vcnt>=220 and vcnt<265)))
and(not((hcnt>=410 and hcnt<490)and(vcnt>=285 and vcnt<330)))) then
q31<="100";
elsif((hcnt>=500 and hcnt<600)and(vcnt>=200 and vcnt<350)and(not((hcnt>=520 and hcnt>=570)and(vcnt>=220 and vcnt<250)))
and(not(vcnt+250<hcnt and hcnt<600 and vcnt>=270))and(not(vcnt+220>=hcnt and hcnt>=520 and vcnt<350))) then
q31<="011";
else q31<="000";
end if;
end if;
end process;
process(clk,hcnt,vcnt)
begin
if clk'event and clk='1' then
if((hcnt>=100 and hcnt<200)and(vcnt>=200 and vcnt<350)
and(not((hcnt>=120 and hcnt<180)and(vcnt>=220 and vcnt<330)))) then
q32<="010";
elsif((hcnt>=210 and hcnt<380)and(vcnt>=200 and vcnt<350)and(not(vcnt+10>=hcnt and hcnt>=210 and vcnt<350))
and(not(vcnt+40<hcnt and hcnt<360 and vcnt>200))) then
q32<="010";
elsif((hcnt>=390 and hcnt<490)and(vcnt>=200 and vcnt<350)and(not((hcnt>=410 and hcnt<490)and(vcnt>=220 and vcnt<265)))
and(not((hcnt>=410 and hcnt<490)and(vcnt>=285 and vcnt<330)))) then
q32<="010";
elsif((hcnt>=500 and hcnt<600)and(vcnt>=200 and vcnt<350)and(not((hcnt>=520 and hcnt>=570)and(vcnt>=220 and vcnt<250)))
and(not(vcnt+250<hcnt and hcnt<600 and vcnt>=270))and(not(vcnt+220>=hcnt and hcnt>=520 and vcnt<350))) then
q32<="010";
else q32<="000";
end if;
end if;
end process;
------------------------------------------------------------------------
process(clk,cnt,q0,q1,q2,q3,q4,q5,q6,q7,q8,q9,q10,q11,q12,q13,q14,q15,q16,q17,q18,q19,
q20,q21,q22,q23,q24,q25,q26,q27,q28,q29,q30,q31,q32)
begin
case cnt is
when 0 => q <=q0;
when 1 => q <=q1;
when 2 => q <=q2;
when 3 => q <=q3;
when 4 => q <=q4;
when 5 => q <=q5;
when 6 => q <=q6;
when 7 => q <=q7;
when 8 => q <=q8;
when 9 => q <=q9;
when 10 => q <=q10;
when 11 => q <=q11;
when 12 => q <=q12;
when 13 => q <=q13;
when 14 => q <=q14;
when 15 => q <=q15;
when 16 => q <=q16;
when 17 => q <=q17;
when 18 => q <=q18;
when 19 => q <=q19;
when 20 => q <=q20;
when 21 => q <=q21;
when 22 => q <=q22;
when 23 => q <=q23;
when 24 => q <=q24;
when 25 => q <=q25;
when 26 => q <=q26;
when 27 => q <=q27;
when 28 => q <=q28;
when 29 => q <=q29;
when 30 => q <=q30;
when 31 => q <=q31;
when 32 => q <=q32;
when others =>null;
end case;
end process;
end architecture one;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -