惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Apple Machine Learning Research
Apple Machine Learning Research
M
MIT News - Artificial intelligence
罗磊的独立博客
博客园 - 【当耐特】
A
About on SuperTechFans
Last Week in AI
Last Week in AI
雷峰网
雷峰网
IT之家
IT之家
aimingoo的专栏
aimingoo的专栏
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园_首页
博客园 - 叶小钗
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - Franky
J
Java Code Geeks
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
D
Docker
Engineering at Meta
Engineering at Meta
B
Blog RSS Feed
The Cloudflare Blog
大猫的无限游戏
大猫的无限游戏
阮一峰的网络日志
阮一峰的网络日志
S
SegmentFault 最新的问题
Recent Announcements
Recent Announcements

博客园 - yf.x

超声波测距#倒车雷达#DE10-Lite 按键计数器#DE10-Lite 按键消抖#DE10-Lite 流水呼吸灯v2#DE10-Lite 流水呼吸灯-v1#DE10-Lite 呼吸灯-#DE10-Lite 流水灯#DE10-Lite#Verilog HDLBits_review 2015fsm 补码FSM-HDLbits 串行数据流输出其中的数据位-HDLbits 串行数据接收判断-HDLbits 输出PS2数据流-HDLbits PS2数据流检测状态机-HDLbits 独热码状态机-HDLbits 旅鼠4-HDLbits 旅鼠游戏2-HDLbits 旅鼠游戏--HDLbits 水库水位控制问题-HDLbits 康威生命游戏-hdlbits
旅鼠游戏3-HDLbits
yf.x · 2025-12-16 · via 博客园 - yf.x

在左右走,掉落的基础上再加上挖坑的动作,重点是判断优先级,掉落》挖坑》左右走。

注意:不能边掉边挖,只能在没掉,行走时,停下来挖。也就状态转换的逻辑要清晰。

image

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 );
parameter LEFT=0,RIGHT=1,FALL_L=2,FALL_R=3,DIG_L=4,DIG_R=5;
reg [2:0]state,next_state;

always @(posedge clk,posedge areset)
if(areset)
state<=LEFT;
else
state<=next_state;

always @(*)
case(state)
LEFT:next_state=!ground?FALL_L:(dig?DIG_L:(bump_left?RIGHT:LEFT));
RIGHT:next_state=!ground?FALL_R:(dig?DIG_R:(bump_right?LEFT:RIGHT));
FALL_L:next_state=!ground?FALL_L:LEFT;
FALL_R:next_state=!ground?FALL_R:RIGHT;
DIG_L:next_state=!ground?FALL_L:DIG_L;
DIG_R:next_state=!ground?FALL_R:DIG_R;
endcase

assign walk_left=(state==LEFT)?1'b1:1'b0;
assign walk_right=(state==RIGHT)?1'b1:1'b0;
assign aaah=(state==FALL_L || state==FALL_R)?1'b1:1'b0;
assign digging=(state==DIG_L || state==DIG_R)?1'b1:1'b0;
endmodule

image