锁存器
锁存器(英语:latch),或称闩锁,是数字电路中异步时序逻辑电路系统中用来存储信息的一种电子电路。一个锁存器可以存储一比特的信息,通常会有多个一起出现,有些会有特别的名称,像是 “4位锁存器”(可以存储四个比特)或“8位锁存器”(可以存储八个比特)等等。
“锁存器”的各地常用名称 | |
---|---|
中国大陆 | 锁存器 |
台湾 | 锁存器、闩锁 |
港澳 | 锁存器 |
SR锁存器
编辑最简单的锁存器是“SR锁存器”,(又有称为“RS锁存器”),其中“S”表示“设置”(Set),“R”表示“重置”(Reset)。这种锁存器是由一对相互交错的NAND逻辑门组成。存储的比特是在输出的地方用 表示。
一般来说,在存储模式中,输入 及 的电压都是高的,逻辑上的1(逻辑一)(换句话说,S及R的电压应该是低的,逻辑上的0(逻辑零)),而输出 及 则维持其原有的数值,其中 为 的相反。但当 (设定)被设置为逻辑零而 是逻辑一的时候,输出 就会变成逻辑一。之后无论 是否恢复到逻辑一, 亦会维持逻辑一的状态。另一方面,如果 (重置)被设置为逻辑零而 是逻辑一的时候,输出 就会变成逻辑零。同样地,无论 是否恢复到逻辑一, 亦会维持逻辑零的状态。要注意一点就是 及 都不可以同一时间为逻辑上的0,故我们要在设计上避免这一个情况出现。
SR锁存器真值表
(注意:这里用的是S及R,而非文中的 及 ) | ||||
S | R | Q | Qnext | 解释 |
0 | 0 | 0 | 0 | 维持 |
0 | 0 | 1 | 1 | 维持 |
0 | 1 | 0 | 0 | 重置 |
0 | 1 | 1 | 0 | 重置 |
1 | 0 | 0 | 1 | 设置 |
1 | 0 | 1 | 1 | 设置 |
1 | 1 | 0 | - | 不允许 |
1 | 1 | 1 | - | 不允许 |
门控D锁存器
编辑门控D锁存器由SR锁存器扩展而成,增加了两个与门,一个非门和两个输入:数据( )及门控( ,或写为时钟脉冲 ,Clock Pulse 等)。S输入端被设置为D AND G,同时R输入端被设置为 AND G。当G为低电平(0)时,输出保持不变(换言之, Qnext等于Q)。当G为高电平(1)时,输出(Q)与D相同。
门控D锁存器真值表 | ||||
输入:门控 G | 输入:数据 D | 状态 Q | 状态 Qnext | 备注 |
0 | 0 | 0 | 0 | G 为 0,故保持原状态 |
0 | 0 | 1 | 1 | G 为 0,故保持原状态 |
0 | 1 | 0 | 0 | G 为 0,故保持原状态 |
0 | 1 | 1 | 1 | G 为 0,故保持原状态 |
1 | 0 | 0 | 0 | G 为 1,置数 Qnext = D |
1 | 0 | 1 | 0 | G 为 1,置数 Qnext = D |
1 | 1 | 0 | 1 | G 为 1,置数 Qnext = D |
1 | 1 | 1 | 1 | G 为 1,置数 Qnext = D |