【FPGA】Vivado状态机设计

本文介绍了在Vivado环境下,一段式、两段式和三段式状态机的设计,通过例程和仿真过程解析了Mealy型和Moore型状态机的工作原理。在仿真中,三种状态机均在不同条件下输出0101,强调了理解状态机设计在FPGA开发中的重要性。
摘要由CSDN通过智能技术生成

本文为 FPGA 学习总结,欢迎分享交流。

运行环境

  • windows10
  • Vivado 2018.3
  • Modelsim 10.7

状态机是数字逻辑系统的核心,是重要的时序电路。通常包括三个部分:一是下一个状态的逻辑 电路,二是存储状态机当前状态的时序逻辑电路,三是输出组合逻辑电路。状态机的结构如下图:

在这里插入图片描述

根据状态机的输出信号是否与电路的输入有关分为 Mealy 型状态机和 Moore 型状态机。电路的输出信号与电路当前状态和电路的输入有关,称为 Mealy 型状态机;电路的输出信号仅与电路当前状态有关,称为 Moore 型状态机。

一段式状态机

// detect1.v
module detect_1(
input clk_i,
input rst_n_i,
output out_o
 );
reg out_r;
//状态声明和状态编码
reg [1:0] state;
parameter [1:0] S0=2'b00;
parameter [1:0] S1=2'b01;
parameter [1:0] S2=2'b10;
parameter [1:0] S3=2'b11;
always@(posedge clk_i)
begin
	if(!rst_n_i)begin
		state<=0;
 		out_r<=1'b0;
 	end
	else
		case(state)
			S
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值