旅鼠除了走路和跌倒,有时还可以被告知做一些有用的事情,比如挖掘(当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,before_state;always@(*)begincase(state)0:beginwalk_left = 1;walk_right = 0;aaah = 0;digging = 0;if(!ground)beginnext_state = 3; before_state = state;endelse beginif(dig)beginnext_state = 2;before_state = state;endelse beginbefore_state = 0;if(bump_left)beginnext_state = 1; endelse beginnext_state = 0; endendendend1:beginwalk_left = 0;walk_right = 1;aaah = 0;digging = 0;if(!ground)beginnext_state = 3; before_state = state;endelse beginif(dig)beginnext_state = 2;before_state = state;endelse beginbefore_state = 0;if(bump_right)beginnext_state = 0; endelse beginnext_state = 1; endendendend2:beginwalk_left = 0;walk_right = 0;aaah = 0;digging = 1;if(!ground)beginnext_state = 3; endelse beginnext_state = 2; endend3: beginwalk_left = 0;walk_right = 0;aaah = 1;digging = 0;if(ground)beginnext_state = before_state; endelse beginnext_state = 3;endendendcaseendalways@(posedge clk or posedge areset)beginif(areset)beginstate<=0; endelse beginstate<=next_state;endend
endmodule

关键点:

组合逻辑中有if就要有对应else,关于组合逻辑中的赋值也是同样的,在if中赋值就要在else中也赋值,否则可能会因为未赋值而出现随机值,导致结果出现不符合逻辑的错误

故之前的疑问,关于sel?同样不能只写一半,因为也是组合逻辑

HDLBits—Lemmings3相关推荐

  1. HDLBits Lemmings3

    题目: In addition to walking and falling, Lemmings can sometimes be told to do useful things, like dig ...

  2. HDLBITS笔记34:Lemmings1、Lemmings2、Lemmings3、Lemmings4

    目录 题目1:Lemmings1 题目2:Lemmings2 题目3:Lemmings3 题目4: Lemmings4 题目1:Lemmings1 游戏Lemmings涉及具有相当简单大脑的小动物.如 ...

  3. HDLBits答案(16)_Verilog有限状态机(3)

    Verilog有限状态机(3) HDLBits链接 前言 今天继续更新状态机小节的习题,本章主要编写Lemmings Game部分. 题库 题目描述10: Game Lemmings1:有个小人左右走 ...

  4. HDLBits学习------Problem 127~130

    参考链接:HDLBits导学 Problem 127 Lemmings1         问题:游戏旅鼠涉及到有非常简单的大脑的生物,我们将会使用有限状态机(FSM)对其建模. 在旅鼠的2D世界中,旅 ...

  5. 【verilog学习23】HDLBits:Circuits_Sequential Logic_Finite State Machines

    [HDLBits]Circuits_Sequential Logic_Finite State Machines I FSM 1 (asynchronous reset) (Fsm1) 1.代码编写 ...

  6. verilog练习:hdlbits网站上的做题笔记(6)

    前言 之前的文章<如何学习verilog,如何快速入门?>中提到了verilog学习,推荐了一个可以练习的网站:hdlbits网站,那自己也玩玩这个网站. 这篇文章,是接着<veri ...

  7. HDLBits Lemmings1-4

    HDLBits Lemmings1-4 Lemming1 网址:https://hdlbits.01xz.net/wiki/Lemmings1 The game Lemmings involves c ...

  8. 【HDLBits 刷题 10】Circuits(6)Finite State Manchines 10-17

    目录 写在前面 Finite State Manchines Lemmings1 Lemmings2 Lemmings3 Lemmings4 Fsm onehot Fsm ps2 Fsm ps2dat ...

  9. HDLBits 系列(0)专题目录

    本篇博文是近来总结HDLBits系列的目录,点击蓝色字体即可进入查看具体内容. HDLBits 系列(1)从HDLBits中获取灵感,整顿自己,稳步前行 HDLBits 系列(2)如何避免生成锁存器? ...

最新文章

  1. mysql种default约束的语句_sql语句大全之SQL DEFAULT 约束
  2. Python语言pip升级python-augeas失败之解决办法
  3. vb计算机水平考试笔试,2007年4月全国计算机等级考试二级VB笔试试卷及参考答案...
  4. linux安装多版本php_Linux系统下为Nginx安装多版本PHP
  5. mysql注入攻击实_三十三、MySQL基础系列笔记之MySQL安全问题与SQL注入攻击
  6. 需求与业务的区别、需求设计与业务设计的区别
  7. 通过Etcd+Confd自动管理Haproxy(多站点)
  8. WebService入门案例
  9. 掌握 Microsoft Excel 宏和 Excel VBA
  10. SOP封装的后缀字母L M N都代表什么意思?
  11. 各大IT公司往届校招笔试面试题汇总
  12. HUSTOJ搭建后为了方便作为Judger调用进行的一些修改操作
  13. Mac启动台显示白色问号图标
  14. FaceNet2ExpNet: Regularizing a Deep Face Recognition Net for Expression Recognition论文个人解读
  15. XP系统的倔强——python3.4+PyCharm+numpy、networkx等的安装
  16. CTeX:中英文混排无法正常换行+字体调整+行距调整
  17. java架构师主要负责什么_Java架构师主要学什么 Java架构师工资多少
  18. 服务器2012系统用什么更新驱动程序,服务堆栈更新程序适用于 Windows 8 和 Windows Server 2012...
  19. c语言符号运算优先级6,c语言运算符号的优先级
  20. 怎样提高医学论文的级别?

热门文章

  1. 广州车展直击:现代汽车携豪华阵容共建未来汽车生态圈
  2. python从业人员工资_会Python的人,毕业后工资到底有多高?
  3. charles安装证书并信任证书,仍然无法获取手机上的请求
  4. 360 || 2021校园招聘的一道笔试题思路分享
  5. 读《筚路蓝缕——世纪工程决策建设记述》II
  6. 怀念吗?那年下课回宿舍的日子
  7. Android 绘制渐变色
  8. 计算机网络/谢希仁(第八版)第三章习题
  9. J - Virus UVA - 12511——最长上升递增子序列
  10. webrtc streamer前端页面js播放摄像头rtsp流