博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDLBits 系列(33)Sequence Recognition with Mealy FSM
阅读量:2027 次
发布时间:2019-04-28

本文共 1466 字,大约阅读时间需要 4 分钟。

目录


原题复现

Implement a Mealy-type finite state machine that recognizes the sequence "101" on an input signal named x. Your FSM should have an output signal, z, that is asserted to logic-1 when the "101" sequence is detected. Your FSM should also have an active-low asynchronous reset. You may only have 3 states in your state machine. Your FSM should recognize overlapping sequences.

翻译一下:

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

状态转移图

这是一个最普遍的题目,要求用Mealy状态机来实现序列“101”重叠检测,我们可以先画出状态转移图:

自我为是天衣无缝了呀。给出我的设计:

我的设计

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

测试

测试一下:

 

成功!

 

转载地址:http://ndcaf.baihongyu.com/

你可能感兴趣的文章
am335x boot selction 启动方式配置
查看>>
慎重选择容器类型
查看>>
用OpenSSL编写SSL,TLS程序
查看>>
work log 8.6--- 8.24
查看>>
Essay Writing Help
查看>>
Writing a Cause and Effect Essay
查看>>
android 反编译 方法大全(classex.dex转java,odex转classex.dex,system.img解压等等)
查看>>
Android APK反编译详解(附图)
查看>>
自己整理的一些warning(编译器是mips-linux-gcc)(
查看>>
异常:android.os.NetworkOnMainThreadException
查看>>
android 监听网络连接状态的改变
查看>>
详解Android中AsyncTask的使用
查看>>
Java Socket实战之六 使用NIO包实现Socket通信
查看>>
Java网络编程四 非阻塞通信UDP
查看>>
关于bmp格式
查看>>
Ubuntu 配置 boa 服务器
查看>>
SDP协议分析
查看>>
linux下多线程的创建与等待详解
查看>>
用实例分析H264 RTP payload
查看>>
HI3515海思开发板移植3G模块笔记
查看>>