CN116187247A - 一种芯片验证系统、方法、装置及存储介质 - Google Patents
一种芯片验证系统、方法、装置及存储介质 Download PDFInfo
- Publication number
- CN116187247A CN116187247A CN202310078228.1A CN202310078228A CN116187247A CN 116187247 A CN116187247 A CN 116187247A CN 202310078228 A CN202310078228 A CN 202310078228A CN 116187247 A CN116187247 A CN 116187247A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- address
- module
- instruction
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/367—Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
-
- 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/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- 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
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种芯片验证系统、方法、装置及存储介质,该系统包括:资源管理模块,用于获取数据变换引擎中的空闲数据处理资源;指令分配模块,用于为待执行指令分配目标数据处理资源;激励生成模块,用于为目标指令通道分配目标操作数;地址管理模块,用于获取源数据地址和目标数据地址;数据加载模块,用于将待变换源数据加载到外部存储器中;配置执行模块,用于将上述配置参数部署给数据变换引擎。本发明实施例的技术方案,通过构建功能完整的芯片验证系统,实现了验证资源的集中管理,避免了验证系统的重复开发,提高了验证系统的维护效率,同时,实现了各个验证资源的层次化调度,提高了芯片中数据变换引擎的验证效率。
Description
技术领域
本发明涉及芯片技术领域,尤其涉及一种芯片验证系统、方法、装置及存储介质。
背景技术
随着芯片设计复杂度和性能的提升,芯片电路中会集成大量的硬件资源,资源间的并行度、数据计算速率和总线吞吐量不断提升的同时,也对芯片验证提出了更大挑战。
为了验证芯片中各种硬件资源的功能,需要构造出和硬件对应的验证系统,形成一致的验证结构;在传统的芯片验证环境中,芯片中的验证资源是分散的、独立的,验证资源无法集中管理,往往造成验证系统的重复开发和低效维护。
另外,现有的验证系统无法实现各个验证资源的层次化调度,容易造成验证环境的结构层次冗余,降低了芯片验证效率。
发明内容
本发明提供了一种芯片验证系统、方法、装置及存储介质,以解决数据变换引擎的验证资源管理效率较低的问题。
根据本发明的一方面,提供了一种芯片验证系统,包括:资源管理模块、指令分配模块、激励生成模块、地址管理模块、数据加载模块和配置执行模块;
所述资源管理模块,用于获取数据变换引擎中空闲状态的数据处理资源;
所述指令分配模块,用于根据空闲状态的数据处理资源,为待执行指令分配目标数据处理资源;其中,所述目标数据处理资源包括目标指令通道;
所述激励生成模块,用于为所述目标指令通道分配匹配的目标操作数;
所述地址管理模块,用于获取所述目标操作数的源数据地址和目标数据地址;
所述数据加载模块,用于根据所述目标操作数获取待变换源数据,并根据所述源数据地址,将所述待变换源数据加载到外部存储器中;
所述配置执行模块,用于将所述目标数据处理资源、所述源数据地址和所述目标数据地址,配置给所述数据变换引擎,以使所述数据变换引擎,基于所述目标数据处理资源、所述源数据地址和所述目标数据地址执行数据变换操作。
所述数据处理资源包括寄存器、流水线程、数据读取通道以及数据写入通道中的至少一个。
所述指令分配模块,具体用于根据资源互斥关系执行资源解耦处理,以为待执行指令分配目标数据处理资源。
所述激励生成模块,具体用于根据数据依赖关系执行数据解耦处理,以为所述目标指令通道分配匹配的目标操作数。
所述地址管理模块,具体用于非线性地址段生成、地址边界对齐处理以及地址空间预留处理中的至少一项。
所述芯片验证系统还包括资源回收模块;所述资源回收模块,用于响应于检测到所述待执行指令执行完毕,回收并释放所述目标数据处理资源。
所示芯片验证系统,具体用于遍历不同测试场景下的测试集,并在当前测试场景下的测试集测试完成时,执行测试场景的迭代操作,直至各个测试场景下的测试集均测试完成为止。
根据本发明的另一方面,提供了一种芯片验证方法,包括:
资源管理模块获取数据变换引擎中空闲状态的数据处理资源;
指令分配模块根据空闲状态的数据处理资源,为待执行指令分配目标数据处理资源;其中,所述目标数据处理资源包括目标指令通道;
激励生成模块为所述目标指令通道分配匹配的目标操作数;
地址管理模块获取所述目标操作数的源数据地址和目标数据地址;
数据加载模块根据所述目标操作数获取待变换源数据,并根据所述源数据地址,将所述待变换源数据加载到外部存储器中;
配置执行模块将所述目标数据处理资源、所述源数据地址和所述目标数据地址,配置给所述数据变换引擎,以使所述数据变换引擎,基于所述目标数据处理资源、所述源数据地址和所述目标数据地址执行数据变换操作。
根据本发明的另一方面,提供了一种芯片验证装置,包括:
空闲资源获取模块,配置于资源管理模块,用于获取数据变换引擎中空闲状态的数据处理资源;
目标资源获取模块,配置于指令分配模块,用于根据空闲状态的数据处理资源,为待执行指令分配目标数据处理资源;其中,所述目标数据处理资源包括目标指令通道;
操作数获取模块,配置于激励生成模块,用于为所述目标指令通道分配匹配的目标操作数;
地址信息获取模块,配置于地址管理模块,用于获取所述目标操作数的源数据地址和目标数据地址;
数据加载执行模块,配置于数据加载模块,用于根据所述目标操作数获取待变换源数据,并根据所述源数据地址,将所述待变换源数据加载到外部存储器中;
参数部署模块,配置于配置执行模块,用于将所述目标数据处理资源、所述源数据地址和所述目标数据地址,配置给所述数据变换引擎,以使所述数据变换引擎,基于所述目标数据处理资源、所述源数据地址和所述目标数据地址执行数据变换操作。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的芯片验证方法。
本发明实施例的技术方案,芯片验证系统首先通过资源管理模块获取数据变换引擎中空闲状态的数据处理资源,之后通过指令分配模块为待执行指令分配目标数据处理资源,再通过激励生成模块为目标指令通道分配匹配的目标操作数,进而通过地址管理模块获取目标操作数的源数据地址和目标数据地址,以及通过数据加载模块将待变换源数据加载到外部存储器中,最后通过配置执行模块,将目标数据处理资源、源数据地址和目标数据地址,配置给数据变换引擎,以引导数据变换引擎执行数据变换操作,通过构建功能完整的芯片验证系统,实现了验证资源的集中管理,避免了验证系统的重复开发,提高了验证系统的维护效率,同时,实现了各个验证资源的层次化调度,避免出现验证环境的结构层次冗余,提高了芯片中数据变换引擎的验证效率。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是根据本发明实施例一提供的一种芯片验证系统的结构示意图;
图1B是根据本发明实施例一提供的一种数据变换引擎的结构示意图;
图1C是根据本发明实施例一提供的一种芯片验证系统的结构示意图;
图2是根据本发明实施例二提供的一种芯片验证方法的流程图;
图3是根据本发明实施例三提供的一种芯片验证装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1A为本发明实施例一提供的一种芯片验证系统的结构示意图,该系统配置于芯片中,包括资源管理模块100、指令分配模块200、激励生成模块300、地址管理模块400、数据加载模块500和配置执行模块600。
所述资源管理模块100,用于获取数据变换引擎中空闲状态的数据处理资源。数据变换引擎,是芯片中的数据转换电路,其作用在于将一种格式的数据,转换为另一种数据格式;由于不同数据格式的转换方式不同,因此其执行数据变换时所需的功能组件也不相同,即具备不同的数据处理资源;在本发明实施例中,可选的,对数据变换引擎的功能组件类型以及转换前后的数据格式均不作具体限定。
资源管理模块100通过对数据变换引擎中各个数据处理资源的状态监测,获取其中处于空闲状态的数据处理资源;例如,数据变换引擎中包括总共10个指令通道,当前有5个处于空闲状态,即获取上述5个处于空闲状态的指令通道;其中,指令通道,是数据变换引擎中发出指令的通道,其可以为虚拟指令通道;每个指令通道可以解析任意的有效指令,在确认当前指令执行结束后可以继续加载新的指令;特别的,指令进入指令通道的前提是上游生产者准备好数据,下游消费者准备好存储空间,因此,资源管理模块100,还用于判断与当前待执行指令具备关联关系的前置指令是否已执行完毕,若前置指令已执行完毕,那么当前待执行指令才具备执行基础,若前置指令未执行完毕,那么当前待执行指令并不具备执行基础,需要等待前置指令执行完毕,完成上下游数据同步之后,才能继续执行该指令。
可选的,在本发明实施例中,所述数据处理资源包括寄存器、流水线程、数据读取通道以及数据写入通道中的至少一个。如图1B所示,数据变换引擎可以包括配置单元、变换执行单元和传输单元;其中,配置单元包括寄存器组和指令通道组,寄存器组由多个寄存器组成,指令通道组则由多个指令通道组成;变换执行单元包括流水线程组,流水线程组由多个流水线程组成;传输单元包括数据读取通道组和数据写入通道组,数据读取通道组包括多个数据读取通道,数据写入通道组则包括多个数据写入通道。
具体的,指令通道将一条待执行指令发送给一个流水线程后,该流水线程以流水线模式处理上述待执行指令,其通过数据读取通道从外部存储器(即位于芯片验证系统和数据变换引擎之外的存储器)中读取待变换源数据,并执行数据变换后获取变换后的目标数据,进而将目标数据通过数据写入通道写入外部存储器中,从而完成数据变换操作;本发明实施例中的芯片验证系统作用于上述数据变换引擎时,不但可以同时配置多个指令通道,缓存多笔待执行指令,还可以配置每笔指令在特定的流水线程中执行或者自动分配空闲流水线程执行,还可以指定数据传输的读取接口和写入接口,或者根据地址段自动分配数据传输端口。
特别的,数据处理资源还包括位于寄存器中的上下游数据链同步邮箱,其具体是由消费者邮箱和生产者邮箱组成;具体的,资源管理模块100,根据当前测试需求,确定对应的生产者-消费者模式;其中,生产者-消费者模式可以包括一对一(即一个生产者对应一个消费者)、一对多(即一个生产者对应多个消费者)和多对一(即多个生产者对应一个消费者)等多种模式;资源管理模块100为每个生产者和消费者分配一一匹配的邮箱,例如,在一个生产者对应两个消费者的模式中,资源管理模块100分配一个生产者邮箱和两个消费者邮箱;资源管理模块100通过向邮箱中发送同步信息,来实现上下游(即上游生产者和下游消费者)的数据同步功能。
所述指令分配模块200,用于根据空闲状态的数据处理资源,为待执行指令分配目标数据处理资源;其中,所述目标数据处理资源包括目标指令通道。根据本次测试需求,获取一个或多个待执行指令,并在空闲状态的数据处理资源中,选择指定的一个或多个目标数据处理资源,或者随机选择目标数据处理资源;例如,本次测试中获取到4个待执行指令,从上述5个处于空闲状态的指令通道中,选择4个目标指令通道,以使待执行指令与目标指令通道一一匹配;特别的,由于部分指令通道只能用于执行特定类型的指令,因此指令分配模块200还用于根据指令通道的指令类型需求,为指令通道分配指定类型的指令,以使每个指令通道中的指令均符合其自身的指令类型需求,确保指令可被执行。
可选的,在本发明实施例中,所述指令分配模块200,具体用于根据资源互斥关系执行资源解耦处理,以为待执行指令分配目标数据处理资源。不同的数据处理资源之间往往存在互斥关系,例如,两个指令通道调用的资源冲突,因而不能同时被调用,由此需要对各个数据处理资源进行解耦处理,避免互斥资源的调用导致资源冲突现象发生,确保获取到的目标数据处理资源对待执行指令的及时响应、处理。
所述激励生成模块300,用于为所述目标指令通道分配匹配的目标操作数;目标操作数可以基于本次测试需求临时生成,也可以预先规划完成多个操作数,并根据本次测试需求,选择指定的一个或多个目标操作数,或者随机选择目标操作数;例如,预先规划完成较多数量的操作数,本次测试已获取到4个目标指令通道,为每个目标指令通道分配一个匹配的目标操作数,即获取到4个目标操作数;特别的,激励生成模块300可以根据目标指令通道中的指令格式要求,生成特定类型指令对应的操作数,以使操作数赋值后的指令符合指令通道的指令执行要求。
可选的,在本发明实施例中,所述激励生成模块300,具体用于根据数据依赖关系执行数据解耦处理,以为所述目标指令通道分配匹配的目标操作数。不同的数据(即操作数)之间常常存在依赖关系,例如,目标操作数对应的寄存器,用于存放其它寄存器之间的数学运算结果,该寄存器中的存储数据,依赖于其它寄存器之间的前置数学运算,由此需要根据数据之间的依赖关系,对各个操作数进行解耦,确保所选择的目标操作数之间不存在数据依赖关系,避免对依赖数据的调用导致数据冲突现象发生,确保获取到准确的目标操作数。
所述地址管理模块400,用于获取所述目标操作数的源数据地址和目标数据地址;地址管理模块400将数据变换引擎的所有数据读写端口,映射为统一的地址空间,并根据每个指令通道内的目标操作数,计算所需的源数据地址和目标数据地址;其中,源数据地址,即数据变换引擎执行数据变换之前的源数据的存储位置;目标数据地址,即数据变换引擎执行数据变换之后的目标数据的存储位置。
可选的,在本发明实施例中,所述地址管理模块400,具体用于非线性地址段生成、地址边界对齐处理以及地址空间预留处理中的至少一项。非线性地址,是将芯片的物理内存与其地址空间进行非线性映射,其作用在于扩展芯片内核中的可用地址空间;依据操作数的不同,每种待变换的原始数据格式和存储方式也不同,地址边界对齐可以提升不同数据格式下的数据存储效率;地址空间预留,即预留一定的地址空间作为验证测试使用,预留地址空间既可以确保验证测试的顺利执行,又避免了验证测试影响其它地址空间中的原有数据。
所述数据加载模块500,用于根据所述目标操作数获取待变换源数据,并根据所述源数据地址,将所述待变换源数据加载到外部存储器中。如上述技术方案所述,依据操作数的不同,每种待变换的原始数据格式和存储方式也不同,因此,数据加载模块500根据指令通道内的操作数类型生成相应格式的待变换源数据,并抓取地址管理模块400中产生的源数据地址,进而将上述待变换源数据,通过回调接口(即第一回调接口)自动加载到外部存储器中。
所述配置执行模块600,用于将所述目标数据处理资源、所述源数据地址和所述目标数据地址,配置给所述数据变换引擎,以使所述数据变换引擎,基于所述目标数据处理资源、所述源数据地址和所述目标数据地址执行数据变换操作。以上述技术方案为例,目标数据处理资源除了包括目标指令通道之外,还可以包括指定的流水线程(即目标流水线程),以及指定的数据传输通道(即目标数据读取通道和目标数据写入通道),在将上述目标数据处理资源通过回调接口(即第二回调接口),配置给数据变换引擎后,数据变换引擎基于上述目标指令通道、目标流水线程、目标数据读取通道和目标数据写入通道处理当前指令,以完成上述特定功能组件的验证测试。
同时,配置执行模块600还将源数据地址和所述目标数据地址,同样通过第二回调接口配置给数据变换引擎,数据变换引擎通过目标数据读取通道,从外部存储器的源数据地址中读取待变换源数据,并在执行数据变换后将变换后的目标数据,通过目标数据写入通道写入外部存储器中,从而为完成数据变换操作。
如图1C所示,可选的,在本发明实施例中,所述芯片验证系统还包括资源回收模块700;所述资源回收模块700,用于响应于检测到所述待执行指令执行完毕,回收并释放所述目标数据处理资源。在一条指令执行结束后,资源回收模块700对目标数据处理资源进行回收和检查,包括释放目标指令通道、释放上下游数据链同步邮箱以及释放指令占用的外部存储器中的存储空间等,并将释放后的数据处理资源归还到资源池中,以实现数据处理资源的及时回收、管理,提高数据处理资源的复用效率。
可选的,在本发明实施例中,所示芯片验证系统,具体用于遍历不同测试场景下的测试集,并在当前测试场景下的测试集测试完成时,执行测试场景的迭代操作,直至各个测试场景下的测试集均测试完成为止。每种测试场景内均规范有特定的测试集,当启动测试时,在每个测试场景下遍历当前测试集中的各个测试项之后,执行测试场景的迭代操作,通过测试集合约束当前场景下的配置空间,在将获取到的配置空间,发送给数据变换引擎之后,引导数据变换引擎执行数据变换操作,并记录数据变换引擎的执行结果,既实现了针对数据变化引擎的多样性测试和全面性测试,又实现了特定需求场景下的个性化测试。
本发明实施例的技术方案,芯片验证系统首先通过资源管理模块获取数据变换引擎中空闲状态的数据处理资源,之后通过指令分配模块为待执行指令分配目标数据处理资源,再通过激励生成模块为目标指令通道分配匹配的目标操作数,进而通过地址管理模块获取目标操作数的源数据地址和目标数据地址,以及通过数据加载模块将待变换源数据加载到外部存储器中,最后通过配置执行模块,将目标数据处理资源、源数据地址和目标数据地址,配置给数据变换引擎,以引导数据变换引擎执行数据变换操作,通过构建功能完整的芯片验证系统,实现了验证资源的集中管理,避免了验证系统的重复开发,提高了验证系统的维护效率,同时,实现了各个验证资源的层次化调度,避免出现验证环境的结构层次冗余,提高了芯片中数据变换引擎的验证效率。
实施例二
图2为本发明实施例二提供的一种芯片验证方法的流程图,该方法可以由芯片验证装置来执行,该芯片验证装置可以采用硬件和/或软件的形式实现,该芯片验证装置可配置于实施例一中的芯片验证系统中。如图2所示,该方法包括:
S201、资源管理模块获取数据变换引擎中空闲状态的数据处理资源。
S202、指令分配模块根据空闲状态的数据处理资源,为待执行指令分配目标数据处理资源;其中,所述目标数据处理资源包括目标指令通道。
S203、激励生成模块为所述目标指令通道分配匹配的目标操作数。
S204、地址管理模块获取所述目标操作数的源数据地址和目标数据地址。
S205、数据加载模块根据所述目标操作数获取待变换源数据,并根据所述源数据地址,将所述待变换源数据加载到外部存储器中。
S206、配置执行模块将所述目标数据处理资源、所述源数据地址和所述目标数据地址,配置给所述数据变换引擎,以使所述数据变换引擎,基于所述目标数据处理资源、所述源数据地址和所述目标数据地址执行数据变换操作。
本发明实施例的技术方案,芯片验证系统首先通过资源管理模块获取数据变换引擎中空闲状态的数据处理资源,之后通过指令分配模块为待执行指令分配目标数据处理资源,再通过激励生成模块为目标指令通道分配匹配的目标操作数,进而通过地址管理模块获取目标操作数的源数据地址和目标数据地址,以及通过数据加载模块将待变换源数据加载到外部存储器中,最后通过配置执行模块,将目标数据处理资源、源数据地址和目标数据地址,配置给数据变换引擎,以引导数据变换引擎执行数据变换操作,通过构建功能完整的芯片验证系统,实现了验证资源的集中管理,避免了验证系统的重复开发,提高了验证系统的维护效率,同时,实现了各个验证资源的层次化调度,避免出现验证环境的结构层次冗余,提高了芯片中数据变换引擎的验证效率。
实施例三
图3是本发明实施例三所提供的一种芯片验证装置的结构框图,该装置具体包括:空闲资源获取模块301、目标资源获取模块302、操作数获取模块303、地址信息获取模块304、数据加载执行模块305和参数部署模块306;
空闲资源获取模块301,配置于资源管理模块,用于获取数据变换引擎中空闲状态的数据处理资源。
目标资源获取模块302,配置于指令分配模块,用于根据空闲状态的数据处理资源,为待执行指令分配目标数据处理资源;其中,所述目标数据处理资源包括目标指令通道。
操作数获取模块303,配置于激励生成模块,用于为所述目标指令通道分配匹配的目标操作数。
地址信息获取模块304,配置于地址管理模块,用于获取所述目标操作数的源数据地址和目标数据地址。
数据加载执行模块305,配置于数据加载模块,用于根据所述目标操作数获取待变换源数据,并根据所述源数据地址,将所述待变换源数据加载到外部存储器中。
参数部署模块306,配置于配置执行模块,用于将所述目标数据处理资源、所述源数据地址和所述目标数据地址,配置给所述数据变换引擎,以使所述数据变换引擎,基于所述目标数据处理资源、所述源数据地址和所述目标数据地址执行数据变换操作。
本发明实施例的技术方案,芯片验证系统首先通过资源管理模块获取数据变换引擎中空闲状态的数据处理资源,之后通过指令分配模块为待执行指令分配目标数据处理资源,再通过激励生成模块为目标指令通道分配匹配的目标操作数,进而通过地址管理模块获取目标操作数的源数据地址和目标数据地址,以及通过数据加载模块将待变换源数据加载到外部存储器中,最后通过配置执行模块,将目标数据处理资源、源数据地址和目标数据地址,配置给数据变换引擎,以引导数据变换引擎执行数据变换操作,通过构建功能完整的芯片验证系统,实现了验证资源的集中管理,避免了验证系统的重复开发,提高了验证系统的维护效率,同时,实现了各个验证资源的层次化调度,避免出现验证环境的结构层次冗余,提高了芯片中数据变换引擎的验证效率。
上述装置可执行本发明任意实施例所提供的芯片验证方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的芯片验证方法。
实施例四
在一些实施例中,芯片验证方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元。在一些实施例中,计算机程序的部分或者全部可以经由ROM和/或通信单元而被载入和/或安装到异构硬件加速器上。当计算机程序加载到RAM并由处理器执行时,可以执行上文描述的芯片验证方法的一个或多个步骤。备选地,在其他实施例中,处理器可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行芯片验证方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在异构硬件加速器上实施此处描述的系统和技术,该异构硬件加速器具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给异构硬件加速器。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种芯片验证系统,其特征在于,包括:资源管理模块、指令分配模块、激励生成模块、地址管理模块、数据加载模块和配置执行模块;
所述资源管理模块,用于获取数据变换引擎中空闲状态的数据处理资源;
所述指令分配模块,用于根据空闲状态的数据处理资源,为待执行指令分配目标数据处理资源;其中,所述目标数据处理资源包括目标指令通道;
所述激励生成模块,用于为所述目标指令通道分配匹配的目标操作数;
所述地址管理模块,用于获取所述目标操作数的源数据地址和目标数据地址;
所述数据加载模块,用于根据所述目标操作数获取待变换源数据,并根据所述源数据地址,将所述待变换源数据加载到外部存储器中;
所述配置执行模块,用于将所述目标数据处理资源、所述源数据地址和所述目标数据地址,配置给所述数据变换引擎,以使所述数据变换引擎,基于所述目标数据处理资源、所述源数据地址和所述目标数据地址执行数据变换操作。
2.根据权利要求1所述的芯片验证系统,其特征在于,所述数据处理资源包括寄存器、流水线程、数据读取通道以及数据写入通道中的至少一个。
3.根据权利要求1所述的芯片验证系统,其特征在于,所述指令分配模块,具体用于根据资源互斥关系执行资源解耦处理,以为待执行指令分配目标数据处理资源。
4.根据权利要求1所述的芯片验证系统,其特征在于,所述激励生成模块,具体用于根据数据依赖关系执行数据解耦处理,以为所述目标指令通道分配匹配的目标操作数。
5.根据权利要求1所述的芯片验证系统,其特征在于,所述地址管理模块,具体用于非线性地址段生成、地址边界对齐处理以及地址空间预留处理中的至少一项。
6.根据权利要求1所述的芯片验证系统,其特征在于,所述芯片验证系统还包括资源回收模块;
所述资源回收模块,用于响应于检测到所述待执行指令执行完毕,回收并释放所述目标数据处理资源。
7.根据权利要求1-6中任一项所述的芯片验证系统,其特征在于,所示芯片验证系统,具体用于遍历不同测试场景下的测试集,并在当前测试场景下的测试集测试完成时,执行测试场景的迭代操作,直至各个测试场景下的测试集均测试完成为止。
8.一种芯片验证方法,其特征在于,包括:
资源管理模块获取数据变换引擎中空闲状态的数据处理资源;
指令分配模块根据空闲状态的数据处理资源,为待执行指令分配目标数据处理资源;其中,所述目标数据处理资源包括目标指令通道;
激励生成模块为所述目标指令通道分配匹配的目标操作数;
地址管理模块获取所述目标操作数的源数据地址和目标数据地址;
数据加载模块根据所述目标操作数获取待变换源数据,并根据所述源数据地址,将所述待变换源数据加载到外部存储器中;
配置执行模块将所述目标数据处理资源、所述源数据地址和所述目标数据地址,配置给所述数据变换引擎,以使所述数据变换引擎,基于所述目标数据处理资源、所述源数据地址和所述目标数据地址执行数据变换操作。
9.一种芯片验证装置,其特征在于,包括:
空闲资源获取模块,配置于资源管理模块,用于获取数据变换引擎中空闲状态的数据处理资源;
目标资源获取模块,配置于指令分配模块,用于根据空闲状态的数据处理资源,为待执行指令分配目标数据处理资源;其中,所述目标数据处理资源包括目标指令通道;
操作数获取模块,配置于激励生成模块,用于为所述目标指令通道分配匹配的目标操作数;
地址信息获取模块,配置于地址管理模块,用于获取所述目标操作数的源数据地址和目标数据地址;
数据加载执行模块,配置于数据加载模块,用于根据所述目标操作数获取待变换源数据,并根据所述源数据地址,将所述待变换源数据加载到外部存储器中;
参数部署模块,配置于配置执行模块,用于将所述目标数据处理资源、所述源数据地址和所述目标数据地址,配置给所述数据变换引擎,以使所述数据变换引擎,基于所述目标数据处理资源、所述源数据地址和所述目标数据地址执行数据变换操作。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求8所述的芯片验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310078228.1A CN116187247A (zh) | 2023-01-17 | 2023-01-17 | 一种芯片验证系统、方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310078228.1A CN116187247A (zh) | 2023-01-17 | 2023-01-17 | 一种芯片验证系统、方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116187247A true CN116187247A (zh) | 2023-05-30 |
Family
ID=86433898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310078228.1A Pending CN116187247A (zh) | 2023-01-17 | 2023-01-17 | 一种芯片验证系统、方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116187247A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117742794A (zh) * | 2023-12-05 | 2024-03-22 | 摩尔线程智能科技(北京)有限责任公司 | 数据处理系统、方法、装置及存储介质 |
-
2023
- 2023-01-17 CN CN202310078228.1A patent/CN116187247A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117742794A (zh) * | 2023-12-05 | 2024-03-22 | 摩尔线程智能科技(北京)有限责任公司 | 数据处理系统、方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10394475B2 (en) | Method and system for memory allocation in a disaggregated memory architecture | |
CN103970520B (zh) | MapReduce架构中的资源管理方法、装置和架构系统 | |
US9323619B2 (en) | Deploying parallel data integration applications to distributed computing environments | |
US8924561B2 (en) | Dynamically resizing a networked computing environment to process a workload | |
CN110661647A (zh) | 一种生命周期管理方法及装置 | |
US20160378754A1 (en) | Fast query processing in columnar databases with gpus | |
US10254986B2 (en) | Implicit coordination for deployment of computing systems using a data sharing service | |
CN114416352A (zh) | 算力资源分配方法、装置、电子设备及储存介质 | |
CN102866950A (zh) | 一种虚拟服务器的性能测试方法以及测试工具 | |
US12014216B2 (en) | Method for platform-based scheduling of job flow | |
CN116187247A (zh) | 一种芯片验证系统、方法、装置及存储介质 | |
CN112148467A (zh) | 计算资源的动态分配 | |
CN104700255B (zh) | 多进程处理方法、装置和系统 | |
CN105592130A (zh) | 一种服务部署方法、服务管理方法及装置 | |
CN113127134A (zh) | 容器集群、基于容器集群的多租户部署方法及电子设备 | |
CN114070889A (zh) | 配置方法、流量转发方法、设备、存储介质及程序产品 | |
CN114237902A (zh) | 一种服务部署方法、装置、电子设备及计算机可读介质 | |
CN116701091A (zh) | 用于导出日志的方法、电子设备和计算机程序产品 | |
US10642657B2 (en) | Client-server architecture for multicore computer system to realize single-core-equivalent view | |
CN114143235A (zh) | Nfv自动测试方法、装置、设备及存储介质 | |
CN113050979B (zh) | 安装操作系统的装机配置方法及装置,安装方法及装置 | |
CN111142880B (zh) | 消息系统中分区的分配方法、装置及电子设备 | |
CN109460296A (zh) | 一种处理器的资源分配方法、装置和存储介质 | |
US20180097698A1 (en) | Buildout and teardown of ephemeral infrastructures for dynamic service instance deployments | |
US11953972B2 (en) | Selective privileged container augmentation |
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 |