实验1: 实现带有使能端的D触发器
实验目的
通过实现D锁存器来实现带有使能端的D触发器。
实验原理
带有使能端的D触发器是一种数字电路,它可以控制D输入信号何时被传输到输出端口。它的原理如下:
D触发器有两个稳定状态:置位和复位。在置位状态下,输出为HIGH;在复位状态下,输出为LOW。使能端是一个控制输入,用于控制D触发器是否对D输入进行传输。当使能端为HIGH时,D触发器处于工作状态,在此状态下,D输入信号会被传输到输出端口。当使能端为LOW时,D触发器处于锁存状态,此时D输入信号不会被传输到输出端口。
带有使能端的D触发器的工作原理如下:当时钟信号到来时,如果使能端为HIGH,则D输入信号会被传输到输出端口,从而改变输出状态。如果使能端为LOW,则D输入信号不会被传输到输出端口,输出状态不会改变。当时钟信号消失时,D触发器会保持其输出状态,直到下一次时钟信号到来。另外,根据电路设计,D触发器又可以分成上升沿触发和下降沿触发两种情况。此处我们采用上升沿触发。
实验过程
D锁存器
首先,我先进行D锁存器 的搭建,D锁存器其实就是SR锁存器的升级版,加了一个锁存信息控制端C,用于控制何时锁存D端的输入。下面进行相关分析:
1.真值表
下面便是D锁存器的真值表,根据真值表可以验证我们可以清晰地发现D锁存器的相关功能,从而实现电路的搭建。显然当C端输入为0时,无论D端输入什么,都不会改变输出,可以想象为没有开锁;相反,当C输入为1时,D端的输入便是Q的输出,即此时和一般的SR锁存器一样。
2.电路实现
·刚开始我们的C端输入为0,D端为0,无输出。
·C端继续为0,D端改为1,任然无输出,说明C端可以用来控制什么时候锁存信息,也即控制输出。
·现在C端为1,D端为0,Q端输出为0,和D端一样。
将D端输入改为1,并保持C端输入不变,可以发现Q端输出变为1。由此可以说明C端为1时,D锁存器和SR锁存器有着一样的输出,甚至一样的电路结构。
保持D端输入不变,将C端输入改为0,可以发现Q端输出保持不变
继续操作,保持C端继续为0,将D端也改为0.可以·发现Q端输出仍然保持不变。
当然,先将D端变为0,再将C端变为0有着类似的操作,我们在这里不再赘述。
3.进一步封装电路
如上图所示,我们现在已经得到了一个D锁存器,下面将进行带使能端的D触发器的构建。
D触发器
此处省略真值表,直接进行电路分析:
- 电路实现:
1)
此处我们利用两个D锁存器来构建上升沿触发的D触发器(下降沿触发类似),采用主从结构。前面的一个D锁存器当作 主锁存器,用来接收锁存信息,即D端的输入;后一个锁存器为从锁存器,其输入端接主锁存器的输出端,并且其输出端为D触发器的输出端。
时钟信号上升沿到来之前,D触发器原本的Q端输出为1
将D端输入设为0,发现输出不变;在下降沿到来后,D端的输入作为主锁存器的输出
2)
在时钟信号下降沿到来之时,进行主锁存器的输入,此时D触发器的输出保持上一次的输出不变。且D端的输入应继续保持一段时间,直到下一个时钟信号上升沿到来,这段时间我们称为建立时间(setup time)。
与上一步类似。
3)
当时钟信号上升沿到来后,我们需要继续保持D端输入不变一段时间,这段时间叫做保持时间(hold time)。
现在从锁存器将锁存进主锁存器的输出,即外部输入D,并将其输出,而我们将这段时间叫做锁存时间(latch prop),也即CLK-to-Q
时钟信号上升沿到来后,从锁存器开始工作,将主锁存器的输出作为输入最终输出到Q端,在此处Q端输出0.
4)
在时钟信号上升沿到来后,继续改变外部输入D,可以发现,对输出端Q无任何影响
其他情况可同理得到,此处不加赘述。OK,现在我们就得到了D触发器。
它竟然没有CLK显示出来,而且连名字都没有,不知道是怎么回事,不过没关系,现在我们已经将D触发器包装完成,下面加入使能端。所谓的使能端,其实就是用一个多路选择器来控制我们在时钟信号到来之时时候进行锁存,此处我们采用一个二路选择器来实现。
带有使能端的D触发器
我们现在先实现一个二路选择器
如左图所示,通过EN来控制选择那条通路。当EN为1时,输入为D,进行正常操作;当EN为0时,不改变输出,输入仍为Q。
由于这个二路选择器封装出来没有我想象的那么好看,所以我就没有展示在这里。
下面进行电路连接,将二路选择器和实现好的D触发器连接起来,得到带有使能端的D触发器:
左侧即是我们得到的带有使能端的D触发器,经测试发现,电路实现正确。
下面将其封装出来:
测试结果
经测试,上述实现无误(毕竟上面已经测试过了,所以此处不再重复)。
总结与思考
带有使能端的D触发器是数字电路设计中的重要组成部分,它可以被用于各种应用中,例如时序控制、计数器、状态机等。
在实现D锁存器时我们上面是用与非门来实现的,其实也可以用或非门来实现
当然,用或非门时会稍有不同,锁存信息控制端的输入正好相反,其他不变
即要么都是与非门,要么都是或非门。
触发器是数字电路中最基本的存储器件之一,可以用来存储单个比特的信息。带使能端的D触发器在D触发器的基础上增加了一个使能端,可以控制触发器的工作状态。这种触发器在数字电路中应用广泛,可以用于控制信号的传输和存储。
通过本次实验,我们深入了解了带使能端的D触发器的原理和应用,掌握了触发器在数字电路中的重要作用。我们认识到数字电路的设计和实现需要充分考虑触发器的应用,合理使用带使能端的D触发器可以提高数字电路的稳定性和可靠性。在今后的学习和实践中,我将继续深入研究数字电路的相关知识,不断提高自己的实践能力和应用水平,为数字电路的设计和实现做出更大的贡献。
实验1: 实现带有使能端的D触发器相关推荐
- 带使能端的寄存器(verilog设计)
分享一下带使能端的D触发器的设计 module reg_A(Ain, Clock, R, Q); input wire Ain; input wire Clock; input wire [15:0] ...
- 七段数码管的使用(使能端分时控制)
题目描述 在板子上的七段数码管上的八个数字分别显示:计时器(两位).按照拨码开关的输入(两位).班级(两位).学号(两位) 其中计时器为2HZ的,从10到到0,当倒计时为0时,从10重新开始计数:当按 ...
- 【VHDL】带使能端的同步复位的8位寄存器设计
[VHDL]带使能端的同步复位的8位寄存器设计 程序: library ieee; use ieee.std_logic_1164.all;entity reg8 is port(clk,OE,RES ...
- 秒杀数字后端实现中clock gating使能端setup violation问题
秒杀数字后端实现中clock gating使能端setup violation问题 文章右侧广告为官方硬广告,与吾爱IC社区无关,用户勿点.点击进去后出现任何损失与社区无关. 点击标题下「蓝色微信名」 ...
- 写出STM32使能端的详细介绍文章
STM32使能端是一种智能处理器,用于控制多种系统和应用程序,其特性包括:高性能.可编程性.高灵活性和低功耗.它采用多级流水线架构,可提供高达200 MHz的处理能力.STM32使能端拥有一个内置的D ...
- 南京邮电大学Web技术双语实验二(Web服务端脚本编写)
文章目录 一. 实验目的和要求 二.实验环境(实验设备) 三.实验原理及内容 1首先编写html页面 2 html页面效果如下图所示 3 编写服务端php脚本 4 服务端页面显示如下 四.实验小结(包 ...
- 国产芯片---带使能端、轨到轨的运算放大器MS8093
350MHz.单通道.带使能轨到轨运放MS8093 MS8093是单通道.低成本的轨到轨输出电压反馈放大器,它具有典型的电流反馈放大器带宽和转换率的优势,同时也有较大的共模电压输入范围和输出摆幅,这使 ...
- VL48-使用Verilog解决多bit MUX同步器—慢时钟域同步到快时钟域(多bit跨时钟域),快时钟同步使能端并通过该使能端控制输出数据
多bit MUX同步器:慢时钟域同步到快时钟域(多bit跨时钟域) 第一部分,题目描述及要求 1,题目要求 2,解题思路 第二部分,代码 1,RTL代码 2,RTL代码生成的门级网表 3,测试代码 4 ...
- 升压IC输出电压可调、LDO稳压、带使能端系列
最新文章
- 全向飞行器的设计与制作-学生初步汇报内容
- eclipse openmp mpi并行编程例子
- 原生希望原生JavaScript开篇
- 光端机与交换机有什么区别?
- mysql主从安装配置_如何安装和配置mysql主从同步
- Tensorflow 十六 用tf.keras函数重写Mnist识别
- Java7并发编程指南——第一章:线程管理
- mysql查询不超过19_mysql45讲 19.为什么我只查一行的语句,也执行这么慢?
- 阿里开源 GNN 框架 Graph-Learn,实现了各类可复用模型和编程接口!
- aspose.words读取html,Aspose.Words for .NET HTML代码直接生成WORD | 学步园
- Atitit ioc 之道 attilax著 第2章 装配Bean 33 2.1 Spring配置的可选方案 34 2.2 自动化装配bean 35 2.2.1 创建可被发现的bean 35 2.
- 企业 IT 治理沙龙·北京站:业务优先?治理优先?您的企业是哪种上云姿势?...
- 【解决方法】VMware Horizo​​n View创建虚拟桌面失败,报错:View Composer Agent初始化错误(16):无法激活软件许可证
- 手机屏幕分辨率说明大全 VGA - hd
- 生活-痘痘告诉你,身体哪里生病了
- 怎样在大公司混成中层干部
- 生成式对抗网络(GAN)原理推导与网络构建思路
- 学计算机的高数学什么,儿子大一,学的计算机科学与技术,感觉高数特别难,都学不会怎么办呢?有什么好办法?...
- Python编写程序计算如下的分段函数
- 在Android Studio 上为项目添加Git版本控制