0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

有限状态机分割设计

冬至子 来源:新芯设计 作者:新芯设计 2023-10-09 10:47 次阅读
//有限状态机分割设计,其实质就是一个状态机分割成多个状态机,或者说多个
//状态机的协同设计来实现一个较为复杂的状态跳转设计,例如说玩游戏的一个
//状态跳转,玩家 A 操作的时候是一种状态,玩家 B 操作的时候又是另外的一
//种状态。
`timescale 1ns / 1ps


//
// Company: 
// Engineer: 
//
// Create Date: 2018/11/02 10:14:11
// Design Name: 
// Module Name: FSM_div
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//


module FSM_div(
clk, X, rst, Z,state1,state2
);
    input clk, X, rst;
    output Z;
    parameter S0 = 2'b00, S1= 2'b01,
    S2 = 2'b10,SA = 2'b11, S3 = 2'b00, S4 = 2'b01,
    S5 = 2'b10,SB = 2'b11;
    output reg [1:0] state1,state2;
    reg [1:0] next_state1,next_state2;


    always @( posedge clk )begin
        if(rst) begin
            state1 <= S0;state2<=SB;end
        else begin
            state1 <= next_state1;
            state2 <= next_state2;end
            end


        always @(state1 or X) begin
        case(state1)
        S0:begin if(X) next_state1<=S1;
                  else next_state1<=S0;end
        S1:begin if(X) next_state1<=S1;
                  else next_state1<=S2;end
        S2:begin if(X) next_state1<=S1;
                  else next_state1<=SA;end
        SA:begin if(X)
                    begin
                        if(state2==S4 || state2==S5)
                        next_state1<=S1;
                        else next_state1<=SA;
                    end
                 else if(state2==S3)
                 next_state1<=S0;
                 else next_state1<=SA;
                 end
         endcase
         end
     always @(state1 or state2 or X) begin 
            case(state2)
            S3:begin if(X) next_state2<=S4;
                      else next_state2<=SB;end
            S4:begin if(X) next_state2<=SB;
                      else next_state2<=S5;end
            S5:begin if(X) next_state2<=SB;
                      else next_state2<=S3;end
            SB:begin if(!X)
                        begin
                            if(state1==S2)
                            next_state2<=S3;
                            else next_state2<=SB;end
                            else next_state2<=SB;
                        end
             endcase
             end
        assign Z = (state2 == S5)?1:0;
endmodule
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 有限状态机
    +关注

    关注

    0

    文章

    51

    浏览量

    10270
  • 状态机
    +关注

    关注

    2

    文章

    486

    浏览量

    27182
  • fsm
    fsm
    +关注

    关注

    0

    文章

    35

    浏览量

    12719
  • CLK
    CLK
    +关注

    关注

    0

    文章

    122

    浏览量

    16912
收藏 人收藏

    评论

    相关推荐

    FPGA有限状态机

    FPGA有限状态机
    发表于 09-08 08:45

    有限状态机有什么类型?

    在实际的应用中,根据有限状态机是否使用输入信号,设计人员经常将其分为Moore型有限状态机和Mealy型有限状态机两种类型。
    发表于 04-06 09:00

    MOORE型有限状态机的几种设计方法是什么

    MOORE型有限状态机的几种设计方法是什么VHDL设计MOORE型有限状态机时速度问题是什么
    发表于 05-07 06:01

    什么是有限状态机

    在嵌入式,机器人领域,由于多的复杂逻辑状态,我们编写程序的时候不得不考虑很多种情况,容易造成功能间的冲突。有限状态机(finite-state machine),简称状态机,是一种表示有限
    发表于 12-20 06:51

    如何去实现有限状态机FSM的程序设计呢

    什么是有限状态机FSM呢?如何去实现有限状态机FSM的程序设计呢?
    发表于 01-21 07:04

    有限状态机_FSM_的实现

    本文主要介绍了IP模块的有限状态机的实现。
    发表于 03-22 15:42 0次下载

    有限状态机FSM在PLD中的实现分析

    本文通过举例 利用VHDL 语言描述了不同模式的有限状态机 分析了有限状态机在 PLD 中综合的特点 。
    发表于 03-22 15:41 3次下载

    有限状态机的建模与优化设计

    本文提出一种优秀 、高效的 Verilog HDL 描述方式来进行有限状态机设计 介绍了 有限状态机的建模原则 并通过一个可综合的实例 验证了 该方法设计的有限状态机在面积和功耗上的优势。
    发表于 03-22 15:19 1次下载

    VHDL有限状态机设计-ST

    EDA的有限状态机,广义而言是指只要涉及触发器的电路,无论电路大小都可以归结为状态机有限状态机设计在学习EDA时是很重要的一章。
    发表于 06-08 16:46 3次下载

    有限状态机在嵌入式软件中的应用

    有限状态机在嵌入式软件中的应用,感兴趣的小伙伴们可以看看。
    发表于 07-26 10:43 27次下载

    初学者对有限状态机(FSM)的设计的认识

    有限状态机(FSM)是一种常见的电路,由时序电路和组合电路组成。设计有限状态机的第一步是确定采用Moore状态机还是采用Mealy状态机
    发表于 02-11 13:51 3916次阅读
    初学者对<b class='flag-5'>有限状态机</b>(FSM)的设计的认识

    如何使用FPGA实现序列检测有限状态机

    有限状态机是绝大部分控制电路的核心结构, 是表示有限状态以及在这些状态之间转移和动作等行为的数学模型。有限状态机是指输出取决于过去输入部分
    发表于 11-04 17:17 12次下载
    如何使用FPGA实现序列检测<b class='flag-5'>有限状态机</b>

    基于事件驱动的有限状态机介绍

      一、介绍 EFSM(event finite state machine,事件驱动型有限状态机),是一个基于事件驱动的有限状态机,主要应用于嵌入式设备的软件系统中。 EFSM的设计原则是:简单
    的头像 发表于 11-16 15:29 2079次阅读

    基于事件驱动的有限状态机介绍

    EFSM(event finite state machine,事件驱动型有限状态机),是一个基于事件驱动的有限状态机,主要应用于嵌入式设备的软件系统中。
    的头像 发表于 02-11 10:17 753次阅读

    一个基于事件驱动的有限状态机

    EFSM(event finite state machine,事件驱动型有限状态机),是一个基于事件驱动的有限状态机,主要应用于嵌入式设备的软件系统中。 EFSM的设计原则是:简单!EFSM的使用者只需要关心:
    的头像 发表于 08-30 09:28 493次阅读
    一个基于事件驱动的<b class='flag-5'>有限状态机</b>