Mealy状态机的一点理解

      在Mealy状态机中,输出是由输入和现态决定的。而状态机的次态是由输入的变化和现态决定的。这个特点决定了再verilog中实现的方式。建议简单的状态机就使用两段式always结构。

       一个always中进行状态的转换,一个always中进行输出状态的变化。

       刚刚已经说过,状态的变化是有输入时钟和输入信号的状态决定的。这里输入信号不属于敏感信号变量,因为状态的转换只是在输入时钟信号的边沿发生变化。但是在always内部中会使用输入信号的状态,依据输入信号的状态进行转换。

       状态机的输出是输入信号和现态决定的。此时输入信号和现态均属于这个always的敏感信号。因为这个时候输出并不是只有在输入时钟信号的边沿发生变化,而是随着现态和输入信号的变化而变化。

       在书写always结构的时候,理解这点还是很重要的。下面就看看具体的代码吧。

module mealy_state_machine(IN,CP,Y,CR);

input IN,CP,CR;

output Y;

reg [1:0]state;

parameter S0=2'b00,S1=2'b10,S2=2'b11;

reg Y;

always @(posedge CP or negedge CR)

begin

if(~CR)begin state<=0;end

else

begin

case(state)

S0:state<=S0;

S1:

begin

if(IN)state<=S2;

else state<=S0;

end

S2:begin

if(IN)state<=S2;

else state<=S0;

end

endcase

end

end

always @(state or IN)

begin

case(state)

S0:Y<=0;

S1:Y<=0;

S2:begin

if(IN)Y<=0;

else Y<=1;

end

endcase

end

endmodule

下面是状态转移图,状态转移图和预定的状态转移图是一样的。这也说明代码描述的功能没错。

      上面的状态转移图是对应 康华光电子技术基础 数字部分(第五版)中P267。但是后面P307中代码描述这个电路图好像有点问题。最后综合出来的状态机和要求的状态机不一样。但是我一直没看出错误来,所以还请大家多多指导。

 

转载于:https://www.cnblogs.com/farbeyond/p/5204573.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/289137.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎样连接mysql文件_如何连接MYSQL数据库?

假设您的mysql数据库资料如下&#xff1a;MYSQL数据库名: testMYSQL帐号&#xff1a;public_test1MYSQL密码&#xff1a;test2免费赠送三级域名&#xff1a;test.u8.1358.netMYSQL数据库的管理:请您首先下载PhpMyAdmin软件&#xff0c;将此文件包解压&#xff0c;找到其中的一个…

得到时间字符串|程序当前的目录

CTime time CTime::GetCurrentTime();CString name_t time.Format("%Y%m%d%H%M%S"); //获得应用程序路径和资源文件路径GetModuleFileName(NULL, FilePath, MAX_PATH);(_tcsrchr(FilePath, _T(\\)))[0] 0; 转载于:https://www.cnblogs.com/mycway/p/4439619.html

js运行机制

说到js的运行机制&#xff0c;那么就要先从几个名词开始&#xff0c;这是为了让更多的人能看懂。如下&#xff1a;进程和线程&#xff1a;进程&#xff1a;进程是正在运行的程序的实例。程序关于数据集合上的一次运行活动&#xff0c;是系统进行资源分配和调度的基本单位&#…

javafx 推箱子小游戏object类_突破LeetCode Hard模式之《推箱子》

导读&#xff1a;算法哥好久没分享有趣的算法题了&#xff0c;有点寂寞空虚冷&#xff0c;今天看到一道似曾相识的题目&#xff0c;而且难度是hard模式&#xff0c;勾起了算法哥的征服欲。特分享之&#xff01;题目描述「推箱子」是一款风靡全球的益智小游戏&#xff0c;玩家需…

利用Excel VBA实现批量数据分组转置

问题:如上图所示,按lon,lat分组,再进行转置。 VBA代码: Sub admin()Dim conn, xRs, xFdSet conn = CreateObject("ADODB.Connection")conn.Open "Provider=Microsoft.Jet.Oledb.4.0;" & _"Extended Properties= Excel 8.0;hdr=yes;IMEX=1 …

Git之Stash(储藏)备份当前的工作区的内容

1 今天遇到的问题 我Git关联的项目,本地做了修改,然后我需要git pull拉别人的代码或者我需要修改其它的bug,本地做了修改我又不想合并,这个时候就可以使用git stash git stash:备份当前的工作区的内容,将当前的工作区内容保存到Git栈中 git stash list:显示Git栈内的所有备份…

Comparison of video container formats

Comparison of video container formats MOV跟MP4具体区别在哪里&#xff1f;转载于:https://www.cnblogs.com/jingzhishen/p/5205235.html

.NET 7 Preview 3添加了这些增强功能

.NET 7 Preview 3 已发布&#xff0c; .NET 7 的第三个预览版包括对可观察性、启动时间、代码生成、GC Region、Native AOT 编译等方面的增强。有兴趣的用户可以下载适用于 Windows、macOS 和 Linux 的 .NET 7 Preview 3。Microsoft 建议使用Visual Studio 17.2 Preview 3 的 预…

MySQL基本分区表

2019独角兽企业重金招聘Python工程师标准>>> 准备工作 1、查看数据库的信息 了解当前的Mysql数据库的版本和平台以及字符集等相关信息 mysql> status -------------- mysql Ver 14.14 Distrib 5.6.17, for Win64 (x86_64)Connection id: 4 Current dat…

mysql分页存储过程 分页查询语句_分页存储过程(用存储过程实现数据库的分页代码)...

用存储过程实现数据库的分页代码,加快页面执行速度。具体的大家可以测试下。--*******************************************************--* 分页存储过程 *--* 撒哈拉大森林 *--* 2010-6-28 *--*******************************************************if exists(select * f…

分段线性拟合经典案例:计算多年气温最低值和最高值的分段线性变化趋势(附分段线性拟合工具下载)

分段线性回归:是用虚拟变量估计不同数量水平的解释变量对被解释变量的影响。在经济关系中,当解释变量X的值达到某一水平X′之前,与被解释变量之间存在某种线性关系;当解释变量X的值达到或者超过X′以后,与被解释变量的关系就会发生变化。此时,如果已知X的转折点X′,我们…

Git之删除文件

1 问题 git关联删除文件 2 git 删除命令 git rm file 3 svn 删除命令 svn delete file

谷歌不支持调用摄像头麦克风_谷歌发布安卓11系统:全新界面、更严的隐私管理...

来源&#xff1a;快科技在发布三个beta版之后&#xff0c;谷歌刚刚发布了安卓11(Android 11)正式版&#xff0c;主要加强了聊天气泡、安全隐私、电源菜单&#xff0c;以及对各种新屏幕&#xff0c;如瀑布屏、折叠屏、双屏的支持。最近几个版本的安卓系统其实变化都不是很大&…

POJ2676,HDU4069解决数独的两种实现:DFS、DLX

搜索实现&#xff1a;解决数独有两种思考策略&#xff0c;一种是枚举当前格能填的数字的种数&#xff0c;这里有一优化策略就是先搜索能填入种数小的格子&#xff1b;另一种是考虑处理某一行&#xff08;列、宫&#xff09;时&#xff0c;对于某一个没用过的数字&#xff0c;若…

工业互联网上市公司.NET开发岗位来袭!!!

01公司简介2022 ABOUT /公司简介安徽容知日新科技股份有限公司&#xff08;股票代码&#xff1a;688768&#xff09;于2007年在合肥市成立&#xff0c;是一家工业互联网领域的高新技术企业&#xff0c;为客户提供设备智能运维平台解决方案和动设备预测性维护产品及服务。容知日…

mysql数据库密码为空_注意MySQL数据库用户root密码为空

注意MySQL数据库用户root密码为空文章作者&#xff1a;网友投稿 发布时间&#xff1a;2008-08-14 19:11:51 来源&#xff1a;网络看到这大家肯定知道了&#xff0c;就是利用mysql输出一个可执行的文件而已。为什么不用bat呢&#xff0c;因为启动运行时会有明显的dos窗口出来&…

【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记24 popovers弹窗

上几话中我们详细了解了几种segue&#xff0c;我们也了解到了多MVC模式的几种控制器&#xff0c;比如导航、选项卡和分栏&#xff0c;除了这三种多MVC的模式之外&#xff0c;还有一种popover&#xff0c;它跟其他三种不太一样。首先先来认识一下popover&#xff08;弹窗&#x…

shell 脚本加密

想想好久没更新博客了&#xff0c;今天在群里看到讨论关于shell脚本加密的事情。想想也是&#xff0c;我们在写脚本有时候会配置相关账号和密码的事情&#xff0c;这样只要能权限都能看到该信息&#xff0c;非常的不安全&#xff0c;有没有在正常运行的情况下对文件进行加密。大…

React Native之didFocus和didBlur

1 didFocus和didBlur解释 didFocus - the screen focused (if there was a transition, the transition completed)didBlur - the screen unfocused (if there was a transition, the transition completed) didFocus是指当前页面第一次加载的时候会调用一次 didBlur是指当前…