用于环形缓冲器的参数生成方法、装置和人工智能芯片制造方法及图纸

技术编号:35660539 阅读:17 留言:0更新日期:2022-11-19 16:58
本公开提供一种用于环形缓冲器的参数生成方法、装置和人工智能芯片。环形缓冲器用于存储多组数据。方法包括:针对每组数据,随机生成数据存储地址边界的初始值,每组数据的数据存储地址边界的初始值指示该组数据的数据量;基于多组数据的数据存储地址边界的初始值,生成缓冲器存储地址边界的候选值,缓冲器存储地址边界的候选值所限定的存储容量的下限不小于多组数据中的任意相邻两组数据的数据量之和,缓冲器存储地址边界的候选值所限定的存储容量的上限小于多组数据的数据量总和;在候选值限定的存储容量范围内,随机生成缓冲器存储地址边界的目标值;基于缓冲器存储地址边界的目标值和预设约束规则,生成每组数据的数据存储地址边界的目标值。储地址边界的目标值。储地址边界的目标值。

【技术实现步骤摘要】
用于环形缓冲器的参数生成方法、装置和人工智能芯片


[0001]本公开涉及计算机
,具体涉及用于环形缓冲器的参数生成方法、装置、芯片的验证方法、人工智能芯片、电子设备、计算机可读存储介质和计算机程序产品。

技术介绍

[0002]环形缓冲器,也称循环缓冲区、圆形缓冲区或作圆形队列,用于表示固定容量、头尾相连的缓冲区的数据结构。环形缓冲器是一个先进先出的循环缓冲区,可以向通信程序提供对缓冲区的互斥访问。在芯片领域,环形缓冲器被广泛用于存储数据。
[0003]在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。

技术实现思路

[0004]本公开提供了一种用于环形缓冲器的参数生成方法、装置、芯片的验证方法、人工智能芯片、电子设备、计算机可读存储介质和计算机程序产品。
[0005]根据本公开的一方面,提供了一种用于环形缓冲器的参数生成方法。环形缓冲器用于循环地存储多组数据,参数包括缓冲器存储地址边界的目标值和多组数据中每组数据的数据存储地址边界的目标值。参数生成方法包括:针对多组数据中的每组数据,随机生成数据存储地址边界的初始值,其中,每组数据的数据存储地址边界的初始值指示该组数据的数据量;基于多组数据的数据存储地址边界的初始值,生成缓冲器存储地址边界的候选值,其中,缓冲器存储地址边界的候选值所限定的存储容量的下限不小于多组数据中的任意相邻两组数据的数据量之和 ,缓冲器存储地址边界的候选值所限定的存储容量的上限小于多组数据的数据量总和;在候选值所限定的存储容量范围内,随机生成缓冲器存储地址边界的目标值;以及基于缓冲器存储地址边界的目标值和预设约束规则,生成每组数据的数据存储地址边界的目标值。
[0006]根据本公开的另一方面,提供了一种芯片的验证方法。芯片包括环形缓冲器,芯片的验证方法包括:利用上述的方法生成环形缓冲器的参数;以及基于缓冲器存储地址边界的目标值和每组数据的数据存储地址边界的目标值,对神经网络运算芯片进行验证。
[0007]根据本公开的另一方面,提供了一种用于环形缓冲器的参数生成装置。环形缓冲器用于循环地存储多组数据,参数包括缓冲器存储地址边界的目标值和多组数据中每组数据的数据存储地址边界的目标值。参数生成装置包括:数据存储地址边界的初始值生成单元,被配置为针对多组数据中的每组数据,随机生成数据存储地址边界的初始值,其中,每组数据的数据存储地址边界的初始值指示该组数据的数据量;缓冲器存储地址边界的候选值生成单元,被配置为基于多组数据的数据存储地址边界的初始值,生成缓冲器存储地址边界的候选值,其中,缓冲器存储地址边界的候选值所限定的存储容量的下限不小于多组数据中的任意相邻两组数据的数据量之和,缓冲器存储地址边界的候选值所限定的存储容
量的上限小于多组数据的数据量总和;缓冲器存储地址边界的目标值生成单元,被配置为在候选值所限定的存储容量范围内,随机生成缓冲器存储地址边界的目标值;以及数据存储地址边界的目标值生成单元,被配置为基于缓冲器存储地址边界的目标值和预设约束规则,生成每组数据的数据存储地址边界的目标值。
[0008]根据本公开的又一方面,提供了种人工智能芯片。该人工智能芯片包括上述的参数生成装置。
[0009]根据本公开的再另一方面,提供了一种电子设备,包括上述的人工智能芯片。
[0010]根据本公开的再另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行上述的方法。
[0011]根据本公开的再另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,使处理器执行上述的方法。
[0012]根据在下文中所描述的实施例,本公开的这些和其它方面将是清楚明白的,并且将参考在下文中所描述的实施例而被阐明。
附图说明
[0013]附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
[0014]图1是示出了根据本公开示例性实施例的用于环形缓冲器的参数生成方法的流程图;图2是示出了根据本公开示例性实施例的用于环形缓冲器的参数生成方法的部分过程的流程图;图3是示出了根据本公开示例性实施例的用于环形缓冲器的参数生成方法的部分过程的流程图;图4是示出了根据本公开示例性实施例的用于环形缓冲器的参数生成装置的结构框图;以及图5是示出能够应用于示例性实施例的示例性电子设备的框图。
具体实施方式
[0015]在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
[0016]在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
[0017]如上文所述,由于环形缓冲器是头尾相连的数据结构,而计算机的内存是线性的地址空间,因此需要对环形缓冲器的参数进行特别的设计才能从逻辑上实现其功能。通常,
可以使用多个指针来指示与环形缓冲器相关的参数,例如,指示环形缓冲器在内存中的实际开始位置、在内存中的实际结束位置、存储在缓冲区中的有效数据的开始位置和存储在缓冲区中的有效数据的结尾位置。需要说明的,本文中的缓冲器是指缓冲寄存器。
[0018]在应用环形缓冲器进行数据存储的场景中,由于待存储的数据可能具有各种各样的性质,可能需要基于待存储的数据和上述的环形缓冲器相关的参数对环形缓冲器进行设计或验证,以确保环形缓冲器在真实使用场景中能够正常运行。因此,获取上述的环形缓冲器相关的参数至关重要。
[0019]环形缓冲器可以用在芯片中进行数据存储。例如,神经网络运算芯片可以被应用于很多种不同类型的神经网络计算中,这些网络的规模不同,每种网络内部一般由几层到几十层运算层构成。在进行运算时,由于每层网络的数学公式内容不同,芯片的硬件逻辑(例如环形缓冲器)也需要配置成不同的参数以支持不同的计算功能。由于这种广泛的参数配置空间,在芯片的设计验证阶段,通过何种验证方案来覆盖到所有可能出现的环形缓冲器的参数场景,以确保芯片的环形缓冲器在这些场景下都能够正常工作,是芯片验证的难点。对于用于存储神经网络的不同层的数据的环形缓冲器而言,需要覆盖的参数场景包括环形缓冲器在内存中的实际开始位置、在内存中的实际结束位置本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于环形缓冲器的参数生成方法,所述环形缓冲器用于循环地存储多组数据,所述参数包括缓冲器存储地址边界的目标值和所述多组数据中每组数据的数据存储地址边界的目标值,所述方法包括:针对所述多组数据中的每组数据,随机生成数据存储地址边界的初始值,其中,所述每组数据的数据存储地址边界的初始值指示该组数据的数据量;基于所述多组数据的数据存储地址边界的初始值,生成缓冲器存储地址边界的候选值,其中,所述缓冲器存储地址边界的候选值所限定的存储容量的下限不小于所述多组数据中的任意相邻两组数据的数据量之和,所述缓冲器存储地址边界的候选值所限定的存储容量的上限小于所述多组数据的数据量总和;在所述候选值所限定的存储容量范围内,随机生成缓冲器存储地址边界的目标值;以及基于所述缓冲器存储地址边界的目标值和预设约束规则,生成所述每组数据的数据存储地址边界的目标值。2.根据权利要求1所述的方法,其中,所述预设约束规则包括:所述每组数据的数据存储地址边界的目标值落入所述缓冲器存储地址边界的目标值范围内。3.根据权利要求1所述的方法,其中,所生成的数据存储地址边界的目标值包括数据存储地址边界的起始点目标值和数据存储地址边界的终止点目标值,并且其中,对于所述多组数据中的任意相邻两组数据,后一组数据的数据存储地址边界的起始点目标值与前一组数据的数据存储地址边界的终止点目标值紧邻。4.根据权利要求2所述的方法,其中,生成所述每组数据的数据存储地址边界的目标值包括:在所述缓冲器存储地址边界的目标值范围内随机生成第一组数据的数据存储地址边界的起始点目标值;以及基于所述第一组数据的数据存储地址边界的起始点目标值、所述第一组数据的数据量、以及所述缓冲器存储地址边界的目标值,生成所述第一组数据的数据存储地址边界的终止点目标值。5. 根据权利要求4所述的方法,其中,所述缓冲器存储地址边界的目标值包括缓冲器存储地址边界的起始点目标值和缓冲器存储地址边界的终止点目标值,并且其中,基于所述第一组数据的数据存储地址边界的起始点目标值、所述第一组数据的数据量、以及所述缓冲器存储地址边界的目标值,生成所述第一组数据的数据存储地址边界的终止点目标值包括:对所述第一组数据的数据存储地址边界的终止点目标值和所述缓冲器存储地址边界的终止点目标值进行比较;以及响应于所述第一组数据的数据存储地址边界的终止点目标值大于所述缓冲器存储地址边界的终止点目标值,生成所述第一组数据的数据存储地址边界的终止点目标值,所生成的数据存储地址边界的终止点目标值使得所述第一组数据在存入所述环形缓冲器中时将发生数据回卷。6.根据权利要求1至5中任一项所述的方法,其中,所述缓冲器存储地址边界的候选值所限定的存储容量的上限小于所述多组数据的数据量总和的预设百分比。
7.根据权利要求1至5中任一项所述的方法,还包括:针对所述每组数据,随机生成缓冲器存储地址边界的初始值,其中,所述每组数据的数据存储地址边界的初始值落入该组数据的缓冲器存储地址边界的初始值所限定的存储范围内。8.根据权利要求1至5中任一项所述的方法,其中,所述环形缓冲器是神经网络运算芯片中的环形缓冲器,所述神经网络包括多个级联的网络层,所述多组数据依次对应所述多个级联的网络层。9.一种芯片的验证方法,所述芯片包括环形缓冲器,所述方法包括:利用权利要求1至8中任一项所述的方法生成所述环形缓冲器的参数;以及基于所述缓冲器存储地址边界的目标值和所述每组数据的数据存储地址边界的目标值,对所述芯片进行验证。10.一种用于环形缓冲器的参数生成装置,所述环形缓冲器用于循环地存储多组数据,所述参数包括缓冲器存储地址边界的目标值和所述多组数据中每组数据的数据存储地址...

【专利技术属性】
技术研发人员:贾骏郭力
申请(专利权)人:瀚博半导体上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1