旅鼠游戏--HDLbits

游戏规则很简单,老鼠单向移动,撞墙就左右翻转。同时撞左右墙,就同时右左翻转。用状态机实现。

module top_module(
input clk,
input areset, // Freshly brainwashed Lemmings walk left.
input bump_left,
input bump_right,
output walk_left,
output walk_right); //

parameter LEFT=0, RIGHT=1;
reg state, next_state;

always @(*) begin
// State transition logic
case(state)
LEFT:if(bump_left)
next_state=RIGHT;
else if(!bump_left)
next_state=state;

RIGHT:if(bump_right)
next_state=LEFT;
else if(!bump_right)
next_state<=state;

endcase
end

always @(posedge clk, posedge areset) begin
// State flip-flops with asynchronous reset
if(areset)
state<=LEFT;
else
state<=next_state;
end

// Output logic
assign walk_left = (state == LEFT);
assign walk_right = (state == RIGHT);

endmodule

posted on 2025-12-15 16:17  yf.x  阅读(2)  评论(0)    收藏  举报

导航