[go: up one dir, main page]

CN118734761A - Useless logical deletion method, device, storage medium, computer equipment and program product - Google Patents

Useless logical deletion method, device, storage medium, computer equipment and program product Download PDF

Info

Publication number
CN118734761A
CN118734761A CN202411230370.4A CN202411230370A CN118734761A CN 118734761 A CN118734761 A CN 118734761A CN 202411230370 A CN202411230370 A CN 202411230370A CN 118734761 A CN118734761 A CN 118734761A
Authority
CN
China
Prior art keywords
net
instance
nets
target
reference line
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.)
Granted
Application number
CN202411230370.4A
Other languages
Chinese (zh)
Other versions
CN118734761B (en
Inventor
白利琼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Innoda Chengdu Electronic Technology Co ltd
Original Assignee
Innoda Chengdu Electronic Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Innoda Chengdu Electronic Technology Co ltd filed Critical Innoda Chengdu Electronic Technology Co ltd
Priority to CN202411230370.4A priority Critical patent/CN118734761B/en
Publication of CN118734761A publication Critical patent/CN118734761A/en
Application granted granted Critical
Publication of CN118734761B publication Critical patent/CN118734761B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level

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)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

The application relates to the technical field of integrated circuits, and provides a useless logic deleting method, a device, a storage medium, computer equipment and a program product, wherein the useless logic deleting method comprises the following steps: determining a wire net connected with input pins of a top layer module and a wire net without driving from wire nets of an integrated circuit design, and marking the wire nets as reference wire nets; for each reference net, the following preset operations are performed: determining a reference wire net as a target wire net under the condition that the reference wire net meets the preset condition, taking each wire net in other wire nets as a new reference wire net respectively under the condition that the reference wire net is connected with other wire nets along the signal propagation direction, continuously executing preset operation, determining the reference wire net as the target wire net under the condition that the target wire net exists in the other wire nets, and determining an instance of the connection of the reference wire net along the signal propagation direction as a target instance; and deleting the wire nets other than the target wire net and the examples other than the target example. The method can quickly remove useless logic.

Description

无用逻辑删除方法、装置、存储介质、计算机设备和程序产品Useless logical deletion method, device, storage medium, computer equipment and program product

技术领域Technical Field

本申请总体说来涉及集成电路技术领域,更具体地讲,涉及一种无用逻辑删除方法、装置、存储介质、计算机设备和程序产品。The present application generally relates to the field of integrated circuit technology, and more specifically, to a useless logical deletion method, apparatus, storage medium, computer equipment and program product.

背景技术Background Art

在集成电路设计中,寄存器传输级通常存在很多对输出信号没有影响的无用逻辑,这些无用逻辑通常表现为实例的所有输出管脚都没有连接到任何线网,这不仅会影响功耗计算的准确性,还会增加面积的使用。In integrated circuit design, there are usually a lot of useless logics in the register transfer level that have no effect on the output signal. These useless logics are usually manifested as all output pins of the instance not being connected to any wire net, which not only affects the accuracy of power consumption calculations, but also increases area usage.

为解决该问题,相关技术中存在一种冗余逻辑元件的删除方法,该方法从顶层的输出信号开始,逆信号传播方向查找信号源,构建驱动信号源表格,通过查表的方式来删除无用实例。然而随着集成电路设计的复杂性越来越强,这样的方法在通过查表删除无用的实例后,还需要对所有线网进行查验和清理,并且在多层级的设计中,逆向查找信号源的速度过慢。To solve this problem, there is a method for deleting redundant logic elements in the related art. This method starts from the output signal of the top layer, searches for the signal source in the reverse direction of signal propagation, builds a table of driving signal sources, and deletes useless instances by looking up the table. However, as the complexity of integrated circuit design increases, this method still needs to check and clean up all wire nets after deleting useless instances by looking up the table, and in a multi-level design, the speed of reversely searching for signal sources is too slow.

发明内容Summary of the invention

本申请提供一种无用逻辑删除方法、装置、存储介质、计算机设备和程序产品,用于至少解决如何快速移除集成电路设计中的无用逻辑的问题。The present application provides a useless logic deletion method, apparatus, storage medium, computer equipment and program product, which are used to at least solve the problem of how to quickly remove useless logic in integrated circuit design.

根据本申请的一方面,提供一种无用逻辑删除方法,所述无用逻辑删除方法包括:从集成电路设计的线网中,确定顶层模块的输入管脚连接的线网以及无驱动的线网,记为参考线网;针对每个参考线网,执行以下预设操作:在所述参考线网满足预设条件的情况下,将所述参考线网确定为目标线网,其中,所述预设条件包括与顶层模块的输出管脚相连接,在所述参考线网沿信号传播方向连接有其他线网的情况下,将所述其他线网中的每条线网分别作为新的参考线网,继续执行所述预设操作,以确定所述其他线网中是否存在目标线网,并在确定所述其他线网中存在目标线网的情况下,将所述参考线网确定为目标线网,以及将所述参考线网沿信号传播方向连接的实例确定为目标实例;将所述集成电路设计中除所述目标线网以外的线网以及除所述目标实例以外的实例作为无用逻辑进行删除,得到更新后的集成电路设计。According to one aspect of the present application, a useless logic deletion method is provided, the useless logic deletion method comprising: determining, from the wire nets of the integrated circuit design, the wire nets connected to the input pins of the top-level module and the wire nets without drivers, and recording them as reference wire nets; for each reference wire net, performing the following preset operations: if the reference wire net meets the preset conditions, determining the reference wire net as a target wire net, wherein the preset conditions include being connected to the output pins of the top-level module, and if the reference wire net is connected to other wire nets along the signal propagation direction, taking each wire net in the other wire nets as a new reference wire net, and continuing to perform the preset operations to determine whether there is a target wire net in the other wire nets, and if it is determined that there is a target wire net in the other wire nets, determining the reference wire net as a target wire net, and determining the instance connected to the reference wire net along the signal propagation direction as a target instance; deleting the wire nets other than the target wire net and the instances other than the target instance in the integrated circuit design as useless logic to obtain an updated integrated circuit design.

根据本申请的另一方面,提供一种无用逻辑删除装置,所述无用逻辑删除装置包括:准备单元,被配置为从集成电路设计的线网中,确定顶层模块的输入管脚连接的线网以及无驱动的线网,记为参考线网;执行单元,被配置为针对每个参考线网,执行以下预设操作:在所述参考线网满足预设条件的情况下,将所述参考线网确定为目标线网,其中,所述预设条件包括与顶层模块的输出管脚相连接,在所述参考线网沿信号传播方向连接有其他线网的情况下,将所述其他线网中的每条线网分别作为新的参考线网,继续执行所述预设操作,以确定所述其他线网中是否存在目标线网,并在确定所述其他线网中存在目标线网的情况下,将所述参考线网确定为目标线网,以及将所述参考线网沿信号传播方向连接的实例确定为目标实例;删除单元,被配置为将所述集成电路设计中除所述目标线网以外的线网以及除所述目标实例以外的实例作为无用逻辑进行删除,得到更新后的集成电路设计。According to another aspect of the present application, a useless logic deletion device is provided, the useless logic deletion device comprising: a preparation unit, configured to determine, from the wire nets of the integrated circuit design, the wire nets connected to the input pins of the top-level module and the wire nets without drivers, recorded as reference wire nets; an execution unit, configured to perform the following preset operations for each reference wire net: if the reference wire net meets a preset condition, determine the reference wire net as a target wire net, wherein the preset condition includes being connected to the output pin of the top-level module, and if the reference wire net is connected to other wire nets along the signal propagation direction, use each wire net in the other wire nets as a new reference wire net, and continue to perform the preset operations to determine whether there is a target wire net in the other wire nets, and if it is determined that there is a target wire net in the other wire nets, determine the reference wire net as a target wire net, and determine the instance connected to the reference wire net along the signal propagation direction as a target instance; a deletion unit, configured to delete the wire nets other than the target wire net and the instances other than the target instance in the integrated circuit design as useless logic to obtain an updated integrated circuit design.

根据本申请的另一方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令被至少一个处理器运行时,促使所述至少一个处理器执行如上所述的无用逻辑删除方法。According to another aspect of the present application, a computer-readable storage medium is provided. When instructions in the computer-readable storage medium are executed by at least one processor, the at least one processor is prompted to execute the useless logical deletion method as described above.

根据本申请的另一方面,提供一种计算机设备,包括:至少一个处理器;至少一个存储计算机可执行指令的存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如上所述的无用逻辑删除方法。According to another aspect of the present application, a computer device is provided, comprising: at least one processor; and at least one memory storing computer executable instructions, wherein when the computer executable instructions are executed by the at least one processor, the at least one processor is prompted to execute the useless logical deletion method as described above.

根据本申请的另一方面,提供一种计算机程序产品,包括计算机指令,当所述计算机指令被至少一个处理器运行时,促使所述至少一个处理器执行如上所述的无用逻辑删除方法。According to another aspect of the present application, a computer program product is provided, comprising computer instructions. When the computer instructions are executed by at least one processor, the at least one processor is prompted to execute the useless logical deletion method as described above.

根据本申请示例性实施例的无用逻辑删除方法、装置、存储介质、计算机设备和程序产品,通过采用深度优先搜索(Depth First Search,DFS)的方式,从作为无用逻辑最开始来源的参考线网开始,沿着信号传播方向,遍历集成电路设计的线网和实例,得到满足预设条件的目标线网以及能够沿信号传播方向连接到目标线网的线网,将这些线网均作为目标线网,并将目标线网沿信号传播方向连接的实例确定为目标实例,最后将目标线网和目标实例以外的线网和实例作为无用逻辑集中删除,能够在无需进行多驱动检测(MultipleDriver Detection,是指在集成电路设计中识别和处理多个信号源驱动同一个网络的情况)的情况下,移除干净所有无用逻辑,有效提升了删除无用逻辑的效率。此外,这种沿着信号传播方向前向查找无用逻辑的操作可以和常量传播简化一起做,有助于提高处理效率。According to the useless logic deletion method, device, storage medium, computer equipment and program product of the exemplary embodiment of the present application, by adopting the depth first search (DFS) method, starting from the reference line network as the initial source of useless logic, along the signal propagation direction, traversing the line network and instance of the integrated circuit design, obtaining the target line network that meets the preset conditions and the line network that can be connected to the target line network along the signal propagation direction, all these line networks are used as the target line network, and the instance connected to the target line network along the signal propagation direction is determined as the target instance, and finally the line network and instance other than the target line network and the target instance are deleted as useless logic, and all useless logic can be removed without multiple driver detection (Multiple Driver Detection refers to the identification and processing of multiple signal sources driving the same network in integrated circuit design), which effectively improves the efficiency of deleting useless logic. In addition, this operation of forward searching for useless logic along the signal propagation direction can be done together with constant propagation simplification, which helps to improve processing efficiency.

将在接下来的描述中部分阐述本申请总体构思另外的方面和/或优点,还有一部分通过描述将是清楚的,或者可以经过本申请总体构思的实施而得知。Other aspects and/or advantages of the general inventive concept of the present application will be set forth in part in the following description, and some will be clear from the description or may be learned through practice of the general inventive concept of the present application.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

通过结合附图,从实施例的下面描述中,本申请这些和/或其它方面及优点将会变得清楚,并且更易于理解。These and/or other aspects and advantages of the present application will become clear and easier to understand from the following description of the embodiments in conjunction with the accompanying drawings.

图1是示出根据本申请示例性实施例的无用逻辑删除方法的流程图。FIG. 1 is a flow chart showing a useless logical deletion method according to an exemplary embodiment of the present application.

图2是示出根据本申请的具体实施例的集成电路设计的拓扑图。FIG. 2 is a topology diagram showing an integrated circuit design according to a specific embodiment of the present application.

图3是示出根据本申请示例性实施例的无用逻辑删除装置的框图。FIG. 3 is a block diagram showing a useless logical deletion apparatus according to an exemplary embodiment of the present application.

图4是示出根据本申请示例性实施例的计算机设备的框图。FIG. 4 is a block diagram showing a computer device according to an exemplary embodiment of the present application.

具体实施方式DETAILED DESCRIPTION

提供参照附图的以下描述以帮助对由权利要求及其等同物限定的本发明的实施例的全面理解。包括各种特定细节以帮助理解,但这些细节仅被视为是示例性的。因此,本领域的普通技术人员将认识到在不脱离本发明的范围和精神的情况下,可对描述于此的实施例进行各种改变和修改。此外,为了清楚和简洁,省略对公知的功能和结构的描述。The following description with reference to the accompanying drawings is provided to assist in a comprehensive understanding of the embodiments of the present invention as defined by the claims and their equivalents. Various specific details are included to assist in understanding, but these details are considered to be exemplary only. Therefore, one of ordinary skill in the art will recognize that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present invention. In addition, descriptions of well-known functions and structures are omitted for clarity and brevity.

在此需要说明的是,在本申请中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括A和B之中的至少一个”即包括如下三种并列的情况:(1)包括A;(2)包括B;(3)包括A和B。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。It should be noted that the phrase "at least one of the items" in this application includes three types of parallel situations: "any one of the items", "a combination of any number of the items", and "all of the items". For example, "including at least one of A and B" includes the following three parallel situations: (1) including A; (2) including B; (3) including A and B. Another example is "executing at least one of step 1 and step 2" which means the following three parallel situations: (1) executing step 1; (2) executing step 2; (3) executing step 1 and step 2.

随着制造技术和设计技术的进步,电子系统的设计方法发生了深刻的变革,从电子计算机辅助设计CAD(Computer Aided Design)、电子计算机辅助工程CAE(ComputerAided Engineering)到电子设计自动化EDA(Electronic Design Automation),设计的自动化程度越来越高,设计的复杂性也越来越强。集成电路(integrated circuit,IC)EDA是指利用计算机辅助设计软件,来完成超大规模集成电路芯片的功能设计、综合、验证、物理设计(包括布局、布线、版图、设计规则检查等)等流程的设计方式。目前,EDA技术已成为现代电子设计的有力工具,没有EDA技术的支持,要完成超大规模集成电路的设计和制造是不可想象的,集成电路设计人员需要使用EDA工具设计几十万到数百亿晶体管的复杂集成电路,以减少设计偏差、提高流片成功率及节省流片费用。With the advancement of manufacturing technology and design technology, the design method of electronic systems has undergone profound changes. From computer-aided design (CAD), computer-aided engineering (CAE) to electronic design automation (EDA), the degree of design automation is getting higher and higher, and the complexity of design is getting stronger and stronger. Integrated circuit (IC) EDA refers to the design method that uses computer-aided design software to complete the functional design, synthesis, verification, physical design (including layout, wiring, layout, design rule checking, etc.) of ultra-large-scale integrated circuit chips. At present, EDA technology has become a powerful tool for modern electronic design. Without the support of EDA technology, it is unimaginable to complete the design and manufacture of ultra-large-scale integrated circuits. Integrated circuit designers need to use EDA tools to design complex integrated circuits with hundreds of thousands to tens of billions of transistors to reduce design deviations, improve the success rate of tape-out and save tape-out costs.

集成电路设计通常由若干模块(module)组成,模块是层次化设计的基本构件,其实际意义是代表硬件电路上的逻辑实体。在层次化设计中,模块是分层的,高层模块通过调用低层模块的实例(instance)来实现复杂的功能,且模块会设置朝向低层实例的管脚(pin)和/或朝向高层模块的管脚,管脚用于连接线网(net),使得高层模块和低层实例之间可通过线网(net)实现连接。各模块连接完成整个系统需要一个顶层模块(top module),顶层模块中定义了设计的主输入(primary input)和主输出(primary output)。Integrated circuit design usually consists of several modules. Modules are the basic building blocks of hierarchical design. Their practical meaning is to represent the logical entities on the hardware circuit. In hierarchical design, modules are layered. High-level modules implement complex functions by calling instances of low-level modules. Modules will set pins toward low-level instances and/or pins toward high-level modules. Pins are used to connect nets, so that high-level modules and low-level instances can be connected through nets. A top module is required to connect the modules to complete the entire system. The top module defines the primary input and primary output of the design.

在集成电路设计中,寄存器传输级(register transfer level,RTL)通常存在很多对输出信号没有影响的无用逻辑,这些无用逻辑通常表现为实例的所有输出管脚(output pin)都没有连接到任何线网(net)。原因在于,为了复用模块,设计人员会大量地例化模块,导致部分信号存在冗余,这不仅会影响功耗计算的准确性,还会增加面积的使用。因此,相关EDA工具在读入RTL设计文件后,可能会对设计中的无用逻辑进行检测,然后移除这些无用逻辑。In integrated circuit design, the register transfer level (RTL) usually contains a lot of useless logic that has no effect on the output signal. This useless logic is usually manifested as all the output pins of the instance not being connected to any net. The reason is that in order to reuse modules, designers will instantiate a large number of modules, resulting in redundancy of some signals, which will not only affect the accuracy of power consumption calculations, but also increase the use of area. Therefore, after reading the RTL design file, the relevant EDA tools may detect the useless logic in the design and then remove it.

相关技术中存在一种冗余逻辑元件的删除方法,该方法从顶层的输出信号开始,逆信号传播方向查找信号源,构建驱动信号源表格,通过查表的方式来删除无用实例。然而随着集成电路设计的复杂性越来越强,这样的方法在通过查表删除无用的实例后,还需要对所有线网进行查验和清理,并且在多层级的设计中,逆向查找信号源的速度过慢。There is a method for deleting redundant logic elements in the related art. This method starts from the output signal of the top layer, searches for the signal source in the reverse direction of signal propagation, builds a table of driving signal sources, and deletes useless instances by looking up the table. However, as the complexity of integrated circuit design increases, this method still needs to check and clean up all wire nets after deleting useless instances by looking up the table, and in a multi-level design, the speed of reversely searching for signal sources is too slow.

下面参照图1至图4详细描述根据本申请示例性实施例的无用逻辑删除方法、装置、存储介质、计算机设备和程序产品。The following describes in detail a useless logical deletion method, apparatus, storage medium, computer device, and program product according to exemplary embodiments of the present application with reference to FIGS. 1 to 4 .

图1是示出根据本申请示例性实施例的无用逻辑删除方法的流程图。根据本申请示例性实施例的无用逻辑删除方法可以在具有足够运算能力的计算机设备中实现。Fig. 1 is a flow chart showing a useless logical deletion method according to an exemplary embodiment of the present application. The useless logical deletion method according to an exemplary embodiment of the present application can be implemented in a computer device with sufficient computing power.

参照图1,在步骤S101中,从集成电路设计的线网中,确定顶层模块的输入管脚连接的线网以及无驱动的线网,记为参考线网。1 , in step S101 , a net connected to an input pin of a top-level module and a net without a driver are determined from among the nets of the integrated circuit design and recorded as reference nets.

无驱动的线网(Floating Net)是指在集成电路设计中没有连接到任何主动驱动源的信号线。顶层模块的输入管脚所连接的线网以及无驱动的线网是无用逻辑最开始的来源,通过将这些线网作为参考线网,沿信号传播方向从前往后探索不可删除的有用逻辑,能够简化整体计算流程,提升计算效率。Floating Net refers to a signal line that is not connected to any active driving source in the integrated circuit design. The nets connected to the input pins of the top-level module and the undriven nets are the initial sources of useless logic. By using these nets as reference nets and exploring the non-deletable useful logic from front to back along the signal propagation direction, the overall calculation process can be simplified and the calculation efficiency can be improved.

在步骤S102中,针对每个参考线网,执行预设操作,以确定出集成电路设计中的目标线网和目标实例。In step S102 , a preset operation is performed for each reference net to determine a target net and a target instance in the integrated circuit design.

预设操作具体包括:在参考线网满足预设条件的情况下,将参考线网确定为目标线网,其中,预设条件包括与顶层模块的输出管脚相连接,这样的线网必然是有用的线网,需要予以保留;如果参考线网不满足预设条件,则在参考线网沿信号传播方向(即从输入到输出的方向)连接有其他线网的情况下,将其他线网中的每条线网分别作为新的参考线网,继续执行预设操作,以确定其他线网中是否存在目标线网,并在确定其他线网中存在目标线网的情况下,将参考线网确定为目标线网,以及将参考线网沿信号传播方向连接的实例确定为目标实例。The preset operation specifically includes: when the reference line network meets the preset conditions, the reference line network is determined as the target line network, wherein the preset conditions include being connected to the output pin of the top-level module, and such a line network must be a useful line network and needs to be retained; if the reference line network does not meet the preset conditions, then when the reference line network is connected to other line networks along the signal propagation direction (i.e., the direction from input to output), each line network in the other line networks is used as a new reference line network, and the preset operation is continued to be performed to determine whether there is a target line network in other line networks, and when it is determined that there is a target line network in other line networks, the reference line network is determined as the target line network, and the instance connected to the reference line network along the signal propagation direction is determined as the target instance.

具体来说,预设操作就是先判断当前的参考线网N1是否满足预设条件,例如判断当前的参考线网N1是否与顶层模块的输出管脚相连接,若满足,则确定参考线网N1是不可删除的目标线网。若不满足,则暂时无法确定参考线网N1是否为目标线网,还需要判断参考线网N1沿信号传播方向是否连接有其他线网。若未连接其他线网,则确定该参考线网N1不是目标线网;若连接有其他线网,则继续探索其他线网N1-i,其中i=1,2,……,I,I是参考线网N1沿信号传播方向连接的其他线网的数量,将其他线网逐个作为新的参考线网,执行同样的预设操作以进行判断。经过继续探索,若判定其他线网N1-i中存在目标线网,则确定参考线网N1也为目标线网,并将参考线网N1沿信号传播方向连接的实例确定为不可删除的目标实例;若判定其他线网N1-i均不为目标线网,则确定参考线网N1也不为目标线网。至此,完成针对参考线网N1的预设操作,可针对参考线网N2继续执行预设操作,如此继续,直到完成针对所有参考线网的预设操作。Specifically, the preset operation is to first determine whether the current reference network N1 meets the preset conditions, such as whether the current reference network N1 is connected to the output pin of the top-level module. If it does, it is determined that the reference network N1 is a non-deletable target network. If it does not meet the conditions, it is temporarily impossible to determine whether the reference network N1 is the target network, and it is also necessary to determine whether the reference network N1 is connected to other networks along the signal propagation direction. If no other networks are connected, it is determined that the reference network N1 is not the target network; if other networks are connected, continue to explore other networks N1-i, where i=1,2,…,I, I is the number of other networks connected to the reference network N1 along the signal propagation direction, and use other networks one by one as new reference networks, and perform the same preset operation to make a judgment. After further exploration, if it is determined that there is a target network in other network N1-i, then the reference network N1 is also determined to be the target network, and the instance connected to the reference network N1 along the signal propagation direction is determined as the target instance that cannot be deleted; if it is determined that none of the other network N1-i is the target network, then the reference network N1 is also determined not to be the target network. At this point, the preset operation for the reference network N1 is completed, and the preset operation can continue to be performed for the reference network N2, and so on, until the preset operation for all reference networks is completed.

可以理解的是,在针对参考线网N1连接的其他线网N1-i继续探索的过程中,若其他线网N1-i沿信号传播方向连接有其他线网N1-i-j,其中j=1,2,……,J,J是参考线网N1-i沿信号传播方向连接的其他线网的数量,则需要将其他线网N1-i-j逐个作为新的参考线网,按照同样的规则继续下探。It can be understood that in the process of continuing to explore other network N1-i connected to the reference network N1, if other network N1-i is connected to other network N1-i-j along the signal propagation direction, where j=1,2,…,J, J is the number of other network connected to the reference network N1-i along the signal propagation direction, then it is necessary to take other network N1-i-j as new reference network one by one and continue to explore according to the same rules.

应理解,在逐级下探的过程中,沿信号传播方向依次连接的多个线网可以构成一条路径,若该条路径尾端的线网是目标线网,则该条路径上的所有参考线网均可确定为目标线网,所有实例均可确定为目标实例。It should be understood that in the process of step-by-step exploration, multiple network lines connected in sequence along the signal propagation direction can form a path. If the network line at the end of the path is the target network line, then all reference network lines on the path can be determined as the target network line, and all instances can be determined as target instances.

还应理解,即使确定参考线网N1是目标线网,若发现参考线网N1沿信号传播方向还连接有其他线网,则同样可以对其他线网执行预设操作。例如,参考线网是分支线网,一条分支连接到顶层模块的输出管脚,此时由于顶层模块的输出管脚沿信号传播方向不会连接其他线网,所以参考线网的该分支沿信号传播方向不会连接到其他线网,但参考线网的另一条分支可能沿信号传播方向连接到其他线网。换言之,参考线网满足预设条件与参考线网沿信号传播方向连接有其他线网这两种情况是可以同时存在的。It should also be understood that even if the reference line network N1 is determined to be the target line network, if it is found that the reference line network N1 is connected to other line networks along the signal propagation direction, the preset operation can also be performed on the other line networks. For example, the reference line network is a branch line network, and one branch is connected to the output pin of the top module. At this time, since the output pin of the top module will not be connected to other line networks along the signal propagation direction, the branch of the reference line network will not be connected to other line networks along the signal propagation direction, but another branch of the reference line network may be connected to other line networks along the signal propagation direction. In other words, the two situations that the reference line network meets the preset conditions and the reference line network is connected to other line networks along the signal propagation direction can exist at the same time.

在步骤S103中,将集成电路设计中除目标线网以外的线网以及除目标实例以外的实例作为无用逻辑进行删除,得到更新后的集成电路设计。In step S103, nets other than the target net and instances other than the target instance in the integrated circuit design are deleted as useless logic to obtain an updated integrated circuit design.

该步骤基于步骤S102的判断结果,将目标线网以及目标实例予以保留,将其他线网和实例作为无用逻辑予以删除。Based on the judgment result of step S102, this step retains the target net and the target instance, and deletes other nets and instances as useless logic.

可选地,步骤S103包括:自上而下逐层遍历集成电路设计中的线网和实例,并执行以下操作:在遍历得到的线网不是目标线网的情况下,将遍历得到的线网作为无用逻辑进行删除;在遍历得到的实例不是目标实例的情况下,将遍历得到的实例作为无用逻辑进行删除;在遍历得到的实例是目标实例并且是层次化实例的情况下,继续向下遍历当前层次化实例中的线网和下层实例。通过自上而下地执行遍历,能够直接删除明确的无用逻辑,而无需对无用的层次化实例内部的实例和线网进行逐一删除,有助于提升删除效率。此外,对于层次化的目标实例,虽然作为目标实例不应被直接删除,但其下层实例中仍然可能存在非目标实例和非目标线网,通过继续下探遍历,能够仅保留其下层的目标实例和目标线网,保障了无用逻辑的充分删除。作为示例,可先遍历顶层模块中的线网,删除其中的非目标线网,然后遍历顶层模块的所有下层实例,删除其中的非目标实例。对于下层实例中的目标实例,若为叶子实例,直接予以保留,不再做任何处理,若为层次化实例,则继续遍历该层次化目标实例中的线网和实例,删除其中的非目标线网和非目标实例,并对层次化目标实例继续下探。Optionally, step S103 includes: traversing the nets and instances in the integrated circuit design layer by layer from top to bottom, and performing the following operations: when the traversed net is not the target net, deleting the traversed net as useless logic; when the traversed instance is not the target instance, deleting the traversed instance as useless logic; when the traversed instance is the target instance and is a hierarchical instance, continuing to traverse the nets and lower instances in the current hierarchical instance downward. By performing the traversal from top to bottom, it is possible to directly delete clear useless logic without deleting the instances and nets inside the useless hierarchical instance one by one, which helps to improve the deletion efficiency. In addition, for the hierarchical target instance, although it should not be deleted directly as a target instance, there may still be non-target instances and non-target nets in its lower instance. By continuing to traverse downward, only the target instance and target net of its lower layer can be retained, ensuring the full deletion of useless logic. As an example, you can first traverse the nets in the top-level module, delete the non-target nets, and then traverse all lower-level instances of the top-level module and delete the non-target instances. For the target instance in the lower-level instance, if it is a leaf instance, it is directly retained without any further processing. If it is a hierarchical instance, continue to traverse the nets and instances in the hierarchical target instance, delete the non-target nets and non-target instances, and continue to explore the hierarchical target instance.

根据本申请示例性实施例的无用逻辑删除方法,通过采用深度优先搜索的方式,从作为无用逻辑最开始来源的参考线网开始,沿着信号传播方向,遍历集成电路设计的线网和实例,得到满足预设条件的目标线网以及能够沿信号传播方向连接到目标线网的线网,将这些线网均作为目标线网,并将目标线网沿信号传播方向连接的实例确定为目标实例,最后将目标线网和目标实例以外的线网和实例作为无用逻辑集中删除,能够在无需进行多驱动检测的情况下,移除干净所有无用逻辑,有效提升了删除无用逻辑的效率。此外,这种沿着信号传播方向前向查找无用逻辑的操作可以和常量传播简化(优化集成电路设计中的一种技术,通过识别和替换电路中已知的常量值来减少电路的复杂性。例如,如果某个信号总是保持为1或0,那么电路中的相关操作和逻辑可以简化或省略,从而提升电路的效率)一起做,有助于提高处理效率。According to the useless logic deletion method of the exemplary embodiment of the present application, by adopting a depth-first search method, starting from the reference line network as the initial source of useless logic, along the signal propagation direction, traversing the line network and instance of the integrated circuit design, obtaining the target line network that meets the preset conditions and the line network that can be connected to the target line network along the signal propagation direction, all these line networks are used as target line networks, and the instance connected to the target line network along the signal propagation direction is determined as the target instance, and finally the line network and instance other than the target line network and the target instance are deleted as useless logic, which can remove all useless logic without multi-drive detection, effectively improving the efficiency of deleting useless logic. In addition, this operation of forward searching for useless logic along the signal propagation direction can be done together with constant propagation simplification (a technology in optimizing integrated circuit design, which reduces the complexity of the circuit by identifying and replacing known constant values in the circuit. For example, if a signal always remains at 1 or 0, then the related operations and logic in the circuit can be simplified or omitted, thereby improving the efficiency of the circuit), which helps to improve processing efficiency.

接下来对根据本申请示例性实施例的无用逻辑删除方法做进一步介绍。Next, the useless logical deletion method according to the exemplary embodiment of the present application is further introduced.

关于预设操作中具体如何实现判断,可选地,预设操作中的在参考线网沿信号传播方向连接有其他线网的情况下,将其他线网中的每条线网分别作为新的参考线网的步骤包括:在参考线网沿信号传播方向直接连接到其他线网的情况下,将直接连接的其他线网中的每条线网分别作为新的参考线网;在参考线网沿信号传播方向直接连接到叶子实例的输入管脚的情况下,将叶子实例的每条输出线网作为新的参考线网,其中,叶子实例的输出线网是参考线网沿信号传播方向间接连接的其他线网。对于参考线网直接连接到叶子实例的输入管脚的情况,虽然叶子实例并非线网,但由于叶子实例内部并不存在其他线网,因此若叶子实例存在输出线网,则叶子实例的输出线网中是否存在不可删除的有用逻辑,会直接决定参考线网是否为不可删除的有用逻辑。基于此,通过在这样的情况下将叶子实例的输出线网同样视为参考线网沿信号传播方向连接的其他线网,作为新的参考线网,能够实现无用逻辑的可靠确认,保障无用逻辑删除效率。应理解,基于集成电路设计的结构,对于参考线网沿信号传播方向直接连接到其他线网的情况,此时参考线网直接连接到的会是层次化实例。具体地,若参考线网连接的是层次化实例的输入线网,则该输入线网作为新的参考线网;若参考线网是层次化实例的输出线网,则参考线网(即层次化实例的输出线网)连接的是当前层次化实例的上层线网,将该上层线网作为新的参考线网。Regarding how to implement the judgment in the preset operation, optionally, in the preset operation, when the reference net is connected to other nets along the signal propagation direction, the step of using each of the other nets as a new reference net includes: when the reference net is directly connected to other nets along the signal propagation direction, using each of the other directly connected nets as a new reference net; when the reference net is directly connected to the input pin of the leaf instance along the signal propagation direction, using each output net of the leaf instance as a new reference net, wherein the output net of the leaf instance is other nets indirectly connected to the reference net along the signal propagation direction. For the case where the reference net is directly connected to the input pin of the leaf instance, although the leaf instance is not a net, since there are no other nets inside the leaf instance, if the leaf instance has an output net, whether there is useful logic that cannot be deleted in the output net of the leaf instance will directly determine whether the reference net is useful logic that cannot be deleted. Based on this, by treating the output net of the leaf instance as other nets connected to the reference net along the direction of signal propagation as a new reference net, it is possible to reliably confirm useless logic and ensure the efficiency of useless logic deletion. It should be understood that based on the structure of the integrated circuit design, in the case where the reference net is directly connected to other nets along the direction of signal propagation, the reference net will be directly connected to the hierarchical instance. Specifically, if the reference net is connected to the input net of the hierarchical instance, the input net serves as a new reference net; if the reference net is the output net of the hierarchical instance, the reference net (i.e., the output net of the hierarchical instance) is connected to the upper net of the current hierarchical instance, and the upper net is used as a new reference net.

应理解,正如前文介绍的参考线网满足预设条件与参考线网沿信号传播方向连接有其他线网这两种情况是可以同时存在的一样,参考线网沿信号传播方向也可以同时直接或间接地连接其他线网。It should be understood that just as the two situations described above that the reference line network meets the preset conditions and the reference line network is connected to other line networks along the signal propagation direction can exist at the same time, the reference line network can also be directly or indirectly connected to other line networks along the signal propagation direction.

进一步可选地,预设操作中,可具体基于管脚实现判断。此时,预设操作还包括:获取参考线网沿信号传播方向连接的全部管脚,记为参考管脚;相应地,预设操作中的在参考线网满足预设条件的情况下,将参考线网确定为目标线网的步骤包括:在参考管脚包括顶层模块的输出管脚的情况下,将参考线网确定为目标线网;预设操作中的在参考线网沿信号传播方向直接连接到其他线网的情况下,将直接连接的其他线网中的每条线网分别作为新的参考线网的步骤包括:在参考管脚包括层次化实例的管脚的情况下,将参考管脚另一侧连接的每条线网分别作为新的参考线网;预设操作中的在参考线网沿信号传播方向直接连接到叶子实例的输入管脚的情况下,将叶子实例的每条输出线网作为新的参考线网的步骤包括:在参考管脚包括叶子实例的输入管脚的情况下,将叶子实例的每条输出线网作为新的参考线网。通过在具体执行预设操作时将管脚作为判断的对象,能够结合管脚所归属的模块实例的类型(即为顶层模块、层次化实例还是叶子实例)以及管脚自身的类型(即为输入管脚还是输出管脚),实现可靠的预设条件判断以及新的参考网线的探索,有助于简化计算量。Further optionally, in the preset operation, the judgment can be specifically implemented based on the pins. At this time, the preset operation also includes: obtaining all the pins connected to the reference line network along the signal propagation direction, recorded as reference pins; accordingly, in the preset operation, when the reference line network meets the preset conditions, the step of determining the reference line network as the target line network includes: when the reference pin includes the output pin of the top-level module, determining the reference line network as the target line network; in the preset operation, when the reference line network is directly connected to other line networks along the signal propagation direction, the step of using each line network in the other directly connected line networks as a new reference line network includes: when the reference pin includes the pin of the hierarchical instance, each line network connected on the other side of the reference pin is used as a new reference line network; in the preset operation, when the reference line network is directly connected to the input pin of the leaf instance along the signal propagation direction, the step of using each output line network of the leaf instance as a new reference line network includes: when the reference pin includes the input pin of the leaf instance, each output line network of the leaf instance is used as a new reference line network. By taking the pins as the object of judgment when executing the preset operation, it is possible to combine the type of module instance to which the pin belongs (i.e., top-level module, hierarchical instance, or leaf instance) and the type of the pin itself (i.e., input pin or output pin) to achieve reliable preset condition judgment and exploration of new reference network cables, which helps to simplify the amount of calculation.

考虑到集成电路设计中的线网可能存在复杂的连接关系,造成在基于不同路径下探的过程中重复遇到同一参考线网,进而针对该参考线网重复执行预设操作的情况发生。Considering that the wire nets in the integrated circuit design may have complex connection relationships, the same reference wire net may be repeatedly encountered during the process of probing based on different paths, and then the preset operation may be repeatedly performed on the reference wire net.

为此,在一些实施例中,可选地,步骤S102包括:针对每个参考线网,在确定已针对参考线网执行过预设操作的情况下,不再针对参考线网执行预设操作;在确定尚未针对参考线网执行预设操作的情况下,针对参考线网执行预设操作。通过限定仅针对同一参考线网执行一次预设操作,能够减少重复计算,控制计算量,减少计算资源的浪费。应理解,对于已针对参考线网执行过预设操作的情况,若需要确定该参考线网是否为目标线网,可直接使用当前最新的执行结果,即,若当前已确定该参考线网是目标线网,则认为该参考线网是目标线网,否则认为该参考线网不是目标线网。后续可基于更新的执行结果进行修改。To this end, in some embodiments, optionally, step S102 includes: for each reference line net, if it is determined that the preset operation has been performed on the reference line net, no longer perform the preset operation on the reference line net; if it is determined that the preset operation has not been performed on the reference line net, perform the preset operation on the reference line net. By limiting the preset operation to be performed only once on the same reference line net, it is possible to reduce repeated calculations, control the amount of calculations, and reduce the waste of computing resources. It should be understood that in the case where the preset operation has been performed on the reference line net, if it is necessary to determine whether the reference line net is the target line net, the current latest execution result can be directly used, that is, if it is currently determined that the reference line net is the target line net, then the reference line net is considered to be the target line net, otherwise it is considered that the reference line net is not the target line net. Subsequent modifications can be made based on the updated execution results.

进一步可选地,在确定已针对参考线网执行过预设操作的情况下,不再针对参考线网执行预设操作的步骤具体包括:在确定参考线网具备已处理标志的情况下,不再针对参考线网执行预设操作;在确定尚未针对参考线网执行预设操作的情况下,针对参考线网执行预设操作的步骤具体包括:在确定参考线网不具备已处理标志的情况下,为参考线网添加已处理标志,并针对参考线网执行预设操作。通过配置已处理标志,能够方便地标记已执行预设操作的参考线网,可靠地控制计算量。Further optionally, in the case where it is determined that the preset operation has been performed on the reference line network, the step of no longer performing the preset operation on the reference line network specifically includes: in the case where it is determined that the reference line network has a processed flag, no longer performing the preset operation on the reference line network; in the case where it is determined that the preset operation has not been performed on the reference line network, the step of performing the preset operation on the reference line network specifically includes: in the case where it is determined that the reference line network does not have a processed flag, adding a processed flag to the reference line network, and performing the preset operation on the reference line network. By configuring the processed flag, the reference line network on which the preset operation has been performed can be conveniently marked, and the amount of calculation can be reliably controlled.

在另一些实施例中,可选地,若基于管脚实现预设操作中的判断,那么在获取参考线网沿信号传播方向连接的全部管脚,记为参考管脚的步骤之后,预设操作还可包括:在参考管脚具备已处理标志的情况下,不再针对参考管脚执行预设操作中的其他步骤;在参考管脚不具备已处理标志的情况下,为参考管脚添加已处理标志,并针对参考管脚继续执行预设操作中的其他步骤。通过在针对参考管脚执行判断和下探之前,先配置已处理标志,能够方便地标记参考管脚,对于基于管脚实现预设操作的实施例,同样可以在实质上起到防止重复执行预设操作的作用,有助于控制计算量,减少计算资源的浪费。In other embodiments, optionally, if the judgment in the preset operation is implemented based on the pins, then after the step of obtaining all the pins connected to the reference line network along the signal propagation direction and recording them as reference pins, the preset operation may also include: when the reference pin has a processed flag, no longer executing other steps in the preset operation for the reference pin; when the reference pin does not have a processed flag, adding a processed flag to the reference pin, and continuing to execute other steps in the preset operation for the reference pin. By configuring the processed flag before executing the judgment and probing for the reference pin, the reference pin can be conveniently marked. For the embodiments that implement the preset operation based on the pins, it can also substantially prevent the repeated execution of the preset operation, which helps to control the amount of calculation and reduce the waste of computing resources.

应理解,上述两种实施例之间并不存在执行的矛盾,因此,为解决重复执行预设操作的问题,可以选择采用上述任一种实施例,也可以同时采用这两种实施例,本申请对此不作限制。It should be understood that there is no execution contradiction between the above two embodiments. Therefore, in order to solve the problem of repeatedly executing the preset operation, you can choose to adopt any of the above embodiments, or you can adopt both embodiments at the same time. This application does not limit this.

对于上述两种添加已处理标志的实施例中的任一种,可选地,在步骤S102之后,在步骤S103之前,根据本申请示例性实施例的无用逻辑删除方法还包括:去除全部已处理标志,再次执行步骤S101和步骤S102。通过完成一次步骤S102(即针对所有参考线网执行预设操作)后,去除全部已处理标志并重新执行步骤S101和步骤S102,能基于已经确定出的目标线网和目标实例,查漏补缺,确保所有无用逻辑都被找出,保障了无用逻辑的可靠删除。同时,对于存在无用的环路逻辑的情况,对整个集成电路设计执行两遍计算,能够在无需进行额外的环路检测的情况下,保证无用环路逻辑也被全部找出,有助于充分简化无用逻辑的检测流程,减少计算资源的消耗。For any of the above two embodiments of adding processed flags, optionally, after step S102 and before step S103, the useless logic deletion method according to the exemplary embodiment of the present application further includes: removing all processed flags, and executing step S101 and step S102 again. After completing step S102 once (i.e., executing the preset operation for all reference network), removing all processed flags and re-executing step S101 and step S102, it is possible to check for leaks and fill gaps based on the target network and target instance that have been determined, ensure that all useless logic is found, and ensure the reliable deletion of useless logic. At the same time, in the case of useless loop logic, performing two calculations on the entire integrated circuit design can ensure that all useless loop logic is also found without the need for additional loop detection, which helps to fully simplify the detection process of useless logic and reduce the consumption of computing resources.

为了实现目标线网和目标实例的标注,可选地,预设操作还包括:为目标线网以及目标实例添加不可删除标志。执行预设操作的过程中确定出的是目标线网和目标实例,通过为他们添加不可删除标志,能够在执行预设操作的过程中就随着目标线网和目标实例的确定而实现其标注,便于操作,且可靠性高。相应地,在步骤S103执行删除时,可具体删除不具备不可删除标志的线网和实例。In order to realize the marking of the target network and the target instance, optionally, the preset operation further includes: adding a non-deletable flag to the target network and the target instance. The target network and the target instance are determined in the process of executing the preset operation. By adding the non-deletable flag to them, the marking of the target network and the target instance can be realized as the target network and the target instance are determined in the process of executing the preset operation, which is convenient for operation and has high reliability. Accordingly, when the deletion is performed in step S103, the network and the instance without the non-deletable flag can be specifically deleted.

进一步可选地,预设操作还包括:为集成电路设计中除目标线网以外的线网以及除目标实例以外的实例添加可删除标志。相较于仅添加不可删除标志而需要在执行步骤S103时针对每个线网和实例均判断是否具有不可删除标志的情况,通过为集成电路设计中的线网和实例配置明确的可删除标志和不可删除标志,能够优化运算逻辑,使得步骤S103执行删除时更具有靶向性,提高了计算速度和计算效率。相应地,在步骤S103执行删除时,可具体删除具备可删除标志的线网和实例。Further optionally, the preset operation also includes: adding a deletable flag to the nets other than the target net and the instances other than the target instance in the integrated circuit design. Compared with the situation where only a non-deletable flag is added and it is necessary to determine whether each net and instance has a non-deletable flag when executing step S103, by configuring clear deletable flags and non-deletable flags for the nets and instances in the integrated circuit design, the operation logic can be optimized, so that the deletion in step S103 is more targeted, and the calculation speed and efficiency are improved. Accordingly, when deleting in step S103, the nets and instances with deletable flags can be specifically deleted.

进一步可选地,在步骤S102之前,根据本申请示例性实施例的无用逻辑删除方法还包括:为集成电路设计中的每个线网和每个实例均添加可删除标志;相应地,上述的为目标线网以及目标实例添加不可删除标志的步骤包括:在将参考线网确定为目标线网的情况下,将参考线网的可删除标志修改为不可删除标志;在将一个实例确定为目标实例的情况下,将实例的可删除标志修改为不可删除标志。通过默认为所有线网和实例设置可删除标志,再在针对各个参考线网执行预设操作的过程中,将确定出的目标线网和目标实例的可删除标志修改为不可删除标志,能够令删除标志的修改具有较强的针对性,有助于节约计算量。相反,若默认设置不可删除标志,再在执行预设操作的过程中将目标线网和目标实例以外的其他线网和实例的不可删除标志修改为可删除标志,由于针对性不强,计算量会很大。Further optionally, before step S102, the useless logic deletion method according to the exemplary embodiment of the present application further includes: adding a deletable flag to each wire net and each instance in the integrated circuit design; accordingly, the above-mentioned step of adding an indelible flag to the target wire net and the target instance includes: when the reference wire net is determined as the target wire net, the deletable flag of the reference wire net is modified to an indelible flag; when an instance is determined as the target instance, the deletable flag of the instance is modified to an indelible flag. By setting the deletable flag for all wire nets and instances by default, and then in the process of performing the preset operation for each reference wire net, the deletable flag of the determined target wire net and target instance is modified to an indelible flag, the modification of the deletion flag can be made more targeted, which helps to save the amount of calculation. On the contrary, if the indelible flag is set by default, and then in the process of performing the preset operation, the indelible flags of other wire nets and instances other than the target wire net and the target instance are modified to deletable flags, the amount of calculation will be very large due to the lack of targeting.

特别地,某些EDA工具会支持设置不可更改的逻辑,此时设计者可以自行将任意实例、管脚或线网设置为不可更改,此时,这些不可更改的逻辑以及与之相关的逻辑也应当是不可删除的。基于此,可选地,预设条件还包括以下至少一个:参考线网是不可更改的线网、参考线网沿信号传播方向连接的管脚是不可更改的管脚、参考线网沿信号传播方向连接的管脚所在的实例是不可更改的实例。通过配置上述预设条件,能够基于不可更改的线网、管脚和实例来确定不可删除的目标线网,保障了对不可更改逻辑的设置功能的兼容,提升了无用逻辑删除方法的可靠性。In particular, some EDA tools support setting unchangeable logic, in which case the designer can set any instance, pin or net as unchangeable. At this time, these unchangeable logics and the logic related thereto should also be undeletable. Based on this, optionally, the preset conditions also include at least one of the following: the reference net is an unchangeable net, the pins connected to the reference net along the signal propagation direction are unchangeable pins, and the instance where the pins connected to the reference net along the signal propagation direction are located is an unchangeable instance. By configuring the above preset conditions, it is possible to determine an undeletable target net based on unchangeable nets, pins and instances, thereby ensuring compatibility with the setting function of unchangeable logic and improving the reliability of the useless logic deletion method.

进一步可选地,在步骤S102之前,根据本申请示例性实施例的无用逻辑删除方法还包括:在集成电路设计中存在不可更改的实例的情况下,自上而下逐层遍历集成电路设计中的实例,将不可更改的层次化实例的所有下层实例和下层线网均设置为不可更改。通过遍历一次整个集成电路设计中的所有实例,过程中将层次化实例“不可更改”的设置自上而下传递给该层次化实例的所有下层实例和下层线网,能够在用户仅将关键实例设置为“不可更改”的情况下,自动化地将“不可更改”的设置传递覆盖到下层逻辑,既能够简化用户的设置操作,又能够保障不能被删除的逻辑都得到保留,提升了对集成电路设计的处理效率。应理解,执行该遍历设置操作的前提条件是集成电路设计中存在不可更改的实例,这意味着,若用户并未设置不可更改的实例,则无需执行该遍历设置操作,能够减少不必要的计算量。Further optionally, before step S102, the useless logic deletion method according to the exemplary embodiment of the present application also includes: in the case where there is an unchangeable instance in the integrated circuit design, traverse the instance in the integrated circuit design layer by layer from top to bottom, and set all lower instances and lower network of the unchangeable hierarchical instance to be unchangeable. By traversing all instances in the entire integrated circuit design once, the "unchangeable" setting of the hierarchical instance is passed from top to bottom to all lower instances and lower network of the hierarchical instance in the process, and when the user only sets the key instance to "unchangeable", the "unchangeable" setting can be automatically passed to cover the lower logic, which can not only simplify the user's setting operation, but also ensure that the logic that cannot be deleted is retained, thereby improving the processing efficiency of the integrated circuit design. It should be understood that the prerequisite for performing the traversal setting operation is that there is an unchangeable instance in the integrated circuit design, which means that if the user has not set an unchangeable instance, there is no need to perform the traversal setting operation, which can reduce unnecessary calculations.

总体来说,根据本申请示例性实施例的无用逻辑删除方法,旨在基于标注快速地移除所有无用逻辑,一方面分别通过一次标注和遍历即可快速移除无用逻辑,另一方面无需进行环路检测和多驱动检测,即可移除干净所有无用的环路逻辑。In general, the useless logic deletion method according to the exemplary embodiment of the present application aims to quickly remove all useless logic based on marking. On the one hand, useless logic can be quickly removed through one-time marking and traversal respectively. On the other hand, all useless loop logic can be removed without loop detection and multi-drive detection.

在该示例性实施例中,所有的线网和实例均默认具备可删除标志,首先将顶层模块的输入管脚连接的线网和无驱动的线网作为初始的参考线网,从这些参考线网开始,以深度优先搜索的方式,遍历整个集成电路设计,查找不可删除的实例和线网,将其可删除标志修改为不可删除标志,然后移除所有具备可删除标志的线网和实例。具体步骤如下。In this exemplary embodiment, all nets and instances have a deletable flag by default. First, the nets connected to the input pins of the top-level module and the undriven nets are used as the initial reference nets. Starting from these reference nets, the entire integrated circuit design is traversed in a depth-first search manner to find non-deletable instances and nets, and their deletable flags are modified to non-deletable flags, and then all nets and instances with deletable flags are removed. The specific steps are as follows.

第一步,为集成电路设计中的每个线网和每个实例均添加可删除标志。In the first step, a deletable flag is added to each net and each instance in the integrated circuit design.

第二步,以参考线网为起始,遍历集成电路设计以对不可删除的逻辑进行标注。具体地,从参考线网开始查找,针对每条参考线网进行如下操作。The second step is to start with the reference line net and traverse the integrated circuit design to mark the logic that cannot be deleted. Specifically, start searching from the reference line net and perform the following operations for each reference line net.

1)确定当前线网是否具备已处理标志,若当前线网具备已处理标志,则直接返回当前线网的标注(包括可删除标志和不可删除标志),并继续处理下一条参考线网;否则,为当前线网添加已处理标志,并继续执行步骤2),以执行预设操作,沿信号传播方向进行从输入到输出的前向遍历。1) Determine whether the current line network has a processed flag. If the current line network has a processed flag, directly return the annotation of the current line network (including the deletable flag and the non-deletable flag), and continue to process the next reference line network; otherwise, add a processed flag to the current line network, and continue to execute step 2) to perform the preset operation and perform forward traversal from input to output along the signal propagation direction.

2)获取当前线网沿信号传播方向连接的所有管脚,并针对每个管脚执行如下操作。2) Get all pins connected to the current net along the direction of signal propagation, and perform the following operations for each pin.

a)根据管脚的连接情况,分别执行如下操作。a) Perform the following operations according to the connection status of the pins.

i)若管脚为顶层模块的输出管脚,则将当前线网的可删除标志修改为不可删除标志。i) If the pin is the output pin of the top-level module, change the deletable flag of the current network to a non-deletable flag.

ii)若管脚是叶子实例的输入管脚,则获取叶子实例的所有输出线网(即输出管脚连接的线网,作为新的参考线网),根据步骤2)遍历每条输出线网的管脚,以获取每条输出线网的标注,若任一输出线网具备不可删除标志,则将当前线网和叶子实例的可删除标志均修改为不可删除标志。ii) If the pin is the input pin of the leaf instance, obtain all the output nets of the leaf instance (i.e., the nets connected to the output pins, which serve as new reference nets), and traverse the pins of each output net according to step 2) to obtain the label of each output net. If any output net has a non-deletable flag, modify the deletable flags of the current net and the leaf instance to non-deletable flags.

iii)若管脚是层次化实例的输入管脚,则获取管脚连接的下层线网(作为新的参考线网),并针对下层线网执行步骤2),遍历下层线网的管脚,以获取下层线网的标注,若下层线网具备不可删除标志,则将当前线网和层次化实例的可删除标志均修改为不可删除标志。iii) If the pin is an input pin of a hierarchical instance, obtain the lower-level net connected to the pin (as a new reference net), and execute step 2) for the lower-level net. Traverse the pins of the lower-level net to obtain the annotation of the lower-level net. If the lower-level net has a non-deletable flag, modify the deletable flags of the current net and the hierarchical instance to non-deletable flags.

iv)若管脚是层次化实例的输出管脚,则获取管脚连接的上层线网(作为新的参考线网),并根据步骤2)处理上层线网,遍历上层线网的管脚,以获取上层线网的标注,若上层线网具备不可删除标志,则将当前线网的可删除标志修改为不可删除标志。iv) If the pin is an output pin of a hierarchical instance, obtain the upper-layer net connected to the pin (as a new reference net), and process the upper-layer net according to step 2), traverse the pins of the upper-layer net to obtain the annotation of the upper-layer net, and if the upper-layer net has a non-deletable flag, change the deletable flag of the current net to a non-deletable flag.

v)其他情况,直接跳过。v) In other cases, skip directly.

b)可供选择地,在执行步骤a)之前,还可以先确定该管脚是否具备已处理标志,若该管脚具备已处理标志,则直接返回该管脚连接的线网或实例的标注,并继续处理下一个管脚;否则,为该管脚添加已处理标志,并继续执行步骤a)。b) Optionally, before executing step a), it is also possible to first determine whether the pin has a processed flag. If the pin has a processed flag, directly return the annotation of the wire net or instance connected to the pin and continue to process the next pin; otherwise, add a processed flag to the pin and continue to execute step a).

通过在以上操作中嵌套地执行步骤2),若最后查找的管脚是顶层模块的输出管脚,则可将初始的参考线网至该最后管脚的整个路径上的实例和线网的可删除标志均修改为不可删除标志。By nestedly executing step 2) in the above operation, if the last pin found is the output pin of the top-level module, the deletable flags of the instances and nets on the entire path from the initial reference net to the last pin can be modified to non-deletable flags.

第三步,从上到下遍历集成电路设计中的所有的线网和实例,删除所有具备可删除标志的线网和实例。The third step is to traverse all the nets and instances in the integrated circuit design from top to bottom and delete all the nets and instances with deletable marks.

具体地,遍历线网,若线网具备可删除标志,则直接删除该线网。还获取顶层模块的所有下层实例,若实例具备可删除标志,直接删除该实例,否则判定该实例是否为层次化实例,若是,则获取该实例下层的实例和线网进行判定。Specifically, the network is traversed, and if the network has a deletable flag, the network is directly deleted. All lower-level instances of the top-level module are also obtained. If the instance has a deletable flag, the instance is directly deleted. Otherwise, it is determined whether the instance is a hierarchical instance. If so, the instances and network of the lower layers of the instance are obtained for determination.

在执行完成一次第一步至第三步之后,还可以清除所有已处理标志,并重新执行一遍第二步至第三步,这样可以确保所有的无用逻辑能够被完整准确地删除。After executing steps 1 to 3 once, you can also clear all processed flags and re-execute steps 2 to 3 to ensure that all useless logic can be completely and accurately deleted.

通过执行上述步骤,对整个设计中的线网和实例进行简单快捷的标注后,不需要进行循环检测就可以快速移除所有无用逻辑。By following the steps above, you can quickly and easily annotate the nets and instances throughout your design, and quickly remove all unused logic without the need for loop detection.

实际执行第一步和第二步时,可以先获取顶层模块的输入管脚连接的线网和无驱动的线网,并放入参考线网集合startNets中。When actually executing the first and second steps, you can first obtain the wire nets connected to the input pins of the top-level module and the undriven wire nets, and put them into the reference wire net set startNets.

然后执行遍历函数TravNet(net),遍历参考线网集合startNets中的每条线网net,先判断当前线网是否具备已处理标志done,若具备,则返回该线网的标注,若不具备,则先为当前线网添加已处理标志done,并设置删除标志saveFlag = false,再沿信号传播方向获取当前线网的所有管脚,并放入管脚集合pins中。接下来遍历管脚集合pins中的每个管脚:若管脚所在实例是叶子实例,则获取叶子实例的输出线网并放入输出线网集合outNets中,再遍历输出线网集合outNets中的每条线网,若确定其中的任一输出线网具备不可删除标志,则令删除标志saveFlag = true,并将叶子实例的可删除标志修改为不可删除标志。若管脚所在实例是层次化实例,则在管脚另一侧连接的线网具备不可删除标志的情况下,令删除标志saveFlag = true,并将层次化实例的可删除标志修改为不可删除标志。若管脚是顶层模块的输出管脚,则令删除标志saveFlag = true。最后根据saveFlag值对当前线网进行标注,若saveFlag为true,则将当前线网标注为不可删除,若saveFlag为false,则将当前线网标注为可删除,并返回saveFlag的值作为TravNet(net)的函数值。Then execute the traversal function TravNet(net), traverse each net in the reference net set startNets, first determine whether the current net has the processed flag done, if it has, return the label of the net, if not, first add the processed flag done to the current net, and set the delete flag saveFlag = false, then get all the pins of the current net along the signal propagation direction, and put them into the pin set pins. Next, traverse each pin in the pin set pins: if the instance where the pin is located is a leaf instance, get the output net of the leaf instance and put it into the output net set outNets, then traverse each net in the output net set outNets, if it is determined that any of the output nets has an undeletable flag, set the delete flag saveFlag = true, and change the deletable flag of the leaf instance to an undeletable flag. If the instance where the pin is located is a hierarchical instance, if the net connected to the other side of the pin has an undeletable flag, set the delete flag saveFlag = true, and change the deletable flag of the hierarchical instance to an undeletable flag. If the pin is the output pin of the top-level module, set the deletion flag saveFlag = true. Finally, mark the current network according to the saveFlag value. If saveFlag is true, mark the current network as non-deletable. If saveFlag is false, mark the current network as deletable, and return the saveFlag value as the function value of TravNet(net).

特别地,若EDA工具支持设置不可更改,还需要处理不可更改的线网和实例的关系。如下为常用规则。In particular, if the EDA tool supports settings that cannot be changed, you also need to handle the relationship between the unchangeable nets and instances. The following are common rules.

1)若上层实例不可更改,其下层实例和线网都不可更改;该上层实例不可移除。1) If the upper instance cannot be changed, its lower instances and nets cannot be changed; the upper instance cannot be removed.

2)若管脚不可更改,其连接的线网和所在实例不可移除。2) If the pin cannot be changed, the net it is connected to and the instance it is in cannot be removed.

3)若线网为不可更改,其上层实例不可移除。3) If a network is immutable, its parent instance cannot be removed.

对此,首先,从上到下遍历整个集成电路设计的所有实例,若层次化实例为不可更改,则遍历其下层的线网和实例,设置为不可更改。To this end, first, all instances of the entire integrated circuit design are traversed from top to bottom. If the hierarchical instance is unchangeable, the nets and instances at the lower level are traversed and set to be unchangeable.

然后,从顶层模块的输入管脚连接的线网和无驱动的线网出发,深度优先遍历整个集成电路设计,进行标注。遍历线网,若线网已处理,则返回线网标注,否则标注线网为已处理;若当前线网为不可更改的线网,相当于满足预设条件中的参考线网是不可更改的线网这一条件,则直接将线网的可删除标志修改为不可删除标志,否则遍历线网沿信号传播方向连接的所有管脚,并针对每个管脚做如下操作。Then, starting from the nets connected to the input pins of the top-level module and the nets without drivers, the entire integrated circuit design is traversed in depth first for annotation. Traverse the nets, and if the net has been processed, return the net annotation, otherwise the net is marked as processed; if the current net is an unchangeable net, which is equivalent to satisfying the condition that the reference net in the preset condition is an unchangeable net, then directly modify the net's deletable flag to an undeletable flag, otherwise traverse all the pins connected to the net along the signal propagation direction, and perform the following operations for each pin.

1)若管脚或管脚所在实例为不可更改,相当于满足预设条件中的参考线网沿信号传播方向连接的管脚是不可更改的管脚,或该管脚所在的实例是不可更改的实例这两个条件中的任一个,则将实例和当前线网的可删除标志修改为不可删除标志。1) If the pin or the instance where the pin is located is unchangeable, it is equivalent to satisfying either of the two conditions that the pin connected to the reference line net along the signal propagation direction in the preset condition is an unchangeable pin, or the instance where the pin is located is an unchangeable instance, then the deletable flag of the instance and the current line net is changed to an undeletable flag.

2)若管脚是顶层模块的输出管脚,则将当前线网的可删除标志修改为不可删除标志。2) If the pin is the output pin of the top-level module, change the deletable flag of the current network to a non-deletable flag.

3)若管脚是叶子实例的输入管脚,则获取叶子实例的输出线网(作为新的参考线网),并遍历输出线网沿信号传播方向连接的管脚;若任一输出线网的管脚为不可更改,或任一输出线网具备不可删除标志,则将叶子实例和当前线网的可删除标志修改为不可删除标志。3) If the pin is the input pin of the leaf instance, obtain the output network of the leaf instance (as the new reference network) and traverse the pins connected to the output network along the signal propagation direction; if the pin of any output network is unchangeable, or any output network has an undeletable flag, modify the deletable flag of the leaf instance and the current network to an undeletable flag.

4)若管脚是层次化实例的输入管脚,则获取下层线网(作为新的参考线网),并遍历其管脚;若下层线网具备不可删除,则将层次化实例和当前线网的可删除标志修改为不可删除标志。4) If the pin is an input pin of a hierarchical instance, obtain the underlying net (as a new reference net) and traverse its pins; if the underlying net is non-deletable, change the deletable flag of the hierarchical instance and the current net to a non-deletable flag.

5)若管脚是层次化实例的输出管脚,则获取上层线网(作为新的参考线网),并遍历其管脚;若上层线网具备不可删除标志,则将层次化实例和当前线网的可删除标志修改为不可删除标志。5) If the pin is an output pin of a hierarchical instance, obtain the upper-layer net (as a new reference net) and traverse its pins; if the upper-layer net has a non-deletable flag, change the deletable flag of the hierarchical instance and the current net to a non-deletable flag.

6)其它情况,直接跳过。6) In other cases, just skip it.

最后,从上到下遍历整个集成电路设计,删除具备可删除标志的线网和实例。Finally, the entire integrated circuit design is traversed from top to bottom, deleting the wire nets and instances with deletable marks.

1)遍历线网,若线网具备可移除标志,则直接删除线网。1) Traverse the wire network. If the wire network has a removable flag, delete the wire network directly.

2)获取顶层模块的所有下层实例,若实例具备可删除标志,直接删除实例,否则判段实例是否为层次化实例,若是,则获取该实例下层的实例和线网进行判段。2) Get all lower-level instances of the top-level module. If the instance has a deletable flag, delete the instance directly. Otherwise, determine whether the instance is a hierarchical instance. If so, get the lower-level instances and wire networks of the instance for segmentation determination.

实际执行时,与不涉及不可更改设置的实施例存在三处区别,其余操作均相同。第一,在遍历管脚集合pins中的每个管脚之前,先判断当前线网是否不可更改,若是,则设置saveFlag为true。第二,在遍历管脚集合pins中的每个管脚时,增加一个分支情况:若确定管脚不可更改或管脚所在实例不可更改,则令删除标志saveFlag = true,并将管脚所在实例的可删除标志修改为不可删除标志。第三,在遍历管脚集合pins中的每个管脚时,若管脚所在实例是叶子实例,那么在遍历输出线网集合outNets中的每条线网时,若确定其中的任一输出线网具备不可删除标志,或任一输出线网的管脚不可更改,则令删除标志saveFlag= true,并将叶子实例的可删除标志修改为不可删除标志。During actual execution, there are three differences from the implementation example that does not involve the unchangeable setting, and the rest of the operations are the same. First, before traversing each pin in the pin set pins, first determine whether the current net is unchangeable. If so, set saveFlag to true. Second, when traversing each pin in the pin set pins, add a branch situation: if it is determined that the pin is unchangeable or the instance where the pin is located is unchangeable, set the deletion flag saveFlag = true, and modify the deletable flag of the instance where the pin is located to an undeletable flag. Third, when traversing each pin in the pin set pins, if the instance where the pin is located is a leaf instance, then when traversing each net in the output net set outNets, if it is determined that any of the output nets has an unchangeable flag, or the pins of any output net are unchangeable, set the deletion flag saveFlag = true, and modify the deletable flag of the leaf instance to an undeletable flag.

接下来介绍本申请的两个具体实施例。Next, two specific embodiments of the present application are introduced.

在具体实施例一中,集成电路设计如图2所示,TOP是顶层模块,TOP的输入管脚s1、i1、i2、ck1、i4、i5、ck2各自沿信号传播方向连接(以下简称“关联”)的线网分别为TOP下的线网n0、n1、n2、n4、n6、n7、n9,TOP下还存在线网n3、n8、n10、n11、n12、n13、n14,线网n14连接TOP的输出管脚o。L1、L2、L3、L4为顶层模块TOP内的叶子实例,这些叶子实例均具有输入管脚A、B和输出管脚O。H1和H2是层次化实例。H1/p0、H1/p1、H1/p2是H1的输入管脚,H1/p3、H1/p4是H1的输出管脚,H1/L1、H1/L2为H1内的叶子实例。H2/p1、H2/p2是H2的输入管脚,H2/p3、H2/p4是H2的输出管脚,H2/L1、H2/L2为H2内的叶子实例。H1/L1、H2/L1均具有输入管脚S、I0、I1和输出管脚O,H1/L2、H2/L2均具有输入管脚D、>和输出管脚Q、,H1和H2内均具有线网n0、n1、n2、n3、n4、n5,除线网H1/n0为有驱动线网、线网H2/n0为无驱动线网这一区别外,H1和H2内的其他同名线网、同名叶子实例的连接方式相同。下面依次以参考线网n1、n2和H2/n0为例,示例性地说明从前往后的遍历标注过程。In the first specific embodiment, the integrated circuit design is shown in FIG2 , TOP is the top-level module, and the input pins s1, i1, i2, ck1, i4, i5, ck2 of TOP are connected to the nets n0, n1, n2, n4, n6, n7, n9 under TOP along the signal propagation direction, respectively. There are also nets n3, n8, n10, n11, n12, n13, n14 under TOP, and net n14 is connected to the output pin o of TOP. L1, L2, L3, L4 are leaf instances in the top-level module TOP, and these leaf instances all have input pins A, B and output pin O. H1 and H2 are hierarchical instances. H1/p0, H1/p1, H1/p2 are input pins of H1, H1/p3, H1/p4 are output pins of H1, and H1/L1, H1/L2 are leaf instances in H1. H2/p1 and H2/p2 are input pins of H2, H2/p3 and H2/p4 are output pins of H2, and H2/L1 and H2/L2 are leaf instances in H2. H1/L1 and H2/L1 both have input pins S, I0, I1 and output pin O, and H1/L2 and H2/L2 both have input pins D, > and output pins Q, , H1 and H2 both have nets n0, n1, n2, n3, n4, and n5. Except for the difference that net H1/n0 is a driven net and net H2/n0 is a non-driven net, the connection methods of other nets and leaf instances with the same name in H1 and H2 are the same. The following takes nets n1, n2, and H2/n0 as examples to illustrate the traversal and annotation process from front to back.

(1)处理n1的过程如下。(1) The process of processing n1 is as follows.

①首次处理,设置n1为done(已处理);获取线网n1关联的管脚为L1/A,L1/A是叶子实例L1的输入管脚,获取L1的输出管脚L1/O连接的线网为n3;迭代处理n3(步骤②),由于步骤②的返回值为false,故将线网n1标注为可删除。① For the first processing, set n1 to done (processed); get the pin associated with net n1 as L1/A, which is the input pin of leaf instance L1; get the net n3 connected to the output pin L1/O of L1; iterate n3 (step ②). Since the return value of step ② is false, mark net n1 as deletable.

②首次处理,设置n3为done;获取n3关联的管脚H1/p1,H1/p1是层次化实例H1的输入管脚,获取其下层线网H1/n1;迭代处理H1/n1(步骤③),由于步骤③的返回值为false,故将实例H1和线网n3标注为可删除,并向步骤①返回false。② For the first processing, set n3 to done; obtain the pin H1/p1 associated with n3. H1/p1 is the input pin of the hierarchical instance H1, and obtain its lower-level net H1/n1; iteratively process H1/n1 (step ③). Since the return value of step ③ is false, mark the instance H1 and net n3 as deletable, and return false to step ①.

③首次处理,设置H1/n1为done;获取H1/n1关联的管脚H1/L1/I1,其为叶子实例H1/L1的输入管脚,获取H1/L1的输出管脚H1/L1/O连接的线网H1/n3;迭代处理H1/n3(步骤④),由于步骤④的返回值为false,故将实例H1/L1和线网H1/n1标注为可删除,并向步骤②返回false。③In the first processing, set H1/n1 to done; obtain the pin H1/L1/I1 associated with H1/n1, which is the input pin of the leaf instance H1/L1, and obtain the net H1/n3 connected to the output pin H1/L1/O of H1/L1; iteratively process H1/n3 (step ④). Since the return value of step ④ is false, mark the instance H1/L1 and the net H1/n1 as deletable, and return false to step ②.

④首次处理,设置H1/n3为done;获取H1/n3关联的管脚H1/L2/D,其为叶子实例H1/L2的输入管脚;迭代处理输出管脚H1/L2/Q连接的线网H1/n2(步骤⑤)和输出管脚H1/L2/连接的线网H1/n5(步骤⑦),由于二者的返回值都为false,故将实例H1/L2和线网H1/n3标注为可删除,并向步骤③返回false。④ For the first processing, set H1/n3 to done; obtain the pin H1/L2/D associated with H1/n3, which is the input pin of the leaf instance H1/L2; iteratively process the net H1/n2 connected to the output pin H1/L2/Q (step ⑤) and the output pin H1/L2/ The connected net H1/n5 (step ⑦) returns false, so the instance H1/L2 and net H1/n3 are marked as deletable, and false is returned to step ③.

⑤首次处理,设置H1/n2为done;获取关联管脚H1/L1/I0和H1/p3,处理管脚H1/L1/I0(步骤a)和H1/p3(步骤b),由于二者的返回值都为false,故将实例H1/L2、H1和线网H1/n2标注为可删除,并向步骤④返回false。⑤In the first processing, set H1/n2 to done; obtain the associated pins H1/L1/I0 and H1/p3, process pins H1/L1/I0 (step a) and H1/p3 (step b). Since the return values of both are false, mark the instances H1/L2, H1 and net H1/n2 as deletable, and return false to step ④.

a)H1/L1/I0为叶子实例H1/L1的输入管脚,获取输出管脚H1/L1/O,其关联的线网H1/n3,已经标注为done,向步骤⑤返回其当前标注的false。a) H1/L1/I0 is the input pin of the leaf instance H1/L1. Get the output pin H1/L1/O. Its associated net H1/n3 has been marked as done. Return its current marked false to step ⑤.

b)H1/p3是层次化实例H1的输出管脚,获取其上层线网n10,迭代处理n10(步骤⑥),由于步骤⑥的返回值为false,故向步骤⑤返回false。b) H1/p3 is the output pin of the hierarchical instance H1. Get its upper-layer net n10 and iterate n10 (step ⑥). Since the return value of step ⑥ is false, return false to step ⑤.

⑥首次处理,设置n10为done;获取关联管脚L3/A,其为叶子实例L3的输入管脚,由于L3没有输出线网,将实例L3和线网n10标注为可删除,向步骤b)返回false。⑥ First processing, set n10 to done; get the associated pin L3/A, which is the input pin of the leaf instance L3. Since L3 has no output net, mark the instance L3 and net n10 as deletable, and return false to step b).

⑦首次处理,设置H1/n5为done;获取关联管脚H1/p4,其为层次化实例H1的输出管脚,获取上层线网n11,迭代处理n11(步骤⑧),由于步骤⑧的返回值为false,故将实例H1和线网H1/n5标注为可删除,并向步骤④返回false。⑦ For the first processing, set H1/n5 to done; obtain the associated pin H1/p4, which is the output pin of the hierarchical instance H1, obtain the upper-level net n11, and iterate n11 (step ⑧). Since the return value of step ⑧ is false, mark the instance H1 and net H1/n5 as deletable, and return false to step ④.

⑧首次处理,设置n11为done;获取关联管脚L3/B,其为叶子实例L3的输入管脚,由于L3没有输出线网,将实例L3和线网n11标注为可删除,向步骤⑦返回false。⑧In the first processing, set n11 to done; obtain the associated pin L3/B, which is the input pin of the leaf instance L3. Since L3 has no output net, mark the instance L3 and net n11 as deletable, and return false to step ⑦.

(2)处理n2的过程如下。(2) The process of processing n2 is as follows.

首次处理,设置n2为done;获取线网n2关联的管脚为L1/B,其为叶子实例L1的输入管脚,其输出线网n3已经标注为done且为可删除,则实例L1为可删除,线网n2为可删除。During the first processing, n2 is set to done; the pin associated with net n2 is obtained as L1/B, which is the input pin of leaf instance L1. Its output net n3 has been marked as done and is deletable, so instance L1 is deletable and net n2 is deletable.

(3)处理H2/n0的过程如下。(3) The process of treating H2/n0 is as follows.

①首次处理,设置H2/n0为done;获取关联管脚H2/L1/S,其为叶子实例H2/L1的输入管脚,获取H2/L1的输出管脚H2/L1/O连接的线网H2/n3,迭代处理线网H2/n3(步骤②),由于步骤②的返回值为true,故将实例H2/L1和线网H2/n0标注为不可删除。① For the first processing, set H2/n0 to done; obtain the associated pin H2/L1/S, which is the input pin of the leaf instance H2/L1, obtain the net H2/n3 connected to the output pin H2/L1/O of H2/L1, and iteratively process the net H2/n3 (step ②). Since the return value of step ② is true, the instance H2/L1 and the net H2/n0 are marked as non-deletable.

②首次处理,设置H2/n3为done;获取关联管脚H2/L2/D,其为叶子实例H2/L2的输入管脚,迭代处理输出线网H2/n2(步骤③)和H2/n5(步骤⑥),由于二者返回值均为true,故将实例H2/L2和线网H2/n3标注为不可删除,向步骤①返回true。②In the first processing, set H2/n3 to done; get the associated pin H2/L2/D, which is the input pin of the leaf instance H2/L2, and iteratively process the output nets H2/n2 (step ③) and H2/n5 (step ⑥). Since the return values of both are true, mark the instance H2/L2 and the net H2/n3 as non-deletable, and return true to step ①.

③首次处理,设置H2/n2为done;获取关联管脚H2/L1/I0和H2/p3;处理管脚H2/L1/I0(步骤a)和H2/p3(步骤b),由于步骤b)的返回值为true,故将实例H2和线网H2/n2标注为不可删除,向步骤②返回true。③ For the first processing, set H2/n2 to done; obtain the associated pins H2/L1/I0 and H2/p3; process pins H2/L1/I0 (step a) and H2/p3 (step b). Since the return value of step b) is true, mark instance H2 and net H2/n2 as non-deletable, and return true to step ②.

a)H2/L1/I0是叶子实例H2/L1的输入管脚,获取输出管脚H2/L1/O连接的线网H2/n3,已经标注为done,向步骤③返回H2/n3当前的标注false。a) H2/L1/I0 is the input pin of leaf instance H2/L1. Get the net H2/n3 connected to output pin H2/L1/O, which has been marked as done. Return the current mark false of H2/n3 to step ③.

b)H2/p3是层次化实例H2的输出管脚,迭代处理其上层线网n12(步骤④),由于步骤④的返回值为true,故向步骤③返回true。b) H2/p3 is the output pin of the hierarchical instance H2. Its upper layer net n12 is iteratively processed (step ④). Since the return value of step ④ is true, true is returned to step ③.

④首次处理,设置n12为done;获取关联管脚L4/A,其为叶子实例L4的输入管脚,迭代处理输出线网n14(步骤⑤),由于步骤⑤的返回值为true,故设置实例L4和线网n12为不可删除,向步骤b)返回true。④ For the first processing, set n12 to done; obtain the associated pin L4/A, which is the input pin of the leaf instance L4, and iterate the output net n14 (step ⑤). Since the return value of step ⑤ is true, set the instance L4 and net n12 to be non-deletable, and return true to step b).

⑤首次处理,设置n14为done;获取关联管脚o,o为顶层模块TOP的输出管脚,设置n14为不可删除,向步骤④返回true。⑤For the first processing, set n14 to done; get the associated pin o, where o is the output pin of the top-level module TOP, set n14 to be non-deletable, and return true to step ④.

⑥首次处理,设置H2/n5为done;获取关联管脚H2/p4,是层次化实例H2的输出管脚,获取上层线网n13,迭代处理n13(步骤⑦),由于步骤⑦的返回值为true,设置线网H2/n5和实例H2为不可删除,向步骤②返回true。⑥In the first processing, set H2/n5 to done; obtain the associated pin H2/p4, which is the output pin of the hierarchical instance H2, obtain the upper-level net n13, and iteratively process n13 (step ⑦). Since the return value of step ⑦ is true, set the net H2/n5 and instance H2 to be non-deletable, and return true to step ②.

⑦首次处理,设置n13为done;获取关联管脚L4/B,其为叶子实例L4的输入管脚,由于输出线网n14已经标注为done,且n14为不可删除,故设置n13为不可删除,向步骤⑥返回true。⑦ For the first processing, set n13 to done; get the associated pin L4/B, which is the input pin of the leaf instance L4. Since the output net n14 has been marked as done and n14 is not deletable, set n13 to not deletable and return true to step ⑥.

(4)标注结果。(4) Mark the results.

所有迭代完成后,线网标注为:n0、n1、n2、n3、n4、n10、n11和H1/n为可删除;n6、n7、n8、n9、n12、n13、n14和H2/n为不可删除。After all iterations are completed, the nets are labeled as: n0, n1, n2, n3, n4, n10, n11 and H1/n Can be deleted; n6, n7, n8, n9, n12, n13, n14 and H2/n Cannot be deleted.

实例标注为:L1、L3、H1、H1/L1、H1/L2为可删除;L2、L4、H2、H2/L1、H2/L2为不可删除。Instances are marked as follows: L1, L3, H1, H1/L1, H1/L2 are deletable; L2, L4, H2, H2/L1, H2/L2 are non-deletable.

(5)移除无用逻辑。(5) Remove useless logic.

从上到下遍历整个集成电路设计:遍历顶层线网,删除所有可删除的线网,即n0、n1、n2、n3、n4、n10和n11;遍历实例,删除实例L1、L3、H1,H2为不可删除的层次化实例,遍历H2的线网,无可删除线网,遍历H2的实例,无可删除实例。Traverse the entire integrated circuit design from top to bottom: traverse the top-level nets and delete all deletable nets, namely n0, n1, n2, n3, n4, n10 and n11; traverse the instances and delete instances L1, L3, H1. H2 is a non-deletable hierarchical instance. Traverse the nets of H2 and there are no deletable nets. Traverse the instances of H2 and there are no deletable instances.

具体实施例二的集成电路设计仍如图2所示,但设置叶子实例H1/L2为不可更改,则处理顶层输入线网n1的过程如下。The integrated circuit design of the second specific embodiment is still as shown in FIG. 2 , but the leaf instance H1 / L2 is set to be unchangeable, and the process of processing the top-level input network n1 is as follows.

①首次处理,设置n1为done;获取线网n1关联的管脚为L1/A,L1/A是叶子实例L1的输入管脚,获取L1的输出管脚L1/O连接的线网为n3;迭代处理n3(步骤②),由于步骤②的返回值为true,故将线网n1标注为不可删除。① For the first processing, set n1 to done; get the pin associated with net n1 as L1/A, which is the input pin of leaf instance L1; get the net n3 connected to the output pin L1/O of L1; iterate n3 (step ②). Since the return value of step ② is true, mark net n1 as non-deletable.

②首次处理,设置n3为done;获取n3关联的管脚H1/p1,H1/p1是层次化实例H1的输入管脚,获取其下层线网H1/n1;迭代处理H1/n1(步骤③),由于步骤③的返回值为true,故将实例H1和线网n3标注为不可删除,并向步骤①返回true。②In the first processing, set n3 to done; obtain the pin H1/p1 associated with n3. H1/p1 is the input pin of the hierarchical instance H1, and obtain its lower-level net H1/n1; iteratively process H1/n1 (step ③). Since the return value of step ③ is true, the instance H1 and net n3 are marked as non-deletable, and true is returned to step ①.

③首次处理,设置H1/n1为done;获取H1/n1关联的管脚H1/L1/I1,其为叶子实例H1/L1的输入管脚,获取H1/L1的输出线网H1/n3;迭代处理H1/n3(步骤④),由于步骤④的返回值为true,故将实例H1/L1和线网H1/n1标注为不可删除,并向步骤②返回true。③In the first processing, set H1/n1 to done; obtain the pin H1/L1/I1 associated with H1/n1, which is the input pin of the leaf instance H1/L1, and obtain the output net H1/n3 of H1/L1; iteratively process H1/n3 (step ④). Since the return value of step ④ is true, mark the instance H1/L1 and net H1/n1 as non-deletable, and return true to step ②.

④首次处理,设置H1/n3为done;获取H1/n3关联的管脚H1/L2/D,由于实例H1/L2为不可更改,故设置实例H1/L2和线网H1/n3为不可删除;同时由于H1/L2/D为叶子实例H1/L2的输入管脚,迭代处理输出线网H1/n2(步骤⑤)和H1/n5(步骤⑦),由于步骤⑤的返回值为true,故将实例H1/L2和线网H1/n3标注为不可删除,并向步骤③返回true。④In the first processing, set H1/n3 to done; obtain the pin H1/L2/D associated with H1/n3. Since the instance H1/L2 is not changeable, set the instance H1/L2 and the net H1/n3 to be non-deletable; at the same time, since H1/L2/D is the input pin of the leaf instance H1/L2, iteratively process the output nets H1/n2 (step ⑤) and H1/n5 (step ⑦). Since the return value of step ⑤ is true, mark the instance H1/L2 and the net H1/n3 as non-deletable, and return true to step ③.

⑤首次处理,设置H1/n2为done;获取关联管脚H1/L1/I0和H1/p3,处理关联管脚H1/L1/I0(步骤a)和H1/p3(步骤b),由于步骤a)返回值为true,故设置线网H1/n2为不可删除,并向步骤④返回true。⑤For the first processing, set H1/n2 to done; obtain the associated pins H1/L1/I0 and H1/p3, process the associated pins H1/L1/I0 (step a) and H1/p3 (step b). Since the return value of step a) is true, set the line net H1/n2 to non-deletable and return true to step ④.

a)H1/L1/I0为叶子实例H1/L1的输入管脚,获取输出管脚H1/L1/O,其关联的线网H1/n3,已经标注为done,向步骤⑤返回其当前标注的true。a) H1/L1/I0 is the input pin of the leaf instance H1/L1. Get the output pin H1/L1/O. Its associated net H1/n3 has been marked as done. Return the current mark true to step ⑤.

b)H1/p3是层次化实例H1的输出管脚,获取其上层线网n10,迭代处理n10(步骤⑥),由于步骤⑥的返回值为false,故向步骤⑤返回false。b) H1/p3 is the output pin of the hierarchical instance H1. Get its upper-layer net n10 and iterate n10 (step ⑥). Since the return value of step ⑥ is false, return false to step ⑤.

⑥首次处理,设置n10为done;获取关联管脚L3/A,其为叶子实例L3的输入管脚,由于L3没有输出线网,将实例L3和线网n10标注为可删除,向步骤b)返回false。⑥ First processing, set n10 to done; get the associated pin L3/A, which is the input pin of the leaf instance L3. Since L3 has no output net, mark the instance L3 and net n10 as deletable, and return false to step b).

⑦首次处理,设置H1/n5为done;获取关联管脚H1/p4,其为层次化实例H1的输出管脚,获取上层线网n11,迭代处理n11(步骤⑧),由于步骤⑧的返回值为false,故将实例H1和线网H1/n5标注为可删除(实例H1在步骤②会被修改为不可删除),并向步骤④返回false。⑦In the first processing, set H1/n5 to done; obtain the associated pin H1/p4, which is the output pin of the hierarchical instance H1, obtain the upper-level net n11, and iteratively process n11 (step ⑧). Since the return value of step ⑧ is false, the instance H1 and the net H1/n5 are marked as deletable (the instance H1 will be modified to non-deletable in step ②), and return false to step ④.

⑧首次处理,设置n11为done;获取关联管脚L3/B,其为叶子实例L3的输入管脚,由于L3没有输出线网,将实例L3和线网n11标注为可删除,向步骤⑦返回false。⑧In the first processing, set n11 to done; obtain the associated pin L3/B, which is the input pin of the leaf instance L3. Since L3 has no output net, mark the instance L3 and net n11 as deletable, and return false to step ⑦.

处理n2的过程为,首次处理,设置n2为done;获取线网n2关联的管脚为L1/B,其为叶子实例L1的输入管脚,其输出线网n3已经标注为done且为不可删除,则实例L1为不可删除,线网n2为不可删除。The process of processing n2 is as follows: for the first processing, set n2 to done; obtain the pin associated with net n2 as L1/B, which is the input pin of leaf instance L1, and its output net n3 has been marked as done and cannot be deleted, then instance L1 cannot be deleted, and net n2 cannot be deleted.

处理H2/n0的过程与具体实施例一相同。The process of treating H2/n0 is the same as that in the first specific embodiment.

所有迭代完成后,线网标注为:n0、n4、n10、n11和H1/n5为可删除;n1、n2、n3、n6、n7、n8、n9、n12、n13、n14、H1/n0、H1/n1、H1/n2、H1/n3、H1/n4和H2/n为不可删除。After all iterations are completed, the nets are marked as follows: n0, n4, n10, n11 and H1/n5 are deletable; n1, n2, n3, n6, n7, n8, n9, n12, n13, n14, H1/n0, H1/n1, H1/n2, H1/n3, H1/n4 and H2/n Cannot be deleted.

实例标注为:L1、L3为可删除;L2、L4、H1、H1/L1、H1/L2、H2、H2/L1、H2/L2为不可删除。The instances are marked as follows: L1 and L3 are deletable; L2, L4, H1, H1/L1, H1/L2, H2, H2/L1, and H2/L2 are non-deletable.

(5)移除无用逻辑。(5) Remove useless logic.

从上到下遍历整个集成电路设计:遍历顶层线网,删除所有可删除的线网,即n0、n4、n10、n11和H1/n5;遍历实例,删除实例L1、L3,H1和H2为不可删除的层次化实例,遍历H1的线网,删除可删除的线网,即H1/n5,遍历H1的实例,无可删除的实例,遍历H2的线网,无可删除线网,遍历H2的实例,无可删除实例。Traverse the entire integrated circuit design from top to bottom: traverse the top-level nets and delete all deletable nets, namely n0, n4, n10, n11 and H1/n5; traverse the instances and delete instances L1 and L3. H1 and H2 are non-deletable hierarchical instances. Traverse the nets of H1 and delete the deletable nets, namely H1/n5. Traverse the instances of H1 and there are no deletable instances. Traverse the nets of H2 and there are no deletable nets. Traverse the instances of H2 and there are no deletable instances.

图3是示出根据本申请示例性实施例的无用逻辑删除装置的框图。FIG. 3 is a block diagram showing a useless logical deletion apparatus according to an exemplary embodiment of the present application.

参照图3,无用逻辑删除装置300包括准备单元301、执行单元302、删除单元303。3 , the useless logical deletion device 300 includes a preparation unit 301 , an execution unit 302 , and a deletion unit 303 .

准备单元301可从集成电路设计的线网中,确定顶层模块的输入管脚连接的线网以及无驱动的线网,记为参考线网。The preparation unit 301 may determine the nets connected to the input pins of the top-level module and the undriven nets from the nets designed for the integrated circuit, and record them as reference nets.

执行单元302可针对每个参考线网,执行以下预设操作:在参考线网满足预设条件的情况下,将参考线网确定为目标线网,其中,预设条件包括与顶层模块的输出管脚相连接,在参考线网沿信号传播方向连接有其他线网的情况下,将其他线网中的每条线网分别作为新的参考线网,继续执行预设操作,以确定其他线网中是否存在目标线网,并在确定其他线网中存在目标线网的情况下,将参考线网确定为目标线网,以及将参考线网沿信号传播方向连接的实例确定为目标实例。The execution unit 302 can perform the following preset operations for each reference line network: when the reference line network meets the preset conditions, the reference line network is determined as the target line network, wherein the preset conditions include being connected to the output pin of the top-level module; when the reference line network is connected to other line networks along the signal propagation direction, each line network in the other line networks is used as a new reference line network, and the preset operations are continued to be performed to determine whether there is a target line network in other line networks; when it is determined that there is a target line network in other line networks, the reference line network is determined as the target line network, and the instance to which the reference line network is connected along the signal propagation direction is determined as the target instance.

删除单元303可将集成电路设计中除目标线网以外的线网以及除目标实例以外的实例作为无用逻辑进行删除,得到更新后的集成电路设计。The deletion unit 303 may delete the nets other than the target net and the instances other than the target instance in the integrated circuit design as useless logic to obtain an updated integrated circuit design.

可选地,执行单元302执行的在参考线网沿信号传播方向连接有其他线网的情况下,将其他线网中的每条线网分别作为新的参考线网的步骤包括:在参考线网沿信号传播方向直接连接到其他线网的情况下,将直接连接的其他线网中的每条线网分别作为新的参考线网;在参考线网沿信号传播方向直接连接到叶子实例的输入管脚的情况下,将叶子实例的每条输出线网作为新的参考线网,其中,叶子实例的输出线网是参考线网沿信号传播方向间接连接的其他线网。Optionally, the step executed by the execution unit 302 of taking each of the other nets as a new reference net when the reference net is connected to other nets along the signal propagation direction includes: when the reference net is directly connected to other nets along the signal propagation direction, taking each of the other directly connected nets as a new reference net; when the reference net is directly connected to the input pin of a leaf instance along the signal propagation direction, taking each output net of the leaf instance as a new reference net, wherein the output net of the leaf instance is other nets indirectly connected to the reference net along the signal propagation direction.

可选地,执行单元302执行的预设操作还包括:获取参考线网沿信号传播方向连接的全部管脚,记为参考管脚;执行单元302执行的在参考线网满足预设条件的情况下,将参考线网确定为目标线网的步骤包括:在参考管脚包括顶层模块的输出管脚的情况下,将参考线网确定为目标线网;执行单元302执行的在参考线网沿信号传播方向直接连接到其他线网的情况下,将直接连接的其他线网中的每条线网分别作为新的参考线网的步骤包括:在参考管脚包括层次化实例的管脚的情况下,将参考管脚另一侧连接的每条线网分别作为新的参考线网;执行单元302执行的在参考线网沿信号传播方向直接连接到叶子实例的输入管脚的情况下,将叶子实例的每条输出线网作为新的参考线网的步骤包括:在参考管脚包括叶子实例的输入管脚的情况下,将叶子实例的每条输出线网作为新的参考线网。Optionally, the preset operation performed by the execution unit 302 also includes: obtaining all pins connected to the reference line network along the signal propagation direction, recorded as reference pins; the step executed by the execution unit 302 to determine the reference line network as the target line network when the reference line network meets the preset conditions includes: when the reference pin includes the output pin of the top-level module, the reference line network is determined as the target line network; the step executed by the execution unit 302 to use each line network in the other directly connected line networks as a new reference line network when the reference line network is directly connected to other line networks along the signal propagation direction includes: when the reference pin includes the pin of the hierarchical instance, each line network connected on the other side of the reference pin is used as a new reference line network; the step executed by the execution unit 302 to use each output line network of the leaf instance as a new reference line network when the reference line network is directly connected to the input pin of the leaf instance along the signal propagation direction includes: when the reference pin includes the input pin of the leaf instance, each output line network of the leaf instance is used as a new reference line network.

可选地,在获取参考线网沿信号传播方向连接的全部管脚,记为参考管脚的步骤之后,执行单元302执行的预设操作还包括:在参考管脚具备已处理标志的情况下,不再针对参考管脚执行预设操作中的其他步骤;在参考管脚不具备已处理标志的情况下,为参考管脚添加已处理标志,并针对参考管脚继续执行预设操作中的其他步骤。Optionally, after the step of obtaining all pins connected to the reference line network along the signal propagation direction and recording them as reference pins, the preset operation performed by the execution unit 302 also includes: when the reference pin has a processed flag, no longer executing other steps in the preset operation for the reference pin; when the reference pin does not have a processed flag, adding a processed flag to the reference pin, and continuing to execute other steps in the preset operation for the reference pin.

可选地,执行单元302还可:针对每个参考线网,在确定已针对参考线网执行过预设操作的情况下,不再针对参考线网执行预设操作;在确定尚未针对参考线网执行预设操作的情况下,针对参考线网执行预设操作。Optionally, the execution unit 302 may further: for each reference line net, if it is determined that the preset operation has been performed on the reference line net, no longer perform the preset operation on the reference line net; if it is determined that the preset operation has not been performed on the reference line net, perform the preset operation on the reference line net.

可选地,执行单元302执行的在确定已针对参考线网执行过预设操作的情况下,不再针对参考线网执行预设操作的步骤包括:在确定参考线网具备已处理标志的情况下,不再针对参考线网执行预设操作;可选地,执行单元302执行的在确定尚未针对参考线网执行预设操作的情况下,针对参考线网执行预设操作的步骤包括:在确定参考线网不具备已处理标志的情况下,为参考线网添加已处理标志,并针对参考线网执行预设操作。Optionally, the step of not executing the preset operation on the reference line network when it is determined that the preset operation has been executed on the reference line network, executed by the execution unit 302, includes: when it is determined that the reference line network has a processed flag, not executing the preset operation on the reference line network; optionally, the step of executing the preset operation on the reference line network when it is determined that the preset operation has not been executed on the reference line network, executed by the execution unit 302, includes: when it is determined that the reference line network does not have a processed flag, adding a processed flag to the reference line network, and executing the preset operation on the reference line network.

可选地,无用逻辑删除装置300还包括去除单元(图中未示出),去除单元可去除全部已处理标志,并使准备单元301和执行单元302再次运行。Optionally, the useless logical deletion device 300 further includes a removal unit (not shown in the figure), which can remove all processed marks and enable the preparation unit 301 and the execution unit 302 to run again.

可选地,执行单元302执行的预设操作还包括:为目标线网以及目标实例添加不可删除标志。Optionally, the preset operation performed by the execution unit 302 further includes: adding a non-deletable flag to the target net and the target instance.

可选地,无用逻辑删除装置300还包括添加单元(图中未示出),添加单元可为集成电路设计中的每个线网和每个实例均添加可删除标志;执行单元302执行的为目标线网以及目标实例添加不可删除标志的步骤包括:在将参考线网确定为目标线网的情况下,将参考线网的可删除标志修改为不可删除标志;在将一个实例确定为目标实例的情况下,将实例的可删除标志修改为不可删除标志。Optionally, the useless logic deletion device 300 also includes an adding unit (not shown in the figure), which can add a deletable flag for each line net and each instance in the integrated circuit design; the step of adding a non-deletable flag for the target line net and the target instance performed by the execution unit 302 includes: when the reference line net is determined as the target line net, the deletable flag of the reference line net is modified to an non-deletable flag; when an instance is determined as the target instance, the deletable flag of the instance is modified to an non-deletable flag.

可选地,预设条件还包括以下至少一个:参考线网是不可更改的线网、参考线网沿信号传播方向连接的管脚是不可更改的管脚、参考线网沿信号传播方向连接的管脚所在的实例是不可更改的实例。Optionally, the preset conditions also include at least one of the following: the reference line network is an unchangeable line network, the pins connected to the reference line network along the signal propagation direction are unchangeable pins, and the instance where the pins connected to the reference line network along the signal propagation direction are located is an unchangeable instance.

可选地,无用逻辑删除装置300还包括遍历单元(图中未示出),遍历单元可在集成电路设计中存在不可更改的实例的情况下,自上而下逐层遍历集成电路设计中的实例,将不可更改的层次化实例的所有下层实例和下层线网均设置为不可更改。Optionally, the useless logical deletion device 300 also includes a traversal unit (not shown in the figure), which can traverse the instances in the integrated circuit design from top to bottom layer by layer when there are unchangeable instances in the integrated circuit design, and set all lower-level instances and lower-level wire networks of the unchangeable hierarchical instances to be unchangeable.

可选地,删除单元303还可:自上而下逐层遍历集成电路设计中的线网和实例,并执行以下操作:在遍历得到的线网不是目标线网的情况下,将遍历得到的线网作为无用逻辑进行删除;在遍历得到的实例不是目标实例的情况下,将遍历得到的实例作为无用逻辑进行删除;在遍历得到的实例是目标实例并且是层次化实例的情况下,继续向下遍历当前层次化实例中的线网和下层实例。Optionally, the deletion unit 303 can also: traverse the wire nets and instances in the integrated circuit design layer by layer from top to bottom, and perform the following operations: when the traversed wire net is not the target wire net, delete the traversed wire net as useless logic; when the traversed instance is not the target instance, delete the traversed instance as useless logic; when the traversed instance is the target instance and it is a hierarchical instance, continue to traverse downward the wire nets and lower-level instances in the current hierarchical instance.

关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。Regarding the device in the above embodiment, the specific manner in which each unit performs the operation has been described in detail in the embodiment of the method, and will not be elaborated here.

图4是示出根据本申请示例性实施例的计算机设备的框图。如图4所示,计算机设备400包括至少一个处理器401和至少一个存储计算机可执行指令的存储器402。这里,计算机可执行指令在被处理器401运行时,促使处理器401执行如上述示例性实施例所述的无用逻辑删除方法。Fig. 4 is a block diagram of a computer device according to an exemplary embodiment of the present application. As shown in Fig. 4, the computer device 400 includes at least one processor 401 and at least one memory 402 storing computer executable instructions. Here, when the computer executable instructions are executed by the processor 401, the processor 401 is prompted to execute the useless logical deletion method as described in the above exemplary embodiment.

作为示例,计算机设备400并非必须是单个的设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。计算机设备400还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的服务器。As an example, the computer device 400 is not necessarily a single device, but may be any collection of devices or circuits that can execute the above instructions (or instruction sets) individually or in combination. The computer device 400 may also be part of an integrated control system or system manager, or may be configured as a server that is interconnected with a local or remote (e.g., via wireless transmission) interface.

在计算机设备400中,处理器401可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器401还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。In computer device 400, processor 401 may include a central processing unit (CPU), a graphics processing unit (GPU), a programmable logic device, a dedicated processor system, a microcontroller, or a microprocessor. By way of example and not limitation, processor 401 may also include an analog processor, a digital processor, a microprocessor, a multi-core processor, a processor array, a network processor, etc.

处理器401可运行存储在存储器402中的指令或代码,其中,存储器402还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。The processor 401 may execute instructions or codes stored in the memory 402, wherein the memory 402 may also store data. Instructions and data may also be sent and received over a network via a network interface device, wherein the network interface device may employ any known transmission protocol.

存储器402可与处理器401集成为一体,例如,将RAM或闪存布置在集成电路设计微处理器等之内。此外,存储器402可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器402和处理器401可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器401能够读取存储在存储器402中的文件。The memory 402 may be integrated with the processor 401, for example, by placing RAM or flash memory within an integrated circuit design microprocessor or the like. In addition, the memory 402 may include a separate device, such as an external disk drive, a storage array, or any other storage device that can be used by a database system. The memory 402 and the processor 401 may be operationally coupled, or may communicate with each other, such as through an I/O port, a network connection, etc., so that the processor 401 can read files stored in the memory 402.

此外,计算机设备400还可以包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。计算机设备400的所有组件可经由总线和/或网络而彼此连接。In addition, the computer device 400 may also include a video display (such as a liquid crystal display) and a user interaction interface (such as a keyboard, a mouse, a touch input device, etc.) All components of the computer device 400 may be connected to each other via a bus and/or a network.

在示例性实施例中,还可提供一种计算机可读存储介质,当计算机可读存储介质中的指令被处理器执行时,使得处理器能够执行如上述示例性实施例所述的无用逻辑删除方法。计算机可读存储介质例如可以是包括指令的存储器,可选地,计算机可读存储介质可以是:只读存储器(ROM)、随机存取存储器(RAM)、随机存取可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储器、硬盘驱动器(HDD)、固态硬盘(SSD)、卡式存储器(诸如,多媒体卡、安全数字(SD)卡或极速数字(XD)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。In an exemplary embodiment, a computer-readable storage medium may also be provided. When the instructions in the computer-readable storage medium are executed by the processor, the processor is enabled to execute the useless logical deletion method as described in the above exemplary embodiment. The computer-readable storage medium may be, for example, a memory including instructions. Optionally, the computer-readable storage medium may be: a read-only memory (ROM), a random access memory (RAM), a random access programmable read-only memory (PROM), an electrically erasable programmable read-only memory (EEPROM), a dynamic random access memory (DRAM), a static random access memory (SRAM), a flash memory, a non-volatile memory, a CD-ROM, a CD-R, a CD+R, a CD-RW, a CD+RW, a DVD-ROM, a DVD-R, a DVD+R, a DVD-RW, a DVD+RW, a DVD-RAM, a BD-ROM, a BD-R, a BD-R LTH, BD-RE, Blu-ray or optical disk storage, hard disk drive (HDD), solid state drive (SSD), card storage (such as, multimedia card, secure digital (SD) card or extreme digital (XD) card), magnetic tape, floppy disk, magneto-optical data storage device, optical data storage device, hard disk, solid state disk and any other device, any other device is configured to store computer programs and any associated data, data files and data structures in a non-transitory manner and provide the computer programs and any associated data, data files and data structures to a processor or computer so that the processor or computer can execute the computer program. The computer program in the above-mentioned computer-readable storage medium can be run in an environment deployed in a computer device such as a client, a host, an agent device, a server, etc. In addition, in one example, the computer program and any associated data, data files and data structures are distributed on a networked computer system, so that the computer program and any associated data, data files and data structures are stored, accessed and executed in a distributed manner by one or more processors or computers.

在示例性实施例中,还可提供一种计算机程序产品,包括计算机指令,当计算机指令被处理器运行时,促使处理器执行如上述示例性实施例所述的无用逻辑删除方法。In an exemplary embodiment, a computer program product may also be provided, comprising computer instructions. When the computer instructions are executed by a processor, the processor is prompted to execute the useless logical deletion method as described in the above exemplary embodiment.

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其他实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求指出。Those skilled in the art will readily appreciate other embodiments of the present application after considering the specification and practicing the invention disclosed herein. The present application is intended to cover any variations, uses or adaptations of the present application, which follow the general principles of the present application and include common knowledge or customary techniques in the art that are not disclosed in the present application. The specification and examples are intended to be exemplary only, and the true scope and spirit of the present application are indicated by the claims.

此外,还需要说明的是,尽管上面参照具体附图描述了各步骤的若干示例,但是应理解的是,本申请的实施方式不限于示例中给出的组合,不同附图中出现的步骤可以相结合,在此不作出穷举。In addition, it should be noted that although several examples of each step are described above with reference to specific drawings, it should be understood that the implementation methods of the present application are not limited to the combinations given in the examples, and the steps appearing in different drawings may be combined, which are not exhaustively listed here.

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由权利要求来限制。It should be understood that the present application is not limited to the precise structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present application is limited only by the claims.

Claims (16)

1.一种无用逻辑删除方法,其特征在于,所述无用逻辑删除方法包括:1. A useless logical deletion method, characterized in that the useless logical deletion method comprises: 从集成电路设计的线网中,确定顶层模块的输入管脚连接的线网以及无驱动的线网,记为参考线网;From the wire nets of the integrated circuit design, determine the wire nets connected to the input pins of the top-level module and the wire nets without drivers, and record them as reference wire nets; 针对每个参考线网,执行以下预设操作:For each guide grid, perform the following preset operations: 在所述参考线网满足预设条件的情况下,将所述参考线网确定为目标线网,其中,所述预设条件包括与顶层模块的输出管脚相连接,In the case where the reference line net meets a preset condition, the reference line net is determined as a target line net, wherein the preset condition includes being connected to an output pin of a top-level module, 在所述参考线网沿信号传播方向连接有其他线网的情况下,将所述其他线网中的每条线网分别作为新的参考线网,继续执行所述预设操作,以确定所述其他线网中是否存在目标线网,并在确定所述其他线网中存在目标线网的情况下,将所述参考线网确定为目标线网,以及将所述参考线网沿信号传播方向连接的实例确定为目标实例;In the case where the reference line net is connected to other line nets along the signal propagation direction, each line net in the other line nets is used as a new reference line net, and the preset operation is continued to be performed to determine whether there is a target line net in the other line nets, and in the case where it is determined that there is a target line net in the other line nets, the reference line net is determined as the target line net, and the instance connected to the reference line net along the signal propagation direction is determined as the target instance; 将所述集成电路设计中除所述目标线网以外的线网以及除所述目标实例以外的实例作为无用逻辑进行删除,得到更新后的集成电路设计。Nets other than the target net and instances other than the target instance in the integrated circuit design are deleted as useless logic to obtain an updated integrated circuit design. 2.如权利要求1所述的无用逻辑删除方法,其特征在于,所述在所述参考线网沿信号传播方向连接有其他线网的情况下,将所述其他线网中的每条线网分别作为新的参考线网,包括:2. The useless logic deletion method according to claim 1, characterized in that, when the reference line network is connected to other line networks along the signal propagation direction, each line network in the other line networks is used as a new reference line network, comprising: 在所述参考线网沿信号传播方向直接连接到其他线网的情况下,将直接连接的其他线网中的每条线网分别作为新的参考线网;In the case where the reference line net is directly connected to other line nets along the signal propagation direction, each line net in the other directly connected line nets is used as a new reference line net; 在所述参考线网沿信号传播方向直接连接到叶子实例的输入管脚的情况下,将所述叶子实例的每条输出线网作为所述新的参考线网,其中,所述叶子实例的输出线网是所述参考线网沿信号传播方向间接连接的其他线网。When the reference line network is directly connected to the input pin of the leaf instance along the signal propagation direction, each output line network of the leaf instance is used as the new reference line network, wherein the output line network of the leaf instance is other line network indirectly connected to the reference line network along the signal propagation direction. 3.如权利要求2所述的无用逻辑删除方法,其特征在于,3. The useless logical deletion method according to claim 2, characterized in that: 所述预设操作还包括:The preset operation also includes: 获取所述参考线网沿信号传播方向连接的全部管脚,记为参考管脚;Obtain all pins connected to the reference line network along the signal propagation direction, and record them as reference pins; 所述在所述参考线网满足预设条件的情况下,将所述参考线网确定为目标线网,包括:The step of determining the reference line network as a target line network when the reference line network meets a preset condition includes: 在所述参考管脚包括顶层模块的输出管脚的情况下,将所述参考线网确定为所述目标线网;In a case where the reference pin includes an output pin of a top-level module, determining the reference line net as the target line net; 所述在所述参考线网沿信号传播方向直接连接到其他线网的情况下,将直接连接的其他线网中的每条线网分别作为新的参考线网,包括:When the reference line net is directly connected to other line nets along the signal propagation direction, each line net in the other directly connected line nets is used as a new reference line net, including: 在所述参考管脚包括层次化实例的管脚的情况下,将所述参考管脚另一侧连接的每条线网分别作为所述新的参考线网;In the case where the reference pin includes a pin of a hierarchical instance, each of the wire nets connected to the other side of the reference pin is used as the new reference wire net; 所述在所述参考线网沿信号传播方向直接连接到叶子实例的输入管脚的情况下,将所述叶子实例的每条输出线网作为所述新的参考线网,包括:In the case where the reference line net is directly connected to the input pin of the leaf instance along the signal propagation direction, each output line net of the leaf instance is used as the new reference line net, comprising: 在所述参考管脚包括叶子实例的输入管脚的情况下,将所述叶子实例的每条输出线网作为所述新的参考线网。In the case where the reference pin includes an input pin of a leaf instance, each output net of the leaf instance is used as the new reference net. 4.如权利要求3所述的无用逻辑删除方法,其特征在于,在所述获取所述参考线网沿信号传播方向连接的全部管脚,记为参考管脚的步骤之后,所述预设操作还包括:4. The useless logic deletion method according to claim 3, characterized in that after the step of obtaining all pins connected to the reference line network along the signal propagation direction and recording them as reference pins, the preset operation further comprises: 在所述参考管脚具备已处理标志的情况下,不再针对所述参考管脚执行所述预设操作中的其他步骤;In the case where the reference pin has a processed flag, no other steps in the preset operation are performed for the reference pin; 在所述参考管脚不具备所述已处理标志的情况下,为所述参考管脚添加所述已处理标志,并针对所述参考管脚继续执行所述预设操作中的其他步骤。In the case that the reference pin does not have the processed flag, the processed flag is added to the reference pin, and other steps in the preset operation are continued to be performed for the reference pin. 5.如权利要求1所述的无用逻辑删除方法,其特征在于,所述针对每个参考线网,执行以下预设操作,包括:5. The useless logical deletion method according to claim 1, characterized in that the following preset operations are performed for each reference line network, including: 针对每个参考线网,在确定已针对所述参考线网执行过所述预设操作的情况下,不再针对所述参考线网执行所述预设操作;For each reference line network, if it is determined that the preset operation has been performed on the reference line network, no longer performing the preset operation on the reference line network; 在确定尚未针对所述参考线网执行所述预设操作的情况下,针对所述参考线网执行所述预设操作。In a case where it is determined that the preset operation has not been performed on the reference line network, the preset operation is performed on the reference line network. 6.如权利要求5所述的无用逻辑删除方法,其特征在于,6. The useless logical deletion method according to claim 5, characterized in that: 所述在确定已针对所述参考线网执行过所述预设操作的情况下,不再针对所述参考线网执行所述预设操作,包括:The step of not performing the preset operation on the reference line network when it is determined that the preset operation has been performed on the reference line network includes: 在确定所述参考线网具备已处理标志的情况下,不再针对所述参考线网执行所述预设操作;When it is determined that the reference line network has a processed flag, no longer performing the preset operation on the reference line network; 在确定尚未针对所述参考线网执行所述预设操作的情况下,针对所述参考线网执行所述预设操作,包括:In a case where it is determined that the preset operation has not been performed on the reference line network, performing the preset operation on the reference line network includes: 在确定所述参考线网不具备所述已处理标志的情况下,为所述参考线网添加所述已处理标志,并针对所述参考线网执行所述预设操作。When it is determined that the reference line network does not have the processed flag, the processed flag is added to the reference line network, and the preset operation is performed on the reference line network. 7.如权利要求4或6所述的无用逻辑删除方法,其特征在于,在所述针对每个参考线网,执行以下预设操作的步骤之后,在所述将所述集成电路设计中除所述目标线网以外的线网以及除所述目标实例以外的实例作为无用逻辑进行删除,得到更新后的集成电路设计的步骤之前,所述无用逻辑删除方法还包括:7. The method for deleting useless logic according to claim 4 or 6, characterized in that after the step of performing the following preset operation on each reference net and before the step of deleting nets other than the target net and instances other than the target instance in the integrated circuit design as useless logic to obtain an updated integrated circuit design, the method for deleting useless logic further comprises: 去除全部所述已处理标志,再次执行所述从集成电路设计的线网中,确定顶层模块的输入管脚连接的线网以及无驱动的线网,记为参考线网的步骤和所述针对每个参考线网,执行以下预设操作的步骤。Remove all the processed flags, and re-execute the step of determining the wire nets connected to the input pins of the top-level module and the undriven wire nets from the wire nets designed by the integrated circuit, and record them as reference wire nets, and the step of performing the following preset operations for each reference wire net. 8.如权利要求1至6中的任一权利要求所述的无用逻辑删除方法,其特征在于,所述预设操作还包括:8. The useless logical deletion method according to any one of claims 1 to 6, wherein the preset operation further comprises: 为所述目标线网以及所述目标实例添加不可删除标志。An undeletable flag is added to the target net and the target instance. 9.如权利要求8所述的无用逻辑删除方法,其特征在于,9. The useless logical deletion method according to claim 8, characterized in that: 在所述针对每个参考线网,执行以下预设操作的步骤之前,所述无用逻辑删除方法还包括:Before the step of performing the following preset operation for each reference line network, the useless logic deletion method further includes: 为所述集成电路设计中的每个线网和每个实例均添加可删除标志;Adding a deletable flag to each net and each instance in the integrated circuit design; 所述为所述目标线网以及所述目标实例添加不可删除标志,包括:The adding a non-deletable flag to the target network and the target instance includes: 在将所述参考线网确定为目标线网的情况下,将所述参考线网的所述可删除标志修改为所述不可删除标志;In the case where the reference line net is determined as the target line net, modifying the deletable flag of the reference line net to the non-deletable flag; 在将一个实例确定为目标实例的情况下,将所述实例的所述可删除标志修改为所述不可删除标志。When an instance is determined as a target instance, the deletable flag of the instance is modified to the non-deletable flag. 10.如权利要求1至6中的任一权利要求所述的无用逻辑删除方法,其特征在于,所述预设条件还包括以下至少一个:所述参考线网是不可更改的线网、所述参考线网沿信号传播方向连接的管脚是不可更改的管脚、所述参考线网沿信号传播方向连接的管脚所在的实例是不可更改的实例。10. The useless logical deletion method as described in any one of claims 1 to 6 is characterized in that the preset conditions also include at least one of the following: the reference line network is an unchangeable line network, the pins connected to the reference line network along the signal propagation direction are unchangeable pins, and the instance where the pins connected to the reference line network along the signal propagation direction are located is an unchangeable instance. 11.如权利要求10所述的无用逻辑删除方法,其特征在于,在所述针对每个参考线网,执行以下预设操作的步骤之前,所述无用逻辑删除方法还包括:11. The useless logic deletion method according to claim 10, characterized in that before the step of performing the following preset operation for each reference line network, the useless logic deletion method further comprises: 在所述集成电路设计中存在不可更改的实例的情况下,自上而下逐层遍历所述集成电路设计中的实例,将不可更改的层次化实例的所有下层实例和下层线网均设置为不可更改。In the case where there are unchangeable instances in the integrated circuit design, the instances in the integrated circuit design are traversed layer by layer from top to bottom, and all lower instances and lower network layers of the unchangeable hierarchical instances are set to be unchangeable. 12.如权利要求1至6中的任一权利要求所述的无用逻辑删除方法,其特征在于,所述将所述集成电路设计中除所述目标线网以外的线网以及除所述目标实例以外的实例作为无用逻辑进行删除,得到更新后的集成电路设计,包括:12. The method for deleting useless logic according to any one of claims 1 to 6, wherein the deleting nets other than the target net and instances other than the target instance in the integrated circuit design as useless logic to obtain an updated integrated circuit design comprises: 自上而下逐层遍历所述集成电路设计中的线网和实例,并执行以下操作:Traverse the nets and instances in the integrated circuit design layer by layer from top to bottom and perform the following operations: 在遍历得到的线网不是所述目标线网的情况下,将遍历得到的线网作为无用逻辑进行删除;When the traversed wire net is not the target wire net, the traversed wire net is deleted as useless logic; 在遍历得到的实例不是所述目标实例的情况下,将遍历得到的实例作为无用逻辑进行删除;When the traversed instance is not the target instance, the traversed instance is deleted as useless logic; 在遍历得到的实例是所述目标实例并且是层次化实例的情况下,继续向下遍历当前层次化实例中的线网和下层实例。When the traversed instance is the target instance and a hierarchical instance, the line nets and lower layer instances in the current hierarchical instance are continuously traversed downward. 13.一种无用逻辑删除装置,其特征在于,所述无用逻辑删除装置包括:13. A useless logical deletion device, characterized in that the useless logical deletion device comprises: 准备单元,被配置为从集成电路设计的线网中,确定顶层模块的输入管脚连接的线网以及无驱动的线网,记为参考线网;The preparation unit is configured to determine, from the wire nets designed by the integrated circuit, the wire nets to which the input pins of the top-level module are connected and the wire nets without drivers, which are recorded as reference wire nets; 执行单元,被配置为针对每个参考线网,执行以下预设操作:The execution unit is configured to perform the following preset operations for each reference line network: 在所述参考线网满足预设条件的情况下,将所述参考线网确定为目标线网,其中,所述预设条件包括与顶层模块的输出管脚相连接,In the case where the reference line net meets a preset condition, the reference line net is determined as a target line net, wherein the preset condition includes being connected to an output pin of a top-level module, 在所述参考线网沿信号传播方向连接有其他线网的情况下,将所述其他线网中的每条线网分别作为新的参考线网,继续执行所述预设操作,以确定所述其他线网中是否存在目标线网,并在确定所述其他线网中存在目标线网的情况下,将所述参考线网确定为目标线网,以及将所述参考线网沿信号传播方向连接的实例确定为目标实例;In the case where the reference line net is connected to other line nets along the signal propagation direction, each line net in the other line nets is used as a new reference line net, and the preset operation is continued to be performed to determine whether there is a target line net in the other line nets, and in the case where it is determined that there is a target line net in the other line nets, the reference line net is determined as the target line net, and the instance connected to the reference line net along the signal propagation direction is determined as the target instance; 删除单元,被配置为将所述集成电路设计中除所述目标线网以外的线网以及除所述目标实例以外的实例作为无用逻辑进行删除,得到更新后的集成电路设计。The deleting unit is configured to delete the nets other than the target net and the instances other than the target instance in the integrated circuit design as useless logic to obtain an updated integrated circuit design. 14.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令被至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1至12中的任一权利要求所述的无用逻辑删除方法。14. A computer-readable storage medium, characterized in that when the instructions in the computer-readable storage medium are executed by at least one processor, the at least one processor is prompted to execute the useless logical deletion method according to any one of claims 1 to 12. 15.一种计算机设备,其特征在于,包括:15. A computer device, comprising: 至少一个处理器;at least one processor; 至少一个存储计算机可执行指令的存储器,at least one memory storing computer executable instructions, 其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1至12中的任一权利要求所述的无用逻辑删除方法。Wherein, when the computer executable instructions are executed by the at least one processor, the at least one processor is prompted to execute the useless logical deletion method according to any one of claims 1 to 12. 16.一种计算机程序产品,包括计算机指令,其特征在于,当所述计算机指令被至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1至12中的任一权利要求所述的无用逻辑删除方法。16. A computer program product, comprising computer instructions, characterized in that when the computer instructions are executed by at least one processor, the at least one processor is prompted to execute the useless logical deletion method according to any one of claims 1 to 12.
CN202411230370.4A 2024-09-04 2024-09-04 Useless logic deleting method, apparatus, storage medium, computer device and program product Active CN118734761B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202411230370.4A CN118734761B (en) 2024-09-04 2024-09-04 Useless logic deleting method, apparatus, storage medium, computer device and program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202411230370.4A CN118734761B (en) 2024-09-04 2024-09-04 Useless logic deleting method, apparatus, storage medium, computer device and program product

Publications (2)

Publication Number Publication Date
CN118734761A true CN118734761A (en) 2024-10-01
CN118734761B CN118734761B (en) 2024-11-19

Family

ID=92860825

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202411230370.4A Active CN118734761B (en) 2024-09-04 2024-09-04 Useless logic deleting method, apparatus, storage medium, computer device and program product

Country Status (1)

Country Link
CN (1) CN118734761B (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5036473A (en) * 1988-10-05 1991-07-30 Mentor Graphics Corporation Method of using electronically reconfigurable logic circuits
CN1307341A (en) * 2000-01-28 2001-08-08 三星电子株式会社 Integrated circuit semiconductor device and self-repairing circuit and method for built-in storage
CN109284578A (en) * 2018-02-27 2019-01-29 上海安路信息科技有限公司 Logic circuit layout wiring method, graphic software platform method and its system
US20220121798A1 (en) * 2020-10-21 2022-04-21 Taiwan Semiconductor Manufacturing Company, Ltd. Circuit Synthesis Optimization for Implements on Integrated Circuit
CN115204082A (en) * 2021-04-08 2022-10-18 北京大学 Path analysis method in static time sequence analysis of integrated circuit
CN118150991A (en) * 2024-05-13 2024-06-07 英诺达(成都)电子科技有限公司 Pulse generation logic detection method, pulse generation logic detection device, electronic device, storage medium and computer program product

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5036473A (en) * 1988-10-05 1991-07-30 Mentor Graphics Corporation Method of using electronically reconfigurable logic circuits
CN1307341A (en) * 2000-01-28 2001-08-08 三星电子株式会社 Integrated circuit semiconductor device and self-repairing circuit and method for built-in storage
CN109284578A (en) * 2018-02-27 2019-01-29 上海安路信息科技有限公司 Logic circuit layout wiring method, graphic software platform method and its system
US20220121798A1 (en) * 2020-10-21 2022-04-21 Taiwan Semiconductor Manufacturing Company, Ltd. Circuit Synthesis Optimization for Implements on Integrated Circuit
CN115204082A (en) * 2021-04-08 2022-10-18 北京大学 Path analysis method in static time sequence analysis of integrated circuit
CN118150991A (en) * 2024-05-13 2024-06-07 英诺达(成都)电子科技有限公司 Pulse generation logic detection method, pulse generation logic detection device, electronic device, storage medium and computer program product

Also Published As

Publication number Publication date
CN118734761B (en) 2024-11-19

Similar Documents

Publication Publication Date Title
US8930863B2 (en) System and method for altering circuit design hierarchy to optimize routing and power distribution using initial RTL-level circuit description netlist
US9875333B1 (en) Comprehensive path based analysis process
US8788995B1 (en) System and method for guiding remedial transformations of a circuit design defined by physical implementation data to reduce needed physical corrections for detected timing violations in the circuit design
US9092314B2 (en) On-the-fly technical support
CN101861572A (en) Techniques for Controlling Access to Databases
US7707530B2 (en) Incremental timing-driven, physical-synthesis using discrete optimization
CN117250480B (en) Loop detection method, device, equipment and storage medium of combinational logic circuit
US7421671B2 (en) Graph pruning scheme for sensitivity analysis with partitions
US20100050145A1 (en) Optimizing a Netlist Circuit Representation by Leveraging Binary Decision Diagrams to Perform Rewriting
CN112232018B (en) Connecting line representation method based on directed graph
US10255403B1 (en) Method and apparatus for concurrently extracting and validating timing models for different views in multi-mode multi-corner designs
JP2021506043A (en) Systems and methods for monitoring the execution of structured query language (SQL) queries
US7207024B2 (en) Automatic insertion of clocked elements into an electronic design to improve system performance
US6895562B2 (en) Partitioning integrated circuit hierarchy
US20230315964A1 (en) Design aware adaptive mixed-signal simulation
CN117907812B (en) Circuit detection method and device, electronic device, storage medium, and program product
US20110239178A1 (en) Layout design apparatus, layout design method, and computer readable medium having a layout design program
Chhabria et al. A machine learning approach to improving timing consistency between global route and detailed route
US20180004862A1 (en) Optimizing The Ordering Of The Inputs To Large Commutative-Associative Trees Of Logic Gates
CN117454833B (en) Interconnection line management and design method in database modeling
CN118734761B (en) Useless logic deleting method, apparatus, storage medium, computer device and program product
CN118033392A (en) Circuit detection method and device, electronic device, storage medium, and program product
CN118886396B (en) Method and device for acquiring fan-in/fan-out path, electronic equipment, storage medium and computer program product
CN114861574A (en) A Logic Simplification Method Applied to Hierarchical Physical Design
CN118410748B (en) Signal source determining method, apparatus, storage medium, computer device and program product for integrated circuit design

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