上篇博文讲了使用Moore状态机来设计一个序列检测器:序列检测器的Moore状态机实现

原理一致,这里只不过采用了Mealy状态机实现,快速给出:

状态转移图如下:被检测序列为1101,也就是说,如果出现1101序列,则输出为1,否则输出为0。

Verilog HDL代码为:

`timescale 1ns / 1ps
//
// Company:
// Engineer:
//
// Create Date: 2019/01/04 20:34:06
// Design Name:
// Module Name: seq_det_mealy
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//module seq_det_mealy(input clk,input reset,input din,output reg dout);localparam [1:0]s0 = 2'b00,s1 = 2'b01,s2 = 2'b10,s3 = 2'b11;reg [1:0] current_state,next_state;always @(posedge clk, posedge reset)beginif(reset)current_state <= s0;elsecurrent_state <= next_state;endalways @ *begincase(current_state)s0:if(din == 1'b1) next_state = s1;else next_state = s0;s1: if(din == 1'b1) next_state = s2;else next_state = s1;s2:if(din == 1'b0) next_state = s3;else next_state = s2;s3: next_state = s0;default: next_state = s0;endcaseendalways @ *beginif(reset) dout = 1'b0;else if( (current_state == s3)&&(din == 1'b1) ) dout = 1'b1;else dout = 1'b0;endendmodule

用上篇博文的测试代码:

`timescale 1ns / 1ps
//
// Company:
// Engineer:
//
// Create Date: 2019/01/04 15:24:59
// Design Name:
// Module Name: seq_det_moore_tb
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//module seq_det_mealy_tb;reg clk,reset;reg din;wire dout;reg [20:0] din_mid;integer i;// Note: CLK must be defined as a reg when using this methodparameter PERIOD = 10;always beginclk = 1'b0;#(PERIOD/2) clk = 1'b1;#(PERIOD/2);end  initial beginreset = 1'b1;din_mid = 21'b110111010110100101101;#  20reset = 1'b0;din = 1'b0;for(i = 0;i < 21;i = i + 1)begin#PERIODdin = din_mid[i];endendseq_det_mealy uu1(.clk(clk),.reset(reset),.din(din),.dout(dout));endmodule

行为仿真波形图:

这篇博文是在上篇博文的基础上改的,相对而言, 意义就没有那篇博文有意义!

【 FPGA 】序列检测器的Mealy状态机实现相关推荐

  1. 【 FPGA 】序列检测器的Moore状态机实现

    设计一个序列检测器,检测序列1101,检测到输出1,否则输出0. 用状态机来实现序列检测器是非常合适的,下面先给出状态转移图,之后用Moore状态机来实现这个序列检测器: (注:此处所画为无重叠检测, ...

  2. Moore状态机和Mealy状态机的区别

    直接给出结论: 根据状态机的输出是否与输入条件相关来区分Moore状态机和Mealy状态机. Moore状态机:输出仅仅与当前状态有关: 如下实例,如三段式写法来写的一个序列检测的状态机([ FPGA ...

  3. Verilog 实现111序列检测器——Moore和Mealy型状态机实现

    111序列检测器 有限状态机简介 电路结构 '111'序列检测器 Moore状态机 代码实现 Mealy状态机 代码实现 有关三段式和两段式的对比 有关可重叠和不可重叠序列的对比 有限状态机简介 电路 ...

  4. [FPGA入门笔记](九):序列检测实验,Moore和Mealy状态机对比

    简介 今天购买了AXLINX AX7020的开发板,从今天开始每一个例程都要做文档记录,为自己加油. 本实验,基于ALINX AX7020开发板,芯片为xc7z020clg400-2.开发板输入时钟为 ...

  5. IC/FPGA校招笔试题分析(四)再看Moore状态机实现序列检测器

    参加了几次笔试,发现序列检测器是常考的内容,而之前认为序列检测器真的很简单,但是这次X疆的笔试题做完之后,我怀疑自己了. 画状态转移图的时候,我开始犹豫了,我怕我会没考虑全,甚至有点晕. 人家又问: ...

  6. Verilog实现状态机与状态机经典示例——序列检测器、自动饮料售卖机

    原文链接:https://blog.csdn.net/qq_34070723/article/details/100737225 作者:King阿金 目录 1.状态机原理与三段式状态机 2.状态机示例 ...

  7. 实验十五 摩尔状态机序列检测器“1101”

    实验十五 摩尔状态机序列检测器 按键消抖模块debounce_button: 由于实际的拨码开关和按键开关都是机械式的设备,开关动作来回抖动多次后才能稳定下来,这个过程就会使得信号产生==抖动==.因 ...

  8. 序列检测器(moore、mealy、独热码三种写法)

    序列检测器:检测110101 目的:检测一个序列中是不是有序列110101 Moore型状态机实现 Moore型状态机:输出只由当前状态决定,即次态=f(现状,输入),输出=f(现状): 状态转移图: ...

  9. 重迭式三段式状态机序列检测器-检测10110110

    重迭式三段式状态机序列检测器-检测10110110 要求:序列检测器 clk input clock input rst_n input asynchronous reset, low active ...

最新文章

  1. Android Training - Volley(Lesson 0 - 序言)
  2. Tomcat介绍及性能优化
  3. RequestMapping || @RequestMapping 模糊匹配功能
  4. Android之SwipeRefreshLayout
  5. pacman 查询_掌握pacman包管理工具,玩转Arch Linux
  6. lua io.read()
  7. 再读《SAP德国造》
  8. 常见Web安全漏洞及测试方法(转载)
  9. 测试实践:华为测试流程总结
  10. Linux性能分析命令
  11. 499服务器响应,一边制造,一边讲解http状态码502|504|499|500
  12. FireFox必备插件(一)
  13. Samsung S4卡屏卡在开机画面的不拆机恢复照片一例
  14. iOS开发底层之KVO探索下 -18
  15. 新冠疫情防控背后有哪些鲜为人知的技术?
  16. 子域名查询 端口信息
  17. c# Winform 程序嵌入PPT
  18. Linux全盘按名搜索文件
  19. window下Java诊断工具arthas 实操心得
  20. MATLAB 数组合并

热门文章

  1. ASP.NET页面进行GZIP压缩优化的几款压缩模块的使用简介及应用测试!(附源码)
  2. 软件工程 之 动物世界
  3. 【译】详解Asp.net MVC DropDownLists
  4. php 自学 经验,学习PHP:PHP学习的几个问题经验总结
  5. vue 封装dialog_element-ui 封装dialog组件
  6. matlab 变参数 方程组,解带参数方程组 运行结果竟然自己带了新参数z
  7. mysql的windows安装步骤_window mysql安装详细步骤
  8. TEASOFT辅助服务程序UDPCopy 功能介绍
  9. ACS712模块 ACS712ELCTR-05A电流传感器模块
  10. 我们也铺好了新赛道啦!!!