【数字电路与逻辑设计】实验一 序列检测器
文章总览:YuanDaiMa2048博客文章总览
【数字电路与逻辑设计】实验一 序列检测器
- 一、实验内容
- 二、设计过程
- (一)作出状态图或状态表
- (二)状态化简
- (三)状态编码
- 三、源代码
- (一)代码说明:
- (二)代码内容:
- 四、仿真验证与实验结果
- (一)波形图
- (二)波形图说明
- (三)实验结果
- 五、全部实验
- 第一部分 组合逻辑
- 第二部分 时序逻辑
一、实验内容
设计一个序列检测器检测序列 1110010。使用波形图进行仿真(至少要有一个检测成功
的波形)。
二、设计过程
(一)作出状态图或状态表
Moore型:
(二)状态化简
在该状态表中没有输出和次态完全相同的输入序列,因此已经是最简状态。
(三)状态编码
规则1:S0-S1,S0-S2,S0-S5,S0-S7,S1-S2,S1-S5,S1-S7,S2-S5,S2-S7,S5-S7,S2-S3,S1-S6,S0-S4;S4-S7
规则2:
S0-S1,S0-S2,S0-S3,S4-S3,S5-S1,S0-S6,S7-S2
规则3:
S0-S1-S2-S3-S4-S5-S6
规则4:S0分配逻辑“0”
编码方案如下
S0=“000”,S1=“001”,S2=“010”,S3=“011”,S4=“100”,S5=“110”,S6=“101”,S7=“111”
三、源代码
(一)代码说明:
① clk:输入,表示时钟脉冲信号,上升沿触发。
② rst:输入,表示清零。
③ X:输入,表示输入待检测的一位信号。
④ Z:输出,表示检测结果,如果检测到该序列则输出‘1’,否则为‘0’。
⑤ 利用case语句去分别讨论不同现态,在其中运用if语句分别讨论在X输入为1和0的情况下,次态的情况以及Z输出的值,从而实现功能。主要依据状态转移图完成代码编写。
(二)代码内容:
library ieee;
use ieee.std_logic_1164.all;
entity sequence_dectector isport(clk,rst,X:in std_logic;Z:out std_logic);
end entity sequence_dectector;
architecture behav of sequence_dectector istype state is(s0,s1,s2,s3,s4,s5,s6,s7);signal present_state,next_state:state;beginprocess(rst,clk)beginif(rst='1')thenpresent_state<=s0;elsif(clk'event and clk='1')thenpresent_state<=next_state;end if;end process;process(X,present_state)begincase present_state iswhen s0 =>Z<='0';if(X='1')thennext_state<=s1;elsenext_state<=s0;end if;when s1 =>Z<='0';if(X='1')thennext_state<=s2;elsenext_state<=s0;end if;when s2 =>Z<='0';if(X='1')thennext_state<=s3;elsenext_state<=s0;end if;when s3 =>Z<='0';if(X='0')thennext_state<=s4;elsenext_state<=s3;end if;when s4 =>Z<='0';if(X='0')thennext_state<=s5;elsenext_state<=s1;end if;when s5 =>Z<='0';if(X='1')thennext_state<=s6;elsenext_state<=s0;end if;when s6 =>Z<='0';if(X='0')thennext_state<=s7;elsenext_state<=s2;end if;when s7 =>Z<='1';if(X='0')thennext_state<=s0;elsenext_state<=s1;end if;end case;end process;
end behav;
四、仿真验证与实验结果
(一)波形图
(二)波形图说明
图中,clk代表时钟脉冲(上升沿有效),rst表示复位(高电平有效),在X连续输入“1110010”时,在clk上升沿到来时,Z输出为1。
(三)实验结果
如图,证明该段程序可以实现序列“1110010”检测功能。
五、全部实验
第一部分 组合逻辑
- 实验一 8421 码和格雷码的转换
- 实验二 数值比较器
- 实验三 全加器
- 实验四 3 线-8 线译码器
- 实验五 表决器
第二部分 时序逻辑
- 实验一序列检测器
- 实验二计数器
- 实验三 8 位寄存器 74374
相关文章:

【数字电路与逻辑设计】实验一 序列检测器
文章总览:YuanDaiMa2048博客文章总览 【数字电路与逻辑设计】实验一 序列检测器 一、实验内容二、设计过程(一)作出状态图或状态表(二)状态化简(三)状态编码 三、源代码(一ÿ…...

运动模糊效果
1、运动模糊效果 运动模糊效果,是一种用于 模拟真实世界中快速移动物体产生的模糊现象 的图像处理技术,当一个物体以较高速度移动时,由于人眼或摄像机的曝光时间过长,该物体会在图像中留下模糊的运动轨迹。这种效果游戏、动画、电…...

养老护理员培训考试题库;免费题库;大风车题库
下载链接:大风车题库-文件 大风车题库网站:大风车题库 大风车excel(试题转excel):大风车excel...
Python-配置模块configparser使用指南
configparser 是 Python 标准库中的模块,用于处理配置文件(如 .ini 文件)。它适合管理程序的配置信息,比如数据库连接参数、应用程序设置等。 1. 配置文件的基本结构 配置文件通常是 .ini 格式,由 节(Sec…...
C++的HDF5库将h5图像转为tif格式:szip压缩的图像也可转换
本文介绍基于C 语言的hdf5库与gdal库,将.h5格式的多波段HDF5图像批量转换为.tif格式的方法;其中,本方法支持对szip压缩的HDF5图像(例如高分一号卫星遥感影像)加以转换。 将HDF5图像批量转换为.tif格式,在部…...

【JAVA】Java第十三节:String类(String相关方法,以及StrinBuftrer , StringBulder相关方法)
本文详细介绍了String类以及常用的String相关方法,以及StrinBuftrer , StringBulder相关方法的使用,建议有印象即可,不需要都记住,使用时去查取即可 一、创建一个String类型的变量 我们平时创建String类型的变量一般是第一种形式…...
WordPress安装或访问时出现数据库连接错误的处理方式
一、在安装时出现数据库连接错误 1、如果数据库名称、用户名或密码错误,或者主机设置不正确(如数据库服务器不是在本地localhost,而是在远程服务器,需要正确填写远程服务器的 IP 地址或域名),就会导致连接错…...

JAVA-面向对象基础
文章目录 概要封装多态抽象类接口内部类为什么需要内部类 概要 面向对象是一种编程范式或设计哲学,它将软件系统设计为由多个对象组成,这些对象通过特定的方式相互作用 封装 将数据和操作数据的方法封装在一个类中,并通过访问修饰符控制对…...

[Java]项目入门
这篇简单介绍一些入门的有关项目和行业的知识,并带着实现一个小项目。便于已经编程入门的各位准备进阶到下一个阶段。 先大致地介绍,一个完整的项目(不看客户端、服务端的分类)基本可以划分为三部分: 1.前端。比如你现在看到的CSDN页面就是一…...
opencv Mat To Heif
高效率图像文件格式(英语:High Efficiency Image File Format, HEIF;也称高效图像文件格式)是一个用于单张图像或图像序列的文件格式。它由运动图像专家组(MPEG)开发,并在MPEG-H Part 12&#x…...
二刷代码随想录第24天
93. 复原 IP 地址 确定函数is_ip的实现细节,start不能超过end,没有0开头的非0数字,每个字符都在0-9之间,每段字符小于255在原字符串s上做操作会更简单一些 class Solution { public:vector<string> result;vector<string> rest…...
Java设计模式之状态模式架构高扩展的订单状态管理
🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c=1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程,高并发设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s…...

Yagmail邮件发送库:如何用Python实现自动化邮件营销?
目录 一、Yagmail简介 二、安装Yagmail 三、基本使用示例 1. 发送简单文本邮件 2. 发送HTML邮件 3. 发送带有附件的邮件 4. 多收件人处理 5. 自定义邮件头 四、高级功能 1. SMTP配置 2. 邮件模板 3. OAuth2认证 五、自动化邮件营销案例 六、错误处理和调试 七、…...
李宏毅深度学习-Pytorch Tutorial2
什么是张量? 张量(Tensor)是深度学习和机器学习中一个非常基础且重要的概念。在数学上,张量可以被看作是向量和矩阵的泛化。简单来说,张量是一种多维数组,它可以表示标量(0维)、向量…...

SaaS财务软件:赋能企业数字化转型
在数字化浪潮的推动下,企业财务管理正逐步迈向智能化、高效化的新阶段。在这个过程中,SaaS财务软件应运而生,成为许多企业的首选。以易舟云财务软件为例,这款软件不仅集成了众多先进的财务管理功能,而且在用户体验上做…...

FPGA实战篇(按键控制LDE实验)
1.按键简介 按键开关是一种电子开关,属于电子元器件类。我们的开发板上有两种按键开关:第一种是本实验所使用的轻触式按键开关,简称轻触开关。使用时以向开关的操作方向施加压力使内部电路闭合接通,当撤销压力时开关断开ÿ…...

在Ubuntu-22.04 [WSL2]中配置Docker
文章目录 0. 进入Ubuntu-22.041. 更新系统软件包2. 安装Docker相关依赖包3. 添加Docker官方GPG密钥4. 添加Docker软件源5. 安装Docker Engine5.1 更新软件包列表5.2 安装Docker相关软件包 6. 验证Docker安装是否成功6.1 查看Docker版本信息6.2 启动Docker6.3 配置镜像加速器6.4…...

ACM:均分纸牌
主要思路 整体思路概述: 本题旨在解决给定N堆纸牌(纸牌总数是N的倍数),通过按照特定移牌规则移动纸牌,找出用最少移动次数使每堆纸牌数量相等的方法。程序采用了一种逐步调整的思路,先计算出每堆纸牌应有的…...
ThreadFactory
ThreadFactory 是 Java 中一个用于创建线程的接口,它可以自定义线程的创建过程,例如线程的名称、优先级、是否为守护线程等。它是 java.util.concurrent 包的一部分,通常与线程池(ThreadPoolExecutor)一起使用。 线程…...

WEB开发: Node.js路由之由浅入深(一) - 全栈工程师入门
作为一个使用Node.js多年的开发者,我已经习惯于用Node.js写一些web应用来为工作服务,因为实现快速、部署简单、自定义强。今天我们一起来学习一个全栈工程师必备技能:web路由。(观看此文的前提是默认你已经装好nonde.js了…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 
HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...

(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...
Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?
Pod IP 的本质与特性 Pod IP 的定位 纯端点地址:Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址(如 10.244.1.2)无特殊名称:在 Kubernetes 中,它通常被称为 “Pod IP” 或 “容器 IP”生命周期:与 Pod …...
HTML前端开发:JavaScript 获取元素方法详解
作为前端开发者,高效获取 DOM 元素是必备技能。以下是 JS 中核心的获取元素方法,分为两大系列: 一、getElementBy... 系列 传统方法,直接通过 DOM 接口访问,返回动态集合(元素变化会实时更新)。…...