防止毛刺的时钟切换电路的设计思想_亚博

日期:2021-06-04 00:48:01 | 人气: 92064

本文摘要:以前有篇文章描写了时钟转换的时候毛刺(glitch)带给的危害,以及如何设计避免毛刺再次发生的时钟转换电路。

亚博

以前有篇文章描写了时钟转换的时候毛刺(glitch)带给的危害,以及如何设计避免毛刺再次发生的时钟转换电路。但是没谈到电路设计的构想从何而来,大家看了之后告诉必要用这个电路,但是假如不看这篇文章,自己由头设计还是无从下手。  在这里,换另外一个角度,通过电路设计技巧来阐释以防毛刺时钟转换电路的设计思路。  期望看完之后,不必参照文章就需要自己设计出有这个电路。

  对于一个时钟转换电路,输出两个异步时钟clk0、clk1,以及一个自由选择信号sel。  (1)假设不考虑到glitch,必要用于Mux就可以已完成切频。电路如下:    由于clk0/clk1/sel之间是异步关系,时钟转换不会再次发生在给定时刻,有一定的概率不会再次发生glitch.glitch的危害文章里早已概述,这里仍然反复。

  (2)由于sel和clk0和clk1都是不实时的,我们可以从sel实时的方向应从,假如sel必须和clk0和clk1展开实时,那么sel必需分为两路,一个和clk0实时,一个和clk1实时,实时之后的sel讯号再行和clk0/clk1gating一起,就可以让问题形式化。为了将sel分为两路,并且clk0/clk1必须分别gating,那么可以将mux逻辑用and/or设计出来,如下:    当然此Mux电路还可以用两个or再加一个and来构建,都可以。留意G0和G1两点就是分别对clk0和clk1展开gating.将来不会在G0/G1点放入实时DFF.  (3)将上面电路拆下出两部分,一部分电路通过sel产生sel+和sel-两路,另一部分电路是gatingmux电路,如下:    只必须将sel-接通G0,sel+接通G1就是一个mux电路。

将电路分离,是为了先前技巧性的功能更换。  (4)将part0电路替换成某种程度功能的带上对系统的人组电路(为何要这样做到,归属于电路设计直觉和技巧)。

最少见带上对系统的电路是RS触发器,因此可以将part0替换成如下电路。    (5)将part0_a或者part0_b更换part0电路,功能恒定。如下:    不过,此时放入实时DFF的地方就多了一个自由选择,如果必要在G0,G1放入实时DFF,clk0和clk1的gating时间先后顺序不确认,还是有可能再次发生毛刺。

而在s0和s1一处放入实时  DFF,正好利用对系统,让时钟转换按照安全性的顺序展开:  (a)。先gating寄居之前自由选择的时钟  (b)。

然后再行放松即将自由选择的时钟  在(a)和(b)之间,输入时钟仍然都是违宪状态(对于2and+1or的mux来说,违宪状态就是0)  (6)按照上面的分析,获得电路如下:    留意几点:  (1)对s0放入的DFF必须用clk0作为时钟,对于s1放入的DFF必须用clk1作为时钟。  (2)后一级的DFF必需用于clock上升沿,因为是用AND门展开gating(如果用下降沿,则更容易经常出现毛刺)。如果替换成2个OR+1个AND的MUX,则必需用下降沿。

  (3)必需放入两级DFF避免metalstable,前一级可以用下降沿,也可以用上升沿,用下降沿是为了节省时间。  (4)所有的DFF废黜值都是0,即让clk_out正处于违宪状态。  (5)必需符合先gating后放松的顺序,如果不符合,可以在G0/G1处各放入一个反相器。(用part0_b配上part1的时候必须放入反相器,如下图)    (6)配上有所不同的part0电路和part1电路,经过稍许改动,都可以已完成以防毛刺切频电路的设计。


本文关键词:亚博,雅博,亚博官网

本文来源:亚博-www.xsbwcl88.com