11.22数电第四次报告

news2024/11/24 2:37:42

《数字逻辑》实验报告

姓名

贾轲

年级

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.coloradmin.cn/o/1260924.html

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

相关文章

oracle查询开始时间和结束时间之间的连续月份

SELECT TO_CHAR(ADD_MONTHS(TO_DATE(2023-01,YYYY-MM), ROWNUM - 1), YYYY-MM) AS fmonth FROM DUALCONNECT BY ROWNUM < CEIL(MONTHS_BETWEEN(TO_DATE(2023-11, YYYY-MM), TO_DATE(2023-01,YYYY-MM))1)

入侵redis之准备---Centos7上面部署redis

入侵redis之准备—Centos7上面部署redis 编写这个部署redis&#xff0c;只是为了另一个文章入侵redis做准备&#xff0c;网上还有好多类似的文章&#xff0c;这个单纯的就是部署安装&#xff0c;并简单的测试使用以下 关联其他文章 [1]VMware上面安装部署centos7镜像系统【详细…

解决:ValueError: binary mode doesn‘t take an encoding argument

解决&#xff1a;ValueError: binary mode doesn’t take an encoding argument 文章目录 解决&#xff1a;ValueError: binary mode doesnt take an encoding argument背景报错问题报错翻译报错位置代码报错原因解决方法今天的分享就到此结束了 背景 在使用之前的代码时&#…

淼一科技为互联网企业销毁硬盘数据 拆除机房设备

在上海这座繁华的大都市&#xff0c;淼一科技以其专业的服务和卓越的技术&#xff0c;为众多互联网企业提供硬盘数据销毁和机房设备拆除服务。作为业界领先的数据安全解决方案提供商&#xff0c;淼一科技致力于保障客户数据的安全与隐私&#xff0c;为客户创造更高的商业价值。…

公网穿透和RTC

RTC RTC 是 Real-Time Communication 的简写&#xff0c;正如其中文名称 “即时通讯” 的意思一样&#xff0c;RTC 协议被广泛用于各种即时通讯领域&#xff0c;诸如&#xff1a; 在线教育&#xff1b;直播中的主播连麦 PK&#xff1b;日常生活的音视频电话&#xff1b;.....…

KaiwuDB 多模数据库-时序性能优化

随着物联网领域的快速发展&#xff0c;时序数据的产生和处理需求不断增长。为了满足实时性、高效性和准确性的要求&#xff0c;数据库需要进行时序性能优化&#xff0c;以提供快速的数据写入、实时查询和高效的数据存储与处理能力。 本期直播介绍了时序数据和时序数据库特征以…

ESP32-Web-Server编程-CSS 基础 2

ESP32-Web-Server编程-CSS 基础 2 概述 如上节所述&#xff0c;可以使用外部 CSS 文件来修饰指定的 HTML 文件。 外部引用 - 使用外部 CSS 文件。 当样式需要被应用到很多页面的时候&#xff0c;外部样式表将是理想的选择。使用外部样式表&#xff0c;就可以通过更改一个文件…

NV040C语音芯片:让自助ATM机使用更加安全快捷

近年来&#xff0c;移动支付方式的兴起、银行加强线上化服务、数字人民币项目推进等因素的影响&#xff0c;人们使用ATM机的频率呈现小幅度的下降趋势。然而&#xff0c;自助ATM机并未从我们的视野中消失&#xff0c;它们仍然在金融领域发挥着重要的作用。未来&#xff0c;ATM机…

分类预测 | Matlab实现NGO-KELM北方苍鹰算法优化核极限学习机分类预测

分类预测 | Matlab实现NGO-KELM北方苍鹰算法优化核极限学习机分类预测 目录 分类预测 | Matlab实现NGO-KELM北方苍鹰算法优化核极限学习机分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现NGO-KELM北方苍鹰算法优化核极限学习机分类预测&#xff08;完…

成都爱尔樊映川院长讲解常见眼底病有哪些

一提到“眼底”这个眼科常用词汇&#xff0c;许多非医疗行业人士认为在眼球下方&#xff0c;其实不然&#xff0c;那眼底在哪呢?眼底其实是眼球内后部的组织&#xff0c;即眼球的内膜——视网膜、视乳头、黄斑和视网膜中央动静脉。 眼底病是一种病种繁多&#xff0c;病因复杂&…

Python Subprocess教程:创建和管理子进程的完整指南

更多Python学习内容&#xff1a;ipengtao.com 在Python中&#xff0c;Subprocess模块为我们提供了强大的工具&#xff0c;使得创建和管理子进程变得十分便捷。本文将深入探讨Subprocess的各种功能和用法&#xff0c;通过丰富的示例代码&#xff0c;带你领略其强大的子进程管理能…

Compensated Summation/Kahan‘s Summation的理解

阅读《Efficient Generation of Error-Inducing Floating-Point Inputs via Symbolic Execution》这篇论文时&#xff0c;文中提到的Commpensated Summation没看太懂&#xff0c;代码如下&#xff1a; 查阅资料发现Compensated Summation也叫Kahan’s Summation&#xff0c;该…

自己动手实现一个深度学习算法——七、卷积神经网络

文章目录 1.整体结构2.卷积层1&#xff09;全连接层存在的问题2&#xff09;卷积运算3&#xff09;填充4&#xff09;步幅5&#xff09;3维数据的卷积运算6&#xff09;结合方块思考7&#xff09;批处理 3.池化层1&#xff09;池化层的特征 4.卷积层和池化层的实现1&#xff09…

C Primer Plus讲解前置说明

说明 本来是准备接着写下去&#xff0c;写着就发现思路整理的有点杂乱无章。果然是“想一千次&#xff0c;不如去做一次”。所以这次准备基于《C Primer Plus》第六版给大家分享一下&#xff0c;也是自己梳理的一个过程。有关C语言的书很多&#xff0c;我选这本也恰巧是因为以前…

7种SQL进阶用法【转】

1.自定义排序(ORDER BY FIELD) 在MySQL中ORDER BY排序除了可以用ASC和DESC之外,还可以使使用自定义排序方式来实现 CREATE TABLE movies ( id INT PRIMARY KEY AUTO_INCREMENT, movie_name VARCHAR(255), actors VARCHAR(255), price DECIMAL(10,2) DEFAULT 50, release date…

L4级智能驾驶公交量产方案

1、自动驾驶分级 2、L4级自动驾驶技术方案 3、线控底盘 4、整车传感器方案 5、自动驾驶能力 6、运控平台

在Linux中对Docker中的服务设置自启动

先在Linux中安装docker&#xff0c;然后对docker中的服务设置自启动。 安装docker 第一步&#xff0c;卸载旧版本docker。 若系统中已安装旧版本docker&#xff0c;则需要卸载旧版本docker以及与旧版本docker相关的依赖项。 命令&#xff1a;yum -y remove docker docker-c…

【Docker】python flask 项目如何打包成 Docker images镜像 上传至阿里云ACR私有(共有)镜像仓库 集成Drone CI

一、Python环境编译 1、处理好venv环境 要生成正常的 requirements.txt 文件&#xff0c;我们就需要先将虚拟环境处理好 创建虚拟环境&#xff08;可选&#xff09;&#xff1a; 在项目目录中&#xff0c;你可以选择使用虚拟环境&#xff0c;这样你的项目依赖将被隔离在一个…

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

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

java学习part15单例模式

107-面向对象(高级)-单例设计模式与main()的理解_哔哩哔哩_bilibili 1.单例 就是说在某些开发场景中&#xff0c;某个类只要有一个对象就足够使用了&#xff0c;不需要重复创建。 &#xff08;理解&#xff1a;比如说是数据库对象&#xff0c;使用时创建一个可以处理所有的数…