旅鼠除了走路和跌倒,有时还可以被告知做一些有用的事情,比如挖掘(当dig=1时开始挖掘)。如果旅鼠目前在(ground=1且未掉落),则可以挖掘,直到到达另一侧(ground=0)。由于没有地面,他会掉下来(aaah=1),然后一旦它再次落地,继续向原来的方向走。与跌倒一样,在挖掘时被撞到没有效果,并且在跌倒或没有地面时被告知要挖洞是被忽略的
(换句话说,行走的旅鼠可以摔倒,挖掘或改变方向。如果满足这些条件中的多个条件,则fall的优先级高于dig,dig的优先级高于切换方向的优先级)
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[1:0] state,next_state,be