前言
继续上篇写,最近沉迷游戏一直没有恢复学习状态,今天开始恢复!
今天这个内容跟之前的好像有些重复,不过没关系就当水一水吧~
注意事项
多比特信号进行同步时,如需要进行逻辑运算必须在源时钟域完成组合逻辑并寄存处理,不能分别同步到目的时钟域后再进行逻辑处理
这个老生常谈了,每个比特在同步过程中收敛的时刻不同,有的在第2拍采到正确值,有的在3拍采样到正确值,在目的时钟域对多个同步信号进行组合逻辑的话,产生的结果可能与预期不一致导致整个逻辑的混乱与传播。
同步器之间不能有任何组合逻辑
同样是老生常谈的一个点,同步就干干净净的处理就对了,千万别有组合逻辑,一是触发器路径延迟不同,高低电平传播时间不一致,组合逻辑会有错误逻辑以及竞争冒险与毛刺,同时也增加了采样的不稳定区间。
同源信号扇出多个触发器的情况,需要先同步再复制同步后的信号
典型的场景就是A -> B,A -> C,BC都在目的时钟域,此时不要讲同步器复制对A分别跨异步,而是要先将A同步到目的时钟域后再驱动多个逻辑路径。
使用格雷码跨异步,格雷码必须是依次变化的
比较典型的场景是计数器非整2的幂次计数翻转,这过程中会有格雷码多比特跳变的场景,不能使用格雷码同步器。此外使用格雷码同步器时,格雷码必须打拍输出,格雷码多比特的走线延迟建议不要大于Tmin_cyc(min 源、目的时钟周期