一款基于门控时钟的低功耗时序电路设计
在传统设计中,所有计算机运算(算法、逻辑和存储进程)都参考时钟同步执行,时钟增加了设计中的时序电路数量。在这个电池供电设备大行其道的移动时代,为了节省每一毫瓦(mW)的功耗,厂商间展开了残酷的竞争,因此将电路分成多个电源域并根据要求关闭它们,并且在设计每个时序电路的同时节省功耗,这两点至关重要。时序电路(如计数器和寄存器)在现代设计中无处不在。本文以约翰逊计数器为例介绍了如何采用有效门控时钟来设计高能效的时序电路。
本文引用地址:http://www.amcfsurvey.com/article/256541.htm约翰逊计数器系统,可同步提供多种特殊类型的数据序列,这对于大多数重要应用(如D/A转换器、FSM和时钟分频器)来说至关重要。为支持不同频率(从MHz 到 GHz)的模块,越来越多的IP集成到片上系统,因此,设计中在不同层级实施了许多可支持多个分频因子的时钟分频器。本文中,我们介绍了一款节能设计,即用带有门控时钟的多级可编程约翰逊计数器系统来取代多个时钟分频器,该计数器可提供8至任何偶数值(在本文中为38)的时钟分频因子。下面,我们将探讨实施细节和该技术的优劣。
典型时序电路
图1给出的是一款传统4位上升沿约翰逊计数器。约翰逊计数器只不过是修改过的移位寄存器,其最后一个D触发器的反相输出作为第一个D触发器的输入。所有其他触发器将接收上一个触发器所提供的输出。
如表1所示,在所有的纵列中,4个连续的“0”后面都跟随着4个连续的“1”,但所有纵列都位于不同的阶段。约翰逊计数器可同步创建一个特定的数据模式。该数据模式在建模时非常有用,因为它可以使用任何抽头就可以产生一个有不同阶段的时钟样式的模式。此外,从表中可以推导出,约翰逊计数器只使用了N个触发器提供2N个状态,因此,与标准环形计数器相比,约翰逊计数器仅需要一半数量的触发器便可实现同样的MOD。
典型时序电路的缺陷
如图1所示,这种电路最大的缺点是不可配置,因此,不能改变时钟分频因子。一个N触发器设计只能产生2N个周期的时钟。需要预先将固定数量的触发器加入到设计中,才能产生固定周期的时钟。这大大阻碍了特定时钟的设计,而且多个这样的设计,需要多种分频因子来进行分频。
另外,该设计非常耗能,并且也没有机制可通过高效门控时钟来节省动态功耗。如表1所示,Q3只能在时钟脉冲2和时钟脉冲6中改变其输出,对于所有其他时钟而言,触发器一次又一次地存储了相同的数据。这导致在时钟周期内产生了不必要的功耗,而采用适合的门控时钟可解决该问题。
通过调整结构和门控时钟来增强电路
任何时序电路都可通过调整结构和有效的门控时钟加以增强。图1中所示的约翰逊计数器在图2种得到了增强,可以灵活地支持多种分频因子,产生可变化的输出频率。
为了使其可编程,触发器的多个延迟阶段都加入了所需的组合逻辑,以根据所需分频因子进行选择。
图2显示的就是一款低功耗可编程约翰逊计数器。该电路包括级联延迟阶段B1、B2、B3、B4、逆变器I、参考时钟输入CLK、门控时钟逻辑CGL,以及控制逻辑(分频器和减法器),可根据要求选择触发器组合。
在图2所示的修改后的约翰逊计数器电路中,我们采用了19个D触发器,这些触发器提供8至38以内的偶数值的分频因子。可通过添加额外的触发器和多路复用器,使所需分频因子进一步增加至任何偶数值。多个路径可将触发器 “a、j、o和r” 的输出连接至相应的多路复用器输入,例如,分流路径将触发器 “a”的输出连接至第一个多路复用器的第一个输入,延迟路径则将触发器“a”的输出[经过一组触发器(b、c、d、e、f、g、h、i)]连接至第一个多路复用器的第二个输入。这种实施方案允许选择多路复用器输出,使电路具备所需的可配置性,可以支持多个分频因子。
如图3所示,为了节省功耗,控制电路输出馈入CGL中,以根据所需分频因子启用或禁用“延迟路径触发器”的时钟。当分频因子为2N时,需要N个触发器提供所需的时钟频率。为了促进多路复用器输入的选择,并为时钟门控逻辑启用所选的输入,我们添加了一个主要由减法器构成的控制逻辑。该减法器可根据用户所提供的分频因子,将N-4作为输出提供,并且减法器(sel[3:0])的二进制输出位数每个都可作为4个多路复用器(1st、2nd、3rd、4th)的相应选择线路,并使CGL以高效的方式对触发器的时钟进行门控。
这有效地实现了设计的可编程化,并降低了计数器的动态功耗。
电路相关文章:电路分析基础
分频器相关文章:分频器原理 尘埃粒子计数器相关文章:尘埃粒子计数器原理
评论