CN118035519B - 一种分类查找方法、电子设备及存储介质 - Google Patents
一种分类查找方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN118035519B CN118035519B CN202410439142.1A CN202410439142A CN118035519B CN 118035519 B CN118035519 B CN 118035519B CN 202410439142 A CN202410439142 A CN 202410439142A CN 118035519 B CN118035519 B CN 118035519B
- Authority
- CN
- China
- Prior art keywords
- module
- classification
- design
- kindd
- mapping table
- 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 33
- 238000013461 design Methods 0.000 claims abstract description 68
- 238000013507 mapping Methods 0.000 claims abstract description 39
- 244000145841 kine Species 0.000 claims description 3
- 230000006870 function Effects 0.000 description 8
- 238000001914 filtration Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Abstract
本发明涉及EDA技术领域,特别是涉及一种分类查找方法、电子设备及存储介质,其通过获取N个设计模块的分类映射表,每个分类映射表中保存了相应设计模块中不同分类的位置信息,每个位置信息包括类别的唯一标识符及其类别下所有元素的所有位置索引范围;根据目标分类的唯一标识符查找每个设计模块的分类映射表,得到目标分类下的所有元素的所有位置索引范围;根据所有位置索引范围中的每个位置索引值查找设计模块的数据结构得到所有目标元素。相比较现有技术中需要遍历设计模块的数据结构中的所有元素,大幅度提高了查找效率。
Description
技术领域
本发明涉及EDA技术领域,特别是涉及一种分类查找方法、电子设备及存储介质。
背景技术
在芯片验证中,做完编译和仿真后,往往还需要使用Debug工具进行调试找出可能潜在的问题。其中,在大型的设计中,有些需求是分类查看某些设计模块(module)下的元素(children),例如元素为function、task、instance、signal或者classVar等。
目前分类查找的方法是根据过滤函数遍历所有的元素,进而查找到符合过滤条件的元素。该查找方法在元素的数量大的情况下,查找效率低。尤其是查找一个不存在的类型时,需要全部过滤所有的元素,造成不必要的时间消耗。因此,亟需一种查找效率高的分类查找方法。
发明内容
针对上述技术问题,本发明采用的技术方案为:一种分类查找方法,所述方法包括如下步骤:
S100,获取N个设计模块的分类映射表module={module1,module2,…,modulei,…,moduleN},modulei为第i个设计模块的分类映射表,i的取值范围为1到N;modulei中保存了第i个设计模块中M个分类的位置信息{kindDi,1,kindDi,2,…,kindDi,j,…,kindDi,M},其中kindDi,j为modulei中第j个分类kindj的位置信息,j的取值范围为1到M;kindDi,j包括kindj的唯一标识符tagj和在第i个设计模块中kindj下所有元素的所有位置索引范围rangi,j。
S300,获取目标分类的唯一标识符tagr。
S500,根据tagr查找module中每个设计模块的分类映射表,得到tagr关联的分类kindr下的所有目标元素;其中,当查找modulei时包括:
S520,当在modulei中查找到tagr时,得到目标位置信息kindDi,r;其中,kindDi,r包括tagr和rangi,r,rangi,r为kindr下所有元素在源文件中所有的目标位置索引范围。
S540,遍历rangi,r中的每个目标位置索引范围,得到M个目标位置索引值。
S560,分别根据M个目标位置索引值查找设计模块的数据结构,得到modulei中kindr下的所有目标元素。
此外,本发明还提供了一种非瞬时性计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现上述方法。
此外,本发明还提供了一种电子设备,包括处理器和上述非瞬时性计算机可读存储介质。
本发明至少具有以下有益效果:
本发明提供的一种分类查找方法、电子设备及存储介质,其通过分类映射表存储不同类别的位置索引范围,在查找时首先根据用户指定的目标分类查找分类映射表,此时能够过滤掉在module中不存在的分类,若存在目标分类则能够直接定位到目标分类的位置索引范围;然后在设计模块的数据结构中遍历查找位置索引范围得到所有目标元素。相比较现有技术中需要遍历设计模块的数据结构中的所有元素,大幅度提高了查找效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种分类查找元素的方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了一种分类查找方法,所述方法包括如下步骤:
S100,获取N个设计模块的分类映射表module={module1,module2,…,modulei,…,moduleN},modulei为第i个设计模块的分类映射表,i的取值范围为1到N;modulei中保存了第i个设计模块中M个分类的位置信息{kindDi,1,kindDi,2,…,kindDi,j,…,kindDi,M},其中kindDi,j为modulei中第j个分类kindj的位置信息,j的取值范围为1到M;kindDi,j包括kindj的唯一标识符tagj和在第i个设计模块中kindj下所有元素的所有位置索引范围rangi,j。
其中,每个设计模块对应一个分类映射表。
需要说明的是,分类映射表中所保存的数据为源文件中每个分类中所有元素在设计模块的数据结构中位置的索引。其中,源文件中保存了源代码,源代码是用硬件描述语言编写的一组指令集合,是开发阶段编写的源文件。可选的,硬件描述语言为Verilog、systemVerilog和HDL中的任意一种,现有技术中其他硬件描述语言也落入本发明的保护范围之内。源代码采用分层设计,分层设计是一种软件架构模式,它将程序的不同功能和责任划分为多个层次,每个层次专注于不同的任务,并通过接口相互交互。其中,设计模块为层次结构中的特定功能模块。其中,一个用户设计中包括多个设计模块,每个设计模块的源代码中包括多种不同类型的元素。
可选的,不同类型的元素为功能模块(function)、任务(task)、在模块设计中的模块实例化(instances)、信号(signal)或者变量(Variable)。现有技术中其他类别的元素也落入本发明的保护范围之内。其中,对于源文件,在设计模块中相同类型的元素通常集中分布在连续的行范围内,因此,相同类型的元素在数据结构中的存储位置在连续的范围内。例如,通常集中定义变量,第f行定义“int i;”,第f+1行定义“bit b;”,第f+2行定义“stringstr”等。
其中,设计模块之间可能是独立的关系,也可能存在嵌套关系,也即在一个设计模块中调用另一个设计模块。当第i个设计模块中嵌套有第q个设计模块时,获取第q个设计模块的分类映射表moduleq,其中modulei和moduleq均为module中的成员,q的取值范围为1到N,且q≠i。module中的所有成员均为平行关系,相互独立,不相互依赖,不具有嵌套关系。
可选的,kindj下所有元素在数据结构中的所有位置索引范围的数量为U(j)个位置索引范围,U(j)的值为大于等于1的整数。当U(j)等于1时,说明第i个设计模块中第j个分类kindj中的所有元素集中分布在连续的位置,因此获取到一个连续的位置索引范围。当U(j)大于1时,说明第i个设计模块中第j个分类kindj中的所有元素并未集中分布在连续的位置,可能分布在不同的位置,因此获取到多个位置索引范围。
作为一个优选实施例,S100中还包括modulei的获取步骤:
S110,绑定每个类别及其位置信息的关系,得到分类映射关系模板;其中位置信息被配置为位置索引范围且保存在预设容器中。其中预设容器为动态数组,也即rangi,j为动态数组,允许动态的向动态数组中增加、删除或访问对象,在动态数组中的每个对象为位置索引范围。需要说明的是,在硬件描述语言中,通过定义结构体实现分类映射关系模板。
S120,根据分类映射关系模板获取每个设计模块的分类映射表。通过对分类映射关系模板进行实例化得到不同设计模块的分类映射表,通过分类映射关系模板能够快速的获取每个设计模块的分类映射表。
可选的,modulei为哈希表,其中键为tagj,值为rangi,j,哈希值用于存储rangi,j在分类映射关系表的数据结构中的位置。现有技术中其他用于保存设计模块中不同分类的位置信息的方法均落入本发明的保护范围之内。
可选的,tagj为分类名或者唯一分类编号,现有技术中用于表示分类的唯一标识符的其他表示方法均落入本发明的保护范围之内。
可选的,位置索引范围包括起始位置的索引值和结束位置的索引值。现有技术中用于表示位置索引范围的其他表示方法均落入本发明的保护范围之内。
可选的,索引值(Index)为设计模块的数据结构中元素的位置标识。
S300,获取目标分类的唯一标识符tagr。
需要说明的是,tagr为用户直接或者间接指定的目标分类的唯一标识符。tagr可以是包括在module中的分类的唯一标识符,此时能够在module中查找到对应的分类映射表。也可以是未包括在module中的分类的唯一标识符,此时在module中不能查找到相应的分类映射表。
S500,根据tagr查找module中每个设计模块的分类映射表,得到tagr关联的分类kindr下的所有目标元素。
其中,在查找的过程中,若第i个设计模块中嵌套有第q个设计模块,则需要分别查找第i个设计模块的分类映射表modulei和第q个设计模块的分类映射表moduleq中是否存在tagr。
进一步,当查找modulei时包括:
S520,当在modulei中查找到tagr时,得到目标位置信息kindDi,r;其中,kindDi,r包括tagr和rangi,r,rangi,r为kindr下所有元素在源文件中所有的目标位置索引范围。
其中,当在modulei中查找到kindDi,r时,r的取值范围为1到M。
S540,遍历rangi,r中的每个目标位置索引范围,得到M个目标位置索引值。
需要说明的是,将目标位置索引范围展开得到独立的目标位置索引值。例如当kindDi,r中所有的目标位置索引范围为1-3和7-8时,则对应的目标位置索引值展开为1、2、3、7和8。
S560,分别根据M个目标位置索引值查找设计模块的数据结构,得到modulei中kindr下的所有目标元素。
可选的,设计模块的数据结构为哈希表。其中,设计模块的哈希表的键为索引值,值为元素,哈希值用于存储元素在设计模块的数据结构中的位置。当通过目标位置索引值查找设计模块的数据结构时,当查找到目标位置索引值为哈希表中键的索引值时,则提取哈希表中与目标位置索引值绑定的元素。现有技术中设计模块的其他方式实现的数据结构均落入本发明的保护范围之内。
可选的,元素为元素名或者元素本体。其中,当元素为功能模块(function)时,元素本体为整个功能模块;当元素为变量时,元素本体为变量本身。现有技术中作为值的元素的其他实现形式均落入本发明的保护范围之内。
需要说明的是,通过S520-S540的方法查找其他设计模块获取目标元素。
作为一个优选实施例,S500还包括:S510,当在modulei中未查找到tagr时,结束对modulei的查找。无需逐个遍历设计模块的数据结构,提高查找效率。S510的步骤和S520-S540的步骤不同时执行,二者择一执行。
综上所述,本发明提供的方法通过分类映射表存储不同类别的位置索引范围,在查找时需要进行两级查找,其中第一级查找,需要根据用户指定的目标分类查找分类映射表,此时能够过滤掉在module中不存在的分类,若存在目标分类能够直接定位到目标分类的位置索引范围;第二级查找,在设计模块的数据结构中遍历查找目标分类的位置索引范围中的位置索引值得到目标元素。相比较现有技术中需要遍历设计模块的数据结构中的所有元素,大幅度提高了查找效率。
本发明的实施例还提供了一种非瞬时性计算机可读存储介质,该存储介质可设置于电子设备之中以保存用于实现方法实施例中一种方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述实施例提供的方法。
本发明的实施例还提供了一种电子设备,包括处理器和前述的非瞬时性计算机可读存储介质。
本发明的实施例还提供一种计算机程序产品,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使该电子设备执行本说明书上述描述的根据本发明各种示例性实施方式的方法中的步骤。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本发明的范围和精神。本发明公开的范围由所附权利要求来限定。
Claims (10)
1.一种分类查找方法,其特征在于,所述方法包括如下步骤:
S100,获取N个设计模块的分类映射表module={module1,module2,…,modulei,…,moduleN},modulei为第i个设计模块的分类映射表,i的取值范围为1到N;modulei中保存了第i个设计模块中M个分类的位置信息{kindDi,1,kindDi,2,…,kindDi,j,…,kindDi,M},其中kindDi,j为modulei中第j个分类kindj的位置信息,j的取值范围为1到M;kindDi,j包括kindj的唯一标识符tagj和在第i个设计模块中kindj下所有元素的所有位置索引范围rangi,j;其中,kindj下所有元素在数据结构中的所有位置索引范围的数量为U(j)个位置索引范围,U(j)的值为大于等于1的整数;
S300,获取目标分类的唯一标识符tagr;
S500,根据tagr查找module中每个设计模块的分类映射表,得到tagr关联的分类kindr下的所有目标元素;其中,当查找modulei时包括:
S520,当在modulei中查找到tagr时,得到目标位置信息kindDi,r;其中,kindDi,r包括tagr和rangi,r,rangi,r为kindr下所有元素在源文件中所有的目标位置索引范围;
S540,遍历rangi,r中的每个目标位置索引范围,得到M个目标位置索引值;
S560,分别根据M个目标位置索引值查找设计模块的数据结构,得到modulei中kindr下的所有目标元素。
2.根据权利要求1所述的方法,其特征在于,S500还包括:
S510,当在modulei中未查找到tagr时,结束对modulei的查找。
3.根据权利要求1所述的方法,其特征在于,S100中,当第i个设计模块中嵌套有第q个设计模块时,获取第q个设计模块的分类映射表moduleq,其中modulei和moduleq均为module中的成员,q的取值范围为1到N,且q≠i。
4.根据权利要求1所述的方法,其特征在于,S100中,所述modulei为哈希表,其中键为tagj,值为rangi,j,哈希值用于存储rangi,j在分类映射关系表的数据结构中的位置。
5.根据权利要求1所述的方法,其特征在于,S100,所述位置索引范围包括起始位置的索引值和结束位置的索引值。
6.根据权利要求1所述的方法,其特征在于,S100中还包括modulei的获取步骤:
S110,绑定每个类别及其位置信息的关系,得到分类映射关系模板;其中位置信息被配置为位置索引范围且保存在预设容器中;
S120,根据分类映射关系模板获取每个设计模块的分类映射表。
7.根据权利要求6所述的方法,其特征在于,S110中,所述预设容器为动态数组,在动态数组中的每个对象为位置索引范围。
8.根据权利要求1所述的方法,其特征在于,S100中的tagj为分类名或唯一分类编号。
9.一种非瞬时性计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,其特征在于,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1-8中任意一项的所述方法。
10.一种电子设备,其特征在于,包括处理器和权利要求9中所述的非瞬时性计算机可读存储介质。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410439142.1A CN118035519B (zh) | 2024-04-12 | 一种分类查找方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410439142.1A CN118035519B (zh) | 2024-04-12 | 一种分类查找方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118035519A CN118035519A (zh) | 2024-05-14 |
CN118035519B true CN118035519B (zh) | 2024-06-21 |
Family
ID=
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116820602A (zh) * | 2023-05-25 | 2023-09-29 | 成都融见软件科技有限公司 | 一种数据库部分加载系统 |
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116820602A (zh) * | 2023-05-25 | 2023-09-29 | 成都融见软件科技有限公司 | 一种数据库部分加载系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104636478B (zh) | 信息查询方法和设备 | |
US6212532B1 (en) | Text categorization toolkit | |
US6021405A (en) | System and method for optimizing database queries with improved performance enhancements | |
US8503769B2 (en) | Matching text to images | |
US8112448B2 (en) | Table classification device, table classification method, and table classification program | |
CN111353310A (zh) | 基于人工智能的命名实体识别方法、装置及电子设备 | |
CN108520002A (zh) | 数据处理方法、服务器及计算机存储介质 | |
CN107491487A (zh) | 一种全文数据库架构及位图索引创建、数据查询方法、服务器及介质 | |
CA2451523A1 (en) | Managing reusable software assets | |
EP3762834A1 (en) | System and method for searching based on text blocks and associated search operators | |
CN109344227A (zh) | 工单处理方法、系统和电子设备 | |
KR101472451B1 (ko) | 디지털 콘텐츠 관리 시스템 및 방법 | |
CN104462349A (zh) | 一种文件处理方法及装置 | |
CN110956271A (zh) | 一种海量数据的多级分类方法及装置 | |
CN118035519B (zh) | 一种分类查找方法、电子设备及存储介质 | |
CN109299106B (zh) | 数据查询方法和装置 | |
CN118035519A (zh) | 一种分类查找方法、电子设备及存储介质 | |
CN116756395A (zh) | 一种用于城建档案的电子化归档方法及系统 | |
CN116737758A (zh) | 一种数据库查询语句的生成方法、装置、设备及存储介质 | |
JPH08305724A (ja) | 設計支援情報文書管理装置 | |
CN116226108A (zh) | 可实现不同治理程度的数据治理方法及系统 | |
KR101440475B1 (ko) | 혼합 질의 처리를 위한 색인 생성 방법, 혼합 질의 처리 방법 및 색인 자료구조를 기록한 기록 매체 | |
Ogier et al. | Madonne: document image analysis techniques for cultural heritage documents | |
JP2000231560A (ja) | 文書自動分類方式 | |
US20050060314A1 (en) | System and methods involving a data structure searchable with O(logN) performance |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |