SR锁存器—>带EN的SR锁存器—>D锁存器—>边沿触发式D触发器—>寄存器

其实选择与非门当做构成SR锁存器的基本逻辑电路是有漏洞的,所以才导致了后续的都为低电平的时候,Q和非Q都是亮起的。但是我们设计的初衷是:Q和非Q是互斥的,是不能同时亮起的,且为了达到这一点,要使得其中两者中的任意一个发生了变化,那么这个变化都要正反馈给另外一个,以此达到通知的目的,这就是为什么最后SR锁存器中,最后输出的结果为另外一个输出的输入,我们都知道一开始有两个原始输入来控制这两个输入,那么这个原始输入和另一个结果的输出的输入是什么关系呢?这就设计了逻辑推导。首先因为Q和非Q是互斥的,比如当Q是亮的时候,那么这个时候一定要保持非Q是暗的,即*(原始输入R,Q输入) = (0,1)(1,1)通过一个逻辑电路一定是低电平的,且当Q时暗的时候,非Q一定是亮的,即(1,0)(0,0)通过一个逻辑电路一定是高电平,这样的逻辑电路还真不好找,但是发现其中逻辑与非门可以满足其中的三个,之后其中的(0,1)不能满足,这样的话,那只能将这种情况人为的设置为无效的条件,但是也为后续这种锁存器的不好用埋下了伏笔,故而就有了锁存器的不断改进,最后到了沿触发式D触发器,才是真正解决了既能锁,又没有特殊情况的问题。

———————————————————————————————————————————

  • SR锁存器到底是什么?其实SR锁存器有两种方式,一种是与非门的锁存器,一种是或非门的锁存器,我们只讲与非门的锁存器,与非门构成的SR锁存器是是一个以低点平为信号的锁存器,其中S,R的初始状态都是高电平的,其中的S是set是设置Q的,其中的R是reset是设置Q非的。当如果S,R一开始都是高电平的话,那么其中的Q和非Q都是不确定的,因为这个结构是循环的,上一个与非门的结果会通过正反馈来控制下面的与非门(相反也是一样的),所以当两个都设置为为1的时候,其中的Q和非Q到底谁亮是取决于上次电路的结果的。当S,R都处于初始位置的时候,即都是

### 使能端的SR锁存器的工作原理 使能端(Enable, En)的SR锁存器允许外部信号控制何时更新内部状态。当使能信号En为1时,输入控制电路的输出S'和R'分别为输入S和R的反相,这使得基本SR锁存器能够正常工作[^2]。 具体来说,在使能信号有效期间(即En=1),如果设置了置位输入S,则输出Q变为1;如果设置了复位输入R,则输出Q变为0。一旦使能信号失效(即En=0),无论S或R如何变化,锁存器都将保持当前状态不变直到下一个有效的使能周期到来。 这种特性对于构建更复杂的同步逻辑非常有用,因为它可以确保只有在特定条件下才会发生状态转换,从而提高了系统的稳定性和可靠性。 #### Python代码示例模拟使能端的SR锁存器操作 下面是一个简单的Python程序用来展示有使能端的SR锁存器的行为: ```python class SREnLatch: def __init__(self): self.Q = 0 self.not_Q = 1 def update(self, s, r, en): if en == 1: if s and not r: # Set condition self.Q = 1 self.not_Q = 0 elif not s and r: # Reset condition self.Q = 0 self.not_Q = 1 elif s and r: # Invalid state (should be avoided) raise ValueError("Invalid input combination: both set and reset are active.") return self.Q, self.not_Q # 测试用例 latch = SREnLatch() print(f"Initial State Q={latch.update(0, 0, 0)[0]}, !Q={latch.update(0, 0, 0)[1]}") for inputs in [(1, 0, 1), (0, 1, 1), (0, 0, 1)]: q, nq = latch.update(*inputs) print(f"After applying S={inputs[0]}, R={inputs[1]}, EN={inputs[2]} -> Q={q}, !Q={nq}") ``` 此代码定义了一个类`SREnLatch`来代表有一个使能端口的SR锁存器,并实现了相应的状态更新函数`update()`。测试部分展示了几个典型情况下的行为模式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值