CN111262655B - 基于异步时钟的fpga万兆以太网数据高速发送方法 - Google Patents

基于异步时钟的fpga万兆以太网数据高速发送方法 Download PDF

Info

Publication number
CN111262655B
CN111262655B CN202010040924.XA CN202010040924A CN111262655B CN 111262655 B CN111262655 B CN 111262655B CN 202010040924 A CN202010040924 A CN 202010040924A CN 111262655 B CN111262655 B CN 111262655B
Authority
CN
China
Prior art keywords
data
signal
asynchronous fifo
asynchronous
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.)
Active
Application number
CN202010040924.XA
Other languages
English (en)
Other versions
CN111262655A (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.)
Jiangsu Fangtian Power Technology Co Ltd
Original Assignee
Jiangsu Fangtian Power Technology 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 Jiangsu Fangtian Power Technology Co Ltd filed Critical Jiangsu Fangtian Power Technology Co Ltd
Priority to CN202010040924.XA priority Critical patent/CN111262655B/zh
Publication of CN111262655A publication Critical patent/CN111262655A/zh
Application granted granted Critical
Publication of CN111262655B publication Critical patent/CN111262655B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/4226Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with asynchronous protocol
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Abstract

本发明公开提供了一种基于异步时钟的FPGA万兆以太网数据高速发送方法,包括以下步骤:写控制模块接收到AXI‑Stream总线的待发送以太网数据后,根据待发送数据的AXI4‑Stream总线状态以及异步FIFO的可编程满状态信号prog_full来控制异步FIFO的写入,同时,读控制模块根据异步FIFO读数据状态以及异步FIFO的可编程空状态信号prog_empty来控制异步FIFO的读出,异步FIFO读出的以太网数据再传输到万兆以太网MAC中进行发送。本发明针对万兆以太网传输特性,采用了对异步FIFO进行写控制和读控制的方案,既解决了万兆以太网数据跨时钟域问题又有效提高了数据发送速率和保证了数据完整性,具有结构简单,易于实现的特点。

Description

基于异步时钟的FPGA万兆以太网数据高速发送方法
技术领域
本发明涉及数据传输技术领域,尤其涉及一种基于AXI-Stream协议的FPGA万兆以太网数据线速传输方法。
背景技术
Xilinx公司提供的FPGA的IP核的数据传输接口大多为AXI接口,特别是其提供的万兆以太网IP核中所提供的数据传输接口为AXI-Stream接口,并且由于Xilinx的7series和Ultrascale的FPGA在架构上不同,其对应的万兆以太网IP核有所区别,在使用万兆以太网IP核时数据传输的AXI-Stream接口的发送和接收端在不同的时钟域下工作,这样就必须对其进行跨时钟域操作。
而Xilinx公司现有提供的AXI-Stream接口的FIFO在实际对万兆以太网IP核进行跨时钟域使用过程中,会出现当数据吞吐量接近线速时会出现错帧现象,具体表现为异步时钟的差异可能导致FIFO写满丢失部分数据从而导致错帧,这样一来在实际使用中一旦吞吐量大时就会造成数据的丢失,达不到线速要求。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是针对现有技术中,没有在FIFO存满的情况下针对万兆以太网数据传输特性进行丢弃一些数据帧,传输速率不到10Gbps以及传输中错帧数量大的问题,通过使用一个异步FIFO并针对万兆以太网数据的特性进行FIFO写控制和FIFO读控制,将万兆以太网的传输速率提升到接近10Gbps不丢帧和不错帧,当存在数据突发的情况时能够缓存数据并对长时间10Gbps传输的数据进行丢帧处理以防止错帧,达到提高传输速率和减少错帧的目的。
为了实现上述目的,本发明采用以下技术方案:
本发明提供了一种基于异步时钟的FPGA万兆以太网数据高速发送方法,在FPGA上建立通过AXI4-Stream总线进行通信的写控制模块,异步FIFO、读控制模块、万兆以太网MAC,其中写控制模块和异步FIFO的写入端工作在第一时钟域A,读控制模块、万兆以太网MAC和异步FIFO的读出端工作在第二时钟域B;
所述写控制模块根据待发送数据的AXI4-Stream总线状态以及异步FIFO的可编程满状态信号prog_full,来控制异步FIFO写入端的FIFO写使能信号wr_en,其中异步FIFO可编程满状态信号prog_full有效的条件设置为异步FIFO能够容纳的数据量小于万兆以太网传输所容忍的最大帧长的K倍, 其中K的范围为[0.01,0.125];
所述读控制模块根据异步FIFO读数据状态以及异步FIFO的可编程空状态信号prog_empty,来控制异步FIFO读出端的FIFO读使能信号rd_en以及万兆以太网MAC的读出数据有效信号axis_tvalid,其中异步FIFO可编程空状态信号prog_empty有效的条件设置为异步FIFO能够容纳的数据量大于设定的阈值,该阈值与时钟域A与时钟域B之间的精准度频差相关。
进一步的,本发明所提出的一种基于异步时钟的FPGA万兆以太网数据高速发送方法,写控制模块实现的流程为:
异步FIFO的写数据由tdata,tkeep,tlast三类信号构成,异步FIFO写数据的位宽是这三类信号位宽的总和,这三类信号直接来自待发送数据AXI4-Stream总线的发送数据axis_tdata,保持发送数据信号axis_tkeep, 发送数据的最后标志位信号axis_tlast;
异步FIFO的写使能信号wr_en由待发数据AXI4-Stream总线的发送数据有效信号axis_tvalid信号与中间控制信号wr_mask逻辑与产生;
所述wr_mask信号在上电时设置为高电平,在待发数据AXI4-Stream总线的axis_tvalid信号与axis_tlast信号都为高电平时设置为异步FIFO可编程满状态信号prog_full的反状态;
待发送数据AXI4-Stream总线的传输握手信号axis_tready永远设置为高电平。
进一步的,本发明所提出的一种基于异步时钟的FPGA万兆以太网数据高速发送方法,所述读控制模块实现的流程为:
万兆以太网MAC的AXI4-Stream总线的读出数据有效信号axis_tvalid在可编程空状态信号prog_empty无效时设置为高电平,在可编程空状态信号prog_empty有效时且检测到传输握手信号axis_tready与异步FIFO读数据的最后标志位信号tlast都有效时,设置为低电平;
异步FIFO的读使能信号rd_en由读出数据有效信号axis_tvalid以及传输握手信号axis_tready通过逻辑与产生;
万兆以太网MAC的AXI4-Stream总线的读出数据axis_tdata,保持读出数据信号axis_tkeep, 读出数据的最后标志位信号axis_tlast直接来自于异步FIFO读数据的tdata,tkeep,tlast信号。
进一步的,本发明所提出的一种基于异步时钟的FPGA万兆以太网数据高速发送方法,两个异步时钟的工作频率为156.25MHz。
进一步的,本发明所提出的一种基于异步时钟的FPGA万兆以太网数据高速发送方法,异步FIFO能够容纳的数据量大于设定的阈值设置为10。
本发明采用以上技术手段,与现有技术相比具有以下技术效果:
本发明提出了一种基于异步时钟的FPGA万兆以太网数据高速发送方法,采用了针对万兆以太网传输特性对异步FIFO进行读控制和写控制的方案,结构简单,易于实现,AXI4-Stream总线的万兆以太网数据帧在跨时钟域传输的时候,能够达到传输速率在接近10Gbps不丢帧和不错帧的传输要求,在万兆以太网数据传输速率长时间在10Gbps的情况下适当丢弃部分帧以避免错帧情况,这样使传输速率得到提升、错帧数量得到减少,既保留了Xilinx提供的AXI4-Stream接口的异步FIFO可以处理跨时钟域问题和解决突发问题并缓存数据的优势,又克服了Xilinx提供的AXI4-Stream接口的异步FIFO在数据传输速率接近10Gbps后错帧,使万兆以太网数据无法高速完整传输的弊端。
附图说明
图1是本发明所述高速发送方法的结构示意图。
图2是AXI4-Stream总线协议时序图。
图3是本发明的写控制模块丢帧处理的各信号时序图。
图4是本发明的读控制模块的各信号时序图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下描述中,为了说明而不是为了限定,提出了诸如特定内部程序、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
参见图1,本发明的基于异步时钟的FPGA万兆以太网数据高速发送方法的操作步骤如下:
在FPGA上建立写控制模块、具有可编程空与满信号标志的异步FIFO、读控制模块以及Xilinx公司的万兆以太网MAC,这些模块之间通过如图2所示的AXI4-Stream总线进行通信,其中写控制模块以及异步FIFO的写入端工作在时钟域A,读控制模块、万兆以太网MAC以及异步FIFO的读出端工作在时钟域B,两个异步时钟的工作频率均为156.25MHz。
待发送万兆以太网数据进入写控制模块后,其AXI4-Stream总线的axis_tdata,axis_tkeep, axis_tlast作为异步FIFO的写数据的tdata,tkeep,tlast三种信号,而其AXI4-Stream总线的axis_tready永远保持高电平;写控制模块根据待发送数据的AXI4-Stream总线状态以及异步FIFO的可编程满状态信号prog_full来控制异步FIFO写入端的FIFO写使能信号wr_en,其中异步FIFO可编程满状态信号prog_full有效的条件设置为异步FIFO能够容纳的数据量小于万兆以太网传输所容忍的最大帧长的八分之一。
读控制模块根据异步FIFO读数据状态以及异步FIFO的可编程空状态信号prog_empty来控制异步FIFO读出端的FIFO读使能信号rd_en以及万兆以太网MAC的axis_tvalid信号,其中异步FIFO可编程空状态信号prog_empty有效的条件设置为异步FIFO能够容纳的数据量大于设定的阈值,该阈值与时钟域A与时钟域B之间的精准度频差相关,一般设置为10。
读控制模块再将AXI4-Stream总线的万兆以太网数据传输到万兆以太网MAC用于发送,此时万兆以太网数据高速发送完成。
下面作进一步详细说明:
如图3所示,异步FIFO的写控制信号wr_en信号由待发数据AXI4-Stream总线的axis_tvalid信号与中间控制信号wr_mask逻辑与产生,其中所述wr_mask信号在上电时设置为高电平,在待发数据AXI4-Stream总线的axis_tvalid信号与axis_tlast信号都为高电平时设置为异步FIFO可编程满状态信号prog_full的反状态;当异步FIFO快满的时候,prog_full转为高电平时且axis_tvalid信号与axis_tlast信号都为高电平时,wr_en信号变成低电平,异步FIFO停止写入并丢弃一帧数据,避免了FIFO存满造成一部分数据丢失致使以太网帧不完整,从而导致错帧问题的出现。
如图4所示,万兆以太网MAC的AXI4-Stream总线的axis_tdata, axis_tkeep,axis_tlast直接来自于异步FIFO读数据的tdata,tkeep,tlast信号,万兆以太网MAC的AXI4-Stream总线的axis_tvalid信号在prog_empty信号无效时设置为高电平,在prog_empty信号有效时且检测到axis_tready与异步FIFO的tlast都有效时,设置为低电平,异步FIFO的读使能信号rd_en由读axis_tvalid以及axis_tready通过逻辑与产生;当异步FIFO快空的时候,prog_empty信号有效,检测到axis_tready与异步FIFO的tlast都有效时,axis_tvalid和rd_en信号均变成低电平,以确保从异步FIFO中将万兆以太网数据完整的一帧读出,避免了FIFO读空所导致错帧问题的出现。
以上详细描述了本发明的具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

Claims (4)

1.一种基于异步时钟的FPGA万兆以太网数据高速发送方法,其特征在于,在FPGA上建立通过AXI4-Stream总线进行通信的写控制模块、异步FIFO、读控制模块、万兆以太网MAC,其中写控制模块和异步FIFO的写入端工作在第一时钟域A,读控制模块、万兆以太网MAC和异步FIFO的读出端工作在第二时钟域B;
所述写控制模块根据待发送数据的AXI4-Stream总线状态以及异步FIFO的可编程满状态信号prog_full,来控制异步FIFO写入端的FIFO写使能信号wr_en,其中异步FIFO可编程满状态信号prog_full有效的条件设置为异步FIFO能够容纳的数据量小于万兆以太网传输所容忍的最大帧长的K倍, 其中K的范围为[0.01,0.125];
所述读控制模块根据异步FIFO读数据状态以及异步FIFO的可编程空状态信号prog_empty,来控制异步FIFO读出端的FIFO读使能信号rd_en以及万兆以太网MAC的读出数据有效信号axis_tvalid,其中异步FIFO可编程空状态信号prog_empty有效的条件设置为异步FIFO能够容纳的数据量大于设定的阈值,该阈值与时钟域A与时钟域B之间的精准度频差相关。
2.根据权利要求1所述的一种基于异步时钟的FPGA万兆以太网数据高速发送方法,其特征在于,写控制模块实现的流程为:
异步FIFO的写数据由tdata、tkeep、tlast三类信号构成,异步FIFO写数据的位宽是这三类信号位宽的总和,这三类信号直接来自待发送数据AXI4-Stream总线的发送数据axis_tdata、保持发送数据信号axis_tkeep、发送数据的最后标志位信号axis_tlast;
异步FIFO的写使能信号wr_en由待发数据AXI4-Stream总线的发送数据有效信号axis_tvalid信号与中间控制信号wr_mask逻辑与产生;
所述wr_mask信号在上电时设置为高电平,在待发数据AXI4-Stream总线的axis_tvalid信号与axis_tlast信号都为高电平时设置为异步FIFO可编程满状态信号prog_full的反状态;
待发送数据AXI4-Stream总线的传输握手信号axis_tready永远设置为高电平。
3.根据权利要求1所述的一种基于异步时钟的FPGA万兆以太网数据高速发送方法,其特征在于,所述读控制模块实现的流程为:
万兆以太网MAC的AXI4-Stream总线的读出数据有效信号axis_tvalid在可编程空状态信号prog_empty无效时设置为高电平,在可编程空状态信号prog_empty有效时且检测到传输握手信号axis_tready与异步FIFO读数据的最后标志位信号tlast都有效时,设置为低电平;
异步FIFO的读使能信号rd_en由读出数据有效信号axis_tvalid以及传输握手信号axis_tready通过逻辑与产生;
万兆以太网MAC的AXI4-Stream总线的读出数据axis_tdata、保持读出数据信号axis_tkeep、读出数据的最后标志位信号axis_tlast直接来自于异步FIFO读数据的tdata、tkeep、tlast信号。
4.根据权利要求1所述的一种基于异步时钟的FPGA万兆以太网数据高速发送方法,其特征在于,两个异步时钟的工作频率为156.25MHz。
CN202010040924.XA 2020-01-15 2020-01-15 基于异步时钟的fpga万兆以太网数据高速发送方法 Active CN111262655B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010040924.XA CN111262655B (zh) 2020-01-15 2020-01-15 基于异步时钟的fpga万兆以太网数据高速发送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010040924.XA CN111262655B (zh) 2020-01-15 2020-01-15 基于异步时钟的fpga万兆以太网数据高速发送方法

Publications (2)

Publication Number Publication Date
CN111262655A CN111262655A (zh) 2020-06-09
CN111262655B true CN111262655B (zh) 2023-05-12

Family

ID=70948739

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010040924.XA Active CN111262655B (zh) 2020-01-15 2020-01-15 基于异步时钟的fpga万兆以太网数据高速发送方法

Country Status (1)

Country Link
CN (1) CN111262655B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220607B (zh) * 2021-05-26 2023-05-12 浙江赛思电子科技有限公司 一种基于fifo的数据处理方法
CN114090472A (zh) * 2021-11-30 2022-02-25 上海创远仪器技术股份有限公司 基于ddr实现大规模fifo数据处理的系统、方法、装置、处理器及其存储介质
CN114301856B (zh) * 2021-12-29 2023-10-03 上海赫千电子科技有限公司 基于fpga的千兆gmii数据传输方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109525511A (zh) * 2018-11-07 2019-03-26 西安微电子技术研究所 一种基于速率匹配的万兆以太网pcs系统及控制方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60036777T2 (de) * 2000-02-09 2008-07-24 Texas Instruments Inc., Dallas Gerät zur Signalsynchronisierung zwischen zwei Taktbereichen
CN101833431B (zh) * 2009-03-11 2012-09-05 中国科学院半导体研究所 基于fpga实现的双向高速fifo存储器
CN105426329B (zh) * 2015-10-30 2018-04-27 北京遥测技术研究所 基于嵌入式万兆网硬协议栈的信号高速采集转发实现方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109525511A (zh) * 2018-11-07 2019-03-26 西安微电子技术研究所 一种基于速率匹配的万兆以太网pcs系统及控制方法

Also Published As

Publication number Publication date
CN111262655A (zh) 2020-06-09

Similar Documents

Publication Publication Date Title
CN111262655B (zh) 基于异步时钟的fpga万兆以太网数据高速发送方法
US6891845B2 (en) Method and apparatus for adapting to a clock rate transition in a communications network using idles
CN105468547B (zh) 一种基于axi总线的便捷可配置帧数据存取控制系统
US7765348B2 (en) Configurable two-wire interface module
US11818237B2 (en) Device-to-device link training
US11907140B2 (en) Serial interface for semiconductor package
US20050237991A1 (en) Use of a first two-wire interface communication to support the construction of a second two-wire interface communication
CN112765054A (zh) 一种基于fpga的高速数据采集系统及方法
CN110471872A (zh) 一种基于zynq芯片实现m-lvds总线数据交互系统和方法
CN111339003A (zh) 一种基于fpga的通用多通道数据发送系统及方法
US5363379A (en) FDDI network test adaptor error injection circuit
CN109446132A (zh) 一种接口总线装置及数据通信协议
CN112948295B (zh) 一种基于axi4总线的fpga与ddr高速数据包传输系统及方法
WO2002065686A1 (en) Method and apparatus for deskewing multiple incoming signals
US20100257293A1 (en) Route Lookup System, Ternary Content Addressable Memory, and Network Processor
CN104991880B (zh) 一种基于pci‑e接口的fc‑ae‑asm通讯板卡
WO2021259229A1 (zh) 模块间通信方法及系统
EP1491995B1 (en) Dual-port functionality for a single-port cell memory device
CN105680871A (zh) 用于数据串行传输的并串、串并转换装置
CN109525511A (zh) 一种基于速率匹配的万兆以太网pcs系统及控制方法
CN109800195A (zh) 一种基于fpga的光纤通道适配器及数据传输方法
CN105446699A (zh) 数据帧队列管理方法
CN109446126B (zh) 基于emif总线的dsp与fpga高速通信系统及方法
US20120317380A1 (en) Device and method for a half-rate clock elasticity fifo
CN111782579B (zh) 一种基于fpga的以太网协议硬件逻辑处理结构

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