verilog HDLBits刷题[Finite State Machines]“Lemmings4”---Lemmings4

发布时间:2026/7/29 23:49:53

verilog HDLBits刷题[Finite State Machines]“Lemmings4”---Lemmings4
1、题目See also: Lemmings1, Lemmings2, and Lemmings3.Although Lemmings can walk, fall, and dig, Lemmings arent invulnerable. If a Lemming falls for too long then hits the ground, it can splatter. In particular, if a Lemming falls for more than 20 clock cycles then hits the ground, it will splatter and cease walking, falling, or digging (all 4 outputs become 0), forever (Or until the FSM gets reset). There is no upper limit on how far a Lemming can fall before hitting the ground. Lemmings only splatter when hitting the ground; they do not splatter in mid-air.Extend your finite state machine to model this behaviour.Falling for 20 cycles is survivable:2、代码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 ); localparam LEFT 1, RIGHT 2, FALL_L 3, FALL_R 4, DIG_L 5, DIG_R 6, SPLAT 7; reg [2:0] state; reg [2:0] next_state; reg [6:0] cnt; // watch out this! always (posedge clk , posedge areset)begin if(areset) state LEFT; else state next_state; end always (posedge clk or posedge areset)begin if(areset) cnt 7d0; else if(state FALL_L || state FALL_R) cnt cnt 1b1; else cnt 7d0; end 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 ? (cnt 5d20 ? SPLAT : LEFT) : FALL_L; FALL_R : next_state ground ? (cnt 5d20 ? SPLAT : RIGHT) : FALL_R; DIG_L : next_state ~ground ? FALL_L : DIG_L; DIG_R : next_state ~ground ? FALL_R : DIG_R; SPLAT : next_state SPLAT; endcase assign walk_left (state LEFT); assign walk_right (state RIGHT); assign aaah (state FALL_L) || (state FALL_R); assign digging (state DIG_L) || (state DIG_R); endmodule3、结果

相关新闻

嵌入式开发笔记:电机参数辨识与自学习完全指南——从电气参数到机械特性的深度解析

嵌入式开发笔记:电机参数辨识与自学习完全指南——从电气参数到机械特性的深度解析

2026/7/29 23:49:53

嵌入式开发笔记:电机参数辨识与自学习完全指南——从电气参数到机械特性的深度解析 文章目录 嵌入式开发笔记:电机参数辨识与自学习完全指南——从电气参数到机械特性的深度解析1. 前言:为什么电机需要“认识自己”2. 参数辨识概述2.1 什么是…

一小时搞定文献综述!AI 论文写作工具横向打分,综合 TOP1 揭晓

一小时搞定文献综述!AI 论文写作工具横向打分,综合 TOP1 揭晓

2026/7/29 23:49:53

写过论文的人都懂,文献综述是最耗时耗力的 “硬骨头”:检索文献耗费半天、梳理研究脉络逻辑混乱、观点堆砌毫无批判性、引用格式错误百出,一篇合格综述往往要耗费 3-5 天。随着 AI 学术写作工具普及,1 小时高质量完成文献综述已经…

理工科需要公式推导科研绘图,哪款 AI 论文工具综合科研适配能力最强?

理工科需要公式推导科研绘图,哪款 AI 论文工具综合科研适配能力最强?

2026/7/29 23:49:53

理工科科研与论文写作,向来绕不开复杂公式推导、实验数据论证、代码嵌入、科研绘图、学术格式规范等硬核痛点。人工手动录入大量微分方程、矩阵运算、LaTeX 公式不仅耗时耗力,还极易出现排版错位、编号混乱、推导逻辑断层等问题;后续降重、AI…

JWT原理分析

JWT原理分析

2026/7/30 0:49:56

JWT 认证完整链路——从登录到退出的每一步,都有一个真实项目在跑 我做过一个政务系统的认证模块,Java 从零实现了一套 JWT 认证——双 Token、黑名单、Cookie 和 Header 双通道提取、用户信息缓存、权限鉴权。这篇文章拆开这个模块的完整源码&#xff0…

容量测试到底测什么——一次对话理清同时在线和并发请求

容量测试到底测什么——一次对话理清同时在线和并发请求

2026/7/30 0:49:56

容量测试到底测什么?一次对话理清"同时在线"和"并发请求" 和同事讨论容量测试,发现很多人把"同时在线"和"并发请求"搅在一起。这篇把这段对话记录下来,帮你看清容量的本质。 文章目录容量测试到底测…

大厂面试,自进化 agent 正在成为主流!

大厂面试,自进化 agent 正在成为主流!

2026/7/30 0:49:56

最近社区学员反馈一些Agent 面经时,发现自进化 agent正在成为主流!今天从一道字节算法二面的题开始,带你看懂大厂真正想要什么样的人才能力。 👔 面试官:“human feedback 是怎么被 agent 消化吸收的?” …

AI提示词黄金模板库(覆盖12大行业+8类任务):2024最新实战验证版,仅开放72小时

AI提示词黄金模板库(覆盖12大行业+8类任务):2024最新实战验证版,仅开放72小时

2026/7/30 0:49:56

更多请点击: https://codechina.net 第一章:AI提示词黄金模板库总览与核心设计哲学 AI提示词并非随意拼凑的语句,而是融合语言学、认知科学与工程实践的精密接口。黄金模板库的本质,是将人类意图结构化、可复用、可迭代的表达范式…

语音对话前端全链路:WebRTC 采集、流式 ASR 与 TTS 的工程落地

语音对话前端全链路:WebRTC 采集、流式 ASR 与 TTS 的工程落地

2026/7/30 0:49:56

语音对话前端全链路:WebRTC 采集、流式 ASR 与 TTS 的工程落地 一、边说边听的难题:语音 AI 助手的实时性与打断困境 去年我们给一个车载语音助手做前端,验收时产品提了一条:"用户说话中途改主意,要能立刻打断 AI…

初识Git:为什么AI时代的开发者需要版本控制

初识Git:为什么AI时代的开发者需要版本控制

2026/7/30 0:39:55

面向 AI 开发者的 Git 实操教程,技术布道式写作,11篇文章从入门到精通 系列目录 序号文章核心主题图解01初识Git版本控制概念、Repo/Commit/Branch/Merge01 手动备份对比02Git基本操作init/add/commit/log/switch,论文案例02 基本工作流03Gi…

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

2026/7/28 13:30:18

目标:电脑作为RTSP 服务端,循环推送 H264/H265 视频流; RDK X5 通过 rtsp2display 拉流预览,完全不需要在开发板编译 live555。 提供两套成熟方案: ✅ 方案 A:FFmpeg(最简单,优先推…

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

2026/7/28 16:04:36

一、背景与测试方案 在实际项目交付中,PDF文件合并与版权保护水印的叠加是一个高频但容易被低估的技术需求。典型的处理链路涉及:多源PDF的文件流合并、页面级水印渲染(含透明度混合与图层叠加)、输出文件体积控制。看似简单的操作…

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

2026/7/28 16:04:35

说实话,提到PDF拆分再压缩,我真是被折腾得够呛。 上个月公司年度合同归档,一份300多页的PDF总合同,需要按年份拆分成三个独立文件,再分别压缩到10MB以内方便邮件发送各部门确认。我心想这还不简单?先找个海…

粉笔直播课适合周末集中备考考生突破吗

粉笔直播课适合周末集中备考考生突破吗

2026/7/30 0:09:54

本文面向在职备考、工作日难以抽出整块时间、只能依靠周末集中复习的公考考生,围绕"该平台直播课是否适配周末集中备考节奏、能否支撑瓶颈突破"这一核心问题做客观拆解。文中数据来源于公开财报、官网公示价格、第三方投诉平台公开投诉及用户社区讨论&…

ThreadLocal(存取变量)实战获取当前登录的员工

ThreadLocal(存取变量)实战获取当前登录的员工

2026/7/30 0:09:54

注意AOP所应用的注解以及service方法上自定义的Log注解

INAV飞控配置终极指南:从零到稳定飞行的完整解决方案

INAV飞控配置终极指南:从零到稳定飞行的完整解决方案

2026/7/30 0:09:54

INAV飞控配置终极指南:从零到稳定飞行的完整解决方案 【免费下载链接】inav INAV: Navigation-enabled flight control software 项目地址: https://gitcode.com/gh_mirrors/in/inav INAV飞控配置是每个无人机爱好者必须掌握的核心技能,但很多新手…