CN116597886B - 对npu中的lsu进行验证的方法及相关设备 - Google Patents
对npu中的lsu进行验证的方法及相关设备 Download PDFInfo
- Publication number
- CN116597886B CN116597886B CN202310879791.9A CN202310879791A CN116597886B CN 116597886 B CN116597886 B CN 116597886B CN 202310879791 A CN202310879791 A CN 202310879791A CN 116597886 B CN116597886 B CN 116597886B
- Authority
- CN
- China
- Prior art keywords
- lsu
- address
- instruction
- write
- memory
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 238000012795 verification Methods 0.000 claims abstract description 119
- 230000015654 memory Effects 0.000 claims abstract description 72
- 230000005284 excitation Effects 0.000 claims abstract description 60
- 230000008569 process Effects 0.000 claims abstract description 44
- 238000007689 inspection Methods 0.000 claims description 7
- 238000013500 data storage Methods 0.000 claims description 2
- 238000010200 validation analysis Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 11
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004751 neurological system process Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000005086 pumping Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000000638 stimulation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请提供一种对NPU中的LSU进行验证的方法及相关设备,方法包括:从待测的LSU的ISA指令中选择一个写指令,为存储器配置第一地址,并选择第一数据作为写入所述存储器的数据,所述第一地址和所述第一数据的长度均为1字节byte,在第一验证流程中,向所述待测的LSU发送写激励信号,所述写激励信号用于指示所述待测的LSU进行写操作,所述写操作包括向所述存储器中的所述第一地址写入所述第一数据,在所述第一验证流程中,对所述写操作进行形式化验证,在保证计算资源的使用量不过大的情况下,保证验证的完备性。
Description
技术领域
本申请涉及芯片领域,尤其涉及一种对NPU中的LSU进行验证的方法及相关设备。
背景技术
随着各领域对人工智能(Artificial intelligence,AI)的需求,用于支持AI算法和模型的神经网络处理器(Neural Process Unit,NPU)得到了快速发展。
LSU是NPU中用于实现对存储器的读写操作的单元。与传统的CPU相比,NPU对装载存储单元(Load Store Unit,LSU)的功能要求更高,即要求LSU支持scalar类型指令以及功能更强的tensor类型指令,实现对存储器的读写操作。
对NPU中的LSU的验证可以理解为,验证LSU对存储单元的读写操作是否符合设计预期。
现有的以通用验证方法 (Universal Verification Methodology,UVM)为代表的验证方法,如随机约束与定向激励相结合的验证方法,在LSU支持scalar类型指令以及功能更强的tensor类型指令的背景下,存在覆盖性与验证效率之间的矛盾:要尽可能多地验证存储器的访问序列和访问地址范围(高覆盖性),就要消耗较长的时间(低效)。
发明内容
本申请提供了一种对NPU中的LSU进行验证的方法及相关设备,目的在于解决在验证NPU中的LSU的情况下,无法兼顾覆盖率与验证效率的问题。
为了实现上述目的,本申请提供了以下技术方案:
本申请的第一方面提供一种对神经网络处理器NPU中的装载存储单元LSU进行验证的方法,包括:
从待测的LSU的ISA指令中选择一个写指令;
为存储器配置第一地址,并选择第一数据作为写入所述存储器的数据,所述第一地址和所述第一数据的长度均为1字节byte;
在第一验证流程中,向所述待测的LSU发送写激励信号,所述写激励信号用于指示所述待测的LSU进行写操作,所述写操作包括向所述存储器中的所述第一地址写入所述第一数据;
在所述第一验证流程中,对所述写操作进行形式化验证。
在一些实现方式中,所述在所述第一验证流程中,对所述写操作进行形式化验证之后,还包括:
在第二验证流程中,向待测的LSU发送读激励信号,所述读激励信号用于指示所述待测的LSU进行读操作,所述读操作包括从所述存储器中的所述第一地址读取数据;
在所述第二验证流程中,对所述读操作进行形式化验证。
在一些实现方式中,还包括:
在所述待测的LSU的可操作地址还存在未验证的地址的情况下,在第三验证流程中,为所述存储器配置第二地址,所述第一地址与所述第二地址不同;
基于所述第二地址,对新的指令进行验证,所述新的指令包括新的写指令和新的读指令,所述新的写指令与已验证的写指令不同,所述新的读指令与已验证读指令不同,所述已验证写指令为已进行形式化验证的写指令,所述已验证读指令为已进行形式化验证的读指令。
本申请的第二方面提供一种对神经网络处理器NPU中的装载存储单元LSU进行验证的方法,包括:
基于待测的LSU的ISA指令,生成模型文件;
基于形式化验证工具以及所述模型文件,实现本申请的第一方面提供的对神经网络处理器NPU中的装载存储单元LSU进行验证的方法。
在一些实现方式中,所述基于待测的LSU的ISA指令,生成模型文件,包括:
使用Python脚本语言解析所述待测的LSU的ISA描述文件,生成所述模型文件。
本申请的第三方面提供一种对NPU中的LSU进行验证的装置,包括:
激励单元,用于从待测的LSU的ISA指令中选择一个写指令,为存储器配置第一地址,并选择第一数据作为写入所述存储器的数据,所述第一地址和所述第一数据的长度均为1字节byte,并在第一验证流程中,向所述待测的LSU发送写激励信号,所述写激励信号用于指示所述待测的LSU进行写操作,所述写操作包括向所述存储器中的所述第一地址写入所述第一数据;
检查单元,用于在所述第一验证流程中,对所述写操作进行形式化验证。
在一些实现方式中,所述激励单元还用于:在第二验证流程中,向待测的LSU发送读激励信号,所述读激励信号用于指示所述待测的LSU进行读操作,所述读操作包括从所述存储器中的所述第一地址读取数据;
所述检查单元还用于:在所述第二验证流程中,对所述读操作进行形式化验证。
在一些实现方式中,还包括:寄存器堆;
所述寄存器堆用于存储从所述存储器中的所述第一地址读取的数据;
所述检查单元还用于:在所述第二验证流程中,对所述读操作进行形式化验证,包括:
所述检查单元具体用于:在所述第二验证流程中,基于所述寄存器堆中的所述数据,对所述读操作进行形式化验证。
本申请的第四方面提供一种电子设备,包括:
存储器和处理器;
所述存储器用于存储应用程序,所述处理器用于运行所述应用程序,以实现本申请的第一方面或第二方面提供的对神经网络处理器NPU中的LSU进行验证的方法。
本申请的第五方面提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够实现本申请的第一方面或第二方面提供的对神经网络处理器NPU中的LSU进行验证的方法。
本申请的第六方面提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现本申请的第一方面或第二方面提供的对神经网络处理器NPU中的LSU进行验证的方法。
本申请的实施例所述的对NPU中的LSU进行验证的方法及相关设备,以1 byte数据统一了不同指令的验证机制,降低了验证所需的资源,又因为能够配置用于检查的存储器地址,以及使用形式化验证方式,所以在保证计算资源的使用量不过大的情况下,保证验证的完备性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为LSU的指令集的示例图;
图2为本申请实施例公开的对NPU中的LSU进行验证的装置的结构示例图;
图3为本申请实施例公开的对NPU中的LSU进行写验证的方法的流程图;
图4为本申请实施例公开的对NPU中的LSU进行先写后读验证的方法的流程图;
图5为本申请实施例公开的对存储器进行地址配置的示例图;
图6为Scatter和Gather寻址方式下写数据和读数据的示例图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请实施例中,“一个或多个”是指一个、两个或两个以上;“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例涉及的多个,是指大于或等于两个。需要说明的是,在本申请实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
发明人在研究的过程中发现,虽然使用形式化验证方法能够改善UVM方法存在的问题,但针对LSU的指令集的特点,将形式化验证方法简单移植至LSU的验证场景中,需要消耗巨大的计算资源:
LSU的指令集的示例如图1所示,从图1中可以看出,LSU不仅支持scalar类型的读写指令(如图1中scalar开头的指令),还支持tensor类型的读写指令(如图1中vector开头的指令),因此指令集中包括的指令的数量巨大,并且,LSU还支持乱序访问,这都会导致NPU中的LSU与传统CPU中的读写操作单元相比,所需要验证的空间(访问序列和访问地址范围)巨大。图1中,0-31指示的列中的具体内容表示指令位图(Bitmap),具体内容这里不再赘述。
因此,要实现验证的完备性,就需要消耗巨大的计算资源。
为了解决上述问题,即基于较少的计算资源实现对NPU中的LSU进行形式化验证,并且能够保证较高的验证完备性,本申请实施例公开一种LSU的验证装置、以及基于该装置的验证方法。
图2为本申请实施例公开的对NPU中的LSU进行验证的装置的结构示例图,包括:激励单元、存储器(memory)、寄存器堆(register File)、以及检查单元。
激励单元用于生成激励信号。激励信号用于激励LSU进行写或度操作。
存储器为待验证的LSU进行读写操作的空间。存储器的地址由激励单元配置。即激励单元基于LSU实际要访问的空间,设置存储器的地址,以实现遍历LSU实际要访问的空间的目的。在一些实现方式中,在一个验证流程中,激励单位为存储器配置一个地址。在不同的验证流程中,为存储器配置不同的地址。本实施例中,存储器的宽度以8比特(bit)为例。
寄存器堆用于存储待验证的LSU从存储器中读出的数据。
检查单元中被预先配置写指令验证功能和写后读指令验证功能。
写指令验证功能用于实现:在验证流程中,验证LSU基于写指令向存储器中写数据的功能。写后读指令验证功能用于实现:在第一验证流程中,LSU基于写指令向存储器中写数据,在第二验证流程中,验证LSU基于读指令从存储器中读取数据的功能。写指令验证功能和写后读指令验证功能实现的具体验证流程,将在以下实施例中进行详细说明。
在一些实现方式中,图2所示的装置的获取流程包括:
基于LSU的指令集架构(Instruction set architecture,ISA)生成模型文件。在一些实现方式中,使用Python脚本语言解析LSU的ISA描述文件,自动生成模型文件。基于形式化验证工具加载并运行模型文件,构建图2所示的装置。
模型文件定义了激励单元的输入与输出的信息项,以表1为例:
表1
表1中,输入(Input)端口名称表示作为激励单元的处理对象的输入数据的名称,Input端口类型表示作为激励单元的处理对象的输入数据的类型。输出(Output)端口名称表示激励单元基于处理对象输出的处理结果的名称,Output端口名称表示激励单元基于处理对象输出的处理结果的类型。
激励单元基于表1将输入的数据处理为处理结果的流程,将在图3所示的流程中进行说明。
通过脚本自动化方式获取模型文件,不仅能够提高构建装置的效率,还能够在ISA指令集有变化的情况下,灵活调整验证装置,还能够缩短形式化验证环境的开发时间,加快验证进度。
如图2所示,激励单元与NPU中的LSU相连,以实现对NPU中的LSU的验证。
于图2所示的结构,本申请实施例公开的对NPU中的LSU进行验证的方法的流程如图3和图4所示,图3为验证LSU的写操作的流程,图4为验证LSU的先写后读操作的流程。可以理解的是,在以下流程中,激励单元基于表1,选择指令、配置地址、并发送激励信号。
以一个验证流程为例,图3中包括以下步骤:
S11、激励单元从LSU的ISA指令中选择一个写指令。
在一些实现方式中,从LSU的ISA指令的写类型的指令中随机选择一个指令。
S12、激励单元为存储器配置1字节(byte)地址,并选择1byte数据作为写入存储器的数据。
在一个验证流程中,为存储器配置一个大小为1byte的地址,在另外一个验证流程中,为存储器配置另一个大小为1byte的地址。
在一些实现方式中,按照待验证的地址的先后顺序,为存储器配置还未配置过的地址。以图5为例,在第一个验证流程中,激励单元向LSU发送的激励信号为isa0,为存储器配置的地址Byte_symbol为0x01,在第N个验证流程中,激励单元向LSU发送的激励信号为isaN,为存储器配置的地址Byte_symbol为0x0N。在另一些实现方式中,从还未配置过的地址中,随机选择一个地址配置给存储器。
可以理解的是,配置的地址均为LSU实际中可访问的存储器的地址,目的在于验证LSU对存储器的写操作的正确性。
1byte数据作为LSU写入存储器的对象,也是写操作正确性的检查对象。
选择1byte的地址和数据作为检查对象的原因在于:
ISA指令中包含的指令的寻址方式可以为scatter或gather,在此情况下,不同的指令可操作的字节的大小不同。例如scalar寻址方式的指令的操作对象为可以一个byte、half word、或者word,而tensor类型的指令的寻址方式下的操作对象可以为byte、halfword、word、或者double word。
为了能够检测所有指令的功能,所以选择一个byte作为正确性检查的地址。
以图6为例,假设选中的指令的寻址方式为Scatter,选择的1byte地址为存储器中地址为2的地址,图6所示的Scatter的步长为1byte,则指令执行时,将从寄存器读取的数据,分别存储至存储器中地址为0、2、4、以及6的空间。
S13、激励单元向LSU发送指示写指令以及1byte数据的激励信号。
写指令用于指示LSU进行写操作。
在一些实现方式中,激励信号包括Lsu_dispatch_valid、Lsu_dispatch_bus、Symbol_valid以及1byte数据。Lsu_dispatch_valid指示激励单元产生的写指令有效。Lsu_dispatch_bus指示指令操作数(操作地址、数据等),Symbol_valid指示当前选中的写指令为待检查的指令。
可以理解的是,在此情况下,激励单元将Symbol_valid向检查单元传输。
可以理解的是,LSU接收到激励信号后,响应于激励信号,通过与存储器之间的存储接口向存储器中Byte_symbol指示的地址写入1byte数据。
S14、检查单元基于Byte_symbol指示的地址中写入的数据以及激励信号指示的1byte数据,对LSU的写操作进行形式化验证。
形式化验证可以理解为使用预先配置的一些规则、算法或性质等,基于激励信号指示的1byte数据,验证LSU写入的数据是否准确。
形式化验证不是随机仿真的方式,而是数学推导证明的方式,这是与如UVM等穷举方式的根本区别。
图4为验证LSU的先写后读操作的流程,与写操作不同,验证先写后读操作需要两个验证流程,以下简称为第一验证流程和第二验证流程,图4中包括以下步骤:
S21、激励单元从LSU的ISA指令中选择一个写指令和一个读指令。
在一些实现方式中,从LSU的ISA指令中随机选择写指令和读指令。为了便于描述,将选择的写指令称为symbol_A,将选择的读指令称为symbol_B。
S22、激励单元为存储器配置地址,并选择1byte数据作为写入存储器的数据。
地址的配置方式可以参见S12和图5所示,这里不再赘述。
S23、激励单元在第一验证流程中,向LSU发送写激励信号symbol_A’。
写激励信号symbol_A’的具体构成可以参见S13所示,这里不再赘述。
可以理解的是,LSU在第一验证流程中接收到写激励信号后,响应于写激励信号,通过与存储器之间的存储接口向存储器中Byte_symbol指示的地址写入1byte数据。
S24、检查单元在第一验证流程中,基于Byte_symbol指示的地址中写入的数据以及写激励信号指示的1byte数据,对LSU的写操作进行形式化验证。
还以图6为例,检查单元在第一验证流程中,结合存储器中地址为2的空间中的数据,对写功能进行形式化验证。
S25、激励单元在第二验证流程中,向LSU发送读激励信号symbol_B’。
读激励信号symbol_B’基于模型文件、读指令以及被配置的地址生成。在一种示例中,读激励信号包括:Lsu_dispatch_valid、Lsu_dispatch_bus、以及Symbol_valid。Lsu_dispatch_valid指示激励单元产生的读指令有效。Lsu_dispatch_bus指示指令操作数(读操作地址)。Symbol_valid指示当前选中的读指令为待检查的指令。
可以理解的是,在此情况下,激励单元将Symbol_valid向检查单元传输。LSU在第二验证流程中接收到读激励信号后,响应于读激励信号,从存储器中Byte_symbol指示的地址读取数据,并通过与寄存器堆之间的通信接口,将读取的数据存储至寄存器堆中。
还以图6为例,假设写指令的寻址方式为Scatter,则LSU从寄存器堆中读取数据,并将读取的数据存储至存储器中地址为0、2、4、以及6的空间。假设读指令的寻址方式为Gather,则LSU从存储器的地址0、2、4、以及6中读取数据,存储至寄存器堆中。
S26、检查单元在第二验证流程中,基于寄存器堆中由LSU存入的数据,以及写激励信号指示的1byte数据,对LSU的读操作进行形式化验证。
还以图6为例,在第二验证流程中,对寄存器堆中对应的地址1中存储的数据进行形式化验证。
可以理解的是,因为有针对写操作进行验证的流程,所以本步骤中,可以仅在第二验证流程中,对寄存器堆中对应的地址1中存储的数据进行形式化验证。
可以理解的是,存储器的地址与寄存器堆的地址的对应关系可以预先配置在检查单元中。
结合图3以及图4所示的验证方法可知,本实施例所述的验证方法,对矢量指令(如图1中scalar开头的指令)和标量指令(如图1中vector开头的指令)按照byte的访问粒度进行拆分,分析标量指令和矢量指令的共同作用点,即访问相同memory的byte地址,统一了不同指令的结果检查机制,即所有的LSU指令检查都能够使用统一的验证流程,所以不仅验证流程简洁,而且有效利用形式化验证的优势,减少形式化验证工具消耗的计算资源,大大增加验证质量和验证效率。也就是说,在保证计算资源的使用量不过大的情况下,保证验证的完备性。
可以理解的是,激励单元可以按照验证配置信息,选择执行图3或图4所示的流程,以保证验证的完备性。
本申请实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
Claims (9)
1.一种对NPU中的LSU进行验证的方法,其特征在于,包括:
从待测的LSU的ISA指令中选择一个写指令;
为存储器配置第一地址,并选择第一数据作为写入所述存储器的数据,所述第一地址和所述第一数据的长度均为1字节byte;
在第一验证流程中,向所述待测的LSU发送写激励信号,所述写激励信号用于指示所述待测的LSU进行写操作,所述写操作包括向所述存储器中的所述第一地址写入所述第一数据;
在所述第一验证流程中,对所述写操作进行形式化验证;
还包括:
在所述待测的LSU的可操作地址还存在未验证的地址的情况下,在第三验证流程中,为所述存储器配置第二地址,所述第一地址与所述第二地址不同;
基于所述第二地址,对新的指令进行验证,所述新的指令包括新的写指令和新的读指令,所述新的写指令与已验证写指令不同,所述新的读指令与已验证读指令不同,所述已验证写指令为已进行形式化验证的写指令,所述已验证读指令为已进行形式化验证的读指令。
2.根据权利要求1所述的方法,其特征在于,所述在所述第一验证流程中,对所述写操作进行形式化验证之后,还包括:
在第二验证流程中,向待测的LSU发送读激励信号,所述读激励信号用于指示所述待测的LSU进行读操作,所述读操作包括从所述存储器中的所述第一地址读取数据;
在所述第二验证流程中,对所述读操作进行形式化验证。
3.一种对NPU中的LSU进行验证的方法,其特征在于,包括:
基于待测的LSU的ISA指令,生成模型文件;
基于形式化验证工具以及所述模型文件,实现权利要求1-2任一项所述的对NPU中的LSU进行验证的方法。
4.根据权利要求3所述的方法,其特征在于,所述基于待测的LSU的ISA指令,生成模型文件,包括:
使用Python脚本语言解析所述待测的LSU的ISA描述文件,生成所述模型文件。
5.一种对NPU中的LSU进行验证的装置,其特征在于,包括:
激励单元,用于从待测的LSU的ISA指令中选择一个写指令,为存储器配置第一地址,并选择第一数据作为写入所述存储器的数据,所述第一地址和所述第一数据的长度均为1字节byte,并在第一验证流程中,向所述待测的LSU发送写激励信号,所述写激励信号用于指示所述待测的LSU进行写操作,所述写操作包括向所述存储器中的所述第一地址写入所述第一数据;
检查单元,用于在所述第一验证流程中,对所述写操作进行形式化验证;
还用于,在所述待测的LSU的可操作地址还存在未验证的地址的情况下,在第三验证流程中,为所述存储器配置第二地址,所述第一地址与所述第二地址不同;基于所述第二地址,对新的指令进行验证,所述新的指令包括新的写指令和新的读指令,所述新的写指令与已验证写指令不同,所述新的读指令与已验证读指令不同,所述已验证写指令为已进行形式化验证的写指令,所述已验证读指令为已进行形式化验证的读指令。
6.根据权利要求5所述的装置,其特征在于,
所述激励单元还用于:在第二验证流程中,向待测的LSU发送读激励信号,所述读激励信号用于指示所述待测的LSU进行读操作,所述读操作包括从所述存储器中的所述第一地址读取数据;
所述检查单元还用于:在所述第二验证流程中,对所述读操作进行形式化验证。
7.根据权利要求6所述的装置,其特征在于,还包括:
寄存器堆;
所述寄存器堆用于存储从所述存储器中的所述第一地址读取的数据;
所述检查单元还用于:在所述第二验证流程中,对所述读操作进行形式化验证,包括:
所述检查单元具体用于:在所述第二验证流程中,基于所述寄存器堆中的所述数据,对所述读操作进行形式化验证。
8.一种电子设备,其特征在于,包括:
存储器和处理器;
所述存储器用于存储应用程序,所述处理器用于运行所述应用程序,以实现权利要求1-4任一项所述的对NPU中的LSU进行验证的方法。
9.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行权利要求1-4任一项所述的对NPU中的LSU进行验证的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310879791.9A CN116597886B (zh) | 2023-07-18 | 2023-07-18 | 对npu中的lsu进行验证的方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310879791.9A CN116597886B (zh) | 2023-07-18 | 2023-07-18 | 对npu中的lsu进行验证的方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116597886A CN116597886A (zh) | 2023-08-15 |
CN116597886B true CN116597886B (zh) | 2023-10-24 |
Family
ID=87612082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310879791.9A Active CN116597886B (zh) | 2023-07-18 | 2023-07-18 | 对npu中的lsu进行验证的方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116597886B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0934740A (ja) * | 1995-07-14 | 1997-02-07 | Hitachi Ltd | 外部記憶装置およびそのメモリアクセス制御方法 |
CN101017442A (zh) * | 2007-02-14 | 2007-08-15 | 威盛电子股份有限公司 | 基本输入输出系统文件切换方法及可支持其切换的控制器 |
CN104461798A (zh) * | 2014-11-12 | 2015-03-25 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种用于处理器算术逻辑单元指令的随机数验证方法 |
CN110750406A (zh) * | 2019-10-29 | 2020-02-04 | 湖南国科微电子股份有限公司 | 一种检测方法、装置和soc芯片 |
CN110825435A (zh) * | 2018-08-10 | 2020-02-21 | 北京百度网讯科技有限公司 | 用于处理数据的方法和装置 |
CN112948200A (zh) * | 2021-02-01 | 2021-06-11 | 湖南品腾电子科技有限公司 | 基于mcu存储器可重用性验证系统及方法 |
CN115658404A (zh) * | 2022-10-26 | 2023-01-31 | 超聚变数字技术有限公司 | 一种测试方法及系统 |
CN115878437A (zh) * | 2021-09-28 | 2023-03-31 | 华为技术有限公司 | 应用的性能测试方法、建立性能测试模型的方法及装置 |
-
2023
- 2023-07-18 CN CN202310879791.9A patent/CN116597886B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0934740A (ja) * | 1995-07-14 | 1997-02-07 | Hitachi Ltd | 外部記憶装置およびそのメモリアクセス制御方法 |
CN101017442A (zh) * | 2007-02-14 | 2007-08-15 | 威盛电子股份有限公司 | 基本输入输出系统文件切换方法及可支持其切换的控制器 |
CN104461798A (zh) * | 2014-11-12 | 2015-03-25 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种用于处理器算术逻辑单元指令的随机数验证方法 |
CN110825435A (zh) * | 2018-08-10 | 2020-02-21 | 北京百度网讯科技有限公司 | 用于处理数据的方法和装置 |
CN110750406A (zh) * | 2019-10-29 | 2020-02-04 | 湖南国科微电子股份有限公司 | 一种检测方法、装置和soc芯片 |
CN112948200A (zh) * | 2021-02-01 | 2021-06-11 | 湖南品腾电子科技有限公司 | 基于mcu存储器可重用性验证系统及方法 |
CN115878437A (zh) * | 2021-09-28 | 2023-03-31 | 华为技术有限公司 | 应用的性能测试方法、建立性能测试模型的方法及装置 |
CN115658404A (zh) * | 2022-10-26 | 2023-01-31 | 超聚变数字技术有限公司 | 一种测试方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116597886A (zh) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108133732B (zh) | 闪存芯片的性能测试方法、装置、设备及存储介质 | |
US9892258B2 (en) | Automatic synthesis of unit tests for security testing | |
CN109815147B (zh) | 测试案例生成方法、装置、服务器和介质 | |
US7979761B2 (en) | Memory test device and memory test method | |
US11650754B2 (en) | Data accessing method, device, and storage medium | |
US9558097B2 (en) | Automated recording and playback of application interactions | |
CN113886162A (zh) | 一种计算设备性能测试方法、计算设备及存储介质 | |
CN113961919A (zh) | 恶意软件检测方法和装置 | |
CN107798064A (zh) | 页面处理方法、电子设备及计算机可读存储介质 | |
CN114624575A (zh) | 芯片测试方法、装置、设备及存储介质 | |
JP2017174418A (ja) | モデルチェックのためのデータ構造抽象化 | |
Su et al. | An efficient GPU implementation of inclusion-based pointer analysis | |
CN116597886B (zh) | 对npu中的lsu进行验证的方法及相关设备 | |
CN112083880B (zh) | 一种手机系统文件在线修改方法、装置及存储介质 | |
CN117493309A (zh) | 一种标准模型生成方法、装置、设备及存储介质 | |
US10324822B1 (en) | Data analytics in a software development cycle | |
CN117149550A (zh) | 一种固态硬盘性能检测方法、装置以及电子设备 | |
CN113238940B (zh) | 一种接口测试结果的比对方法、装置、设备和存储介质 | |
CN115665547A (zh) | CameraLink相机的配置方法、装置及存储介质 | |
CN112463633B (zh) | 一种片上存储器的地址译码校验方法、装置、设备及介质 | |
CN115114230A (zh) | 一种文件测试方法、系统、电子设备及可读存储介质 | |
CN114443375A (zh) | 测试方法及装置、电子装置及计算机可读存储介质 | |
CN112231232A (zh) | 确定测试数据模型及生成测试数据的方法、装置及设备 | |
CN116629175B (zh) | 对npu中的译码单元进行验证的方法及相关装置、设备 | |
CN115826875B (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 |