多bit跨时钟域处理(1)-DMUX
1)基本模型结构

2)100M时钟到50M时钟的多bit跨时钟域处理代码
3)仿真代码
4)DMUX仿真波形
(1)din数据有效时间10ns,数据帧切换时间20ns(显然不满足要求)

din端的数据到dout失效
(2)din数据有效时间20ns,数据帧切换时间10ns(显然不满足要求)

din端的数据到dout部分丢失
(3)din数据有效时间20ns,数据帧切换时间40ns(显然不满足要求)

din端的数据到dout传输过程正确
5)DMUX必须满足的条件
(1)将DMUX的跨时钟域周期分为发射端时钟和接收端时钟
(2)DMUX做CDC的时候必须满足以下几个条件
1)发射端的din和vaildin的持续时间必须足够被接收端的时钟检测到
2)发射端的数据帧切换时间必须大于rxclk的三个周期,留足时间给打两拍处理
3)发射端的数据在vaildin信号失效之后保持不变,直到下一个vaildin有效信号到来再改变
(3)发射端时钟100M,接收端时钟50M,则发射端的数据帧切换间隔必须在60ns以上
(6)由于DMUX电路内部没有存储电路,所以对于两边速度不相同的跨时钟处理
需要满足一定的数据帧和数据持续时间的要求,即需要保证发射和接收端的
数据吞吐量在长时间轴上观察是相等的,则需要速度快的一方迁就另一方。
(7)DMUX的跨时钟传输效率比较低,对大吞吐量的CDC跨时钟处理,DMUX无法胜任。