法律状态公告日
法律状态信息
法律状态
2022-12-16
专利权的转移 IPC(主分类):G06F13/16 专利号:ZL2012103832617 登记生效日:20221202 变更事项:专利权人 变更前权利人:中国航空工业集团公司第六三一研究所 变更后权利人:西安翔腾微电子科技有限公司 变更事项:地址 变更前权利人:710068 陕西省西安市太白北路156号 变更后权利人:710075 陕西省西安市高新一路25号创新大厦S303室
专利申请权、专利权的转移
2016-12-21
授权
授权
2014-05-14
实质审查的生效 IPC(主分类):G06F13/16 申请日:20121011
实质审查的生效
2014-04-16
公开
公开
技术领域
本发明属于计算-电数字数据处理技术领域,涉及一种数据同步方法,尤其 涉及一种基于异步FIFO的多路异步数据同步方法。
背景技术
某数据总线为多路余度方式,多路总线上传输相同的数据,多路数据需要 在某一时间内同时读取,然后根据数据相互比较的结果,判别出有效的数据, 但是由于时钟和布线差异,多路数据到来的时间不完全一致,最多允许相差4个 周期,目前没有同类处理方法。
发明内容
为了解决背景技术中存在的上述技术问题,本发明提供了一种可实现数据 同步和对齐以及有效检查总线数据的基于异步FIFO的多路异步数据同步方法。
本发明的技术解决方案是:本发明提供了一种基于异步FIFO的多路异步数 据同步方法,其特殊之处在于:所述基于异步FIFO的多路异步数据同步方法包 括以下步骤:
1)高频时钟对接收到的总线数据进行采样;
2)采样到的数据缓存到多路位宽为1位的异步FIFO中;
3)通过异步FIFO和对齐状态机组合来实现数据的同步和对齐处理。
上述步骤3)的具体实现方式是:
3.1)将对齐控制状态机进行复位;所述复位后的对齐控制状态机设置有等 待状态、判断状态以及接收状态;
3.2)对齐控制状态机读取异步FIFO中的数据并进行同步和对齐处理。
上述步骤3.2)的具体实现方式是:
3.2.1)系统复位完成后,对齐控制状态机处于等待状态,当多路数据FIFO 进入等待状态时并都为均有数据时,所述多路数据FIFO直接进入判断状态进行 判断;当多路数据FIFO都为空时,所述多路数据FIFO处于等待状态;当多路数 据FIFO中至少有一路数据是非空时,所述对齐控制状态机启动计数器进行计数, 当计数器计数值为经历4个时钟周期后,所述多路数据FIFO进入判断状态;
3.2.2)所述多路数据FIFO在判断状态时,由对齐控制状态机读出多路串行 数据,并根据多路数据的读出结果,进行数据有效性的判断;若读取的多路数 据FIFO有效,则将多路数据FIFO进入接收状态;若读取的多路数据FIFO无效, 则将多路数据FIFO转入等待状态;
3.2.3)判断步骤3.2.2)中的多路数据FIFO是否都有数据;若多路数据FIFO 都是非空时,则将多路数据FIFO进行寄存和输出;若多路数据FIFO中至少两路 数据为空时,所述多路数据FIFO接收状态等待一个时钟周期,如果等待一个周 期后多路数据FIFO中仍有数据为空时,则将多路数据FIFO转入判断状态;如果 等待一个周期后多路数据FIFO都是非空时,则将多路数据FIFO进行寄存和输出。
上述步骤3.2.2)中有效性的判断是依据总线协议中的数据有效性表、多路 数据每一路的非空以及各路数据之间的关系进行数据有效性的判断。
上述异步FIFO是通用的异步FIFO,读写使用不同频率的时钟,FIFO有表示 内部数据空满的指示信号。
本发明具有以下优点:
采用多个异步FIFO对多路余度数据进行缓冲来实现数据同步;采用对齐控 制状态机实现了多路异步数据的对齐,在使用状态机控制对齐过程中使用计数 器增实现等待机制,增强了对齐效果。通过异步FIFO和对齐控制状态机的组合 消除了多路数据之间由于时钟和布线差异造成的数据间延迟。通过该方法对对 齐后的总线数据进行有效性检查。根据该对齐方式,可进行推广完成类似总线 数据对齐及有效性检查的工作。
附图说明
图1是本发明所提供的基于异步FIFO的多路异步数据同步方法的示意图;
图2是本发明所提供的基于异步FIFO的多路异步数据同步方法的流程示意 图。
具体实施方式
本发明提供了一种基于异步FIFO的多路异步数据同步方法,该方法包括以 下步骤:
1)高频时钟对接收到的总线数据进行采样;
2)采样到的数据缓存到多路位宽为1位的异步FIFO中;
3)通过异步FIFO和对齐状态机组合来实现数据的同步和对齐处理:
3.1)将对齐控制状态机进行复位;所述复位后的对齐控制状态机设置有等 待状态、判断状态以及接收状态;
3.2)对齐控制状态机读取异步FIFO中的数据并进行同步和对齐处理:
3.2.1)系统复位完成后,对齐控制状态机处于等待状态,当多路数据FIFO 进入等待状态时并都为均有数据(都为非空)时,所述多路数据FIFO直接进入 判断状态进行判断;当多路数据FIFO都为空时,所述多路数据FIFO处于等待状 态;当多路数据FIFO中至少有一路数据是非空时,所述对齐控制状态机启动计 数器进行计数,当计数器计数值为经历4个时钟周期后,所述多路数据FIFO进入 判断状态;此时的计数器仅在等待状态并且满足至少有一路数据非空执行计数 操作,在发现多路数据都为非空时候,计数器计数值清零,计数器在时钟的边 沿进行计数。
3.2.2)所述多路数据FIFO在判断状态时,由对齐控制状态机读出多路串行 数据,并根据多路数据的读出结果,进行数据有效性的判断;若读取的多路数 据FIFO有效,则将多路数据FIFO进入接收状态;若读取的多路数据FIFO无效, 则将多路数据FIFO转入等待状态;有效性的判断是依据总线协议中的数据有效 性表、多路数据每一路的非空以及各路数据之间的关系进行数据有效性的判断。
3.2.3)判断步骤3.2.2)中的多路数据FIFO是否都有数据;若多路数据FIFO 都是非空时,则将多路数据FIFO进行寄存和输出;若多路数据FIFO中至少两路 数据为空时,所述多路数据FIFO接收状态等待一个时钟周期,如果等待一个周 期后多路数据FIFO中仍有数据为空时,则将多路数据FIFO转入判断状态;如果 等待一个周期后多路数据FIFO都是非空时,则将多路数据FIFO进行寄存和输出。 此时,计数器仅在接收状态并且满足至少有两路数据为空执行计数操作,在发 现多路数据都为非空时候,计数器计数值清零,计数器在时钟的边沿进行计数。
参见图1和图2,使用高频时钟对接收到的总线数据进行采样,把采样到的 数据缓存到多个位宽为1位的异步FIFO中,通过对齐控制状态机控制FIFO中数据 的读取,通过FIFO和对齐状态机组合来实现数据的同步和对齐处理。
FIFO为通用的异步FIFO,读写可使用不同频率的时钟,FIFO有表示内部数 据空满的指示信号。
本发明所示方法可使用硬件描述语言实现,FIFO的写入使用不同的时钟, FIFO的读取和状态机的控制均使用同步电路实现(使用同一个时钟)。
异步FIFO的读使能条件:在等待状态和接收状态的时候,如果满足到判断 状态的跳转条件时,产生多路数据异步FIFO的读使能信号。
数据有效性判断举例:如四路数据总线A,B,C,D。其中A数据无效根据 总线数据检查规则,A=B,A=D,C=B,C=D,发现只有A=B和C=B项规则成立, 则数据A,B和C为有效,D为无效。
机译: 通过基于缓冲区已满或进入FIFO的数据包结束来启动FIFO输出,最大限度地减少异步FIFO下溢和超载
机译: 异步FIFO控制器和防止异步FIFO缓冲区数据溢出的方法
机译: 顺序控制电路,数据处理设备之间的异步FIFO和顺序控制方式之间的异步FIFO用于