Page 686 - 3-2
P. 686
output reg sig_f;
output reg [3:0]state;
output [1:0]dcmotor3;
output [3:0] led;
reg [7:0]sw_buff1,sw_buff2;
reg [31:0]buff_cnt,buff_cnt2;
reg [31:0]time_cnt,time_cnt2;
reg [1:0]flag;
assign led[3:0]=~state;
assign dcmotor3[1] = (flag==0)?0:(flag==1)?1:0;
assign dcmotor3[0] = (flag==0)?1 :(flag==1)?0:0;
parameter idle=0, right=1, right_stop=2, up=3, front=4, back=5, down=6, left=7,finish=8;
always @ (posedge clk,negedge rst)
begin
if(!rst) sig<=0;
else
begin
if(rx_data[6:0]==7'h41)sig<=1;
else if(sig_f==1&&state==idle) sig<=0;
end
end
always @(posedge clk, negedge rst) // 채터링
begin
if(!rst)begin sw_buff1<=0; sw_buff2<=0; end
else
begin
sw_buff1<={sw_buff1[6:0],sw1};
sw_buff2<={sw_buff2[6:0],sw2};
end
end
always @(posedge clk, negedge rst)
begin
if(!rst)
begin
state<=idle;
flag<=2;
buff_cnt<=0;
buff_cnt2<=0;
time_cnt<=0;
time_cnt2<=0;
- 686 -