HDLBits—Lemmings3
旅鼠除了走路和跌倒,有时还可以被告知做一些有用的事情,比如挖掘(当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相关推荐
- HDLBits Lemmings3
题目: In addition to walking and falling, Lemmings can sometimes be told to do useful things, like dig ...
- HDLBITS笔记34:Lemmings1、Lemmings2、Lemmings3、Lemmings4
目录 题目1:Lemmings1 题目2:Lemmings2 题目3:Lemmings3 题目4: Lemmings4 题目1:Lemmings1 游戏Lemmings涉及具有相当简单大脑的小动物.如 ...
- HDLBits答案(16)_Verilog有限状态机(3)
Verilog有限状态机(3) HDLBits链接 前言 今天继续更新状态机小节的习题,本章主要编写Lemmings Game部分. 题库 题目描述10: Game Lemmings1:有个小人左右走 ...
- HDLBits学习------Problem 127~130
参考链接:HDLBits导学 Problem 127 Lemmings1 问题:游戏旅鼠涉及到有非常简单的大脑的生物,我们将会使用有限状态机(FSM)对其建模. 在旅鼠的2D世界中,旅 ...
- 【verilog学习23】HDLBits:Circuits_Sequential Logic_Finite State Machines
[HDLBits]Circuits_Sequential Logic_Finite State Machines I FSM 1 (asynchronous reset) (Fsm1) 1.代码编写 ...
- verilog练习:hdlbits网站上的做题笔记(6)
前言 之前的文章<如何学习verilog,如何快速入门?>中提到了verilog学习,推荐了一个可以练习的网站:hdlbits网站,那自己也玩玩这个网站. 这篇文章,是接着<veri ...
- HDLBits Lemmings1-4
HDLBits Lemmings1-4 Lemming1 网址:https://hdlbits.01xz.net/wiki/Lemmings1 The game Lemmings involves c ...
- 【HDLBits 刷题 10】Circuits(6)Finite State Manchines 10-17
目录 写在前面 Finite State Manchines Lemmings1 Lemmings2 Lemmings3 Lemmings4 Fsm onehot Fsm ps2 Fsm ps2dat ...
- HDLBits 系列(0)专题目录
本篇博文是近来总结HDLBits系列的目录,点击蓝色字体即可进入查看具体内容. HDLBits 系列(1)从HDLBits中获取灵感,整顿自己,稳步前行 HDLBits 系列(2)如何避免生成锁存器? ...
最新文章
- mysql种default约束的语句_sql语句大全之SQL DEFAULT 约束
- Python语言pip升级python-augeas失败之解决办法
- vb计算机水平考试笔试,2007年4月全国计算机等级考试二级VB笔试试卷及参考答案...
- linux安装多版本php_Linux系统下为Nginx安装多版本PHP
- mysql注入攻击实_三十三、MySQL基础系列笔记之MySQL安全问题与SQL注入攻击
- 需求与业务的区别、需求设计与业务设计的区别
- 通过Etcd+Confd自动管理Haproxy(多站点)
- WebService入门案例
- 掌握 Microsoft Excel 宏和 Excel VBA
- SOP封装的后缀字母L M N都代表什么意思?
- 各大IT公司往届校招笔试面试题汇总
- HUSTOJ搭建后为了方便作为Judger调用进行的一些修改操作
- Mac启动台显示白色问号图标
- FaceNet2ExpNet: Regularizing a Deep Face Recognition Net for Expression Recognition论文个人解读
- XP系统的倔强——python3.4+PyCharm+numpy、networkx等的安装
- CTeX:中英文混排无法正常换行+字体调整+行距调整
- java架构师主要负责什么_Java架构师主要学什么 Java架构师工资多少
- 服务器2012系统用什么更新驱动程序,服务堆栈更新程序适用于 Windows 8 和 Windows Server 2012...
- c语言符号运算优先级6,c语言运算符号的优先级
- 怎样提高医学论文的级别?