时钟类型
常日时钟可分为如下四种类型:全局时钟、门控时钟、多级逻辑时钟和颠簸式时钟。但是在实际事情中,一个设计里面,每每都是多时钟系统,即包括上述四种时钟类型的任意组合。
全局时钟全局时钟(或同步时钟)指的是一个别系或者一颗芯片里面,所有的电路、触发器都利用同一个时钟。全局时钟是最大略和最可预测的时钟。
在进行数字电路设计过程中,一个空想的时钟方案是:由专用的全局时钟输入引脚,引入一个主时钟,去驱动电路里面的每一个触发器。只要可能就应只管即便在设计项目中采取全局时钟。在一些逻辑器件里面(FPGA),都具有专门的全局时钟引脚,它直接连到器件中的每一个寄存器。
在图一中,给出一个全局时钟的例子。每个触发器的数据,都必须遵守建立韶光(setup time)和保持韶光(hold time)的约束条件。在ASIC设计中,setup/hold time韶光取决于,项目所采取的工艺库,电路须要跑的的最高频率等等成分(关于setup time和hold time部分,牵扯到时序剖析干系内容,本日的文章中,先不做谈论)。如果不知足setup/hold time,就不能担保寄存器能够捕获到精确的数据,导致电路的功能涌现缺点。
图一 全局时钟
门控时钟全局门控,仅仅适宜一些很小的项目。目前随着集成电路技能的发展,功能的增加,设计的繁芜度提升,在大部分的运用中,一个项目采取一个全局时钟的设计,都是不可能的。
在利用可编程逻辑过程中,具有乘积项逻辑阵列时钟(即时钟是由逻辑产生的),许可任意函数单独地,掌握各个触发器。以是就涌现了阵列时钟。
常日用阵列时钟构成门控时钟。门控时钟常常同微处理器接口有关,用地址线去掌握写脉冲。然而,每当用组合函数钟控触发器时,常日都存在着门控时钟。如果符合下述条件,门控时钟可以象全局时钟一样可靠地事情:
驱动时钟的逻辑必须只包含一个“与”门或一个“或”门。如果采取任何附加逻在某些事情状态下,会涌现竞争产生的毛刺。逻辑门的一个输入作为实际的时钟,而该逻辑门的所有其它输入必须当成地址或掌握线,它们遵守相对付时钟的建立和保持韶光的约束。图二 “与”门门控时钟
图三 “或”门门控时钟
其余,在ASIC设计过程中,随着设计繁芜度增加,人们对功耗的哀求越来越高,以是门控时钟现在作为一种有效的低功耗设计方法,被广泛的利用到设计过程中。这部分内容,后面在谈低功耗设计的文章中,我们再进行谈论,本日不再赘述。
多级逻辑时钟
当产生门控时钟的组合逻辑,超过一级(即超过单个的“与”门或“或”门)时,我们称之为多级逻辑时钟。
多级逻辑时钟使得,对设计的验证变得很困难,项目的可靠性变得很差。而且这种风险一样平常在仿真过程中,不会表示出来,但是在实际事情过程中,仍旧存在着很大的危险。在常日情形之下,我们不推举利用多级门控时钟。
颠簸式时钟末了一种时钟电路是颠簸式,即一个触发器的输出用作另一个触发器的时钟输入。
如果设计得当,行波时钟的可靠性较好,可以和全局时钟相提并论。
但是,颠簸式时钟,把和电路有关的定时打算变得繁芜化。行波时钟将导致在这条时钟链上各触发器的时钟之间,产生较大的韶光偏移,并且可能会超出最坏情形下的setup\hold time以及电路中时钟到输出的延时,使系统的实际速率低落。
小结可靠性是进行时钟系统设计的紧张考虑点,不能够在时钟上面有任何毛刺,并且为了降落可能的风险,要尽可能的使得时钟网络大略化。