根据本公开的实施例的一个或更多个方面涉及错误检测,更具体地,涉及检测多任务/多租户可重配置硬件系统中的芯片内通信错误。
背景技术:
1、多任务/多租户(统称为多租户)现场可编程门阵列(fpga)可以支持来自同一用户的多个应用,或者多个用户可以将其应用部署为共存于一个fpga芯片中。多租户fpga是一种用于在数据中心和/或云中进行部署以推动硬件加速的很有前途的架构。
2、本背景技术部分中公开的上述信息仅用于增强对本公开背景的理解,因此,其可能包含不构成现有技术的信息。
技术实现思路
1、本公开的实施例针对一种用于对地址信道进行错误检测的方法。该方法包括生成令牌、在源处将令牌应用于请求、以及生成第一结果。将所述请求与第一结果一起通过地址信道发送到目的地。在目的地处确定是否发生了与所述请求相关联的错误。确定是否发生了错误包括:通过地址信道接收与所述请求对应的接收到的请求;将第一结果与接收到的请求一起接收;将令牌应用于接收到的请求并生成第二结果;将第一结果与第二结果进行比较;以及响应于比较发送信号。
2、根据一个实施例,令牌是存储在源和目的地处的预设令牌。
3、根据一个实施例,所述请求是读数据或写数据的请求之一,其中所述请求包括用于读取或写入数据的地址,该方法还包括:响应于所述请求,通过数据信道传送数据,其中数据信道不同于地址信道。
4、根据一个实施例,将令牌应用于所述请求包括在令牌和所述请求之间执行xor运算,将令牌应用于接收到的请求包括在令牌和接收到的请求之间执行xor运算。
5、根据一个实施例,接收到的请求与所述请求相同,并且所述信号指示没有与所述请求相关联的错误,其中响应于所述信号,源通过地址信道发送第二请求。
6、根据一个实施例,其中接收到的请求不同于所述请求,并且所述信号指示与所述请求相关联的错误,其中响应于所述信号,源通过地址信道重新发送所述请求。
7、根据一个实施例,源和目的地是多租户可重配置硬件系统的逻辑块的接口。
8、根据一个实施例,多租户可重配置硬件系统是多租户现场可编程门阵列。
9、本公开的实施例还针对一种用于对数据信道进行错误检测的方法,其包括:生成第一检查位和第二检查位;通过数据信道向目的地发送具有第一检查位的第一数据和具有第二检查位的第二数据;在目的地处确定是否发生了与第一数据和第二数据相关联的错误,其中确定是否经发生了错误包括:基于第一检查位和第二检查位来执行检查;以及响应于检查发送信号。
10、根据一个实施例,第一检查位与第二检查位互补。
11、根据一个实施例,执行检查包括在第一检查位和第二检查位之间执行xor运算并产生值1,其中所述信号指示没有与第一数据和第二数据相关联的错误。
12、根据一个实施例,响应于检查信号,源通过数据信道发送第三数据。
13、根据一个实施例,执行检查包括在第一检查位和第二检查位之间执行xor运算并产生值0,其中所述信号指示与第一数据和第二数据相关联的错误。
14、根据一个实施例,响应于所述信号,源重新发送第一数据和第二数据。
15、根据一个实施例,第一数据和第二数据在单个事务中以突发模式传输。
16、根据一个实施例,该方法还包括:由目的地通过地址信道接收与第一数据和第二数据相关联的请求,其中地址信道不同于数据信道。
17、根据一个实施例,源和目的地是多租户现场可编程门阵列的逻辑块的接口。
18、根据一个实施例,该方法还包括:通过第一线传输第一数据和第二数据;将传播延迟添加到不同于第一线的第二线;以及通过第二线传输第一检查位和第二检查位。
19、本公开的实施例还针对一种可重配置硬件系统,其包括:处理芯片,包括用于运行第一应用和第二应用的多个逻辑块;以及通信链路,用于在所述多个逻辑块之间提供通信。处理芯片被配置为:生成令牌;在源处将令牌应用于请求,并生成第一结果;将所述请求与第一结果一起通过通信链路的地址信道发送到目的地;在目的地处,确定是否发生了与所述请求相关联的错误,其中在确定是否发生了错误时,处理芯片还被配置为:通过地址信道接收与所述请求对应的接收到的请求;将第一结果与接收到的请求一起接收;将令牌应用于接收到的请求,并生成第二结果;将第一结果与第二结果进行比较;以及响应于比较发送信号。
20、本公开的实施例还针对一种可重配置硬件系统,其包括:处理芯片,包括用于运行第一应用和第二应用的多个逻辑块;以及用于在所述多个逻辑块之间提供通信的通信链路。处理芯片被配置为:生成第一检查位和第二检查位;通过通信链路的数据信道向目的地发送具有第一检查位的第一数据和具有第二检查位的第二数据;在目的地处,确定是否发生了与第一数据和第二数据相关联的错误,其中在确定是否发生了错误时,处理芯片还被配置为:基于第一检查位和第二检查位执行检查;以及响应于检查发送信号。
21、当关于以下详细说明、所附权利要求和附图考虑时,将更全面地理解本公开的实施例的这些和其他特征、方面和优点。当然,本发明的实际范围由所附权利要求限定。
1.一种用于对地址信道进行错误检测的方法,包括:
2.根据权利要求1所述的方法,其中令牌是存储在源和目的地处的预设令牌。
3.根据权利要求1所述的方法,其中所述请求是读数据或写数据的请求之一,其中所述请求包括用于读取或写入数据的地址,所述方法还包括:
4.根据权利要求1所述的方法,其中将令牌应用于所述请求包括在令牌和所述请求之间执行xor运算,并且将令牌应用于接收到的请求包括在令牌和接收到的请求之间执行xor运算。
5.根据权利要求1所述的方法,其中接收到的请求与所述请求相同,并且所述信号指示没有与所述请求相关联的错误,其中响应于所述信号,源通过地址信道发送第二请求。
6.根据权利要求1所述的方法,其中接收到的请求不同于所述请求,并且所述信号指示与所述请求相关联的错误,其中响应于所述信号,源通过地址信道重新发送所述请求。
7.根据权利要求1所述的方法,其中源和目的地是多租户可重配置硬件系统的逻辑块的接口。
8.根据权利要求7所述的方法,其中多租户可重配置硬件系统是多租户现场可编程门阵列。
9.一种可重配置硬件系统,包括:
10.根据权利要求9所述的系统,其中令牌是存储在源和目的地处的预设令牌。
11.根据权利要求9所述的系统,其中所述请求是读数据或写数据的请求之一,其中所述请求包括用于读取或写入数据的地址,并且处理芯片还被配置为:
12.根据权利要求9所述的系统,其中在将令牌应用于所述请求时,处理芯片还被配置为在令牌和所述请求之间执行xor运算,以及其中在将令牌应用于接收到的请求时,处理芯片还被配置为在令牌和接收到的请求之间执行xor运算。
13.根据权利要求9所述的系统,其中接收到的请求与所述请求相同,并且所述信号指示没有与所述请求相关联的错误,其中响应于所述信号,源被配置为通过地址信道发送第二请求。
14.根据权利要求9所述的系统,其中接收到的请求不同于所述请求,并且所述信号指示与所述请求相关联的错误,其中响应于所述信号,源被配置为通过地址信道重新发送所述请求。
15.根据权利要求9所述的系统,其中源和目的地是多租户可重配置硬件系统的逻辑块的接口。
16.根据权利要求15所述的系统,其中多租户可重配置硬件系统是多租户现场可编程门阵列。