加粗样式
Lemmings4
module top_module(
input clk,
input areset, // Freshly brainwashed Lemmings walk left.
input bump_left,
input bump_right,
input ground,
input dig,
output walk_left,
output walk_right,
output aaah,
output digging );
reg [3:0]c_s,n_s;
parameter left=0,right=1,l_g=2,r_g=3,l_dg=4,r_dg=5,fj=6;
integer p;
always @(posedge clk or posedge areset)
begin
if(areset)
c_s<=left;
else
c_s<=n_s;
end
always @(posedge clk or posedge areset)
begin
if(areset)
p<=0;
else if (c_s==l_g||c_s==r_g)
p<=p+1;
else
p<=0;
end
always @(*)
begin
case(c_s)
left:n_s=(ground)?(dig?l_dg:(bump_left?right:left)):l_g;
right:n_s=(ground)?(dig?r_dg:(bump_right?left:right)):r_g;
l_dg:n_s=(ground)?l_dg:l_g;
r_dg:n_s=(ground)?r_dg:r_g;
l_g:n_s=(ground)?((p>19)?fj:left):l_g;
r_g:n_s=(ground)?((p>19)?fj:right):r_g;
fj: n_s=fj;
endcase
end
assign walk_left=(c_s==left);
assign walk_right=(c_s==right);
assign aaah=(c_s==l_g)|(c_s==r_g);
assign digging=(c_s==l_dg)|(c_s==r_dg);
endmodule