打印

多时域设计中,如何处理信号跨时域

[复制链接]
1461|11
手机看帖
扫描二维码
随时随地手机跟帖
沙发
lizye| | 2013-10-7 17:59 | 只看该作者
不同的时钟域之间信号通信时需要进行同步处理,这样可以防止新时钟域中第一级触发器的亚稳态信号对下级逻辑造成影响,其中对于单个控制信号可以用两级同步器,如电平、边沿检测和脉冲,对多位信号可以用FIFO,双口RAM,握手信号等。

使用特权

评论回复
板凳
heweibig| | 2013-10-7 18:01 | 只看该作者
跨时域的信号要经过同步器同步,防止亚稳态传播。

使用特权

评论回复
地板
zhenykun|  楼主 | 2013-10-7 18:01 | 只看该作者
能举个例子吗?

使用特权

评论回复
5
wuhany| | 2013-10-7 18:03 | 只看该作者
时钟域1中的一个信号,要送到时钟域2,那么在这个信号送到时钟域2之前,要先经过时钟域2的同步器同步后,才能进入时钟域2。

使用特权

评论回复
6
wuhany| | 2013-10-7 18:03 | 只看该作者
这个同步器就是两级d触发器,其时钟为时钟域2的时钟。

使用特权

评论回复
7
lizye| | 2013-10-7 18:05 | 只看该作者
对,这样做是怕时钟域1中的这个信号,可能不满足时钟域2中触发器的建立保持时间,而产生亚稳态,因为它们之间没有必然关系,是异步的。

使用特权

评论回复
8
jiahy| | 2013-10-7 18:05 | 只看该作者
这样做只能防止亚稳态传播,但不能保证采进来的数据的正确性。

使用特权

评论回复
9
shimx| | 2013-10-7 18:08 | 只看该作者
嗯,所以通常只同步很少位数的信号。比如控制信号,或地址。

使用特权

评论回复
10
shimx| | 2013-10-7 18:08 | 只看该作者
如果两个时钟域之间传送大量的数据,可以用异步FIFO来解决问题。

使用特权

评论回复
11
zhenykun|  楼主 | 2013-10-7 18:10 | 只看该作者
嗯,我知道了,先结贴了

使用特权

评论回复
12
zhenykun|  楼主 | 2013-10-7 18:11 | 只看该作者
多谢大家啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

868

主题

11535

帖子

3

粉丝