hdlbits
Lemmings1
旅鼠游戏有四个系列
系列1:

module top_module(
input clk,
input areset, // Freshly brainwashed Lemmings walk left.
input bump_left,
input bump_right,
output walk_left,
output walk_right); //

parameter LEFT=0, RIGHT=1;
reg state, next_state;
always @(*) begincase(state)LEFT: if((bump_left==1)&&(bump_right==0))next_state=RIGHT;else if((bump_right==1)&&(bump_left==0))next_state=LEFT;else if((bump_left==1)&&(bump_right==1))next_state=RIGHT;elsenext_state=LEFT;RIGHT: if((bump_left==1)&&(bump_right==0))next_state=RIGHT;else if((bump_right==1)&&(bump_left==0))next_state=LEFT;else if((bump_left==1)&&(bump_right==1))next_state=LEFT;elsenext_state=RIGHT;endcase// State transition logic
endalways @(posedge clk, posedge areset) beginif(areset)state<=LEFT;   elsestate<=next_state;// State flip-flops with asynchronous reset
end
assign walk_left=(state==LEFT)?1:0;
assign walk_right=(state==RIGHT)?1:0;
// Output logic
// assign walk_left = (state == ...);
// assign walk_right = (state == ...);

endmodule
系列2
在系列1的基础上增加了掉落的功能,所以在系列1的基础上增加两个状态,由于掉落之后,一旦出现地,要回到原来的方向,因此需要增加从左侧掉落和从右侧掉落,共四个状态

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 aaah );

  localparam left = 0;
localparam right = 1;
localparam fall_l = 2;
localparam fall_r = 3;reg[1:0] state, next_state;
reg[2:0] out;
always @(posedge clk or posedge areset)beginif(areset)    state<=left;elsestate<=next_state;end
always @(*)begincase(state)   left: next_state=ground?(bump_left?right:left):fall_l;right:next_state=ground?(bump_right?left:right):fall_r;fall_l:next_state=ground?left:fall_l;fall_r:next_state=ground?right:fall_r;endcaseend
always @(posedge clk or posedge areset)beginif(areset)out<=3'b100;elsecase(next_state)left: out<=3'b100;right: out<=3'b010;fall_l: out<=3'b001;fall_r: out<=3'b001;endcaseend
assign {walk_left,walk_right,aaah}=out;

endmodule

lemming games 1!! hdlbits相关推荐

  1. lemming games 3 ! hdlbits

    hdlbits lemmings 3 旅鼠游戏3在2的基础上添加了挖地功能,这道题的解题关键是搞明白掉落的优先级高于挖地的优先级高于转向的优先级. module top_module( input c ...

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

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

  3. HDLBits刷题全记录(五)

    文章目录 Finite State Machines Simple FSM 1_1(asynchronous reset) Simple FSM 1_2(synchronous reset) Simp ...

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

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

  5. HDLBits Lemmings1-4

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

  6. Unity 3D游戏代码编程学习教程 Full Guide To Unity 3D C#: Learn To Code Making 3D Games

    Unity 3D游戏代码编程学习教程 Full Guide To Unity 3D & C#: Learn To Code Making 3D Games Full Guide To Unit ...

  7. GDC2016 Epic Games【Bullet Train】 新风格的VR-FPS的制作方法

    追求"舒适"和"快感"的VR游戏设计方法 http://game.watch.impress.co.jp/docs/news/20160318_749016.h ...

  8. 游戏伤害计算机,电脑游戏的危害(The harm of PC games)

    电脑游戏的危害(The harm of PC games) 电脑游戏的危害 1 现在电脑游戏在校园很流行 2 电脑游戏的危害 3 怎样正确对待电脑网络游戏 Personal computer has ...

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

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

最新文章

  1. dhcp snooping+IPSG的一些理解
  2. java 大臣的旅费_PREV-9-蓝桥杯-历届试题-大臣的旅费-java
  3. 1、docker容器技术基础入门
  4. mysql 特殊函数_MySQL中sleep函数的特殊现象示例详解
  5. 通过Dapr实现一个简单的基于.net的微服务电商系统(五)——一步一步教你如何撸Dapr之状态管理...
  6. python mysql 连接6_寒假学习进度-6(Python连接MySQL数据库)
  7. asp.net 使用my97 datepicker实现前后两个日期的范围界定
  8. 系统性能分析从入门到进阶
  9. bob战队 rust_c、rust、golang、swift性能比较
  10. 营销和生意人的4项基本修炼
  11. 第007讲 地图映射,线包字
  12. 城市间紧急救援 (25 分)(Dijkstra)
  13. 【虚幻引擎UE】UE5 fbx文件导入gltf文件在线/本地导入和切换(含骨骼动画)
  14. 在线画图工具 免费
  15. arcgis 经纬度转大地坐标_ArcGIS的地理坐标系与大地坐标系
  16. Pycharm配置(1)——解释器(interpreter)
  17. js打怪升级之路三 点出满天小星星
  18. 异常你看这一篇就行了,全程白话很好理解(完结撒花)
  19. Java中变量与常量
  20. plc学习入门有什么技巧

热门文章

  1. 树莓派4B-安装中文输入法Fcitx及Google拼音输入法
  2. CenOs安装jdk
  3. java中break用法
  4. 【STA】(1)引言
  5. mac电脑如何打开chrome浏览器摄像头?
  6. Python30 网络编程通讯协议,1.学习网络编程的目的 2.什么是互联网 3.c/s结构 4.通讯基本要素 5.OSI模型...
  7. php骑手轨迹_轨迹分析,如何解决车辆定位与道路的偏差?|斑马数智技术内参...
  8. 东亚期货护航产业稳健发展
  9. 修改远程仓库地址,更换远程仓库https://www.cnblogs.com/tangshengwei/p/15843585.html
  10. “不差钱”的蔚来,为何着急回港上市?