CN118210749A - 基于SerDes的AXI3总线片间桥接方法及*** - Google Patents
基于SerDes的AXI3总线片间桥接方法及*** Download PDFInfo
- Publication number
- CN118210749A CN118210749A CN202410261924.0A CN202410261924A CN118210749A CN 118210749 A CN118210749 A CN 118210749A CN 202410261924 A CN202410261924 A CN 202410261924A CN 118210749 A CN118210749 A CN 118210749A
- Authority
- CN
- China
- Prior art keywords
- data
- fifo
- axi3
- bus
- write
- 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
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000005540 biological transmission Effects 0.000 claims abstract description 48
- 230000004044 response Effects 0.000 claims abstract description 38
- 238000013461 design Methods 0.000 claims abstract description 22
- 239000000872 buffer Substances 0.000 claims abstract description 10
- 238000007405 data analysis Methods 0.000 claims abstract description 7
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 5
- 238000013507 mapping Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Landscapes
- Communication Control (AREA)
Abstract
本发明属于集成电路设计技术领域,特别涉及一种基于SerDes的AXI3总线片间桥接方法及***,设计主机侧和从机侧结构,主机侧和从机侧包含5个独立的通道缓冲FIFO、AXI3异步总线桥、数据封包模块和数据解析模块;设计主机侧封包格式,将主机侧流向从机侧的数据包划分为两个独立的位宽域,包含写数据通道位宽域和写地址/读地址/主机侧FIFO状态位宽域;设计从机侧封包格式,将从机侧流向主机侧的数据包划分为三个独立的位宽域,包含读数据通道位宽域、写响应通道位宽域和从机侧FIFO状态位宽域。本发明通过利用基于SerDes的高速串行链路,使用尽可能低的成本实现尽可能高性能的芯片间地址映射访问,从而满足突发传输场景下的定制化的片间通信需求。
Description
技术领域
本发明属于集成电路设计技术领域,特别涉及一种基于SerDes的AXI3总线片间桥接方法及***。
背景技术
AXI3(Advanced eXtensible Interface)是一种片内总线协议,该协议是ARM公司提出的AMBA3.0中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。
当下高速串行总线已经成为片间通信的主要方式,而作为高速串行总线的关键底层构件SerDes(串/并转换模块),俨然成为一个关键的SoC组件。最重要的例子就是PCIe总线,其协议层分为事务层、链路层、物理层,协议复杂,实现困难,应用时对应驱动开发调试周期长。对于一些应用场景下的定制化的片间通信,PCIe这些协议复杂的高速串行总线不能很好适配需求,尤其对一些具有保密性要求的应用场景,往往不希望采用其它厂家设计的标准总线IP。
因此,本发明设计了一种基于SerDes的低成本、轻量化,在突发传输下具有较高性能的片内AXI3总线的片间桥接方法,用以满足部分应用场景下自定义的片间通信需求。
发明内容
本发明的目的在于解决现有技术中的问题,提出一种基于SerDes的AXI3总线片间桥接方法及***,通过利用基于SerDes的高速串行链路,使用尽可能低的成本实现尽可能高性能的芯片间地址映射访问,从而满足突发传输场景下的定制化的片间通信需求。
为了实现上述目的,本发明采用以下的技术方案:
一种基于SerDes的AXI3总线片间桥接方法,包含:
设计主机侧和从机侧结构,主机侧和从机侧包含针对AXI3总线5个通道设计的5个独立的通道缓冲FIFO、AXI3异步总线桥、数据封包模块和数据解析模块;
主机侧对写地址、写数据、读地址通道数据进行封包并通过SerDes总线传输至从机侧,从机侧对封包进行解析;同样,从机侧对读数据、写响应通道数据进行封包,并通过SerDes总线传输至主机侧,主机侧对封包进行解析;
通过域划分方法对主机侧数据封包模块设计封包格式,将主机侧流向从机侧的数据包划分为两个独立的位宽域,包含写数据通道位宽域和写地址/读地址/主机侧FIFO状态位宽域;
通过域划分方法对从机侧数据封包模块设计封包格式,将从机侧流向主机侧的数据包划分为三个独立的位宽域,包含读数据通道位宽域、写响应通道位宽域和从机侧FIFO状态位宽域。
根据本发明基于SerDes的AXI3总线片间桥接方法,进一步地,所述5个通道缓冲FIFO包括写数据FIFO、写地址FIFO、读地址FIFO、写响应FIFO和读数据FIFO。
根据本发明基于SerDes的AXI3总线片间桥接方法,进一步地,所述主机侧对写地址、写数据、读地址通道数据进行封包并通过SerDes总线传输至从机侧,从机侧对封包进行解析;同样,从机侧对读数据、写响应通道数据进行封包,并通过SerDes总线传输至主机侧,主机侧对封包进行解析,具体包括:
主机侧通过AXI3异步总线桥与FIFO握手成功,将AXI3总线写地址、写数据和读地址通道的有效信息存入各自FIFO中,再由数据封包模块通过一次或者多次读取并进行封包后通过SerDes总线传输;
从机侧解析后的通道信息会被存入从机侧的对应FIFO中,再通过FIF0与AXI3异步总线桥之间的握手,完成AXI3总线对应通道时序的生成;
从机侧通过AXI3异步总线桥与FIFO握手成功,将AXI3总线读数据、写响应通道的有效信息存入各自FIFO中,再由数据封包模块通过一次或者多次读取并进行封包后通过SerDes总线传输;
主机侧解析后的通道信息会被存入主机侧的对应FIFO中,再通过FIFO与AXI3异步总线桥之间的握手,完成AXI3总线对应通道时序的生成。
根据本发明基于SerDes的AXI3总线片间桥接方法,进一步地,所述SerDes并行位宽为64bits,AXI3总线5个通道的信息位宽分别为:写地址通道90bits,写数据通道153bits,读地址通道90bits,读数据通道139bits,写响应通道10bits。
根据本发明基于SerDes的AXI3总线片间桥接方法,进一步地,所述主机侧封包格式为:数据包位[50:0]表示写数据通道信息,位[51]作为标识位,标识该拍传输的数据包内写数据通道信息是否有效;写地址、读地址和主机侧FIFO状态共用位[63:52],位[63:62]用于表达该包对应位宽域信息是否有效以及信息类型,位[61:52]表示写地址通道、读地址通道或者主机侧FIFO状态信息。
根据本发明基于SerDes的AXI3总线片间桥接方法,进一步地,所述从机侧封包格式为:数据包位[4:0]表示从机侧FIFO状态信息,位[51:5]表示读数据通道信息,位[52]作为标识位,标识该拍传输的数据包内读数据通道信息是否有效,位[62:53]表示写响应通道信息,位[63]作为标识位,标识该拍传输的数据包内写响应通道信息是否有效。
根据本发明基于SerDes的AXI3总线片间桥接方法,进一步地,所述主/从机侧FIFO状态用于己方向对方标识已方接收FIFO是否几乎满,如果对方收到己方FIFO几乎满有效的信息,对方数据封包模块会停止从其FIFO读取有效数据,停止有效数据的继续传输;此时,若对方因为停止发送导致对方FIFO满,则对方FIFO会自动中断与AXI3异步总线桥的握手,从而中断对方AXI3总线对应通道的数据传输。
根据本发明基于SerDes的AXI3总线片间桥接方法,进一步地,主机侧FIFO状态信息的传输具有最高优先级,对读地址通道信息和写地址通道信息进行轮询传输;从机侧FIFO状态独占一个位宽域,不存在优先级问题。
一种基于SerDes的AXI3总线片间桥接***,用于实现如上述的基于SerDes的AXI3总线片间桥接方法,包含:
结构设计模块,用于设计主机侧和从机侧结构,主机侧和从机侧包含针对AXI3总线5个通道设计的5个独立的通道缓冲FIFO、AXI3异步总线桥、数据封包模块和数据解析模块;
数据传输模块,用于主机侧对写地址、写数据、读地址通道数据进行封包并通过SerDes总线传输至从机侧,从机侧对封包进行解析;同样,从机侧对读数据、写响应通道数据进行封包,并通过SerDes总线传输至主机侧,主机侧对封包进行解析;
主机侧封包格式设计模块,用于通过域划分方法对主机侧数据封包模块设计封包格式,将主机侧流向从机侧的数据包划分为两个独立的位宽域,包含写数据通道位宽域和写地址/读地址/主机侧FIFO状态位宽域;
从机侧封包格式设计模块,用于通过域划分方法对从机侧数据封包模块设计封包格式,将从机侧流向主机侧的数据包划分为三个独立的位宽域,包含读数据通道位宽域、写响应通道位宽域和从机侧FIFO状态位宽域。
与现有技术相比,本发明具有以下优点:
1、AXI3总线读写是分离的,而且有Outstanding特性,也就是己方在发送写数据的时候,AXI3总线是可以有发送下一次写地址的需求,或者AXI3是可以有发送读地址的需求,如果不进行数据包位宽域划分,那么在突发传输(也称连续传输,比如突发传输16个数据,就是连续写/读16个数据)的时候,例如突发写数据时候,可能需要中断写数据,去发送下一次的“读地址”或者“写地址”。亦或是,当有发送读/写地址需求的时候,只有等上一次突发传输完成后,才可进行。无论哪种情况均会造成写数据通道与读数据通道的空闲时间增加,从而导致传输性能的下降。而本发明通过对数据包位宽域划分,维持了AXI3各通道的独立性,保证了AXI3总线突发传输时的连续性,适应了AXI3总线的Outstanding传输特性。
2、本发明充分利用了SerDes总线带宽,例如写数据通道信息位宽为153bits,如果使用64bits位宽的SerDes总线进行传输,则每3个周期就会浪费20%带宽,划分位宽域,虽然也是3周期传输一拍写数据信息,但其本质上是利用这20%带宽来传输读/写地址信息及FIFO状态信息,以此充分利用了带宽,并且各位宽域内信息传输的相互独立性也简化了硬件设计。
3、本发明对FIFO状态采取同样的封包传输,节省了片间接口的边带信号,易于应用部署。
4、本发明使用高速SerDes,针对片内AXI3总线设计了低成本、轻量化的片间桥接方法,该方法同时兼顾了突发传输的性能。本发明方法是直接对AXI3通道信息进行封装/解析,对底层AXI3总线的直接桥接,摒弃了复杂协议,除了对SerDes有一些软件配置需求之外,没有任何其它软件开销,满足了定制化轻量级的片间地址映射访问需求。仅使用高速串行链路,无任何其它边带信号需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的主机侧架构图;
图2是本发明实施例的从机侧架构图;
图3是本发明实施例的主机发送、从机接收的数据包位宽域划分;
图4是本发明实施例的从机发送、主机接收的数据包位宽域划分;
图5是本发明实施例的写地址、读地址轮询状态机。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例不对SerDes通道数作限制,不对并行位宽作限制,具体使用1:64串/并比率的SerDes为例,对128bits数据位宽,64bits地址位宽的AXI3总线进行桥接设计,但本方法可被其它SerDes串并比率及其它AXI3总线位宽的设计,或者是针对AXI4的设计所引用,其也属于本发明保护范围内。
本实施例提出一种基于SerDes的AXI3总线片间桥接方法,包含以下内容:
步骤S101、设计主机侧和从机侧结构。
AXI3是一种基于突发传输的协议,它定义了5个独立的事务通道,分别为读地址(AR)、读数据(R)、写地址(AW)、写数据(W)和写响应(B)。地址通道携带控制类信息,用于描述被传输的数据属性。写数据通道从master传输数据至slave,在写事务中,slave使用写响应通道告知master写任务完成。读数据通道从slave传输数据至master。
如图1和图2所示,主机侧和从机侧包含针对AXI3总线5个通道设计的5个独立的通道缓冲FIFO(SYNC FIFO)、AXI3异步总线桥(axi_async_bridge)、数据封包模块和数据解析模块。数据封包模块负责通道信息的封包,数据解析模块负责通道信息的解析。5个通道缓冲FIFO包括写数据FIFO、写地址FIFO、读地址FIFO、写响应FIFO和读数据FIFO,用于缓冲AXI3的5个通道的信息。AXI3异步总线桥用以隔离设计模块时钟域与集成***时钟域,提高设计的易用性。
步骤S102、master与slave的片间通信。
具体的,主机侧对写地址、写数据、读地址通道数据进行封包并通过SerDes总线传输至从机侧,从机侧对封包进行解析生成AXI3事务信息。同样,从机侧对读数据、写响应通道数据进行封包,并通过SerDes总线传输至主机侧,主机侧对封包进行解析,包括:
(1)主机侧通过AXI3异步总线桥与FIFO握手成功,将AXI3总线写地址、写数据和读地址通道的有效信息存入各自FIFO中,再由数据封包模块通过一次或者多次读取并进行封包后通过SerDes总线传输。
从机侧解析后的通道信息会被存入从机侧的对应FIFO中,再通过FIF0与AXI3异步总线桥之间的握手,完成AXI3总线对应通道时序的生成。
(2)从机侧通过AXI3异步总线桥与FIFO握手成功,将AXI3总线读数据、写响应通道的有效信息存入各自FIFO中,再由数据封包模块通过一次或者多次读取并进行封包后通过SerDes总线传输。
主机侧解析后的通道信息会被存入主机侧的对应FIFO中,再通过FIFO与AXI3异步总线桥之间的握手,完成AXI3总线对应通道时序的生成。
AXI3总线为valid/ready握手类协议,总线每个通道均包含一对valid/ready信号,握手成功则传输一拍有效的对应通道的信息。此处以写数据通道为例(其它通道类似),写数据通道信号如表1所示,每一拍共有153bits信息(不包括valid/ready信号),这153bits信息会进行封包传输。在该架构中,发送方通过AXI3异步总线桥完成***与设计模块的时钟域隔离。通过AXI3异步总线桥与FIFO握手成功,将AXI3总线写数据通道的有效信息存入FIFO中,再由数据封包模块通过多次读取并进行封包后通过SerDes总线传输。
表1AXI3各通道信号及位宽
与发送封包对应的是封包解析,接收方解析后的AXI3写数据通道信息会被存入接收方的对应FIFO中,再通过FIFO与AXI3异步总线桥之间的握手,完成对应AXI3写数据通道时序的生成。至此,完成了从发送方至接收方的AXI3总线写数据通道信息的传输。
在本实施例中,封包长度为并行位宽64bits(SerDes可采用其它并行位宽)。在SerDes链路稳定建立后,并行时钟每打一拍,均会传输一包数据。包内各位宽域均包含标识位,用于标识该包各位宽域内对应数据是否有效。当AXI3写数据通道没有有效数据需要传输时,数据封包模块仍会发送无效数据,维持SerDes不断进行传输,信息内容是do notcare(不关心)的,其对应标识位无效,会被对侧丢弃。
AXI3总线5个通道的信息位宽分别为:写地址通道90bits,写数据通道153bits,读地址通道90bits,读数据通道139bits,写响应通道10bits。而SerDes并行位宽为64bits,这5个通道信息位宽都不是64的整数倍,也意味着如果使用64bits位宽直接对通道信息封包,会造成串行链路带宽的浪费。举例来说:写数据通道信息位宽是153bits,至少需要3个并行时钟周期才可传输完成,最后一个周期会浪费掉64*3-153=39bits的位宽。此外,这种封包方式下,与写数据同流向的写地址、读地址通道信息,也会对可能正在进行突发写数据传输造成干扰。
为了防止突发传输时被打断,亦或是读/写地址发送被阻塞。本实施例设计了域划分方法,对SerDes的64bits并行位宽进行域划分,尽可能保证了AXI3的5个通道的独立性,保证突发传输的连续性,同时也保证了AXI3总线的Outstanding传输特性。步骤S103和步骤S104分别设计了master侧封包格式和slave侧封包格式。
步骤S103、通过域划分方法对主机侧数据封包模块设计封包格式。
如图3所示,将主机侧流向从机侧的数据包(每64bits打成一包,因为SerDes并行位宽是64bits)划分为两个独立的位宽域,包含写数据通道位宽域和写地址/读地址/主机侧FIFO状态位宽域,两个位宽域相互独立,互不影响。例如,写地址通道有效数据进行传输时,同一数据包内的写数据通道位宽域可能是或者不是有效信息。
每一拍写数据通道信息位宽为153bits,单独占用数据包位[51:0]共52bits位宽域,其中位[51]作为标识位,标识该拍传输的数据包内写数据通道信息是否有效,剩余[50:0]共51bits位宽域用于传输写数据通道的有效数据,(153/51=3)数据封包模块花费3个时钟周期读取并发送完整的一拍写数据通道信息。
写地址、读地址和主机侧FIFO状态共用位[63:52]共计12bits位宽域,位[63:62]用于表达该包对应位宽域信息是否有效以及信息类型(写地址、读地址、FIFO状态亦或是无效信息),2bits标识位对应编码如表2所示;位[61:52]表示写地址通道、读地址通道或者主机侧FIFO状态信息。
表2写地址、读地址和FIFO状态的包头编码
负载 | [63:62] |
IDLE | 2‘b00 |
写地址通道(AW) | 2‘b01 |
读地址通道(AR) | 2‘b10 |
MasterFIFO state | 2‘b11 |
主机侧FIFO状态的作用是己方向对方标识己方接收FIFO是否几乎满,如果对方收到己方FIFO几乎满有效的信息,对方数据封包模块会停止从其FIFO读取有效数据,停止有效数据的继续传输。此时,若对方因为停止发送导致对方FIFO满,则对方FIFO会自动中断与AXI3异步总线桥的握手,从而中断对方AXI3总线对应通道的数据传输,保证了数据的完整性。己方FIFO几乎满无效信息传递给对方后,对方会恢复数据传输。
如表1所示,读/写地址通道信息位宽均为90bits。如图3所示,数据包位[61:52]共10bits,(90/10=9)数据封包模块使用9个并行时钟周期读取并传输完整的一拍有效写地址或读地址通道信息,虽然所用周期数较多,但读/写地址信息相对于连续密集的突发读写数据来说是较为稀疏,在突发数据传输时,读/写地址通道信息有足够的时间进行传输(写数据与读/写地址位宽域相互独立,互不影响),不会因为读/写地址的缺失,而影响读/写数据通道信息的传输。
FIFO状态类型的数据包需要标识主机侧的写响应FIFO、读数据FIFO是否几乎满(如图1中所示,B代表写响应FIFO,R代表读数据FIFO)。数据包位[61:52]足够表达FIFO状态信息。
因为读/写地址信息与FIFO状态信息共用一个位宽域,信息的传输具备排它性。此时,FIFO状态数据的传输具备最高优先级,如果主机侧接收FIFO几乎满有效,则会在完成当前正在进行的一拍读/写地址通道信息的传输后,中断主机侧后续可能的读/写地址传输,优先传输主机侧FIFO状态信息,传输完成后恢复读/写地址信息传输。
类似的问题,读地址、写地址共用一个位宽域,为了防止读地址、写地址相互堵塞,需对读地址、写地址进行轮询传输,轮询状态机如图5所示。不管有无读地址、写地址信息需要传输,状态机都不会持续停留在某一个状态上。
步骤S104、通过域划分方法对从机侧数据封包模块设计封包格式。
slave侧工作方式同master相同。
如图4所示,将从机侧流向主机侧的数据包划分为三个独立的位宽域,包含读数据通道位宽域、写响应通道位宽域和从机侧FIFO状态位宽域,各位宽域之间仍是相互独立、互不影响。
具体的,数据包位[4:0]表示从机侧FIFO状态信息,位[51:5]表示读数据通道信息,位[52]作为标识位,标识该拍传输的数据包内读数据通道信息是否有效,位[62:53]表示写响应通道信息,位[63]作为标识位,标识该拍传输的数据包内写响应通道信息是否有效。
从机侧FIFO状态的作用与步骤S103主机侧FIFO状态的作用相同,可参照上面的描述。另外,从机侧FIFO状态独占一个位宽域,不存在优先级问题。
以读数据通道传输为例,如表1所示,读数据通道信息位宽是139bits。读数据通道信息占用数据包位[52:5]共48bits,其中位[52]用以表达该包读数据通道信息是否有效。位[51:5]共47bits位宽域,数据封包模块花费3个并行时钟周期可读取传输完一拍读数据通道信息,仅浪费47*3-139=2bits位宽。
写响应占用位[63:53]共11bit,其中位[63]为有效信息标识位。数据封包模块使用一个并行时钟周期可完整传输一拍10bits写响应信息。其余位宽划分为从机侧FIFO状态,从机侧FIFO状态用以表达从机侧接收FIFO是否几乎满。
与上述基于SerDes的AXI3总线片间桥接方法相应地,本实施例还提出一种基于SerDes的AXI3总线片间桥接***,包含:
结构设计模块,用于设计主机侧和从机侧结构,主机侧和从机侧包含针对AXI3总线5个通道设计的5个独立的通道缓冲FIFO、AXI3异步总线桥、数据封包模块和数据解析模块。
数据传输模块,用于主机侧对写地址、写数据、读地址通道数据进行封包并通过SerDes总线传输至从机侧,从机侧对封包进行解析;同样,从机侧对读数据、写响应通道数据进行封包,并通过SerDes总线传输至主机侧,主机侧对封包进行解析。
主机侧封包格式设计模块,用于通过域划分方法对主机侧数据封包模块设计封包格式,将主机侧流向从机侧的数据包划分为两个独立的位宽域,包含写数据通道位宽域和写地址/读地址/主机侧FIFO状态位宽域。
从机侧封包格式设计模块,用于通过域划分方法对从机侧数据封包模块设计封包格式,将从机侧流向主机侧的数据包划分为三个独立的位宽域,包含读数据通道位宽域、写响应通道位宽域和从机侧FIFO状态位宽域。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的***而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的各实例的单元及方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已按照功能一般性地描述了各示例的组成及步骤。这些功能是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不认为超出本发明的范围。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如:只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种基于SerDes的AXI3总线片间桥接方法,其特征在于,包含:
设计主机侧和从机侧结构,主机侧和从机侧包含针对AXI3总线5个通道设计的5个独立的通道缓冲FIFO、AXI3异步总线桥、数据封包模块和数据解析模块;
主机侧对写地址、写数据、读地址通道数据进行封包并通过SerDes总线传输至从机侧,从机侧对封包进行解析;同样,从机侧对读数据、写响应通道数据进行封包,并通过SerDes总线传输至主机侧,主机侧对封包进行解析;
通过域划分方法对主机侧数据封包模块设计封包格式,将主机侧流向从机侧的数据包划分为两个独立的位宽域,包含写数据通道位宽域和写地址/读地址/主机侧FIFO状态位宽域;
通过域划分方法对从机侧数据封包模块设计封包格式,将从机侧流向主机侧的数据包划分为三个独立的位宽域,包含读数据通道位宽域、写响应通道位宽域和从机侧FIFO状态位宽域。
2.根据权利要求1所述的基于SerDes的AXI3总线片间桥接方法,其特征在于,所述5个通道缓冲FIFO包括写数据FIFO、写地址FIFO、读地址FIFO、写响应FIFO和读数据FIFO。
3.根据权利要求2所述的基于SerDes的AXI3总线片间桥接方法,其特征在于,所述主机侧对写地址、写数据、读地址通道数据进行封包并通过SerDes总线传输至从机侧,从机侧对封包进行解析;同样,从机侧对读数据、写响应通道数据进行封包,并通过SerDes总线传输至主机侧,主机侧对封包进行解析,具体包括:
主机侧通过AXI3异步总线桥与FIFO握手成功,将AXI3总线写地址、写数据和读地址通道的有效信息存入各自FIFO中,再由数据封包模块通过一次或者多次读取并进行封包后通过SerDes总线传输;
从机侧解析后的通道信息会被存入从机侧的对应FIFO中,再通过FIF0与AXI3异步总线桥之间的握手,完成AXI3总线对应通道时序的生成;
从机侧通过AXI3异步总线桥与FIFO握手成功,将AXI3总线读数据、写响应通道的有效信息存入各自FIFO中,再由数据封包模块通过一次或者多次读取并进行封包后通过SerDes总线传输;
主机侧解析后的通道信息会被存入主机侧的对应FIFO中,再通过FIFO与AXI3异步总线桥之间的握手,完成AXI3总线对应通道时序的生成。
4.根据权利要求1所述的基于SerDes的AXI3总线片间桥接方法,其特征在于,所述SerDes并行位宽为64bits,AXI3总线5个通道的信息位宽分别为:写地址通道90bits,写数据通道153bits,读地址通道90bits,读数据通道139bits,写响应通道10bits。
5.根据权利要求4所述的基于SerDes的AXI3总线片间桥接方法,其特征在于,所述主机侧封包格式为:数据包位[50:0]表示写数据通道信息,位[51]作为标识位,标识该拍传输的数据包内写数据通道信息是否有效;写地址、读地址和主机侧FIFO状态共用位[63:52],位[63:62]用于表达该包对应位宽域信息是否有效以及信息类型,位[61:52]表示写地址通道、读地址通道或者主机侧FIFO状态信息。
6.根据权利要求5所述的基于SerDes的AXI3总线片间桥接方法,其特征在于,所述从机侧封包格式为:数据包位[4:0]表示从机侧FIFO状态信息,位[51:5]表示读数据通道信息,位[52]作为标识位,标识该拍传输的数据包内读数据通道信息是否有效,位[62:53]表示写响应通道信息,位[63]作为标识位,标识该拍传输的数据包内写响应通道信息是否有效。
7.根据权利要求6所述的基于SerDes的AXI3总线片间桥接方法,其特征在于,所述主/从机侧FIFO状态用于己方向对方标识已方接收FIFO是否几乎满,如果对方收到己方FIFO几乎满有效的信息,对方数据封包模块会停止从其FIFO读取有效数据,停止有效数据的继续传输;此时,若对方因为停止发送导致对方FIFO满,则对方FIFO会自动中断与AXI3异步总线桥的握手,从而中断对方AXI3总线对应通道的数据传输。
8.根据权利要求6所述的基于SerDes的AXI3总线片间桥接方法,其特征在于,主机侧FIFO状态信息的传输具有最高优先级,对读地址通道信息和写地址通道信息进行轮询传输;从机侧FIFO状态独占一个位宽域,不存在优先级问题。
9.一种基于SerDes的AXI3总线片间桥接***,其特征在于,用于实现如权利要求1至8任一项所述的基于SerDes的AXI3总线片间桥接方法,包含:
结构设计模块,用于设计主机侧和从机侧结构,主机侧和从机侧包含针对AXI3总线5个通道设计的5个独立的通道缓冲FIFO、AXI3异步总线桥、数据封包模块和数据解析模块;
数据传输模块,用于主机侧对写地址、写数据、读地址通道数据进行封包并通过SerDes总线传输至从机侧,从机侧对封包进行解析;同样,从机侧对读数据、写响应通道数据进行封包,并通过SerDes总线传输至主机侧,主机侧对封包进行解析;
主机侧封包格式设计模块,用于通过域划分方法对主机侧数据封包模块设计封包格式,将主机侧流向从机侧的数据包划分为两个独立的位宽域,包含写数据通道位宽域和写地址/读地址/主机侧FIFO状态位宽域;
从机侧封包格式设计模块,用于通过域划分方法对从机侧数据封包模块设计封包格式,将从机侧流向主机侧的数据包划分为三个独立的位宽域,包含读数据通道位宽域、写响应通道位宽域和从机侧FIFO状态位宽域。
10.一种电子设备,其特征在于,包括:
至少一个处理器,以及与所述至少一个处理器耦合连接的存储器;
其中,所述存储器存储有计算机程序,所述计算机程序能够被所述至少一个处理器执行,以实现如权利要求1~8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410261924.0A CN118210749A (zh) | 2024-03-07 | 2024-03-07 | 基于SerDes的AXI3总线片间桥接方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410261924.0A CN118210749A (zh) | 2024-03-07 | 2024-03-07 | 基于SerDes的AXI3总线片间桥接方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118210749A true CN118210749A (zh) | 2024-06-18 |
Family
ID=91456590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410261924.0A Pending CN118210749A (zh) | 2024-03-07 | 2024-03-07 | 基于SerDes的AXI3总线片间桥接方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118210749A (zh) |
-
2024
- 2024-03-07 CN CN202410261924.0A patent/CN118210749A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8103869B2 (en) | Distributed (modular) internal architecture | |
KR100675850B1 (ko) | AXI 프로토콜을 적용한 NoC 시스템 | |
US9264368B2 (en) | Chip-to-chip communications | |
US8782321B2 (en) | PCI express tunneling over a multi-protocol I/O interconnect | |
CN109710548A (zh) | 一种dma控制数据传输方法、***及设备 | |
US20050132089A1 (en) | Directly connected low latency network and interface | |
CN111611187B (zh) | 一种针对CHI总线的通用协议转换桥及SoC | |
US7779194B2 (en) | Data modification module | |
CN113498596B (zh) | 一种基于PCIe的数据传输方法及装置 | |
KR20030084974A (ko) | 코어 및 직렬-병렬 아키텍쳐 | |
CN112395230A (zh) | 一种基于可编程逻辑器件的uart接口扩展电路 | |
US20210232520A1 (en) | Logical physical layer interface specification support for pcie 6.0, cxl 3.0, and upi 3.0 protocols | |
US20030217311A1 (en) | Debug information provided through tag space | |
KR101559089B1 (ko) | 장치의 컴포넌트들 간에 메모리 자원들을 공유하기 위한 통신 프로토콜 | |
WO2021147046A1 (zh) | 一种PCIe的数据传输方法及装置 | |
WO2021147048A1 (zh) | 一种基于PCIe的数据传输方法、装置及*** | |
JP2009502072A (ja) | FlexRay通信モジュール及びFlexRay通信制御装置、並びにFlexRay通信接続とFlexRay加入者装置との間でメッセージを伝送する方法 | |
WO2014203036A1 (en) | Method and apparatus for offloading functional data from an interconnect component | |
US7120722B2 (en) | Using information provided through tag space | |
JP3989376B2 (ja) | 通信システム | |
CN113498597B (zh) | 一种基于PCIe的数据传输方法及装置 | |
CN118210749A (zh) | 基于SerDes的AXI3总线片间桥接方法及*** | |
CN115982071A (zh) | 一种面向ddr3控制器的片上网络转换接口 | |
CN113051212B (zh) | 图形处理器、数据传输方法、装置、电子设备和存储介质 | |
CN115237829A (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 |