D触发器(D Flip-Flop)与D锁存器(D Latch)

2024-06-22 08:12
文章标签 触发器 flip 存器 latch flop

本文主要是介绍D触发器(D Flip-Flop)与D锁存器(D Latch),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 基础概念

      我们先来简单回顾一下D触发器(D flip-flop)和D锁存器(D latch)的概念,以及它们在数字电路中的作用。

1.1 D触发器(D Flip-Flop)

        D触发器是一种数字存储器件,它在时钟信号的特定边沿(上升沿或下降沿)上捕获并存储输入信号的状态。因此,它被称为边沿触发设备。

        在给定的时钟边沿到来时,如果D输入为高(1),则触发器的输出Q变为高(1);如果D输入为低(0),则输出Q变为低(0)。此后,无论D输入如何变化,只要没有新的时钟信号边沿到来,Q的状态都不会改变。

1.2 D锁存器(D Latch)

        与D触发器不同,D锁存器是一种电平触发设备。它根据控制输入(通常是使能信号)的电平变化来更新其输出。当使能信号为高电平时,D锁存器会捕获输入D的状态并将其反映到输出Q上。当使能信号变为低电平时,锁存器会保持其输出状态,直到使能信号再次变为高电平。

2. 具体描述

2.1 图片描述

        下图是两种类型的寄存器:一个是由4个D触发器构成的寄存器,另一个是由4个D锁存器构成的寄存器。在这个上下文中,寄存器是用来存储4位二进制数的设备。

        忽略上升时间(tr),下降时间(tf),设置时间(tsu)和保持时间(th),只考虑传播延迟。传播延迟是信号从输入端到输出端所需的时间。题目给出了D触发器和D锁存器的传播延迟时间为10纳秒(ns)。

2.2 关键点

        在这个图片中,我们需要理解的关键点是:

        传播延迟(tp):信号从输入端到输出端的延迟时间。上文提到的D触发器和D锁存器的传播延迟都是10ns。

        D触发器与D锁存器的区别:D触发器在时钟信号的特定边沿上同步操作,而D锁存器则在控制信号为特定电平时进行操作。

        对于任何涉及这些寄存器的数字设计问题,理解它们的工作原理和它们之间的区别是非常重要的。这有助于我们正确地设计和分析数字电路,确保电路能够按照预期工作,特别是在需要精确控制信号时序的应用中。

2.3 深入分析

2.3.1 INT(初始化)信号

        在这两种类型的寄存器中,INT(初始化)信号被用来控制寄存器的初始化或重置功能。在电子数字系统中,初始化通常是重置寄存器内容为零或某个预定义的值的过程。

2.3.1.1 对于图1(a)中的D触发器寄存器

        INT信号通常用于异步清除或预设寄存器中的内容。当INT为低电平时,与INT连接的所有D触发器的输出Q将被置为低电平,不论时钟信号H的状态如何。这意味着不管时钟如何变化,只要INT是低电平,寄存器的输出都会被强制改变。

2.3.1.2 对于图1(b)中的D锁存器寄存器

        INT信号在这里也用于清除寄存器的内容。与D触发器不同,D锁存器可以在没有时钟信号的情况下对数据进行“锁存”。当控制信号H为高电平时,锁存器将D端的输入锁存到Q端的输出。但是,如果INT为低电平,则不论控制信号H的状态,寄存器的输出Q都会被强制改变。

        在两种情况下,INT信号允许系统在不考虑当前操作周期的情况下快速将寄存器内容重置,这在需要快速清除错误状态或在系统启动时初始化寄存器时非常有用。

这篇关于D触发器(D Flip-Flop)与D锁存器(D Latch)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1083733

相关文章

Oracle数据库(触发器、存储过程、函数、包)

一、触发器(trigger) 推荐练习文档: http://wenku.baidu.com/link?url=brtd9myO4XIaEjRPaRB0yWgV2_TfXmNxS6KKjB_avq7d0hPs3SknJdrs-JLtWe–H-f3q-I61HUxkcqqAFMC0z6Zf65QBbmFRB8TAlULmGS http://www.cnblogs.com/friends

Flink实例(115):自定义时间和窗口的操作符(十四)窗口操作符(四)触发器(Triggers) (二)

Flink 中窗口是很重要的一个功能,而窗口又经常配合触发器一起使用。 Flink 自带的触发器大概有: CountTrigger: 指定条数触发ContinuousEventTimeTrigger:指定事件时间触发ContinuousProcessingTimeTrigger:指定处理时间触发ProcessingTimeTrigger: 默认触发器,窗口结束触发EventTime

Oracle19C触发器

触发器可以看作一种特殊的存储过程,它定义了一些在数据库相关事件(如INSERT、UPDATE、CREATE等事件)发生时应执行的“功能代码块”,通常用于管理复杂的完整性约束,或监控对表的修改,或通知其他程序,甚至可以实现对数据的审计功能。 1. 触发器简介 触发器是通过触发事件来执行的(存储过程的调用或执行是由用户或应用程序进行的)。能够引起触发器运行的操作就被称为触发事件,如执行DML

SQL server触发器简单示例

一:触发器是一种特殊的存储过程,它不能被显式地调用,而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约束。   二:SQL Server为每个触发器都创建了两个专用表:Inserted表和Deleted表。这两个表由系统来维护,它们存在于内存中而不是在数据库中。这两个表的结构总是与被该触发器作用的表的结构相同。触发器执行 完成

oracle触发器浅析

1.定义:数据库触发器是一个与表相关联的,存储的pl/sql程序 2.作用:每当一个特定的数据操作数据(insert,update,delete)在指定的表上操作时,oracle自动滴执行触发器中的语句序列 3.语法:create [or replace] trigger 触发器名before/After(执行前/后出发) insert(执行操作insert,update,delete[of

Quartz.Net_侦听触发器

简述 触发器执行任务时存在数个阶段,利用侦听器可以在对应的阶段执行一些代码 如何侦听 1.实现ITriggerListener接口,并实现其函数,具体说明见代码注释 public class DeleteAfterCompleted : ITriggerListener{public string Name => "X";// 触发时public async Task TriggerFi

SQL Server触发器的创建

参考http://blog.csdn.net/fredrickhu/article/details/4708906一 (一)先打开sql server数据库,创建数据库Stu ,创建两个表: create database Stu create table Student(StudentID int primary key,StudentName nvarchar(50)

Oracle—触发器(转)

触发器的种类和触发事件 触发器必须由事件才能触发。触发器的触发事件分可为3类,分别是DML事件、DDL事件和数据库事件。 每类事件包含若干个事件,如下所示。数据库的事件是具体的,在创建触发器时要指明触发的事件。 种 类 关 键 字 含 义: DML事件是针对数据,DDL事件是针对对象(表,视图,触发器,存储过程等等),数据库事件针对数据库服务。 DML事件(3种)

008 数据库对象—触发器—讲解

触发器看的我一知半解,看到师兄的一篇触发器的博客特别好,看完以后觉得茅塞顿开,我这个闷葫芦终于也开窍了!先跟大家分享一下这犀利的好文章,其后是我个人的一下补充和思维导图。 分享: 触发器简介: 触发器(trigger)是种特殊的存储过程,它的执行不是由程序调用,也不需要手动操作,它是由事件来触发,事件大家应该非常熟悉吧,比如按钮的Click事件、网页的Load事件等。按钮的Click

数据库里面的updateTimed选择代码更新和还是数据库触发器自动更新?

1.updateTime更新可以归纳以下几种: 在项目中,当对数据库的数据进行修改时,updateTime(或类似的表示最后更新时间的字段)的更新时机通常取决于你的应用程序逻辑或使用的数据库框架(如ORM)的行为。 手动更新:最直接的方式是在你的代码中,每次对数据库中的记录进行修改时,显式地更新updateTime字段。这通常涉及到在更新记录的SQL语句中包括updateTime字段,并设置其