对于一个时钟切换电路,输入两个异步时钟 clk0、clk1,以及一个选择信号 sel。
(1) 假设不考虑 glitch,直接使用Mux 就可以完成切频。电路如下:
由于 clk0/clk1/sel 之间是异步关系,时钟切换会发生在任意时刻,有一定的概率会发生glitch. glitch 的危害文章里已经详述,这里不再重复。
(2) 由于 sel 和 clk0 和 clk1 都是不同步的,我们可以从 sel 同步的方向入手,假如 sel 需要和 clk0和 clk1 进行同步,那么 sel 必须分成两路,一个和 clk0 同步,一个和 clk1 同步,同步之后的 sel 讯号再和 clk0/clk1 gating 起来,就可以让问题简单化。为了将 sel 分成两路,并且 clk0/clk1 需要分别 gating, 那么可以将 mux 逻辑用and/or设计出来,如下:
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !