马上注册,看完整文章,学更多FPGA知识。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本项目介绍FSM(有限状态机)的功能。状态机同计数器一样,都是FPGA设计中最重要、最基础的组成部分。本帖子提供了几个功能的状态机供大家学习参考:
1.功能一: a.状态机有三个状态,IDLE,S1 和 S2; b. IDLE 状态,如果 en=1,则跳到 S1 状态,否则保持不变; c. S1 状态时,如果 en=1,则跳到 S2 状态,否则保持不变; d. S2 状态时,如果 en=1,则跳回到 IDLE 状态,否则保持不变。
2.功能二: a. 状态机有三个状态,IDLE,S1 和 S2; b. IDLE 状态,如果 en=1,则跳到 S1 状态,否则保持不变; c. S1 状态时,保持 5 个时钟周期后,跳到 S2 状态; d. S2 状态,保持 7 个时钟周期后,跳回到 IDLE 状态。
3.功能三: a.状态机有三个状态,IDLE,S1 和 S2; b. IDLE 状态,如果 en=1,则跳到 S1 状态,否则保持不变; c. S1 状态时,统计 en=1 的次数,如果达到 5 次,则跳到 S2 状态,否则保持不变; d. S2 状态,统计 en=1 的次数,如果达到 7 次,则跳回到 IDLE 状态,否则保持不变。
4.功能四: a. 状态机有三个状态,IDLE,S1 和 S2; b. IDLE 状态,如果检测到 en 的高电平脉冲,则跳到 S1 状态,否则保持不变; c. S1 状态时,统计 en 高电平脉冲的次数,如果达到 5 次,则跳到 S2 状态,否则保 持不变; d. S2 状态,统计 en 高电平脉冲的次数,如果达到 7 次,则跳回到 IDLE 状态,否则 保持不变。
参考工程代码见下面文档。其中: 功能一对应的参考代码为FMS.v; 功能二对应的参考代码为FMS_clk.v; 功能三对应的参考代码为FMS_en_count.v; 功能四对应的参考代码为FMS_en_posedge.v。
以下是本工程的相关文档 |