“回收利用”数字系统中的时钟偏移
时间:08-24 11:11 阅读:941次
*温馨提示:点击图片可以放大观看高清大图
简介:最近看了一下ALTERA的《QuartusII TimeQuest Timing Analyzer Cookbook》和一本由美国人John F.Wakerly著写的《Digital Design Principles and Practices》,觉得对时钟信号的偏移问题有了些认识。
在数字系统中,有多种原因可能导致时钟偏移,例如互连线的长度、温度变化、容性耦合等,尽管它的“存在”有可能会导致数字系统在运行过程中产生难以预料的竞争冒险或者逻辑错误,但是觉得它还是可以“回收利用”的。
首先看个图,如下:
这里,两个触发器从理论上讲是同一个时钟信号输入,但是实际上时钟信号到达B的时间比到达A的时间还是晚了一些,这是由于当一个时钟源驱动两个触发器时,分别连接到两个不同时钟输入端的导线长度通常是不一样的,So,时钟信号的延时也就不同步了。这种现象给它一个名字叫“时钟偏移”。
从上面两个图可知,我们不仅必须考虑到各种因素来很好地确定不同时钟信号的输入延迟,同时,我们也应该比较准确地把握好不同时钟信号的输出延迟。否则的话就无从谈起“回收利用”它了。
其实,时钟偏移并不总是给系统带来负面影响的,我们还可以利用它来改进电路的时序,就是通过人为地“制造”一些滞后或者超前的时钟偏移,以此来改善系统中其中一部分电路的定时裕量,例如在Timing Analyzer中我们可以利用时钟偏移来改变时钟信号的占空比,比如一般的时钟信号占空比是50/50,那么可以改成60/40,如下图:
当我们在Timing Analyzer中建立了一个时钟信号时,它的第一个上升沿或者下降沿是从0开始的,此时,我们可以利用“时钟偏移”现象给这个时钟信号人为地增加一个延时,以备在时序分析中用到(比如,系统在初始化时复位一下),如下图: