CN111694773A - AXI-Stream接口写控制电路及方法 - Google Patents
AXI-Stream接口写控制电路及方法 Download PDFInfo
- Publication number
- CN111694773A CN111694773A CN201910188374.3A CN201910188374A CN111694773A CN 111694773 A CN111694773 A CN 111694773A CN 201910188374 A CN201910188374 A CN 201910188374A CN 111694773 A CN111694773 A CN 111694773A
- Authority
- CN
- China
- Prior art keywords
- axi
- level
- signal
- multiplexer
- data
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明公开了一种AXI‑Stream接口写控制电路,包括主控状态机、三级复用器sel信号控制逻辑器、三级时钟使能控制逻辑器、四级D触发器、三级复用器,所述主控状态机的输出端分别与三级复用器sel信号控制逻辑器、三级时钟使能控制逻辑器连接并且用于向AXI端口输出tvalid信号,所述三级时钟使能控制逻辑器分别用于接收AXI端口的tready信号并且分别与其对应的后一级D触发器连接;每一级D触发器的输出端与对应的复用器的第一输入端连接,每一级复用器的输出端与其对应的后一级D触发器的输入端连接;还公开了一种AXI‑Stream接口写控制方法。本发明能够实现机制FPGA内部的逻辑资源利用率极高,而且所有的输出信号都是D触发器的输出,提高时序性能,有利于时序收敛。
Description
技术领域
本发明属于数据传输技术领域,具体涉及一种AXI-Stream接口写控制电路及方法。
背景技术
Xilinx提供的FPGA IP核的数据传输接口多为AXI接口,其中AXI-Stream为代表在传输大块连续的数据时应用较为广泛,一般对AXI接口的写控制是直接将AXI数据发送端口的tready作为使能信号直接从数据源请求数据,然后请求到数据之后用户将tvalid信号拉高,向AXI数据发送端口写入数据,但是这种方式面临的一个问题就是当tready信号在传输过程中拉低时,将会有一组数据不能写入AXI发送端口,因此需要一组触发器寄存数据,而当tready再次为高时,一般需要一个时钟周期的延迟,而且数据由组合逻辑输出到AXI接口,会面临时序收敛的问题。
发明内容
有鉴于此,本发明的主要目的在于提供一种AXI-Stream接口写控制电路及方法。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提供一种AXI-Stream接口写控制电路,包括主控状态机、三级复用器sel信号控制逻辑器、三级时钟使能控制逻辑器、四级D触发器、三级复用器,所述主控状态机的输出端分别与三级复用器sel信号控制逻辑器、三级时钟使能控制逻辑器连接并且用于向AXI端口输出tvalid信号,所述三级时钟使能控制逻辑器分别用于接收AXI端口的tready信号并且分别与其对应的后一级D触发器连接;每一级D触发器的输出端与对应的复用器的第一输入端连接,每一级复用器的输出端与其对应的后一级D触发器的输入端连接。
上述方案中,所述每级复用器的第二输入端和第一级D触发器的输入端接入n+1位源数据信号。
上述方案中,所述四级D触发器的输入端均接于时钟信号。
上述方案中,所述主控状态机还用于发出源数据读使能信号和接收源数据有效指示信号。
本发明实施例还提供一种AXI-Stream接口写控制方法,该方法为:在任意一个时刻AXI端口的tready信号为低时,主控状态机拉低源数据读使能信号停止复用器从数据源读取数据,在该过程中,所述三级复用器读取的额外数据按照从后到前顺序暂时寄存在四级D触发器中。
上述方案中,该方法还包括:当AXI端口的tready信号再次为高时,最后一级D触发器将寄存的数据发送到AXI端口,之后,如果AXI端口的tready信号为低,任意一级D触发器将数据寄存至后一级D触发器,直至最后一级D触发器将寄存的数据全部发送到AXI端口。
上述方案中,该方法还包括:当AXI端口的tready信号再次为高,并且所述三级复用器读取的额外数据暂时寄存到第二级D触发器时,所述主控状态机拉高源数据读使能信号,所述三级复用器从源端请求数据。
与现有技术相比,本发明能够实现机制FPGA内部的逻辑资源利用率极高,而且所有的输出信号都是D触发器的输出,相对于直接使用组合逻辑生成的控制信号,极大的提高时序性能,有利于时序收敛;能够实现无延迟传输,提高了数据传输速率。
附图说明
图1为本发明实施例提供一种AXI-Stream接口写控制电路的电路图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供一种AXI-Stream接口写控制电路,如图1所示,包括主控状态机、三级复用器sel信号控制逻辑器、三级时钟使能控制逻辑器、四级D触发器、三级复用器,所述主控状态机的输出端分别与三级复用器sel信号控制逻辑器、三级时钟使能控制逻辑器连接并且用于向AXI端口输出tvalid信号,所述三级时钟使能控制逻辑器分别用于接收AXI端口的tready信号并且分别与其对应的后一级D触发器连接;每一级D触发器的输出端与对应的复用器的第一输入端连接,每一级复用器的输出端与其对应的后一级D触发器的输入端连接。
所述时钟使能控制逻辑器、复用器sel信号控制逻辑器在主控状态机的控制下控制对应的寄存器组何时寄存数据,寄存源数据是后一级触发器输出的数据。
所述每级复用器的第二输入端和第一级D触发器的输入端接入n+1位源数据信号。
所述四级D触发器的输入端均接于时钟信号。
所述主控状态机还用于发出源数据读使能信号和接收源数据有效指示信号。
如图1所示,clock为时钟信号;
data_src[n:0]为n+1位源数据信号,即需要发送到AXI端口的数据,分别与所述三级复用器的din_a和backup_reg_c的输入端口连接;
data_src_valid为源数据有效指示信号,data_src_valid为高表示源数据为有效数据;
data_src_rd_en为源数据读使能信号;
axi_tx_tdata[n:0]为发送到AXI端口的n+1位数据;即AXI接口的输入端口;
axi_tx_tready为AXI端口Tready信号,为高表示可向AXI端口发送数据;axi_tx_tvalid为AXI端口tvalid信号,当axi_tx_tready和axi_tx_tvalid信号同时为高时数据发送到AXI端口。
所述主控状态机根据axi_tx_tready、data_src_valid信号的值以及状态机当前状态调整状态机的次态,最终实现数据流向控制。
所述三级复用器sel信号控制逻辑器分别为三级复用器的数据选择控制信号(即sel)的控制逻辑,根据主控状态机的状态来控制与之对应的MUX的数据输出;
所述D触发器,其中D为数据输入端口、CE为时钟信号使能端口、C为时钟端口、Q为数据输出端口、S为置位端口、R为复位端口。
所述三级时钟使能控制逻辑器根据主控状态机的状态分别控制与之对应的D触发器的时钟使能信号,即最终实现控制各个触发器的数据输入。
本发明的工作过程:
如果某个时刻axi_tx_tready拉低时,拉低data_src_rd_en停止从数据源读取数据,但是由于data_src_rd_en相较于axi_tx_tready会有延迟,因此在axi_tx_tready为低的情况下会有额外数据从数据源读取出来,而这些额外数据按照读取顺序暂时寄存在output_reg、backup_reg_a、backup_reg_b、backup_reg_c中;
当axi_tx_tready再次为高时,output_reg中的数据首先被发送到AXI-STREAM接口,
如果在axi_tx_tready为低时backup_reg_a~backup_reg_c中寄存了数据,则backup_reg_a中的数据寄存到output_reg,backup_reg_b中的数据寄存到backup_reg_a,backup_reg_c中的数据寄存到backup_reg_b;直到将这些数据全部发送完。
本发明实施例还提供一种AXI-Stream接口写控制方法,该方法为:在任意一个时刻AXI端口的tready信号为低时,主控状态机拉低源数据读使能信号停止复用器从数据源读取数据,在该过程中,所述三级复用器读取的额外数据按照从后到前顺序暂时寄存在四级D触发器中,这样,本发明在tready变高的第一个时钟周期就往AXI接口写入数据,极大的提高了数据传输速率和信道利用率。
当AXI端口的tready信号再次为高时,最后一级D触发器将寄存的数据发送到AXI端口,之后,如果AXI端口的tready信号为低,任意一级D触发器将数据寄存至后一级D触发器,直至最后一级D触发器将寄存的数据全部发送到AXI端口。
当AXI端口的tready信号再次为高,并且所述三级复用器读取的额外数据暂时寄存到第二级D触发器时,所述主控状态机拉高源数据读使能信号,所述三级复用器从源端请求数据。
具体地,当出现AXI-Stream接收端暂时不能接收数据,即tready信号拉低的情况时从源端读出的额外数据可暂时缓存到三级D触发器中某一级中并拉低源数据请求使能信号;
在源数据充足时,由于源数据请求信号相对于tready信号会延时拉低而请求到的数据继续向前级D触发器中缓存,而前级的数据缓存到后级中;
当tready信号为低且D触发器中无数据缓存时可预先从数据源端请求数据,只要D触发器缓存有数据就将AXI发送使能信号tvalid拉高;
当tready再次变高,将第一级中的数据写入AXI接口,第二级D触发器中的数据写入第一级,第三级的写入第二级;
当最开始缓存在第二级中的数据写入AXI接口后拉高源数据请求使能,从源端请求数据。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (7)
1.一种AXI-Stream接口写控制电路,其特征在于,包括主控状态机、三级复用器sel信号控制逻辑器、三级时钟使能控制逻辑器、四级D触发器、三级复用器,所述主控状态机的输出端分别与三级复用器sel信号控制逻辑器、三级时钟使能控制逻辑器连接并且用于向AXI端口输出tvalid信号,所述三级时钟使能控制逻辑器分别用于接收AXI端口的tready信号并且分别与其对应的后一级D触发器连接;每一级D触发器的输出端与对应的复用器的第一输入端连接,每一级复用器的输出端与其对应的后一级D触发器的输入端连接。
2.根据权利要求1所述的AXI-Stream接口写控制电路,其特征在于,所述每级复用器的第二输入端和第一级D触发器的输入端接入n+1位源数据信号。
3.根据权利要求1或2所述的AXI-Stream接口写控制电路,其特征在于,所述四级D触发器的输入端均接于时钟信号。
4.根据权利要求3所述的AXI-Stream接口写控制电路,其特征在于,所述主控状态机还用于发出源数据读使能信号和接收源数据有效指示信号。
5.一种AXI-Stream接口写控制方法,其特征在于,该方法为:在任意一个时刻AXI端口的tready信号为低时,主控状态机拉低源数据读使能信号停止复用器从数据源读取数据,在该过程中,所述三级复用器读取的额外数据按照从后到前顺序暂时寄存在四级D触发器中。
6.根据权利要求5所述的AXI-Stream接口写控制方法,其特征在于,该方法还包括:当AXI端口的tready信号再次为高时,最后一级D触发器将寄存的数据发送到AXI端口,之后,如果AXI端口的tready信号为低,任意一级D触发器将数据寄存至后一级D触发器,直至最后一级D触发器将寄存的数据全部发送到AXI端口。
7.根据权利要求5或6所述的AXI-Stream接口写控制方法,其特征在于,该方法还包括:当AXI端口的tready信号再次为高,并且所述三级复用器读取的额外数据暂时寄存到第二级D触发器时,所述主控状态机拉高源数据读使能信号,所述三级复用器从源端请求数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910188374.3A CN111694773A (zh) | 2019-03-13 | 2019-03-13 | AXI-Stream接口写控制电路及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910188374.3A CN111694773A (zh) | 2019-03-13 | 2019-03-13 | AXI-Stream接口写控制电路及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111694773A true CN111694773A (zh) | 2020-09-22 |
Family
ID=72474960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910188374.3A Pending CN111694773A (zh) | 2019-03-13 | 2019-03-13 | AXI-Stream接口写控制电路及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111694773A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113760792A (zh) * | 2021-09-10 | 2021-12-07 | 西安电子科技大学重庆集成电路创新研究院 | 基于fpga的图像存取的axi4总线控制电路及其数据传输方法 |
-
2019
- 2019-03-13 CN CN201910188374.3A patent/CN111694773A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113760792A (zh) * | 2021-09-10 | 2021-12-07 | 西安电子科技大学重庆集成电路创新研究院 | 基于fpga的图像存取的axi4总线控制电路及其数据传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109271335B (zh) | 一种多通道数据源ddr缓存的fpga实现方法 | |
US9965018B1 (en) | Power management for PCI express | |
US10318468B2 (en) | FPGA-based interface signal remapping method | |
CN109412914A (zh) | 流数据与axi接口通信装置 | |
EP2360548A2 (en) | Method and device for clock gate controlling | |
EP2360553B1 (en) | Circuitry system and method for connecting synchronous clock domains of the circuitry system | |
CN102073611B (zh) | 一种i2c总线控制系统及方法 | |
CN104239232A (zh) | 一种基于fpga内dpram的乒乓缓存操作结构 | |
CN109067399B (zh) | 一种多采样率的adc控制器实现方法 | |
WO2024077890A1 (zh) | 一种异步fifo读写控制方法、系统及电子设备 | |
CN105446699A (zh) | 数据帧队列管理方法 | |
WO2014131273A1 (zh) | 数据传输方法、装置及直接存储器存取 | |
CN116470886A (zh) | 一种流水线反压控制方法、装置和电路 | |
CN111694773A (zh) | AXI-Stream接口写控制电路及方法 | |
CN111666248A (zh) | 基于fpga的rs422串口通讯控制系统及方法 | |
CN109446126B (zh) | 基于emif总线的dsp与fpga高速通信系统及方法 | |
CN111143261A (zh) | 一种基于pcie高速数据采集系统 | |
Li et al. | UART Controller with FIFO Buffer Function Based on APB Bus | |
US7162553B1 (en) | Correlating high-speed serial interface data and FIFO status signals in programmable logic devices | |
CN111313869B (zh) | 一种千兆以太网收发器的时钟切换电路 | |
CN115765743B (zh) | 基于zynq的多通道adc同步采集的装置及方法 | |
CN114553776B (zh) | 一种信号乱序控制与速率自适应的传输装置及其传输方法 | |
CN107608654B (zh) | 多路异步信息的传输控制装置及方法 | |
CN101980140B (zh) | 一种ssram访问控制系统 | |
CN107870885A (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 |