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

[复制链接]
1755|11
 楼主| zhenykun 发表于 2013-10-7 17:58 | 显示全部楼层 |阅读模式
多时域设计中,如何处理信号跨时域
lizye 发表于 2013-10-7 17:59 | 显示全部楼层
不同的时钟域之间信号通信时需要进行同步处理,这样可以防止新时钟域中第一级触发器的亚稳态信号对下级逻辑造成影响,其中对于单个控制信号可以用两级同步器,如电平、边沿检测和脉冲,对多位信号可以用FIFO,双口RAM,握手信号等。
heweibig 发表于 2013-10-7 18:01 | 显示全部楼层
跨时域的信号要经过同步器同步,防止亚稳态传播。
 楼主| zhenykun 发表于 2013-10-7 18:01 | 显示全部楼层
能举个例子吗?
wuhany 发表于 2013-10-7 18:03 | 显示全部楼层
时钟域1中的一个信号,要送到时钟域2,那么在这个信号送到时钟域2之前,要先经过时钟域2的同步器同步后,才能进入时钟域2。
wuhany 发表于 2013-10-7 18:03 | 显示全部楼层
这个同步器就是两级d触发器,其时钟为时钟域2的时钟。
lizye 发表于 2013-10-7 18:05 | 显示全部楼层
对,这样做是怕时钟域1中的这个信号,可能不满足时钟域2中触发器的建立保持时间,而产生亚稳态,因为它们之间没有必然关系,是异步的。
jiahy 发表于 2013-10-7 18:05 | 显示全部楼层
这样做只能防止亚稳态传播,但不能保证采进来的数据的正确性。
shimx 发表于 2013-10-7 18:08 | 显示全部楼层
嗯,所以通常只同步很少位数的信号。比如控制信号,或地址。
shimx 发表于 2013-10-7 18:08 | 显示全部楼层
如果两个时钟域之间传送大量的数据,可以用异步FIFO来解决问题。
 楼主| zhenykun 发表于 2013-10-7 18:10 | 显示全部楼层
嗯,我知道了,先结贴了
 楼主| zhenykun 发表于 2013-10-7 18:11 | 显示全部楼层
多谢大家啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

868

主题

11535

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部
0