11.22数电第四次报告

《数字逻辑》实验报告

姓名

贾轲

年级

22

学号

20220669

专业、班级

计算机科学与技术计卓01

实验名称

实验十五 摩尔状态机序列检测器&实验十六 米利状态机序列检测器

实验时间

 2023.11.23

实验地点

DS1410

实验成绩

 实验性质

验证性  设计性  综合性

教师评价:

□算法/实验过程正确; □源程序/实验内容提交  □程序结构/实验步骤合理;

□实验结果正确;      □语法、语义正确;     □报告规范;           

评语:                          

                             评价教师签名(电子签名):

一、实验目的

实验十五 摩尔状态机序列检测器(*****)

  1. 设计“1101”序列检测的状态转换图;
  2. 设计一个 8 位并转串输出模块 par2ser。该器件有 8 位输入 d[7:0],1 位输出 q,另有一个 clk 端,一个 set 端。set端上升沿将 8位输入锁存到逻辑右移移位寄存器中。
  3. 调用并转串输出模块,使用Verilog HDL语言的行为描述方式实现一个摩尔状态机,能检测一个8位的二进制数据中是否存在“1101”序列,如果检测到该序列则指定的LED灯亮;
  4. 综合、实现、生成bit流,下载到Nexys4开发板进行验证;

实验十六 米里状态机序列检测器(*****)

设计实现一个米里状态机,能检测一个8位的二进制数据中是否存在“1011”序列。

二、实验项目内容

  1. 设计“1101”序列检测的状态转换图;
  2. 设计一个 8 位并转串输出模块 par2ser。该器件有 8 位输入 d[7:0],1 位输出 q,另有一个 clk 端,一个 set 端。set端上升沿将 8位输入锁存到逻辑右移移位寄存器中。
  3. 调用并转串输出模块,使用Verilog HDL语言的行为描述方式实现一个摩尔状态机,能检测一个8位的二进制数据中是否存在“1101”序列,如果检测到该序列则指定的LED灯亮;
  4. 综合、实现、生成bit流,下载到Nexys4开发板进行验证;

三、实验设计

如图为moore与mealy状态机的状态转移图

四、实验过程或算法(关键步骤、核心代码注解等)

文件结构

顶层文件串联起对应的模块,消抖模块用于消除按键抖动,转换模块用于并转串,将8位的二进制信号转化为一位一位的信号,状态机模块负责状态转移与输出结果。

顶层文件:

Mealy:

Moore:

用key模拟时间步

按键消抖模块:

思路为设置多个信号记录按键的输入信号,如果在一定的时间内,检测到信号都相同,那么就可以认为按键在这一段时间内保持稳定,也就是稳定,认为可以使用此时记录的信号

信号声明:clk为系统时钟,rst为复位信号,key与debkey分别代表实际按键输入的信号以及最后输出的认为是按键稳定后的信号

此部分负责分频,产生一些短暂的延迟,在这些延迟后进行取样。

此部分设置三个寄存器,用来连续记录,目的就是实现检测输入的值是否稳定

最后输出就是,如果三个寄存器寄存的值都相同,那么就可以认为按键已经稳定

串并转换模块:

信号声明:

Clk为时钟信号,rst为复位信号,en为使能信号,datain为输入的8位信号,dataout显示此时转化出的位上的数是否为1,dout显示这8位信号里是否有1101;data为移位寄存器,当clk循环一次时,寄存器循环右移一位;cnt用于计数,记录当前进行到了8位里的第几位。

每次输出移位寄存器里的最高位为当前的并转串结果

此部分调用状态机模块,用于状态转换与生成最终输出,其传入的信号即此时并转串的结果,移位寄存器的最高位

状态机代码:

大体可分为现态次态转换,状态转移逻辑,输出逻辑等三部分

现态次态转换的逻辑固定,在每个时钟上升沿来临时执行;

状态转移逻辑、输出逻辑依据具体问题与状态机类型确定

Moore:

Moore状态机的输出仅取决于现态

Mealy:

Mealy状态机的输出由现态与输入信号共同决定

五、实验过程中遇到的问题及解决情况(主要问题及解决情况)

如何完成状态机代码设计?

解决情况:完全解决。

Moore状态机与mealy状态机区别是什么?在解决这一问题上有什么不一样的地方?

解决情况:完全解决。

六、实验结果及分析和(或)源程序调试过程

最终实现效果为,

R2为复位开关,T1为使能开关,V2~V17从左至右为输出的8位信号的低位到高位,T17为模拟时钟信号,按一次表示一个时间步;V14为当前并转串结果,U16显示当前是否检测到目标序列(1101)

就MOORE与MEALY的不同点,MOORE状态机的输出要在下个时间步里才会输出,例如序列1101000,U16并非在第四个时间步里亮,而是在第五个时间步里亮,这是因为MOORE机的输出仅取决于现态;与之相比,由于MEALY机输出取决于输入与现态,所以可以在当下的时间步里输出结果,即上例中的U16会在第四个时间步里亮。

七、小组分工情况说明

本实验由贾轲20220669完成

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

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

相关文章

Android中根据字符串动态获取资源文件ID

有时候想在代码运行的时候根据资源名称去获取id从而使用调用资源文件。 Resource中的getIdentifier()可以解决这个问题 public int getIdentifier(String name, String defType, String defPackage) {return mResourcesImpl.getIdentifier(name, defType, defPackage);} 使用…

SIFT尺度不变特征变换

SIFT(Scale-Invariant Feature Transform)是一种用于图像处理和计算机视觉中的特征提取和匹配的算法。它的主要优点是对图像的尺度、旋转和亮度变化具有较强的鲁棒性。 基本原理: Scale-space peak selection: Potential location for finding features.Keypoint Localizat…

JMeter之压力测试——混合场景并发

在实际的压力测试场景中,有时会遇到多个场景混合并发的情况,这时就需要设置不同的并发比例对不同场景请求数量的控制,下面提供两种方案。 一、多线程组方案 1.业务场景设计如下:场景A、场景B、场景C,三个场景按照并发…

HNU 练习八 结构体编程题1. 评委打分

【问题描述】 校园卡拉OK比赛设置了7名评委,当一名选手K完歌之后,主持人报出歌手名字后,7位评委同时亮分,按照惯例,去掉一个最高分和一个最低分后,其余5位评委评分总和为该选手的最终得分。 一共有n组选手参…

Hands-on Machine Learning with Scikit-Learn,Keras TensorFlow

读书记录(缓慢更新) 目录 Part 1. The Fundamentals of Machine Learning The Content of The Machine Learning Landscape The Machine Learning Landscape Part 1. The Fundamentals of Machine Learning The Content of The Machine Learning Landscape Part 1. The F…

MFC设置状态栏文本导致崩溃的原因

文章目录 问题和原因解决办法1.消息机制2.定时器问题和原因 本人在类A使用多线程执行操作并且调用了类B的设置状态栏文本的函数,导致崩溃 类A void A::distribute_n_start_msg(){((B*)m_parent)->received_msg_n_start()<

递归实现冒泡排序.

思路: //1.从数组的第一个元素开始,比较相邻两个元素的大小 //2.如果当前元素大于或小于后面的元素,则交换位置 //3.继续比较,直到数组的最后一个元素 //4.再进行多次遍历数组,直到数组完成排序 示例: 6 9 1 3 4 8 第一轮排序 6 1 9 3 4 8 6 1 3 9 4 8 6 1 3 4 9 8 6 1 3…

商用车量产智能驾驶路径思考

1、商用车量产智能驾驶特点 2、量产自动驾驶路径 3、商用车ADAS法规件 4、高等级自动驾驶

oracle impdp 导入元数据表空间异常增大的解决办法

expdp导出的时候指定了contentsmetadata_only只导出元数据&#xff0c;但是在impdp导入到新库的时候&#xff0c;发现新库的表空间增长非常大&#xff0c;其实这个直接就可以想到&#xff0c;应该是大表的initial segment过大导致的 正常impdp&#xff0c;在执行创建表和索引的…

c/c++ 字符 - ‘0‘ 或者 + ‘0‘ 的含义

总的就是说&#xff0c;int0char;char-0int &#xff0c;但是我们在做题时&#xff0c;这两个式子对数字才有意义&#xff0c;比如 char x50;int y5-0. 而我们平常对字符操作&#xff0c;比如大写字符转小写&#xff08;char cA->a&#xff09;,只需要cc-Aa&#xff0c;等…

Java LinkedHashMap

LinkedHashMap 继承于 HashMap。在 HashMap 基础上, 维护了一条双向链表, 用来记录存入 Map 中的数据的顺序, 即存储到 Map 中的 key-value 是有序的。 解决了 HashMap 无法顺序访问的和保持插入顺序的问题。 1 LinkedHashMap 的结构定义 LinkedHashMap 是基于 HashMap 的实现…

springboot3.2 整合 mybatis-plus

springboot3.2 整合 mybatis-plus springboot3.2 正式发布了 迫不及待地的感受了一下 结果在整个mybatis-plus 的时候遇到了如下报错 java.lang.IllegalArgumentException: Invalid value type for attribute factoryBeanObjectType: java.lang.String. ____ _ …

华为拆分零部件业务,长安入股,赛力斯接洽中

作者 |德新 编辑 |王博 11月26日&#xff0c;长安汽车官宣与华为在智能汽车零部件业务上的投资与合作&#xff1a; 华为拟成立一家新的公司&#xff0c;并将其在智能汽车解决方案业务上的核心技术和资源注入新公司&#xff0c;长安汽车及关联方有意投资该新公司。 参照目前长…

每日一题--寻找重复数

蝶恋花-王国维 阅尽天涯离别苦&#xff0c; 不道归来&#xff0c;零落花如许。 花底相看无一语&#xff0c;绿窗春与天俱莫。 待把相思灯下诉&#xff0c; 一缕新欢&#xff0c;旧恨千千缕。 最是人间留不住&#xff0c;朱颜辞镜花辞树。 目录 题目描述&#xff1a; 思路分析…

【科技素养】蓝桥杯STEMA 科技素养组模拟练习试卷10

单选题 1、烤面包的架子上一次最多只能烤两个面包&#xff0c;烤一个面包每面需要2分钟&#xff0c;那么烤三个面包最少需要多少分钟 A、4 分钟 B、6 分钟 C、8 分钟 D、10 分钟 答案&#xff1a;B 2、甲和乙轮流向两个同样大小的瓶子中投入小球。两人每次都可以向任一瓶…

Codeforces Round 911 (Div. 2)DE「欧拉反演」「tarjan缩点+DAG上dp」

Problem - D - Codeforces 思路 只选两个小数计算贡献&#xff0c;可对序列排序&#xff0c;每对 ( i , j ) (i, j) (i,j) 其中 ( i < j ) (i<j) (i<j)的的贡献是 g c d ( i , j ) ⋅ ( n − j ) gcd(i, j) \cdot (n - j) gcd(i,j)⋅(n−j) 通过预处理因数欧拉反演可…

搭建Appium工具环境

1、安装Java Development Kit&#xff08;JDK&#xff09; 前往Oracle官网下载JDK。 在https://www.oracle.com/java/technologies/javase-jdk11-downloads.html 找到最新版本的JDK。根据操作系统选择适合的版本&#xff0c;并根据指示下载安装程序。 安装JDK。运行下载的安…

Unknown error 1054

MySQL错误1054是“Unknown column”的错误&#xff0c;意味着在查询或语句中引用了一个不存在的列名。这通常是因为在查询中指定了一个不存在的列名。 解决步骤&#xff1a; 检查列名的拼写&#xff1a;确保在查询或语句中正确地输入了列名。检查大小写&#xff0c;确保与数据…

动静分离+多实例实验(nginx+tomcat)

Nginx服务器&#xff1a;192.168.188.14:80 Tomcat服务器1&#xff1a;192.168.188.11:80 Tomcat服务器2&#xff1a;192.168.188.12:8080 192.168.188.12:8081 部署Nginx负载均衡器 关闭防火墙 systemctl stop firewalld setenforce 0 安装依赖 yum -y install pcre-dev…

Java 基础学习(二)运算符与分支流程控制

1 运算符 1.1 运算符概述 1.1.1 运算符概述 运算符是一种告诉计算机执行特定的数学或逻辑等操作的符号。Java运算符号包括&#xff1a;数学运算符、关系运算符、逻辑运算符、赋值运算符号、字符串连接运算符。计算机本质上只能处理数字&#xff0c;处理数字的最常见的方式就…