数字电路中触发器/锁存器的简单理解,与电路结构

1,为什么有触发器?

数字逻辑电路系统包含组合逻辑和时序逻辑。组合逻辑用来实现与状态无关的门电路,比如算法的实现函数,无反馈,无记忆;时序逻辑则主要用来同步电路的各个状态,有反馈,有记忆,如触发器,寄存器。 组合逻辑计算出来的值由时序逻辑保存下来,经过同步时钟(Clock)来控制逻辑值的传递。

比如实现一个如下的累加功能电路设计,如果不用触发器,则无法存储s的中间值,无法控制状态转换。

cpp 复制代码
int s=0;
for(int i = 0; i<10; i++)
{
     s = s + X[i];
}

2,触发器,锁存器的电路结构

或非门

输入A, B, 输出 Y,

或非门即: A和B只要有一个为1,则Y为0; A和B全为0,则Y为1;

触发器

把两个或非门连起来,能够稳定

保存电路状态的电路称为触发器,如下是一个R-S触发器,有两个输入端S(set), R(reset), 2个输出端Q 和 ~Q,约定S和R不会同时为1。

状态表如下,R-S触发器的最大特点是它能记住2个输入端的状态。当把2个输入端都置0时候,能记住上一次的状态。计算机中的寄存器,内存最基础的组成单元就是触发器。

|---|---|---|-----|
| S | R | Q | ~Q |
| 1 | 0 | 1 | 0 |
| 0 | 1 | 0 | 1 |
| 0 | 0 | Q | ~Q |

锁存器

上面触发器R,S同时是数据输入端和控制端,有点耦合,所以可以优化一下电路图,把数据和控制分开。我们试着增加一个具有控制功能的【保持位】,它能决定当前电路状态是否被"记住"。当保持位为1时,数据输入的值被记住,当保持位为0时候,数据输入位为任何值都不影响电路的状态。增加了保持位的这个电路称为D(data)型触发器。原来的R和S的状态实际是互斥的,所以用一个非门替换,如下图。

通常,保持位就是电路时序中的时钟信号(clock),这种用时钟控制的D触发器也称作锁存器,顾名思义,数据存储进去就像被锁住了一样。

把8个锁存器的时钟端接在一起,引入输入端和输出端,就构成了一个8位的锁存器。

参考:一文了解硬件加法器、触发器、锁存器-电子工程专辑

相关推荐
TENET-6 天前
计算机组成原理
嵌入式·数字电路·计算机组成原理
TENET-8 天前
计算机组成原理——寄存器
嵌入式·数字电路·计算机组成原理
YprgDay1 个月前
锁存器(Latch)的产生与特点
fpga开发·数字电路·锁存器
Tech Synapse1 个月前
MySQL 存储函数及调用
数据库·mysql·存储函数·触发器
今天也很爱学习1 个月前
更适合工程师和研究僧的FPGA专项培训课程
单片机·嵌入式硬件·学习·fpga开发·数字电路
大熊猫侯佩3 个月前
SwiftUI 5.0(iOS 17.0)触摸反馈“震荡波”与触发器模式趣谈
触发器·swiftui 5.0·trigger·ios 17.0·haptic·震动反馈·sensoryfeedback
视觉&物联智能3 个月前
【电路笔记】-数字逻辑门总结
笔记·单片机·嵌入式硬件·物联网·嵌入式·数字逻辑·数字电路
小基基o_O4 个月前
无限自动出兵-入门版【war3地图编辑器】
触发器·war3·魔兽争霸3·地图编辑器
悟道子HD4 个月前
SQL: 触发器/存储过程/游标的操作
数据库·经验分享·sql·sqlserver·存储过程·触发器·游标
Sarapines Programmer4 个月前
【Oracle】玩转Oracle数据库(五):PL/SQL编程
数据库·oracle·存储过程·触发器·oracle数据库·pl/sql编程