一种基于AXI协议接口的任意位宽转换方法及装置制造方法及图纸

技术编号:21224577 阅读:47 留言:0更新日期:2019-05-29 05:19
本发明专利技术属于数字电路设计领域,具体涉及一种基于AXI协议接口的任意位宽转换方法及装置,包括:判断步骤:判断输入位宽与输出位宽的最小公倍数是否大于输入位宽加输出位宽的2倍,并根据判断结果选择执行:选择一、输入位宽与输出位宽的最小公倍数大于输入位宽加输出位宽的2倍时,采用移位寄存器方式进行位宽转换;选择二、输入位宽与输出位宽的最小公倍数小于或等于输入位宽加输出位宽的2倍时,采用最小公倍数方式进行位宽转换。本发明专利技术只需要修改参数即可完全兼容任意位宽的输入输出场景,兼容性强,合理使用逻辑资源,大大减少工作量。

An Arbitrary Bit Width Conversion Method and Device Based on AXI Protocol Interface

The invention belongs to the field of digital circuit design, and specifically relates to an arbitrary bit width conversion method and device based on AXI protocol interface. It includes the following steps: judging whether the minimum common multiple of input bit width and output bit width is greater than two times of input bit width and output bit width, and choosing execution according to the judgment result: choosing one, the minimum common multiple of input bit width and output bit width is greater than input bit width. When the output bit width is 2 times wider than the input bit width, the shift register is used to convert the bit width. Second, when the minimum common multiple of the input bit width and the output bit width is less than or equal to 2 times of the input bit width and the output bit width, the minimum common multiple is used to convert the bit width. The invention can be fully compatible with any bit wide input and output scenarios only by modifying parameters, has strong compatibility, uses logical resources rationally, and greatly reduces workload.

【技术实现步骤摘要】
一种基于AXI协议接口的任意位宽转换方法及装置
本专利技术属于数字电路设计领域,适用于FPGA,Asic等应用场景。可以根据参数设置完成高效,灵活,无带宽损耗的数据流任意位宽转换。可以运用到带有AXI_STREAM接口的FPGA或者Asic设计场景中,具体涉及一种基于AXI协议接口的任意位宽转换方法。
技术介绍
在FPGA或者Asic开发过程中,经常需要使用AXI_STREAM作为主要的数据流传输接口,但是由于数据流的前级和后级位宽不同,所以导致经常需要设计一个固定位宽转换模块,并且需要花时间验证接口的稳定性。因此需要一个通用模块满足这一场景,达到一劳永逸的效果。传统方式如图1所示,传统方式中,不同的数据流输入和输出位宽,都需要设计不同的conv模块,设计完此模块还要对此模块进行较为详细的验证,才能进行使用,采用传统方式进行数据流传输时,需要重复设计,重复验证,花费大量时间,可能会耗费不合理的逻辑资源。
技术实现思路
本专利技术的上述技术问题主要是通过下述技术方案得以解决的:一种基于AXI协议接口的任意位宽转换方法,其特征在于,包括:判断步骤:判断输入位宽与输出位宽的最小公倍数是否大于输入位宽加输出位宽的2~3倍,并根据判断结果选择执行:选择一、输入位宽与输出位宽的最小公倍数大于输入位宽加输出位宽的2~3倍时,采用移位寄存器方式进行位宽转换;选择一、输入位宽与输出位宽的最小公倍数小于或等于输入位宽加输出位宽的2~3倍时,采用最小公倍数方式进行位宽转换。这里所述的如AXI协议接口包括诸多种类,如axi-stream、axi-lite、axi-mem等AXI协议接口均适用于本案的方法和装置。在上述的一种基于AXI协议接口的任意位宽转换方法,所述最小公倍数方式进行位宽转换的具体方法是:定义输入位宽为M,输出位宽为N,且M和N的最小公倍数是P,建立一个P个单位的缓冲区域,当缓冲区域的数据量大于N,开启一次输出,当缓冲区域剩余空间小于M,关闭输入。在上述的一种基于AXI协议接口的任意位宽转换方法,所述缓冲区域为一个FIFO结构,先进先出。在上述的一种基于AXI协议接口的任意位宽转换方法,所述移位寄存器方式进行位宽转换的具体方法是:定义输入位宽为M,输出位宽为N,则建立一个M+N-1个单位的缓冲区域,当输出N位数据后如果还有数据剩余,会将剩余数据进行移位,移位到缓冲区的最前端,等待下一次缓冲区数据量达到M后输出。在上述的一种基于AXI协议接口的任意位宽转换方法,所述缓冲区域为一个FIFO结构,先进先出。一种基于AXI协议接口的任意位宽转换模块,其特征在于,包括:判断单元:判断输入位宽与输出位宽的最小公倍数是否大于输入位宽加输出位宽的2~3倍,并根据判断结果选择对应单元执行:移位寄存器转换单元:输入位宽与输出位宽的最小公倍数大于输入位宽加输出位宽的2~3倍时,移位寄存器转换单元采用移位寄存器方式进行位宽转换;最小公倍数转换单元:输入位宽与输出位宽的最小公倍数小于或等于输入位宽加输出位宽的2~3倍时,最小公倍数转换单元采用最小公倍数方式进行位宽转换。在上述的一种基于AXI协议接口的任意位宽转换模块,定义输入位宽为M,输出位宽为N,且M和N的最小公倍数是P,所述最小公倍数转换单元中包括一个缓冲区域,缓冲区域包括P个单位,当缓冲区域的数据量大于N,开启一次输出,当缓冲区域剩余空间小于M,关闭输入。在上述的一种基于AXI协议接口的任意位宽转换模块,所述缓冲区域为一个FIFO结构,先进先出。在上述的一种基于AXI协议接口的任意位宽转换模块,定义输入位宽为M,输出位宽为N,则建立一个M+N-1个单位的缓冲区域,当输出N位数据后如果还有数据剩余,会将剩余数据进行移位,移位到缓冲区的最前端,等待下一次缓冲区数据量达到M后输出。在上述的一种基于AXI协议接口的任意位宽转换模块,所述缓冲区域为一个FIFO结构,先进先出。因此,本专利技术具有如下优点:本专利技术只需要修改参数即可完全兼容任意位宽的输入输出场景,逻辑简单,兼容性强,稳定性高,配合计算输入输出位宽的最小公倍数合理使用逻辑资源,减少逻辑资源占用。可以广泛运用于高速数据流传输方案中,例如视频图像采集,输出等。大大减少fpga/asic开发者的开发验证时间,提高工作效率。。附图说明附图1a是传统方式的数据流传输原理图(前级位宽小于后级位宽)。附图1b是传统方式的数据流传输原理图(前级位宽大于后级位宽)。附图2a是本专利技术的数据流传输原理图(前级位宽小于后级位宽)。附图2b是本专利技术的数据流传输原理图(前级位宽大于后级位宽)。附图3是本专利技术涉及的最小公倍数方式的数据流传输原理图(实施例1)。附图4是本专利技术涉及的移位寄存器方式的数据流传输原理图(实施例1)。附图5是本专利技术涉及的最小公倍数方式的数据流传输原理图(实施例2)。附图6是本专利技术涉及的移位寄存器方式的数据流传输原理图(实施例2)。附图7是本专利技术涉及的实际应用场景的数据流传输原理图。具体实施方式下面通过实施例,并结合附图,对本专利技术的技术方案作进一步具体的说明。实施例:首先进行判断,当最小公倍数大于输入位宽加输出位宽的2~3倍时不采用最小公倍数方案以节省资源,否则采用最小公倍数方案进行数据流传输,在本实施例中,采取判断条件是:最小公倍数是否大于输入位宽加输出位宽的2倍。方案一:最小公倍数方式实例1.如图3所示以输入位宽为3,输出位宽为4为例.图3中D0.0,D0.1,D0.2为第一拍输入,D0.0,D0.1,D0.2,D1.0为第一拍输出。输入位宽与输出位宽的最小公倍数为12,因此建立12个单位的缓冲区域,缓冲区域类似一个FIFO结构,先进先出。当缓冲区域的数据量大于4(输出位宽),即可开启一次输出,即m_axis_tvalid置1,待m_axis_tready同为1后,数据量减少4,内置指针增加4,开启下一次输出判断。当缓冲区域剩余空间大于等于3(输入位宽),即可开启一次输入,即s_axis_tready置1,待s_axis_tvalid同为1后当前缓冲区剩余空间减3,内置指针增加3,开启下一次输入判断。实例2.如图4所示以输入位宽为6,输出位宽为3为例.图4中D0.0,D0.1,D0.2,D0.3,D0.4,D0.5为第一拍输入,D0.0,D0.1,D0.2为第一拍输出。输入位宽与输出位宽的最小公倍数为6,因此建立6个单位的缓冲区域,缓冲区域类似一个FIFO结构,先进先出。当缓冲区域的数据量大于3(输出位宽),即可开启一次输出,即m_axis_tvalid置1,待m_axis_tready同为1后,数据量减少3,内置指针增加3,开启下一次输出判断。当缓冲区域剩余空间大于等于6(输入位宽),即可开启一次输入,即s_axis_tready置1,待s_axis_tvalid同为1后当前缓冲区剩余空间减6,内置指针增加6,开启下一次输入判断。采用本方案组合逻辑使用少,时序优良,但是在公倍数很大的情况下,寄存器资源占用过多。方案二:移位寄存器方案实例1.如图5所示还是以输入位宽为3,输出位宽为7为例:最小公倍数为21,大于(3+7)*2因此采用此方案,定义一个输入位宽+输出位宽-1的缓冲区域,缓冲区域类似一个FIFO结构,先进先出。与方案一不同的本文档来自技高网...

【技术保护点】
1.一种基于AXI协议接口的任意位宽转换方法,其特征在于,包括:判断步骤:判断输入位宽与输出位宽的最小公倍数是否大于输入位宽加输出位宽的2~3倍,并根据判断结果选择执行:选择一、输入位宽与输出位宽的最小公倍数大于输入位宽加输出位宽的2~3倍时,采用移位寄存器方式进行位宽转换;选择一、输入位宽与输出位宽的最小公倍数小于或等于输入位宽加输出位宽的2~3倍时,采用最小公倍数方式进行位宽转换。

【技术特征摘要】
1.一种基于AXI协议接口的任意位宽转换方法,其特征在于,包括:判断步骤:判断输入位宽与输出位宽的最小公倍数是否大于输入位宽加输出位宽的2~3倍,并根据判断结果选择执行:选择一、输入位宽与输出位宽的最小公倍数大于输入位宽加输出位宽的2~3倍时,采用移位寄存器方式进行位宽转换;选择一、输入位宽与输出位宽的最小公倍数小于或等于输入位宽加输出位宽的2~3倍时,采用最小公倍数方式进行位宽转换。2.根据权利要求1所述的一种基于AXI协议接口的任意位宽转换方法,其特征在于,所述最小公倍数方式进行位宽转换的具体方法是:定义输入位宽为M,输出位宽为N,且M和N的最小公倍数是P,建立一个P个单位的缓冲区域,当缓冲区域的数据量大于N,开启一次输出,当缓冲区域剩余空间小于M,关闭输入。3.根据权利要求2所述的一种基于AXI协议接口的任意位宽转换方法,其特征在于,所述缓冲区域为一个FIFO结构,先进先出。4.根据权利要求1所述的一种基于AXI协议接口的任意位宽转换方法,其特征在于,所述移位寄存器方式进行位宽转换的具体方法是:定义输入位宽为M,输出位宽为N,则建立一个M+N-1个单位的缓冲区域,当输出N位数据后如果还有数据剩余,会将剩余数据进行移位,移位到缓冲区的最前端,等待下一次缓冲区数据量达到M后输出。5.根据权利要求4所述的一种基于AXI协议接口的任意位宽转换方法,其特征在于,所述缓冲区域为一个FIFO结构,先进先出。6.一种...

【专利技术属性】
技术研发人员:徐墨潇
申请(专利权)人:武汉精立电子技术有限公司武汉精测电子集团股份有限公司
类型:发明
国别省市:湖北,42

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

1