┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
程序清单2010届毕业设计6月7日修改版
VARIABLE TXE: Integer RANGE 0 TO 65535; VARIABLE TYE: Integer RANGE 0 TO 65535; BEGIN
IF XE>XS THEN XXDIR:='0'; ELSE
XXDIR:='1'; END IF; IF YE>YS THEN YYDIR:='0'; ELSE
YYDIR:='1'; END IF; IF XE<0 THEN TXE:=-XE; ELSE TXE:=XE; END IF; IF XS<0 THEN TXS:=-XS; ELSE TXS:=XS; END IF; IF YE<0 THEN TYE:=-YE; ELSE TYE:=YE; END IF; IF YS<0 THEN TYS:=-YS; ELSE TYS:=YS;
共 25 页 第 22 页
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
程序清单2010届毕业设计6月7日修改版
END IF; XDIR<=XXDIR; YDIR<=YYDIR; XXS<=TXS; YYS<=TYS; XXE<=TXE; YYE<=TYE; END PROCESS P1; P2:PROCESS(G,CLCK)
VARIABLE xx:Integer RANGE 0 TO 65535; VARIABLE yy:Integer RANGE 0 TO 65535; VARIABLE F:Integer; VARIABLE DIR:STD_LOGIC; VARIABLE NUM:Integer; VARIABLE YG:STD_LOGIC; VARIABLE XG:STD_LOGIC; BEGIN
IF G='1' THEN xx:=XXS; yy:=YYS;
if XXE NUM:=XXS-XXE+YYE-YYS; ELSE DIR:='1'; NUM:=XXE-XXS+YYS-YYE; END IF; F:=0; elsIF CLCK'EVENT AND CLCK='1' THEN IF NUM/=0 then IF(F<0)then IF DIR='0'THEN 共 25 页 第 23 页 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 程序清单2010届毕业设计6月7日修改版 F:=F+yy+yy+1; yy:=yy+1; YG:='1'; XG:='0'; ELSE F:=F+xx+xx+1; xx:=xx+1; YG:='0'; XG:='1'; END IF; else IF DIR='0'THEN F:=F-xx-xx+1; xx:=xx-1; YG:='0'; XG:='1'; ELSE F:=F-YY-YY+1; yy:=yy-1; YG:='1'; XG:='0'; END IF; END IF; NUM:=NUM-1; ELSE YG:='0'; XG:='0'; END IF; END IF; XCP<=XG AND CLCK; YCP<=YG AND CLCK; END PROCESS P2; 共 25 页 第 24 页 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 程序清单2010届毕业设计6月7日修改版 P3:PROCESS(CLK) VARIABLE CP:STD_LOGIC; BEGIN if CLK'EVENT AND CLK='0' THEN CP:=NOT(CP); END IF; CLCK<=CP; END PROCESS P3; END sample; LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY OUTP IS PORT(A : IN STD_LOGIC_VECTOR(1 DOWNTO 0); B : IN STD_LOGIC_VECTOR(1 DOWNTO 0); SEL: IN STD_LOGIC; D : Out STD_LOGIC_VECTOR(1 DOWNTO 0)); END OUTP; ARCHITECTURE sample OF OUTP IS BEGIN P1:PROCESS(A,B,SEL) BEGIN if SEL='1' then D<=B; ELSE D<=A; END IF; END PROCESS P1; END sample; 共 25 页 第 25 页