基于异步fifo的多路异步数据同步方法

文档序号:6489746阅读:607来源:国知局
基于异步fifo的多路异步数据同步方法
【专利摘要】本发明涉及一种基于异步FIFO的多路异步数据同步方法,该方法包括:1)高频时钟对接收到的总线数据进行采样;2)采样到的数据缓存到多路位宽为1位的异步FIFO中;3)通过异步FIFO和对齐状态机组合来实现数据的同步和对齐处理。本发明可实现数据同步和对齐以及有效检查总线数据的基于异步FIFO的多路异步数据同步方法。
【专利说明】基于异步FIFO的多路异步数据同步方法
【技术领域】
[0001]本发明属于计算-电数字数据处理【技术领域】,涉及一种数据同步方法,尤其涉及一种基于异步FIFO的多路异步数据同步方法。
【背景技术】
[0002]某数据总线为多路余度方式,多路总线上传输相同的数据,多路数据需要在某一时间内同时读取,然后根据数据相互比较的结果,判别出有效的数据,但是由于时钟和布线差异,多路数据到来的时间不完全一致,最多允许相差4个周期,目前没有同类处理方法。

【发明内容】

[0003]为了解决【背景技术】中存在的上述技术问题,本发明提供了一种可实现数据同步和对齐以及有效检查总线数据的基于异步FIFO的多路异步数据同步方法。
[0004]本发明的技术解决方案是:本发明提供了一种基于异步FIFO的多路异步数据同步方法,其特殊之处在于:所述基于异步FIFO的多路异步数据同步方法包括以下步骤:
[0005]I)高频时钟对接收到的总线数据进行采样;
[0006]2)采样到的数据缓存到多路位宽为I位的异步FIFO中;
[0007]3)通过异步FIFO和对齐状态机组合来实现数据的同步和对齐处理。
[0008]上述步骤3)的具体实现方式是:
[0009]3.1)将对齐控制状态机进行复位;所述复位后的对齐控制状态机设置有等待状态、判断状态以及接收状态;
[0010]3.2)对齐控制状态机读取异步FIFO中的数据并进行同步和对齐处理。
[0011]上述步骤3.2)的具体实现方式是:
[0012]3.2.1)系统复位完成后,对齐控制状态机处于等待状态,当多路数据FIFO进入等待状态时并都为均有数据时,所述多路数据FIFO直接进入判断状态进行判断;当多路数据FIFO都为空时,所述多路数据FIFO处于等待状态;当多路数据FIFO中至少有一路数据是非空时,所述对齐控制状态机启动计数器进行计数,当计数器计数值为经历4个时钟周期后,所述多路数据FIFO进入判断状态;
[0013]3.2.2)所述多路数据FIFO在判断状态时,由对齐控制状态机读出多路串行数据,并根据多路数据的读出结果,进行数据有效性的判断;若读取的多路数据FIFO有效,则将多路数据FIFO进入接收状态;若读取的多路数据FIFO无效,则将多路数据FIFO转入等待状态;
[0014]3.2.3)判断步骤3.2.2)中的多路数据FIFO是否都有数据;若多路数据FIFO都是非空时,则将多路数据FIFO进行寄存和输出;若多路数据FIFO中至少两路数据为空时,所述多路数据FIFO接收状态等待一个时钟周期,如果等待一个周期后多路数据FIFO中仍有数据为空时,则将多路数据FIFO转入判断状态;如果等待一个周期后多路数据FIFO都是非空时,则将多路数据FIFO进行寄存和输出。[0015]上述步骤3.2.2)中有效性的判断是依据总线协议中的数据有效性表、多路数据每一路的非空以及各路数据之间的关系进行数据有效性的判断。
[0016]上述异步FIFO是通用的异步FIFO,读写使用不同频率的时钟,FIFO有表示内部数据空满的指示信号。
[0017]本发明具有以下优点:
[0018]采用多个异步FIFO对多路余度数据进行缓冲来实现数据同步;采用对齐控制状态机实现了多路异步数据的对齐,在使用状态机控制对齐过程中使用计数器增实现等待机制,增强了对齐效果。通过异步FIFO和对齐控制状态机的组合消除了多路数据之间由于时钟和布线差异造成的数据间延迟。通过该方法对对齐后的总线数据进行有效性检查。根据该对齐方式,可进行推广完成类似总线数据对齐及有效性检查的工作。
【专利附图】

【附图说明】
[0019]图1是本发明所提供的基于异步FIFO的多路异步数据同步方法的示意图;
[0020]图2是本发明所提供的基于异步FIFO的多路异步数据同步方法的流程示意图。
【具体实施方式】
[0021]本发明提供了一种基于异步FIFO的多路异步数据同步方法,该方法包括以下步骤:
[0022]I)高频时钟对接收到的总线数据进行采样;
[0023]2)采样到的数据缓存到多路位宽为I位的异步FIFO中;
[0024]3)通过异步FIFO和对齐状态机组合来实现数据的同步和对齐处理:
[0025]3.1)将对齐控制状态机进行复位;所述复位后的对齐控制状态机设置有等待状态、判断状态以及接收状态;
[0026]3.2)对齐控制状态机读取异步FIFO中的数据并进行同步和对齐处理:
[0027]3.2.1)系统复位完成后,对齐控制状态机处于等待状态,当多路数据FIFO进入等待状态时并都为均有数据(都为非空)时,所述多路数据FIFO直接进入判断状态进行判断;当多路数据FIFO都为空时,所述多路数据FIFO处于等待状态;当多路数据FIFO中至少有一路数据是非空时,所述对齐控制状态机启动计数器进行计数,当计数器计数值为经历4个时钟周期后,所述多路数据FIFO进入判断状态;此时的计数器仅在等待状态并且满足至少有一路数据非空执行计数操作,在发现多路数据都为非空时候,计数器计数值清零,计数器在时钟的边沿进行计数。
[0028]3.2.2)所述多路数据FIFO在判断状态时,由对齐控制状态机读出多路串行数据,并根据多路数据的读出结果,进行数据有效性的判断;若读取的多路数据FIFO有效,则将多路数据FIFO进入接收状态;若读取的多路数据FIFO无效,则将多路数据FIFO转入等待状态;有效性的判断是依据总线协议中的数据有效性表、多路数据每一路的非空以及各路数据之间的关系进行数据有效性的判断。
[0029]3.2.3)判断步骤3.2.2)中的多路数据FIFO是否都有数据;若多路数据FIFO都是非空时,则将多路数据FIFO进行寄存和输出;若多路数据FIFO中至少两路数据为空时,所述多路数据FIFO接收状态等待一个时钟周期,如果等待一个周期后多路数据FIFO中仍有数据为空时,则将多路数据FIFO转入判断状态;如果等待一个周期后多路数据FIFO都是非空时,则将多路数据FIFO进行寄存和输出。此时,计数器仅在接收状态并且满足至少有两路数据为空执行计数操作,在发现多路数据都为非空时候,计数器计数值清零,计数器在时钟的边沿进行计数。
[0030]参见图1和图2,使用高频时钟对接收到的总线数据进行采样,把采样到的数据缓存到多个位宽为I位的异步FIFO中,通过对齐控制状态机控制FIFO中数据的读取,通过FIFO和对齐状态机组合来实现数据的同步和对齐处理。
[0031]FIFO为通用的异步FIF0,读写可使用不同频率的时钟,FIFO有表示内部数据空满的指示信号。
[0032]本发明所示方法可使用硬件描述语言实现,FIFO的写入使用不同的时钟,FIFO的读取和状态机的控制均使用同步电路实现(使用同一个时钟)。
[0033]异步FIFO的读使能条件:在等待状态和接收状态的时候,如果满足到判断状态的跳转条件时,产生多路数据异步FIFO的读使能信号。
[0034]数据有效性判断举例:如四路数据总线A,B, C,D。其中A数据无效根据总线数据检查规则,A=B, A=D, C=B, C=D,发现只有A=B和C=B项规则成立,则数据A,B和C为有效,D为无效。
【权利要求】
1.一种基于异步FIFO的多路异步数据同步方法,其特征在于:所述基于异步FIFO的多路异步数据同步方法包括以下步骤: O高频时钟对接收到的总线数据进行采样; 2)采样到的数据缓存到多路位宽为I位的异步FIFO中; 3)通过异步FIFO和对齐状态机组合来实现数据的同步和对齐处理。
2.根据权利要求1所述的基于异步FIFO的多路异步数据同步方法,其特征在于:所述步骤3)的具体实现方式是: 3.1)将对齐控制状态机进行复位;所述复位后的对齐控制状态机设置有等待状态、判断状态以及接收状态; 3.2)对齐控制状态机读取异步FIFO中的数据并进行同步和对齐处理。
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进行寄存和输出。
4.根据权利要求3所述的基于异步FIFO的多路异步数据同步方法,其特征在于:所述步骤3.2.2)中有效性的判断是依据总线协议中的数据有效性表、多路数据每一路的非空以及各路数据之间的关系进行数据有效性的判断。
5.根据权利要求1或2或3或4所述的基于异步FIFO的多路异步数据同步方法,其特征在于:所述异步FIFO是通用的异步FIFO,读写使用不同频率的时钟,FIFO有表示内部数据空满的指示信号。
【文档编号】G06F13/16GK103729312SQ201210383261
【公开日】2014年4月16日 申请日期:2012年10月11日 优先权日:2012年10月11日
【发明者】田泽, 郭亮, 许宏杰, 杨峰, 刘宁宁, 马宁, 刘浩, 淮治华 申请人:中国航空工业集团公司第六三一研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1