Verilog有限状态机(1)

HDLBits链接


前言

今天来到了重要的部分:状态机。对该部分内容,可能不会一次更新一个小节;一方面是题目难度,另一方面是代码量过大;所以该节会分批更新,大家见谅。


题库

题目描述1:

实现下图所示的摩尔状态机,复位为异步复位。

Solution1:

module top_module(input clk,input areset,    // Asynchronous reset to state Binput in,output out);//  parameter A=0, B=1; reg state, next_state;always @(*) begin    // This is a combinational always blockcase(state)A:beginif(in == 1'b1)beginnext_state <= A;endelse beginnext_state <= B;endendB:beginif(in == 1'b1)beginnext_state <= B;endelse beginnext_state <= A;endendendcaseendalways @(posedge clk, posedge areset) begin    // This is a sequential always blockif(areset)beginstate <= B;endelse beginstate <= next_state;endend// Output logicassign out = (state == B);endmodule

题目描述2:

实现下图所示的摩尔状态机,复位为同步复位。

Solution2:

module top_module(input clk,input reset,    // Asynchronous reset to state Binput in,output out);//  parameter A=0, B=1; reg state, next_state;always @(*) begin    // This is a combinational always blockcase(state)A:beginif(in == 1'b1)beginnext_state <= A;endelse beginnext_state <= B;endendB:beginif(in == 1'b1)beginnext_state <= B;endelse beginnext_state <= A;endendendcaseendalways @(posedge clk) begin    // This is a sequential always blockif(reset)beginstate <= B;endelse beginstate <= next_state;endend// Output logicassign out = (state == B);endmodule

题目描述3:

2个输入1个输出,异步复位状态机,如下图所示。

Solution3:

module top_module(input clk,input areset,    // Asynchronous reset to OFFinput j,input k,output out); //  parameter OFF=0, ON=1; reg state, next_state;always @(*) begincase(state)OFF:beginif(j == 0)beginnext_state <= OFF;endelse beginnext_state <= ON;endendON:beginif(k == 0)beginnext_state <= ON;endelse beginnext_state <= OFF;endendendcaseendalways @(posedge clk, posedge areset) beginif(areset)beginstate <= OFF;endelse beginstate <= next_state;endend// Output logicassign out = (state == ON);endmodule

题目描述4:

2个输入1个输出,同步复位状态机,如下图所示。

Solution4:

module top_module(input clk,input reset,    // Synchronous reset to OFFinput j,input k,output out); //  parameter OFF=0, ON=1; reg state, next_state;always @(*) begincase(state)OFF:beginif(j == 0)beginnext_state <= OFF;endelse beginnext_state <= ON;endendON:beginif(k == 0)beginnext_state <= ON;endelse beginnext_state <= OFF;endendendcaseendalways @(posedge clk) beginif(reset)beginstate <= OFF;endelse beginstate <= next_state;endend// Output logicassign out = (state == ON);endmodule

题目描述5:

实现下面的摩尔状态机,下表是状态转移图,1输入1输出4状态。

Solution5:

module top_module(input in,input [1:0] state,output [1:0] next_state,output out); //parameter A=0, B=1, C=2, D=3;always @(*)begincase(state)A:beginif(in == 0)beginnext_state <= A;endelse beginnext_state <= B;endendB:beginif(in == 0)beginnext_state <= C;endelse beginnext_state <= B;endendC:beginif(in == 0)beginnext_state <= A;endelse beginnext_state <= D;endendD:beginif(in == 0)beginnext_state <= C;endelse beginnext_state <= B;endendendcaseendassign out = (state == D);endmodule

小结

今天先更新这五道题,主要是熟悉三段式状态机的编写。

若是代码有误请大家提醒我,我一定尽快改正。

HDLBits答案(14)_Verilog有限状态机(1)相关推荐

  1. HDLBits答案(18)_Verilog有限状态机(5)

    Verilog有限状态机(5) HDLBits链接 前言 今天继续更新状态机小节的习题. 题库 题目描述1: 第一道题目比较容易,题目中的in信号包含了一个起始位(0),8个数据位和一个停止位(1), ...

  2. HDLBits答案(21)_Verilog有限状态机(8)

    Verilog有限状态机(8) HDLBits链接 前言 今天继续更新状态机小节的习题. 题库 Q2a:FSM 正宗的FSM题,没啥说的,看图写代码. Solution: module top_mod ...

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

    Verilog有限状态机(7) HDLBits链接 前言 今天继续更新状态机小节的习题. 题库 Q3a:FSM 题目里说当s为0时,进入B状态,然后会检查w的值,如果在接下来的三个周期中w值恰好有两个 ...

  4. HDLBits答案(19)_Verilog有限状态机(6)

    Verilog有限状态机(6) HDLBits链接 前言 今天继续更新状态机小节的习题. 题库 Fsm hdlc 同步帧检测涉及对数据的连续位流进行解码,以寻找指示帧(数据包)开始和结束的位模式. 6 ...

  5. HDLBits答案(17)_Verilog有限状态机(4)

    Verilog有限状态机(4) HDLBits链接 前言 今天继续更新状态机小节的习题. 题库 题目描述1: One-hot FSM 独热编码,根据状态转移图输出下一状态与结果. Solution1: ...

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

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

  7. HDLBits答案(15)_Verilog有限状态机(2)

    Verilog有限状态机(2) HDLBits链接 前言 继续更新状态机小节的习题. 题库 题目描述6: Solution6: module top_module(input in,input [3: ...

  8. HDLBits答案(13)_Verilog移位寄存器附加题

    Verilog移位寄存器 HDLBits链接 前言 今天更新一节内容,该小节题目不多,共三道,但技巧性挺强. 题库 题目描述1:各单元的下一状态是此时当前单元相邻两位的异或. 在这个电路中,创建一个5 ...

  9. HDLBits答案(12)_Verilog移位寄存器

    Verilog移位寄存器 HDLBits链接 前言 今天更新一节寄存器相关内容,其中涉及CRC校验的内容是用线性反馈移位寄存器搭建而成的. 题库 题目描述1: 构建一个4bit的移位寄存器(右移),含 ...

最新文章

  1. Cinder AZ 与 Nova AZ 的同步问题
  2. IE浏览器跟火狐浏览器兼容写法3
  3. pwn入门-PLT表与GOT表、libc入门
  4. SpringBoot开发接口
  5. Java命令行界面(第18部分):JCLAP
  6. QQ邮箱怎么发送文件夹 怎样在QQ邮箱里发送压缩文件夹
  7. 轻知 | 为什么全球只有13组根域名服务器?
  8. JAVA语法基础→数据转换、表达式、选择结构
  9. pycharm 显示空格及tab
  10. mysql模式匹配详解_老生常谈MYSQL模式匹配 REGEXP和like的用法
  11. 随身助手271个可用api接口网站php源码(随身助手API)
  12. word插入分隔符的方法
  13. mysql语句解决查询乱码_mysql5.0用命令行查询正常,但用sql就乱码,已经加了useUnicode=truecharacterEncoding=GBK,该如何处理 _ 搞代码...
  14. 去掉WebView中的白色背景
  15. HAL库版STM32双轮自平衡车(五) ———— 调参
  16. 课时23 YUM软件管理
  17. 小米34寸2k显示器打开hdmi,同时开启144hdz和解决屏幕过白的问题
  18. 从哪里租vps远程桌面服务器,vps远程桌面服务器出租
  19. 研究生计算机论文怎么写,研究生计算机论文摘要怎么写 研究生计算机论文摘要范文参考...
  20. (秦路)七周成为数据分析师(第二周)—— 业务能力

热门文章

  1. SAP UI5 view.setModel will trigger binding creation
  2. How UI5 and FIORI deliver central Javacript library code MIME
  3. ES6 Fetch API和Cookie相关的知识点
  4. SAP ABAP实用技巧介绍系列之 How is configuration data loaded
  5. Java注解研究之@Required
  6. INTEROP tile cache
  7. SAP云平台 CloudFoundry环境下的space guid
  8. 我在SAP这么多年使用过的IDE
  9. 如何启用SAP C4C OData Event Notification
  10. 计算机网络总结各种协议首部的长度,计算机网络协议总结