?? taxi.v.bak
字號(hào):
`timescale 1ns/1ns
module taxi(f64,reset,start,drive,cha3,cha2,cha1,cha0,km1,km0,min1,min0,flagmile,flagmin);
input f64,reset,start,drive;
output [3:0]cha3,cha2,cha1,cha0,km1,km0,min1,min0;
output [1:0]flagmile,flagmin;
reg [3:0]cha3,cha2,cha1,cha0,km1,km0,min1,min0;
//reg drivout;
reg miles,minout;
reg flagmile,flagmin;
//reg [7:0]i;
reg [7:0]j;
reg [7:0]k;
initial begin
//i<=0;
j<=0;
k<=0;
cha3<=0;
cha2<=1;
cha1<=0;
cha0<=0;
km1<=0;
km0<=0;
min1<=0;
min0<=0;
end
/*always @(posedge reset)
begin
i<=0;
j<=0;
k<=0;
cha3<=0;
cha2<=1;
cha1<=0;
cha0<=0;
km1<=0;
km0<=0;
min1<=0;
min0<=0;
end */
/*always @(posedge drive)
begin
if(reset)
i<=0;
else if(!start)
begin
drivout<=drivout;
i<=i;
end
else if(i==15)
begin
i<=0;
drivout<=~drivout;
end
else
i<=i+1;
end*/
/*always @(posedge f64)
begin
if(!start)
begin
j<=j;
k<=k;
end
else
begin
if(drivout)
begin
if(j==255)
begin
j<=0;
//minout<=~minout;
minout<=1;
end
else
begin j<=j+1;end
end
else
begin
if(k==255)
begin
k<=0;
miles<=~miles;
miles<=1;
end
else
begin k<=k+1;end
end
end
end*/
always @(posedge f64)
begin
if(reset)
begin
//i<=0;
j<=0;
k<=0;
cha3<=0;
cha2<=1;
cha1<=0;
cha0<=0;
km1<=0;
km0<=0;
min1<=0;
min0<=0;
end
else if(!start)
begin
j<=j;
k<=k;
end
else
begin
if(!drive)
begin
flagmin<=1;
flagmile<=0;
if(j==80)
begin
j<=0;
//minout<=~minout;
minout<=1;
end
else
begin j<=j+1;end
end
else
begin
flagmile<=1;
flagmin<=0;
if(k==100)
begin
k<=0;
//miles<=~miles;
miles<=1;
end
else
begin k<=k+1;end
end
end
if(minout)
begin
minout<=0;
if(min0<9)
begin
min0<=min0+1;
end
if(min0==9)
if(min1==5)
begin
min0<=0;
min1<=0;
end
else
begin
min0<=0;
min1<=min1+1;
end
if(min0>=1)
begin
if(cha0<5)
begin
if(cha1<9)
begin
cha0<=cha0+5;
cha1<=cha1+1;
end
else if(cha2<9)
begin
cha0<=cha0+5;
cha1<=cha1-9;
cha2<=cha2+1;
end
else if(cha3<9)
begin
cha0<=cha0+5;
cha1<=cha1-9;
cha2<=cha2-9;
cha3<=cha3+1;
end
else
begin
cha0<=cha0+5;
cha1<=cha1-9;
cha2<=cha2-9;
cha3<=0;
end
end
else
begin
if(cha1<8)
begin
cha0<=cha0-5;
cha1<=cha1+2;
end
else if(cha2<9)
begin
cha0<=cha0-5;
cha1<=cha1-8;
cha2<=cha2+1;
end
else if(cha3<9)
begin
cha0<=cha0-5;
cha1<=cha1-8;
cha2<=cha2-9;
cha3<=cha3+1;
end
else
begin
cha0<=cha0-5;
cha1<=cha1-8;
cha2<=cha2-9;
cha3<=0;
end
end
end
end
if(miles)
begin
miles<=0;
if(km0<9)
begin
km0<=km0+1;
end
if(km0==9)
if(km1==9)
begin
km0<=0;
km1<=0;
end
else
begin
km0<=0;
km1<=km1+1;
end
if(km0>=2)
begin
if(cha0<4)
begin
if(cha1<9)
begin
cha0<=cha0+6;
cha1<=cha1+1;
end
else if(cha2<9)
begin
cha0<=cha0+6;
cha1<=cha1-9;
cha2<=cha2+1;
end
else if(cha3<9)
begin
cha0<=cha0+6;
cha1<=cha1-9;
cha2<=cha2-9;
cha3<=cha3+1;
end
else
begin
cha0<=cha0+6;
cha1<=cha1-9;
cha2<=cha2-9;
cha3<=0;
end
end
else
begin
if(cha1<8)
begin
cha0<=cha0-4;
cha1<=cha1+2;
end
else if(cha2<9)
begin
cha0<=cha0-4;
cha1<=cha1-8;
cha2<=cha2+1;
end
else if(cha3<9)
begin
cha0<=cha0-4;
cha1<=cha1-8;
cha2<=cha2-9;
cha3<=cha3+1;
end
else
begin
cha0<=cha0-4;
cha1<=cha1-8;
cha2<=cha2-9;
cha3<=0;
end
end
end
end
end
/*always @(posedge miles)
begin
km0<=km0+1;
if(km0==10)
begin
km0<=0;
km1<=km1+1;
end
if(km1==10)
km1<=0;
if(km0>=3)
begin
cha0<=cha0+6;
cha1<=cha1+1;
if(cha0>=10)
begin
cha0<=cha0-10;
cha1<=cha1+1;
end
if(cha1>=10)
begin
cha1<=cha1-10;
cha2<=cha2+1;
end
if(cha2>=10)
begin
cha2<=cha2-10;
cha3<=cha3+1;
end
if(cha3>=10)
cha3<=0;
end
end*/
endmodule
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -