Gate-level netlist optimization method and system based on physical information, computer readable storage medium and computer program product

By optimizing operator sequences through intelligent agent dynamic decision-making, combined with real-time physical information and adaptive database updates, the problem of operator sequences being unable to adapt to circuit characteristics in digital integrated circuit design is solved, achieving efficient PPA optimization and design convergence.

CN122047113APending Publication Date: 2026-05-15SHANGHAI FUXIN INTELLIGENT SENSE TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610113986.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-01-27
Publication Date
2026-05-15

AI Technical Summary

Technical Problem

In the existing digital integrated circuit design flow, the operator sequence in the physical sensing synthesis stage cannot adapt to the specific characteristics of different circuits, making it difficult to achieve the optimal balance of power consumption, performance and area (PPA), and relying on human experience leads to suboptimal optimization results.

Method used

By optimizing operator sequences through dynamic decision-making by intelligent agents, acquiring real-time physical information using electronic design automation tools, constructing an adaptive gate-level netlist optimization method, and combining offline training and online feedback to dynamically update the state database, efficient selection and evaluation of operator combinations can be achieved.

Benefits of technology

It realizes an end-to-end automated optimization process, improves design efficiency and physical feasibility of optimization results, significantly enhances PPA optimization effect and design convergence speed, and avoids suboptimal problems in traditional methods.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122047113A_ABST
    Figure CN122047113A_ABST
Patent Text Reader

Abstract

The invention discloses a gate-level netlist optimization method and system based on physical information, a computer readable storage medium and a computer program product, and the gate-level netlist optimization method comprises the following steps: obtaining an input file of a target circuit design, the input file comprising a gate-level netlist; based on the input file, utilizing an intelligent agent to execute an optimization iteration loop to optimize the gate-level netlist until a preset termination condition is met; and outputting the optimized gate-level netlist.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of electronic design automation technology, particularly in the digital integrated circuit design process. Specifically, it relates to a gate-level netlist optimization method, system, computer-readable storage medium, and computer program product that optimizes operator sequences through intelligent agent dynamic decision-making based on real-time physical information obtained from electronic design automation (EDA) tools during the physical synthesis stage. Background Technology

[0002] In the digital integrated circuit design flow, physical-aware synthesis is a crucial bridge connecting front-end technology mapping and back-end physical design. The goal of this stage is to minimize circuit power consumption and area while achieving timing convergence and satisfying various design constraints. Currently, many design flows employ operator sequences based on human experience. This strategy cannot adapt to the specific characteristics of different circuits and struggles to achieve optimal power, performance, and area (PPA). Therefore, the industry urgently needs an efficient sequence generation framework that minimizes data dependencies while effectively utilizing the interactions between operators to generate customized, efficient physical-aware synthesis operator sequences. Summary of the Invention

[0003] To at least partially solve the above-mentioned technical problems, this application provides a gate-level netlist optimization method, system, computer-readable storage medium, and computer program product that optimizes operator sequences through intelligent agent dynamic decision-making during the physical synthesis stage, based on real-time physical information obtained from electronic design automation (EDA) tools, thereby achieving highly adaptive and efficient PPA optimization for a specific design.

[0004] The first aspect of this application discloses a gate-level netlist optimization method based on physical information, comprising the following steps: obtaining an input file of a target circuit design, the input file including a gate-level netlist; optimizing the gate-level netlist by using an intelligent agent to perform an optimization iterative loop based on the input file until a preset termination condition is met; and outputting the optimized gate-level netlist.

[0005] According to the gate-level netlist optimization method of this application, by obtaining the design input file and using an intelligent agent to execute the optimization iteration loop, an end-to-end automated optimization process is realized. The optimization of the gate-level netlist can be completed without manual intervention, which significantly improves the design efficiency. At the same time, the real-time feedback of physical information ensures the physical feasibility of the optimization results, effectively solving the problem of physical information lag in traditional optimization methods.

[0006] In the gate-level netlist optimization method disclosed in this application, in each iteration of the optimization iteration loop, the agent is configured to: call an electronic design automation tool through a physical information adaptation module to obtain at least one first PPA index of the target circuit design; traverse the operator library and calculate the evaluation score of each operator in the operator library, and select the operator with the highest evaluation score as the execution operator; call the electronic design automation tool through the physical information adaptation module to execute the execution operator on the target circuit design; obtain the second PPA index after executing the execution operator through the physical information adaptation module, and calculate the scalar reward based on the first PPA index and the second PPA index; update the state database, including: updating the historical average reward of the execution operator, the number of executions of the execution operator, the total number of executions of all operators, and recording the execution operator as the operator executed in the previous loop.

[0007] Based on the gate-level netlist optimization method of this application, the PPA index is obtained in real time through the physical information adaptation module, the evaluation score is calculated based on historical data and operator combination effects, and the state database is dynamically updated to construct a closed-loop adaptive optimization system. This enables the optimization process to intelligently select the best optimization strategy based on the current design state and historical optimization experience, which significantly improves the PPA optimization effect and design convergence speed, and avoids the suboptimal problem of traditional fixed sequence optimization methods.

[0008] In the gate-level netlist optimization method disclosed in this application, before using the agent to execute the optimization iterative loop, the method further includes offline initialization of the agent. The offline initialization includes: executing multiple rounds of randomly generated operator sequences on one or more training circuit designs; collecting execution data and performing statistical analysis to identify binary operator combinations with statistical significance; quantifying the average reward of the binary operator combinations, constructing a binary combination preference model, and storing the binary combination preference model in the state database.

[0009] According to the gate-level netlist optimization method of this application, by executing random operator sequences on the training circuit design and performing statistical analysis, it is possible to automatically identify operator combinations with positive interaction effects, construct a binary combinatorial preference model, provide high-quality prior knowledge, significantly reduce exploration costs, enable the agent to quickly converge to an efficient optimization sequence on new designs, and overcome the limitations of traditional methods that require a large amount of human experience and trial and error.

[0010] In the gate-level netlist optimization method disclosed in this application, the construction of the binary combination preference model includes: for any binary operator combination in the operator library, extracting a first reward set and a second reward set from the execution data; performing a two-sample t-test on the first reward set and the second reward set; determining that the binary operator combination is statistically significant when the p-value of the two-sample t-test is less than a preset threshold and the average value of the first reward set is greater than the average value of the second reward set; calculating and storing the preference benchmark value of the binary operator combination, wherein the preference benchmark value is defined as the average value of the first reward set divided by the average reward of the second operator in the binary operator combination throughout all execution processes.

[0011] The gate-level netlist optimization method of this application ensures that the identified operator combinations are statistically significant rather than random factors, thereby avoiding erroneous decisions based on noisy data. By calculating the preference benchmark value, the relative improvement effect of the operator combination is quantified, enabling the agent to accurately evaluate the potential value of a specific combination in the current design context, and significantly improving the accuracy and reliability of optimization decisions.

[0012] In the gate-level netlist optimization method disclosed in this application, the evaluation score is a weighted sum based on at least the following scores: utilization score, which is the historical average reward of a specific operator; exploration score, which is calculated based on the total number of executions of all operators and the number of executions of the specific operator; and combination preference score, which is the preference score for executing the specific operator dynamically calculated based on the operator executed in the previous loop.

[0013] Based on the gate-level netlist optimization method of this application, a three-fold composition mechanism for evaluation scores is defined, namely, the exploitation term, the exploration term, and the combined preference term. This achieves a multi-dimensional decision-making balance, considering both the historical best strategy (exploitation term) and avoiding getting trapped in local optima (exploration term), while fully utilizing the synergistic effect between operators (combined preference term). This comprehensive evaluation mechanism enables the optimization process to adaptively generate customized operator sequences for specific design bottlenecks, significantly surpassing the performance of traditional fixed sequence optimization methods and achieving an overall improvement in the PPA index.

[0014] In the gate-level netlist optimization method disclosed in this application, the calculation of the exploration item score adopts the calculation logic of the upper bound of the confidence interval. This calculation is based on the balancing hyperparameter, the total number of executions of all operators, and the number of executions of the specific operator, so as to encourage the exploration of operators with fewer executions.

[0015] Based on the gate-level netlist optimization method of this application, the calculation logic of the exploration term is specified. The upper bound confidence interval (UCB) method is adopted to realize intelligent exploration and leverage trade-offs. Through mathematical quantification, operators with fewer execution attempts are dynamically encouraged, effectively preventing the optimization process from prematurely converging to a local optimum. Simultaneously, the introduction of balancing hyperparameters enables the system to dynamically adjust the exploration intensity according to the design stage, maintaining high exploratory activity in the early stages of optimization and focusing on utilizing known effective strategies in the later stages, significantly improving the global optimization capability.

[0016] In the gate-level netlist optimization method disclosed in this application, the calculation method of the combined preference item score is as follows: multiplying a preference benchmark value by an online reliability item; wherein the preference benchmark value is obtained from the binary combined preference model; wherein the online reliability item is defined as a count value divided by the sum of the count value and a preset smoothing constant, wherein the count value is the number of times a specific combination performs better than the average value in the optimization iteration loop.

[0017] Based on the gate-level netlist optimization method of this application, the calculation method of combined preference term scores is described. It integrates the preference baseline values ​​learned offline and the reliability data accumulated online, achieving an organic combination of prior knowledge and online experience. This method utilizes the statistical regularities obtained from offline training while dynamically adjusting weights through online reliability terms, avoiding the problem of overfitting to offline data. Especially in the early stages of optimization when data is sparse, the smoothing constant ensures decision stability. As iterations proceed, the system can increasingly accurately identify and utilize effective operator combinations, significantly improving the temporal convergence speed.

[0018] In the gate-level netlist optimization method disclosed in this application, the physical information adaptation module is configured to communicate with the electronic design automation tool. The physical information adaptation module includes the following functions: receiving instructions from the agent; translating the instructions from the agent into an executable script; calling the electronic design automation tool to execute the script; and obtaining and parsing the output results of executing the script to extract structured PPA indicators.

[0019] Based on the gate-level netlist optimization method of this application, the core functions of the physical information adaptation module are defined, a decoupled communication architecture is established, and the intelligent decision-making layer and the underlying EDA tools are completely decoupled. This allows the optimization algorithm to be free from concern for the implementation details of specific EDA tools, greatly improving the portability and tool compatibility of the optimization method and system.

[0020] In the gate-level netlist optimization method disclosed in this application, the executable script is a Tcl script or a Python script; the output result is a log or report file generated by the electronic design automation tool, and the structured PPA index is extracted from the log or report file using regular expressions.

[0021] The gate-level netlist optimization method proposed in this application fully leverages the broad support of scripting languages, enabling the optimization method and system to be easily integrated into existing EDA processes without modifying the underlying EDA tools, significantly reducing deployment difficulty. Furthermore, it ensures efficient and accurate parsing of the output of various EDA tools, extracting key PPA metrics from unstructured logs and reports, and providing high-precision physical information feedback for optimization decisions.

[0022] The second aspect of this application discloses a gate-level netlist optimization system, comprising: an input / output module for acquiring input files and outputting optimization results; a physical information adaptation module configured to communicate with one or more electronic design automation tools to translate instructions, execute scripts, and parse PPA indicators; an operator library for storing operators; a state database for storing historical execution information of operators and binary combination preference models; and an agent configured to acquire input files and output optimization results through the input / output module, query the operator library, perform read and write operations on the state database, and call the physical information adaptation module to execute an optimization iteration loop.

[0023] The gate-level netlist optimization system of this application provides a complete gate-level netlist optimization system architecture. Through modular design, functional decoupling is achieved, forming a highly collaborative workflow: the input / output module handles file interaction, the physical information adaptation module shields the differences of EDA tools, the operator library stores optimization operations, the state database maintains decision knowledge, and the intelligent agent is responsible for core decisions. It has good scalability and maintainability, and provides efficient PPA optimization capabilities for complex circuit designs.

[0024] In the gate-level netlist optimization system disclosed in this application, the physical information adaptation module includes: an instruction interface for receiving instructions from the agent; an instruction translation engine for translating instructions from the agent into an executable script; a tool execution engine for calling electronic design automation tools to execute the script; a result parsing engine for obtaining the output results of the script execution and parsing PPA indicators from them; and a structured data interface for converting the PPA indicators parsed by the result parsing engine into structured data.

[0025] The gate-level netlist optimization system of this application realizes a complete conversion link from instruction to physical execution. Through the collaborative work of the instruction translation engine, tool execution engine and result parsing engine, it ensures interaction with EDA tools.

[0026] In the gate-level netlist optimization system disclosed in this application, the agent includes: a utilization module for reading the historical average reward of a specific operator from the state database as a utilization score; an exploration module for calculating an exploration score based on the total number of executions of all operators and the number of executions of the specific operator; a combined preference module for dynamically calculating the preference score for executing the specific operator based on the operator executed in the previous iteration of the optimization loop; and a decision fusion module for calculating the weighted sum of the utilization score, the exploration score, and the combined preference score as the evaluation score of the specific operator.

[0027] According to the gate-level netlist optimization system of this application, the internal modular structure of the agent is defined, including utilization items, exploration items, combined preference items and decision fusion modules, which realizes multi-dimensional decision balance and achieves overall optimization and improvement of PPA index.

[0028] In the gate-level netlist optimization system disclosed in this application, the operator library also stores one or more orchestration operators, which are multi-step operator sequences generated by using a genetic algorithm to evolve the basic operator sequence.

[0029] The gate-level netlist optimization system of this application introduces an orchestration operator. By evolving the basic operator sequence through a genetic algorithm, the orchestration operator captures the complex interaction patterns between the underlying operators, guiding the optimization process more efficiently and significantly improving optimization efficiency.

[0030] A third aspect of this application discloses a computer-readable storage medium having a computer program / instructions stored thereon, which, when executed by a processor, implements the gate-level netlist optimization method described above.

[0031] A third aspect of this application discloses a computer program product, including a computer program / instructions that, when executed by a processor, implement the gate-level netlist optimization method described above. Attached Figure Description

[0032] Figure 1 This is a flowchart of the gate-level netlist optimization method based on physical information involved in this application;

[0033] Figure 2 This is a functional block diagram of the gate-level netlist optimization system involved in this application;

[0034] Figure 3 A flowchart for the offline initialization of the intelligent agent involved in this application;

[0035] Figure 4 This is a flowchart of the optimization iterative loop involved in this application;

[0036] Figure 5This is a structural block diagram of the physical information adaptation module involved in this application;

[0037] Figure 6 This is a schematic diagram of the decision-making logic of the intelligent agent involved in this application. Detailed Implementation

[0038] The present application will be further described below with reference to specific embodiments and accompanying drawings. It is to be understood that the illustrative embodiments of this disclosure are merely for explaining the present application and not for limiting it. Furthermore, for ease of description, the accompanying drawings show only the parts relevant to the present application, and not all of the structures or processes.

[0039] The following specific embodiments illustrate the implementation of this application. Those skilled in the art can easily understand other advantages and effects of this application from the content disclosed in this specification. Although the description of this application is presented in conjunction with preferred embodiments, this does not mean that the features of this invention are limited to this embodiment. On the contrary, the purpose of describing the invention in conjunction with embodiments is to cover other options or modifications that may be derived based on the claims of this application. To provide a thorough understanding of this application, many specific details will be included in the following description. This application may also be implemented without using these details. Furthermore, to avoid confusion or obscuring the focus of this application, some specific details will be omitted in the description. It should be noted that, unless otherwise specified, the embodiments and features in the embodiments of this application can be combined with each other.

[0040] Unless the context otherwise specifies, the terms “contains,” “has,” and “includes” are synonyms. The phrase “A / B” means “A or B.” The phrase “A and / or B” means “(A and B) or (A or B).”

[0041] It should be understood that although terms such as "first," "second," etc., may be used herein to describe various components, units, or data, these components, units, or data should not be limited by these terms. These terms are used merely to distinguish one feature from another. For example, without departing from the scope of the exemplary embodiments, a first feature may be referred to as a second feature, and similarly, a second feature may be referred to as a first feature.

[0042] It should be understood that although directional terms such as "up," "down," "left," and "right" may be used here to describe the positional relationship between the various components, these directional terms are only for the convenience of understanding and are not intended to limit the scope of protection of this application.

[0043] It should be noted that in this specification, similar reference numerals and letters in the accompanying drawings indicate similar items. Therefore, once an item is defined in one drawing, it does not need to be further defined and explained in subsequent drawings.

[0044] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0045] Figure 1 Figure 1 shows a flowchart of the gate-level netlist optimization method based on physical information involved in this application. As shown in Figure 1, the gate-level netlist optimization method based on physical information provided in this application includes the following steps:

[0046] Step S101: Obtain the input file for the target circuit design, including the gate-level netlist;

[0047] Step S102: Based on the input file, optimize the gate-level netlist using an intelligent agent through an optimization iterative loop until a preset termination condition is met; and

[0048] Step S103: Output the optimized gate-level netlist.

[0049] Regarding step S101, the input file includes the files required to start a physical synthesis optimization task, including a gate-level netlist: usually in Verilog format (.v), which describes the cell instances of the circuit after logic synthesis and their connection relationships.

[0050] In another specific embodiment, the input file may further include:

[0052] Timing library (Liberty) files: .lib files, provided by the chip foundry, define the pin timing (delay, setup / hold time), power consumption (dynamic, leakage) and other characteristics of standard cells;

[0053] Physical Library (LEF) file: The LEF file defines the physical layout (size, shape, pin location) of standard cells and the physical rules for routing layers, etc.

[0054] Timing Constraint (SDC) File: An SDC file, written by the designer, defines timing objectives such as clock, input / output delay, and critical path for a specific circuit design currently being implemented.

[0055] In addition to the above files, if the design has passed the initial layout stage, the input files can further include an initial layout file (DEF file) to obtain more accurate initial physical information.

[0056] Regarding step S102, the essence of optimizing the gate-level netlist using an intelligent agent is to construct an adaptive sequence generation framework. Traditional physical synthesis relies on fixed heuristic rules, which cannot adapt to the uniqueness of different circuit designs in terms of structure, timing critical paths, and physical constraints, often resulting in suboptimal optimization results. In this application, an intelligent agent is introduced, which treats all feasible physical optimization operations (operators) as a searchable action space. For the specific circuit design currently being processed, the intelligent agent acts like an experienced policy engine, dynamically evaluating and selecting the optimal operator for each optimization based on the real-time acquired physical design state information. It customizes the optimization sequence according to the characteristics of the specific circuit design, with the goal of minimizing a global synthesis cost function that integrates multiple design metrics such as timing, power consumption, area, and routing overflow.

[0057] Specifically, in each iteration of the optimization iteration loop in step 102, the agent is configured to: call the Electronic Design Automation (EDA) tool through the Physical Information Adaptation (PIA) module to obtain at least one first PPA index of the target circuit design; traverse the operator library and calculate the evaluation score of each operator in the operator library; select the operator with the highest evaluation score as the execution operator; call the EDA tool through the PIA module to execute the execution operator on the target circuit design; obtain the second PPA index after executing the execution operator through the PIA module, and calculate the scalar reward based on the first PPA index and the second PPA index; update the state database, including: updating the historical average reward of the execution operator, the number of executions of the execution operator, the total number of executions of all operators, and recording the execution operator as the operator executed in the previous loop.

[0058] Figure 4 This is a flowchart of the optimization iterative loop involved in this application. Specifically, as shown... Figure 4 As shown, the steps in each iteration of the optimization loop are as follows.

[0059] Step S401: State Assessment and Initialization. For each operator O_i in the operator library: the physical information adaptation module calls the EDA tool to obtain the initial PPA index, i.e., the first PPA index, and calculates the initial PPA score Score_0, where the PPA score is a weighted sum of the PPA indices. The initial PPA index is the baseline score obtained by static analysis of the original gate-level netlist before the start of the optimization iteration loop. In this application, the PPA index is specifically a multi-dimensional optimization target of the target circuit design, which may include total leakage power, worst negative timing margin (WNS), total negative timing margin (TNS), slew, capacitor load violation, and overflow statistics after global routing, etc.

[0060] Step S406: Termination condition check. Check if the termination condition is met. For example, reaching the maximum number of iterations, time convergence, or optimization stalling. If met, jump to step S103 and output the optimized gate-level netlist. If not met, continue to step S402.

[0061] Step S402: Operator selection. The agent iterates through each operator O_i in the operator library, calculates its evaluation score E(O_i) for each operator O_i, and selects the operator with the highest evaluation score as the operator to be executed.

[0062] Step S403: Decision Execution. The intelligent agent sends instructions to the physical information adaptation module through the interface, and the physical information adaptation module calls the EDA tool to execute the operator operation corresponding to the execution operator on the target circuit design.

[0063] Step S404: Reward Calculation. The agent sends instructions to the physical information adaptation module via an interface. The physical information adaptation module obtains the latest PPA index (second PPA index) after executing the operator from the EDA tool and calculates the new PPA score. The scalar reward is defined as the difference between the PPA score of the previous cycle and the new PPA score, used to quantify the degree of improvement of the circuit design quality by the execution operator. The new PPA score is stored as the PPA score of the previous cycle for use in the next cycle.

[0064] Step S405: State Update. Store the identifier of the executing operator as the previous executing operator for use in the decision-making process of step S402 in the next loop; increment the loop counter; increment the total execution counter of all operators; increment the individual execution counter of the executing operator; use incremental averaging to update the historical average reward of the executing operator based on the newly calculated scalar reward in step S404, and store it in the state database. Optionally, the reliability item can also be updated in step S405: if the current scalar reward is greater than the historical average reward of the executing operator, the agent increments the corresponding combination's count value, i.e., the count value of the previous and current executing operators, which is used to record the frequency with which the combination outperforms its average reward in the current actual task.

[0065] The loop returns to step S406.

[0066] Figure 4 The optimization iteration loop shown is only one embodiment of this application, and the optimization iteration loop protected by this application is not limited to... Figure 4 The sequence of steps shown is not indicative of a problem. Other sequence of steps that can achieve the technical objective of this application are also within the scope of protection of this application. For example, after step S401, state evaluation and initialization, steps S402-S405 can be executed sequentially. After step S405, state update, step S406, termination condition judgment, is executed. If the termination condition is met, step S103, outputting the optimized gate-level netlist, is executed. If the termination condition is not met, the process loops back to step S402, operator selection.

[0067] In addition, in step S103, besides outputting the optimized gate-level netlist, an optimized physical layout file can also be output optionally.

[0068] According to the gate-level netlist optimization method of this application, before using the agent to execute the optimization iterative loop, the method further includes offline initialization of the agent, including: executing multiple rounds of randomly generated operator sequences on one or more training circuit designs; collecting execution data and performing statistical analysis to identify binary operator combinations with statistical significance; quantifying the average reward of the binary operator combination, constructing a binary combination preference model, and storing it in a state database.

[0069] Figure 3 This is a flowchart illustrating the offline initialization of the agent involved in this application. Before starting online optimization, a prior knowledge base needs to be prepared for the agent, i.e., the agent needs to be initialized offline, such as... Figure 3 As shown, the offline initialization of the agent includes the following steps.

[0070] Step S301: Define the operator library. Basic operators are predefined by those skilled in the art, for example, $O_1$: gate size increase, $O_2$: gate size decrease, $O_3$: buffer insertion, $O_4$: gate cloning, $O_5$: load splitting, etc.

[0071] Step S302: Random Sequence Collection. Select one or more training circuits to generate J random operator sequences of length L. The operators in the sequences are uniformly and randomly sampled from the operator library defined in step S301. For each step t in each sequence, execute the operator O_t. Obtain the PPA score Score_{t-1} before execution and the PPA score Score_t after execution through the physical information adaptation module. Calculate the scalar reward R_t = Score_{t-1} - Score_t, with lower scores being better. Store all execution data in the state database.

[0072] Step S303: Binary Combination Effect Analysis. Traverse all possible binary operator combinations in the operator library. For each binary operator combination (O_i, O_j), extract two reward sets from the execution data collected in Step S302: a first reward set, containing all rewards where O_j immediately follows O_i; and a second reward set, containing all rewards where O_j immediately follows any non-O_i operator. Perform a two-sample t-test on the first and second reward sets. If the p-value of the t-test is less than a threshold and the mean of the first reward set is greater than the mean of the second reward set, then the binary operator combination (O_i, O_j) is considered a statistically significant binary operator combination.

[0073] Optionally, in step S303, for all statistically significant binary operator combinations, Cohen's d effect size is calculated, which measures the significance of the difference between the means of the two sets. A combination preference baseline value is calculated, defined as the average reward of the combination divided by the average reward of the second operator O_j in all contexts. Finally, all statistically significant binary operator combinations (O_i, O_j) and their corresponding preference baseline values ​​and a reliability count value are stored in the state database for online optimization.

[0074] To enhance the operator library, the offline initialization of the agent may optionally include step S304: orchestration operator generation. A genetic algorithm is used to evolve the operator sequence through multiple generations, retaining operators with good optimization performance. After multiple rounds of evolution, operators with high fitness in the population are solidified into new, atomic operators, such as $O_6$: orchestration operator_1. Ultimately, the operator library contains basic operators and newly generated orchestration operators. Orchestration operators are atomized multi-step sequences generated using a genetic algorithm. Their purpose is to directly provide efficient local search paths by capturing complex interaction patterns between basic operators, thereby skipping redundant single-step searches and significantly improving the convergence efficiency of physical synthesis.

[0075] According to the gate-level netlist optimization method of this application, the evaluation score of the operator in step S402 can be calculated by a weighted sum of at least the following scores: utilization item score, which is the historical average reward of a specific operator; exploration item score, which is calculated based on the total number of executions of all operators and the number of executions of the specific operator; and combination preference item score, which is the preference score for executing the specific operator dynamically calculated based on the operator executed in the previous loop.

[0076] Specifically, the item score is the historical average reward of the current specific operator read from the state database.

[0077] The exploration score is calculated based on the upper bound of the confidence interval. Its value is derived from a balancing hyperparameter, the total number of executions of all operators, and the individual execution count of the current specific operator O_i. This calculation logic ensures that operators with a larger total number of executions and a smaller individual execution count have a higher exploration score, thus encouraging the agent to try operators that have been executed relatively few times.

[0078] The combined preference score is a dynamically calculated preference score multiplied by a weight that decays with each iteration step. The preference score is obtained by multiplying the preference baseline value obtained in step S303 by an online reliability term. The online reliability term is obtained by dividing the count of combinations that outperform the average in the online phase by the sum of that count and a smoothing constant. The purpose of this design is to reduce the weight of this preference term in the early stages of online optimization, when data is scarce, to prevent excessive early fluctuations. It should be noted that in the first iteration, due to the lack of preceding operators (i.e., operators executed in the previous loop), the combined preference term is in an undefined state and can be set to a default value (e.g., a default value of 1). At this time, the decision is mainly driven by the average performance of each operator obtained in the offline initialization phase (i.e., prior knowledge).

[0079] According to the gate-level netlist optimization method of this application, the physical information adaptation module is configured to communicate with the electronic design automation tool. The physical information adaptation module includes the following functions: receiving instructions from the agent; translating the instructions from the agent into an executable script; calling the electronic design automation tool to execute the script; and obtaining and parsing the output results of the script execution to extract structured PPA indicators.

[0080] The physical information adaptation module provided in this application serves as a standard interface between the gate-level netlist optimization system and EDA tools. This module provides the agent with a unified, abstract instruction set, thereby shielding it from the specific implementation differences of the underlying EDA tools. The agent does not need to concern itself with the commands of any particular tool; it only needs to issue high-level instructions and obtain the returned data through this interface. The physical information adaptation module provides at least the following types of abstract interface functionality.

[0081] Instruction translation: Receive abstract optimization instructions (e.g., execute a specific operator) or query instructions (e.g., retrieve PPA metrics) from the agent and translate them into a specific scripting language that the EDA tool can execute, such as a Tcl script or a Python script.

[0082] Tool execution: Invokes the EDA tool to execute the script.

[0083] Result Analysis: Obtain the output of the EDA tool, which is a log or report file generated by the EDA tool, and use regular expressions to extract structured PPA metrics from the log or report file.

[0084] This application also provides a gate-level netlist optimization system, which can be a computer program product deployed on a server or workstation. Figure 2 This is a functional block diagram of the gate-level netlist optimization system involved in this application. Figure 2 As shown, the gate-level netlist optimization system 200 includes the following components.

[0085] The input / output module 206 is used to acquire input files and output optimization results. It can interact with the user or the upper-level EDA process and is responsible for file reading in step S101 and file output in step S103.

[0086] The physical information adaptation module 202 is configured to communicate with one or more EDA tools 201 to translate instructions, execute scripts, and parse PPA metrics.

[0087] Operator library 204 is used to store the basic physical synthesis operators defined in step S301. Optionally, it can also store the orchestration operators generated in step S304.

[0088] State database 205 is used to store historical execution information of operators, such as dynamically updated rewards and execution calculators during the optimization iteration loop in step S102, as well as a binary combination preference model. State database 205 can persistently store the agent's state.

[0089] The intelligent agent 203 is configured to acquire input files and output optimization results through the input / output module, query the operator library 204, read and write operations on the state database 205, and call the physical information adaptation module 202 to execute optimization iteration loops.

[0090] Figure 5 This is a structural block diagram of the physical information adaptation module involved in this application. Figure 5 As shown, the physical information adaptation module 202 includes: an instruction interface 501 for receiving instructions from the agent 203; an instruction translation engine 502 for translating instructions from the agent 203 into executable scripts, such as Tcl scripts or Python scripts; a tool execution engine 503 for calling the EDA tool 201 to execute the script; a result parsing engine 504 for obtaining the output results of the executed script, such as logs or report files output by the EDA tool 201, and parsing the PPA metrics from them; and a structured data interface 505 for converting the PPA metrics parsed by the result parsing engine 504 into structured data. Specifically, after the tool execution engine 503 calls the EDA tool 201 to execute the optimization command, it will output a human-readable plain text log or report file. The result parsing engine 504 uses regular expressions to extract specific numerical key-value pairs (e.g., "Total Negative Slack=-5.14ns") from the unstructured text such as the plain text log or report file to parse out the PPA index. Then, the PPA index parsed through the structured data interface 505 is converted into a structured floating-point vector required for agent decision-making.

[0091] Figure 6 This is a schematic diagram of the decision-making logic of the agent involved in this application. The agent can adopt a multi-armed bandit model based on the upper bound of the confidence interval (UCB), which is driven by three parts: weighted historical reward (exploitation), UCB confidence interval (exploration), and a combination preference term (Adaptive Combination Module) that decays with the number of iterations t. Figure 6As shown, the agent includes: a utilization module 601, used to read the historical average reward of a specific operator from the state database as a utilization score; an exploration module 602, used to calculate an exploration score based on the total number of executions of all operators and the number of executions of a specific operator; a combined preference module 603, used to dynamically calculate the preference score for executing a specific operator based on the operator executed in the previous iteration in the optimization iteration loop; and a decision fusion module 604, used to calculate the weighted sum of the utilization score, the exploration score, and the combined preference score as the evaluation score of the specific operator.

[0092] This application also provides a computer-readable storage medium storing a computer program / instructions thereon, which, when executed by a processor, can implement the above-described gate-level netlist optimization method based on physical information.

[0093] This application further provides a computer program product, including a computer program / instruction that, when executed by a processor, can implement the above-described gate-level netlist optimization method based on physical information.

[0094] In summary, this application solves the problems of fixed sequences and suboptimal optimization in traditional physical synthesis by using a decoupled adapter interface and an agent that considers binary interaction effects. It achieves efficient, adaptive, and physically-aware PPA optimization for gate-level netlists. Furthermore, the agent is highly portable and can be adapted to any EDA tool that provides layout and timing analysis capabilities.

[0095] The above are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Where there is no conflict, the embodiments and features described in the embodiments of this application can be combined with each other. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A gate-level netlist optimization method based on physical information, characterized in that, Includes the following steps: Obtain the input file for the target circuit design, the input file including a gate-level netlist; Based on the input file, the gate-level netlist is optimized by an intelligent agent through an optimization iterative loop until a preset termination condition is met. Output the optimized gate-level netlist.

2. The gate-level netlist optimization method according to claim 1, characterized in that, In each iteration of the optimization loop, the agent is configured as follows: The electronic design automation tool is invoked through the physical information adaptation module to obtain at least one first PPA index of the target circuit design. Traverse the operator library and calculate the evaluation score for each operator in the operator library, and select the operator with the highest evaluation score as the operator to be executed; The physical information adaptation module calls the electronic design automation tool to execute the execution operator on the target circuit design. The physical information adaptation module obtains the second PPA indicator after executing the execution operator, and calculates the scalar reward based on the first PPA indicator and the second PPA indicator. The status database is updated by updating the historical average reward of the execution operator, the number of times the execution operator is executed, the total number of times all operators are executed, and recording the execution operator as the operator executed in the previous loop.

3. The gate-level netlist optimization method according to claim 2, characterized in that, Before using the agent to execute the optimization iteration loop, the process also includes offline initialization of the agent, which includes: In one or more training circuit designs, execute multiple rounds of randomly generated operator sequences; Collect execution data and perform statistical analysis to identify combinations of binary operators with statistical significance; The average reward of the binary operator combination is quantified, a binary combination preference model is constructed, and the binary combination preference model is stored in the state database.

4. The gate-level netlist optimization method according to claim 3, characterized in that, The construction of the binary combination preference model includes: For any combination of binary operators in the operator library, extract the first reward set and the second reward set from the execution data; Perform a two-sample t-test on the first reward set and the second reward set; When the p-value of the two-sample t-test is less than a preset threshold and the average value of the first reward set is greater than the average value of the second reward set, the combination of binary operators is determined to be statistically significant. The preference baseline value of the binary operator combination is calculated and stored. The preference baseline value is defined as the average value of the first reward set divided by the average reward of the second operator in the binary operator combination over all execution processes.

5. The gate-level netlist optimization method according to claim 3, characterized in that, The evaluation score is a weighted sum based on at least the following scores: Using the term score, we obtain the historical average reward for a specific operator; The exploration item score is calculated based on the total number of executions of all operators and the number of executions of the specific operator. The combined preference score is a dynamically calculated preference score for executing the specific operator based on the operator executed in the previous loop.

6. The gate-level netlist optimization method as described in claim 5, characterized in that, The calculation of the exploration item score adopts the calculation logic of the upper bound of the confidence interval. This calculation is based on the balanced hyperparameter, the total number of executions of all operators and the number of executions of the specific operator, in order to encourage the exploration of operators with fewer executions.

7. The gate-level netlist optimization method according to claim 5, characterized in that, The calculation method for the combined preference item score is as follows: Multiply a preference baseline value by an online reliability term; The preference baseline value is obtained from the binary combined preference model; The online reliability term is defined as a count value divided by the sum of that count value and a preset smoothing constant, wherein the count value is the number of times a particular combination outperforms the average value in the optimization iteration loop.

8. The gate-level netlist optimization method according to claim 2, characterized in that, The physical information adaptation module is configured to communicate with the electronic design automation tool, and the physical information adaptation module includes the following functions: Receive instructions from the intelligent agent; Translate the instructions from the agent into an executable script; The electronic design automation tool is invoked to execute the script; Obtain and parse the output of the executed script to extract structured PPA metrics.

9. The gate-level netlist optimization method according to claim 8, characterized in that, The executable script is a Tcl script or a Python script; the output is a log or report file generated by the electronic design automation tool, and the structured PPA indicators are extracted from the log or report file using regular expressions.

10. A gate-level netlist optimization system, characterized in that, include: The input / output module is used to acquire input files and output optimization results; The physical information adaptation module is configured to communicate with one or more electronic design automation tools to translate instructions, execute scripts, and parse PPA metrics. Operator library, used to store operators; A state database is used to store historical execution information of operators and binary combination preference models; The intelligent agent is configured to acquire input files and output optimization results through the input / output module, query the operator library, perform read and write operations on the state database, and call the physical information adaptation module to execute optimization iteration loops.

11. The gate-level netlist optimization system according to claim 10, characterized in that, The physical information adaptation module includes: An instruction interface is provided for receiving instructions from the intelligent agent. An instruction translation engine is used to translate instructions from the agent into executable scripts; A tool execution engine is used to invoke electronic design automation tools to execute the script; The result parsing engine obtains the output of the executed script and parses the PPA metric from it; and, The structured data interface is used to convert the PPA metrics parsed by the result parsing engine into structured data.

12. The gate-level netlist optimization system according to claim 10, characterized in that, The intelligent agent includes: The utilization item module is used to read the historical average reward of a specific operator from the state database as the utilization item score; The exploration item module calculates the exploration item score based on the total number of executions of all operators and the number of executions of the specific operator. The combined preference module dynamically calculates the preference score for executing a specific operator based on the operator executed in the previous iteration of the optimization loop; and, The decision fusion module is used to calculate the weighted sum of the utilization item score, exploration item score, and combined preference item score as the evaluation score of the specific operator.

13. The gate-level netlist optimization system according to claim 10, characterized in that, The operator library also stores one or more orchestration operators, which are multi-step operator sequences generated by using a genetic algorithm to evolve basic operator sequences.

14. A computer-readable storage medium having a computer program / instructions stored thereon, characterized in that, When the computer program / instruction is executed by the processor, it implements the gate-level netlist optimization method based on physical information as described in any one of claims 1-9.

15. A computer program product comprising a computer program / instructions, characterized in that, When the computer program / instruction is executed by the processor, it implements the gate-level netlist optimization method based on physical information as described in any one of claims 1-9.