verilog HDLBits刷题[Finite State Machines]“Lemmings2”---Lemmings2
1、题目See also: Lemmings1.In addition to walking left and right, Lemmings will fall (and presumably go aaah!) if the ground disappears underneath them.In addition to walking left and right and changing direction when bumped, when ground0, the Lemming will fall and say aaah!. When the ground reappears (ground1), the Lemming will resume walking in the same direction as before the fall. Being bumped while falling does not affect the walking direction, and being bumped in the same cycle as ground disappears (but not yet falling), or when the ground reappears while still falling, also does not affect the walking direction.Build a finite state machine that models this behaviour.See also: Lemmings3 and Lemmings4.2、分析旅鼠游戏2旅鼠可以左右行走如果地面消失于脚下它们会摔跤并发出“啊啊啊”的声音如果地面重新出现它们就以之前的方向继续前进。注意掉落前的状态为左还是左如此看来可知有四种情况向左向右掉落前向左掉落前向右。3、代码module top_module( input clk, input areset, // Freshly brainwashed Lemmings walk left. input bump_left, input bump_right, input ground, output walk_left, output walk_right, output reg aaah ); parameter LEFT2b00,RIGHT2b01,fall_left2b10,fall_right2b11; reg [1:0]state,next_state; always(*)begin next_state state; case(state) LEFT:begin if(!ground) next_statefall_left; else begin if(bump_left) next_stateRIGHT; else next_stateLEFT; end end RIGHT:begin if(!ground) next_statefall_right; else begin if(bump_right) next_stateLEFT; else next_stateRIGHT; end end fall_left:begin if(ground) next_stateLEFT; else next_statefall_left; end fall_right:begin if(ground) next_stateRIGHT; else next_statefall_right; end default:next_stateLEFT; endcase end always(posedge clk,posedge areset)begin if(areset) stateLEFT; else statenext_state; end always(posedge clk,posedge areset)begin if(areset) aaah1b0; else if(ground1b0) aaah1b1; else aaah1b0; end assign walk_left(stateLEFT); assign walk_right(stateRIGHT); endmodule4、结果

相关新闻

C/C++项目配置管理:深入解析INI文件操作库的设计与工程实践

C/C++项目配置管理:深入解析INI文件操作库的设计与工程实践

1. 项目概述:为什么IniFile源码值得深挖?在C/C开发领域,配置文件处理是每个项目几乎都会遇到的“基础设施”问题。无论是桌面应用、嵌入式系统还是后台服务,总需要一种简单、直观的方式来存储和读取程序设置。而INI文件&#xff0…

2026/10/12 19:35:50 阅读更多 →
Unity新Input System实现跨平台输入监听器架构

Unity新Input System实现跨平台输入监听器架构

1. 项目概述:从InControl到Unity新输入系统的跨越 如果你在Unity里做过跨平台游戏,尤其是涉及手柄、键盘、触屏多种输入方式时,大概率被Unity旧的 InputManager 折磨过。它那套基于字符串的输入映射,写起来繁琐,调试…

2026/10/10 2:11:53 阅读更多 →
C# WinForm自适应布局:告别硬编码,实现控件智能缩放

C# WinForm自适应布局:告别硬编码,实现控件智能缩放

1. 项目概述:告别硬编码,拥抱自适应做WinForm开发的朋友,尤其是从早期版本一路走过来的,肯定对界面适配这个“老大难”问题深有感触。辛辛苦苦在1920x1080的屏幕上把控件拖拽得整整齐齐,布局完美,一到客户那…

2026/9/19 20:00:09 阅读更多 →

最新新闻

高效离职面谈:四种实战方法搞定主动与被动离职

高效离职面谈:四种实战方法搞定主动与被动离职

离职面谈这事儿,说大不大,说小不小。很多业务负责人和刚入行的HR伙伴把它当成一个“过场”,员工提离职了,约个时间聊二十分钟,问问“为啥走啊”“下家去哪啊”,然后填张表就算交差了。但真正在组织里待久了…

2026/10/13 17:30:42 阅读更多 →
离职面谈怎么做?四类场景实操方法与避坑指南

离职面谈怎么做?四类场景实操方法与避坑指南

做离职面谈这些年,我最大的感触是:大多数HR和管理者根本不会谈。不是话术不行,而是脑子里只有一套模板——不管是核心骨干提离职,还是试用期员工说走就走,开口都是"为什么离职啊,有什么困难可以沟通嘛…

2026/10/13 17:30:42 阅读更多 →
ANSYS模态分析+对称边界:让汉字‘春节快乐’振动起来

ANSYS模态分析+对称边界:让汉字‘春节快乐’振动起来

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 17:30:42 阅读更多 →
FPGA图像缩放与移动实战:坐标变换、DDR3带宽与调试解析

FPGA图像缩放与移动实战:坐标变换、DDR3带宽与调试解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 17:30:42 阅读更多 →
前端面试刷题:把题库变成面试模拟器的正确方法

前端面试刷题:把题库变成面试模拟器的正确方法

简介:面向准备前端求职面试的开发者,资料包系统覆盖Html、Css、JavaScript、Vue、React、Node、TypeScript、Webpack、算法、网络与安全、浏览器等前端核心方向,既适合刚入门的新人建立知识框架,也适合有一定项目经验的开发者针对…

2026/10/13 17:30:42 阅读更多 →
PL/SQL智能补全插件实战:解决Oracle开发命名、跳转与上下文感知难题

PL/SQL智能补全插件实战:解决Oracle开发命名、跳转与上下文感知难题

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 17:29:40 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →