CN114089946A - 一种fifo装置和数据处理系统 - Google Patents

一种fifo装置和数据处理系统 Download PDF

Info

Publication number
CN114089946A
CN114089946A CN202210067858.4A CN202210067858A CN114089946A CN 114089946 A CN114089946 A CN 114089946A CN 202210067858 A CN202210067858 A CN 202210067858A CN 114089946 A CN114089946 A CN 114089946A
Authority
CN
China
Prior art keywords
signal
fifo
fifo module
input end
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210067858.4A
Other languages
English (en)
Other versions
CN114089946B (zh
Inventor
吴志伟
谭永亮
浦香君
梅�明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Yunbao Intelligent Co ltd
Original Assignee
Shenzhen Yunbao Intelligent Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Yunbao Intelligent Co ltd filed Critical Shenzhen Yunbao Intelligent Co ltd
Priority to CN202210067858.4A priority Critical patent/CN114089946B/zh
Publication of CN114089946A publication Critical patent/CN114089946A/zh
Application granted granted Critical
Publication of CN114089946B publication Critical patent/CN114089946B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/16Multiplexed systems, i.e. using two or more similar devices which are alternately accessed for enqueue and dequeue operations, e.g. ping-pong buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Abstract

本申请提供一种FIFO装置和数据处理系统,该FIFO装置包括:第一读地址输入端、第三读地址输入端、第一FIFO模块、第二FIFO模块及第一同步模块,第一读地址输入端用于输入第一读地址信号,第三读地址输入端用于输入第三读地址信号,输入第一FIFO模块的读时钟信号与输入第二FIFO模块的读时钟信号存在时钟漂移,当FIFO装置工作在第一模式时,通过将第一FIFO模块的读地址信号和空标记信号共享给第二FIFO模块,使得两个FIFO模块输出的数据同步。该FIFO装置实现了FIFO模块输出数据同步,极大的减少了后端连线,且两个FIFO模块的宽度和深度都不需要改变,FIFO资源利用更加充分灵活。

Description

一种FIFO装置和数据处理系统
技术领域
本申请涉及数据同步技术领域,具体涉及一种FIFO装置和数据处理系统。
背景技术
在DPU(Data Processing Unit)或其他大型芯片中,同一个数据包通常会发往不同的计算子系统进行相应的功能运算,计算完成后再汇聚到一个统一的控制子系统做处理。在一些模式下,不同的计算子系统需要保证延时一样,以便汇聚时数据是对齐的,后续逻辑可以对这两部分数据做合并操作。此外,计算子系统和控制子系统一般跑在不同的频率,两者之间的数据传输需要用到异步FIFO(First Input First Output),而且所有的子系统在后端实现上是分开处理的,每个子系统都是一个Harden,要求子系统之间的连线尽可能少。
芯片前端子系统接收数据流后,将其转发给计算子系统1和计算子系统2做对应的处理,一种场景是子系统1做包数据的编解码,子系统2做包数据的边带信号生成,两个子系统的延时在调试等对齐模式下需要保持一致,在大数据流等普通工作模式下子系统2的边带信号一般不需要跟数据对齐,只做笼统的记录即可,并且边带信号对应的FFIO深度也不需要像包数据流对应的FIFO那么大,图2示出了采用两个FIFO模块独立控制的电路图。
在对齐模式下,边带信号需要跟数据通路严格对齐。 ctr_clk1和ctr_clk2虽然由同源时钟产生,但延时会有很少量的差异,可能只有几十ps,但这个少量的差异在跨时钟域同步时可能会被放大到一个时钟周期,如图3所示,wr_addr1和wr_addr2是同时改变的,但由于ctr_clk1和ctr_clk2有细微的差别,这个差别如果正好发生在原始写地址指针改变的时候,造成了同步后的wr_addr1_ctr和wr_addr2_ctr差了一个时钟周期,进而比较产生的空标志也差了一个时钟周期,最终造成两个FIFO输出结果的不对齐,体现在图2中的pkt_data_sync[511:0]和pkt_sideband_sync[11:0]会有可能的一拍差别,而且这个差别是不确定性的,制造时不同的芯片会有不同的行为,导致了下游逻辑比较难处理。
发明内容
针对现有技术中的问题,本申请提供一种FIFO装置以及数据处理系统,以解决由于两个FIFO模块存在时钟漂移而导致FIFO模块在对齐模式下输出不同步以及后端连线复杂的问题。
为了解决上述问题,本申请提供以下技术方案:
本发明第一方面提供一种FIFO装置,包括用于输入第一读地址信号的第一读地址输入端、用于输入第三读地址信号的第三读地址输入端、第一FIFO模块、第二FIFO模块及第一同步模块;
所述第一FIFO模块用于缓存第一数据信号,所述第二FIFO模块用于缓存第二数据信号,输入所述第一FIFO模块的读时钟信号与输入所述第二FIFO模块的读时钟信号存在时钟漂移;
所述第一FIFO模块的读地址信号输入端输入所述第一读地址信号,其中所述第一读地址信号的低N位地址与所述第三读地址信号的地址相同,N为所述第二FIFO模块的地址信号位宽,
所述第一同步模块包括第一读使能信号生成单元、第二读使能信号生成单元以及第四读地址信号生成单元,其中
所述第一读使能信号生成单元用于根据所述第一FIFO模块的空标志信号生成第一读使能信号,并将所述第一读使能信号输出给所述第一FIFO模块的读使能信号输入端;
所述第二读使能信号生成单元用于在所述FIFO装置处于第一工作模式时根据所述第一FIFO模块的空标志信号生成第二读使能信号,并将所述第二读使能信号输出给所述第二FIFO模块的读使能信号输入端;
所述第四读地址信号生成单元用于在所述FIFO装置处于第一工作模式时将所述第三读地址信号输出给所述第二FIFO模块的读地址信号输入端。
优选地,所述FIFO装置还包括用于输入第二读地址信号的第二读地址输入端,其中,
所述第二读使能信号生成单元还用于在所述FIFO装置处于第二工作模式时根据所述第二FIFO模块的空标志信号生成第二读使能信号,并将所述第二读使能信号输出给所述第二FIFO模块的读使能信号输入端;
所述第四读地址信号生成单元还用于在所述FIFO装置处于第二工作模式时将所述第二读地址信号输出给所述第二FIFO模块的读地址信号输入端。
优选地,所述FIFO装置还包括工作模式信号输入端,用于输入所述FIFO装置的工作模式信号。
优选地,所述第四读地址信号生成单元包括第一选择器,所述第一选择器的一选择信号输入端与所述第一读地址输入端连接,所述第一选择器的另一选择信号输入端与所述第三读地址输入端连接,所述第一选择器的控制信号输入端与所述工作模式信号输入端连接,所述第一选择器的输出端与所述第二FIFO模块的读地址信号输入端连接。
优选地,所述第二读使能信号生成单元包括第二选择器和第一反相器,其中
所述第二选择器的一选择信号输入端与所述第一FIFO模块的空标志信号输出端连接,所述第二选择器的另一选择信号输入端与所述第二FIFO模块的空标志信号输出端连接,所述第二选择器的控制信号输入端与所述工作模式信号输入端连接,所述第二选择器的输出端与所述第一反相器的输入端连接,所述第一反相器的输出端与所述第二FIFO模块的读使能信号输入端连接。
优选地,所述FIFO装置还包括第一写地址输入端和第二写地址输入端,所述第一写地址输入端用于输入第一写地址信号,所述第二写地址输入端用于输入第二写地址信号,所述第一同步模块还包括第一FIFO模块的空标志信号生成单元和第二FIFO模块的空标志信号生成单元,其中,
所述第一FIFO模块的空标志信号生成单元用于根据所述第一读地址信号和所述第一写地址信号生成并输出所述第一FIFO模块的空标志信号;
所述第二FIFO模块的空标志信号生成单元用于根据所述第二读地址信号和所述第二写地址信号生成并输出所述第二FIFO模块的空标志信号。
优选地,所述第一FIFO模块的空标志信号生成单元包括第一比较器和第一同步器,所述第二FIFO模块的空标志信号生成单元包括第二比较器和第二同步器,其中,
所述第一同步器的输入端与所述第一写地址输入端连接,所述第一同步器的输出端与所述第一比较器的一输入端连接,所述第一比较器的另一输入端连接所述第一读地址输入端,所述第一比较器的输出端为所述第一FIFO模块的空标志信号生成单元的输出端;
所述第二同步器的输入端与所述第二写地址输入端连接,所述第二同步器的输出端与所述第二比较器的一输入端连接,所述第二比较器的另一输入端与所述第二写地址输入端连接,所述第二比较器的输出端为所述第二FIFO模块的空标志信号生成单元的输出端。
优选地,所述FIFO装置还包括第三写地址输入端以及第二同步模块,所述第三写地址输入端用于输入第三写地址信号,其中所述第一写地址信号的低N位地址与所述第三写地址信号相同,N为所述第二FIFO模块的地址信号位宽以2为底的对数;
输入所述第一FIFO模块的写时钟信号与输入所述第二FIFO模块的写时钟信号存在时钟漂移,
所述第二同步模块包括第四写地址信号生成单元、第一写使能信号生成单元和第二写使能信号生成单元,其中:
所述第四写地址信号生成单元用于在所述FIFO装置工作在第三工作模式时,将所述第三写地址信号输出给所述第二FIFO模块的写地址信号输入端,
第一写使能信号生成单元用于根据所述第一FIFO模块的满标志信号生成所述第一写使能信号,并将所述第一写使能信号输出给所述第一FIFO模块的写使能信号输入端;
第二写使能信号生成单元用于在所述FIFO装置工作在第三工作模式时根据所述第一FIFO模块的满标志信号生成第二写使能信号,并将所述第二写使能信号输出给所述第二FIFO模块的写使能信号输入端。
优选地,所述FIFO装置还包括第二写地址输入端,用于输入第二写地址信号,其中,
所述第四写地址信号生成单元还用于在所述FIFO装置工作在第四工作模式时,将所述第二写地址信号输出给所述第二FIFO模块的写地址信号输入端;
所述第二写使能信号生成单元还用于在所述FIFO装置工作在第四工作模式时,根据所述第二FIFO模块的满标志信号生成第二写使能信号,并将所述第二写使能信号输出给所述第二FIFO模块的读使能信号输入端。
优选地,所述第四写地址信号生成单元包括第三选择器,所述第三选择器的一选择信号输入端与所述第一写地址输入端连接,所述第三选择器的另一选择信号输入端与所述第三写地址输入端连接,所述第三选择器的输出端与所述第二FIFO模块的写地址信号输入端连接,所述第三选择器的控制信号输入端与所述FIFO装置工作模式信号输入端连接。
优选地,所述第二写使能信号生成单元包括第四选择器和第三反相器,所述第四选择器的一选择信号输入端与所述第一FIFO模块的满标志信号输出端连接,所述第四选择器的另一选择信号输入端与所述第二FIFO模块的满标志信号输出端连接,所述第四选择器的控制信号输入端与所述工作模式信号输入端连接,所述第四选择器的输出端与所述第三反相器的输入端连接,所述第三反相器的输出端与所述第二FFIO模块的写使能信号输入端连接。
优选地,所述第二同步模块还包括第一FIFO模块的满标志信号生成单元和第二FIFO模块的满标志信号生成单元,
所述第一FIFO模块的满标志信号生成单元用于根据所述第一读地址信号和所述第一写地址信号生成并输出所述第一FIFO模块的满标志信号;
所述第二FIFO模块的满标志信号生成单元用于根据所述第二读地址信号和所述第二写地址信号生成并输出所述第二FIFO模块的满标志信号。
优选地,所述第一FIFO模块的满标志信号生成单元包括第三同步器和第三比较器,所述第二FIFO模块的满标志信号生成单元包括第四同步器和第四比较器,
所述第三同步器的输入端与所述第一读地址输入端连接,所述第三同步器的输出端与所述第三比较器的一输入端连接,所述第三比较器的另一输入端连接所述第一写地址输入端,所述第一比较器的输出端为所述第一FIFO模块满标志信号生成单元的输出端;
所述第四同步器的输入端与所述第二读地址输入端连接,所述第二同步器的输出端与所述第四比较器的一输入端连接,所述第四比较器的另一输入端与所述第二读地址输入端连接,所述第四比较器的输出端为所述第二FIFO模块的满标志信号生成单元的输出端。
本发明第二方面提供一种数据处理系统,包括前述的FIFO装置、控制单元以及工作模式信号输出单元,
所述控制单元用于生成第一读数据指令和第二读数据指令;
所述工作模式信号输出单元用于输出工作模式信号;
所述FIFO装置响应于所述第一读数据指令、所述第二读数据指令以及所述工作模式信号从所述第一FIFO模块中输出所述第一数据信号以及从所述第二FIFO模块中输出所述第二数据信号,所述控制单元还用于对所述第一数据信号和所述第二数据信号进行处理。
优选地,所述处理系统还包括第一数据处理单元和第二数据处理单元,
所述第一数据处理单元用于生成第一写数据指令;
所述第二数据处理单元用于生成第二写数据指令;
所述FIFO装置用于响应于所述第一写数据指令、所述第二写数据指令以及所述工作模式信号将所述第一数据信号写入所述第一FIFO模块中,以及将所述第二数据信号写入所述第二FIFO模块中。
本发明的有益效果:该FIFO装置的第一同步模块在FIFO装置处于第一工作模式时通过将第一FIFO模块的读地址信号和空标志信号共享给第二FIFO模块,实现了第一FIFO模块和第二FIFO模块输出数据同步,该FIFO装置可以极大的减少后端连线,并且第一FIFO模块和第二FIFO模块的宽度和深度都不需要改变,FIFO资源利用更加充分灵活。此外,本发明的FIFO装置还通过第二同步模块实现了第一FIFO模块和第二FIFO模块写数据的同步。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,
图1为现有技术中一典型系统的结构框图;
图2为现有技术中两个FIFO模块独立控制的电路图;
图3为现有技术中两个FIFO模块独立控制时的时序图;
图4为本申请实施例一中的FIFO装置的结构框图;
图5为本申请实施例一中的FIFO装置的电路图;
图6为本申请实施例二中的FIFO装置的结构框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明实施例一提供一种FIFO装置,如图4所示,包括用于输入第一读地址信号rd_addr11的第一读地址输入端、用于输入第三读地址信号rd_addr13的第三读地址输入端、第一FIFO模块3、第二FIFO模块4及第一同步模块100,第一FIFO模块3用于缓存第一数据信号pkt_data ,第二FIFO模块用于缓存第二数据信号pkt_sideband,输入第一FIFO模块3的读时钟信号ctr_clk1与输入第二FIFO模块的读时钟信号ctr_clk2为同时域时钟信号,但存在时钟漂移,第一FIFO模块3的读地址信号输入端rd_addr1输入第一读地址信号rd_addr11,其中第一读地址信号rd_addr11的低N位地址与第三读地址信号rd_addr13的地址相同,2N为第二FIFO模块4的深度值,N为第二FIFO模块4的地址信号位宽,第一同步模块100包括第一读使能信号生成单元12、第二读使能信号生成单元13以及第四读地址信号生成单元11,其中第一读使能信号生成单元12用于根据第一FIFO模块3的空标志信号empty1生成第一读使能信号read_ena1,并将第一读使能信号read_ena1输出给第一FIFO模块3的读使能信号输入端rd_en1,第二读使能信号生成单元13用于在FIFO装置处于第一工作模式时根据第一FIFO模块3的空标志信号empty1生成第二读使能信号read_ena2,并将第二读使能信号read_ena2输出给第二FIFO模块4的读使能信号输入端rd_en2 ,第四读地址信号生成单元11用于在FIFO装置处于第一工作模式时将第三读地址信号rd_addr13输出给第二FIFO模块4的读地址信号输入端rd_addr2。
其中,第一工作模式为对齐模式,即第一FIFO模块3和第二FIFO模块4输出的数据需要对齐,例如测试模式。
举例说明,假设第一FIFO模块3的深度为28位,宽度为29位,第二FIFO模块4的深度为25位,宽度为26位,若第一读地址信号为rd_addr11[7:0],第二读地址信号为rd_addr12[4:0],则第三读地址信号为rd_addr13[4:0]= rd_addr11[4:0],即第三读地址信号为第一读地址信号的低5位信号,例如第一读地址信号为[00100111],则第三读地址信号为[00111]。
其中,FIFO空标志表示FIFO已空或将要空时由FIFO的状态电路送出的一个信号,以阻止FIFO的读操作继续从FIFO中读出数据而造成无效数据的读出。
该FIFO装置工作在第一模式下时通过将第一FIFO模块的读地址信号和空标志信号共享给第二FIFO模块,实现了第一FIFO模块和第二FIFO模块输出数据同步,并且通过共享读地址信号和空标志信号极大的减少了后端连线,此外第一FIFO模块和第二FIFO模块的宽度和深度都不需要改变,FIFO资源利用更加充分灵活。
在一实施方式中, FIFO装置还包括用于输入第二读地址信号rd_addr12的第二读地址输入端,其中,第二读使能信号生成单元13还用于在FIFO装置处于第二工作模式时根据第二FIFO模块4的空标志信号empty2生成第二读使能信号read_ena2,并将第二读使能信号read_ena2输出给第二FIFO模块4的读使能信号输入端read_en2,第四读地址信号生成单元11还用于在FIFO装置处于第二工作模式时将第二读地址信号rd_addr12输出给第二FIFO模块4的读地址信号输入端rd_addr2。
其中,第二工作模式为普通模式,即第一FIFO模块3和第二FIFO模块4输出的数据不需要对齐的模式。
具体地,FIFO装置还包括FIFO装置工作模式信号输入端,用于输入工作模式信号align_mode。
在一实施方式中,FIFO装置还包括第一写地址输入端和第二写地址输入端,第一写地址输入端用于输入第一写地址信号wr_addr11,第二写地址输入端用于输入第二写地址信号wr_addr12,第一同步模块100还包括第一FIFO模块的空标志信号生成单元和第二FIFO模块的空标志信号生成单元,其中,第一FIFO模块的空标志信号生成单元用于根据第一读地址信号rd_addr11和所述第一写地址信号wr_addr11生成并输出第一FIFO模块的空标志信号empty1;第二FIFO模块的空标志信号生成单元用于根据第二读地址信号rd_addr12和第二写地址信号wr_addr12生成并输出第二FIFO模块的空标志信号empty2。
结合图5,所述第一FIFO模块的宽度为28位,深度为29位,第二FIFO模块的宽度为25位,深度为26位,第四读地址信号生成单元11包括第一选择器,第一选择器的一选择信号输入端与第一读地址输入端连接,第一选择器的另一选择信号输入端与第三读地址输入端连接,第一选择器的控制信号输入端与第一控制信号输出端连接,第一选择器的输出端与第二FIFO模块的读地址信号输入端连接。
结合图5,第二读使能信号生成单元包括第二选择器和第一反相器,其中第二选择器的一选择信号输入端与第一FIFO模块空标志信号生成单元的输出端连接,第二选择器的一选择信号输入端与第二FIFO模块空标志信号生成单元的输出端连接,第二选择器的控制信号输入端与第二控制信号输出端连接,第二选择器的控制信号输出端与第一反相器的输入端连接,第一反相器的输出端与第二FIFO模块的读使能信号输入端连接。
结合图5,第一FIFO模块空标志信号生成单元包括第一比较器和第一同步器,第一同步器的输入端与第一写地址输入端连接,第一同步器的输出端与第一比较器的一输出端连接,第一比较器的另一输入端连接第一读地址输入端,第一比较器的输出端为第一FIFO模块空标志信号生成单元的输出端。
结合图5,第二FIFO模块空标志信号生成单元包括第二比较器和第二同步器,第一同步器的输入端与第二写地址输入端连接,第二同步器的输出端与第二比较器的一输入端连接,第二比较器的另一输入端与第二写地址输入端连接,第二比较器的输出端为第二FIFO模块空标志信号生成单元的输出端。
结合5,第一读使能信号生成单元12包括第二反相器,第二反相器的输入端与第一比较器的输出端连,第一反相器的输出端为所述第一读使能信号输出端。
在图5示出的第一FIFO模块的深度为28位、宽度为29位,第二FIFO模块的深度为25位、宽度为26位的情况下,其将后端实现需要拉线的64-bit数据信号线减少为6-bit信号线,其中5bit为第三读地址信号输入端对应的信号线以及empty1连接到第二使能信号生成单元的1bit空标志信号线。需要说明的是,在FIFO的数据位宽更大的情况下,其对后端实现的优势更加明显。
基于实施例一,本发明实施例二提供一种FIFO装置,如图6所示,该FIFO装置在前述实施例的基础上进一步包括第三写地址输入端和第二同步模块200,第三写地址输入端用于输入第三写地址信号wr_addr13,第二同步模块200包括第四写地址信号生成单元21、第一写使能信号生成单元22和第二写使能信号生成单元23,其中,第四写地址信号生成单元21用于在FIFO装置工作在第三工作模式时,将第三写地址信号wr_addr13输出给第二FIFO模块4的写地址信号输入端wr_addr2,第一写使能信号生成单元22用于根据第一FIFO模块3的满标志信号full1生成第一写使能信号write_ena1,并将第一写使能信号write_ena1输出给第一FIFO模块3的写使能信号输入端write_en1,第二写使能信号生成单元23用于在FIFO装置工作在第三工作模式时根据第一FIFO模块3的满标志信号full1生成第二写使能信号write_ena2,并将第二写使能信号write_ena2输出给所述第二FIFO模块的写使能信号输入端write_en2。
其中,FIFO满标志表示FIFO已满或将要满时由FIFO的状态电路送出的一个信号,以阻止FIFO的写操作继续向FIFO中写数据而造成溢出。
该FIFO装置在前述实施例的基础上,通过将第一FIFO模块的写地址信号和满标志信号共享给第二FIFO模块,实现了第一FIFO模块和第二FIFO模块写入数据同步。
其中,第三工作模式指对齐模式,即写入第一FIFO模块的第一数据信号和写入第二FIFO模块的第二数据信号需要对齐的情况,例如测试。
在一实施方式中, FIFO装置还包括第二写地址输入端,用于输入第二写地址信号wr_addr12,其中,第四写地址信号生成单元21还用于在FIFO装置工作在第四工作模式时,将第二写地址信号wr_addr12输出给第二FIFO模块4的写地址信号输入端wr_addr2,第二写使能信号生成单元23还用于在FIFO装置工作在第四工作模式时,根据第二FIFO模块4的满标志信号full2生成第二写使能信号write_ena2,并将第二写使能信号write_ena2输出给所述第二FIFO模块的写使能信号输入端write_en2。
其中,第四工作模式指普通工作模式,即写入第一FIFO模块的第一数据信号和写入第二FIFO模块的第二数据信号不需要对齐的情况。
结合图5,第四写地址生成单元21包括第三选择器,第三选择器的一选择信号输入端与第一写地址输入端连接,第三选择器的另一选择信号输入端与第三写地址输入端连接,第三选择器的输出端与第二FIFO模块的写地址信号输入端连接,第三选择器的控制信号输入端与第三控制信号输出端连接。
结合图5,第二写使能信号生成单元23包括第四选择器和第三反相器,第四选择器的一选择信号输入端与第一FIFO模块满标志信号生成单元的输出端连接,第四选择器的另一选择信号输入端与第二FIFO模块满标志信号生成单元的输出端连接,第四选择器的控制信号输入端与第四控制信号输出端连接,第四选择器的输出端与第三反相器的输入端连接,第三反相器的输出端与第二FFIO模块的写使能信号输入端连接。
结合图5,第一FIFO模块3的满标志信号生成单元包括第三同步器和第三比较器,第三同步器的输入端与第一读地址输入端连接,第三同步器的输出端与第三比较器的一输入端连接,第三比较器的另一输入端连接第一写地址输入端,第一比较器的输出端为所述第一FIFO模块的满标志信号生成单元的输出端。
第二FIFO模块4的满标志信号生成单元包括第四同步器和第四比较器,第四同步器的输入端与第二读地址输入端连接,第四同步器的输出端与第四比较器的一输入端连接,第四比较器的另一输入端与第二写地址输入端连接,第四比较器的输出端为第二FIFO模块的满标志信号生成单元的输出端。
本发明实施例的FIFO装置,在实现了第一FIFO模块和第二FIFO模块读出数据同步的同时,还实现了第一FIFO模块和第二FIFO模块写数据同步。
基于本发明实施例二,本发明实施例三提供一种数据处理系统,该数据处理系统包括前述的FIFO装置、控制单元以及工作模式信号输出单元,其中,控制单元用于生成第一读数据指令和第二读数据指令,工作模式信号输出单元用于输出工作模式信号,FIFO装置响应于所述第一读数据指令、第二读指令以及工作模式信号从第一FIFO模块中输出第一数据信号以及从第二FIFO模块中输出所述第二数据信号,控制单元还用于对所述第一数据信号和第二数据信号进行处理。
具体地,处理系统还包括第一数据处理单元和第二数据处理单元,第一数据处理单元用于生成第一写数据指令,第二数据处理单元用于生成第二写数据指令,FIFO装置用于响应于第一写数据指令、第二写数据指令以及工作模式信号将第一数据信号写入第一FIFO模块中,以及将第二数据信号写入第二FIFO模块中。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (15)

1.一种FIFO装置,其特征在于,包括第一读地址输入端、第三读地址输入端、第一FIFO模块、第二FIFO模块及第一同步模块;
所述第一读地址输入端用于输入第一读地址信号,所述第三读地址输入端用于输入第三读地址信号;
所述第一FIFO模块用于缓存第一数据信号,所述第二FIFO模块用于缓存第二数据信号,输入所述第一FIFO模块的读时钟信号与输入所述第二FIFO模块的读时钟信号存在时钟漂移;
所述第一FIFO模块的读地址信号输入端输入所述第一读地址信号,其中所述第一读地址信号的低N位地址与所述第三读地址信号的地址相同,N为所述第二FIFO模块的地址信号位宽,
所述第一同步模块包括第一读使能信号生成单元、第二读使能信号生成单元以及第四读地址信号生成单元,其中
所述第一读使能信号生成单元用于根据所述第一FIFO模块的空标志信号生成第一读使能信号,并将所述第一读使能信号输出给所述第一FIFO模块的读使能信号输入端;
所述第二读使能信号生成单元用于在所述FIFO装置处于第一工作模式时,根据所述第一FIFO模块的空标志信号生成第二读使能信号,并将所述第二读使能信号输出给所述第二FIFO模块的读使能信号输入端;
所述第四读地址信号生成单元用于在所述FIFO装置处于第一工作模式时将所述第三读地址信号输出给所述第二FIFO模块的读地址信号输入端。
2.根据权利要求1所述的FIFO装置,其特征在于,所述FIFO装置还包括第二读地址输入端,用于输入第二读地址信号,其中,
所述第二读使能信号生成单元还用于在所述FIFO装置处于第二工作模式时,根据所述第二FIFO模块的空标志信号生成第二读使能信号,并将所述第二读使能信号输出给所述第二FIFO模块的读使能信号输入端;
所述第四读地址信号生成单元还用于在所述FIFO装置处于第二工作模式时,将所述第二读地址信号输出给所述第二FIFO模块的读地址信号输入端。
3.根据权利要求2所述的FIFO装置,其特征在于,所述FIFO装置还包括工作模式信号输入端,用于输入所述FIFO装置的工作模式信号。
4.根据权利要求3所述的FIFO装置,其特征在于,所述第四读地址信号生成单元包括第一选择器,所述第一选择器的一选择信号输入端与所述第一读地址输入端连接,所述第一选择器的另一选择信号输入端与所述第三读地址输入端连接,所述第一选择器的控制信号输入端与所述工作模式信号输入端连接,所述第一选择器的输出端与所述第二FIFO模块的读地址信号输入端连接。
5.根据权利要求3所述的FIFO装置,其特征在于,所述第二读使能信号生成单元包括第二选择器和第一反相器,其中
所述第二选择器的一选择信号输入端与所述第一FIFO模块的空标志信号输出端连接,所述第二选择器的另一选择信号输入端与所述第二FIFO模块的空标志信号输出端连接,所述第二选择器的控制信号输入端与所述工作模式信号输入端连接,所述第二选择器的输出端与所述第一反相器的输入端连接,所述第一反相器的输出端与所述第二FIFO模块的读使能信号输入端连接。
6.根据权利要求5所述的FIFO装置,其特征在于,所述FIFO装置还包括第一写地址输入端和第二写地址输入端,所述第一写地址输入端用于输入第一写地址信号,所述第二写地址输入端用于输入第二写地址信号,所述第一同步模块还包括第一FIFO模块的空标志信号生成单元和第二FIFO模块的空标志信号生成单元,其中,
所述第一FIFO模块的空标志信号生成单元用于根据所述第一读地址信号和所述第一写地址信号生成并输出所述第一FIFO模块的空标志信号;
所述第二FIFO模块的空标志信号生成单元用于根据所述第二读地址信号和所述第二写地址信号生成并输出所述第二FIFO模块的空标志信号。
7.根据权利要求6所述的FIFO装置,其特征在于,所述第一FIFO模块的空标志信号生成单元包括第一比较器和第一同步器,所述第二FIFO模块的空标志信号生成单元包括第二比较器和第二同步器,其中,
所述第一同步器的输入端与所述第一写地址输入端连接,所述第一同步器的输出端与所述第一比较器的一输入端连接,所述第一比较器的另一输入端连接所述第一读地址输入端,所述第一比较器的输出端为所述第一FIFO模块的空标志信号生成单元的输出端;
所述第二同步器的输入端与所述第二写地址输入端连接,所述第二同步器的输出端与所述第二比较器的一输入端连接,所述第二比较器的另一输入端与所述第二写地址输入端连接,所述第二比较器的输出端为所述第二FIFO模块的空标志信号生成单元的输出端。
8.根据权利要求7所述的FIFO装置,其特征在于,所述FIFO装置还包括第三写地址输入端以及第二同步模块,所述第三写地址输入端用于输入第三写地址信号,其中所述第一写地址信号的低N位地址与所述第三写地址信号相同,N为所述第二FIFO模块的地址信号位宽;
输入所述第一FIFO模块的写时钟信号与输入所述第二FIFO模块的写时钟信号存在时钟漂移,
所述第二同步模块包括第四写地址信号生成单元、第一写使能信号生成单元和第二写使能信号生成单元,其中:
所述第四写地址信号生成单元用于在所述FIFO装置工作在第三工作模式时,将所述第三写地址信号输出给所述第二FIFO模块的写地址信号输入端,
第一写使能信号生成单元用于根据所述第一FIFO模块的满标志信号生成所述第一写使能信号,并将所述第一写使能信号输出给所述第一FIFO模块的写使能信号输入端;
第二写使能信号生成单元用于在所述FIFO装置工作在第三工作模式时,根据所述第一FIFO模块的满标志信号生成第二写使能信号,并将所述第二写使能信号输出给所述第二FIFO模块的写使能信号输入端。
9.根据权利要求8所述的FIFO装置,其特征在于,所述FIFO装置还包括第二写地址输入端,用于输入第二写地址信号,其中,
所述第四写地址信号生成单元还用于在所述FIFO装置工作在第四工作模式时,将所述第二写地址信号输出给所述第二FIFO模块的写地址信号输入端;
所述第二写使能信号生成单元还用于在所述FIFO装置工作在第四工作模式时,根据所述第二FIFO模块的满标志信号生成第二写使能信号,并将所述第二写使能信号输出给所述第二FIFO模块的写使能信号输入端。
10.根据权利要求9所述的FIFO装置,其特征在于,所述第四写地址信号生成单元包括第三选择器,所述第三选择器的一选择信号输入端与所述第一写地址输入端连接,所述第三选择器的另一选择信号输入端与所述第三写地址输入端连接,所述第三选择器的输出端与所述第二FIFO模块的写地址信号输入端连接,所述第三选择器的控制信号输入端与所述工作模式信号输入端连接。
11.根据权利要求9所述的FIFO装置,其特征在于,所述第二写使能信号生成单元包括第四选择器和第三反相器,所述第四选择器的一选择信号输入端与所述第一FIFO模块的满标志信号输出端连接,所述第四选择器的另一选择信号输入端与所述第二FIFO模块的满标志信号输出端连接,所述第四选择器的控制信号输入端与所述工作模式信号输入端连接,所述第四选择器的输出端与所述第三反相器的输入端连接,所述第三反相器的输出端与所述第二FFIO模块的写使能信号输入端连接。
12.根据权利要求9所述的FIFO装置,其特征在于,所述第二同步模块还包括第一FIFO模块的满标志信号生成单元和第二FIFO模块的满标志信号生成单元,
所述第一FIFO模块的满标志信号生成单元用于根据所述第一读地址信号和所述第一写地址信号生成并输出所述第一FIFO模块的满标志信号;
所述第二FIFO模块的满标志信号生成单元用于根据所述第二读地址信号和所述第二写地址信号生成并输出所述第二FIFO模块的满标志信号。
13.根据权利要求10所述的FIFO装置,其特征在于,所述第一FIFO模块的满标志信号生成单元包括第三同步器和第三比较器,所述第二FIFO模块的满标志信号生成单元包括第四同步器和第四比较器,
所述第三同步器的输入端与所述第一读地址输入端连接,所述第三同步器的输出端与所述第三比较器的一输入端连接,所述第三比较器的另一输入端连接所述第一写地址输入端,所述第一比较器的输出端为所述第一FIFO模块满标志信号生成单元的输出端;
所述第四同步器的输入端与所述第二读地址输入端连接,所述第二同步器的输出端与所述第四比较器的一输入端连接,所述第四比较器的另一输入端与所述第二读地址输入端连接,所述第四比较器的输出端为所述第二FIFO模块的满标志信号生成单元的输出端。
14.一种数据处理系统,其特征在于,包括如权利要求3-13任一项所述的FIFO装置、控制单元以及工作模式信号输出单元,
所述控制单元用于生成第一读数据指令和第二读数据指令;
所述工作模式信号输出单元用于输出工作模式信号;
所述FIFO装置响应于所述第一读数据指令、所述第二读数据指令以及所述工作模式信号从所述第一FIFO模块中输出所述第一数据信号以及从所述第二FIFO模块中输出所述第二数据信号,所述控制单元还用于对所述第一数据信号和所述第二数据信号进行处理。
15.根据权利要求14所述的处理系统,其特征在于,所述处理系统还包括第一数据处理单元和第二数据处理单元,
所述第一数据处理单元用于生成第一写数据指令;
所述第二数据处理单元用于生成第二写数据指令;
所述FIFO装置响应于所述第一写数据指令、所述第二写数据指令以及所述工作模式信号将所述第一数据信号写入所述第一FIFO模块中,以及将所述第二数据信号写入所述第二FIFO模块中。
CN202210067858.4A 2022-01-20 2022-01-20 一种fifo装置和数据处理系统 Active CN114089946B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210067858.4A CN114089946B (zh) 2022-01-20 2022-01-20 一种fifo装置和数据处理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210067858.4A CN114089946B (zh) 2022-01-20 2022-01-20 一种fifo装置和数据处理系统

Publications (2)

Publication Number Publication Date
CN114089946A true CN114089946A (zh) 2022-02-25
CN114089946B CN114089946B (zh) 2022-04-19

Family

ID=80308945

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210067858.4A Active CN114089946B (zh) 2022-01-20 2022-01-20 一种fifo装置和数据处理系统

Country Status (1)

Country Link
CN (1) CN114089946B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1428945A (zh) * 2001-12-22 2003-07-09 深圳市中兴通讯股份有限公司上海第二研究所 一种从同步数字传送体系中恢复e3/t3支路信号的装置
CN1549963A (zh) * 2001-08-29 2004-11-24 皇家飞利浦电子股份有限公司 具有顺序和非顺序块访问的缓冲器系统
CN1567830A (zh) * 2003-06-24 2005-01-19 中兴通讯股份有限公司 传输设备多通道网管装置及方法
US20060109929A1 (en) * 2004-11-19 2006-05-25 Agere Systems Inc. Methods and apparatus for interface buffer management and clock compensation in data transfers
CN101299647A (zh) * 2008-06-27 2008-11-05 中兴通讯股份有限公司 一种实现sdh业务无损切换的装置和方法
CN111367495A (zh) * 2020-03-06 2020-07-03 电子科技大学 一种异步先入先出的数据缓存控制器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1549963A (zh) * 2001-08-29 2004-11-24 皇家飞利浦电子股份有限公司 具有顺序和非顺序块访问的缓冲器系统
CN1428945A (zh) * 2001-12-22 2003-07-09 深圳市中兴通讯股份有限公司上海第二研究所 一种从同步数字传送体系中恢复e3/t3支路信号的装置
CN1567830A (zh) * 2003-06-24 2005-01-19 中兴通讯股份有限公司 传输设备多通道网管装置及方法
US20060109929A1 (en) * 2004-11-19 2006-05-25 Agere Systems Inc. Methods and apparatus for interface buffer management and clock compensation in data transfers
CN101299647A (zh) * 2008-06-27 2008-11-05 中兴通讯股份有限公司 一种实现sdh业务无损切换的装置和方法
CN111367495A (zh) * 2020-03-06 2020-07-03 电子科技大学 一种异步先入先出的数据缓存控制器

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
MOHAMMAD AYOUB KHAN .ETC: "n-Bit multiple read and write FIFO memory model for network-on-chip", 《2011 WORLD CONGRESS ON INFORMATION AND COMMUNICATION TECHNOLOGIES》 *
叶波等: "PDH到622Mb/s SDH/SONET映射芯片实现", 《电子学报》 *
宋威等: "异步片上网络研究综述", 《计算机辅助设计与图形学学报》 *
王大磊等: "基于PCI Express总线的数据处理与传输卡的设计与实现", 《信息工程大学学报》 *
陈庆宇等: "面向AHB总线从单元的可复用接口设计", 《微电子学与计算机》 *

Also Published As

Publication number Publication date
CN114089946B (zh) 2022-04-19

Similar Documents

Publication Publication Date Title
US10599178B2 (en) Data transfer between asynchronous clock domains
US10318468B2 (en) FPGA-based interface signal remapping method
US8520464B2 (en) Interface circuit and semiconductor device incorporating same
US9330031B2 (en) System and method for calibration of serial links using a serial-to-parallel loopback
JP2002323995A (ja) トレース回路
GB2505002A (en) Monitoring buffer capacity when transferring data between domains using different clock signals
CN116795172B (zh) 一种用于高速数字传输的跨时钟域处理方法、介质及装置
JP2021507363A (ja) シリアル通信装置
CN112712829A (zh) 一种跨时钟域的寄存器读写电路及方法
JP2004062630A (ja) Fifoメモリ及び半導体装置
CN114089946B (zh) 一种fifo装置和数据处理系统
US9606891B2 (en) Tracing data from an asynchronous interface
CN113491082B (zh) 一种数据处理装置
CN116594932A (zh) 一种首字直通的先进先出存储设备及方法
CN216697244U (zh) 一种fifo电路和数据处理系统
US10044496B2 (en) Bandwidth amplification using pre-clocking
JPH04279945A (ja) メモリ回路
JP3475857B2 (ja) ソースシンクロナス転送方式
US7752475B2 (en) Late data launch for a double data rate elastic interface
US7620798B1 (en) Latency tolerant pipeline synchronization
CN114185822B (zh) 多指针弹性缓冲器、增删控制字符的方法及存储介质
EP0988603B1 (en) Method and arrangement for connecting processor to asic
CN110825688B (zh) 一种时钟系统
JP2000155701A (ja) デバッグ回路
CN117311662A (zh) 一种数据清除系统及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant