状态机在VHDL中的实现

本文介绍了VHDL中状态机的实现,包括Moore状态机和Mealy状态机的描述,并重点讲解了状态机的容错设计,如处理未定义状态的ERROR状态以及如何避免引入寄存器。
摘要由CSDN通过智能技术生成

状态机在VHDL中的实现

1、Moore状态机的VHDL描述
输出仅取决于所处的状态
在这里插入图片描述

LIBRARY IEEE;    --库、程序包的说明调用
USE IEEE.STD_LOGIC_1164.ALL;

ENTITY Moore IS 
PORT
(
	RESET,CLOCK,DIN : IN STD_LOGIC;
	DOUT : OUT STD_LOGIC_VECTOR(2 DOWNTO 0)
);
END;

ARCHITECTURE Mooremachine OF Moore IS 
TYPE State_type IS (S0,S1,S2,S3);--定义State_type为枚举型数据类型
SIGNAL State : State_type;
BEGIN
Change_State : PROCESS(RESET,CLOCK)  --时序逻辑进程
BEGIN
	IF RESET = '1' EHRN
		State <= S0;
	ELSEIF RISING_EDGE(CLOCK)THEN
		CASE State IS 
			WHEN S0 => IF DIN='1' THEN State<=S1;END IF;
			WHEN S1 => IF DIN='1' THEN S
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

傻童:CPU

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值