多路复用时钟和双沿时钟

关注、星标公众号,精彩内容每日送达
来源:网络素材

时钟多路器用于使同一个逻辑功能具有不同的时钟,比如在通信系统中,为了适应不同的数据速率要求,经常要进行时钟切换。有时为了节约功耗,也会把高速时钟切换到低速时钟,或者进行时钟休眠操作。下图是某一类型的时钟多路器:

8241e8245143113583008f26c1d676bb.jpeg

虽然在时钟信号上引入多路逻辑会产生毛刺等问题,但是在不同的应用中,对多路时钟的要求区别很大。时钟切换的最佳途径是使用FPGA内部的专用Clock MUX,这些MUX的反应速度快,锁定时间短,切换瞬间带来的冲击和抖动小。如果器件内没有专用的Clock MUX,应尽量满足如下几点:

  • 时钟切换控制逻辑在配置后将不再改变。

  • 在时钟切换后,对相关电路复位,以保证寄存器等电路状态不会锁死或者进入死循环。

  • 所设计的系统对时钟切换过程发生的短暂错误不敏感。

如果设计中时钟切换很频繁,并且不在复位时切换,设计中也不能允许出现短暂的错误,就必须使用同步设计以确保寄存器没有违背时序,时钟信号上不会出现毛刺等问题。下图是一个无毛刺的时钟多路复用器:

d28d449a4c1522b69eb55a814f327215.jpeg

上图的结构适用于任意数量的时钟通道,而且在切换的过程中,可以容许极端的竞争冒险。

以下是时钟多路复用器功能仿真波形图,具体代码请参考下方参考代码链接,同时Altera也提供了对应的IP核,详情请参考Clock Control Block (ALTCLKCTRL) Megafunction User Guide

02445e01abf98fdd5542451d3a5cf38e.jpeg

双沿时钟是指在时钟的上升沿和下降沿都传输数据,这样使得数据传输在给定的时钟速率下能达到双倍的吞吐率,下图是一个由双沿时钟触发电路:

3e47889ff26205cae3825d4efdd08f2c.jpeg

使用双沿时钟可能存在一些问题,时钟的非对称占空比可能导致违背建立和保持时钟,而且很难确定关键信号的路径。下图是时钟驱动的单沿数据传输和多沿数传输波形图:

03ad14ae3d6801d744a5c2fdb4eb3cc7.jpeg

在对性能和速度要求很高的情况下,并且无法承受使用等效同步电路在DFT和验证方面所带来的额外开销外,可使用双沿时钟。

1db95c42ac0bf7681f1465402d3ee045.jpeg

想要了解FPGA吗?这里有实例分享,ZYNQ设计,关注我们的公众号,探索

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值