CN115983173B - 寄存器模型生成方法、装置、计算机设备及存储介质 - Google Patents
寄存器模型生成方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN115983173B CN115983173B CN202310273057.8A CN202310273057A CN115983173B CN 115983173 B CN115983173 B CN 115983173B CN 202310273057 A CN202310273057 A CN 202310273057A CN 115983173 B CN115983173 B CN 115983173B
- Authority
- CN
- China
- Prior art keywords
- register
- information
- file
- objects
- block
- 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
Images
Landscapes
- Devices For Executing Special Programs (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种寄存器模型生成方法、装置、计算机设备及存储介质,方法包括:获取待验证芯片的多个寄存器描述文件;获取多个寄存器描述文件中每个寄存器描述文件的文件格式,根据文件格式对每个寄存器描述文件进行解析,得到各个主机的寄存器映射信息及每个芯片设计模块的寄存器描述信息;根据寄存器描述信息,生成多个初始寄存器块;根据各个主机的寄存器映射信息及多个初始寄存器块,生成各个主机对应的第一寄存器映射表;根据多个初始寄存器块及第一寄存器映射表,生成待验证芯片对应的寄存器模型。本申请可以支持多种文件格式的寄存器描述文件的解析,自动化水平高,适用于设计中存在多个主机的待验证芯片的寄存器模型生成。
Description
技术领域
本申请涉及芯片验证技术领域,具体涉及一种寄存器模型生成方法、装置、计算机设备及存储介质。
背景技术
在以通用验证方法学(Universal Verification Methodology,UVM)为验证方法学的芯片验证过程中,寄存器的配置过程依赖于寄存器模型,寄存器模型是进行数字集成电路验证时,对待测试设计(Design Under Test,DUT)中的寄存器进行建模所得到的模型,它是UVM验证方法学的重要组成部分,快速准确的根据设计文件生成UVM寄存器模型是加快DUT验证,提高验证自动化水平的关键步骤。
现有UVM寄存器模型的生成方法是首先根据每个芯片设计模块的寄存器描述文件生成相应芯片设计模块的寄存器模型,然后通过手工或者脚本将多个子模块的寄存器模型进行组合,得到待验证芯片的寄存器模型。现有UVM寄存器模型的生成方法由于需要后期手工或脚本将多个子模块的寄存器模型整合,自动化水平较低。
发明内容
本申请实施例提供一种寄存器模型生成方法、装置、计算机设备及存储介质,可以支持多种文件格式的寄存器描述文件的解析,无需后期手工或脚本将多个子模块的寄存器模型整合,自动化水平高,且适用于设计中存在多个主机的待验证芯片的寄存器模型生成。
一方面,本申请提供一种寄存器模型生成方法,所述寄存器模型生成方法包括:
获取待验证芯片的多个寄存器描述文件,所述待验证芯片包括多个芯片设计模块,所述待验证芯片设计中存在多个主机,所述多个寄存器描述文件包括用于描述所述多个主机中各个主机的寄存器映射信息的映射表文件及用于描述所述多个芯片设计模块中每个芯片设计模块的寄存器描述信息的寄存器文件;
获取所述多个寄存器描述文件中每个寄存器描述文件的文件格式,根据所述文件格式对所述每个寄存器描述文件进行解析,得到所述各个主机的寄存器映射信息及所述每个芯片设计模块的寄存器描述信息;
根据所述每个芯片设计模块的寄存器描述信息,生成多个第一寄存器块对象;
根据所述各个主机的寄存器映射信息及所述多个第一寄存器块对象,生成所述各个主机对应的第一寄存器映射表对象;
根据所述多个第一寄存器块对象及所述第一寄存器映射表对象,生成所述待验证芯片对应的寄存器模型。
在本申请一些实施方案中,所述根据所述文件格式对所述每个寄存器描述文件进行解析,得到所述各个主机的寄存器映射信息及所述每个芯片设计模块的寄存器描述信息,包括:
根据所述文件格式,从预先设置的多个初始文件解析模块中确定所述每个寄存器描述文件对应的目标文件解析模块,所述目标文件解析模块为所述多个初始文件解析模块中与所述文件格式匹配的模块;
通过所述目标文件解析模块对所述每个寄存器描述文件进行解析,得到所述各个主机的寄存器映射信息及所述每个芯片设计模块的寄存器描述信息。
在本申请一些实施方案中,所述寄存器描述信息包括寄存器域信息、寄存器信息、寄存器文件信息、第一寄存器块信息及第二寄存器块信息,所述根据所述每个芯片设计模块的寄存器描述信息,生成多个第一寄存器块对象,包括:
根据所述寄存器域信息、所述寄存器信息、所述寄存器文件信息及所述第二寄存器块信息,生成多个第二寄存器块对象;
基于所述多个第二寄存器块对象及所述第一寄存器块信息,生成多个第一寄存器块对象。
在本申请一些实施方案中,所述根据所述寄存器域信息、所述寄存器信息、所述寄存器文件信息及所述第二寄存器块信息,生成多个第二寄存器块对象,包括:
根据所述寄存器域信息,生成所述待验证芯片对应的多个域对象;
基于所述寄存器信息对所述多个域对象进行实例化,生成所述待验证芯片对应的多个初始寄存器对象;
基于所述多个初始寄存器对象及所述寄存器文件信息,生成每个所述初始寄存器对象的寄存器文件对象;
基于所述多个初始寄存器对象、所述寄存器文件对象及所述第二寄存器块信息,生成多个第二寄存器块对象。
在本申请一些实施方案中,所述基于所述多个初始寄存器对象、所述寄存器文件对象及所述第二寄存器块信息,生成多个第二寄存器块对象,包括:
基于所述第二寄存器块信息,从所述多个初始寄存器对象中确定所述多个第二寄存器块对象中每个第二寄存器块对象对应的候选寄存器对象;
基于所述候选寄存器对象及所述候选寄存器对象的寄存器文件对象,生成多个第二寄存器块对象。
在本申请一些实施方案中,所述每个第二寄存器块对象包括第二寄存器映射表对象,所述基于所述候选寄存器对象及所述候选寄存器对象的寄存器文件对象,生成多个第二寄存器块对象之后,所述方法还包括:
获取所述候选寄存器对象的偏移地址及所述候选寄存器对象的访问属性;
将所述候选寄存器对象的偏移地址及所述候选寄存器对象的访问属性添加至所述第二寄存器映射表对象。
在本申请一些实施方案中,所述基于多个所述第二寄存器块对象及所述第一寄存器块信息,生成多个第一寄存器块对象,包括:
基于所述第一寄存器块信息,从多个所述第二寄存器块对象中确定每个所述第一寄存器块对象对应的若干候选寄存器块对象,所述若干候选寄存器块对象为多个所述第二寄存器块对象中与每个所述第一寄存器块对象匹配的寄存器块对象;
基于所述若干候选寄存器块对象,生成多个第一寄存器块对象。
另一方面,本申请提供一种寄存器模型生成装置,所述寄存器模型生成装置包括:
文件获取单元,用于获取待验证芯片的多个寄存器描述文件,所述待验证芯片包括多个芯片设计模块,所述待验证芯片设计中存在多个主机,所述多个寄存器描述文件包括用于描述所述多个主机中各个主机的寄存器映射信息的映射表文件及用于描述所述多个芯片设计模块中每个芯片设计模块的寄存器描述信息的寄存器文件;
文件解析单元,用于获取所述多个寄存器描述文件中每个寄存器描述文件的文件格式,根据所述文件格式对所述每个寄存器描述文件进行解析,得到所述各个主机的寄存器映射信息及所述每个芯片设计模块的寄存器描述信息;
第一生成单元,用于根据所述每个芯片设计模块的寄存器描述信息,生成多个第一寄存器块对象;
第二生成单元,用于根据所述各个主机的寄存器映射信息及所述多个第一寄存器块对象,生成所述各个主机对应的第一寄存器映射表对象;
模型生成单元,用于根据所述多个第一寄存器块对象及所述第一寄存器映射表对象,生成所述待验证芯片对应的寄存器模型。
另一方面,本申请还提供一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现第一方面中任一项所述的寄存器模型生成方法。
第四方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行第一方面任一项所述的寄存器模型生成方法中的步骤。
本申请根据文件格式对每个寄存器描述文件进行解析,可以支持多种文件格式的寄存器描述文件的解析,根据多个第一寄存器块对象及第一寄存器映射表对象,生成待验证芯片对应的寄存器模型,无需后期手工或脚本将多个子模块的寄存器模型整合,自动化水平高,且适用于设计中存在多个主机的待验证芯片的寄存器模型生成。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有寄存器模型生成方法的实施例流程示意图;
图2是本申请实施例中提供的寄存器模型生成方法的一个实施例流程示意图;
图3是本申请实施例中提供的寄存器模型生成方法的具体实施例流程示意图;
图4是本申请实施例中提供的寄存器块和寄存器模型的结构示意图;
图5是本申请实施例中提供的寄存器模型生成装置的一个实施例结构示意图;
图6是本申请实施例中提供的计算机设备的一个实施例结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”、“第三”、“第四”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”、“第四”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,“若干”的含义是一个或者一个以上,除非另有明确具体的限定。
在本申请中,“示例性”一词用来表示“用作例子、例证或说明”。本申请中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本申请,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本申请。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本申请的描述变得晦涩。因此,本申请并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。
需要说明的是,本申请实施例方法由于是在计算机设备中执行,各计算机设备的处理对象均以数据或信息的形式存在,例如时间,实质为时间信息,可以理解的是,后续实施例中若提及尺寸、数量、位置等,均为对应的数据存在,以便计算机设备进行处理,具体此处不作赘述。
发明人经研究发现,现有UVM寄存器模型的生成方法是首先根据每个芯片设计模块的寄存器描述文件生成相应芯片设计模块的寄存器模型,然后通过手工或者脚本将多个子模块的寄存器模型进行组合,得到待验证芯片的寄存器模型。如图1所示,通过现有VCSralgen工具根据寄存器描述文件IP-01.xml、IP-02.xml、IP-03.xml和IP-04.xml分别生成寄存器模型IP-01.RegModel、IP-02. RegModel、IP-03. RegModel和IP-04. RegModel,然后对IP-01.RegModel、IP-02. RegModel、IP-03. RegModel和IP-04. RegModel通过手工或脚本进行整合,得到待验证芯片的寄存器模型(SoC RegModel)。现有UVM寄存器模型的生成方法由于需要后期手工或脚本将多个子模块的寄存器模型整合,自动化水平较低。
基于此,在本申请实施例中,获取待验证芯片的多个寄存器描述文件,所述待验证芯片包括多个芯片设计模块,所述待验证芯片设计中存在多个主机,所述多个寄存器描述文件包括用于描述所述多个主机中各个主机的寄存器映射信息的映射表文件及用于描述所述多个芯片设计模块中每个芯片设计模块的寄存器描述信息的寄存器文件;获取所述多个寄存器描述文件中每个寄存器描述文件的文件格式,根据所述文件格式对所述每个寄存器描述文件进行解析,得到所述各个主机的寄存器映射信息及所述每个芯片设计模块的寄存器描述信息;根据所述每个芯片设计模块的寄存器描述信息,生成多个第一寄存器块对象;根据所述各个主机的寄存器映射信息及所述多个第一寄存器块对象,生成所述各个主机对应的第一寄存器映射表对象;根据所述多个第一寄存器块对象及所述第一寄存器映射表对象,生成所述待验证芯片对应的寄存器模型。本申请根据文件格式对每个寄存器描述文件进行解析,可以支持多种文件格式的寄存器描述文件的解析,根据多个第一寄存器块对象及第一寄存器映射表对象,生成待验证芯片对应的寄存器模型,无需后期手工或脚本将多个子模块的寄存器模型整合,自动化水平高,且适用于设计中存在多个主机的待验证芯片的寄存器模型生成。
下面结合附图,通过对实施例的描述,对本申请内容作进一步说明。
如图2所示,为本申请实施例中寄存器模型生成方法的一个实施例流程示意图,该寄存器模型生成方法包括:
S100、获取待验证芯片的多个寄存器描述文件,所述待验证芯片包括多个芯片设计模块,所述待验证芯片设计中存在多个主机,所述多个寄存器描述文件包括用于描述所述多个主机中各个主机的寄存器映射信息的映射表文件及用于描述所述多个芯片设计模块中每个芯片设计模块的寄存器描述信息的寄存器文件。
待验证芯片为需要使用通用验证方法学(Universal VerificationMethodology,UVM)进行验证的芯片,待验证芯片包括可重用的多个芯片设计模块(Intellectual Property core,IP),待验证芯片设计中存在多个主机(Host)。多个寄存器描述文件为与待验证芯片的寄存器相关的描述文件,多个寄存器描述文件包括用于描述多个主机中各个主机的寄存器映射信息的映射表文件及用于描述多个芯片设计模块中每个芯片设计模块的寄存器描述信息的寄存器文件,例如,如图3所示,多个寄存器描述文件包括映射表文件SoC.xls及寄存器文件IP-01.xml、IP-02.xml、IP-03.xls及IP-04.ralf。本实施例生成待验证芯片的寄存器模型时,首先获取待验证芯片的多个寄存器描述文件,以便后续步骤中基于多个寄存器描述文件生成待验证芯片对应的寄存器模型。
S200、获取所述多个寄存器描述文件中每个寄存器描述文件的文件格式,根据所述文件格式对所述每个寄存器描述文件进行解析,得到所述各个主机的寄存器映射信息及所述每个芯片设计模块的寄存器描述信息。
考虑到现有寄存器模型生成方法往往只支持单一的输入格式,例如,VCS ralgen工具虽然支持xml格式和ralf格式,但对xml格式的支持效果比较差,也不支持xml格式中的自定义标签。本实施例获取待验证芯片的多个寄存器描述文件后,获取多个寄存器描述文件中每个寄存器描述文件的文件格式,根据文件格式对每个寄存器描述文件进行解析,得到各个主机的寄存器映射信息及每个芯片设计模块的寄存器描述信息,从而可以支持多种格式的寄存器描述文件的解析。例如,以表3为例,SoC.xls和IP-03.xls为xls格式,IP-01.xml和IP-02.xml为xml格式,IP-04.ralf为ralf格式,则按照xls格式对SoC.xls和IP-03.xls进行文件解析,按照xml格式对IP-01.xml和IP-02.xml进行解析,按照ralf格式对IP-04.ralf进行解析。
在一具体实施方式中,步骤S200包括:
S210、根据所述文件格式,从预先设置的多个初始文件解析模块中确定所述每个寄存器描述文件对应的目标文件解析模块,所述目标文件解析模块为所述多个初始文件解析模块中与所述文件格式匹配的模块;
S220、通过所述目标文件解析模块对所述每个寄存器描述文件进行解析,得到所述各个主机的寄存器映射信息及所述每个芯片设计模块的寄存器描述信息。
多个初始文件解析模块为预先设置的用于对不同格式的多个寄存器描述文件进行解析的模块,多个初始文件解析模块中每个初始文件解析模块用于解析一种格式的寄存器描述文件,例如,多个初始文件解析模块包括初始文件解析模块A、初始文件解析模块B及初始文件解析模块C,初始文件解析模块A用于解析xls格式的寄存器描述文件,初始文件解析模块B用于解析xml格式的寄存器描述文件,初始文件解析模块C用于解析ralf格式的寄存器描述文件。目标文件解析模块为多个初始文件解析模块中与每个寄存器描述文件的文件格式匹配的模块,例如,图3中,SoC.xls和IP-03.xls对应的目标文件解析模块为初始文件解析模块A,IP-01.xml和IP-02.xml对应的目标文件解析模块为初始文件解析模块B,IP-04.ralf对应的目标文件解析模块为初始文件解析模块C。
本实施例根据文件格式对每个寄存器描述文件进行解析时,首先根据文件格式,从预先设置的多个初始文件解析模块中确定每个寄存器描述文件对应的目标文件解析模块,然后通过目标文件解析模块对每个寄存器描述文件进行解析,得到各个主机的寄存器映射信息及每个芯片设计模块的寄存器描述信息。例如,确定SoC.xls和IP-03.xls对应的目标文件解析模块为初始文件解析模块A后,通过初始文件解析模块A对SoC.xls和IP-03.xls进行解析。
S300、根据所述每个芯片设计模块的寄存器描述信息,生成多个第一寄存器块对象。
寄存器描述信息包括寄存器域(register field)信息、寄存器(register)信息、寄存器文件(register file)信息及寄存器块(register block)信息,其中,寄存器域(register field)信息用于生成域(field)对象,寄存器(register)信息用于生成寄存器(register)对象,寄存器文件(register file)信息用于生成寄存器文件(register file)对象,寄存器块(register block)信息用于生成寄存器块(register block)对象。
第一寄存器块对象为顶层寄存器块对象,其包括多个子寄存器块对象,如图4所示,Register Block TOP中的Register Sys-Block A、Register Sys-Block B及RegisterSys-Block C等为第一寄存器块对象。本实施例得到各个主机的寄存器映射信息及每个芯片设计模块的寄存器描述信息后,根据每个芯片设计模块的寄存器描述信息,生成多个第一寄存器块对象,以便后续步骤中基于多个第一寄存器块对象生成待验证芯片对应的寄存器模型。
在一具体实施方式中,寄存器描述信息包括寄存器域信息、寄存器信息、寄存器文件信息、第一寄存器块信息及第二寄存器块信息,步骤S300包括:
S310、根据所述寄存器域信息、所述寄存器信息、所述寄存器文件信息及所述第二寄存器块信息,生成多个第二寄存器块对象;
S320、基于多个所述第二寄存器块对象及所述第一寄存器块信息,生成多个第一寄存器块对象。
在一具体实现方式中,如图4所示,寄存器描述信息(IP寄存器信息)包括寄存器域信息(Register Field信息)、寄存器信息(Register信息)、寄存器文件信息(RegisterFile信息)、第二寄存器块信息(Register Block信息)及第一寄存器块信息(memoryMap信息)。
多个第二寄存器块对象为底层寄存器块对象,即直接包含寄存器的寄存器块对象。本实施例根据每个芯片设计模块的寄存器描述信息生成多个第一寄存器块对象时,首先根据寄存器域信息、寄存器信息、寄存器文件信息及第二寄存器块信息,生成多个第二寄存器块对象;然后基于多个第二寄存器块对象及第一寄存器块信息,生成多个第一寄存器块对象。例如,如图4所示,本实施例先根据Register Field信息、Register信息、RegisterFile信息及Register Block信息,生成Register Block A、Register Block B及RegisterBlock C等,再基于memoryMap信息、Register Block A、Register Block B及RegisterBlock C,生成更高级别的Register Sys-Block A、Register Sys-Block B及RegisterSys-Block C等。
在一具体实施方式中,步骤S310包括:
S311、根据所述寄存器域信息,生成所述待验证芯片对应的多个域对象;
S312、基于所述寄存器信息对所述多个域对象进行实例化,生成所述待验证芯片对应的多个初始寄存器对象;
S313、基于所述多个初始寄存器对象及所述寄存器文件信息,生成每个所述初始寄存器对象的寄存器文件对象;
S314、基于所述多个初始寄存器对象、所述寄存器文件对象及所述第二寄存器块信息,生成多个第二寄存器块对象。
域对象为寄存器模型的基础数据单元,其由一位或多位数据构成,每个域对象都有自身相关的属性,例如读写属性、复位值等。寄存器对象对应了待测试设计(DesignUnder Test,DUT)中一个完整的寄存器,由一个或多个域对象构成。
本实施例中第二寄存器块对象包括多个寄存器对象及寄存器文件对象,例如,如图4所示,第二寄存器块对象Register Block A包括RegisterA、RegisterB、Register C及Register File。根据每个芯片设计模块的寄存器描述信息生成多个第二寄存器块对象时,首先根据寄存器域信息生成待验证芯片对应的多个域对象,然后基于寄存器信息对多个域对象进行实例化,生成待验证芯片对应的多个初始寄存器对象,接着基于多个初始寄存器对象及寄存器文件信息,生成每个初始寄存器对象的寄存器文件对象,最后基于多个初始寄存器对象、寄存器文件对象及第二寄存器块信息,生成多个第二寄存器块对象。
在一具体实施方式中,步骤S314包括:
S3141、基于所述第二寄存器块信息,从所述多个初始寄存器对象中确定所述多个第二寄存器块对象中每个第二寄存器块对象对应的候选寄存器对象;
S3142、基于所述候选寄存器对象及所述候选寄存器对象的寄存器文件对象,生成多个第二寄存器块对象。
候选寄存器对象为从多个初始寄存器对象中确定的每个第二寄存器块对象包含的寄存器对象,第二寄存器信息中包含每个第二寄存器块对象包含的寄存器对象的信息,因此,基于寄存器信息可以从多个初始寄存器对象中确定每个第二寄存器块对象对应的候选寄存器对象。本实施例基于多个初始寄存器对象、寄存器文件对象及第二寄存器块信息生成多个第二寄存器块对象时,首先基于第二寄存器块信息,从多个初始寄存器对象中确定多个第二寄存器块对象中每个第二寄存器块对象对应的候选寄存器对象,然后基于候选寄存器对象及候选寄存器对象的寄存器文件对象,生成多个第二寄存器块对象。例如,如图4所示,确定候选寄存器对象Register A、Register B、Register C后,基于候选寄存器对象Register A、Register B、Register C及Register File,生成第二寄存器块对象RegisterBlock A。
在一具体实施方式中,如图3和图4所示,寄存器模型通过SoC寄存器模型生成模块生成,寄存器模型中的每个对象在SoC寄存器模型生成模块中都有相应的生成寄存器模型代码的方法,例如,Field gen负责生成寄存器模型中域对象对应的代码,Register gen 负责生成寄存器对象对应的代码,RegFile gen负责生成寄存器文件对象对应的代码,RegBlock gen负责生成寄存器块对象对应的代码。当所有对象构建完成后,就可以直接调用相应的方法生成寄存器模型。
在一具体实施方式中,每个初始寄存器块包括第二寄存器映射表对象,步骤S3142之后,所述方法还包括:
S3143、获取所述候选寄存器对象的偏移地址及所述候选寄存器对象的访问属性;
S3144、将所述候选寄存器对象的偏移地址及所述候选寄存器对象的访问属性添加至所述第二寄存器映射表对象。
每个第二寄存器块对象包括第二寄存器映射表对象,第二寄存器映射表对象用于指定第二寄存器块对象中的候选寄存器对象的偏移地址及访问属性等。本实施例生成多个第二寄存器块对象后,进一步获取候选寄存器对象的偏移地址及候选寄存器对象的访问属性,并将候选寄存器对象的偏移地址及候选寄存器对象的访问属性添加至第二寄存器映射表对象,以将候选寄存器对象与偏移地址通过第二寄存器映射表对象进行映射。
在一具体实施方式中,步骤S320,包括:
S321、基于所述第一寄存器块信息,从多个所述第二寄存器块对象中确定每个所述第一寄存器块对象对应的若干候选寄存器块对象,所述若干候选寄存器块对象为多个所述第二寄存器块对象中与每个所述第一寄存器块对象匹配的寄存器块对象;
S322、基于所述若干候选寄存器块对象,生成多个第一寄存器块对象。
若干候选寄存器块对象为多个第二寄存器块对象中与每个第一寄存器块对象匹配的寄存器块对象,本实施例基于多个第二寄存器块对象及第一寄存器块信息生成多个第一寄存器块对象时,首先基于第一寄存器块信息,从多个第二寄存器块对象中确定每个第一寄存器块对象对应的若干候选寄存器块对象,然后基于若干候选寄存器块对象,生成多个第一寄存器块对象。例如,如图4所示,基于低级别的第二寄存器块对象(Register BlockA、Register Block B、Register Block C等)生成高级别的第一寄存器块对象(RegisterSys-Block A、Register Sys-Block B、Register Sys-Block C等)。
S400、根据所述各个主机的寄存器映射信息及所述多个第一寄存器块对象,生成所述各个主机对应的第一寄存器映射表对象。
第一寄存器映射表对象用于表征各个主机与多个第一寄存器块对象的映射关系,各个主机对应的第一寄存器映射表中存储各个主机可以访问的第一寄存器块对象的寄存器映射表对象,例如,如图4所示,第一寄存器映射表对象Register Map A与主机A对应,第一寄存器映射表对象Register Map B与主机B对应,第一寄存器映射表对象Register MapC与主机C对应,第一寄存器映射表对象Register Map A中存储Register Sys-Block A、Register Sys-Block B及Register Sys-Block C的寄存器映射表对象,第一寄存器映射表对象Register Map B中存储Register Sys-Block A和Register Sys-Block C的寄存器映射表对象,第一寄存器映射表对象Register Map C中存储Register Sys-Block A和Register Sys-Block B的寄存器映射表对象,表示主机A可以访问第一寄存器块对象Register Sys-Block A、Register Sys-Block B及Register Sys-Block C,主机B可以访问第一寄存器块对象Register Sys-Block A和Register Sys-Block C,主机C可以访问第一寄存器块对象Register Sys-Block A和Register Sys-Block B。
本实施例生成多个第一寄存器块对象后,根据各个主机的寄存器映射信息及多个第一寄存器块对象,生成各个主机对应的第一寄存器映射表对象,以便后续步骤中基于多个第一寄存器块对象及各个主机对应的第一寄存器映射表对象,生成寄存器模型。
为了减少寄存器模型体积,加快寄存器模型的编译速度,本实施例在子寄存器块中采用寄存器映射表对象来添加寄存器,然后在顶层寄存器块中,使用递归调用的方法将所需的寄存器加入相应的寄存器映射表对象。例如,在顶层寄存器块对象中建立RegisterMap A的时候,会调用add_Register_Map函数,然后在子寄存器块调用更低层级的寄存器块对象的add_Register_Map函数,一直调用到直接包含寄存器的那个层级的寄存器块对象。add_Register_Map函数通过顶层传递下来的参数,创建名字为Register Map A的临时寄存器映射表对象,然后将该寄存器映射表对象加入上一层的Register Map A中,最后从下层至上层,从而在顶层寄存器块对象中建立Register Map A。
S500、根据所述多个第一寄存器块对象及所述第一寄存器映射表对象,生成所述待验证芯片对应的寄存器模型。
寄存器模型为多个第一寄存器块对象的集合,寄存器模型中包括多个第一寄存器块对象及多个第一寄存器映射表对象,多个第一寄存器映射表对象与多个主机对应,每个主机对应的第一寄存器映射表对象中存储每个主机可以访问的第一寄存器块对象的寄存器映射表对象。本实施例生成多个第一寄存器块对象及各个主机对应的第一寄存器映射表对象后,根据多个第一寄存器块对象及第一寄存器映射表对象,即可生成待验证芯片对应的寄存器模型。本申请基于多个第一寄存器块对象及第一寄存器映射表对象生成寄存器模型,无需后期手工或脚本将多个子模块的寄存器模型整合,自动化水平高,且适用于设计中存在多个主机的待验证芯片的寄存器模型生成。
另外,现有使用VCS ralgen工具生成寄存器模型的方案,每个寄存器对象和寄存器块都会使用UVM的Factory机制,当寄存器的数量较多时,寄存器模型的仿真性能会严重下降。本实施例中基于多个第一寄存器块对象及第一寄存器映射表对象生成寄存器模型,可以避免使用UVM的Factory机制。但由于未使用UVM的Factory机制生成寄存器模型,用户无法使用自动的寄存器行为去覆盖自动生成的寄存器模型中所定义的行为,本实施例在生成寄存器模型时,通过直接插入用户定义行为的代码来解决这一问题。
为了更好实现本申请实施例中寄存器模型生成方法,在寄存器模型生成方法基础之上,本申请实施例中还提供一种寄存器模型生成装置,如图5所示,所述寄存器模型生成装置700包括:
文件获取单元701,用于获取待验证芯片的多个寄存器描述文件,所述待验证芯片包括多个芯片设计模块,所述待验证芯片设计中存在多个主机,所述多个寄存器描述文件包括用于描述所述多个主机中各个主机的寄存器映射信息的映射表文件及用于描述所述多个芯片设计模块中每个芯片设计模块的寄存器描述信息的寄存器文件;
文件解析单元702,用于获取所述多个寄存器描述文件中每个寄存器描述文件的文件格式,根据所述文件格式对所述每个寄存器描述文件进行解析,得到所述各个主机的寄存器映射信息及所述每个芯片设计模块的寄存器描述信息;
第一生成单元703,用于根据所述每个芯片设计模块的寄存器描述信息,生成多个第一寄存器块对象;
第二生成单元704,用于根据所述各个主机的寄存器映射信息及所述多个第一寄存器块对象,生成所述各个主机对应的第一寄存器映射表对象;
模型生成单元705,用于根据所述多个第一寄存器块对象及所述第一寄存器映射表对象,生成所述待验证芯片对应的寄存器模型。
本申请实施例中,根据文件格式对每个寄存器描述文件进行解析,可以支持多种文件格式的寄存器描述文件的解析,根据多个第一寄存器块对象及第一寄存器映射表对象,生成待验证芯片对应的寄存器模型,无需后期手工或脚本将多个子模块的寄存器模型整合,自动化水平高,且适用于设计中存在多个主机的待验证芯片的寄存器模型生成。
在本申请一些实施例中,所述文件解析单元702具体用于:
根据所述文件格式,从预先设置的多个初始文件解析模块中确定所述每个寄存器描述文件对应的目标文件解析模块,所述目标文件解析模块为所述多个初始文件解析模块中与所述文件格式匹配的模块;
通过所述目标文件解析模块对所述每个寄存器描述文件进行解析,得到所述各个主机的寄存器映射信息及所述每个芯片设计模块的寄存器描述信息。
在本申请一些实施例中,所述寄存器描述信息包括寄存器域信息、寄存器信息、寄存器文件信息、第一寄存器块信息及第二寄存器块信息,所述第一生成单元703具体用于:
根据所述寄存器域信息、所述寄存器信息、所述寄存器文件信息及所述第二寄存器块信息,生成多个第二寄存器块对象;
基于所述多个第二寄存器块对象及所述第一寄存器块信息,生成多个第一寄存器块对象。
在本申请一些实施例中,所述第一生成单元703具体还用于:
根据所述寄存器域信息,生成所述待验证芯片对应的多个域对象;
基于所述寄存器信息对所述多个域对象进行实例化,生成所述待验证芯片对应的多个初始寄存器对象;
基于所述多个初始寄存器对象及所述寄存器文件信息,生成每个所述初始寄存器对象的寄存器文件对象;
基于所述多个初始寄存器对象、所述寄存器文件对象及所述第二寄存器块信息,生成多个第二寄存器块对象。
在本申请一些实施例中,所述第一生成单元703具体还用于:
基于所述第二寄存器块信息,从所述多个初始寄存器对象中确定所述多个第二寄存器块对象中每个第二寄存器块对象对应的候选寄存器对象;
基于所述候选寄存器对象及所述候选寄存器对象的寄存器文件对象,生成多个第二寄存器块对象。
在本申请一些实施例中,所述第一生成单元703具体还用于:
基于所述第一寄存器块信息,从多个所述第二寄存器块对象中确定每个所述第一寄存器块对象对应的若干候选寄存器块对象,所述若干候选寄存器块对象为多个所述第二寄存器块对象中与每个所述第一寄存器块对象匹配的寄存器块对象;
基于所述若干候选寄存器块对象,生成多个第一寄存器块对象。
在本申请一些实施例中,所述寄存器块生成装置700还包括:
信息获取单元,用于获取所述候选寄存器对象的偏移地址及所述候选寄存器对象的访问属性;
信息添加单元,用于将所述候选寄存器对象的偏移地址及所述候选寄存器对象的访问属性添加至所述第二寄存器映射表对象。
本申请实施例还提供一种计算机设备,其集成了本申请实施例所提供的任一种寄存器模型生成装置,所述计算机设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行上述寄存器模型生成方法实施例中任一实施例中所述的寄存器模型生成方法中的步骤。
本申请实施例还提供一种计算机设备,其集成了本申请实施例所提供的任一种寄存器模型生成装置。如图6所示,其示出了本申请实施例所涉及的计算机设备的结构示意图,具体来讲:
该计算机设备可以包括一个或者一个以上处理核心的处理器901、一个或一个以上计算机可读存储介质的存储器902、电源903和输入单元904等部件。本领域技术人员可以理解,图6中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器901是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器902内的软件程序和/或模块,以及调用存储在存储器902内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器901可包括一个或多个处理核心;优选的,处理器901可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器901中。
存储器902可用于存储软件程序以及模块,处理器901通过运行存储在存储器902的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器902可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器902还可以包括存储器控制器,以提供处理器901对存储器902的访问。
计算机设备还包括给各个部件供电的电源903,优选的,电源903可以通过电源管理系统与处理器901逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源903还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该计算机设备还可包括输入单元904,该输入单元904可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器901会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器902中,并由处理器901来运行存储在存储器902中的应用程序,从而实现各种功能,如下:
获取待验证芯片的多个寄存器描述文件,所述待验证芯片包括多个芯片设计模块,所述待验证芯片设计中存在多个主机,所述多个寄存器描述文件包括用于描述所述多个主机中各个主机的寄存器映射信息的映射表文件及用于描述所述多个芯片设计模块中每个芯片设计模块的寄存器描述信息的寄存器文件;
获取所述多个寄存器描述文件中每个寄存器描述文件的文件格式,根据所述文件格式对所述每个寄存器描述文件进行解析,得到所述各个主机的寄存器映射信息及所述每个芯片设计模块的寄存器描述信息;
根据所述每个芯片设计模块的寄存器描述信息,生成多个第一寄存器块对象;
根据所述各个主机的寄存器映射信息及所述多个第一寄存器块对象,生成所述各个主机对应的第一寄存器映射表对象;
根据所述多个第一寄存器块对象及所述第一寄存器映射表对象,生成所述待验证芯片对应的寄存器模型。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行本申请实施例所提供的任一种寄存器模型生成方法中的步骤。例如,所述计算机程序被处理器进行加载可以执行如下步骤:
获取待验证芯片的多个寄存器描述文件,所述待验证芯片包括多个芯片设计模块,所述待验证芯片设计中存在多个主机,所述多个寄存器描述文件包括用于描述所述多个主机中各个主机的寄存器映射信息的映射表文件及用于描述所述多个芯片设计模块中每个芯片设计模块的寄存器描述信息的寄存器文件;
获取所述多个寄存器描述文件中每个寄存器描述文件的文件格式,根据所述文件格式对所述每个寄存器描述文件进行解析,得到所述各个主机的寄存器映射信息及所述每个芯片设计模块的寄存器描述信息;
根据所述每个芯片设计模块的寄存器描述信息,生成多个第一寄存器块对象;
根据所述各个主机的寄存器映射信息及所述多个第一寄存器块对象,生成所述各个主机对应的第一寄存器映射表对象;
根据所述多个第一寄存器块对象及所述第一寄存器映射表对象,生成所述待验证芯片对应的寄存器模型。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种寄存器模型生成方法、装置、计算机设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (9)
1.一种寄存器模型生成方法,其特征在于,所述寄存器模型生成方法包括:
获取待验证芯片的多个寄存器描述文件,所述待验证芯片包括多个芯片设计模块,所述待验证芯片设计中存在多个Host,所述多个寄存器描述文件包括用于描述所述多个Host中各个Host的寄存器映射信息的映射表文件及用于描述所述多个芯片设计模块中每个芯片设计模块的寄存器描述信息的寄存器文件;
获取所述多个寄存器描述文件中每个寄存器描述文件的文件格式,根据所述文件格式对所述每个寄存器描述文件进行解析,得到所述各个Host的寄存器映射信息及所述每个芯片设计模块的寄存器描述信息;
根据所述每个芯片设计模块的寄存器描述信息,生成多个第一寄存器块对象;
所述寄存器描述信息包括寄存器域信息、寄存器信息、寄存器文件信息、第一寄存器块信息及第二寄存器块信息,所述根据所述每个芯片设计模块的寄存器描述信息,生成多个第一寄存器块对象,包括:
根据所述寄存器域信息、所述寄存器信息、所述寄存器文件信息及所述第二寄存器块信息,生成多个第二寄存器块对象;所述第二寄存器块对象为底层寄存器块对象,所述第二寄存器块对象包含寄存器的寄存器块对象;
基于所述多个第二寄存器块对象及所述第一寄存器块信息,生成多个第一寄存器块对象;所述第一寄存器块对象为顶层寄存器块对象,所述第一寄存器块对象包括多个子寄存器块对象;
根据所述各个Host的寄存器映射信息及所述多个第一寄存器块对象,生成所述各个Host对应的第一寄存器映射表对象;
根据所述多个第一寄存器块对象及所述第一寄存器映射表对象,生成所述待验证芯片对应的寄存器模型。
2.根据权利要求1所述的寄存器模型生成方法,其特征在于,所述根据所述文件格式对所述每个寄存器描述文件进行解析,得到所述各个Host的寄存器映射信息及所述每个芯片设计模块的寄存器描述信息,包括:
根据所述文件格式,从预先设置的多个初始文件解析模块中确定所述每个寄存器描述文件对应的目标文件解析模块,所述目标文件解析模块为所述多个初始文件解析模块中与所述文件格式匹配的模块;
通过所述目标文件解析模块对所述每个寄存器描述文件进行解析,得到所述各个Host的寄存器映射信息及所述每个芯片设计模块的寄存器描述信息。
3.根据权利要求1所述的寄存器模型生成方法,其特征在于,所述根据所述寄存器域信息、所述寄存器信息、所述寄存器文件信息及所述第二寄存器块信息,生成多个第二寄存器块对象,包括:
根据所述寄存器域信息,生成所述待验证芯片对应的多个域对象;
基于所述寄存器信息对所述多个域对象进行实例化,生成所述待验证芯片对应的多个初始寄存器对象;
基于所述多个初始寄存器对象及所述寄存器文件信息,生成每个所述初始寄存器对象的寄存器文件对象;
基于所述多个初始寄存器对象、所述寄存器文件对象及所述第二寄存器块信息,生成多个第二寄存器块对象。
4.根据权利要求3所述的寄存器模型生成方法,其特征在于,所述基于所述多个初始寄存器对象、所述寄存器文件对象及所述第二寄存器块信息,生成多个第二寄存器块对象,包括:
基于所述第二寄存器块信息,从所述多个初始寄存器对象中确定所述多个第二寄存器块对象中每个第二寄存器块对象对应的候选寄存器对象;
基于所述候选寄存器对象及所述候选寄存器对象的寄存器文件对象,生成多个第二寄存器块对象。
5.根据权利要求4所述的寄存器模型生成方法,其特征在于,所述每个第二寄存器块对象包括第二寄存器映射表对象,所述基于所述候选寄存器对象及所述候选寄存器对象的寄存器文件对象,生成多个第二寄存器块对象之后,所述方法还包括:
获取所述候选寄存器对象的偏移地址及所述候选寄存器对象的访问属性;
将所述候选寄存器对象的偏移地址及所述候选寄存器对象的访问属性添加至所述第二寄存器映射表对象。
6.根据权利要求1所述的寄存器模型生成方法,其特征在于,所述基于多个所述第二寄存器块对象及所述第一寄存器块信息,生成多个第一寄存器块对象,包括:
基于所述第一寄存器块信息,从多个所述第二寄存器块对象中确定每个所述第一寄存器块对象对应的若干候选寄存器块对象,所述若干候选寄存器块对象为多个所述第二寄存器块对象中与每个所述第一寄存器块对象匹配的寄存器块对象;
基于所述若干候选寄存器块对象,生成多个第一寄存器块对象。
7.一种寄存器模型生成装置,其特征在于,所述寄存器模型生成装置包括:
文件获取单元,用于获取待验证芯片的多个寄存器描述文件,所述待验证芯片包括多个芯片设计模块,所述待验证芯片设计中存在多个Host,所述多个寄存器描述文件包括用于描述所述多个Host中各个Host的寄存器映射信息的映射表文件及用于描述所述多个芯片设计模块中每个芯片设计模块的寄存器描述信息的寄存器文件;
文件解析单元,用于获取所述多个寄存器描述文件中每个寄存器描述文件的文件格式,根据所述文件格式对所述每个寄存器描述文件进行解析,得到所述各个Host的寄存器映射信息及所述每个芯片设计模块的寄存器描述信息;
第一生成单元,用于根据所述每个芯片设计模块的寄存器描述信息,生成多个第一寄存器块对象;
所述寄存器描述信息包括寄存器域信息、寄存器信息、寄存器文件信息、第一寄存器块信息及第二寄存器块信息,所述第一生成单元具体用于:
根据所述寄存器域信息、所述寄存器信息、所述寄存器文件信息及所述第二寄存器块信息,生成多个第二寄存器块对象;所述第二寄存器块对象为底层寄存器块对象,所述第二寄存器块对象包含寄存器的寄存器块对象;
基于所述多个第二寄存器块对象及所述第一寄存器块信息,生成多个第一寄存器块对象;所述第一寄存器块对象为顶层寄存器块对象,所述第一寄存器块对象包括多个子寄存器块对象;
第二生成单元,用于根据所述各个Host的寄存器映射信息及所述多个第一寄存器块对象,生成所述各个Host对应的第一寄存器映射表对象;
模型生成单元,用于根据所述多个第一寄存器块对象及所述第一寄存器映射表对象,生成所述待验证芯片对应的寄存器模型。
8.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现权利要求1至6中任一项所述的寄存器模型生成方法。
9.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行权利要求1至6任一项所述的寄存器模型生成方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310273057.8A CN115983173B (zh) | 2023-03-21 | 2023-03-21 | 寄存器模型生成方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310273057.8A CN115983173B (zh) | 2023-03-21 | 2023-03-21 | 寄存器模型生成方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115983173A CN115983173A (zh) | 2023-04-18 |
CN115983173B true CN115983173B (zh) | 2023-07-07 |
Family
ID=85965252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310273057.8A Active CN115983173B (zh) | 2023-03-21 | 2023-03-21 | 寄存器模型生成方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115983173B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501305B (zh) * | 2023-06-28 | 2023-10-13 | 芯耀辉科技有限公司 | 用于寄存器代码自动生成的方法、设备、介质及系统 |
CN117056897B (zh) * | 2023-10-13 | 2023-12-26 | 沐曦集成电路(上海)有限公司 | 用于芯片验证的配置信息处理方法、电子设备和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010262412A (ja) * | 2009-04-30 | 2010-11-18 | Fujitsu Ltd | 論理回路設計装置 |
US10216254B1 (en) * | 2016-06-29 | 2019-02-26 | Altera Corporation | Methods and apparatus for selectively extracting and loading register states |
CN113177020A (zh) * | 2021-03-31 | 2021-07-27 | 上海阵量智能科技有限公司 | 数据处理方法及装置 |
CN115758973A (zh) * | 2022-11-14 | 2023-03-07 | 芯盟科技有限公司 | 芯片寄存器设计文件的生成方法及装置、设备、存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7152123B2 (en) * | 2002-12-23 | 2006-12-19 | Micron Technology, Inc. | Distributed configuration storage |
JP5852677B2 (ja) * | 2011-12-26 | 2016-02-03 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | レジスタ・マッピング方法 |
US10853134B2 (en) * | 2018-04-18 | 2020-12-01 | Xilinx, Inc. | Software defined multi-domain creation and isolation for a heterogeneous System-on-Chip |
CN115113927A (zh) * | 2022-04-29 | 2022-09-27 | 腾讯科技(深圳)有限公司 | 寄存器模型处理方法、装置、计算机设备和存储介质 |
CN114912391A (zh) * | 2022-05-11 | 2022-08-16 | 杭州云合智网技术有限公司 | 寄存器设计和验证模型自动生成方法、装置、设备及介质 |
CN114996174A (zh) * | 2022-06-23 | 2022-09-02 | 杭州云合智网技术有限公司 | 对寄存器地址进行动态映射的方法、装置、设备及介质 |
CN115130402B (zh) * | 2022-08-30 | 2022-11-11 | 北京开源芯片研究院 | 一种缓存验证方法、系统、电子设备及可读存储介质 |
-
2023
- 2023-03-21 CN CN202310273057.8A patent/CN115983173B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010262412A (ja) * | 2009-04-30 | 2010-11-18 | Fujitsu Ltd | 論理回路設計装置 |
US10216254B1 (en) * | 2016-06-29 | 2019-02-26 | Altera Corporation | Methods and apparatus for selectively extracting and loading register states |
CN113177020A (zh) * | 2021-03-31 | 2021-07-27 | 上海阵量智能科技有限公司 | 数据处理方法及装置 |
CN115758973A (zh) * | 2022-11-14 | 2023-03-07 | 芯盟科技有限公司 | 芯片寄存器设计文件的生成方法及装置、设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115983173A (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115983173B (zh) | 寄存器模型生成方法、装置、计算机设备及存储介质 | |
US8984486B2 (en) | System, method, and computer program product for automated stability testing of device firmware | |
CN113076227A (zh) | Mcu验证方法、系统和终端设备 | |
CN112131827B (zh) | 一种芯片测试方法、系统、设备及存储介质 | |
CN113434355B (zh) | 模块验证方法、uvm验证平台、电子设备及存储介质 | |
CN102981949A (zh) | 一种在线自动测试服务器的方法 | |
CN114116510A (zh) | 一种接口参数校验方法及装置 | |
CN114662676A (zh) | 模型优化方法、装置、电子设备和计算机可读存储介质 | |
CN114091383A (zh) | 测试序列生成方法、装置、系统及相关设备 | |
CN117330935A (zh) | 一种集成电路测试方法、装置、介质 | |
CN115617819B (zh) | 数据存储方法、系统、计算机设备及存储介质 | |
WO2021031110A1 (zh) | 配置文件生成方法及装置、存储介质 | |
CN116167310A (zh) | 一种验证多核心处理器缓存一致性的方法及装置 | |
CN108334313A (zh) | 用于大型soc研发的持续集成方法、装置及代码管理系统 | |
CN111258838B (zh) | 验证组件生成方法、装置、存储介质及验证平台 | |
CN115174890A (zh) | 流量回放测试方法、装置、计算机设备及存储介质 | |
CN110865937B (zh) | 一种应用测试方法、装置和存储介质 | |
CN114490519A (zh) | Gim文件解析方法和装置、设备及存储介质 | |
CN113177020A (zh) | 数据处理方法及装置 | |
CN111580887A (zh) | 一种获取psu资产信息的方法、装置、设备及存储介质 | |
CN115220809A (zh) | 场景切换方法、计算机设备及可读存储介质 | |
CN103176776A (zh) | 创建元模型的系统和/或方法 | |
CN117407277A (zh) | 功能调试方法、装置、电子设备及计算机存储介质 | |
CN115242685B (zh) | 基于关联矩阵的回放测试方法、装置、设备及存储介质 | |
CN110750452B (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 | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |