CN116822445A - 一种用于高速并行计算的片间总线协议实现方法 - Google Patents
一种用于高速并行计算的片间总线协议实现方法 Download PDFInfo
- Publication number
- CN116822445A CN116822445A CN202311078073.8A CN202311078073A CN116822445A CN 116822445 A CN116822445 A CN 116822445A CN 202311078073 A CN202311078073 A CN 202311078073A CN 116822445 A CN116822445 A CN 116822445A
- Authority
- CN
- China
- Prior art keywords
- instruction
- bus
- inter
- chip
- pin
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000001360 synchronised effect Effects 0.000 claims abstract description 55
- 230000005540 biological transmission Effects 0.000 claims abstract description 35
- 238000006243 chemical reaction Methods 0.000 claims abstract description 29
- 238000001514 detection method Methods 0.000 claims description 9
- 238000013461 design Methods 0.000 description 48
- 230000015654 memory Effects 0.000 description 23
- 230000006870 function Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 238000003786 synthesis reaction Methods 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 235000000332 black box Nutrition 0.000 description 1
- 244000085682 black box Species 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
本发明请求保护一种用于高速并行计算的片间总线协议实现方法,获取发送节点待同步控制指令,其中,发送节点待同步控制指令通过对接收节点待同步控制指令进行串并转换缓存获取;基于发送节点待同步控制指令和接收节点待同步控制指令,确定发送节点待同步控制指令中的差异内容;对差异内容进行分析,确定位于由差异内容确定的控制芯片的引脚处的引脚指令;基于引脚指令,结合差异内容,创建差异内容对应的协议实现模块;基于协议实现模块对接收节点待同步控制指令对应的接收总线指令进行协议实现,获取协议实现后的发送总线指令。由此该方案解决了不同芯片以片外高速串行总线传输片内并行数据时,因握手信号错位而导致的传输错误问题。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种用于高速并行计算的片间总线协议实现方法。
背景技术
集成电路的设计流程包括前端设计和总线设计,前端设计主要包括算法或硬件架构设计与分析、AXI(RegisterTransferLevel,节点待同步控制指令)实现、功能性校验、逻辑综合等设计阶段,总线设计包括布局布线、缺失收敛、物理性校验等设计阶段。整个集成电路的设计流程中,每个设计阶段都涉及复杂的设计指令,每个设计阶段都可能需几周甚至几个月的开发时间。
目前,多片间的数据传输主要有并行和串行两种方式,前者以牺牲I/O资源为代价来换取传输速率的提高,而后者可以节省I/O资源。当采用高速串行技术进行片间传输时,由于信号从发送芯片需要将并行信号转换为串行信号,经过片间串行总线传输,串行信号在被接收芯片接收后再恢复为并行信号,因此整个传输过程会引入传输延时,而该传输延时会造成并行总线发送方和接收方因握手信号不同步而产生传输错误。
发明内容
本公开至少一实施例提供一种集成电路的用于高速并行计算的片间总线协议实现方法,包括:获取发送节点待同步控制指令,其中,所述发送节点待同步控制指令通过对接收节点待同步控制指令进行串并转换缓存获取;基于所述发送节点待同步控制指令和所述接收节点待同步控制指令,确定所述发送节点待同步控制指令中的差异内容,其中,所述差异内容为所述发送节点待同步控制指令相对于所述接收节点待同步控制指令不同的程序内容;对所述差异内容进行分析,确定位于由所述差异内容确定的控制芯片的引脚处的引脚指令,其中,所述控制芯片包括多个片间互联单元,所述多个片间互联单元为在所述串并转换缓存指令中添加或需调整的片间互联单元;基于所述引脚指令,结合所述差异内容,创建所述差异内容对应的协议实现模块;基于所述协议实现模块对所述接收节点待同步控制指令对应的接收总线指令进行协议实现,获取协议实现后的发送总线指令。
例如,在本公开至少一实施例提供的用于高速并行计算的片间总线协议实现方法中,基于所述发送节点待同步控制指令和所述接收节点待同步控制指令,确定所述发送节点待同步控制指令中的差异内容,包括:对所述发送节点待同步控制指令和所述接收节点待同步控制指令进行比较,将所述发送节点待同步控制指令相对于所述接收节点待同步控制指令增加或调整的程序内容作为所述差异内容。
例如,在本公开至少一实施例提供的用于高速并行计算的片间总线协议实现方法中,所述引脚指令包括引脚上位机指令和引脚下位机指令,对所述差异内容进行分析,确定位于由所述差异内容确定的控制芯片的引脚处的引脚指令,包括:确定由所述发送节点待同步控制指令中除所述差异内容以外的内容确定的非控制芯片;对所述差异内容进行分析,确定发送片间互联单元中来自所述非控制芯片的上位机指令作为所述引脚上位机指令,确定接收片间互联单元下位机至所述非控制芯片的下位机指令作为所述引脚下位机指令,其中,所述发送片间互联单元和所述接收片间互联单元为所述多个片间互联单元中与所述非控制芯片存在直接指令传输关系的片间互联单元。
例如,在本公开至少一实施例提供的用于高速并行计算的片间总线协议实现方法中,所述引脚上位机指令包括设计上位机FPGA的指令、节点下位机FPGA的指令、并行计算器下位机FPGA的指令;所述引脚下位机指令包括设计下位机端的指令、节点上位机FPGA的指令、并行计算器上位机FPGA的指令以及具有多个驱动的线网类型,其中,所述多个驱动中的至少一个驱动是设计下位机FPGA或并行计算器的下位机FPGA。
例如,在本公开至少一实施例提供的用于高速并行计算的片间总线协议实现方法中,所述引脚指令包括引脚上位机指令和引脚下位机指令,基于所述引脚指令,结合所述差异内容,创建所述差异内容对应的协议实现模块,包括;将所述引脚上位机指令作为所述协议实现模块的上位机指令;将所述引脚下位机指令作为所述协议实现模块的下位机指令;将所述差异内容作为所述协议实现模块的内部实现,创建所述协议实现模块。
例如,在本公开至少一实施例提供的用于高速并行计算的片间总线协议实现方法中,基于所述协议实现模块对所述接收节点待同步控制指令对应的接收总线指令进行协议实现,获取协议实现后的发送总线指令,包括:对所述协议实现模块进行综合,获取所述协议实现模块对应的协议实现指令;确定所述接收总线指令中所述控制芯片对应的指令替换内容;对所述接收总线指令进行协议实现,以将所述接收总线指令中的所述指令替换内容替换为所述协议实现指令,获取所述发送总线指令。
例如,在本公开至少一实施例提供的用于高速并行计算的片间总线协议实现方法中,确定所述接收总线指令中所述控制芯片对应的指令替换内容,包括:依据所述引脚指令,从所述接收总线指令中确定所述控制芯片对应的指令替换内容。
例如,在本公开至少一实施例提供的用于高速并行计算的片间总线协议实现方法中,对所述接收总线指令进行协议实现,以将所述接收总线指令中的所述指令替换内容替换为所述协议实现指令,获取所述发送总线指令,包括:断开所述指令替换内容中所述引脚指令与所述接收总线指令中所述指令替换内容以外的其它内容的连接关系;将所述指令替换内容替换为所述协议实现指令,并将所述协议实现指令中的所述引脚指令与所述接收总线指令中的预设FPGA连接,获取所述发送总线指令。
例如,在本公开至少一实施例提供的用于高速并行计算的片间总线协议实现方法中,断开所述指令替换内容中所述引脚指令与所述接收总线指令中所述指令替换内容以外的其它内容的连接关系,包括:断开所述指令替换内容中与所述引脚指令相关的片间互联单元的相关FPGA的连接关系,其中,所述相关FPGA包括与所述引脚指令相关的片间互联单元中与所述接收总线指令的其它内容存在直接指令传输关系的FPGA。
例如,在本公开至少一实施例提供的用于高速并行计算的片间总线协议实现方法中,将所述指令替换内容替换为所述协议实现指令,并将所述协议实现指令中的所述引脚指令与所述接收总线指令中的预设FPGA连接,获取所述发送总线指令,包括:将所述指令替换内容替换为所述协议实现指令,并将所述协议实现指令中与所述引脚指令相关的发送片间互联单元的上位机FPGA和接收片间互联单元的下位机FPGA与所述接收总线指令中的预设FPGA连接,获取所述发送总线指令。
例如,本公开至少一实施例提供的用于高速并行计算的片间总线协议实现方法还包括:对所述发送总线指令和所述发送节点待同步控制指令进行一致性校验。
例如,本公开至少一实施例提供的用于高速并行计算的片间总线协议实现方法还包括:对所述发送总线指令进行缺失检测。
本公开至少一实施例提供一种用于高速并行计算的片间总线协议实现装置,包括:获取单元,配置为获取发送节点待同步控制指令,其中,所述发送节点待同步控制指令通过对接收节点待同步控制指令进行串并转换缓存获取;确定单元,配置为基于所述发送节点待同步控制指令和所述接收节点待同步控制指令,确定所述发送节点待同步控制指令中的差异内容,其中,所述差异内容为所述发送节点待同步控制指令相对于所述接收节点待同步控制指令不同的程序内容;分析单元,配置为对所述差异内容进行分析,确定位于由所述差异内容确定的控制芯片的引脚处的引脚指令,其中,所述控制芯片包括多个片间互联单元,所述多个片间互联单元为在所述串并转换缓存指令中添加或需调整的片间互联单元;创建单元,配置为基于所述引脚指令,结合所述差异内容,创建所述差异内容对应的协议实现模块;协议实现单元,配置为基于所述协议实现模块对所述接收节点待同步控制指令对应的接收总线指令进行协议实现,获取协议实现后的发送总线指令。
例如,在本公开至少一实施例提供的设计装置中,所述引脚指令包括引脚上位机指令和引脚下位机指令,所述分析单元执行对所述差异内容进行分析,确定位于由所述差异内容确定的控制芯片的引脚处的引脚指令时,包括执行以下操作:确定由所述发送节点待同步控制指令中除所述差异内容以外的内容确定的非控制芯片;对所述差异内容进行分析,确定发送片间互联单元中来自所述非控制芯片的上位机指令作为所述引脚上位机指令,确定接收片间互联单元下位机至所述非控制芯片的下位机指令作为所述引脚下位机指令,其中,所述发送片间互联单元和所述接收片间互联单元为所述多个片间互联单元中与所述非控制芯片存在直接指令传输关系的片间互联单元。
例如,在本公开至少一实施例提供的设计装置中,所述引脚指令包括引脚上位机指令和引脚下位机指令,所述创建单元执行基于所述引脚指令,结合所述差异内容,创建所述差异内容对应的协议实现模块时,包括执行以下操作;将所述引脚上位机指令作为所述协议实现模块的上位机指令;将所述引脚下位机指令作为所述协议实现模块的下位机指令;将所述差异内容作为所述协议实现模块的内部实现,创建所述协议实现模块。
例如,在本公开至少一实施例提供的设计装置中,所述协议实现单元执行基于所述协议实现模块对所述接收节点待同步控制指令对应的接收总线指令进行协议实现,获取协议实现后的发送总线指令时,包括执行以下操作:对所述协议实现模块进行综合,获取所述协议实现模块对应的协议实现指令;确定所述接收总线指令中所述控制芯片对应的指令替换内容;对所述接收总线指令进行协议实现,以将所述接收总线指令中的所述指令替换内容替换为所述协议实现指令,获取所述发送总线指令。
本公开至少一实施例提供一种电子设备,包括:存储器,非瞬时性地存储有计算机可执行指令;处理器,配置为运行所述计算机可执行指令,其中,所述计算机可执行指令被所述处理器运行时实现根据本公开至少一实施例所述的用于高速并行计算的片间总线协议实现方法。
本公开至少一实施例提供一种非瞬时性计算机可读存储介质,其中,所述非瞬时性计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现根据本公开至少一实施例所述的用于高速并行计算的片间总线协议实现方法。
本发明请求保护一种用于高速并行计算的片间总线协议实现方法,获取发送节点待同步控制指令,其中,发送节点待同步控制指令通过对接收节点待同步控制指令进行串并转换缓存获取;基于发送节点待同步控制指令和接收节点待同步控制指令,确定发送节点待同步控制指令中的差异内容;对差异内容进行分析,确定位于由差异内容确定的控制芯片的引脚处的引脚指令;基于引脚指令,结合差异内容,创建差异内容对应的协议实现模块;基于协议实现模块对接收节点待同步控制指令对应的接收总线指令进行协议实现,获取协议实现后的发送总线指令。由此该方案解决了不同芯片以片外高速串行总线传输片内并行数据时,因握手信号错位而导致的传输错误问题。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1为本公开至少一实施例提供的一种用于高速并行计算的片间总线协议实现方法的示意性流程图;
图2为本公开至少一实施例提供的一种片间总线协议的设计装置的示意性框图;
图3为本公开至少一实施例提供的一种非瞬时性计算机可读存储介质的示意图。
具体实施方式
为了使得本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一内容实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“发送”、“接收”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成内容。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能预设地改变。
为了保持本公开实施例的以下说明清楚且简明,本公开省略了内容已知功能和已知部件的详细说明。
超大规模集成电路广泛应用于当今生活各个领域,随着集成电路工艺以及设计水平的提升,单芯片上集成的功能越来越多。芯片设计指令中,为保证芯片逻辑功能的正确性和完备性,在流片前校验人员需对设计进行持续不断地校验。
在集成电路中,数据指令引脚是由设计中的组合逻辑电路组成的,例如被节点、上位机下位机FPGA、BlackBox(并行计算器)等包围的组合逻辑集合。
片间互联单元的上位机可以包括设计上位机FPGA、节点下位机FPGA、并行计算器下位机FPGA等,片间互联单元的下位机可以包括设计下位机FPGA、节点上位机FPGA和并行计算器上位机FPGA等。例如,设计上位机FPGA可以包括设计的外部上位机FPGA,或者也可以包括设计中的功能模块(module)的上位机FPGA。例如,设计下位机FPGA可以包括设计的外部下位机FPGA,或者也可以包括设计中的功能模块(module)的下位机FPGA。
片间互联单元的下位机引脚一般作为一致性校验的比对点。在一致性校验时,一个设计可以被划分成一个个数据指令引脚,以片间互联单元为单位,将其抽象为数学模型,然后针对每个比较点将旧设计与新设计进行比较。如果旧设计对和新设计对中所有数据指令引脚的比对点的检测都能通过,就认为它们逻辑上是相等的。SERDES的指令本质上就是将指令中受影响的片间互联单元调整为与正确的AXI逻辑相等的指令。
当设计人员在项目后期发现大型AXI串并转换,并且该缺陷对指令冲击很大时,会给SERDES带来很大挑战,直接调整指令会十分困难。例如,大规模集成电路的总线指令中可能存在几十甚至上百万个片间互联单元,一些较大的AXI串并转换在缓存后可能会影响几十上百个片间互联单元,此时直接调整指令会十分困难。
例如,对于大型AXI串并转换,若由执行SERDES的设计人员手动调整,需设计人员在对AXI程序以及指令进行分析并充分理解基础上,结合缓存串并转换需的改动,不重新综合而直接手动对指令做出调整,包括重新连线,添加、删除逻辑门或者使用预留器件等,通过对缓存后AXI程序和SERDES指令做等效性检测来确保SERDES的正确性。但是,这种方式需设计人员对AXI程序以及指令非常熟悉,即使AXI很容易缓存的串并转换,将缓存对应到指令可能会很费时间;并且,这种方式限于简单的SERDES,当串并转换对指令的冲击很大时,无法依靠纯手动来完成指令调整。
例如,对于大型AXI串并转换,若由协议实现工具进行自动的协议实现,需根据选用的工具去单独配置、建立预设的流程;在SERDES较复杂的情况下,工具迭代周期较长,甚至由于SERDES过于复杂导致无法完成协议实现;并且,在使用协议实现工具时,其调整结果也不方便控制。
针对上述情况,找到一种通用、高效的SERDES方法具有十分重要的意义。
本公开至少一实施例提供一种用于高速并行计算的片间总线协议实现方法、片间总线协议的设计装置、电子设备和非瞬时性计算机可读存储介质。该用于高速并行计算的片间总线协议实现方法包括:获取发送节点待同步控制指令,其中,发送节点待同步控制指令通过对接收节点待同步控制指令进行串并转换缓存获取;基于发送节点待同步控制指令和接收节点待同步控制指令,确定发送节点待同步控制指令中的差异内容,其中,差异内容为发送节点待同步控制指令相对于接收节点待同步控制指令不同的程序内容;对差异内容进行分析,确定位于由差异内容确定的控制芯片的引脚处的引脚指令,其中,控制芯片包括多个片间互联单元,多个片间互联单元为在串并转换缓存指令中添加或需调整的片间互联单元;基于引脚指令,结合差异内容,创建差异内容对应的协议实现模块;基于协议实现模块对接收节点待同步控制指令对应的接收总线指令进行协议实现,获取协议实现后的发送总线指令。
本公开至少一实施例提供的用于高速并行计算的片间总线协议实现方法分析串并转换缓存前后的节点待同步控制指令的差异内容,依据引脚指令确定受影响的片间互联单元,将受影响的片间互联单元对应的节点待同步控制指令内容(即差异内容)作为一个整体生成协议实现模块,以利用该协议实现模块对原指令进行协议实现,获取新的协议实现后的指令。该协议实现方法通用、高效,不仅适用于复杂的SERDES,使得指令调整变得方便、可行,同时省去了使用工具时建立流程(flow)的时间,调整结果也相对可控,极大提高了协议实现的效率,加快项目研发进度。
下面结合附图对本公开的实施例进行详细说明,但是本公开并不限于这些具体的实施例。
例如,数字集成电路可以是大规模集成电路。例如,数字集成电路可以是一个完整设计,或者是一个完整设计中的内容电路。
例如,如图1所示,本公开实施例提供的用于高速并行计算的片间总线协议实现方法至少包括步骤S10至S50。
在步骤S10,获取发送节点待同步控制指令。
例如,发送节点待同步控制指令通过对接收节点待同步控制指令进行串并转换缓存获取。
例如,如前所述,当在布局布线、缺失收敛等完成之后,设计人员发现电路存在问题需进行调整,进行协议实现前的节点待同步控制指令为旧AXI,在本公开中,旧AXI称为接收节点待同步控制指令。在协议实现指令中,设计人员对接收节点待同步控制指令中的设计串并转换进行缓存和充分校验,获取协议实现后的新AXI,在本公开中,新AXI称为发送节点待同步控制指令。
例如,设计人员依据发现的电路问题,对接收节点待同步控制指令的程序进行改动,以缓存接收节点待同步控制指令中存在的设计串并转换,获取发送节点待同步控制指令。例如,这种串并转换缓存可能对AXI程序改动较大,预设的指令的冲击也较大,例如,这种串并转换缓存可能会影响、改动总线指令中上百个或上千个片间互联单元。
在步骤S20,基于发送节点待同步控制指令和接收节点待同步控制指令,确定发送节点待同步控制指令中的差异内容。
例如,差异内容为发送节点待同步控制指令相对于接收节点待同步控制指令不同的程序内容。
例如,在一些示例中,步骤S20可以包括:对发送节点待同步控制指令和接收节点待同步控制指令进行比较,将发送节点待同步控制指令相对于接收节点待同步控制指令增加或调整的程序内容作为差异内容。
例如,发送节点待同步控制指令和接收节点待同步控制指令为AXI程序,差异内容为两者程序上的不同之处。
在步骤S30,对差异内容进行分析,确定位于由差异内容确定的控制芯片的引脚处的引脚指令。
例如,控制芯片包括多个片间互联单元,多个片间互联单元为在串并转换缓存指令中添加或需调整的片间互联单元。
例如,通过对差异内容进行分析,可以确定受影响的控制芯片的引脚处的引脚指令。控制芯片是指在缓存AXI缺陷指令中,受影响的片间互联单元作为一个整体所组成的区域,这里受影响的片间互联单元为在串并转换缓存指令中添加或需调整的片间互联单元。
例如,在一些示例中,步骤S30可以包括:确定由发送节点待同步控制指令中除差异内容以外的内容确定的非控制芯片;确定发送片间互联单元中来自非控制芯片的上位机指令作为引脚上位机指令,确定接收片间互联单元下位机至非控制芯片的下位机指令作为引脚下位机指令,这里,发送片间互联单元和接收片间互联单元为多个片间互联单元中与非控制芯片存在直接指令传输关系的片间互联单元。
例如,引脚指令包括受影响的片间互联单元的上位机引脚或下位机引脚。因此,引脚上位机指令的类型可以包括片间互联单元的上位机指令类型,例如引脚上位机指令包括设计上位机FPGA的指令、节点下位机FPGA的指令、并行计算器下位机FPGA的指令。
例如,引脚下位机指令的类型可以包括片间互联单元的下位机指令类型,例如,引脚下位机指令包括设计下位机端的指令、节点上位机FPGA的指令、并行计算器上位机FPGA的指令以及具有多个驱动的线网类型,这里,多个驱动中的至少一个驱动是设计下位机FPGA或并行计算器的下位机FPGA。
需说明的是,由于差异内容为AXI程序形式,也即处于前端设计指令,还未进行总线的综合等处理,控制芯片和非控制芯片本质上是逻辑概念,而并非是具体的物理实现。当然,在经过总线设计的综合、布局布线等指令后,指令中可以存在具体的片间互联单元的物理形态。
控制芯片包括片间互联单元1、片间互联单元2、片间互联单元3和片间互联单元4等多个片间互联单元,这些片间互联单元为在功能缓存指令中发生了调整、替换或添加的片间互联单元;非控制芯片包括片间互联单元5、片间互联单元6等。当然,图3所示仅为一种示意,控制芯片或非控制芯片还可以包括更多或更少的片间互联单元,片间互联单元的连接关系也可以预设调整。
片间互联单元1为与非控制芯片存在直接指令传输关系的片间互联单元,片间互联单元1直接接收来自非控制芯片的指令作为上位机指令,因此,片间互联单元1可以作为发送片间互联单元,其上位机指令中来自非控制芯片的上位机指令为引脚上位机指令,也即引脚上位机指令包括图3中标记“1”和“2”的指令。
类似的,片间互联单元2也与非控制芯片存在直接指令传输关系,片间互联单元2直接接收来自非控制芯片的指令作为上位机指令,因此,片间互联单元2可以作为发送片间互联单元,其上位机指令中来自非控制芯片的上位机指令为引脚上位机指令,也即引脚上位机指令还包括图3中标记“3”的指令。
片间互联单元3为与非控制芯片存在直接指令传输关系的片间互联单元,片间互联单元3直接下位机指令至非控制芯片,因此,片间互联单元3可以作为接收片间互联单元,其下位机至非控制芯片的指令为引脚下位机指令,也即引脚下位机指令包括图3中标记“4”的指令。
片间互联单元4与非控制芯片不存在直接指令传输关系,因此其不属于发送片间互联单元或接收片间互联单元。
通过步骤S30可以获取由差异内容确定的控制芯片的引脚处的引脚指令,以将受影响的所有片间互联单元作为一个整体进行后续的协议实现,而不需以单个数据指令引脚为颗粒度进行替换。这种方式不需确定或关注指令中因为串并转换缓存受影响的具体的片间互联单元,依据引脚指令可以确定需调整的控制芯片以在后续步骤进行替换和调整,尤其在串并转换缓存对指令的冲击较大时,使得指令调整变得方便、可行,极大地节省项目周期和成本。
在步骤S40,基于引脚指令,结合差异内容,创建差异内容对应的协议实现模块。
例如,使用步骤S30确定的引脚指令作为FPGA指令,结合缓存串并转换所需的AXI程序的改动,创建一个新的协议实现模块。
例如,在一些示例中,步骤S40可以包括:将引脚上位机指令作为协议实现模块的上位机指令;将引脚下位机指令作为协议实现模块的下位机指令;将差异内容作为协议实现模块的内部实现,创建协议实现模块。
具体的,在创建协议实现模块时,在协议实现模块中定义步骤S30获取的引脚上位机指令作为协议实现模块的上位机指令,定义步骤S30获取的引脚下位机指令作为协议实现模块的下位机指令,将差异内容作为协议实现模块的实现程序,由此获取协议实现模块。例如,可以直接复制差异内容作为协议实现模块的程序主体,或者,也可以对差异内容的内容程序行进行适当优化,不改变功能的前提下以更优的方式实现相同功能。
例如,这里该协议实现模块为AXI程序形式,之后在步骤S50进行综合,获取指令形式。
在步骤S50,基于协议实现模块对接收节点待同步控制指令对应的接收总线指令进行协议实现,获取协议实现后的发送总线指令。
例如,对接收节点待同步控制指令进行综合、布局布线、缺失收敛等处理后获取接收总线指令,接收总线指令为协议实现前的旧指令。
例如,在一些示例中,步骤S50可以包括:对协议实现模块进行综合,获取协议实现模块对应的协议实现指令;确定接收总线指令中控制芯片对应的指令替换内容;对接收总线指令进行协议实现,以将接收总线指令中的指令替换内容替换为协议实现指令,获取发送总线指令。
例如,协议实现指令中可以包括调整后的、正确的片间互联单元。
例如,确定接收总线指令中控制芯片对应的指令替换内容,可以包括:依据引脚指令,从接收总线指令中确定控制芯片对应的指令替换内容。
例如,依据引脚指令,可以从接收总线指令中确定对应的引脚指令,接收总线指令中依据引脚指令的连接关系确定接收总线指令中需替换的指令替换内容。
例如,对接收总线指令进行协议实现,以将接收总线指令中的指令替换内容替换为协议实现指令,获取发送总线指令,可以包括:断开指令替换内容中引脚指令与接收总线指令中指令替换内容以外的其它内容的连接关系;将指令替换内容替换为协议实现指令,并将协议实现指令中的引脚指令与接收总线指令中的预设FPGA连接,获取发送总线指令。
例如,断开指令替换内容中引脚指令与接收总线指令中指令替换内容以外的其它内容的连接关系,可以包括:断开指令替换内容中与引脚指令相关的片间互联单元的相关FPGA的连接关系,其中,相关FPGA包括与引脚指令相关的片间互联单元中与接收总线指令的其它内容存在直接指令传输关系的FPGA。
例如,将指令替换内容替换为协议实现指令,并将协议实现指令中的引脚指令与接收总线指令中的预设FPGA连接,获取发送总线指令,可以包括:将指令替换内容替换为协议实现指令,并将协议实现指令中与引脚指令相关的发送片间互联单元的上位机FPGA和接收片间互联单元的下位机FPGA与接收总线指令中的预设FPGA连接,获取发送总线指令。
例如,在协议实现时,断开接收总线指令中受影响的片间互联单元的连接关系并丢弃这些旧的片间互联单元,插入新的、正确的片间互联单元并重新连接获取最终的发送总线指令。
在接收总线指令中包括有片间互联单元a至片间互联单元e等多个片间互联单元,虚线矩形框所示为依据引脚指令从接收总线指令中确定的控制芯片对应的指令替换内容,也即指令替换内容中的片间互联单元a、片间互联单元b、片间互联单元c需调整或替换。
例如,接收总线指令中除虚线矩形框以外内容为其它内容,在协议实现时,断开指令替换内容中与引脚指令相关的片间互联单元的相关FPGA的连接关系,与引脚指令相关的片间互联单元为与接收总线指令中的其它内容存在直接连接关系的片间互联单元,相关FPGA为这些片间互联单元中与接收总线指令的其它内容存在直接指令传输关系的FPGA。与引脚指令相关的片间互联单元包括片间互联单元a、片间互联单元b和片间互联单元c,相关FPGA包括片间互联单元a中接收其它内容上位机指令的FPGA1和2,片间互联单元b中接收其它内容上位机指令的FPGA3以及片间互联单元c中向其它内容下位机指令的FPGA4。
断开这些相关FPGA的连接关系之后,将指令替换内容替换为协议实现指令,协议实现指令中包括调整后的、正确的片间互联单元a’、片间互联单元b’和片间互联单元c’。将协议实现指令中与引脚指令相关的发送片间互联单元的上位机FPGA和接收片间互联单元的下位机FPGA与接收总线指令中的预设FPGA连接,获取发送总线指令。
需由此,可以通过执行上述步骤S10-S50获取协议实现后的发送总线指令,该用于高速并行计算的片间总线协议实现方法提供了一种通用、高效的SERDES方法,通过引脚指令确定需调整的控制芯片,基于AXI程序的调整创建一个新的SERDES模块,使用该SERDES模块进行替换完成协议实现,可以极大地节省项目周期和成本,适用于复杂的SERDES调整的场景,使得指令调整变得方便、可行;并且,不需基于SERDES工具单独配置、建立流程,调整结果也相对可控。
例如,进行协议实现前的接收节点待同步控制指令和对应的接收总线指令组成旧设计对,进行协议实现后的发送节点待同步控制指令和对应的发送总线指令组成新设计对,协议实现由于跳过了传统的前向指令,如综合、布局布线、缺失收敛等,因此需保证新设计对之间的逻辑等价,例如对发送节点待同步控制指令和发送总线指令进行一致性校验。
例如,本公开至少一实施例提供的用于高速并行计算的片间总线协议实现方法还包括:对发送总线指令和发送节点待同步控制指令进行一致性校验。
逻辑等价是使用形式化的、静态的手段确定不同版本的文件之间是否功能上等价。在一致性校验指令中,对于整个状态空间,旧设计对之间和新设计对之间必须具有匹配的状态元件(比较点),这意味着接收节点待同步控制指令、接收总线指令必须匹配,发送节点待同步控制指令和发送总线指令必须匹配,这里的匹配指它们具有一对一的映射关系。如果发送总线指令和发送节点待同步控制指令中所有片间互联单元的比对点都能一对一对应,则认为对发送总线指令和发送节点待同步控制指令逻辑上是等价的。
例如,由于对指令进行了调整,除一致性校验外还需对发送总线指令进行缺失检测,以确认缺失是否满足要求。
例如,本公开至少一实施例提供的用于高速并行计算的片间总线协议实现方法还包括:对发送总线指令进行缺失检测。
最终的发送总线指令如果缺失检测通过,并且与缓存串并转换后发送节点待同步控制指令的一致性检测通过,代表协议实现正确完成。
在该实施例中,通过差异内容分析引脚指令,基于引脚指令确定需调整的控制芯片,以能在接收总线指令中大量片间互联单元里确定需受影响的片间互联单元整体组成的控制芯片,并基于该差异内容、引脚指令创建一个新的SERDES模块,使用该SERDES模块进行替换完成协议实现。即使AXI调整对指令的冲击较大,该方法也可以方便、高效地完成协议实现,极大地节省项目周期和成本,适用于复杂的SERDES调整的场景,使得指令调整变得方便、可行;并且,不需基于SERDES工具单独配置、建立流程,调整结果也相对可控。
与上述的用于高速并行计算的片间总线协议实现方法相对应,本公开至少一实施例还提供一种片间总线协议的设计装置,图2为本公开至少一实施例提供的一种片间总线协议的设计装置的示意性框图。
例如,如图2所示,片间总线协议的设计装置至少包括:获取单元101、确定单元102、分析单元103、创建单元104和协议实现单元105。
获取单元101配置为获取发送节点待同步控制指令。
例如,发送节点待同步控制指令通过对接收节点待同步控制指令进行串并转换缓存获取。
确定单元102,配置为基于发送节点待同步控制指令和接收节点待同步控制指令,确定发送节点待同步控制指令中的差异内容。
例如,差异内容为发送节点待同步控制指令相对于接收节点待同步控制指令不同的程序内容。
分析单元103,配置为对差异内容进行分析,确定位于由差异内容确定的控制芯片的引脚处的引脚指令。
例如,控制芯片包括多个片间互联单元,多个片间互联单元为在串并转换缓存指令中添加或需调整的片间互联单元。
创建单元104,配置为基于引脚指令,结合差异内容,创建差异内容对应的协议实现模块。
协议实现单元105,配置为基于协议实现模块对接收节点待同步控制指令对应的接收总线指令进行协议实现,获取协议实现后的发送总线指令。
例如,确定单元102执行基于发送节点待同步控制指令和接收节点待同步控制指令,确定发送节点待同步控制指令中的差异内容时,包括执行以下操作:对发送节点待同步控制指令和接收节点待同步控制指令进行比较,将发送节点待同步控制指令相对于接收节点待同步控制指令增加或调整的程序内容作为差异内容。
例如,引脚指令包括引脚上位机指令和引脚下位机指令。
分析单元103执行对差异内容进行分析,确定位于由差异内容确定的控制芯片的引脚处的引脚指令时,包括执行以下操作:确定由发送节点待同步控制指令中除差异内容以外的内容确定的非控制芯片;对差异内容进行分析,确定发送片间互联单元中来自非控制芯片的上位机指令作为引脚上位机指令,确定接收片间互联单元下位机至非控制芯片的下位机指令作为引脚下位机指令,其中,发送片间互联单元和接收片间互联单元为多个片间互联单元中与非控制芯片存在直接指令传输关系的片间互联单元。
例如,引脚上位机指令包括设计上位机FPGA的指令、节点下位机FPGA的指令、并行计算器下位机FPGA的指令;引脚下位机指令包括设计下位机端的指令、节点上位机FPGA的指令、并行计算器上位机FPGA的指令以及具有多个驱动的线网类型,其中,多个驱动中的至少一个驱动是设计下位机FPGA或并行计算器的下位机FPGA。
例如,创建单元104执行基于引脚指令,结合差异内容,创建差异内容对应的协议实现模块时,包括执行以下操作;将引脚上位机指令作为协议实现模块的上位机指令;将引脚下位机指令作为协议实现模块的下位机指令;将差异内容作为协议实现模块的内部实现,创建协议实现模块。
例如,协议实现单元105执行基于协议实现模块对接收节点待同步控制指令对应的接收总线指令进行协议实现,获取协议实现后的发送总线指令时,包括执行以下操作:对协议实现模块进行综合,获取协议实现模块对应的协议实现指令;确定接收总线指令中控制芯片对应的指令替换内容;对接收总线指令进行协议实现,以将接收总线指令中的指令替换内容替换为协议实现指令,获取发送总线指令。
例如,协议实现单元105执行确定接收总线指令中控制芯片对应的指令替换内容时,包括执行以下操作:依据引脚指令,从接收总线指令中确定控制芯片对应的指令替换内容。
例如,协议实现单元105执行对接收总线指令进行协议实现,以将接收总线指令中的指令替换内容替换为协议实现指令,获取发送总线指令时,包括执行以下操作:断开指令替换内容中引脚指令与接收总线指令中指令替换内容以外的其它内容的连接关系;将指令替换内容替换为协议实现指令,并将协议实现指令中的引脚指令与接收总线指令中的预设FPGA连接,获取发送总线指令。
例如,协议实现单元105执行断开指令替换内容中引脚指令与接收总线指令中指令替换内容以外的其它内容的连接关系,包括执行以下操作:断开指令替换内容中与引脚指令相关的片间互联单元的相关FPGA的连接关系,其中,相关FPGA包括与引脚指令相关的片间互联单元中与接收总线指令的其它内容存在直接指令传输关系的FPGA。
例如,协议实现单元105执行将指令替换内容替换为协议实现指令,并将协议实现指令中的引脚指令与接收总线指令中的预设FPGA连接,获取发送总线指令时,包括执行以下操作:将指令替换内容替换为协议实现指令,并将协议实现指令中与引脚指令相关的发送片间互联单元的上位机FPGA和接收片间互联单元的下位机FPGA与接收总线指令中的预设FPGA连接,获取发送总线指令。
例如,用于高速并行计算的片间总线协议实现装置100还校验单元(未示出),校验单元配置为对发送总线指令和发送节点待同步控制指令进行一致性校验。
例如,用于高速并行计算的片间总线协议实现装置100还缺失检测单元(未示出),缺失检测单元配置为对发送总线指令进行缺失检测。
例如,获取单元101、确定单元102、分析单元103、创建单元104和协议实现单元105包括存储在存储器中的程序和程序;处理器可以执行该程序和程序以实现如上所述的获取单元101、确定单元102、分析单元103、创建单元104和协议实现单元105的一些功能或全部功能。例如,获取单元101、确定单元102、分析单元103、创建单元104和协议实现单元105可以是专用硬件器件,用来实现如上所述的获取单元101、确定单元102、分析单元103、创建单元104和协议实现单元105的一些或全部功能。例如,获取单元101、确定单元102、分析单元103、创建单元104和协议实现单元105可以是一个电路板或多个电路板的组合,用于实现如上所述的功能。在本申请实施例中,该一个电路板或多个电路板的组合可以包括:(1)一个或多个处理器;(2)与处理器相连接的一个或多个非暂时的存储器;以及(3)处理器可执行的存储在存储器中的固件。
需说明的是,获取单元101用于实现图1所示的步骤S10,确定单元102用于实现图1所示的步骤S20,分析单元103用于实现图1所示的步骤S30,创建单元104用于实现图1所示的步骤S40,协议实现单元105用于实现图1所示的步骤S50。从而关于获取单元101的具体说明可以参考上述用于高速并行计算的片间总线协议实现方法的实施例中图1所示的步骤S10的相关描述,关于确定单元102的具体说明可以参考上述用于高速并行计算的片间总线协议实现方法的实施例中图1所示的步骤S20的相关描述,关于分析单元103的具体说明可以参考上述用于高速并行计算的片间总线协议实现方法的实施例中图1所示的步骤S30的相关描述,关于创建单元104的具体说明可以参考上述用于高速并行计算的片间总线协议实现方法的实施例中图1所示的步骤S40的相关描述,关于协议实现单元105的具体说明可以参考上述用于高速并行计算的片间总线协议实现方法的实施例中图1所示的步骤S50的相关描述。
此外,片间总线协议的设计装置可以实现与前述用于高速并行计算的片间总线协议实现方法相似的技术效果,在此不再赘述。
本公开至少一实施例还提供一种电子设备,图3为本公开至少一实施例提供的一种电子设备的示意性框图。
例如,如图3所示,该电子设备包括处理器1001、通信接口1002、存储器1003和通信总线1004。处理器1001、通信接口1002、存储器1003通过通信总线1004实现相互通信,处理器1001、通信接口1002、存储器1003等组件之间也可以通过网络连接进行通信。本公开对网络的类型和功能在此不作限制。
例如,存储器1003用于非瞬时性地存储计算机可执行指令。处理器1001用于运行计算机可执行指令时,计算机可执行指令被处理器1001运行时实现根据上述任一实施例所述的用于高速并行计算的片间总线协议实现方法。关于该用于高速并行计算的片间总线协议实现方法的各个步骤的具体实现以及相关解释内容可以参见上述用于高速并行计算的片间总线协议实现方法的实施例,在此不作赘述。
例如,处理器1001执行存储器1003上所存储的程序而实现用于高速并行计算的片间总线协议实现方法的实现方式,与前述用于高速并行计算的片间总线协议实现方法的实施例内容所提及的实现方式相同,这里也不再赘述。
例如,通信总线1004可以是外设部件互连标准(PCI)总线或扩展工业标准结构(EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
例如,通信接口1002用于实现电子设备与其他设备之间的通信。
例如,处理器1001可以控制电子设备中的其它组件以执行期望的功能。处理器1001可以是中央处理器(CPU)、网络处理器(NP)等,还可以是数字指令处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。中央处理元(CPU)可以为X86或ARM架构等。
例如,存储器1003可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机可执行指令,处理器1001可以运行所述计算机可执行指令,以实现电子设备的各种功能。在存储介质中还可以存储各种应用程序和各种数据等。
例如,关于电子设备执行片间总线协议的设计的指令的详细说明可以参考用于高速并行计算的片间总线协议实现方法的实施例中的相关描述,重复之处不再赘述。
图3为本公开至少一实施例提供的一种非瞬时性计算机可读存储介质的示意图。例如,如图3所示,在存储介质1100上可以非暂时性地存储一个或多个计算机可执行指令1101。例如,当计算机可执行指令1101由处理器执行时可以执行根据上文所述的用于高速并行计算的片间总线协议实现方法中的一个或多个步骤。
例如,该存储介质1100可以应用于上述电子设备和/或片间总线协议的设计装置100中。例如,存储介质1100可以包括电子设备中的存储器1003。
例如,关于存储介质1100的说明可以参考电子设备的实施例中对于存储器的描述,重复之处不再赘述。
本领域技术人员能够理解,本公开所披露的内容可以出现多种变型和改进。例如,以上所描述的各种设备或组件可以通过硬件实现,也可以通过软件、固件、或者三者中的一些或全部的组合实现。
本公开中使用了流程图用来说明根据本公开的实施例的方法的步骤。应当理解的是,前面或后面的步骤不一定按照顺序来精确的进行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些指令中。
本领域普通技术人员可以理解上述方法中的全部或内容的步骤可通过计算机程序来指令相关硬件完成,程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或内容步骤也可以使用一个或多个集成电路来实现。预设地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本公开并不限制于任何特定形式的硬件和软件的结合。
除非另有定义,这里使用的所有术语具有与本公开所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。
以上是对本公开的说明,而不应被认为是对其的限制。尽管描述了本公开的若干示例性实施例,但本领域技术人员将容易地理解,在不背离本公开的新颖教学和优点的前提下可以对示例性实施例进行许多调整。因此,所有这些调整都意图包含在权利要求书所限定的本公开范围内。应当理解,上面是对本公开的说明,而不应被认为是限于所公开的特定实施例,并且对所公开的实施例以及其他实施例的调整意图包含在所附权利要求书的范围内。本公开由权利要求书及其等效物限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、调整、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (10)
1.一种用于高速并行计算的片间总线协议实现方法,包括:
获取发送节点待同步控制指令,其中,所述发送节点待同步控制指令通过对接收节点待同步控制指令进行串并转换缓存获取;
基于所述发送节点待同步控制指令和所述接收节点待同步控制指令,确定所述发送节点待同步控制指令中的差异内容,其中,所述差异内容为所述发送节点待同步控制指令相对于所述接收节点待同步控制指令不同的程序内容;
对所述差异内容进行分析,确定位于由所述差异内容确定的控制芯片的引脚处的引脚指令,其中,所述控制芯片包括多个片间互联单元,所述多个片间互联单元为在所述串并转换缓存指令中添加或需调整的片间互联单元;
基于所述引脚指令,结合所述差异内容,创建所述差异内容对应的协议实现模块;
基于所述协议实现模块对所述接收节点待同步控制指令对应的接收总线指令进行协议实现,获取协议实现后的发送总线指令。
2.根据权利要求1所述的用于高速并行计算的片间总线协议实现方法,其中,基于所述发送节点待同步控制指令和所述接收节点待同步控制指令,确定所述发送节点待同步控制指令中的差异内容,包括:
对所述发送节点待同步控制指令和所述接收节点待同步控制指令进行比较,将所述发送节点待同步控制指令相对于所述接收节点待同步控制指令增加或调整的程序内容作为所述差异内容。
3.根据权利要求1所述的用于高速并行计算的片间总线协议实现方法,其中,所述引脚指令包括引脚上位机指令和引脚下位机指令,
对所述差异内容进行分析,确定位于由所述差异内容确定的控制芯片的引脚处的引脚指令,包括:
确定由所述发送节点待同步控制指令中除所述差异内容以外的内容确定的非控制芯片;
对所述差异内容进行分析,确定发送片间互联单元中来自所述非控制芯片的上位机指令作为所述引脚上位机指令,确定接收片间互联单元下位机至所述非控制芯片的下位机指令作为所述引脚下位机指令,其中,所述发送片间互联单元和所述接收片间互联单元为所述多个片间互联单元中与所述非控制芯片存在直接指令传输关系的片间互联单元。
4.根据权利要求3所述的用于高速并行计算的片间总线协议实现方法,其中,所述引脚上位机指令包括设计上位机FPGA的指令、节点下位机FPGA的指令、并行计算器下位机FPGA的指令;
所述引脚下位机指令包括设计下位机端的指令、节点上位机FPGA的指令、并行计算器上位机FPGA的指令以及具有多个驱动的线网类型,其中,所述多个驱动中的至少一个驱动是设计下位机FPGA或并行计算器的下位机FPGA。
5.根据权利要求1所述的用于高速并行计算的片间总线协议实现方法,其中,所述引脚指令包括引脚上位机指令和引脚下位机指令,
基于所述引脚指令,结合所述差异内容,创建所述差异内容对应的协议实现模块,包括;
将所述引脚上位机指令作为所述协议实现模块的上位机指令;
将所述引脚下位机指令作为所述协议实现模块的下位机指令;
将所述差异内容作为所述协议实现模块的内部实现,创建所述协议实现模块。
6.根据权利要求1所述的用于高速并行计算的片间总线协议实现方法,其中,基于所述协议实现模块对所述接收节点待同步控制指令对应的接收总线指令进行协议实现,获取协议实现后的发送总线指令,包括:
对所述协议实现模块进行综合,获取所述协议实现模块对应的协议实现指令;
确定所述接收总线指令中所述控制芯片对应的指令替换内容;
对所述接收总线指令进行协议实现,以将所述接收总线指令中的所述指令替换内容替换为所述协议实现指令,获取所述发送总线指令。
7.根据权利要求6所述的用于高速并行计算的片间总线协议实现方法,其中,确定所述接收总线指令中所述控制芯片对应的指令替换内容,包括:
依据所述引脚指令,从所述接收总线指令中确定所述控制芯片对应的指令替换内容。
8.根据权利要求6所述的用于高速并行计算的片间总线协议实现方法,其中,对所述接收总线指令进行协议实现,以将所述接收总线指令中的所述指令替换内容替换为所述协议实现指令,获取所述发送总线指令,包括:
断开所述指令替换内容中所述引脚指令与所述接收总线指令中所述指令替换内容以外的其它内容的连接关系;
将所述指令替换内容替换为所述协议实现指令,并将所述协议实现指令中的所述引脚指令与所述接收总线指令中的预设FPGA连接,获取所述发送总线指令。
9.根据权利要求8所述的用于高速并行计算的片间总线协议实现方法,其中,断开所述指令替换内容中所述引脚指令与所述接收总线指令中所述指令替换内容以外的其它内容的连接关系,包括:
断开所述指令替换内容中与所述引脚指令相关的片间互联单元的相关FPGA的连接关系,其中,所述相关FPGA包括与所述引脚指令相关的片间互联单元中与所述接收总线指令的其它内容存在直接指令传输关系的FPGA。
10.根据权利要求8所述的用于高速并行计算的片间总线协议实现方法,其中,将所述指令替换内容替换为所述协议实现指令,并将所述协议实现指令中的所述引脚指令与所述接收总线指令中的预设FPGA连接,获取所述发送总线指令,包括:
将所述指令替换内容替换为所述协议实现指令,并将所述协议实现指令中与所述引脚指令相关的发送片间互联单元的上位机FPGA和接收片间互联单元的下位机FPGA与所述接收总线指令中的预设FPGA连接,获取所述发送总线指令;
对所述发送总线指令和所述发送节点待同步控制指令进行一致性校验以及对所述发送总线指令进行缺失检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311078073.8A CN116822445B (zh) | 2023-08-25 | 2023-08-25 | 一种用于高速并行计算的片间总线协议实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311078073.8A CN116822445B (zh) | 2023-08-25 | 2023-08-25 | 一种用于高速并行计算的片间总线协议实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116822445A true CN116822445A (zh) | 2023-09-29 |
CN116822445B CN116822445B (zh) | 2023-11-03 |
Family
ID=88113070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311078073.8A Active CN116822445B (zh) | 2023-08-25 | 2023-08-25 | 一种用于高速并行计算的片间总线协议实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116822445B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008133940A2 (en) * | 2007-04-27 | 2008-11-06 | Atmel Corporation | Serialization of data in multi-chip bus implementation |
CN104811273A (zh) * | 2015-04-02 | 2015-07-29 | 福州大学 | 一种高速单总线通信的实现方法 |
WO2016192211A1 (zh) * | 2015-06-04 | 2016-12-08 | 青岛海信信芯科技有限公司 | 片间互联的发送、接收装置及发送、接收方法及系统 |
CN113515482A (zh) * | 2021-09-14 | 2021-10-19 | 北京国科天迅科技有限公司 | 数据传输系统、方法、计算机设备和存储介质 |
CN115563046A (zh) * | 2022-09-29 | 2023-01-03 | 奇异摩尔(上海)集成电路设计有限公司 | 适用于Chiplet小芯片互联的高速接口、方法及系统 |
CN115695553A (zh) * | 2022-10-28 | 2023-02-03 | 四川恒湾科技有限公司 | 一种fpga片间同步面和管理面的数据传输系统及方法 |
CN116450569A (zh) * | 2023-06-14 | 2023-07-18 | 苏州浪潮智能科技有限公司 | 一种片间互联系统、一种数据传输方法 |
-
2023
- 2023-08-25 CN CN202311078073.8A patent/CN116822445B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008133940A2 (en) * | 2007-04-27 | 2008-11-06 | Atmel Corporation | Serialization of data in multi-chip bus implementation |
CN104811273A (zh) * | 2015-04-02 | 2015-07-29 | 福州大学 | 一种高速单总线通信的实现方法 |
WO2016192211A1 (zh) * | 2015-06-04 | 2016-12-08 | 青岛海信信芯科技有限公司 | 片间互联的发送、接收装置及发送、接收方法及系统 |
CN113515482A (zh) * | 2021-09-14 | 2021-10-19 | 北京国科天迅科技有限公司 | 数据传输系统、方法、计算机设备和存储介质 |
CN115563046A (zh) * | 2022-09-29 | 2023-01-03 | 奇异摩尔(上海)集成电路设计有限公司 | 适用于Chiplet小芯片互联的高速接口、方法及系统 |
CN115695553A (zh) * | 2022-10-28 | 2023-02-03 | 四川恒湾科技有限公司 | 一种fpga片间同步面和管理面的数据传输系统及方法 |
CN116450569A (zh) * | 2023-06-14 | 2023-07-18 | 苏州浪潮智能科技有限公司 | 一种片间互联系统、一种数据传输方法 |
Non-Patent Citations (2)
Title |
---|
SAIF UDDIN 等: "An improved transmission scheme for error-prone inter-chip network-on-chip communication links implemented on FPGAs", 《PROCEEDINGS OF THE 10TH FPGAWORLD CONFERENCE》, no. 8, pages 1 * |
周磊: "高速信号处理存储传输一体化硬件平台设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 3, pages 136 - 405 * |
Also Published As
Publication number | Publication date |
---|---|
CN116822445B (zh) | 2023-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9495492B1 (en) | Implementing synchronous triggers for waveform capture in an FPGA prototyping system | |
CN112732636A (zh) | 基于多fpga的芯片原型验证系统的配置方法、装置和设备 | |
US20190377846A1 (en) | Speed converter for fpga-based ufs prototypes | |
CN115577675B (zh) | 时序违例修复方法、装置、服务器及可读存储介质 | |
CN116595916A (zh) | 数字集成电路的设计方法、装置、电子设备、存储介质 | |
CN115827568B (zh) | 获取逻辑系统设计的数据的方法、电子设备和存储介质 | |
TWI810652B (zh) | 可在記憶體裝置上執行的方法、記憶體裝置及非暫態性電腦可讀媒體 | |
CN117131834A (zh) | 芯片设计重组方法、电子设备和介质 | |
CN116822445B (zh) | 一种用于高速并行计算的片间总线协议实现方法 | |
US11375050B1 (en) | Multiple protocol layer conversion | |
WO2021128165A1 (zh) | 形式验证方法、信息识别方法、设备和存储介质 | |
US20090007034A1 (en) | Device, System, and Method for Correction of Integrated Circuit Design | |
CN111290889B (zh) | 基于fpga的面向通用处理器的测试方法及系统 | |
CN107229793B (zh) | 一种高级可扩展接口总线平台的测试方法及装置 | |
CN116050309A (zh) | 数字电路的设计方法、装置、电子设备、存储介质 | |
CN112131810B (zh) | 建立时间违例修复方法、装置、电子设备及可读存储介质 | |
CN114398214A (zh) | 性能验证方法、装置、存储介质及计算机设备 | |
CN117131824A (zh) | 自动生成芯片设计rtl代码的方法、电子设备和介质 | |
CN107368643B (zh) | 基于rtl的模块划分方法、装置及终端设备 | |
CN114091391A (zh) | 芯片验证方法、装置、设备和存储介质 | |
CN114265786A (zh) | 自动化测试方法、装置,计算机设备及可读存储介质 | |
CN115858256A (zh) | 一种物联网设备的测试方法、装置及电子设备 | |
CN114747143A (zh) | 可编程设备配置存储器系统 | |
CN116431582B (zh) | 一种自动化扩展硬件设计电路资源的方法 | |
CN117112447B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |