CN114327975A - 片上系统 - Google Patents
片上系统 Download PDFInfo
- Publication number
- CN114327975A CN114327975A CN202111602723.5A CN202111602723A CN114327975A CN 114327975 A CN114327975 A CN 114327975A CN 202111602723 A CN202111602723 A CN 202111602723A CN 114327975 A CN114327975 A CN 114327975A
- Authority
- CN
- China
- Prior art keywords
- write
- read
- signal
- data
- address
- 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
Landscapes
- Information Transfer Systems (AREA)
Abstract
本申请公开了一种片上系统,包括多个主机设备,多个从机设备,多个结构相同且与各从机设备唯一对应的预处理组件,一端与各主机设备相连、另一端与各预处理组件相连的连接器。预处理组件包括含有自定义写通道和自定义读通道的自定义接口、读写接口、读写操作转换状态机、异步fifo模块和从机错误检测模块,从机错误检测模块与读写操作转换状态机相连。读写操作转换状态机完成自定义接口分别与写接口、读接口之间的数据交互和时序转换;写数据操作和读数据操作通过异步fifo模块实现不同时钟域的隔离;从机错误检测模块检测写地址通道和读地址通道的错误,并响应错误信号。本申请简化了AXI的接口时序,提高整个系统的可靠性和可用性。
Description
技术领域
本申请涉及集成电路技术领域,特别是涉及一种片上系统。
背景技术
随着IC(Integrated Circuit,集成电路)的不断发展,对SOC(System on Chip,片上系统)芯片的处理速度性能的要求越来越高。系统总线作为连接各个功能模块的中枢桥梁,对SOC系统的性能起到重要作用,特别是对于多个主设备和多个从设备的系统。AMBA(Advanced Microcontroller Bus Architecture,高级微控制器总线架构)总线是ARM公司与其他芯片公司包括高通、东芝和爱立信共同研发的,以满足SOC系统对于多用户高性能低功耗的需求,并且目前已经得到了广泛的应用。根据总线开发时间及使用环境,AMBA总线又可分为APB(Advanced Peripheral Bus,高级外围总线)、AHB(Advanced High PerformanceBus,高级高性能外围总线)和AXI(Advanced eXtensible Interface,先进可扩展接口)总线,其支持的功能越来越复杂,同时开发的难度也越来越大。AXI总线作为高性能总线的代表,对开发人员提出了很高的要求,也对SOC的开发周期带来了很大的挑战。SOC往往会存在多个从机设备,主机设备的总个数一般小于从机设备的总个数,导致整个AXI接口时序很复杂,SOC的系统开发难度较大。且在检测各从机设备的工作状态时,需要依赖从机设备所产生的错误响应信号,SOC的系统可靠性不高。
鉴于此,如何优化从机设备与其所挂载的AXI总线之间的数据处理方式,简化AXI的接口时序,降低SOC的系统开发难度,提高SOC的系统可靠性和系统可用性,是所属领域技术人员需要解决的技术问题。
发明内容
本申请提供了一种片上系统,优化了从机设备与其所挂载的AXI总线之间的数据处理方式,简化AXI的接口时序,降低SOC的系统开发难度,提高SOC的系统可靠性和系统可用性。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种片上系统,包括AXI总线系统,所述AXI总线系统包括多个主机设备、多个从机设备和连接器,还包括多个结构相同的预处理组件,每个预处理组件唯一对应一个从机设备;所述连接器一端与各主机设备相连,另一端与各预处理组件相连;
所述预处理组件包括自定义接口、读写操作转换状态机、写接口、读接口、异步fifo模块和从机错误检测模块;所述自定义接口包括自定义写通道和自定义读通道,所述写接口对应写数据通道,所述读接口对应读数据通道;所述从机错误检测模块与所述读写操作转换状态机相连;
所述读写操作转换状态机用于完成所述自定义接口分别与所述写接口、所述读接口之间的数据交互和时序转换;
所述异步fifo模块用于使得写数据操作和读数据操作实现不同时钟域的隔离;
所述从机错误检测模块用于检测写地址通道和读地址通道的错误,并响应错误信号。
可选的,所述从机错误检测模块用于当判定写保护区基地址小于所述写地址通道的写地址信号、且所述写保护区基地址和写保护区空间地址之和大于所述写地址信号,则生成错误信号,并将写响应信号置为从机错误标识值,同时将写响应有效信号拉高,直至写响应准备信号同时为1。
可选的,所述从机错误检测模块用于当判定读保护区基地址小于所述读地址通道的读地址信号、且所述读保护区基地址和读保护区空间地址之和大于所述读地址信号,则生成错误信号,并将读响应信号置为从机错误标识值,同时将读响应有效信号拉高,直至读响应准备信号同时为1。
可选的,所述从机错误检测模块用于当检测到所述写地址通道的写突发信号为从机错误标识值,判断写突发长度是否为1或3或7或15;
若所述写突发长度不为1或3或7或15,则将写响应信号置为从机错误标识值,同时将写响应有效信号拉高,直至写响应准备信号同时为1。
可选的,所述从机错误检测模块用于当检测到所述读地址通道的读突发信号为从机错误标识值,判断读突发长度是否为1或3或7或15;
若所述读突发长度不为1或3或7或15,则将读响应信号置为从机错误标识值,同时将读响应有效信号拉高,直至读响应准备信号同时为1。
可选的,所述预处理组件还包括从机离线检测模块;
所述从机离线检测模块用于在所述自定义写通道或所述自定义读通道通过检测握手信号对的每次握手时间,判断相应从机设备是否处于离线状态。
可选的,所述读写操作转换状态机包括写操作转换状态机;
所述写操作转换状态机用于将通过所述写地址通道和所述写数据通道对应的写时序转换为满足所述自定义接口对应的写数据时序,并将时序转换后的地址和数据发送至所述自定义写通道。
可选的,所述写操作转换状态机进一步用于:自定义写数据有效信号和自定义写数据准备信号同时拉高握手成功时,向后级模块写数据,同时所述后级模块对当前写操作回复相应信号。
可选的,所述写操作转换状态机进一步用于:当检测到写操作,发送携带写地址、写数据占用空间容量值和指令有效标志的写指令;当所述写指令发送成功,发送数据使能信号和待写入数据。
可选的,所述读写操作转换状态机包括读操作转换状态机;
所述读操作转换状态机用于:
当读地址有效信号为1时,存储从所述读地址通道读取的多类数据,并将目标类型的数据转换为自定义写时序的信号;
将自定义读数据指令有效信号拉高,同时等待自定义读数据指令准备信号也拉高以完成握手;
当自定义读数据有效信号有效时,将自定义读数据准备信号拉高,并将返回的数据存储到所述异步fifo模块;
将从所述异步fifo模块中读出的返回数据,转换为AXI总线协议的数据格式,并发送到所述读数据通道中。
本申请提供的技术方案的优点在于,通过自定义接口,将复杂的AXI接口时序转换为自定义简单的接口时序,简化复杂的AXI接口时序,降低了系统的开发难度,提升了SOC的系统开发效率。通过预处理组件中的从机错误检测模块在对从机设备与其所挂载的AXI总线之间的数据预处理过程中进行错误检测,从而可以在不依赖从机设备的错误检测和错误响应机制的基础上,检测从机设备的工作状态,增强了整个SOC的系统可靠性和系统可用性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的片上系统的一种具体实施方式的框架结构图;
图2为本发明实施例提供的一个示例性应用场景的框架示意图;
图3为本发明实施例提供的预处理组件的一种具体实施方式的框架结构图;
图4为本发明实施例提供的一个示例性应用场景的自定义写操作时序示意图;
图5为本发明实施例提供的另一个示例性应用场景的自定义写操作时序示意图;
图6为本发明实施例提供的一个示例性应用场景的自定义读操作时序示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
首先参见图1,图1为本发明实施例提供的一种片上系统在一种实施方式下的框架结构示意图,本发明实施例可包括以下内容:
片上系统也即SOC可包括AXI总线系统,也即SOC基于AXI总线协议,AXI总线系统可包括多个主机设备Master1、多个从机设备Slave2、连接器Interconnect3和预处理组件PRE4,如图2所示,主机设备的总个数小于从机设备的总个数,且主机设备数量和从机设备数量可根据实际应用场景进行灵活选择,本申请对此不做任何限定。各从机设备均挂载在系统的AXI总线上,并通过AXI总线进行数据通信。预处理组件4的数量与从机设备2的数量相同,每个预处理组件唯一对应一个从机设备;各预处理组件4的结构和功能均相同,用于对与之相连的从机设备与其所挂载的AXI总线之间的数据进行预处理。连接器3一端与各主机设备1相连,另一端与各预处理组件3相连。
在本实施例中,每个预处理组件4均可包括自定义接口、读写操作转换状态机、写接口、读接口、异步fifo模块和从机错误检测模块。AXI协议是基于突发信号burst的传输协议,并且定义了以下5个独立的传输通道:读地址通道、读数据通道、写地址通道、写数据通道、写响应通道。地址通道即读地址通道和写地址通道携带控制消息,用于描述被传输的数据属性;数据传输使用写通道来实现主机设备到从机设备的传输,从机设备使用写响应通道来完成一次写传输;读通道用来实现数据从机设备到主机设备的传输。基于此,如图3所示,预处理组件4中设置写接口WR_interface对应AXI的写数据通道AXI_WR_DATA,读接口RD_interface对应AXI的读数据通道AXI_RD_DATA,自定义接口interfac包括自定义写通道LOCAL_WR_DATA和自定义读通道LOCAL_RD_DATA。AXI的读地址通道AXI_RD_ADDR和AXI的写地址通道AXI_WR_ADDR对应从机错误检测模块Error_Detect,AXI的写响应通道AXI_WR_RESP对应读写操作转换状态机中的写操作状态转换机FMS_WR。对于自定义接口,本实施例还同时定义了相应的接口信号,如表1和表2,表1为本地写数据端信号,表2为本地读数据端信号。
表1本地写数据端信号
表2本地读数据端信号
其中,异步fifo模块如表3中的async_fifi_pre/sync_fifi_pre用于使得写数据操作和读数据操作实现不同时钟域的隔离;也即读数据操作和写数据操作分别通过一个异步的fifo(First Input First Output,先进先出)实现不同时钟域的隔离。读写操作转换状态机将AXI总线读写操作时序转换为双通道读写数据时序,也即用于完成自定义接口分别与写接口、读接口之间的数据交互和时序转换。由于AXI协议规定其内部的5个通道(也即AXI_WR_RESP写响应通道,AXI_WR_DATA写数据通道,AXI_WR_ADDR写地址通道,AXI_RD_ADDR读地址通道,AXI_RD_DATA:读数据通道)为完全独立,因此读写操作可认为是完全独立的,在设计时使用两个状态机完成数据的交互和时序的转换。也就是说,由于涉及到读写两种操作,相应的,读写操作转换状态机可包括写操作转换状态机FSM_WR和读操作转换状态机FSM_RD。从机错误检测模块与读写操作转换状态机相连,用于检测写地址通道和读地址通道的错误,并响应错误信号。在AXI协议中规定了2bit也即2比特的回复信号即RRESP(读响应回复信号)和BRESP(写响应回复信号),当其值为2’b10时,也即表示2位2进制数1和0,代表从机设备发生错误。从机错误的检测和错误响应一般是在从机设备中产生,但在本申请中将其在预处理组件中计算。通过预处理组件的从机错误检测模块解决了现有技术依赖从设备的错误信号的快速响应的弊端。
在本发明实施例提供的技术方案中,通过自定义接口,将复杂的AXI接口时序转换为自定义简单的接口时序,简化复杂的AXI接口时序,降低了系统的开发难度,提升了SOC的系统开发效率。通过从机错误检测模块在对从机设备与其所挂载的AXI总线之间的数据预处理过程中进行错误检测,从而可以在不依赖从机设备的错误检测和错误响应机制的基础上,检测从机设备的工作状态,增强了整个SOC的系统可靠性和系统可用性。
上述实施例对从机错误检测模块如何检测错误并响应错误,并不进行限定,本申请还提供了从机错误检测模块的多种错误检测方法,以及各错误对应的错误响应方式,可包括下述内容:
对于向写保护区写入数据过程中的错误检测可为:从机错误检测模块可用于当判定写保护区基地址小于写地址通道的写地址信号、且写保护区基地址和写保护区空间地址之和大于写地址信号,则生成错误信号,并将写响应信号置为从机错误标识值,同时将写响应有效信号拉高,直至写响应准备信号同时为1。
在本实施例中,从机错误标识值可为AXI协议定义的标识从机发生错误时的数值。先读取写保护区基地址awprot_base和写保护区空间地址prot_size_w,判断AXI的写地址通道中的写地址信号axi_awaddr是否满足awprot_base+prot_size_w>axi_awaddr>awprot_base,若满足,则此时地址位于写保护区,也即写操作过程中发生错误,此时产生内部的错误信号并进入后面的错误响应部分。当在写操作时检测到错误时,此时将axi_bresp(写响应信号)=2’b10,同时将axi_bvalid(写响应有效信号)拉高,直到axi_bready(写响应准备信号)信号同时为1,完成此次握手。
对于向读保护区读取数据过程中的错误检测可为:从机错误检测模块用于当判定读保护区基地址小于读地址通道的读地址信号、且读保护区基地址和读保护区空间地址之和大于读地址信号,则生成错误信号,并将读响应信号置为从机错误标识值,同时将读响应有效信号拉高,直至读响应准备信号同时为1。
具体来说,先获取读保护区基地址arprot_base和读保护区空间地址prot_size_r,判断AXI读地址通道中的读地址信号axi_araddr是否满足arprot_base+prot_size_r>axi_araddr>arprot_base,若满足,此时地址位于读保护区,读操作过程中发生错误,此时产生内部的错误信号并进入后面的错误响应部分。当在读操作时检测到错误时,此时将axi_rresp(读响应信号)=2’b10,同时将axi_rvalid(读响应有效信号)拉高,直到axi_rready(读响应准备信号)信号同时为1,完成此次握手。
在AXI协议中规定当突发类型为WRAP时,此时实际突发长度必须为2、4、8和16,因此在此预处理组件的从机错误检测模块对于传输方式的错误检测过程可包括:
从机错误检测模块用于当检测到写地址通道的写突发信号为从机错误标识值,判断写突发长度是否为1或3或7或15;若写突发长度不为1或3或7或15,则将写响应信号置为从机错误标识值,同时将写响应有效信号拉高,直至写响应准备信号同时为1。
从机错误检测模块用于当检测到读地址通道的读突发信号为从机错误标识值,判断读突发长度是否为1或3或7或15;若读突发长度不为1或3或7或15,则将读响应信号置为从机错误标识值,同时将读响应有效信号拉高,直至读响应准备信号同时为1。
也就是说,awlen表示写突发长度,arlen表示读突发长度,当写地址通道中的axi_awburst为2’b10时,若awlen=1或awlen=3或awlen=7或awlen=15时,传输方式正确,否则,则产生内部的错误信号并进入后面的错误响应部分。当读地址通道中的axi_arburst为2’b10时,若arlen=1或arlen=3或arlen=7或arlen=15时,传输方式正确,否则,产生内部的错误信号并进入后面的错误响应部分。当在读操作时检测到错误时,此时将axi_rresp(读响应信号)=2’b10,同时将axi_rvalid(读响应有效信号)拉高,直到axi_rready(读响应准备信号)信号同时为1,完成此次握手。当在写操作时检测到错误时,此时将axi_bresp(写响应信号)=2’b10,同时将axi_bvalid(写响应有效信号)拉高,直到axi_bready(写响应准备信号)信号同时为1,完成此次握手。
为了进一步提高整个系统的可靠性和可用性,基于上述实施例,本申请还对从机设备的离线状态进行检测,可包括下述内容:
预处理组件还包括从机离线检测模块;从机离线检测模块用于在自定义写通道或自定义读通道通过检测握手信号对的每次握手时间,判断相应从机设备是否处于离线状态。
在本实施例中,通过在自定义接口通道检测握手信号对也即有效信号valid和准备信号ready的每次握手时间进行检测从机离线状态,本实施例的握手信号对可包括:l_wr_addr_val和l_wr_addr_rdy,l_wr_val和l_wr_rdy,l_rd_addr_val和l_rd_addr_rdy,l_rd_val和l_rd_rdy。当检测到valid信号的上升沿时,即认为发起了一次新的操作,此时将计数器清零,也即val_cnt=0;当valid为1时,此时val_cnt进行自加一操作,也即val_cnt=val_cnt+1。当检测到val_cnt==TIME_OUT时,即此计数器的值等于预设超时时间时,此时认为从机设备发生离线,则进入错误响应步骤。也即当在读操作时检测到错误时,此时将axi_rresp(读响应信号)=2’b10,同时将axi_rvalid(读响应有效信号)拉高,直到axi_rready(读响应准备信号)信号同时为1,完成此次握手。当在写操作时检测到错误时,此时将axi_bresp(写响应信号)=2’b10,同时将axi_bvalid(写响应有效信号)拉高,直到axi_bready(写响应准备信号)信号同时为1,完成此次握手。当检测到valid和ready信号同时拉高时,此时将计数器清零val_cnt==0。
上述实施例对读写操作转换状态机如何完成数据交互和转换时序并不做任何限定,本申请还提供了一种可选的实施方式,可包括下述内容:
读写操作转换状态机可包括写操作转换状态机和读操作转换状态机。
写操作转换状态机用于将通过写地址通道和写数据通道对应的写时序转换为满足自定义接口对应的写数据时序,并将时序转换后的地址和数据发送至自定义写通道。写操作转换状态机完成写数据时序的转换,将复杂的AXI写时序转换为简单自定义的接口规格,并同时支持两种数据时序,具体如下:
作为一种可选的实施方式,如附图4所示,写操作转换状态机进一步用于:自定义写数据有效信号和自定义写数据准备信号同时拉高握手成功时,向后级模块写数据,同时后级模块对当前写操作回复相应信号。在本实施例中,当l_wr_vld和l_wr_rdy同时拉高握手成功时,可以向后级写数据,其中,每一组数据对应一个写地址,l_wr_be为数据有效标志,同时后级模块需要同时对这次写操作回复响应信号。这种接口时序有利于单个数据的写操作,适用于配置寄存器、写RAM(Random Access Memory,随机存取存储器)/FIFO类似接口的从机设备。实现步骤如下:
A1:接收AXI写地址通道数据:当写地址有效信号axi_aw_valid为1时,将写地址axi_awaddr、写突发长度axi_awlen、写突发类型axi_awburst、写数据字节有效axi_ws_trb缓存。
A2:接收写数据:当写数据有效axi_wv_alid信号为1时,将写数据axi_w_data写入数据fifo中。
A3:计算每一个数据对应的地址:AXI协议中规定了3种不同的突发方式,相应的地址计算如下:
FIXED(固定地址):l_wr_addr=axi_awaddr
此种模式下,每一个自定义接口写地址信号与AXI写地址相同
INCR(递增式):l_wr_addr=axi_awaddr+add_addr
自定义接口写地址信号的首地址与AXI地址相同,后续的地址需要在初始地址的基础上进行递增,递增幅度与传输宽度相同
WRAP(回环递增式):首先根据AXI的实际突发长度和突发数据宽度计算回环宽度:wrap_size=burst_len*burst_size,其中,Wrap_size为回环宽度,Burst_len为实际突发长度,Burst_size为每次突发的数据大小,单位为Byte。其次,计算绕回下边界(low wrapboundary):Temp0=axi_awaddr/wrap_size,只取整数部分,Temp0表示计算过程的中间变量,axi_awaddr表示AXI写地址,low wrap boundary=Temp0*wrap_size。再次,计算绕回上边界high wrap boundary,high wrap boundary=low wrap boundary+wrap_size。最后,计算每一个数据对应的地址:当前地址小于绕回上边界时,WRAP与INCR类型完全相同,地址递增。但到递增后的地址到达最高地址后,地址直接回到绕回下边界地址,再进行递增,就这样循环往复。
A4:将地址和数据发送到自定义写数据端:将写数据从数据fifo中读出给到l_wr_data数据线上,同时将上一步计算的对应的地址给到l_wr_addr上,当l_wr_vld和l_wr_rdy完成握手成功后发送下一组数据。
作为另一种可选的实施方式,写操作转换状态机进一步还可用于:当检测到写操作,发送携带写地址、写数据占用空间容量值和指令有效标志的写指令;当写指令发送成功,发送数据使能信号和待写入数据。
如附图5所示为第二种自定义写操作时序,写数据前需要发送一组写指令,包括写地址、写数据大小和指令有效标志,之后紧接着发送数据和数据使能信号。这种方式有利于多数据的连续写入过程,例如闪存flash、PCIe(peripheral component interconnectexpress,高速串行计算机扩展总线标准)、千兆媒体独立接口GMII数据包传输过程。
B1:接收AXI写地址通道数据:当写地址有效信号axi_aw_valid为1时,将写地址axi_awaddr、写突发长度axi_awlen、写突发类型axi_awburst、写数据字节有效axi_ws_trb缓存。
B2:接收写数据:当写数据有效axi_wv_alid信号为1时,将写数据axi_w_data写入数据fifo中。
B3:按照下述各关系式将B1步骤缓存的axi_awaddr、写突发长度axi_awlen转换为自定义写操作信号:
l_wr_addr=axi_awaddr;
l_wr_length=axi_awlen+1;
同时将l_wr_addr_val信号置为1,等待l_wr_addr_rdy信号拉高完成握手。
B4:将数据发送到自定义写数据端:将写数据从数据fifo中读出给到l_wr_data数据线上,当l_wr_vld和l_wr_rdy完成握手成功后发送下一组数据。
如图6所示,对于读操作转换状态机完成数据交互和时序转换的过程可为:读操作转换状态机可用于:当读地址有效信号为1时,存储从读地址通道读取的多类数据,并将目标类型的数据转换为自定义写时序的信号;将自定义读数据指令有效信号拉高,同时等待自定义读数据指令准备信号也拉高以完成握手;当自定义读数据有效信号有效时,将自定义读数据准备信号拉高,并将返回的数据存储到异步fifo模块;将从异步fifo模块中读出的返回数据,转换为AXI总线协议的数据格式,并发送到读数据通道中。下面以一个示意性例子来阐述上述技术方案的实施方式:
C1:接收AXI读地址通道数据:当读地址有效信号axi_arvalid为1时将读地址axi_araddr、读突发长度axi_arlen、读突发类型axi_arburst、读ID axi_arid缓存。
C2:将上个步骤中缓存的AXI的读地址、读数据长度、读ID按照下关系式转换为自定义写时序的信号:
l_rd_addr=axi_araddr;
l_rd_addr=axi_arlen+1;
l_id=axi_arid。
C3:将l_rd_addr_vld信号拉高,同时等待l_rd_addr_rdy信号也拉高完成握手。
C4:当l_rd_vld有效时说明得到返回的读数据,此时将l_rd_rdy拉高,并将返回的数据存储到返回数据fifo中。
C5:将返回数据fifo中的数据读出,并转换为AXI的数据格式发送到AXI总线的读数据通道中。
上文中提到的预处理组件是从功能模块的角度描述,进一步的,本申请还提供一种电子设备,是从硬件角度描述,该电子设备包括存储器,用于存储计算机程序;处理器,用于执行计算机程序时实现如上述任一实施例提到的片上系统方法的步骤。
其中,处理器可以包括一个或多个处理核心,比如4核心处理器、8核心处理器,处理器还可为控制器、微控制器、微处理器或其他数据处理芯片等。处理器可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器还可包括高速随机存取存储器以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。存储器在一些实施例中可以是电子设备的内部存储单元,例如服务器的硬盘。存储器在另一些实施例中也可以是电子设备的外部存储设备,例如服务器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器还可以既包括电子设备的内部存储单元也包括外部存储设备。存储器不仅可以用于存储安装于电子设备的应用软件及各类数据,例如:执行数据预处理方法的程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。本实施例中,存储器至少用于存储以下计算机程序,其中,该计算机程序被处理器加载并执行之后,能够实现前述任一实施例公开的各从机设备与其所挂载的AXI总线之间的数据预处理的相关步骤。另外,存储器所存储的资源还可以包括操作系统和数据等,存储方式可以是短暂存储或者永久存储。其中,操作系统可以包括Windows、Unix、Linux等。数据可以包括但不限于从机设备与其所挂载的AXI总线之间的数据预处理结果对应的数据等。
在一些实施例中,上述电子设备还可包括有显示屏、输入输出接口、通信接口或者称为网络接口、电源以及通信总线。其中,显示屏、输入输出接口比如键盘(Keyboard)属于用户接口,可选的用户接口还可以包括标准的有线接口、无线接口等。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。通信接口可选的可以包括有线接口和/或无线接口,如WI-FI接口、蓝牙接口等,通常用于在电子设备与其他电子设备之间建立通信连接。通信总线可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。
可以理解的是,如果上述实施例中的各从机设备与其所挂载的AXI总线之间的数据预处理方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的预处理组件的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、多媒体卡、卡型存储器(例如SD或DX存储器等)、磁性存储器、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本申请所提供的一种片上系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (10)
1.一种片上系统,包括AXI总线系统,所述AXI总线系统包括多个主机设备、多个从机设备和连接器,其特征在于,还包括多个结构相同的预处理组件,每个预处理组件唯一对应一个从机设备;所述连接器一端与各主机设备相连,另一端与各预处理组件相连;
所述预处理组件包括自定义接口、读写操作转换状态机、写接口、读接口、异步fifo模块和从机错误检测模块;所述自定义接口包括自定义写通道和自定义读通道,所述写接口对应写数据通道,所述读接口对应读数据通道;所述从机错误检测模块与所述读写操作转换状态机相连;
所述读写操作转换状态机用于完成所述自定义接口分别与所述写接口、所述读接口之间的数据交互和时序转换;
所述异步fifo模块用于使得写数据操作和读数据操作实现不同时钟域的隔离;
所述从机错误检测模块用于检测写地址通道和读地址通道的错误,并响应错误信号。
2.根据权利要求1所述的片上系统,其特征在于,所述从机错误检测模块用于当判定写保护区基地址小于所述写地址通道的写地址信号、且所述写保护区基地址和写保护区空间地址之和大于所述写地址信号,则生成错误信号,并将写响应信号置为从机错误标识值,同时将写响应有效信号拉高,直至写响应准备信号同时为1。
3.根据权利要求1所述的片上系统,其特征在于,所述从机错误检测模块用于当判定读保护区基地址小于所述读地址通道的读地址信号、且所述读保护区基地址和读保护区空间地址之和大于所述读地址信号,则生成错误信号,并将读响应信号置为从机错误标识值,同时将读响应有效信号拉高,直至读响应准备信号同时为1。
4.根据权利要求1所述的片上系统,其特征在于,所述从机错误检测模块用于当检测到所述写地址通道的写突发信号为从机错误标识值,判断写突发长度是否为1或3或7或15;
若所述写突发长度不为1或3或7或15,则将写响应信号置为从机错误标识值,同时将写响应有效信号拉高,直至写响应准备信号同时为1。
5.根据权利要求1所述的片上系统,其特征在于,所述从机错误检测模块用于当检测到所述读地址通道的读突发信号为从机错误标识值,判断读突发长度是否为1或3或7或15;
若所述读突发长度不为1或3或7或15,则将读响应信号置为从机错误标识值,同时将读响应有效信号拉高,直至读响应准备信号同时为1。
6.根据权利要求1所述的片上系统,其特征在于,所述预处理组件还包括从机离线检测模块;
所述从机离线检测模块用于在所述自定义写通道或所述自定义读通道通过检测握手信号对的每次握手时间,判断相应从机设备是否处于离线状态。
7.根据权利要求1至6任意一项所述的片上系统,其特征在于,所述读写操作转换状态机包括写操作转换状态机;
所述写操作转换状态机用于将通过所述写地址通道和所述写数据通道对应的写时序转换为满足所述自定义接口对应的写数据时序,并将时序转换后的地址和数据发送至所述自定义写通道。
8.根据权利要求7所述的片上系统,其特征在于,所述写操作转换状态机进一步用于:当自定义写数据有效信号和自定义写数据准备信号同时拉高握手成功时,向后级模块写数据,同时所述后级模块对当前写操作回复相应信号。
9.根据权利要求7所述的片上系统,其特征在于,所述写操作转换状态机进一步用于:当检测到写操作,发送携带写地址、写数据占用空间容量值和指令有效标志的写指令;当所述写指令发送成功,发送数据使能信号和待写入数据。
10.根据权利要求1至6任意一项所述的片上系统,其特征在于,所述读写操作转换状态机包括读操作转换状态机;
所述读操作转换状态机用于:
当读地址有效信号为1时,存储从所述读地址通道读取的多类数据,并将目标类型的数据转换为自定义写时序的信号;
将自定义读数据指令有效信号拉高,同时等待自定义读数据指令准备信号也拉高以完成握手;
当自定义读数据有效信号有效时,将自定义读数据准备信号拉高,并将返回的数据存储到所述异步fifo模块;
将从所述异步fifo模块中读出的返回数据,转换为AXI总线协议的数据格式,并发送到所述读数据通道中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111602723.5A CN114327975A (zh) | 2021-12-24 | 2021-12-24 | 片上系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111602723.5A CN114327975A (zh) | 2021-12-24 | 2021-12-24 | 片上系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114327975A true CN114327975A (zh) | 2022-04-12 |
Family
ID=81013142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111602723.5A Pending CN114327975A (zh) | 2021-12-24 | 2021-12-24 | 片上系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114327975A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115794722A (zh) * | 2023-02-10 | 2023-03-14 | 智绘微电子科技(南京)有限公司 | 一种AXI outstanding接口转换实现方法 |
CN115955518A (zh) * | 2022-12-16 | 2023-04-11 | 无锡芯光互连技术研究院有限公司 | 主从设备间通讯的通讯转换方法、装置及存储介质 |
-
2021
- 2021-12-24 CN CN202111602723.5A patent/CN114327975A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115955518A (zh) * | 2022-12-16 | 2023-04-11 | 无锡芯光互连技术研究院有限公司 | 主从设备间通讯的通讯转换方法、装置及存储介质 |
CN115794722A (zh) * | 2023-02-10 | 2023-03-14 | 智绘微电子科技(南京)有限公司 | 一种AXI outstanding接口转换实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW379294B (en) | Interfacing direct memory access devices to a non-isa bus | |
CA2109682C (en) | Multiple bus interface | |
CN103714029B (zh) | 新型二线同步通信协议及应用 | |
CN111651384B (zh) | 寄存器的读写方法、芯片、子系统、寄存器组及终端 | |
JPH02227765A (ja) | デジタル・コンピユータのデータ転送装置 | |
CN100373388C (zh) | 一种快速生成逻辑电路的方法 | |
CN114265872B (zh) | 一种用于总线的互联装置 | |
CN105335548A (zh) | 一种用于ice的mcu仿真方法 | |
WO2024051122A1 (zh) | 一种PCIe中断处理方法、装置、设备及非易失性可读存储介质 | |
EP1403814B1 (en) | Electronic apparatus, information processing apparatus, adapter apparatus, and information exchange system | |
CN114327975A (zh) | 片上系统 | |
CN113485672B (zh) | 基于fifo存储器的信息生成方法、装置、设备及介质 | |
JP2000066994A (ja) | Lpc/isaブリッジ及びそのブリッジ方法 | |
CN112256615B (zh) | Usb转换接口装置 | |
CN111597137A (zh) | 一种基于spi协议的动态调试方法、装置及系统 | |
CN107704417A (zh) | 与被测设备通信的方法及其通信系统 | |
CN111371799B (zh) | Mctp控制器收发数据的控制方法、装置及设备 | |
CN114168503A (zh) | 一种接口ip核控制方法、接口ip核、装置及介质 | |
CN100365606C (zh) | 安全数字存储卡数据的存储器直接存取方法及其接口电路 | |
CN109783407B (zh) | 一种基于fpga实现pc与显卡桥接的装置及方法 | |
CN110765038B (zh) | 处理器与lpc设备的通信方法、装置和存储介质 | |
CN208190652U (zh) | 一种全双工通用同步异步串行收发器的主板 | |
CN102591820B (zh) | 一种idma总线桥装置 | |
US6442643B1 (en) | System and method for resolving data transfer incompatibilities between PCI and Non-PCI buses | |
CN111241017B (zh) | 多通道psam卡的数据传输方法、装置及多通道psam卡 |
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 |