【数字电路与逻辑设计】实验一 序列检测器
文章总览: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了…...
在Node.js后端服务中集成Taotoken实现AI功能调用
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在Node.js后端服务中集成Taotoken实现AI功能调用 将大模型能力集成到后端服务是现代应用开发的常见需求。对于Node.js开发者而言&a…...
小白程序员必看:收藏这份大模型Agent开发学习指南,轻松入门字节跳动暑期实习
本文分享了一位知识星球录友成功上岸字节跳动agent开发暑期实习的经验,包括面试准备、Agent开发学习资源推荐以及字节跳动面试题解析。文章强调了掌握Agent相关知识的重要性,并建议小白程序员学习C、Java或Go等编程语言,通过知识星球中的agen…...
轻量级工作流编排引擎:从脚本管理到自动化流程的实践指南
1. 项目概述:从单体脚本到流程编排的进化 如果你和我一样,在数据工程、自动化运维或者机器学习模型训练这些领域摸爬滚打过几年,大概率会遇到一个相似的困境:手头的任务脚本越来越多,它们之间有的有依赖关系࿰…...
智能路由器项目解析:基于策略路由实现多线路流量智能调度
1. 项目概述:一个“聪明”的路由器能做什么?最近在GitHub上看到一个挺有意思的项目,叫smart-router,作者是c0nSpIc0uS7uRk3r。光看名字,你可能会觉得这又是一个关于家庭网络优化的工具,但点进去仔细研究后&…...
SyntaxUI:基于原子设计与Web组件的现代UI库开发实践
1. 项目概述:一个为开发者而生的现代UI组件库 如果你是一名前端开发者,或者正在构建一个需要用户界面的应用,那么你肯定经历过这样的场景:为了一个按钮的样式、一个表格的交互,或者一个模态框的动画,反复在…...
Go语言实现Hermes引擎:高性能JavaScript字节码虚拟机解析与实践
1. 项目概述:一个Go语言实现的Hermes引擎最近在折腾一些需要高性能模板渲染的后端服务,偶然间在GitHub上发现了LAI-755/hermes-go这个项目。简单来说,这是一个用纯Go语言实现的Hermes引擎。如果你对前端生态熟悉,可能听说过Hermes…...
基于RP2040与I2C总线打造可编程合成器吉他:从硬件到固件的完整实践
1. 项目概述:打造你的第一把可编程合成器吉他 如果你对电子音乐制作和嵌入式硬件开发都感兴趣,那么将两者结合的DIY项目无疑是最迷人的领域。今天要分享的,就是基于Adafruit RP2040 PropMaker Feather微控制器,从零开始打造一把功…...
智能游戏助手:League Akari如何彻底改变你的英雄联盟体验
智能游戏助手:League Akari如何彻底改变你的英雄联盟体验 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 你是否曾在英雄选择阶段手…...
终极网络资源下载神器:面向内容创作者的5步实战指南
终极网络资源下载神器:面向内容创作者的5步实战指南 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 你是否曾为保…...
龙芯3A6000平台Loongnix系统部署实战:从固件更新到驱动配置全解析
1. 项目概述:一次国产平台上的系统部署实战最近,我拿到了一台基于龙芯3A6000处理器和7A2000桥片的国产台式机。对于长期在x86/ARM生态里打转的开发者来说,这无疑是一个充满新鲜感和挑战的“新玩具”。它的核心使命,就是运行龙芯社…...
