CN117371386B - 电路布局更新方法、装置、设备及存储介质 - Google Patents
电路布局更新方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117371386B CN117371386B CN202311674541.8A CN202311674541A CN117371386B CN 117371386 B CN117371386 B CN 117371386B CN 202311674541 A CN202311674541 A CN 202311674541A CN 117371386 B CN117371386 B CN 117371386B
- Authority
- CN
- China
- Prior art keywords
- gate
- level netlist
- power consumption
- module
- low
- 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 47
- 230000008859 change Effects 0.000 claims abstract description 99
- 238000002955 isolation Methods 0.000 claims description 44
- 238000012795 verification Methods 0.000 claims description 30
- 238000013507 mapping Methods 0.000 claims description 14
- 238000013461 design Methods 0.000 abstract description 37
- 238000003786 synthesis reaction Methods 0.000 abstract description 8
- 238000012986 modification Methods 0.000 abstract description 5
- 230000004048 modification Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- YZMCKZRAOLZXAZ-UHFFFAOYSA-N sulfisomidine Chemical compound CC1=NC(C)=CC(NS(=O)(=O)C=2C=CC(N)=CC=2)=N1 YZMCKZRAOLZXAZ-UHFFFAOYSA-N 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000012942 design verification Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000002279 physical standard Substances 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- 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/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/323—Translation or migration, e.g. logic to logic, hardware description language [HDL] translation or netlist translation
-
- 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)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明提供了一种电路布局更新方法、装置、设备及存储介质,其中,该方法包括:获取集成电路的第一统一功耗格式文件和第二统一功耗格式文件以及对应的第一门级网表和第二门级网表;根据第一统一功耗格式文件和第二统一功耗格式文件分别从对应的第一门级网表和第二门级网表中识别低功耗模块;根据两低功耗模块的模块差异,生成工程变更指令,并根据工程变更指令和第二门级网表生成结果门级网表;根据结果门级网表更新集成电路的电路布局。本方法以统一功耗格式文件为辅助,在门级网表上自动对低功耗模块进行工程变更,规避了重新综合带来的使设计流程时间延长的风险,同时避免了由工程师手动修改门级网表可能产生的错误。
Description
技术领域
本发明涉及集成电路领域,尤其涉及一种电路布局更新方法、装置、设备及存储介质。
背景技术
数字芯片设计流程中,为了满足低功耗的设计需求,需要加入一些特殊的模块来实现电源关断、电压域隔离等功能,这就是LP(Low Power,低功耗)技术。LP技术通常通过UPF(Unified Power Format,统一功耗格式文件)将低功耗模块插入到电路中。在数字芯片设计过程中,有时需要对LP模块进行修改或调整,以满足各种需求。其中,原UPF设计有问题或dft(Design For Test,可测性设计)、pr(placement and routing,布局和布线)阶段的门级网表发生变化会导致低功耗设计规范破坏,进而需要对LP模块进行调整或修改。现有的LP模块进行调整或修改并应用通常是对对应的UPF文件作相应调整后重新综合,进而实现对LP模块的调整,然而在重新综合时会耗费大量时间,从而使整个设计流程花费的时间被大幅拉长,导致设计效率降低。
发明内容
本发明的主要目的在于解决现有的数值芯片设计流程中LP模块调整需要对对应的UPF文件作相应调整后重新综合,导致设计效率降低的技术问题。
本发明第一方面提供了一种电路布局更新方法,所述电路布局更新方法包括:
获取集成电路的第一统一功耗格式文件和第二统一功耗格式文件以及所述第一统一功耗格式文件对应的第一门级网表和所述第二统一功耗格式文件对应的第二门级网表;
根据所述第一统一功耗格式文件和第二统一功耗格式文件分别从对应的第一门级网表和第二门级网表中识别低功耗模块;
确定所述第一门级网表中的低功耗模块和第二门级网表中的低功耗模块之间的模块差异;
根据所述模块差异,生成所述第二门级网表的工程变更指令,并根据所述工程变更指令和所述第二门级网表生成结果门级网表;
根据所述结果门级网表更新所述集成电路的电路布局。
可选的,在本发明第一方面的第一种实现方式中,所述根据所述第一统一功耗格式文件和第二统一功耗格式文件分别从对应的第一门级网表和第二门级网表中识别低功耗模块包括:
对所述第一统一功耗格式文件和第二统一功耗格式文件进行文件解析,得到对应的低功耗策略;
对所述第一门级网表和所述第二门级网表进行遍历,识别所述第一门级网表和所述第二门级网表中的逻辑单元;
根据所述低功耗策略在第一门级网表和第二门级网表中识别遍历的逻辑单元之间的低功耗模块。
可选的,在本发明第一方面的第二种实现方式中,所述确定所述第一门级网表中的低功耗模块和第二门级网表中的低功耗模块之间的模块差异包括:
根据所述第一门级网表中的低功耗模块和第二门级网表中的低功耗模块对所述第一统一功耗格式文件和第二统一功耗格式文件中的低功耗策略进行匹配,得到匹配结果;
将所述匹配结果中的低功耗策略进行参数比对,得到参数差异;
根据所述参数差异,确定所述第一门级网表中的低功耗模块和第二门级网表中的低功耗模块之间的模块差异。
可选的,在本发明第一方面的第三种实现方式中,所述根据所述模块差异,生成所述第二门级网表的工程变更指令,并根据所述工程变更指令和所述第二门级网表生成结果门级网表包括:
确定所述模块差异的差异类型和差异信息,并获取所述工程变更指令的格式规范映射文件;
根据所述格式规范映射文件生成所述差异类型和差异信息对应的工程变更指令;
根据所述工程变更指令和所述第二门级网表生成结果门级网表。
可选的,在本发明第一方面的第四种实现方式中,所述工程变更指令包括位置变化指令,所述低功耗模块包括隔离模块;
所述根据所述工程变更指令和所述第二门级网表生成结果门级网表包括:
根据所述位置变化指令确定所述隔离模块在所述第二门级网表中的第一位置;
将所述隔离模块从所述第一位置上删除,并根据所述位置变化指令确定所述隔离模块在所述第二门级网表的第二位置;
在所述第二门级网表的第二位置添加所述隔离模块,得到结果门级网表。
可选的,在本发明第一方面的第五种实现方式中,所述工程变更指令包括参数变化指令;所述根据所述工程变更指令和所述第二门级网表生成结果门级网表还包括:
根据所述参数变化指令获取所述低功耗模块的当前使能信号来源;
从所述参数变化指令中读取待替换使能信号来源;
根据所述待替换使能信号来源对所述第二门级网表中所述低功耗模块的当前使能信号来源进行更新,生成结果门级网表。
可选的,在本发明第一方面的第六种实现方式中,在所述根据所述模块差异,生成所述第二门级网表的工程变更指令,并根据所述工程变更指令和所述第二门级网表生成结果门级网表之后,还包括:
对所述第一门级网表和所述结果门级网表进行逻辑等价验证,得到逻辑等价验证结果;
若所述逻辑等价验证结果为结果一致,则根据所述结果门级网表更新所述集成电路的电路布局;
若所述逻辑等价验证结果为结果不一致,则确定所述逻辑等价验证结果的逻辑差异,并根据所述逻辑差异对所述结果门级网表进行调整。
本发明第二方面提供了一种电路布局更新装置,所述电路布局更新装置包括:
获取模块,用于获取集成电路的第一统一功耗格式文件和第二统一功耗格式文件以及所述第一统一功耗格式文件对应的第一门级网表和所述第二统一功耗格式文件对应的第二门级网表;
识别模块,用于根据所述第一统一功耗格式文件和第二统一功耗格式文件分别从对应的第一门级网表和第二门级网表中识别低功耗模块;
差异确定模块,用于确定所述第一门级网表中的低功耗模块和第二门级网表中的低功耗模块之间的模块差异;
指令生成模块,用于根据所述模块差异,生成所述第二门级网表的工程变更指令,并根据所述工程变更指令和所述第二门级网表生成结果门级网表;
布局更新模块,用于根据所述结果门级网表更新所述集成电路的电路布局。
本发明第三方面提供了一种电路布局更新装置,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述电路布局更新设备执行上述的电路布局更新方法的步骤。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的电路布局更新方法的步骤。
上述电路布局更新方法、装置、设备及存储介质,通过获取集成电路的第一统一功耗格式文件和第二统一功耗格式文件以及所述第一统一功耗格式文件对应的第一门级网表和所述第二统一功耗格式文件对应的第二门级网表;根据所述第一统一功耗格式文件和第二统一功耗格式文件分别从对应的第一门级网表和第二门级网表中识别低功耗模块;确定所述第一门级网表中的低功耗模块和第二门级网表中的低功耗模块之间的模块差异;根据所述模块差异,生成所述第二门级网表的工程变更指令,并根据所述工程变更指令和所述第二门级网表生成结果门级网表;根据所述结果门级网表更新所述集成电路的电路布局。本方法通过以统一功耗格式文件为辅助,在门级网表上自动对低功耗模块进行工程变更,规避了重新综合带来的使设计流程时间延长的风险,同时避免了由工程师手动修改门级网表可能产生的错误。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
图1为本发明实施例中电路布局更新方法的第一个实施例示意图;
图2为本发明实施例中电路布局更新装置的一个实施例示意图;
图3为本发明实施例中电路布局更新装置的另一个实施例示意图;
图4为本发明实施例中电路布局更新设备的一个实施例示意图;
图5为本发明实施例中电路布局更新方法的第一个门级网表结构示意图;
图6为本发明实施例中电路布局更新方法的第二个门级网表结构示意图;
图7为本发明实施例中电路布局更新方法的第三个门级网表结构示意图;
图8为本发明实施例中电路布局更新方法的第四个门级网表结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种电路布局更新方法进行详细介绍。如图1所示,该集成电路的电路布局更新的方法,本方法包括如下步骤:
101、获取集成电路的第一统一功耗格式文件和第二统一功耗格式文件以及第一统一功耗格式文件对应的第一门级网表和第二统一功耗格式文件对应的第二门级网表;
在实际应用中,统一功耗格式文件(Unified Power Format,UPF)是一种用于描述电子芯片的功耗相关信息的标准文件格式。它主要用于电子设计自动化(EDA)工具中,以确保设计在功耗管理方面的正确性和有效性。UPF文件包含了设计中各个组件(比如模块、单元、时钟域等)的功耗信息,例如电源供应策略、时钟门控规则、时钟关系、功率模式等。通过使用UPF文件,设计工程师可以指定不同功耗模式下的电源策略和约束,以实现功耗的优化管理。使用UPF文件可以帮助设计工程师在整个设计流程中进行功耗分析和优化,例如在电源管理、时钟门控、电源域划分等方面做出合理的决策。此外,UPF文件还与其他设计验证工具集成,以确保设计满足功耗方面的需求。在实际应用中,对LP模块进行调整一般通过统一功耗格式文件,将低功耗模块插入到电路中,也就是说,当需要将低功耗模块插入到电路时,需要重新设计统一功耗格式文件,也就存在新旧两个统一功耗格式文件。
在本发明的一个实施例中,将新的统一功耗格式文件作为第一统一功耗格式文件,将旧的统一功耗格式文件作为第二统一功耗格式文件。在电路设计中,首先会进行逻辑合成,将RTL(Register-Transfer Level)描述转换为门级网表。门级网表是由逻辑门和连线组成的电路描述,它表示了电路中各个元件之间的逻辑关系。接着,在进行低功耗设计时,设计人员需要根据低功耗要求编写UPF文件。UPF文件中包含了有关电路中低功耗模块的描述、睡眠状态、时序约束等信息。然后,综合工具会将UPF文件与门级网表相结合。综合工具会根据UPF中的规则,将低功耗模块插入到门级网表中,并生成相应的电路结构。通过上述过程,新旧统一功耗格式文件存在对应的新旧门级网表,在本实施例中,也就是第一门级网表和第二门级网表,然而,直接根据根据UPF中的规则,将低功耗模块插入到门级网表中有可能导致原来的门级网表发生变化,从而破坏了低功耗的设计规范,因此,在本实施例中,不直接使用新的统一功耗格式文件对应的第一门级网表,而是通过对第二门级网表进行修改,得到结果门级网表,并进行应用。
102、根据第一统一功耗格式文件和第二统一功耗格式文件分别从对应的第一门级网表和第二门级网表中识别低功耗模块;
在本发明的一个实施例中,所述根据所述第一统一功耗格式文件和第二统一功耗格式文件分别从对应的第一门级网表和第二门级网表中识别低功耗模块包括;对所述第一统一功耗格式文件和第二统一功耗格式文件进行文件解析,得到对应的低功耗策略;对所述第一门级网表和所述第二门级网表进行遍历,识别所述第一门级网表和所述第二门级网表中的逻辑单元;根据所述低功耗策略在第一门级网表和第二门级网表中识别遍历的逻辑单元之间的低功耗模块。
具体的,解析第一统一功耗格式文件和第二统一功耗格式文件,需要将其中的信息转换为可读取的数据结构。这可以通过编写解析器来实现,使用相应的语法规则和解析算法从UPF文件中提取所需的低功耗策略。然后,读取门级网表文件,并将其转换为内部的数据结构表示。将根据UPF文件中定义的低功耗策略,与门级网表进行匹配。通过比对低功耗模块的实例名、规则、电源域等属性,在门级网表中找到匹配的逻辑单元。一旦匹配成功,系统会将相应的逻辑单元标记为低功耗模块。
103、确定所述第一门级网表中的低功耗模块和第二门级网表中的低功耗模块之间的模块差异;
在本发明的一个实施例中,所述确定所述第一门级网表中的低功耗模块和第二门级网表中的低功耗模块之间的模块差异包括:根据所述第一门级网表中的低功耗模块和第二门级网表中的低功耗模块对所述第一统一功耗格式文件和第二统一功耗格式文件中的低功耗策略进行匹配,得到匹配结果;将所述匹配结果中的低功耗策略进行参数比对,得到参数差异;根据所述参数差异,确定所述第一门级网表中的低功耗模块和第二门级网表中的低功耗模块之间的模块差异。
具体的,在数字芯片设计流程中考虑到低功耗的设计需求,需要在电路中加入一些特殊的模块来实现电源关断,电压域隔离等功能,以这两个功能为例,分别对应isolation和level shifter策略,isolation和level shifter策略可以有效降低功耗。isolation策略可以将某些模块或电路切断与供电相关的连接,使其处于睡眠或低功耗状态。level shifter策略则可实现不同电源域之间的能量转移,避免过渡电流和能量损耗。根据新旧UPF上的信息,在对应的新旧门级网表中抓取isolation和level shifter策略指导生成的所有LP模块后,会将这些模块和策略一一对应匹配,进而方便新旧UPF上的低功耗策略进行参数比对,得到两者在参数上的差异。例如,在旧的统一功耗根式文件中,isolation策略中的相关设置参数如下:
create_power_domian AON -elements aon
create_power_domain MCU -elements mcu
set_isolation iso1
-domain MCU
-applies_to outputs
-location self
在新的统一功耗根式文件中,isolation策略中的相关设置参数如下:
create_power_domian AON -elements aon
create_power_domain MCU -elements mcu
set_isolation iso1
-domain MCU
-applies_to outputs
-location parent
而在对应的门级网表中,旧门级网表如图5所示,新门级网表如图6所示,根据参数比较,可以发现isolation的location参数发生变换,iso1这个isolation模块的location从self变换为parent,在门级网表中的体现就是这个isolation模块的位置从mcu电压域的里面移动到了外面。在其他条件都不变的情况下,这个isolation模块的位置就会在新门级网表所示的地方,对这种情况进行ECO的时候,会首先将这个isolation模块与UPF中iso1这个策略进行匹配。之后发现iso1这个策略的location参数发生了变化,然后在新旧UPF的辅助下,将旧门级网表中的这个isolation模块删除,再将一个isolation模块插入到旧门级网表中正确的位置上。这个流程过后,其余不涉及变换的模块将会维持原来的位置不变。
104、根据模块差异,生成第二门级网表的工程变更指令,并根据工程变更指令和第二门级网表生成结果门级网表;
在本发明的一个实施例中,所述根据所述模块差异,生成所述第二门级网表的工程变更指令,并根据所述工程变更指令和所述第二门级网表生成结果门级网表包括:确定所述模块差异的差异类型和差异信息,并获取所述工程变更指令的格式规范映射文件;根据所述格式规范映射文件生成所述差异类型和差异信息对应的工程变更指令;根据所述工程变更指令和所述第二门级网表生成结果门级网表。
具体的,确定所述模块差异的差异类型和差异信息,是指对比两个不同版本的模块或电路设计,并确定它们之间存在的具体差异。差异类型可以包括结构差异、功能差异、时序差异等。差异信息则是描述这些差异的详细信息,如具体的电路元件变动、信号路径改变等。获取所述工程变更指令的格式规范映射文件,是为了将模块差异转化为工程变更指令的格式规范。这个映射文件可以定义不同的差异类型和对应的工程变更指令格式,以便后续生成变更指令。根据所述格式规范映射文件生成所述差异类型和差异信息对应的工程变更指令,意味着根据模块差异的具体情况和映射文件中定义的规范,生成相应的工程变更指令。这些指令可以是一系列命令、脚本或程序,用于实现对电路设计的修改和更新。生成工程变更指令时,需要考虑差异类型、差异信息以及设计工具和环境的要求。根据所述工程变更指令和所述第二门级网表生成结果门级网表,是将工程变更指令应用到第二门级网表上,进行电路的布局和连接的更新。这个过程可以利用设计工具或脚本来自动化地完成。最终生成的结果门级网表则反映了根据差异信息进行修改后的电路布局和连接结构。
进一步的,所述工程变更指令包括参数变化指令;所述根据所述工程变更指令和所述第二门级网表生成结果门级网表还包括:根据所述参数变化指令获取所述低功耗模块的当前使能信号来源;从所述参数变化指令中读取待替换使能信号来源;根据所述待替换使能信号来源对所述第二门级网表中所述低功耗模块的当前使能信号来源进行更新,生成结果门级网表。
具体的,除了isolation的location发生变换外,isolation的isolation_signal参数也可能发生变换,例如,在旧的统一功耗根式文件中,isolation策略中的相关设置参数如下:
set isolation iso1
-domain MCU
-sink AON
-source MCU
-applies_to outputs
-location fanout
-isolation_signal pc/a
-isolation sense high
在新的统一功耗根式文件中,isolation策略中的相关设置参数如下:
set isolation iso1
-domain MCU
-sink AON
-source MCU
-applies_to outputs
-location fanout
-isolation_signal pc/b
-isolation sense high
而在对应的门级网表中,旧门级网表如图7所示,新门级网表如图8所示,
根据参数比较,可以发现isolation的isolation_signa参数发生变换,iso1这个isolation模块的isolation_signal从pc/a变换为pc/b,在门级网表中的体现就是这个isolation模块的使能信号的来源从pc这个模块的a端变换为b端。在对这种情况进行ECO的时候,会首先将这个isolation模块与UPF中iso1这个策略进行匹配。之后发现iso1这个策略的isolation_signal参数发生了变化,然后在新旧UPF的辅助下,由于这个模块只是发生了变换,不需要进行删除操作,所以将旧门级网表中的这个isolation模块的使能端从pc/a变换为pc/b即可。这个流程过后,其余不涉及变换的模块将会维持原来的位置不变。
进一步的,在所述根据所述模块差异,生成所述第二门级网表的工程变更指令,并根据所述工程变更指令和所述第二门级网表生成结果门级网表之后,还包括:对所述第一门级网表和所述结果门级网表进行逻辑等价验证,得到逻辑等价验证结果;若所述逻辑等价验证结果为结果一致,则根据所述结果门级网表更新所述集成电路的电路布局;若所述逻辑等价验证结果为结果不一致,则确定所述逻辑等价验证结果的逻辑差异,并根据所述逻辑差异对所述结果门级网表进行调整。
具体的,所述第一门级网表和所述结果门级网表进行逻辑等价验证,指的是将设计电路的逻辑行为模型转化为逻辑门级电路模型,然后进行逻辑等价性验证。逻辑等价性验证就是比较两个电路模型在所有可能输入下的输出是否相同,如果两个电路模型的输出相同,则说明它们等价。若所述逻辑等价验证结果为结果一致,则根据所述结果门级网表更新所述集成电路的电路布局。这意味着电路设计没有错误,可以继续下一步的IC设计流程。如果逻辑等价验证结果为结果不一致,则需要确定所述逻辑等价验证结果的逻辑差异,并根据所述逻辑差异对所述结果门级网表进行调整。逻辑差异指的是设计电路模型和逻辑门级电路模型之间的不同之处。调整所述结果门级网表是指通过修改电路门级结构和信号传输路径,以满足电路的功能需求,并且保证电路能够正确地实现所需的计算功能。调整过程需要基于对逻辑差异的深入分析和细致的设计修改方案。最终目的是让设计电路模型和逻辑门级电路模型达到逻辑等价。
105、根据结果门级网表更新集成电路的电路布局。
在本发明的一个实施例中,在生成结果门级网表后,获取结果门级网表文件和相应的设计约束文件,例如芯片尺寸、管脚位置等信息。然后使用布局工具加载结果门级网表,进行布局分析。该工具将显示电路元素的相对位置、规模和连接信息等。通过分析布局结果,可以确定原有的布局与新门级网表之间的差异和冲突。根据布局分析结果和变更指令,对布局进行必要的调整。根据需要,可能需要移动、旋转、缩放电路元素,并调整其相互连接关系。同时,还需考虑功耗和时钟分布等因素。更新布局后,进行布线操作,即根据新布局的约束和物理标准规则,创建新的连线路径。此过程可使用相应的布线工具进行自动或半自动布线。需要注意的是,完成布路后,可以对新布局进行验证。使用验证工具进行功能验证、时钟分析、功耗分析以及信号完整性等方面的检查。确保布局满足设计要求和工程变更指令。
在本实施例中,通过获取集成电路的第一统一功耗格式文件和第二统一功耗格式文件以及所述第一统一功耗格式文件对应的第一门级网表和所述第二统一功耗格式文件对应的第二门级网表;根据所述第一统一功耗格式文件和第二统一功耗格式文件分别从对应的第一门级网表和第二门级网表中识别低功耗模块;确定所述第一门级网表中的低功耗模块和第二门级网表中的低功耗模块之间的模块差异;根据所述模块差异,生成所述第二门级网表的工程变更指令,并根据所述工程变更指令和所述第二门级网表生成结果门级网表;根据所述结果门级网表更新所述集成电路的电路布局。本方法通过以统一功耗格式文件为辅助,在门级网表上自动对低功耗模块进行工程变更,规避了重新综合带来的使设计流程时间延长的风险,同时避免了由工程师手动修改门级网表可能产生的错误。
上面对本发明实施例中电路布局更新方法进行了描述,下面对本发明实施例中电路布局更新装置进行描述,请参阅图2,本发明实施例中电路布局更新装置一个实施例包括:
获取模块201,用于获取集成电路的第一统一功耗格式文件和第二统一功耗格式文件以及所述第一统一功耗格式文件对应的第一门级网表和所述第二统一功耗格式文件对应的第二门级网表;
识别模块202,用于根据所述第一统一功耗格式文件和第二统一功耗格式文件分别从对应的第一门级网表和第二门级网表中识别低功耗模块;
差异确定模块203,用于确定所述第一门级网表中的低功耗模块和第二门级网表中的低功耗模块之间的模块差异;
指令生成模块204,用于根据所述模块差异,生成所述第二门级网表的工程变更指令,并根据所述工程变更指令和所述第二门级网表生成结果门级网表;
布局更新模块205,用于根据所述结果门级网表更新所述集成电路的电路布局。
本发明实施例中,所述电路布局更新装置运行上述电路布局更新方法,所述电路布局更新装置通过获取集成电路的第一统一功耗格式文件和第二统一功耗格式文件以及所述第一统一功耗格式文件对应的第一门级网表和所述第二统一功耗格式文件对应的第二门级网表;根据所述第一统一功耗格式文件和第二统一功耗格式文件分别从对应的第一门级网表和第二门级网表中识别低功耗模块;确定所述第一门级网表中的低功耗模块和第二门级网表中的低功耗模块之间的模块差异;根据所述模块差异,生成所述第二门级网表的工程变更指令,并根据所述工程变更指令和所述第二门级网表生成结果门级网表;根据所述结果门级网表更新所述集成电路的电路布局。本方法通过以统一功耗格式文件为辅助,在门级网表上自动对低功耗模块进行工程变更,规避了重新综合带来的使设计流程时间延长的风险,同时避免了由工程师手动修改门级网表可能产生的错误。
请参阅图3,本发明实施例中电路布局更新装置的第二个实施例包括:
获取模块201,用于获取集成电路的第一统一功耗格式文件和第二统一功耗格式文件以及所述第一统一功耗格式文件对应的第一门级网表和所述第二统一功耗格式文件对应的第二门级网表;
识别模块202,用于根据所述第一统一功耗格式文件和第二统一功耗格式文件分别从对应的第一门级网表和第二门级网表中识别低功耗模块;
差异确定模块203,用于确定所述第一门级网表中的低功耗模块和第二门级网表中的低功耗模块之间的模块差异;
指令生成模块204,用于根据所述模块差异,生成所述第二门级网表的工程变更指令,并根据所述工程变更指令和所述第二门级网表生成结果门级网表;
布局更新模块205,用于根据所述结果门级网表更新所述集成电路的电路布局。
在本发明的一个实施例中,所述识别模块202具体用于:
对所述第一统一功耗格式文件和第二统一功耗格式文件进行文件解析,得到对应的低功耗策略;
对所述第一门级网表和所述第二门级网表进行遍历,识别所述第一门级网表和所述第二门级网表中的逻辑单元;
根据所述低功耗策略在第一门级网表和第二门级网表中识别遍历的逻辑单元之间的低功耗模块。
在本发明的一个实施例中,所述差异确定模块203具体用于:
根据所述第一门级网表中的低功耗模块和第二门级网表中的低功耗模块对所述第一统一功耗格式文件和第二统一功耗格式文件中的低功耗策略进行匹配,得到匹配结果;
将所述匹配结果中的低功耗策略进行参数比对,得到参数差异;
根据所述参数差异,确定所述第一门级网表中的低功耗模块和第二门级网表中的低功耗模块之间的模块差异。
在本发明的一个实施例中,所述指令生成模块204包括:
文件获取单元2041,用于确定所述模块差异的差异类型和差异信息,并获取所述工程变更指令的格式规范映射文件;
映射指令单元2042,用于根据所述格式规范映射文件生成所述差异类型和差异信息对应的工程变更指令;
网表生成单元2043,用于根据所述工程变更指令和所述第二门级网表生成结果门级网表。
在本发明的一个实施例中,所述工程变更指令包括位置变化指令,所述低功耗模块包括隔离模块;
所述网表生成单元2043具体用于:
根据所述位置变化指令确定所述隔离模块在所述第二门级网表中的第一位置;
将所述隔离模块从所述第一位置上删除,并根据所述位置变化指令确定所述隔离模块在所述第二门级网表的第二位置;
在所述第二门级网表的第二位置添加所述隔离模块,得到结果门级网表。
在本发明的一个实施例中,所述工程变更指令包括参数变化指令;所述网表生成单元2043具体还用于:
根据所述参数变化指令获取所述低功耗模块的当前使能信号来源;
从所述参数变化指令中读取待替换使能信号来源;
根据所述待替换使能信号来源对所述第二门级网表中所述低功耗模块的当前使能信号来源进行更新,生成结果门级网表。
在本发明的一个实施例中,所述电路布局更新装置还包括逻辑验证模块206,所述逻辑验证模块206具体用于:
对所述第一门级网表和所述结果门级网表进行逻辑等价验证,得到逻辑等价验证结果;
若所述逻辑等价验证结果为结果一致,则根据所述结果门级网表更新所述集成电路的电路布局;
若所述逻辑等价验证结果为结果不一致,则确定所述逻辑等价验证结果的逻辑差异,并根据所述逻辑差异对所述结果门级网表进行调整。
本实施例在上一实施例的基础上,详细描述了各个模块的具体功能以及部分模块的单元构成,通过上述模块和模块中的各单元,通过获取集成电路的第一统一功耗格式文件和第二统一功耗格式文件以及所述第一统一功耗格式文件对应的第一门级网表和所述第二统一功耗格式文件对应的第二门级网表;根据所述第一统一功耗格式文件和第二统一功耗格式文件分别从对应的第一门级网表和第二门级网表中识别低功耗模块;确定所述第一门级网表中的低功耗模块和第二门级网表中的低功耗模块之间的模块差异;根据所述模块差异,生成所述第二门级网表的工程变更指令,并根据所述工程变更指令和所述第二门级网表生成结果门级网表;根据所述结果门级网表更新所述集成电路的电路布局。本方法通过以统一功耗格式文件为辅助,在门级网表上自动对低功耗模块进行工程变更,规避了重新综合带来的使设计流程时间延长的风险,同时避免了由工程师手动修改门级网表可能产生的错误。
上面图2和图3从模块化功能实体的角度对本发明实施例中的中电路布局更新装置进行详细描述,下面从硬件处理的角度对本发明实施例中电路布局更新设备进行详细描述。
图4是本发明实施例提供的一种电路布局更新设备的结构示意图,该电路布局更新设备400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)410(例如,一个或一个以上处理器)和存储器420,一个或一个以上存储应用程序433或数据432的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器420和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对电路布局更新设备400中的一系列指令操作。更进一步地,处理器410可以设置为与存储介质430通信,在电路布局更新设备400上执行存储介质430中的一系列指令操作,以实现上述电路布局更新方法的步骤。
电路布局更新设备400还可以包括一个或一个以上电源440,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口460,和/或,一个或一个以上操作系统431,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图4示出的电路布局更新设备结构并不构成对本发明提供的电路布局更新设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述电路布局更新方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种电路布局更新方法,其特征在于,所述电路布局更新方法包括:
获取集成电路的第一统一功耗格式文件和第二统一功耗格式文件以及所述第一统一功耗格式文件对应的第一门级网表和所述第二统一功耗格式文件对应的第二门级网表;
对所述第一统一功耗格式文件和第二统一功耗格式文件进行文件解析,得到对应的低功耗策略;对所述第一门级网表和所述第二门级网表进行遍历,识别所述第一门级网表和所述第二门级网表中的逻辑单元;根据所述低功耗策略在第一门级网表和第二门级网表中识别遍历的逻辑单元之间的低功耗模块;
确定所述第一门级网表中的低功耗模块和第二门级网表中的低功耗模块之间的模块差异;
根据所述模块差异,生成所述第二门级网表的工程变更指令,并根据所述工程变更指令和所述第二门级网表生成结果门级网表;
根据所述结果门级网表更新所述集成电路的电路布局。
2.根据权利要求1所述的电路布局更新方法,其特征在于,所述确定所述第一门级网表中的低功耗模块和第二门级网表中的低功耗模块之间的模块差异包括:
根据所述第一门级网表中的低功耗模块和第二门级网表中的低功耗模块对所述第一统一功耗格式文件和第二统一功耗格式文件中的低功耗策略进行匹配,得到匹配结果;
将所述匹配结果中的低功耗策略进行参数比对,得到参数差异;
根据所述参数差异,确定所述第一门级网表中的低功耗模块和第二门级网表中的低功耗模块之间的模块差异。
3.根据权利要求1所述的电路布局更新方法,其特征在于,所述根据所述模块差异,生成所述第二门级网表的工程变更指令,并根据所述工程变更指令和所述第二门级网表生成结果门级网表包括:
确定所述模块差异的差异类型和差异信息,并获取所述工程变更指令的格式规范映射文件;
根据所述格式规范映射文件生成所述差异类型和差异信息对应的工程变更指令;
根据所述工程变更指令和所述第二门级网表生成结果门级网表。
4.根据权利要求3所述的电路布局更新方法,其特征在于,所述工程变更指令包括位置变化指令,所述低功耗模块包括隔离模块;
所述根据所述工程变更指令和所述第二门级网表生成结果门级网表包括:
根据所述位置变化指令确定所述隔离模块在所述第二门级网表中的第一位置;
将所述隔离模块从所述第一位置上删除,并根据所述位置变化指令确定所述隔离模块在所述第二门级网表的第二位置;
在所述第二门级网表的第二位置添加所述隔离模块,得到结果门级网表。
5.根据权利要求3所述的电路布局更新方法,其特征在于,所述工程变更指令包括参数变化指令;所述根据所述工程变更指令和所述第二门级网表生成结果门级网表还包括:
根据所述参数变化指令获取所述低功耗模块的当前使能信号来源;
从所述参数变化指令中读取待替换使能信号来源;
根据所述待替换使能信号来源对所述第二门级网表中所述低功耗模块的当前使能信号来源进行更新,生成结果门级网表。
6.根据权利要求1所述的电路布局更新方法,其特征在于,在所述根据所述模块差异,生成所述第二门级网表的工程变更指令,并根据所述工程变更指令和所述第二门级网表生成结果门级网表之后,还包括:
对所述第一门级网表和所述结果门级网表进行逻辑等价验证,得到逻辑等价验证结果;
若所述逻辑等价验证结果为结果一致,则根据所述结果门级网表更新所述集成电路的电路布局;
若所述逻辑等价验证结果为结果不一致,则确定所述逻辑等价验证结果的逻辑差异,并根据所述逻辑差异对所述结果门级网表进行调整。
7.一种电路布局更新装置,其特征在于,所述电路布局更新装置包括:
获取模块,用于获取集成电路的第一统一功耗格式文件和第二统一功耗格式文件以及所述第一统一功耗格式文件对应的第一门级网表和所述第二统一功耗格式文件对应的第二门级网表;
识别模块,用于对所述第一统一功耗格式文件和第二统一功耗格式文件进行文件解析,得到对应的低功耗策略;对所述第一门级网表和所述第二门级网表进行遍历,识别所述第一门级网表和所述第二门级网表中的逻辑单元;根据所述低功耗策略在第一门级网表和第二门级网表中识别遍历的逻辑单元之间的低功耗模块;
差异确定模块,用于确定所述第一门级网表中的低功耗模块和第二门级网表中的低功耗模块之间的模块差异;
指令生成模块,用于根据所述模块差异,生成所述第二门级网表的工程变更指令,并根据所述工程变更指令和所述第二门级网表生成结果门级网表;
布局更新模块,用于根据所述结果门级网表更新所述集成电路的电路布局。
8.一种电路布局更新设备,其特征在于,所述电路布局更新设备包括:存储器和至少一个处理器,所述存储器中存储有指令;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述电路布局更新设备执行如权利要求1-6中任意一项所述的电路布局更新方法的步骤。
9.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求1-6中任意一项所述电路布局更新方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311674541.8A CN117371386B (zh) | 2023-12-08 | 2023-12-08 | 电路布局更新方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311674541.8A CN117371386B (zh) | 2023-12-08 | 2023-12-08 | 电路布局更新方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117371386A CN117371386A (zh) | 2024-01-09 |
CN117371386B true CN117371386B (zh) | 2024-04-02 |
Family
ID=89391459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311674541.8A Active CN117371386B (zh) | 2023-12-08 | 2023-12-08 | 电路布局更新方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117371386B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7774735B1 (en) * | 2007-03-07 | 2010-08-10 | Cadence Design Systems, Inc | Integrated circuit netlist migration |
CN102314525A (zh) * | 2010-06-30 | 2012-01-11 | 中国科学院微电子研究所 | 一种低功耗电路设计优化方法 |
CN112069754A (zh) * | 2020-09-08 | 2020-12-11 | 海光信息技术股份有限公司 | 芯片设计方法、系统、设备以及存储介质 |
CN112100972A (zh) * | 2019-05-31 | 2020-12-18 | 创意电子股份有限公司 | 电路校正系统与增加扫描测试涵盖率的方法 |
CN113474780A (zh) * | 2019-02-26 | 2021-10-01 | 新思科技有限公司 | 用于使用相关样本生成及高效统计模拟来计算时序良率及良率瓶颈的新颖方法 |
CN115719052A (zh) * | 2022-11-21 | 2023-02-28 | 海光信息技术股份有限公司 | 集成电路的设计方法及装置、电子设备、存储介质 |
CN116127913A (zh) * | 2023-01-17 | 2023-05-16 | 海光信息技术股份有限公司 | 用于集成电路芯片的设计的功耗分析方法及装置 |
CN116595918A (zh) * | 2023-07-18 | 2023-08-15 | 奇捷科技(深圳)有限公司 | 快速逻辑等价性验证方法、装置、设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170011138A1 (en) * | 2015-07-07 | 2017-01-12 | Synopsys, Inc. | System and method for hierarchical power verification |
US10762261B2 (en) * | 2016-01-22 | 2020-09-01 | Yu-Liang Wu | Methods and apparatus for transforming the function of an integrated circuit |
CN115879406A (zh) * | 2021-09-28 | 2023-03-31 | 长鑫存储技术有限公司 | 集成电路后仿真方法、装置、电子设备及存储介质 |
-
2023
- 2023-12-08 CN CN202311674541.8A patent/CN117371386B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7774735B1 (en) * | 2007-03-07 | 2010-08-10 | Cadence Design Systems, Inc | Integrated circuit netlist migration |
CN102314525A (zh) * | 2010-06-30 | 2012-01-11 | 中国科学院微电子研究所 | 一种低功耗电路设计优化方法 |
CN113474780A (zh) * | 2019-02-26 | 2021-10-01 | 新思科技有限公司 | 用于使用相关样本生成及高效统计模拟来计算时序良率及良率瓶颈的新颖方法 |
CN112100972A (zh) * | 2019-05-31 | 2020-12-18 | 创意电子股份有限公司 | 电路校正系统与增加扫描测试涵盖率的方法 |
CN112069754A (zh) * | 2020-09-08 | 2020-12-11 | 海光信息技术股份有限公司 | 芯片设计方法、系统、设备以及存储介质 |
CN115719052A (zh) * | 2022-11-21 | 2023-02-28 | 海光信息技术股份有限公司 | 集成电路的设计方法及装置、电子设备、存储介质 |
CN116127913A (zh) * | 2023-01-17 | 2023-05-16 | 海光信息技术股份有限公司 | 用于集成电路芯片的设计的功耗分析方法及装置 |
CN116595918A (zh) * | 2023-07-18 | 2023-08-15 | 奇捷科技(深圳)有限公司 | 快速逻辑等价性验证方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
Low power soC design trends using EDA tools;NJ Park et al.;《Electronicas and Telecommunications Trends》;第1-10页 * |
纳米级超大规模集成电路芯片低功耗物理设计分析;张博文;《通信电源技术》;第139-140页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117371386A (zh) | 2024-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7711536B2 (en) | System and method for verification aware synthesis | |
US7299155B2 (en) | Method and apparatus for decomposing and verifying configurable hardware | |
US7472361B2 (en) | System and method for generating a plurality of models at different levels of abstraction from a single master model | |
US8682631B2 (en) | Specifications-driven platform for analog, mixed-signal, and radio frequency verification | |
US8234617B2 (en) | Method and system for re-using digital assertions in a mixed signal design | |
US7111269B2 (en) | Comparison of two hierarchical netlist to generate change orders for updating an integrated circuit layout | |
US9881119B1 (en) | Methods, systems, and computer program product for constructing a simulation schematic of an electronic design across multiple design fabrics | |
CN112069763B (zh) | 修正电路的方法 | |
US10289793B1 (en) | System and method to generate schematics from layout-fabrics with a common cross-fabric model | |
US9141741B1 (en) | Methods, systems, and articles of manufacture for implementing mixed-signal electronic circuit designs with power data in standardized power formats | |
US20220075920A1 (en) | Automated Debug of Falsified Power-Aware Formal Properties using Static Checker Results | |
US7984398B1 (en) | Automated multiple voltage/power state design process and chip description system | |
US10437946B1 (en) | Using implemented core sources for simulation | |
US20060064296A1 (en) | Method and system of design verification | |
CN114091383A (zh) | 测试序列生成方法、装置、系统及相关设备 | |
US7152216B2 (en) | Method, system, and computer program product for automatic insertion and correctness verification of level shifters in integrated circuits with multiple voltage domains | |
US6587989B2 (en) | PCB/complex electronic subsystem model | |
EP1196861A2 (en) | Timing shell automation for hardware macro-cell modeling | |
CN117371386B (zh) | 电路布局更新方法、装置、设备及存储介质 | |
US9679092B1 (en) | Constraint handling for parameterizable hardware description language | |
CN113822002B (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN112464636B (zh) | 约束文件的比较方法、装置、电子设备和存储介质 | |
CN117892664A (zh) | SoC混合信号验证装置及验证方法 | |
US7340696B1 (en) | Automated design process and chip description system | |
US20230205969A1 (en) | Techniques for modeling and verification of convergence for hierarchical domain crossings |
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 |