HDLBits答案(14)_Verilog有限状态机(1)
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)相关推荐
- HDLBits答案(18)_Verilog有限状态机(5)
Verilog有限状态机(5) HDLBits链接 前言 今天继续更新状态机小节的习题. 题库 题目描述1: 第一道题目比较容易,题目中的in信号包含了一个起始位(0),8个数据位和一个停止位(1), ...
- HDLBits答案(21)_Verilog有限状态机(8)
Verilog有限状态机(8) HDLBits链接 前言 今天继续更新状态机小节的习题. 题库 Q2a:FSM 正宗的FSM题,没啥说的,看图写代码. Solution: module top_mod ...
- HDLBits答案(20)_Verilog有限状态机(7)
Verilog有限状态机(7) HDLBits链接 前言 今天继续更新状态机小节的习题. 题库 Q3a:FSM 题目里说当s为0时,进入B状态,然后会检查w的值,如果在接下来的三个周期中w值恰好有两个 ...
- HDLBits答案(19)_Verilog有限状态机(6)
Verilog有限状态机(6) HDLBits链接 前言 今天继续更新状态机小节的习题. 题库 Fsm hdlc 同步帧检测涉及对数据的连续位流进行解码,以寻找指示帧(数据包)开始和结束的位模式. 6 ...
- HDLBits答案(17)_Verilog有限状态机(4)
Verilog有限状态机(4) HDLBits链接 前言 今天继续更新状态机小节的习题. 题库 题目描述1: One-hot FSM 独热编码,根据状态转移图输出下一状态与结果. Solution1: ...
- HDLBits答案(16)_Verilog有限状态机(3)
Verilog有限状态机(3) HDLBits链接 前言 今天继续更新状态机小节的习题,本章主要编写Lemmings Game部分. 题库 题目描述10: Game Lemmings1:有个小人左右走 ...
- HDLBits答案(15)_Verilog有限状态机(2)
Verilog有限状态机(2) HDLBits链接 前言 继续更新状态机小节的习题. 题库 题目描述6: Solution6: module top_module(input in,input [3: ...
- HDLBits答案(13)_Verilog移位寄存器附加题
Verilog移位寄存器 HDLBits链接 前言 今天更新一节内容,该小节题目不多,共三道,但技巧性挺强. 题库 题目描述1:各单元的下一状态是此时当前单元相邻两位的异或. 在这个电路中,创建一个5 ...
- HDLBits答案(12)_Verilog移位寄存器
Verilog移位寄存器 HDLBits链接 前言 今天更新一节寄存器相关内容,其中涉及CRC校验的内容是用线性反馈移位寄存器搭建而成的. 题库 题目描述1: 构建一个4bit的移位寄存器(右移),含 ...
最新文章
- Cinder AZ 与 Nova AZ 的同步问题
- IE浏览器跟火狐浏览器兼容写法3
- pwn入门-PLT表与GOT表、libc入门
- SpringBoot开发接口
- Java命令行界面(第18部分):JCLAP
- QQ邮箱怎么发送文件夹 怎样在QQ邮箱里发送压缩文件夹
- 轻知 | 为什么全球只有13组根域名服务器?
- JAVA语法基础→数据转换、表达式、选择结构
- pycharm 显示空格及tab
- mysql模式匹配详解_老生常谈MYSQL模式匹配 REGEXP和like的用法
- 随身助手271个可用api接口网站php源码(随身助手API)
- word插入分隔符的方法
- mysql语句解决查询乱码_mysql5.0用命令行查询正常,但用sql就乱码,已经加了useUnicode=truecharacterEncoding=GBK,该如何处理 _ 搞代码...
- 去掉WebView中的白色背景
- HAL库版STM32双轮自平衡车(五) ———— 调参
- 课时23 YUM软件管理
- 小米34寸2k显示器打开hdmi,同时开启144hdz和解决屏幕过白的问题
- 从哪里租vps远程桌面服务器,vps远程桌面服务器出租
- 研究生计算机论文怎么写,研究生计算机论文摘要怎么写 研究生计算机论文摘要范文参考...
- (秦路)七周成为数据分析师(第二周)—— 业务能力
热门文章
- SAP UI5 view.setModel will trigger binding creation
- How UI5 and FIORI deliver central Javacript library code MIME
- ES6 Fetch API和Cookie相关的知识点
- SAP ABAP实用技巧介绍系列之 How is configuration data loaded
- Java注解研究之@Required
- INTEROP tile cache
- SAP云平台 CloudFoundry环境下的space guid
- 我在SAP这么多年使用过的IDE
- 如何启用SAP C4C OData Event Notification
- 计算机网络总结各种协议首部的长度,计算机网络协议总结