一种AXI-Stream接口写控制电路制造技术

技术编号:22197311 阅读:107 留言:0更新日期:2019-09-25 09:44
本实用新型专利技术公开了一种AXI‑Stream接口写控制电路,包括主控状态机、三级复用器sel信号控制逻辑器、三级时钟使能控制逻辑器、四级D触发器、三级复用器,所述主控状态机的输出端分别与三级复用器sel信号控制逻辑器、三级时钟使能控制逻辑器连接并且用于向AXI端口输出tvalid信号,所述三级时钟使能控制逻辑器分别用于接收AXI端口的tready信号并且分别与其对应的后一级D触发器连接;每一级D触发器的输出端与对应的复用器的第一输入端连接,每一级复用器的输出端与其对应的后一级D触发器的输入端连接。本实用新型专利技术能够实现机制FPGA内部的逻辑资源利用率极高,而且所有的输出信号都是D触发器的输出,提高时序性能,有利于时序收敛。

A Write Control Circuit for AXI-Stream Interface

【技术实现步骤摘要】
一种AXI-Stream接口写控制电路
本技术属于数据传输
,具体涉及一种AXI-Stream接口写控制电路。
技术介绍
Xilinx提供的FPGAIP核的数据传输接口多为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触发器的输入端均接于时钟信号。上述方案中,所述主控状态机还用于发出源数据读使能信号和接收源数据有效指示信号。与现有技术相比,本技术能够实现机制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端口的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触发器缓存有本文档来自技高网...

【技术保护点】
1.一种AXI‑Stream接口写控制电路,其特征在于,包括主控状态机、三级复用器sel信号控制逻辑器、三级时钟使能控制逻辑器、四级D触发器、三级复用器,所述主控状态机的输出端分别与三级复用器sel信号控制逻辑器、三级时钟使能控制逻辑器连接并且用于向AXI端口输出tvalid信号,所述三级时钟使能控制逻辑器分别用于接收AXI端口的tready信号并且分别与其对应的后一级D触发器连接;每一级D触发器的输出端与对应的复用器的第一输入端连接,每一级复用器的输出端与其对应的后一级D触发器的输入端连接。

【技术特征摘要】
1.一种AXI-Stream接口写控制电路,其特征在于,包括主控状态机、三级复用器sel信号控制逻辑器、三级时钟使能控制逻辑器、四级D触发器、三级复用器,所述主控状态机的输出端分别与三级复用器sel信号控制逻辑器、三级时钟使能控制逻辑器连接并且用于向AXI端口输出tvalid信号,所述三级时钟使能控制逻辑器分别用于接收AXI端口的tready信号并且分别与其对应的后一级D触发器连接;每一级D触发器的输出端与对应的复用器的第一输入端连接,每一级复...

【专利技术属性】
技术研发人员:蔡志国谢荣先赵庭武
申请(专利权)人:苏州微影激光技术有限公司
类型:新型
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1