HDLBits网址:https://hdlbits.01xz.net/wiki/Main_Page

题目

实现一个Mealy型有限状态机,该机可以识别输入信号x上的序列“ 101”。FSM应该有一个输出信号z,当检测到“ 101”序列时,该信号将置为逻辑1,还应该具有低电平有效的异步复位。状态机中可能只有3个状态,因为FSM应该识别重叠的序列。

Module Declaration

module top_module (
   input clk,
   input aresetn,    // Asynchronous active-low reset
   input x,
   output z );

我的设计

上一篇(三十一)文章介绍的是序列检测Moore FSM,本文介绍一下关于序列检测的Mealy FSM。关于一串数字的序列题目有很多,而且也大同小异,做法与本文类似。本题的序列比较短,因此状态机也比较简单,但是需要注意的是要识别重叠的序列,代码如下:

module top_module (    input clk,    input aresetn,    // Asynchronous active-low reset    input x,    output z );         localparam S0 = 0, S1 = 1, S2 = 2;    reg [1:0] state, next_state;    always@(*) begin        case(state)            S0: begin                if(x) next_state = S1;                else next_state = S0;            end            S1: begin                if(~x) next_state = S2;                else next_state = S1;            end            S2: begin                if(x) next_state = S1;                else next_state = S0;            end            default: begin                next_state = S0;            end        endcase    end        always@(posedge clk or negedge aresetn) begin        if(~aresetn) state <= S0;        else state <= next_state;    end        assign z = (state == S2 && x == 1) ? 1 : 0;     endmodule

结果正确!

状态机fsm_Verilog专题(三十二)101 Sequence Recognition Mealy FSM(101序列识别状态机)...相关推荐

  1. 【正点原子Linux连载】第三十二章 U-Boot启动流程详解 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

  2. 【正点原子FPGA连载】 第三十二章基于lwip的TCP服务器性能测试实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南

    第三十二章基于lwip的TCP服务器性能测试实验 上一章的lwip Echo Server实验让我们对lwip有一个基本的了解,而Echo Server是基于TCP协议的.TCP协议是为了在不可靠的互 ...

  3. python建站部署_SpringBoot入门建站全系列(三十二)接入xxl-job分布式任务调度平台...

    SpringBoot入门建站全系列(三十二)接入xxl-job分布式任务调度平台 一.概述 XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速.学习简单.轻量级.易扩展.现已开放源 ...

  4. 第三十二章 XML基础知识概念

    文章目录 第三十二章 XML基础知识概念 attribute CDATA区域 comment content model default namespace DOM DTD(文档类型定义) eleme ...

  5. 程序员编程艺术第三十二~三十三章:最小操作数,木块砌墙问题

    第三十二~三十三章:最小操作数,木块砌墙问题 作者:July.caopengcs.红色标记.致谢:fuwutu.demo. 时间:二零一三年八月十二日 题记 再过一两月,便又到了每年的九月十月校招高峰 ...

  6. axi dma 寄存器配置_FPGA Xilinx Zynq 系列(三十二)AXI 接口

    大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分.大侠可以关注FPGA技术江湖,在"闯荡江湖"."行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢. ...

  7. ASP 三十二条精华代码

    整理收藏: ASP 三十二条精华代码 1. οncοntextmenu="window.event.returnvalue=false" 将彻底屏蔽鼠标右键 <table b ...

  8. tensorflow学习笔记(三十二):conv2d_transpose (解卷积)

    tensorflow学习笔记(三十二):conv2d_transpose ("解卷积") deconv解卷积,实际是叫做conv_transpose, conv_transpose ...

  9. OpenCV学习笔记(三十一)——让demo在他人电脑跑起来 OpenCV学习笔记(三十二)——制作静态库的demo,没有dll也能hold住 OpenCV学习笔记(三十三)——用haar特征训练自己

    OpenCV学习笔记(三十一)--让demo在他人电脑跑起来 这一节的内容感觉比较土鳖.这从来就是一个老生常谈的问题.学MFC的时候就知道这个事情了,那时候记得老师强调多次,如果写的demo想在人家那 ...

最新文章

  1. python和java和scala_有没有与python3相当的scala/java收藏。国家
  2. python的优点-python的功能与优缺点
  3. request对象中的get、post方法
  4. php使用strstr函数 ,判断字符串A中是否含有字符串B
  5. LeetCode 97交错字符串(动态规划)
  6. LeetCode-有效的字母异位词
  7. 生命周期共有那几个阶段_用产品生命周期 6 个阶段来思考
  8. leetcode 557. Reverse Words in a String III 、151. Reverse Words in a String
  9. 一个七年程序员的经验
  10. Oracle→简介、用户、数据字典、表空间及其文件
  11. 【转载】SQL 标量函数-----字符串函数 之二 去空格函数 LTRIM() 、RTRIM()
  12. 用photoshop制作草莓
  13. SCSI硬盘设备到/dev/sd设备的映射关系
  14. 死磕算法!35篇算法设计实例+6本必读书打包送你
  15. Linux(深度deepin)下安装jdk、tomcat、idea
  16. python中sub的用法_Python Pandas Series.sub()用法及代码示例
  17. 鹅厂、狗厂、猫厂、熊厂、鸟厂、粮厂
  18. 还不懂vue-cli构建SPA项目和SPA项目结构吗?赶紧看看这一篇
  19. 口令登陆创新的一些想法
  20. python小波包分解_小波包获得某个节点信号的几个细节问题

热门文章

  1. 华为云PB级数据库GaussDB(for Redis)揭秘第13期:如何搞定推荐系统存储难题
  2. 【华为云技术分享】云小课 | SAP HANA高可用之实战演练
  3. java实现空心四边形_Java输入数值形成对应的平行四边形,正三角形,棱形,空心棱形...
  4. 设计模式笔记十七:迭代器模式
  5. 关于Word2016敲入公式的新方法
  6. C++ STL容器vector篇(三) vector容器大小和数组大小, 插入和删除元素, 存储和读取元素
  7. 编译原理pl/0 c语言版 pl0.h文件
  8. VS恢复调试时出现的确认对话框
  9. android 6.0 点亮屏幕,android6.0 otg连接设备 点亮屏幕(案例)
  10. python加密字符串小写字母循环后错两位_python数据类型_字符串常用操作(详解)