为什么通常在时钟的上升沿触发触发器?


14

通常在数字设计中,我们处理在0到1时钟信号转换(正沿触发)时触发的触发器,而不是在1到0转换(负沿触发)时触发的触发器。自从我对顺序电路进行首次研究以来,我就已经意识到了这一约定,但是直到现在都没有质疑它。

在正边沿触发和负边沿触发之间进行选择是任意的吗?还是有实际的原因导致上升沿触发器成为主导?


2
大多数此类事情的发生方式是某人以一种方式做到这一点,其他人需要使硬件兼容,并且也要做到这一点,而几年后,您有了偶然的标准。
康纳·沃尔夫

1
我使用的触发器大多由Falling Edge触发。我有完全相反的问题!
斯旺德

Answers:


10

最佳猜测:上升趋势是设计在1970年代之前尝试使用尽可能小的区域/零件的副产品。通过增加每个晶圆的芯片数量来节省生产成本。现代的正负边缘DFF通常具有相等的总面积,因此正边缘趋势现在已成为传统做法。

节省空间来自“经典” D触发器设计。D触发器的现代主/从组件可以使用两个5晶体管锁存器。专利WO1984003806 A1US4484087 A均于1984年3月23日提交。1970年2月6日提交了8轴D型闩锁的专利。US3641511一个。为了简单起见,基于SR / SnRn锁存器的设计将被称为“经典”和“现代”,用于使用上述D锁存器/ S单元专利的设计。

在IC设计中,由于NMOS和PMOS的特性,与非门的面积小于或非门。从那里开始,面积节省大小趋势级联。SnRn锁存器的D锁存器比SR锁存器小。经典的D触发器设计基于这些逻辑门。在搜索了几种设计之后,经典的正边缘设计总是比经典的负边缘设计要小。随着芯片成本的上涨,向现代市场的迁移发生了:面积节省vs特许权使用费。


深入挖掘以显示区域差异:

经典正边D型触发器:基于示意图的Wikipedia使用五个NAND2和一个NAND3 的经典正边触发D触发器描述和示意图。这总共使用了13个NMOS和13个PMOS。

原理图

模拟该电路 –使用CircuitLab创建的原理图

我能找到的最好的古典负边缘D型触发器是使用两个D型锁存器和两个反相器。示意图参考表http://students.cs.byu.edu/~cs124ta/labs/L02-FSM/HowToUseMasterSlave.html。这总共使用了18个NMOS和18个PMOS。将逆变器放置在上面的经典摆放位置上将减少此设计的晶体管数量。无论哪种情况,经典的负边缘都比正边缘设计要大。

原理图

模拟该电路

基于专利WO1984003806 A1US4484087的五晶体管D锁存器描述,现代D触发器设计如下所示。这总共使用了五个NMOS和五个PMOS。与Classic相比,可节省大量面积。反转主/从顺序将创建一个大小相等的负沿触发器。

原理图

模拟该电路

我只是在演示最小的设计。设计可以非常基于设计要求,允许的标准单元库,重置/预设功能或其他原因。


那是个很好的观点。我正在从时钟分配中解决问题,但是我可以看到DFF架构有何不同。但是,我认为负边缘触发触发器也可以具有基于NAND的架构。您可以添加正在讨论的架构的示意图吗?
travisbartley

1
@ trav1s,我用示例和一些专利研究更新了我的答案。
格雷格

我想知道芯片在多大程度上将其他技术用于需要根据外部时钟沿工作的锁存器?例如,使用两相时钟和半动态逻辑可以将每触发器所需的晶体管数量减少到七个[全动态方法将是六个,但是增加第七个晶体管则可以增加一个完全静态的“保持”状态]。
2013年

@Greg,辛苦了。您的发现与我的预期差不多。最后的那个10T晶体管是一件很漂亮的事情。
travisbartley,2013年

有趣的答案,非常有见地。您是说posege趋势出现在70年代之前,但这与我的发现不一致(请参阅我的回答)。是什么使您想出这个日期?只是一个猜测,或者您还有其他信息吗?如果是后者,我将很高兴获得参考(以改善我的回答:))
Vasiliy

3

这里有一些基本假设在另一篇文章中介绍(我现在找不到)。

如果您计算放置的逻辑元件和时钟逻辑的总数(FF的总出货量),它们可能会出现在处理器和微处理器,Intel,DEC等中。这表明您最终得到了一小组负责数十年设计的人员/团队,内部工作细节不多。

相反,您有许多不同的团队从事ASIC流程,有更多的项目,但相应的数量却较少。

大多数处理器设计实际上不是正向或负向时钟,而是使用双锁存NOC(非重叠时钟)互补时钟方案进行设计。

因此,您最终得到一个输入->(逻辑云)->时钟闩锁->逻辑云->时钟模板闩锁。这是内部填充逻辑的主从FF的规范形式。

这种设计方法具有多个优点,但也具有额外的复杂性。

另一不幸的是,大多数大学并未教授这种设计方法。所有的Intel x86设计都是这种设计(不得将接口的外部操作与内部操作混淆)与他们为手机设计的著名的可合成SOC内核。

在“ Dally,William J.和John W. Poulton”中可以找到关于此问题的出色论述。数字系统工程。剑桥大学出版社,1998年。第9.5节讨论“开环同步定时” <章节标题。但是要引述“然而,在高端微处理器和系统设计中很少使用沿边沿触发的时序,这主要是因为它导致了取决于时钟偏斜的最小周期时间”。

是的,这是一个完全古怪的答案。但是考虑到这些设计中有多少个晶体管(批次),一种鲜为人知的重要方法。


我读了三遍,但是我仍然看不到这与OP的问题有什么关系……
Vasiliy

1
同样,说CPU是仅由锁存器构建的有点夸张(甚至可能不是“有点”)。锁存器用于高性能的关键逻辑(主要是数据路径),但是仍然存在许多触发器。锁存器的主要缺点是时序分析困难-由于基于锁存器的设计具有“时间借用”功能(与使该设计“更快”的功能相同),因此很难测试基于锁存器的时序闭合设计。在CPU的非关键部分,主要使用FF。
Vasiliy

标题中的关键字通常是“通常”-1)在设计的不同类型的芯片总数中-通常会使用ASIC流程和边沿触发。2)如果获胜的逻辑元件/晶体管CPU设计总数已获胜,然后基于锁存的双时钟获胜,则该语句无效。
占位符

1
您无法查看这些芯片的接口来确定内部操作是什么。正如我所说的,主从触发器只是基于两相时钟双逻辑云锁存器设计的简化版本。时序分析并不困难,实际上已经简化了。您最好确定自己的时钟域。
占位符

1
不,关键字是“触发器”和“时钟边缘”。锁存器是对电平敏感的设备,对边缘不敏感。苹果和橙子的男人-如果我想知道为什么橙子是橙子的,那么事实上,有很多人更喜欢苹果,这一事实是完全不相关的。
Vasiliy 2013年

2

当前的CMOS技术的性能(就功率/面积/速度/成本而言)似乎对所使用的触发方案不敏感。

我不能严格地证明上述陈述,因为它需要大量的初步知识和研究,甚至证明的摘要可能也太长而无法回答。据我所知,没有任何区别,因此让我假设情况就是如此。

我或者不知道您关于通常在时钟的上升沿触发触发器的说法是否正确(我相信是这样)。让我假设对于以下讨论的目的这也是正确的。

在以上所有假设下,我仅看到两种可能性:

  • 上升沿触发成为一种标准,因为它在过去的某些时候具有明显的优势。利用这一优势的技术过时之后,上升沿触发仍然是事实标准。
  • 上升沿触发成为没有任何工程合法性的标准,即,过去它在任何逻辑系列和任何技术节点中都没有提供任何优势。

为了了解何时将上升沿触发作为标准,我决定遵循英特尔CPU时钟方案的发展:

  1. ϕ2
  2. 8086:数据输出的锁存在CLK的沿完成。
  3. 80386:二手积极 CLK2的边缘。
  4. 80486:二手积极 CLK的边缘。
  5. 奔腾:用积极的 CLK的边缘......

英特尔似乎从负边缘触发开始(如果这个术语可能完全适用于第一个CPU),但从386开始切换到正边缘触发。

8086使用HMOS技术(某种耗尽负载NMOS逻辑),而80386使用CHMOS(它是CMOS)。看起来采用上升沿触发与采用CMOS技术是同时发生的。我们假设CMOS对正沿触发没有任何优势,因此看来这种约定是任意的。

但是,我们必须牢记三点​​:

  • 我们假设当前的 CMOS技术没有任何优势。
  • 以上假设未经任何形式的证明或辩论。
  • 从数据表中可以清楚看出数据输出锁存在哪个边缘,但是这可能并不代表内部实现。

显然,还有进一步研究的空间。未完待续...

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.