一种集成电路展平式设计的字符串存储与查询系统及方法技术方案

技术编号:31814009 阅读:20 留言:0更新日期:2022-01-08 11:17
一种集成电路展平式设计的字符串存储与查询系统,包括,应用端、字符串存储查询单元,以及数据处理单元,其中,所述应用端,其加载并创建元素实体,通过API启动所述字符串存储查询单元的功能操作;所述字符串存储查询单元,其通过API执行插入电路元素及其字符串全名、指定字符串名称查询对应的电路元素、获取电路元素的字符串全名的操作;所述数据处理单元,构建字符串数据的数据结构,对存储器进行数据读写。本发明专利技术还提供一种集成电路展平式设计的字符串存储与查询方法,针对大规模集成电路展平式设计,充分利用了电路元素名称具有层次化和结构化的特点,将字符串存储的内存消耗大幅降低,同时加快了字符串的加载查询。同时加快了字符串的加载查询。同时加快了字符串的加载查询。

【技术实现步骤摘要】
一种集成电路展平式设计的字符串存储与查询系统及方法


[0001]本专利技术涉及大规模集成电路后端展平式设计
,尤其涉及一种集成电路展平式设计的字符串存储与查询系统及方法。

技术介绍

[0002]随着大规模集成电路进入深纳米量产时代,芯片的规模越来越大,表现为单位面积所承载的电路元器件的数目越来越多,因此物理后端电路设计需要模块化层次化设计,并且需要支持对海量的电路元素的名称进行加载、存储、计算等操作。在此背景下,针对展平式集成电路设计领域去开发出一套支持对海量的电路元素名称进行高效存储与查询的数据结构和算法,具有重要的理论和现实意义,从而可以使得EDA工具支持大规模集成电路设计制造的技术演进。
[0003]在集成电路后端展平式设计情形下,电路元素实例的字符串名称会展平显示其所有的层级结构(类似形如hierarchy1/hierarchy2/net[1]),由于高抽象层级的字符串会大量重复出现于展平后的低层级的电路元素字符串全名,导致传统的展平式设计会消耗大量的计算机内存空间资源,从而制约了EDA软件支持集成电路规模的持续演进。
[0004]传统的EDA工具针对大规模集成电路的展平式设计通常是采用哈希表的方案对电路元素字符串名称直接进行存储与查询,虽然这个方案可以做到查询速度的极致,但是却存在着大量消耗内存的缺点,目前业界并没有完善的解决方案在内存消耗与查询效率二者之间找到最佳的优化平衡点,因此设计一套高效的数据结构和算法具有重要的意义。
[0005]目前大规模集成电路后端展平式设计主要采用哈希表的方式存储电路元素字符串名称,此方式无法利用电路元素层次化的结构信息,因此在内存存储效率上存在严重浪费,尤其是在当电路规模快速增长的时候这个瓶颈将严重制约EDA工具的内存应用性能。

技术实现思路

[0006]为了解决现有技术存在的不足,本专利技术的目的在于提供一种集成电路展平式设计的字符串存储与查询系统及方法,利用电路元素字符串名称具有层次化结构化特点,设计的高效存储和查询的数据结构与算法,达到节约内存消耗而不严重牺牲查询速度的效果,从而使得大规模集成电路后端展平式设计可以支持电路规模不断大幅增长的技术演进需求。
[0007]为实现上述目的,本专利技术提供的集成电路展平式设计的字符串存储与查询系统,包括,应用端、字符串存储查询单元,以及数据处理单元,其中,所述应用端,其加载并创建元素实体,通过API启动所述字符串存储查询单元的功能操作;所述字符串存储查询单元,其通过API执行插入电路元素及其字符串全名、指定字符串名称查询对应的电路元素、获取电路元素的字符串全名的操作;所述数据处理单元,用于字符串数据结构,对存储器进行数据读写。
[0008]进一步地,所述应用端,还包括,对电路设计文件的读入解析和建模操作、加载并创建设计电路的元素实体;通过API启动所述字符串存储查询单元创建字符串名字、执行电路元素与字符串全名对应关系的加载、通过电路元素查询其对应的全名、通过字符串全名查询对应的电路元素。
[0009]进一步地,所述数据处理单元,其对电路元素全名按照层级分隔符划分成子字符串;将无重复的子字符串进行枚举编码,然后根据层级结构将各个子字符串的枚举编码值存储于树状的数据结构中;将电路元素的编号存储于树的叶子节点。
[0010]更进一步地,所述字符串数据结构,为树状数据结构,其节点定义如下:整型变量parent_edge_sub_str_id,为当前节点指向其父节点的边的编号;整型变量parent_node_id,为当前节点的父节点;联合体 uni,对叶子节点和非叶子节点分别存储不同的信息;对于非叶子节点,指针地址*nids,其指向的内存存储了当前节点的分支节点的编号;对于叶子节点,整型变量obj_id,叶子节点存储其所代表的元素的ID。
[0011]为实现上述目的,本专利技术还提供一种集成电路展平式设计的字符串存储与查询系统方法,包括以下步骤:构建字符串数据结构;字符串切词与编码;判断当前节点是否为叶子节点;非叶子节点的分支信息存储与高效查询。
[0012]进一步地,所述构建字符串数据结构的步骤,还包括,对电路元素全名按照层级分隔符划分成子字符串;将子字符串进行枚举编码,然后根据层级结构将各个子字符串的枚举编码值存储于树状的数据结构中;将电路元素的编号则存储于树的叶子节点。
[0013]进一步地,所述字符串数据结构,其节点定义如下:整型变量parent_edge_sub_str_id,为当前节点指向其父节点的边的编号;整型变量parent_node_id,为当前节点的父节点;联合体 uni,对叶子节点和非叶子节点分别存储不同的信息;指针地址*nids,其指向的内存存储了当前节点的分支节点的编号;整型变量obj_id,叶子节点存储其所代表的元素的ID。
[0014]进一步地,所述字符串切词与编码的步骤,还包括,将电路元素的全名按照层次分隔符进行切词;将切词子字符串进行枚举编码;构建两个子字符串与编码相互映射查询的哈希表,记录子字符串及其唯一编码的映射关系。
[0015]进一步地,所述判断当前节点是否为叶子节点的步骤,还包括,采用联合体的方式将叶子节点和非叶子节点共享同一内存空间,存储对应的元素编号或者分支信息;利用 整型变量parent_edge_sub_str_id的最高位存储和记录当前节
点是否为叶子节点;判断当前节点是否为叶子节点。
[0016]更进一步地,所述非叶子节点的分支信息存储与高效查询的步骤,还包括,以数组的下标作为哈希表的key,数组的下标等于子字符串的枚举编号,数组对应位置存储分支子节点的节点编号;如果一个子字符串编枚举号所对应的分支不存在,则数组对应的位置存储UINT32_MAX作为标记;当sub_str(按照层级分隔符切词后的无重复的子字符串)的数量增长到接近nids数组的长度时,对树的所有非叶子节点的nids 数组进行动态扩展。
[0017]为实现上述目的,本专利技术还提供一种电子设备,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行如上文所述的集成电路展平式设计的字符串存储与查询方法的步骤。
[0018]为实现上述目的,本专利技术还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时执行如上文所述的集成电路展平式设计的字符串存储与查询方法的步骤。
[0019]本专利技术的集成电路展平式设计的字符串存储与查询系统及方法,具有以下有益效果:本专利技术针对大规模集成电路展平式设计,充分利用了其电路元素名称具有层次化和结构化的特点,将字符串存储的内存消耗大幅降低,同时也能满足字符串快速加载查询的性能要求,使得展平式集成电路设计领域可以适应电路规模大幅增长的技术演进所带来的挑战。
[0020]本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。
附图说明
[0021]附图用来本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种集成电路展平式设计的字符串存储与查询系统,包括,应用端、字符串存储查询单元,以及数据处理单元,其中,所述应用端,其加载并创建元素实体,通过API启动所述字符串存储查询单元的功能操作;所述字符串存储查询单元,其通过API执行插入电路元素及其字符串全名、指定字符串名称查询对应的电路元素、获取电路元素的字符串全名的操作;所述数据处理单元,构建字符串数据的数据结构,对存储器进行数据读写。2.根据权利要求1所述的集成电路展平式设计的字符串存储与查询系统,其特征在于,所述应用端,还包括,对电路设计文件的读入解析和建模操作、加载并创建设计电路的元素实体;通过API启动所述字符串存储查询单元创建字符串名字、执行电路元素与字符串全名对应关系的加载、通过电路元素查询其对应的全名、通过字符串全名查询对应的电路元素。3.根据权利要求1所述的集成电路展平式设计的字符串存储与查询系统,其特征在于,所述数据处理单元,其对电路元素全名按照层级分隔符划分成子字符串;将不重复的子字符串进行枚举编码,然后根据层级结构将各个子字符串的枚举编码值存储于树状的数据结构中;将电路元素的编号存储于树的叶子节点。4.根据权利要求1所述的集成电路展平式设计的字符串存储与查询系统,其特征在于,所述字符串数据结构,为树状数据结构,其节点定义如下:整型变量parent_edge_sub_str_id,为当前节点指向其父节点的边的编号;整型变量parent_node_id,为当前节点的父节点;联合体 uni,对叶子节点和非叶子节点分别存储不同的信息;对非叶子节点而言,指针地址*nids,其指向的内存存储了当前节点的分支节点的编号;对叶子节点而言,整型变量obj_id,叶子节点存储其所代表的元素的ID。5.一种集成电路展平式设计的字符串存储与查询方法,包括以下步骤:构建字符串数据结构;字符串切词与编码;判断当前节点是否为叶子节点;非叶子节点的分支信息存储与高效查询。6.根据权利要求5所述的集成电路展平式设计的字符串存储与查询方法,其特征在于,所述构建字符串数据结构的步骤,还包括,对电路元素全名按照层级分隔符划分成子字符串;将无重复的子字符串进行枚举编码,然后根据层级结构将各个子字符串的枚举编码值存储于树状的数据结构中;将电路元素的...

【专利技术属性】
技术研发人员:王翔陈刚
申请(专利权)人:南京集成电路设计服务产业创新中心有限公司
类型:发明
国别省市:

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

1