发明名称 一种将异步时钟域转换成同步时钟域的方法
摘要 本发明提供了一种将异步时钟域转换成同步时钟域的方法,直接使用同步时钟对异步时钟域中的异步写地址状态信号进行采样,并应用预先设定的规则,在特定的读地址位置对同步时钟域中的读地址进行调整,使得在实现异步信号时钟域转换的同时,实现了不同异步数据帧之间的帧头对齐的处理。应用本发明,实现结构简单,容易理解,避免了格雷码变换等复杂处理,使得设计流程大大简化,节约了实现的逻辑资源。
申请公布号 CN100499420C 申请公布日期 2009.06.10
申请号 CN03153668.9 申请日期 2003.08.19
申请人 华为技术有限公司 发明人 孟庆锋
分类号 H04J13/00(2006.01)I;H04B7/26(2006.01)I;H04B7/02(2006.01)I 主分类号 H04J13/00(2006.01)I
代理机构 北京德琦知识产权代理有限公司 代理人 张颖玲
主权项 1、一种将异步时钟域转换成同步时钟域的方法,其特征在于,该方法包括以下步骤:a、设置异步时钟域中的每个异步信号对应一个地址发生计数器,且每个异步信号的帧头信号对其所对应的地址发生计数器进行周期置位,将该经过置位的地址发生计数器的值作为每个异步信号所对应双口RAM的写地址,并根据双口RAM的写地址设置该双口RAM的写地址状态指示信号;b、用同步时钟对异步写地址状态指示信号进行采样,得到同步写地址状态指示信号;c、同步时钟域中设置与异步时钟域中相同数量的地址发生计数器,每个同步信号的帧头信号对其所对应的地址发生计数器进行周期置位,且该地址发生计数器的值作为每个同步信号所对应双口RAM的读地址,根据同步写地址状态指示信号,当异步信号的帧长K大于等于4时,读地址的判断位置为n×K-1,其中,RAM深度为帧长的整数倍,n为小于等于双口RAM深度a除以K的自然数,在该读地址的判断位置上判断读地址r_add与写地址w_add之间的距离是否小于等于预先设定的危险距离L,如果是,则令与该异步信号相对应的读地址等于读地址减去帧长K再加1,否则对读地址不做调整;当异步信号的帧长小于4时,读地址的判断位置在n×K-1中以等间隔cK抽取,具体为:cK-1、2cK-1......rcK-1,其中,RAM深度为帧长的整数倍,n和r均为小于等于双口RAM深度a除以K的自然数,在该读地址的判断位置上判断读地址r_add与写地址w_add之间的距离是否小于等于预先设定的危险距离L,如果是,则令与该异步信号相对应的读地址等于读地址减去抽取间隔cK再加1,否则对读地址不做调整。
地址 518057广东省深圳市科技园科发路华为用服大厦