CN102375797B - 总线系统以及连接总线系统和连接设备的桥接器电路 - Google Patents
总线系统以及连接总线系统和连接设备的桥接器电路 Download PDFInfo
- Publication number
- CN102375797B CN102375797B CN201110240431.1A CN201110240431A CN102375797B CN 102375797 B CN102375797 B CN 102375797B CN 201110240431 A CN201110240431 A CN 201110240431A CN 102375797 B CN102375797 B CN 102375797B
- Authority
- CN
- China
- Prior art keywords
- connection device
- signal
- write
- equipment
- 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.)
- Expired - Fee Related
Links
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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/4031—Coupling between buses using bus bridges with arbitration
- G06F13/4036—Coupling between buses using bus bridges with arbitration and deadlock prevention
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Debugging And Monitoring (AREA)
Abstract
在此公开总线系统以及连接总线系统和连接设备的桥接器。所述总线系统包括:第一连接设备和第二连接设备,其根据预定协议执行交换;总线,所述第一连接设备和第二连接设备经由所述总线彼此连接;以及桥接器,其插入在所述第一连接设备和所述总线之间,并且在接收到所述第一连接设备的断开指令时,代之所述第一连接设备,根据预定协议执行与所述第二连接设备的交换。
Description
技术领域
本公开涉及总线系统,具体地涉及总线系统和连接设备据以相互连接的桥接器电路。
背景技术
在总线系统中,多个连接设备连接到总线(也称为“互连”),并且在多个连接设备之中执行数据传输。在数据传输中发挥主导作用的连接设备称为主设备,而被动地操作的连接设备称为从设备。例如,假设处理器作为成为主设备的连接设备。例如,假设存储器作为成为从设备的连接设备。
在这种总线系统中,对于用于数据传输的一系列操作(处理),数据传输的请求和实际数据传输彼此独立地受控(分离处理),由此使得可以提高传输效率。另一方面,在允许分离处理的情况下,当由于某种故障而使得某一主设备或从设备挂起(hangup)时,在某些情况下达到整个系统的挂起。例如,假设在主设备M0和M1以及从设备S0和S1据以彼此连接的互连中,从设备S0在主设备M0访问从设备S0和S1二者的同时挂起。当存在来自从设备S0的数据相比于来自从设备S1的数据更早地返回到主设备M0的顺序规定时,在主设备M0和从设备S1之间同样可能不能完成传输。此时,由于可能不能在从设备S1自身中完成传输,因此当主设备M1访问从设备S1时,可能同样不能完成该访问。结果,从设备S0挂起,这导致其它主设备M0和M1以及从设备S1全部挂起。
在这一点上,在不允许分离处理(splittransaction)的系统(system)中,如果引起挂起的主设备或从设备在仅同时执行一个访问的时候与互连在电气上断开,则可以继续系统操作。例如,提出了这样的总线系统:将总线断开信号输出到门电路(gate),由此在电气上断开总线主设备。例如,在日本专利特开No.2002-269033中公开了这种系统(参照图1)。
发明内容
然而,在多个传输的优秀(outstanding)执行是可能的系统中,可能引起这样的情况:在导致挂起时的时间点处,多个访问在执行的中途。因此,存在这样的可能性:仅电断开连接设备导致其它连接设备的故障,因此变得难以继续系统运算。
为了解决上述问题,已经做出了本公开,因此期望提供可以在不引起故障的情况下断开分离处理执行中的连接设备的总线系统以及桥接器电路,其中总线系统和连接设备经由所述桥接器电路彼此连接。
为了实现上述期望,根据本公开的实施例,提供了一种总线系统,包括:第一连接设备和第二连接设备,根据预定协议执行交换;总线,所述第一连接设备和第二连接设备经由所述总线彼此连接;以及桥接器,其插入在所述第一连接设备和所述总线之间,并且在接收到所述第一连接设备的断开指令时,代之所述第一连接设备,根据预定协议执行与所述第二连接设备的交换。
结果,即使当第一连接设备从总线系统断开时,也可以基于预定协议确保与第二连接设备的联接(coherency)。
优选地,所述第一连接设备是在与所述第二连接设备的传输中发挥主导作用的连接设备,并且所述第二连接设备是对于与所述第一连接设备的传输,被动地操作的连接设备。
也就是说,假设第一连接设备用作主设备,并且第二连接设备用作从设备。在这种情况下,优选地,当所述桥接器接收到所述第一连接设备的断开指令时,所述桥接器可以停止从所述第一连接设备发布读地址,并可以允许从所述第二连接设备接收读数据。
另外,优选地,当所述桥接器接收到所述第一连接设备的断开指令时,所述桥接器可以停止从所述第一连接设备发布写地址,并可以允许从所述第二连接设备接收写响应。
此时,优选地,即使在所述桥接器接收到所述第一连接设备的断开指令时,所述桥接器停止从所述第一连接设备发布写地址的情况下,所述桥接器也可以发布正在突发传输的写数据直到突发传输结束为止。
另外,优选地,所述第二连接设备可以是在与所述第一连接设备的传输中发挥主导作用的连接设备,并且所述第一连接设备可以是对于与所述第二连接设备的传输被动地操作的连接设备。
也就是说,假设第二连接设备用作主设备,并且第一连接设备用作从设备。在这种情况下,优选地,当所述桥接器接收到所述第一连接设备的断开指令时,所述桥接器可以允许从所述第二连接设备接收读地址,并且可以将表示错误信息的固定值发送回所述第二连接设备。
另外,优选地,当所述桥接器接收到所述第一连接设备的断开指令时,所述桥接器可以允许从所述第二连接设备接收写地址,并且可以将表示错误信息的固定值发送回所述第二连接设备。
另外,优选地,当所述桥接器接收到所述第一连接设备的断开指令时,所述桥接器可以将来自所述第一连接设备的信号箝位在预定电平。结果,当第一连接设备从总线系统断开时,可以稳定信号。
根据本公开的另一个实施例,提供了一种用在总线系统中的桥接器电路,所述总线系统包括根据预定协议执行交换的第一连接设备和第二连接设备以及总线,所述第一连接设备和第二连接设备经由所述总线彼此连接,其中所述桥接器插入在所述第一连接设备和所述总线之间,并且当接收到所述第一连接设备的断开指令时,代之第一连接设备,根据预定协议执行与所述第二连接设备的交换。
结果,即使当第一连接设备从总线系统断开时,也可以基于预定协议确保与第二连接设备的联接。
如上面所提出的那样,根据本公开的实施例,可以提供这样的出色效果:在总线系统中,分离处理的执行中的连接设备可以在不引起故障的情况下从总线系统断开。
附图说明
图1是示出根据本公开第一实施例的总线系统的整体配置的框图;
图2是示出根据本公开第一实施例的总线系统中主设备协议联接部分的配置的框图;
图3是示出AXI(高级扩展接口)协议中构成读地址通道的信号的图;
图4是示出AXI协议中构成读数据通道的信号的图;
图5是示出AXI协议中构成写地址通道的信号的图;
图6是示出AXI协议中构成写数据通道的信号的图;
图7是示出AXI协议中构成写响应通道的信号的图;
图8是示出根据本公开第一实施例的总线系统中主设备读联接部分的电路图;
图9是示出根据本公开第一实施例的总线系统中有关复位优先级SR触发器的操作的真值表的图;
图10是示出根据本公开第一实施例的总线系统中主设备写联接部分的配置的电路图;
图11A和11B分别是示出根据本公开第一实施例的总线系统中FIFO(先入先出)操作的框图和图;
图12是示出根据本公开第一实施例的总线系统中从设备协议联接部分的配置的框图;
图13是示出根据本公开第一实施例的总线系统中从设备读联接部分的配置的电路图;
图14是示出AXI协议中读响应PRESP信号和写响应BRESP信号的意义的图;
图15是示出根据本公开第一实施例的总线系统中从设备写联接部分的配置的电路图;
图16是示出根据本公开第二实施例的总线系统的整体配置的框图;
图17是示出根据本公开第二实施例的总线系统中主设备断开桥接器的配置的框图;
图18是示出根据本公开第二实施例的总线系统中从设备断开桥接器的配置的框图;以及
图19A和19B分别是示出根据本公开第二实施例的总线系统中高箝位电路和低箝位电路的配置的电路图。
具体实施方式
下文参照附图详细描述本公开的实施例。要注意的是,下面根据以下顺序给出描述:
1.第一实施例(未假设断开阶段中的信号箝位的情况);以及
2.第二实施例(假设断开阶段中的信号箝位的情况)。
1.第一实施例
[总线系统的整体配置]
图1是示出根据本公开第一实施例的总线系统的整体配置的框图。在总线系统中,多个连接设备连接到用作总线的互连300。将多个连接设备分类为M个主设备100和S个从设备200。主设备100是在数据传输中发挥主导作用的连接设备。此外,从设备200是被动地操作的设备。要注意的是,M和S是整数,其每一个均等于或大于1。
在本公开的第一实施例中,主设备断开桥接器400相应地连接在互连300和主设备100之间。此外,从设备断开桥接器500相应地连接在互连300和从设备200之间。每一个主设备断开桥接器400均包括主设备协议联接部分401。主设备协议联接部分401在与其连接的主设备100从总线系统断开时确保关于总线协议的联接(coherency)。每一个从设备断开桥接器500均包括从设备协议联接部分501。从设备协议联接部分501在与其连接的从设备200从总线系统断开时确保关于总线协议的联接。
彼此独立的主设备断开信号409相应地输入到主设备断开桥接器400。此外,分别与主设备断开信号409之一对应的主设备100从总线系统断开。也就是说,主设备断开信号409由M个信号构成。同样地,彼此独立的从设备断开信号509对应地输入到从设备断开桥接器500。此外,相应地与从设备断开信号509之一对应的从设备200从总线系统断开。也就是说,从设备断开信号509由S个信号构成。基于主设备断开信号409和从设备断开信号509的断开指令可以通过互连300中挂起的检测而触发,或者可以通过用户输入的操作而触发。主设备断开信号409和从设备断开信号509的转换时刻可以是任意时刻,由此不需要考虑与其它信号的同步。
要注意的是,主设备100是本公开的第一或第二连接设备的示例。另外,从设备200是本公开的第二或第一连接设备的示例。另外,互连300是本公开的总线的示例。此外,每一个主设备断开桥接器400和从设备断开桥接器500是本公开的桥接器的示例。
[主设备协议联接部分的配置]
图2是示出在本公开第一实施例中主设备协议联接部分401的配置的框图。主设备协议联接部分401包括主设备读联接部分410和主设备写联接部分450。将公共主设备断开信号409输入到主设备写联接部分450和主设备读联接部分410的每一个。
主设备读联接部分410用以在对应主设备100的读操作期间对应的主设备100从总线系统断开时确保关于协议的联接。在这种情况下,将高级扩展接口(AXI)协议假设为(分离处理)总线的典型示例,经由所述总线,数据传输的请求和实际数据传输彼此独立地受到控制。在AXI协议中,准备读地址通道和读数据通道作为读操作的路径。当将其中包含读地址的请求经由读地址通道从主设备100传送到从设备200时,响应于该请求,将读数据经由读数据通道从从设备200传送到主设备100。
主设备写联接部分450用以在对应主设备100的写操作期间对应的主设备100从总线系统断开时确保关于协议的联接。在AXI协议中,准备写地址通道、写数据通道和写响应通道作为用于写操作的路径。当将写请求经由写地址通道和写数据通道二者从主设备100传送到从设备200时,响应于写请求,在从设备200中执行写操作。此外,将写操作的结果经由写响应通道从从设备200传送到主设备100。
在AXI协议中,当在各个通道中声明(assert)有效信号VALD和准备(ready)信号READY二者时执行信息的传输(例如,数据传送)。例如,在读地址通道的情况下,作为传输源的主设备100设置读地址等,并将有效信号ARVALID声明为“1”。此时,作为接收侧的从设备200在变为可接收的时刻处将准备信号ARREADY声明为“1”。结果,当有效信号ARVALID和准备信号ARREADY二者被设置为“1”时,发送读地址等。
尽管稍后将描述通道的细节,但是关于通道的信号名称,将“S_”作为前缀添加到从主设备100侧连接到从设备200侧的信号。此外,将“M_”作为前缀添加到从从设备200侧连接到主设备100侧的信号。另外,将“AR”、“R”、“AW”、“W”和“B”分别添加到读地址通道、读数据通道、写地址通道、写数据通道和写响应通道,以便跟在所述前缀之后。另外,在图2中,有效信号VALID和准备信号READY以外的信号统一地由标记“*”表示。此外,实线箭头指示有效和发送信息的方向,并且虚线箭头指示准备信号的方向。
[AXI协议中的通道构成]
图3是示出AXI协议中构成读地址通道的信号的图。读地址通道是通过其将读地址从主设备100发送到从设备200的通道。读地址通道由读地址标识符、读地址、突发(burst)长度、突发大小、突发类型、锁定(lock)类型、高速缓存类型、保护类型、读地址有效和读地址准备的信号构成。对于这些信号,仅读地址准备是从从设备200发送的信号,并且读地址准备以外的信号是从主设备100发送的信号。
读地址标识符ARID[3:0]是用于标识信号的读地址组的4位标签。在AXI协议中,在主设备发布处理时请求从设备维持顺序关系的情况下,添加相同的标识符。换言之,在具有不同标识符的处理之中,不保证维持顺序关系。
读地址ARADDR[31:0]是变为读对象的32位地址,并且是表示突发传输中初始地址的信号。
突发长度ARLEN[3:0]是表示突发传输中数据数量的4位信号。将“1”到“16”中的任一个的数据数量编码为要示出的4位。
突发大小ARSIZE[2:0]是表示突发传输中每一次的传输大小的3位信号。将“20”、“21”、“22”、“23”、“24”、“25”、“26”和“27”中的任一个的传输大小编码为要示出的3位。
突发类型ARBURST[1:0]是表示针对突发传输的地址计算的类型的2位信号。具体地,可以指定FIFO类型、连续访问、高速缓存线的任意类型。
锁定类型ARLOCK[1:0]是表示原子访问(atomicaccess)的信息的2位信号。具体地,可以指定正常访问、排它访问和带有锁定的访问的任意类型。
高速缓存类型ARCACHE[3:0]是表示高速缓存器的控制所需的信息的4位信号。具体地,示出了关于高速缓存是否可能、写入(writethrough)或写回等的控制信息。
保护类型ARPROT[2:0]是表示保护控制所需的信息的3位信号。具体地,可以指定特许访问、不安全访问和指令访问的保护级别。
读地址有效ARVALID是表示地址和控制信号的有效性的有效信号。读地址准备ARREADY是表示从设备200是否处于能够接收地址和控制信号的状态的准备信号。如上所述,当声明了读地址有效ARVALID和读地址准备ARREADY二者时,传送地址和控制信号。
图4是示出AXI协议中构成读数据通道的信号的图。读数据通道是通过其将读数据从从设备200传送到主设备100的通道。读数据通道由读标识符标签、读数据、读响应、读最后、读有效和读准备的信号构成。对于这些信号,仅读准备是从主设备100发送的信号,读准备以外的信号是从从设备200发送的信号。
读标识符标签RID[3:0]是用于标识信号的读数据组的4位标签。读标识符标签RID[3:0]在从设备中产生,由此需要与读地址标识符ARID[3:0]相适合。
读数据RDATA[31:0]是基于读处理从从设备200发送的读数据。尽管在这种情况下,假设具有32位宽的读数据总线,但是读数据RDATA的位宽依据读数据总线宽度而改变。读数据总线具有8、16、32、64、128、256、512和1024的任一个的位宽。
读响应RRESP[1:0]是表示基于读处理的数据传输的状态的2位信号。稍后将描述信号内容的细节。
读最后RLAST是表示关注的数据传输是读处理中最后的数据传输的效果(effect)的信号。
读有效RVALID是表示所请求的读数据的有效性的有效信号。读准备PREADY是表示主设备100是否处于能够接收读数据的状态的准备信号。如上所述,当声明了读有效RVALID和读准备RREADY二者时,传送读数据。
图5是示出AXI协议中构成写地址通道的信号的图。写地址通道是通过其将写地址从主设备100发送到从设备200的通道。写地址通道由写地址标识符、写地址、突发长度、突发大小、突发类型、锁定类型、高速缓存类型、保护类型、写地址有效和写地址准备的信号构成。对于这些信号,仅写地址准备是从从设备200发送的信号,写地址准备以外的信号是从主设备100发送的信号。
写地址标识符AWID[3:0]是用于标识信号的写地址组的4位标签。写地址AWADDR[31:0]是成为写的对象的32位地址。此外,写地址AWADDR[31:0]是表示突发传输中初始地址的信号。
突发长度AWLEN[3:0]是表示用于突发传输的数据的数量的4位信号。突发大小AWSIZE[2:0]是表示突发传输的每一次的传输大小的3位信号。突发类型AWBURST[1:0]是表示突发传输的地址计算的类型的2位信号。锁定类型AWLOCK[1:0]是表示原子访问的信息的2位信号。高速缓存类型AWCACHE[3:0]是表示高速缓存器的控制所需的信息的4位信号。此外,保护类型AWPROT[2:0]是表示保护控制所需的信息的3位信号。这些信号基本上与读地址通道的情况下的那些相同。
写地址有效AWVALID是表示地址和控制信号的有效性的有效信号。写地址准备AWREADY是表示从设备200是否处于能够接收地址和控制信号的状态的准备信号。如上所述,当声明了写有效AWVALID和写地址准备AWREADY二者时,传送地址和控制信号二者。
图6是示出AXI协议中构成写数据通道的信号的图。写数据通道是通过其将写数据从主设备100传送到从设备200的通道。写数据通道由写标识符标签、写数据、写选通、最后写、写有效和写准备的信号构成。对于这些信号,仅写准备是从从设备200发送的信号。写准备以外的信号是从主设备100发送的信号。
写标识符标签WID[3:0]是用于标识信号的写数据组的4位标签。写标识符标签WID[3:0]需要与写地址标识符AWID[3:0]相适合。
写数据WDATA[31:0]是基于写处理的对于从设备200的写数据。尽管在这种情况下,假设具有32位宽的写数据总线,但是写数据WDATA的位宽依据读数据总线宽度而改变。写数据总线具有8、16、32、64、128、256、512和1024的任一个的位宽。
写选通WSTRB[3:0]是表示要在从设备200的存储器中更新的字节的位置的4位信号。每8位写数据总线分配写选通WSTRB[3:0]的1位。也就是说,写选通WSTRB[i]对应于WDATA[(8×i)+7:(8×i)]。
写最后WLAST是表示关注的数据传输是写处理中最终的数据传输的效果的信号。
写有效WVALID是表示写数据的有效性的有效信号。写准备WREADY是表示从设备200是否处于能够接收写数据的状态的准备信号。如上所述,当声明了写有效WVALID和写准备WREADY二者时,传输写数据。
图7是示出AXI协议中构成写响应通道的信号的图。写响应通道是通过其将写处理的结果从从设备200发送到主设备100的通道。写响应通道由响应标识符、写响应、写响应有效和响应准备的信号构成。对于这些信号,仅响应准备是从主设备100发送的信号,并且响应准备以外的信号是从从设备200发送的信号。
响应标识符BID[3:0]是用于标识写响应的4位标签。响应标识符BID[3:0]需要与地址标识符AWID[3:0]相适合。
写响应BRESP[1:0]是表示基于写处理的数据传输的状态的2位信号。稍后将描述信号内容的细节。
写响应有效BVALID是表示写响应的有效性的有效信号。响应准备BREADY是表示主设备100是否处于能够接收写响应的状态的准备信号。如上所述,当声明了写响应有效BVALID和响应准备BREADY二者时,发送写响应。
[主设备读联接部分的配置]
图8是示出本公开的第一实施例中主设备读联接部分410的配置的电路图。主设备读联接部分410包括多路复用器411和412、复位优先级SR触发器421和OR门422。
每一个多路复用器411和412根据主设备断开信号409选择输入信号的任意一个,并输出由此选择的输入信号。当主设备断开信号409表示非断开(例如,“0”)时,多路复用器411输出读地址有效S_ARVALID,而当主设备断开信号409表示断开(例如,“1”)时,输出恒定值“0”。将来自多路复用器411的输出信号(即,读地址有效S_ARVALID或恒定值“0”)输入到复位优先级SR触发器421的输入端以及OR门422的两个输入端之一的每一个。当主设备断开信号409表示非断开时,多路复用器412输出读准备S_RREADY信号,而当主设备断开信号409表示断开时,输出恒定值“1”。将来自多路复用器412的输出信号(即,读准备S_RREADY信号或恒定值“1”)作为读准备M_RREADY信号输出。
复位优先级SR触发器421是这样的触发器:其在声明了置位输入S时在下一周期中置位,而在声明了复位输入R时在下一周期中复位。当同时声明置位输入S和复位输入R时,比置位输入S优先地声明复位输入R,然后复位输入R在下一周期中复位。当置位输入S和复位输入R都未声明时,下一周期中的输出信号Q[t]原样表示刚好在输出信号Q[t]之前的输出信号Q[t-1]。图9是示出在本公开的第一实施例中,关于复位优先级SR触发器421的操作的真值表的图。将来自复位优先级SR触发器421的输出信号输入到OR门422的两个输入端之一。
OR门422是对于来自多路复用器411的输出信号和来自复位优先级SR触发器421的输出信号执行逻辑和(OR)运算操作的逻辑门。将来自OR门422的输出信号作为读地址有效M_ARVALID信号输出。
[主设备读联接部分的操作]
在读地址通道中,读地址有效S_ARVALID信号变为由多路复用器411进行的切换的对象。然而,读地址通道对于读地址有效S_ARVALID信号以外的其它信号是透明的,因此其它信号按照原样通过读地址通道。要注意的是,在图8中,读地址有效ARVALID信号和读地址准备ARREADY信号以外的信号统一地由AR*表示。
在读数据通道中,读准备S_RREADY信号变为由多路复用器412进行的切换的对象。然而,读数据通道对于读准备S_RREADY信号以外的其它信号是透明的,因此其它信号按照原样通过读数据通道。要注意的是,在图8中,读有效RVALID信号和读准备RREADY信号以外的信号统一地由R*表示。
当主设备断开信号409表示断开时,多路复用器411和412分别输出“0”和“1”作为固定值。结果,获得了与当读地址有效S_ARVALID信号变为“0”时的状态相同的状态,并且主设备100就像它通常停止读地址的发布那样动作。然而,对于AXI协议的规则,当一旦将VALID信号声明为“1”时,禁止VALID信号返回到“0”直到接收到READY信号以建立传输操作。然后,使用复位优先级SR触发器421,由此消除了在将读地址有效M_ARVALID信号保持在“1”且将读地址准备M_ARREADY信号保持在“0”的状态下声明主设备断开信号409以表示断开时的不便。也就是说,在这种情况下,将M_ARVALID信号保持在“1”直到M_ARREADY信号已经变为“1”为止。结果,即使当主设备断开信号409表示断开时,也在读地址通道中保证了正常的AXI协议。另外,在读数据通道中,当主设备断开信号409表示断开时,获得了与当读准备S_PREADY信号变为“1”时的状态相同的状态,因此主设备100就像它可以通常接收读数据那样动作。
总之,当主设备断开信号409表示断开时,主设备读联接部分410停止向互连300发布读地址,对于先前发布的读地址接收所有读数据,并且丢弃由此接收的所有读数据。此时,在改变主设备断开信号409以便示出从非断开到连接的表示之前和之后,AXI协议在其正确性保持的情况下被接管(takeover)。
[主设备写联接部分的配置]
图10是示出本公开的第一实施例中主设备写联接部分450的配置的电路图。主设备写联接部分450包括多路复用器451到454、FIFO601、AND门461到466、复位优先级SR触发器471、OR门472、计数器481和比较器482。
多路复用器451到454的每一个用以根据主设备断开信号409选择输入信号的任意一个,并输出由此选择的输入信号。当主设备断开信号409表示非断开(例如,“0”)时,多路复用器451输出写地址有效S_AWVALID信号,而当主设备断开信号409表示断开(例如,“1”)时,输出恒定值“0”。将来自多路复用器451的输出信号(即,写地址有效S_AWVALID信号或恒定值“0”)输入到复位优先级SR触发器471的S输入端以及OR门472的两个输入端之一的每一个。
当主设备断开信号409表示非断开时,多路复用器452输出写有效S_WVALID信号,而当主设备断开信号409表示断开时,输出恒定值“1”。将来自多路复用器452的输出信号(即,写有效S_WVALID信号或恒定值“1”)输入到AND门466的两个输入端之一。
当主设备断开信号409表示非断开时,多路复用器453按照原样输出写数据通道的写有效S_WVALID信号和写准备S_WREADY信号以外的信号S_W*。另一方面,当主设备断开信号409表示断开时,多路复用器453关断信号S_W*的所有4位写选通WSTRB[3:0],并输出由此关断的4位信号。将来自多路复用器453的输出信号作为写数据通道的写地址有效M_WVALID信号、写准备M_WREADY信号和写最后M_WLAST信号以外的信号M_W*输出。
当主设备断开信号409表示非断开时,多路复用器454输出响应准备S_BREADY信号,而当主设备断开信号409表示断开时,输出恒定值“1”。将来自多路复用器454的输出信号作为写响应通道的响应有效M_BVALID信号和响应准备M_BREADY信号以外的信号MB*输出。
FIFO601是利用先入先出(FIFO)系统的缓冲器。就像图11A中的FIFO600那样,将FIFO601的各端子分为数据输入侧和数据输出侧。也就是说,在数据输入侧,在声明推输入端PUSH的信号的时刻引进数据输入端DIN的数据。READY信号示出了维持有效性直到FIFO600的容量填满为止的效果。在数据输出侧,在声明输入端POP的信号的时刻从数据输出端DOUT取出数据。以FIFO的顺序开头(head)数据持续地从数据输出端DOUT输出,直到取出数据为止。VALID输出信号示出了当在FIFO600内保存至少一个数据时维持有效性的效果。FIFO601包括至少一项,并在每一项中保存写地址通道的突发长度S_AWLEN信号。FIFO601中保存的项数一般通过考虑优秀的写地址通道的数量而加以确定。
在图11B所示的FIFO600的操作中,在时刻t0处,FIFO600处于空状态,READY输出信号是“1”,并且VALID输出信号是“0”。当在时刻t1将数据A推入输入端DIN时,在时刻t2,数据A开始输出到输出端DOUT。由于在时刻t2不弹出数据,因此同样在时刻t3将数据A连续地输出到输出端DOUT。时刻t5的推(push)导致保存数据的数量在时刻t6变为4,并且READY输出信号变为“0”。时刻t6的弹出导致READY输出信号在时刻t7再次变为“1”。此外,连续地执行弹出,由此FIFO600变为空,从而在时刻t10,VALID输出信号变为“1”。
复位优先级SR触发器471是这样的触发器:其在声明了置位输出信号S时在下一周期中置位,而在声明了复位输入信号R时在下一周期中复位。OR门472是对于来自多路复用器451的输出信号和来自复位优先级SR触发器471的输出信号执行逻辑和(OR)运算操作的逻辑门。复位优先级SR触发器471和OR门472的功能与之前参照图8描述的复位优先级SR触发器421和OR门422的那些功能相同。
计数器481是这样的突发传输频率计数器:其在突发传输开始之前复位到“0”,并且每当执行突发传输时逐一递增。比较器482用以相互比较来自计数器481的输出信号和来自FIFO601的数据输出信号DOUT(即,突发长度AWLEN)。将来自比较器482的输出信号作为最后写M_LAST输出。也就是说,由计数器481和比较器482来检测突发传输中最终数据的时序。要注意的是,计数器481复位的时刻可以设置到突发传输的开始阶段,或者可以在最后突发传输中检测到最终数据时设置。
AND门461对于来自FIFO601的READY输出信号和写地址通道的写地址准备M_AWREADY信号执行逻辑积(AND)运算操作。将来自AND门461的输出信号作为写地址通道的写地址准备S_AWREADY信号输出。也就是说,以这种方式控制AND门461:仅当来自FIFO601的READY输出信号示出有效性时,写地址准备S_AWREADY信号表示“能够被接收的状态”。
AND门462对于来自多路复用器451的输出信号和写地址通道的写地址准备S_AWREADY信号执行AND运算操作。将来自AND门462的输出信号输出到FIFO601的输入端PUSH。也就是说,以这种方式控制AND门462:当建立写地址通道中的传输时,在FIFO601中取回写地址通道的突发长度S_AWLEN[3:0]。
AND门463对于来自OR门472的输出信号和来自FIFO601的READY输出信号执行AND运算操作。将来自AND门463的输出信号作为写地址有效M_AWVALID信号输出。也就是说,以这种方式控制AND门463:仅当在FIFO601中剩有自由空间时,写地址有效M_AWVALID信号变为有效。
AND门464对于来自FIFO601的VALID输出信号和写准备M_WREADY信号执行AND运算操作。将来自AND门464的输出信号作为写准备S_WREADY信号输出。也就是说,以这种方式控制AND门464:仅当在FIFO601中保存有效数据时,声明写准备S_WREADY信号。
AND门465对于来自AND门466的输出信号、来自比较器482的输出信号和写准备M_WREADY信号执行AND运算操作。将来自AND门465的输出信号输出到FIFO601的输入端POP。也就是说,以这种方式控制AND门465:当传送突发传输中的最后数据(最后的拍(beat))时,取出FIFO601中保存的开头数据(突发长度AWLEN[3:0])。
AND门466对于来自多路复用器452的输出信号和来自FIFO601的VALID输出信号执行AND运算操作。来自AND门466的输出信号作为写有效M_WVALID信号输出。也就是说,以这种方式控制AND门466:仅当在FIFO601中保存有效数据时,声明写有效M_WVALID信号。
现在将针对写断开信号表示非断开的情况给出描述。对于写地址有效AWVALID信号和写地址准备AWREADY信号以外的信号AW*来说,写地址通道是透明的,由此信号AW*按照原样经过写地址通道。当建立传输时,即当声明写地址有效AWVALID信号和写地址准备AWREADY信号二者时,在FIFO601中取回突发长度S_AWLEN。当在FIFO601中变得缺少自由空间时,将写地址有效AWVALID信号和写地址准备AWREADY信号二者取消声明至“0”,由此禁止写地址通道传输的建立,直到在FIFO601中开始出现自由空间为止。
对于写有效WVALID信号和写准备WREADY信号以外的信号W*来说,写数据通道也是透明的,由此信号W*按照原样经过写数据通道。当建立信号W*的突发传输中最后数据的传输时,即当声明写有效WVALID信号、写准备WREADY信号和写最后WLAST信号的全部时,取出FIFO601的开头中保存的突发长度AWLEN。当FIFO601为空时,写有效M_WVALID和写准备S_WREADY二者被取消声明,并且禁止写数据的传输的建立,直到输入有效项为止。
当主设备断开信号表示断开时,多路复用器451到454中的每一个均选择固定值侧。写地址通道变为与当写地址有效S_AWVALID信号通过多路复用器451变为“0”时的状态相同的状态。因此,主设备100就像它通常停止写地址的发布那样动作。然而,对于AXI协议的规则,当一旦将VALID信号声明为“1”时,禁止VALID信号返回到“0”直到接收READY信号以建立传输。然后,与主设备读联接部分410的情况类似,使用复位优先级SR触发器471和OR门472二者,由此消除不便。也就是说,在这种情况下,将写地址有效M_AWVALID信号保持在“1”,直到写地址准备M_AWREADY信号变为“1”为止。结果,即使当主设备断开信号409表示断开时,在写地址通道中保证了正常的AXI协议。
另外,关于写数据通道,通过多路复用器452将写有效S_WVALID信号固定到“1”,并且通过多路复用器453将写数据通道的选通信号固定到“0”。结果,主设备100就像它通常在将写选通保持在OFF的状态下发布写处理那样动作,而不论主设备100的状态如何。
另外,关于写响应通道,通过多路复用器454将响应准备S_BREADY信号固定到“1”。结果,主设备100就像它可以通常地接收写响应那样动作,而不论主设备100的状态如何。
总之,当主设备断开信号409表示断开时,主设备写联接部分450停止向互连300发布写地址,并在将写选通保持在OFF的状态下发布与之前发布的写地址对应的写数据。此外,主设备写联接部分450接收所有的写响应,并丢弃由此接收到的所有写响应。此时,在改变主设备断开信号409以便示出从非断开到连接的表示之前和之后,AXI协议在其正确性保持的情况下被接管。
[从设备协议联接部分的配置]
图12是示出在根据本公开的第一实施例中,从设备协议联接部分501的配置的框图。从设备协议联接部分501包括从设备读联接部分510和从设备写联接部分550。将公共的从设备断开信号509输入到从设备读联接部分510和从设备写联接部分550。
从设备读联接部分510用以当对应从设备200的读操作期间,断开对应从设备200时,确保关于协议的联接。如上所述,在AXI协议中,准备读地址通道和读数据通道作为读操作的路径,并且从设备读联接部分510确保了读地址通道和读数据通道之间的联接。
从设备写联接部分550用以当对应从设备200的写操作期间,断开对应从设备200时,确保关于协议的联接。如上所述,在AXI协议中,准备写地址通道和写数据通道作为写操作的路径,并且从设备写联接部分550确保了写地址通道和写数据通道之间的联接。
[从设备读联接部分的配置]
图13是示出在本公开的第一实施例中,从设备读联接部分510的配置的电路图。从设备读联接部分510包括多路复用器511到513、AND门521到526、FIFO602、计数器531和比较器532。
每一个多路复用器511到513根据从设备断开信号509选择任意一个输入信号,并输出由此选择的输入信号。当从设备断开信号509表示非断开(例如,“0”)时,多路复用器511输出读地址准备M_ARREADY信号,而当从设备断开信号509表示断开(例如,“1”)时输出恒定值“1”。将来自多路复用器511的输出信号(即,读地址准备M_ARREADY信号或恒定值“1”)输入到AND门521的两个输入端之一。
当从设备断开信号509表示非断开时,多路复用器512输出读有效M_RVALID信号,而当从设备断开信号509表示断开时,输出恒定值“1”。将来自多路复用器512的输出信号(即,读有效M_RVALID信号或恒定值“1”)输入到AND门524的两个输入端之一。
当从设备断开信号509表示非断开时,多路复用器513按照原样输出读数据通道的读有效M_RVALID信号和读准备M_RREADY信号以外的信号M_R*。另一方面,当从设备断开信号509表示断开时,以其示出了关于信号M_R*的读响应RRESP[1:0]信号的错误响应的这种方式设置多路复用器513。图14是示出AXI协议中读响应RRESP信号和写响应BRESP信号的意义的图。根据图14中所示的意义,当正常地完成通常访问时,读响应RRESP[1:0]信号表示“00”。当正常地完成排它访问时,读响应RRESP[1:0]信号表示“01”。当从设备200中出现错误时,读响应RRESP[1:0]信号表示“10”。另外,当出现解码错误(如,地址的不正确)时,读响应RRESP[1:0]信号表示“11”。在本公开的第一实施例中,当从设备断开信号509表示断开时,在多路复用器513中将意味着错误响应的“10”设置为读响应RRESP[1:0]。
FIFO602是利用FIFO系统的缓冲器,与FIFO601的情况类似,FIFO602具有图11A和11B所示的FIFO600的功能。FIFO602包括至少一项,并且在每一项中保存读地址通道的读地址标识符S_ARID信号和突发长度S_ARLEN信号。将FIFO602中保存的突发长度ARLEN输出到比较器532的两个输入端之一,并且将读地址标识符ARID作为读标识符S_RID输出。FIFO602中保存的项数一般通过考虑优秀的读地址通道的数量而加以确定。
计数器531是这样的突发传输频率计数器:其在突发传输开始之前复位到“0”,并且每当执行突发传输时逐一递增。
比较器532相互比较来自计数器531的输出信号和来自FIFO601的数据输出信号DOUT的突发长度ARLEN。将来自比较器532的输出信号作为读最后S_RLAST输出。也就是说,由计数器531和比较器532检测突发传输中最终数据的时序。要注意的是,计数器531复位的时刻可以设置到突发传输的开始的阶段,或者可以在最后突发传输中检测到最终数据时设置。
AND门521对于来自多路复用器511的输出信号和来自FIFO602的READY输出信号执行逻辑积(AND)运算操作。将来自AND门521的输出信号作为读地址准备S_ARREADY信号输出。也就是说,以这种方式控制AND门521:仅当来自FIFO602的READY输出信号示出有效性时,读地址准备S_ARREADY信号表示“能够被接收的状态”。
AND门522对于读地址有效S_ARVALID信号和读地址准备S_ARREADY信号执行AND运算操作。将来自AND门522的输出信号输入到FIFO602的输入端PUSH。也就是说,以这种方式控制AND门522:当读地址有效S_ARVALID信号和读地址准备S_ARREADY信号二者被声明以发送读地址时,在FIFO602中取回读地址的读地址标识符S_ARID信号和突发长度S_ARLEN信号二者。
AND门523对于来自FIFO602的READY输出信号和读地址有效S_ARVALID信号执行AND运算操作。将来自AND门523的输出信号作为读地址有效M_ARVALID信号输出。也就是说,以这种方式控制AND门523:仅当在FIFO602中剩下自由空间时,声明读地址有效M_ARVALID。
AND门524对于来自多路复用器512的输出信号和来自FIFO602的VALID输出信号执行AND运算操作。将来自AND门524的输出信号作为读有效S_RVALID信号输出。也就是说,以这种方式控制AND门524:仅当在FIFO602中保存有效数据时,声明读有效S_RVALID信号。
AND门525对于读有效S_RVALID信号、读准备S_RREADY信号和来自比较器532的输出信号执行AND运算操作。将来自AND门525的输出信号输出到FIFO602的输入端POP。也就是说,以这种方式控制AND门525:当传送突发传输中的最后数据(最后的拍)时,取出FIFO602中保存的开头数据(读地址标识符ARID[3:0]和突发长度AWLEN[3:0])。
AND门526对于读准备S_RREADY信号和来自FIFO602的VALID输出信号执行AND运算操作。将来自AND门526的输出信号作为读准备M_RREADY信号输出。也就是说,以这种方式控制AND门526:仅当在FIFO602中保存有效数据时,声明读准备M_RREADY信号。
[从设备读联接部分的操作]
现在将针对主设备断开信号表示非断开的情况给出描述。对于读地址有效ARVALID信号和读地址准备ARREADY信号以外的信号AR*来说,读地址通道是透明的。因此,信号AR*按照原样经过读地址通道。当建立传输时,即当声明读地址有效ARVALID信号和读地址准备ARREADY信号二者时,在FIFO602中取回读地址标识符S_ARID和突发长度S_AWLEN二者。当在FIFO602中空项(freeentry)变得不存在时,通过AND门521和523将读地址准备S_ARREADY信号和读地址有效M_ARVALID信号二者取消声明到“0”。结果,禁止读地址通道中传输的建立,直到在FIFO602中空项变得存在为止。另外,在读地址通道中,将读地址标识符M_ARID设置到固定值,或者删除读地址标识符M_ARID本身。结果,读地址信号AR*的读数据信号R*依次(按次序)变得不可改变。
在读数据通道中,在从设备读联接部分510内产生读标识符S_RID和读最后S_RLAST二者。此外,对于其它信号R*来说读数据通道是透明的。当建立突发传输中最后数据的传输时,即当声明读有效RVALID、读准备RREADY和读最后RLAST的全部时,从FIFO602取出开头项的读地址标识符ARID和突发长度ARLEN二者。也就是说,将在读地址通道中的传输建立阶段中取回的读地址标识符S_ARID和突发长度S_ARLEN保存在FIFO602中,直到对应的突发传输结束的阶段为止。将开头项输出到输出端DOUT,读地址标识符ARID变为读标识符S_RID,并且使用突发长度ARLEN以检测数据突发最终数据。当FIFO602为空时,将读有效S_RVALID和读准备M_RREADY二者取消声明到“0”,因此禁止读数据通道中传输的建立,直到取入有效项为止。
当从FIFO602输出的突发长度ARLEN信号和来自计数器531的输出信号彼此相适合时,将读最后S_RLAST信号声明为“1”。例如,当突发长度ARLEN信号是“0”(突发长度为1)时,在突发传输中的第一数据中,读最后S_RLAST变为“1”。另外,当突发长度ARLEN信号是“3”(突发长度为4)时,在建立突发传输中的前三个数据拍(databeat)的传输之后,计数器531的值变为“3”,并且读最后S_RLAST变为“1”。
当主设备断开信号表示断开时,每一个多路复用器511到513选择固定值侧。读地址通道变为与当读地址准备S_ARREADY信号通过多路复用器511变为“1”时的状态相同的状态。因此,从设备200就像它可以通常地接收读地址AR*那样动作。另外,关于读数据通道,通过多路复用器512将读有效M_RVALID信号固定到“1”,并且通过多路复用器513将读数据的读响应RRESP信号固定到读数据的“10”(读响应RRESP以其表示错误信息)。结果,从设备200就像它通常以固定值的形式发送读数据R*那样动作,而不论从设备200的状态如何。
总之,当从设备断开信号509表示断开时,从设备读联接部分510开始响应于读地址发送源(代替实际的从设备200)。因此,不理会从设备200输出的所有信号。此时,在改变从设备断开信号509以便示出从非断开到连接的表示之前和之后,AXI协议在其正确性保持的情况下被接管。
[从设备写联接部分的配置]
图15是示出本公开的第一实施例中从设备写联接部分550的配置的电路图。从设备写联接部分550包括多路复用器551到554、AND门561到566和FIFO603。
每一个多路复用器551到554用以根据从设备断开信号509选择输入信号的任意一个,并输出由此选择的输入信号。当从设备断开信号509表示非断开(例如,“0”)时,多路复用器551输出写地址准备M_AWREADY信号,而当从设备断开信号509表示断开(例如,“1”)时,输出恒定值“1”。来自多路复用器551的输出信号(即,写地址准备M_AWREADY信号或恒定值“1”)作为写地址准备S_AWREADY信号被输出。
当从设备断开信号509表示非断开时,多路复用器552输出写准备M_WREADY信号,而当从设备断开信号509表示断开时,输出恒定值“1”。将来自多路复用器552的输出信号(即,写准备W_WREADY信号或恒定值“1”)输入到AND门561的两个输入端之一。
当从设备断开信号509表示非断开时,多路复用器553输出写响应有效M_BVALID信号,而当从设备断开信号509表示断开时,输出恒定值“1”。将来自多路复用器553的输出信号(即,写响应有效M_BVALID信号或恒定值“1”)输入到AND门564的两个输入端之一。
当从设备断开信号509表示非断开时,多路复用器554按照原样输出写响应通道的写响应有效M_BVALID信号和写准备M_BREADY信号以外的信号M_B*。另一方面,以这种方式设置多路复用器554:当从设备断开信号509表示断开时,针对信号M_B*的写响应BRESP[1:0]信号示出错误响应。写响应BRESP[1:0]信号的有意义的内容与之前参照图14描述的读响应RRESP[1:0]的情况下的那些相同。
FIFO603是利用FIFO系统的缓冲器。与FIFO601的情况类似,FIFO603具有图11A和11B所示的FIFO600的功能。FIFO603包括至少一项,并且在每一项中保存写数据通道中的写标识符标签S_WID信号。输出FIFO603中保存的写标识符标签WID信号,作为写响应通道中的响应标识符S_BID。FIFO603中保存的项数通常通过考虑优秀的写地址通道的数量而加以确定。
AND门561对于来自多路复用器552的输出信号和来自FIFO603的READY输出信号执行逻辑积(AND)运算操作。输出来自AND门561的输出信号作为写准备S_WREADY信号。也就是说,以这种方式控制AND门561:仅当来自FIFO603的READY输出信号示出有效性时,写准备S_WREADY信号表示“能够被接收的状态”。
AND门562对于写有效S_WVALID信号、来自AND门561的输出信号和写数据通道中的写最后S_WLAST信号执行AND运算操作。将来自AND门562的输出信号输出到FIFO603的输入端PUSH。也就是说,以这种方式控制AND门562:当传送突发传输中的最后数据(最后的拍)时,取回写标识符标签S_WID。
AND门563对于写有效S_WVALID信号和来自FIFO603的READY输出信号执行AND运算操作。输出来自AND门563的输出信号作为写有效M_WVALID信号。也就是说,以这种方式控制AND门563:仅当FIFO603中剩余自由空间时,声明写有效M_WVALID信号。
AND门564对于来自多路复用器553的输出信号和来自FIFO603的VALID输出信号执行AND运算操作。输出来自AND门564的输出信号作为写响应有效S_BVALID信号。也就是说,以这种方式控制AND门564:仅当在FIFO603中保存有效数据时,声明写响应有效S_BVALID信号。
AND门565对于写响应有效S_BVALID信号和响应准备S_BREADY信号执行AND运算操作。将来自AND门565的输出信号输入到FIFO603的输入端POP。也就是说,以这种方式控制AND门565:声明写响应有效S_BVALID信号和响应准备S_BREADY信号二者以发送写响应,取出FIFO603中保存的开头写标识符标签WID[3:0]。
AND门566对于响应准备S_BREADY信号和来自FIFO603的VALID输出信号执行AND运算操作。输出来自AND门566的输出信号作为响应准备M_BREADY信号。也就是说,以这种方式控制AND门566:仅当在FIFO603中保存有效数据时,声明响应准备M_BREADY信号。
[从设备写联接部分的操作]
在这种情况下,作为从设备写联接部分550的操作的前提,假设AXI协议中规定的写数据交错深度为“1”。这意味着写地址发布顺序和写数据发布数据彼此相同。
现在将针对从设备断开信号表示非断开的情况给出描述。此时,对于写地址有效AWVALID、写地址准备AWREADY和其它信号AW*来说,写地址通道是透明的。因此,写地址有效AWVALID、写地址准备AWREADY和其它信号AW*按照原样经过写地址通道。另外,对于写有效WVALID和写准备WREADY以外的信号W*来说,写数据通道是透明的。因此,信号W*按照原样经过写数据通道。
当建立在其之中包含写数据的信号W*的突发传输中最终数据的传输时,即当将写有效WVALID、写准备WREADY和写最后WLAST全部声明为“1”时,在FIFO603中取回写标识符标签WID。当在FIFO603中自由项(freeentry)变得不存在时,写准备S_WREADY和写有效M_WVALID二者均变为“0”,因此禁止写数据通道传输的建立直到FIFO603中变得存在自由项为止。
与从设备读联接部分510的情况类似,同样在从设备写联接部分550中,将写地址标识符M_AWID和写标识符M_WID设置到相同的固定值,或者删除写地址标识符M_AWID和写标识符M_WID本身。结果,写响应信号B*到写地址信号AW*和写数据信号W*依次(按顺序)变得不可改变。
关于写响应通道,在从设备写联接部分550内产生响应标识符S_BID。对于其它写响应有效BVALID和响应准备BREADY以外的写响应信号B*来说,写响应通道是透明的。因此,写响应通道B*按照原样经过写响应通道。
当建立写响应的传输时,即当写响应有效BVALID和响应准备BREADY二者变为“1”时,标识符(其作为FIFO603中的写标识符标签WID被取回)从FIFO603取出,然后作为响应标识符B_BID输出。也就是说,在写数据中的最终数据的传输建立阶段取回的写标识符标签S_WID被输出到FIFO603的输出端DOUT,直到对应写响应的传输结束为止,并且该输出信号变为响应标识符S_BID。当FIFO603为空时,写响应有效S_BVALID和响应准备M_BREADY二者被设置为“0”,因此禁止写响应通道传输的建立直到保存有效项为止。
当主设备断开信号表示断开时,多路复用器551到554中的每一个选择固定值侧。关于写地址通道和写数据通道,分别通过多路复用器551和552将写地址准备M_AWREADY和写准备M_WREADY固定到“1”。结果,从设备200就像它可以通常地接收写地址AW*和写数据W*那样动作,而不管从设备200的状态如何。另外,通过多路复用器553将写响应有效M_BVALID固定到“1”,并且通过多路复用器554将写响应的写响应BRESP设置到固定值“10”(其表示错误信息)。结果,从设备200就像它通常以固定值的形式发送写响应B*那样动作,而不管从设备200的状态如何。
总之,当从设备断开信号509表示断开时,从设备写联接部分550开始响应于写地址和写数据的发送源,代替实际的从设备200。因此,不理会从从设备200输出的所有信号。此时,在改变从设备断开信号509以便示出从非断开到连接的表示之前和之后,AXI协议在其正确性保持的情况下被接管。然而,变为响应的写响应变为表示错误信息的固定值。
如上所述,根据本公开的第一实施例,当主设备断开信号409或从设备断开信号509表示断开时,代替主设备100或从设备200,可以执行对于其它方的响应。结果,即使当主设备100或从设备200与总线系统断开时,也可以确保关于协议的联接。
2.第二实施例
[总线系统的整体配置]
图16是示出根据本公开第二实施例的总线系统的整体配置的框图。第二实施例的总线系统的基本配置与第一实施例的总线系统的基本配置相同。然而,第二实施例的总线系统与第一实施例的总线系统的不同之处在于:互连300、主设备断开桥接器400和从设备断开桥接器500全部提供在常通区域(normallyconductingarea)30中。也就是说,假设防止电源在整个总线系统处于工作的同时从互连300、主设备断开桥接器400和从设备断开桥接器500断开。另一方面,假设电源单独地连接到主设备100和从设备200(其均未在普通的导通区域30中提供),因此即使在总线系统处于工作的时候也可以单独开启或关闭电源。
[主设备断开桥接器的配置]
图17是示出根据本公开第二实施例的总线系统中主设备断开桥接器400的配置的框图。除了主设备协议联接部分401之外,本公开第二实施例中的主设备断开桥接器400还包括信号箝位部分402。
信号箝位部分402根据主设备断开信号409的状态来箝位从主设备100向其发送的信号。当对于各主设备100单独地关闭电源时,来自主设备100的输入信号变为不稳定状态。在这种情况下,存在这样的可能性:当将不稳定的输入信号按照原样发送到主设备协议联接部分401时,引起故障。此外,还存在导致直通电流从电源流向地的可能性。为了应对这种情形,当主设备断开信号409表示断开时,信号箝位部分402输出被箝位在电源电平或地电平的信号。另一方面,当主设备断开信号409表示非断开时,信号箝位部分402按照原样输出输入信号作为输出信号,而不箝位输入信号。
要注意的是,主设备协议联接部分401的配置与第一实施例中的主设备协议联接部分401的配置相同。
[从设备断开桥接器的配置]
图18是示出根据本公开第二实施例的总线系统中从设备断开桥接器500的配置的框图。除了从设备协议联接部分501之外,本公开第二实施例中的从设备断开桥接器500还包括信号箝位部分502。
信号箝位部分502根据从设备断开信号509的状态箝位从从设备200向其发送的信号。提供信号箝位部分502,以便在当对于各从设备200单独关闭电源时来自从设备200的输入信号变为不稳定状态的情况下如上所述那样消除不便。也就是说,当从设备断开信号509表示断开时,信号箝位部分502输出被箝位在电源电平或地电平的信号。另一方面,当主设备断开信号509表示非断开时,信号箝位部分502按照原样输出输入信号作为输出信号,而不箝位输入信号。
要注意的是,从设备协议联接部分501的配置与第一实施例中的主设备协议联接部分401的配置相同。
[信号箝位部分的配置]
图19A和19B是示出根据本公开第二实施例的总线系统中的用于信号箝位部分402和502的高箝位电路和低箝位电路的配置的电路图。图19A是示出高箝位电路710的配置的电路图,而图19B是示出低箝位电路720的配置的电路图。使用高箝位电路710和低箝位电路720中的哪一个取决于在主设备协议联接部分401中或者在从设备协议联接部分501中假设的信号电平。优选地,以这种方式执行设置:当主设备100或从设备200的电源变为关闭状态时,每一个信号均变为非激活状态。例如,在读地址通道的情况下,以这种方式进行配置:当主设备100的电源变为关闭状态时,将读地址有效ARVALID声明为“0”。
高箝位电路710是这样的电路:其在箝位使能信号保持在L电平时按照原样输出输入信号作为输出信号,而在箝位使能信号保持在H电平时将输出信号箝位在电源电平(H电平)。高箝位电路710包括反相器711和晶体管712到714。
反相器711是将输入到其的箝位使能信号进行反相的电路。结果,将箝位使能信号本身提供到晶体管712的栅极端,而将箝位使能信号的反相信号提供到晶体管713的栅极端。
晶体管712和713构成一对开关。也就是说,当箝位使能信号处于L电平时,晶体管712和713二者使得输入信号经过它们,但是当箝位使能信号处于H电平时,不使得输入信号经过它们。
晶体管714是切换输出端的输入电压是否箝位在电源电平的开关。也就是说,当箝位使能信号处于L电平时,晶体管714截止,因此输出来自晶体管712和713的信号作为输出信号。另一方面,当箝位使能信号处于H电平时,晶体管714导通,并且输出信号被箝位在电源电平。
低箝位电路720是这样的电路:其在箝位使能信号保持在L电平时按照原样输出输入信号作为输出信号,而在箝位使能信号保持在H电平时将输出信号箝位在电源电平(H电平)。低箝位电路710包括反相器721和晶体管722到724。
反相器721是将向其输入的箝位使能信号进行反相的电路。结果,将箝位使能信号本身提供到晶体管722的栅极端,而将箝位使能信号的反相信号提供到晶体管723的栅极端。
晶体管722和723构成一对开关。也就是说,当箝位使能信号处于L电平时,晶体管722和723二者使得输入信号经过它们,而当箝位使能信号处于H电平时,不使得输入信号经过它们。
晶体管724是切换输出端处的输入电压是否箝位在电源电平的开关。也就是说,当箝位使能信号处于L电平时,晶体管724截止,因此输出来自晶体管722和723的信号作为输出信号。另一方面,当箝位使能信号处于H电平时,晶体管724导通,将输出信号箝位在地电平。
可以以这种方式配置这样的箝位电路:当输入主设备断开信号409作为箝位使能信号时,从对应主设备100发送的信号在对应主设备100从总线系统断开的时候被箝位在电源电平或地电平。另外,可以以这种方式配置这样的箝位电路:当输入从设备断开信号509作为箝位使能信号时,从对应从设备200发送的信号在对应从设备200与总线系统断开的时候被箝位在电源电平或地电平。
如上所述,根据本公开的第二实施例,当主设备断开信号409或从设备断开信号509表示断开时,可以将来自主设备100或来自从设备200的信号箝位在电源电平或地电平。因此,当主设备100或从设备200从总线系统断开时,可以稳定信号,因此可以防止在某事发生之前引起电路的故障。
如至此已经描述的那样,根据本公开的实施例,主设备100或从设备200可以在任意时刻与总线系统断开。结果,当主设备100或从设备200由于挂起而没有进行响应时,对应的主设备100或从设备200自己与总线系统断开。因此,根据正常协议可以完成已经不能完成的访问。另一方面,断开部分以外的任何部分可以继续被操作。结果,可以提高抗故障特性。
另外,根据本公开的实施例,不需要操作的主设备100或从设备200的电源被关闭,由此使得可以减小功耗。此时,即使当主设备100或从设备200处于访问中的时候,主设备100或从设备200也可以在正常协议继续的同时与总线系统断开。即使在访问断开完成之后的从设备200的时候,从设备断开桥接器500也响应于访问。因此,即使在断开完成之后,通常也继续正常协议。
另外,在本公开的实施例中,已经从总线系统断开的主设备100或从设备200可以容易地重新连接到总线系统。也就是说,在断开完成之后,已经挂起从而没有做出响应的主设备100或从设备200被复位,以变为能够被操作的状态。此后,主设备断开信号409或从设备断开信号509被切换到非断开,由此使得可以再次取得访问。另外,在通过开启电源并执行复位,电源已经关闭的主设备100或从设备200变为能够被操作的状态之后,主设备断开信号409或从设备断开信号509切换到非断开,由此使得可以再次取得访问。
要注意的是,尽管已经在假设AXI协议的情况下描述了本公开的实施例,但是本公开绝不受限于此,因此可以全面地应用于每一个均允许分离处理的总线。例如,给出开放内核协议(OCP,OpenCoreProtocol)、处理器本地总线(PLB,ProcessorLocalBus)等作为这种总线的其它示例。
应该注意的是,本公开的实施例仅示出了用于实施本公开的示例,并且如本公开的实施例中清楚地指定的那样,本公开的实施例中的特征(matter)和所附权利要求中指定特征的公开分别具有对应关系。同样地,所附权利要求中指定特征的公开以及添加有与所附权利要求中指定特征的公开中的那些相同名称的本公开的实施例中的特征分别具有对应关系。然而,本公开绝不限于实施例,因此可以在不脱离本公开的主题的情况下通过针对实施例进行各种改变而加以实施。
本申请包含与2010年8月19日向日本专利局提交的日本优先权专利申请JP2010-183762中公开的主题有关的主题,其全部内容通过引用的方式合并在此。
Claims (7)
1.一种总线系统,包括:
第一连接设备和第二连接设备,其根据预定协议执行交换,所述第一连接设备是在与所述第二连接设备的传输中发挥主导作用的连接设备,而所述第二连接设备是对于与所述第一连接设备的传输,被动地操作的连接设备;
总线,所述第一连接设备和第二连接设备经由所述总线彼此连接;以及
桥接器,其插入在所述第一连接设备和所述总线之间,并且在接收到所述第一连接设备的断开指令时,代之所述第一连接设备,根据预定协议执行与所述第二连接设备的交换,
其中,当所述桥接器接收到所述第一连接设备的断开指令时,所述桥接器停止从所述第一连接设备发布写地址,并允许从所述第二连接设备接收写响应,以及即使在所述桥接器接收到所述第一连接设备的断开指令时,所述桥接器停止从所述第一连接设备发布写地址的情况下,所述桥接器也发布正在突发传输的写数据直到突发传输结束为止。
2.如权利要求1所述的总线系统,其中,当所述桥接器接收所述第一连接设备的断开指令时,所述桥接器停止从所述第一连接设备发布读地址,并允许从所述第二连接设备接收读数据。
3.如权利要求1所述的总线系统,其中,当所述桥接器接收到所述第一连接设备的断开指令时,所述桥接器将来自所述第一连接设备的信号箝位在预定电平。
4.一种总线系统,包括:
第一连接设备和第二连接设备,其根据预定协议执行交换;
总线,所述第一连接设备和第二连接设备经由所述总线彼此连接;以及
桥接器,其插入在所述第一连接设备和所述总线之间,并且在接收到所述第一连接设备的断开指令时,代之所述第一连接设备,根据预定协议执行与所述第二连接设备的交换,
其中,所述第二连接设备是在与所述第一连接设备的传输中发挥主导作用的连接设备,而所述第一连接设备是对于与所述第二连接设备的传输被动地操作的连接设备。
5.如权利要求4所述的总线系统,其中,当所述桥接器接收到所述第一连接设备的断开指令时,所述桥接器允许从所述第二连接设备接收读地址,并且将表示错误信息的固定值发送回所述第二连接设备。
6.如权利要求4所述的总线系统,其中,当所述桥接器接收到所述第一连接设备的断开指令时,所述桥接器允许从所述第二连接设备接收写地址,并且将表示错误信息的固定值发送回所述第二连接设备。
7.一种用在总线系统中的桥接器电路,所述总线系统包括根据预定协议执行交换第一连接设备和第二连接设备;以及总线,所述第一连接设备和第二连接设备经由所述总线彼此连接,
其中,所述桥接器电路插入在所述第一连接设备和所述总线之间,并且在接收到所述第一连接设备的断开指令时,代之所述第一连接设备,根据预定协议执行与所述第二连接设备的交换,
其中,当所述桥接器接收到所述第一连接设备的断开指令时,所述桥接器停止从所述第一连接设备发布写地址,并允许从所述第二连接设备接收写响应,以及即使在所述桥接器接收到所述第一连接设备的断开指令时,所述桥接器停止从所述第一连接设备发布写地址的情况下,所述桥接器也发布正在突发传输的写数据直到突发传输结束为止。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010-183762 | 2010-08-19 | ||
JP2010183762A JP5617429B2 (ja) | 2010-08-19 | 2010-08-19 | バスシステムおよびバスシステムと接続機器とを接続するブリッジ回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102375797A CN102375797A (zh) | 2012-03-14 |
CN102375797B true CN102375797B (zh) | 2015-12-02 |
Family
ID=45594958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110240431.1A Expired - Fee Related CN102375797B (zh) | 2010-08-19 | 2011-08-19 | 总线系统以及连接总线系统和连接设备的桥接器电路 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8762616B2 (zh) |
JP (1) | JP5617429B2 (zh) |
CN (1) | CN102375797B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101855399B1 (ko) * | 2011-03-24 | 2018-05-09 | 삼성전자주식회사 | 데이터 트래픽을 개선한 SoC 및 이의 동작 방법 |
US8583844B2 (en) * | 2011-05-31 | 2013-11-12 | Lsi Corporation | System and method for optimizing slave transaction ID width based on sparse connection in multilayer multilevel interconnect system-on-chip architecture |
US9003093B2 (en) * | 2012-09-07 | 2015-04-07 | Mckesson Financial Holdings | Connector apparatus and associated method for bridging data between data sources and data targets |
US9665382B2 (en) | 2012-09-12 | 2017-05-30 | Change Healthcare Llc | Method and apparatus for providing a cross-device macro framework |
FR3003054B1 (fr) * | 2013-03-06 | 2016-08-19 | Sagem Defense Securite | Procede et dispositif de filtrage de transactions pour systeme sur puce |
WO2014186938A1 (zh) | 2013-05-20 | 2014-11-27 | 华为技术有限公司 | 一种计算机系统、高速外围组件互联端点设备的访问方法和装置 |
US9465766B1 (en) * | 2013-10-29 | 2016-10-11 | Xilinx, Inc. | Isolation interface for master-slave communication protocols |
US9489009B2 (en) * | 2014-02-20 | 2016-11-08 | Samsung Electronics Co., Ltd. | System on chip, bus interface and method of operating the same |
US9818196B2 (en) * | 2014-03-31 | 2017-11-14 | Xiaomi Inc. | Method and device for positioning and navigating |
US9858229B2 (en) | 2014-09-30 | 2018-01-02 | International Business Machines Corporation | Data access protection for computer systems |
US11321268B2 (en) * | 2014-10-31 | 2022-05-03 | Texas Instruments Incorporated | Multicore bus architecture with wire reduction and physical congestion minimization via shared transaction channels |
JP6193910B2 (ja) * | 2015-04-03 | 2017-09-06 | ファナック株式会社 | インタロックバスとスプリットバスを接続するブリッジ回路を備えたバスシステム |
US10042692B1 (en) * | 2015-09-29 | 2018-08-07 | Xilinx, Inc. | Circuit arrangement with transaction timeout detection |
JP6707936B2 (ja) * | 2016-03-24 | 2020-06-10 | 日本電気株式会社 | ブリッジ接続装置、通信制御システム、方法及びプログラム |
CN110704351A (zh) * | 2019-09-24 | 2020-01-17 | 山东华芯半导体有限公司 | 基于axi总线的主机设备数据传输扩展方法 |
CN110659236B (zh) * | 2019-09-24 | 2023-04-07 | 山东华芯半导体有限公司 | 可自主回复写应答的axi总线传输装置 |
JP7476640B2 (ja) | 2020-04-17 | 2024-05-01 | 株式会社リコー | 情報処理装置、インタフェース制御回路および情報処理装置の制御方法 |
US11645155B2 (en) | 2021-02-22 | 2023-05-09 | Nxp B.V. | Safe-stating a system interconnect within a data processing system |
CN113254368B (zh) * | 2021-07-15 | 2021-10-15 | 苏州浪潮智能科技有限公司 | 从axi总线到opb总线的数据写入方法及读取方法 |
CN116488957B (zh) * | 2023-04-25 | 2023-10-20 | 南京金阵微电子技术有限公司 | 信号处理方法、系统及桥接器 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH036723A (ja) * | 1989-06-05 | 1991-01-14 | Fujitsu Ltd | バス制御方式 |
JPH0821015B2 (ja) * | 1992-01-20 | 1996-03-04 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータならびにそのシステム再構成化装置および方法 |
US5533204A (en) * | 1994-04-18 | 1996-07-02 | Compaq Computer Corporation | Split transaction protocol for the peripheral component interconnect bus |
US6141711A (en) * | 1996-12-19 | 2000-10-31 | National Semiconductor Corporation | Method and apparatus to enable insertion/ejection of a device in a computer system while maintaining operation of the computer system and application software |
US6170030B1 (en) * | 1998-01-23 | 2001-01-02 | Intel Corporation | Method and apparatus for restreaming data that has been queued in a bus bridging device |
JPH11212687A (ja) * | 1998-01-26 | 1999-08-06 | Fujitsu Ltd | バス制御装置 |
US6185642B1 (en) * | 1998-07-15 | 2001-02-06 | International Business Machines Corporation | Bus for high frequency operation with backward compatibility and hot-plug ability |
US6330630B1 (en) * | 1999-03-12 | 2001-12-11 | Intel Corporation | Computer system having improved data transfer across a bus bridge |
US6715023B1 (en) * | 1999-09-23 | 2004-03-30 | Altera Corporation | PCI bus switch architecture |
US6574695B1 (en) * | 2000-01-06 | 2003-06-03 | Sun Microsystems, Inc. | System and method for providing hot swap capability using existing circuits and drivers with minimal changes |
JP2001345827A (ja) * | 2000-06-02 | 2001-12-14 | Minolta Co Ltd | インターフェース装置、これを有するノード、インターフェースシステム、バスリセットの制御方法およびバスリセットの制御プログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2002269033A (ja) | 2001-03-09 | 2002-09-20 | Toshiba Corp | リトライ制御機能を有するアービタを用いたバスシステムおよびシステムlsi |
US20030023410A1 (en) * | 2001-07-20 | 2003-01-30 | Roth Eric Scott | Method and apparatus for flushing of a device cache and suspending/shutting-down the device |
US6766386B2 (en) * | 2001-08-28 | 2004-07-20 | Broadcom Corporation | Method and interface for improved efficiency in performing bus-to-bus read data transfers |
US6981173B2 (en) * | 2001-09-28 | 2005-12-27 | Hewlett-Packard Development Company, L.P. | Redundant memory sequence and fault isolation |
US6754737B2 (en) * | 2001-12-24 | 2004-06-22 | Hewlett-Packard Development Company, L.P. | Method and apparatus to allow dynamic variation of ordering enforcement between transactions in a strongly ordered computer interconnect |
JP3665624B2 (ja) * | 2002-01-25 | 2005-06-29 | 沖電気工業株式会社 | マイクロコントローラ |
US6968416B2 (en) * | 2002-02-15 | 2005-11-22 | International Business Machines Corporation | Method, system, and program for processing transaction requests during a pendency of a delayed read request in a system including a bus, a target device and devices capable of accessing the target device over the bus |
US7007181B2 (en) * | 2002-04-23 | 2006-02-28 | Oki Electric Industry Co., Ltd. | Microcontroller |
US7234014B2 (en) * | 2004-01-14 | 2007-06-19 | International Business Machines Corporation | Seamless user interactions for portable storage devices |
US7802043B2 (en) * | 2005-12-09 | 2010-09-21 | Maxim Integrated Products, Inc. | Methods and apparatus for adding an autonomous controller to an existing architecture |
US7594043B2 (en) * | 2006-01-27 | 2009-09-22 | Apple Inc. | Reducing dismount time for mass storage class devices |
US7834867B2 (en) * | 2006-04-11 | 2010-11-16 | Microvision, Inc. | Integrated photonics module and devices using integrated photonics modules |
JP2008250632A (ja) * | 2007-03-30 | 2008-10-16 | Matsushita Electric Ind Co Ltd | データ処理システム |
JP2011095978A (ja) * | 2009-10-29 | 2011-05-12 | Renesas Electronics Corp | バスシステム及びバス制御方法 |
US8380905B2 (en) * | 2010-05-21 | 2013-02-19 | National Semiconductor Corporation | Isolated communication bus and related protocol |
-
2010
- 2010-08-19 JP JP2010183762A patent/JP5617429B2/ja not_active Expired - Fee Related
-
2011
- 2011-06-13 US US13/067,596 patent/US8762616B2/en not_active Expired - Fee Related
- 2011-08-19 CN CN201110240431.1A patent/CN102375797B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN102375797A (zh) | 2012-03-14 |
JP5617429B2 (ja) | 2014-11-05 |
JP2012043171A (ja) | 2012-03-01 |
US20120047306A1 (en) | 2012-02-23 |
US8762616B2 (en) | 2014-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102375797B (zh) | 总线系统以及连接总线系统和连接设备的桥接器电路 | |
US6078970A (en) | System for determining adapter interrupt status where interrupt is sent to host after operating status stored in register is shadowed to host memory | |
TWI239187B (en) | System and method for managing and validating remote keys which correspond to outstanding data transactions | |
US7890812B2 (en) | Computer system which controls closing of bus | |
CN106557446B (zh) | 总线系统 | |
US9678891B2 (en) | Efficient search key controller with standard bus interface, external memory interface, and interlaken lookaside interface | |
GB2532055A (en) | Sticky and transient markers for a packet parser | |
JP2008310832A (ja) | 高レベル・データ・リンク・コントローラから多数個のディジタル信号プロセッサ・コアに信号を分配するための装置と方法 | |
US9594702B2 (en) | Multi-processor with efficient search key processing | |
CN113258547B (zh) | 芯片级继电保护装置和系统 | |
US9787543B2 (en) | Communication apparatus and communication method | |
US20090265492A1 (en) | Data transmission device | |
CN109656856A (zh) | 利用fpga实现非复用总线与复用总线互联装置及方法 | |
US9594706B2 (en) | Island-based network flow processor with efficient search key processing | |
CN109446130A (zh) | 一种i/o设备状态信息的获取方法及系统 | |
EP0840223A1 (en) | Microcomputer capable of accessing an external memory | |
US10338921B2 (en) | Asynchronous instruction execution apparatus with execution modules invoking external calculation resources | |
CN104598404A (zh) | 计算设备扩展方法和装置、以及可扩展的计算系统 | |
US9632959B2 (en) | Efficient search key processing method | |
US6697931B1 (en) | System and method for communicating information to and from a single chip computer system through an external communication port with translation circuitry | |
CN100369010C (zh) | 一种用于智能卡仿真调试系统的硬件断点电路 | |
EP0840221A1 (en) | Microcomputer with packet bus | |
JP2002032326A (ja) | 拡張スロットホットプラグ制御装置 | |
JP3303045B2 (ja) | ネットワーク分散処理システム | |
TWI768592B (zh) | 中央處理器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20151202 Termination date: 20210819 |
|
CF01 | Termination of patent right due to non-payment of annual fee |