Additive grid-based feature selections for training of machine learning (ML) models for electornic design automation (EDA) design flows

The additive grid-based feature selection process addresses inefficiencies in conventional ML model training for EDA design flows by systematically selecting critical features, enhancing performance and reducing computational load through improved feature selection.

WO2026015127A1PCT designated stage Publication Date: 2026-01-15SIEMENS INDUSTRY SOFTWARE INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/US2024/037047
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-08
Publication Date
2026-01-15

AI Technical Summary

Technical Problem

Conventional feature selection techniques for machine learning models in electronic design automation (EDA) design flows are inadequate, particularly for clustering-based approaches, leading to inefficiencies, inaccuracies, and increased computational latency due to improper feature selection, which can result in overfitting and failure to accurately generate predictive outputs.

Method used

The implementation of an additive grid-based feature selection process that sequentially adds dimensions to a feature grid, evaluating metrics such as RMS, F1, precision, and recall to determine a critical set of features for training machine learning models, thereby improving the effectiveness and efficiency of clustering-based ML technologies.

Benefits of technology

This approach enhances the performance and reduces the computational load of ML models by selecting relevant features, improving prediction accuracy and reducing data volume requirements, thus optimizing the training process for EDA design flows.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2024037047_15012026_PF_FP_ABST
    Figure US2024037047_15012026_PF_FP_ABST
Patent Text Reader

Abstract

Various systems and method are presented in support of additive grid-based feature selection for training of machine learning (ML) models for electronic design automation (EDA) design flows. The technical aspects presented herein may include determining candidate features for the ML model from an input dataset and scanning the candidate features for different data partition sizes to evaluate training of the ML model through various feature sets and data partitioning parameters. An additive feature grid may generated by adding dimensions through performance of dimension iterations. A selected feature set may be determined based on dimensions of the additive feature grid and used to train the ML model for the EDA design flow.
Need to check novelty before this filing date? Find Prior Art

Description

ADDITIVE GRID-BASED FEATURE SELECTIONS FOR TRAINING OF MACHINE LEARNING (ML) MODELS FOR ELECTORNIC DESIGN AUTOMATION (EDA) DESIGN FLOWSBACKGROUND

[0001] Electronic circuits, such as integrated circuits, are used in nearly every facet of modern society, from automobiles to microwaves to personal computers. Design of circuits may involve many steps, known as a "design flow." The particular steps of a design flow are often dependent upon the type of microcircuit being designed, its complexity, the design team, and the circuit fabricator or foundry that will manufacture the circuit. Electronic design automation (EDA) applications support the design and verification of circuits prior to fabrication. EDA applications may implement various EDA procedures, e.g., functions, tools, or features to analyze, test, or verify a circuit design at various stages of the design flow.BRIEF DESCRIPTION OF THE DRAWINGS

[0002] Certain examples are described in the following detailed description and in reference to the drawings.

[0003] Figure 1 shows an example of a computing system that supports additive gridbased feature selections for training of machine-learning (ML) models for electronic design automation (EDA) design flows.

[0004] Figure 2 shows an example determination of a feature set to train an ML model for an EDA design flow through an additive grid-based feature selection process according to the present disclosure.

[0005] Figure 3 shows an example determination of a first selected feature candidate for an additive grid-based feature selection process according to the present disclosure.

[0006] Figure 4 shows an example determination of a second selected feature candidate for an additive grid-based feature selection process according to the present disclosure.

[0007] Figure 5 shows an example of logic that a computing system may implement to support additive grid-based feature selections for training of ML models for EDA design flows.

[0008] Figure 6 shows an example of a computing system that supports additive gridbased feature selections for training of ML models for EDA design flows.DETAILED DESCRIPTION

[0009] Electronic circuits, such as integrated circuits (ICs), are used in nearly every facet of modem society, from automobiles to microwaves to personal computers. The design, verification, physical manufacture, and analysis of circuit devices often involve several steps, sometimes referred to as a "design flow" or “EDA design flow.” As used herein, an EDA design flow may include any steps taken in the design, manufacture, or analysis of circuits. The particular steps of a design flow are dependent upon various factors, such as the type of integrated circuit being designed, its complexity, the design team, and the integrated circuit fabricator (e.g., foundry) that will manufacture the physical circuit. Typically, software and hardware tools can verify the circuit designs at various stages of the design flow, for example through complex rule checks, software-based simulations, hardware-based emulation, and various other techniques supported by modem EDA technology. These steps of a design flow aid in the discovery of errors in circuit designs, and allow design teams and engineers to correct or otherwise improve the designs prior to, during, or after physical manufacture.

[0010] Several steps are common to most design flows of IC design. Initially, the specification for a new circuit can be transformed into or otherwise generated as a logical design. Logical designs are sometimes referred to as a register transfer level (RTL) description of a circuit. With logical designs, a circuit can be described in terms of both the exchange of signals between hardware registers and the logical operations that are performed on those signals. The logical design typically employs a Hardware Design Language (HDL), such as the Very high-speed integrated circuit Hardware Design Language (VHDL). The logic of the circuit is then analyzed to confirm that thedesign will accurately perform the functions desired for the circuit. This analysis is sometimes referred to as "functional verification."

[0011] After the accuracy of the logical design is confirmed through functional verification, a logical design can be converted into a device design by synthesis software. The device design, which is typically in the form of a schematic or netlist, can describe the specific electronic devices (e.g., transistors, resistors, and capacitors) that form the circuit design, along with the interconnections between these electronic devices. This device design generally corresponds to the level of representation displayed in conventional circuit diagrams. The relationships between the electronic devices are then analyzed to confirm that the circuit described by the device design will correctly perform the desired functions. This analysis is sometimes referred to as "formal verification." Additionally, preliminary timing estimates for portions of the circuit are often made at this stage, using an assumed characteristic speed for each device, and incorporated into the verification process.

[0012] Once the electronic devices components and their interconnections are established, the design can again be transformed in a design flow. In particular, the next transformation may be to a physical design that describes specific geometric elements that form the circuit design. This type of physical version of a circuit design is often referred to as a "layout" design or “physical layout” (and may simply be referred to as a “layout”). The geometric elements, which typically are polygons, define the shapes that will be created in various layers of material to physically manufacture the circuit. Automated place and route tools can be used to define or generate the physical layouts, especially for wires that will be used to interconnect the circuit devices in the physical representation of the circuit design. Each layer of a circuit can have a corresponding layer representation in the layout design, and the geometric shapes described in a layer representation will define the relative locations of the circuit elements that will make up the circuit device (e.g., of transistors, resistors, capacitors, etc.). For example, shapes in the layer representation of a metal layer will define the locations of the metal wires used to connect the circuit devices.

[0013] Integrated circuit layout descriptions can be provided in many different formats. The Graphic Data System II (GDSII) format is a popular format for transferring and archiving two-dimensional graphical IC layout data. Among other features, GDSII contains a hierarchy of structures, each structure containing layoutelements (e.g., polygons, paths or poly-lines, circles and textboxes). Other layout formats include an open-source format named Open Access, Milkyway by Synopsys, Inc., EDDM by Siemens EDA (formerly Mentor Graphics Corporation), and the Open Artwork System Interchange Standard (OASIS) format proposed by Semiconductor Equipment and Materials International (SEMI). These various industry formats are used to define the geometrical information in IC layout designs that are employed to manufacture integrated circuits. Once the circuit design is finalized, the layout portion of the design can be used by fabrication tools to manufacture the device using a photolithographic process.

[0014] Typically, a designer will perform a number of verification processes on the layout design. For example, the layout design may be analyzed to confirm that it accurately represents the circuit devices and their relationships described in the device design. In this process, a layout-versus-schematic (LVS) tool can extract a netlist from the layout design and compare it with the netlist taken from the circuit schematic. LVS can be augmented by formal equivalence checking, which checks whether two circuits perform exactly the same function without demanding isomorphism.

[0015] The layout design also may be analyzed to confirm that it complies with various design requirements, such as minimum spacings between geometric elements and minimum linewidths of geometric elements. Such checks may be part of a design rule checking (DRC) process performed on layout design. DRC tools can take, as an input, a physical layout (e.g., in the GDSII or OASIS standard format) as well as a rule deck which specifies the specific rule checks to perform on the layout design. As checks in a DRC process can be specific to a particular circuit fabrication process, rule decks are typically provided by a foundry or circuit manufacturer specifying the particular rules that circuit designs must adhere to for circuit fabrication via the foundry (e.g., at a specified technology node or specific fabrication process parameters). Put another way, foundry-provided rule decks can include a list of rules specific to the semiconductor fabrication process employed by the foundry or otherwise selected for use in circuit manufacture. As such, a set of rules for a particular fabrication process can be referred to as a run-set, rule deck, or just a deck. An example format used for implementation of rule decks is the Standard Verification Rule Format (SVRF) by Siemens EDA (formerly Mentor Graphics Corporation).

[0016] There are many different fabrication processes for manufacturing a circuit, but most processes include a series of steps that deposit layers of different materials on a substrate, expose specific portions of each layer to radiation, and then etch the exposed (or non-exposed) portions of the layer away. For example, a simple semiconductor device component could be manufactured by the following steps. First, a positive-type epitaxial layer is grown on a silicon substrate through chemical vapor deposition. Next, a nitride layer is deposited over the epitaxial layer. Then specific areas of the nitride layer are exposed to radiation, and the exposed areas are etched away, leaving behind exposed areas on the epitaxial layer, (i.e., areas no longer covered by the nitride layer). The exposed areas then are subjected to a diffusion or ion implantation process, causing dopants, for example phosphorus, to enter the exposed epitaxial layer and form charged wells. This process of depositing layers of material on the substrate or subsequent material layers, and then exposing specific patterns to radiation, etching, and dopants or other diffusion materials, is repeated a number of times, allowing the different physical layers of the circuit to be manufactured.

[0017] Each time that a layer of material is exposed to radiation, a photomask (mask) must be created to expose only the desired areas to the radiation, and to protect the other areas from exposure. The mask is created from circuit layout data. That is, the geometric elements described in a physical layout define the relative locations or areas of the circuit wafer that will be exposed to radiation through the mask. A mask or reticle writing tool is used to create the mask based upon the design layout, after which the mask can be used in a photolithographic process for fabrication of physical circuits. One or more resolution enhancement techniques (RETs) are often employed to improve the resolution of the image that the mask forms on the substrate during the photolithographic process. One of these techniques is optical proximity correction (OPC). OPC can be rule-based, model-based, or both. In rule-based OPC, the proximity effects are characterized, and specific solutions are devised for specific geometric configurations. The layout design is then searched using a DRC tool or a geometric-based software engine to find these geometric configurations. Once they are found, the specific solutions are applied. After physical manufacture, an EDA design flow may include analysis of fabricated circuits, for example for hotspot detections, root cause analyses, and other circuit analysis processes that can be usedto detect fabrication issues and improve manufacturing yields. Through various steps of a design flow, the design, manufacture, and fabrication of circuits can be performed and supported through EDA technology.

[0018] While various steps of a design flow are described herein, circuit manufacture processes continue to evolve and may include any additional or alternative flow steps. Moreover, the intricacy of each step in a design flow is immense, especially as circuit designs continue to increase in complexity and the transistors and other devices that form a circuit are merely a few atoms wide. As such, accurate and effective design flow steps may increase the efficiency of circuit design and improvements at any given step in the design flow can yield significant benefits.

[0019] With advances in modem technology, machine learning has become increasingly prevalent in various steps of EDA design flows. As used herein, ML models for EDA design flows may refer to any model that is trained or used to support any aspect of circuit design, verification, manufacture, or analysis. Examples of ML models for EDA design flows include ML models in model-based OPC processes, such as OPC models (e.g., etch models or resist models) that can be configured to predict behaviors, values, or characteristics of lithography or etch processes. As other examples, ML models for EDA design flows can be used to down-sample datasets, especially as datasets used in EDA design flows can contain immense amounts of circuit data. For example, clustering ML models can provide capabilities to effectively down select candidate hotspot locations determined through low precision imaging processes, which may result in increased defect confirmation rates for subsequent high precision imaging process verifications. ML models for EDA design flows may also provide predictive capabilities with limit datasets, e.g., defect detection and root causes analyses early in the lifecycle of a technology node with low number of manufactured circuits and measured values thereof. While some examples have been provided, ML models can be used for any aspect or step in EDA design flows.

[0020] One challenge in the use of ML models for EDA design flows is feature selection. As used herein, a feature may refer to any measurable or distinct property. Features may thus take the form of circuit properties (e.g., layout or geometry characteristics), location data, quantified design aspects, and such. In some instances, features may take the form of computations or processes applied to input data or circuit data. An example of such features can be in the form of convolutionkernels (and their corresponding kernel parameters) used in etch or resists models for OPC processes. Such kernel features may be expressed as the kernel itself or a property of the kernel, e.g., kernel density computed for convolving various circuit locations of a circuit design with the kernel. For datasets extracted from circuit designs or manufactured circuits, as well as datasets otherwise relevant to EDA design flows, the number of features applicable to such datasets can be immense.

[0021] Selecting a feature set by which to train ML models for EDA design flows can significantly impact the performance, accuracy, reliability, and efficiency of such ML models. Use of inappropriate feature inputs for training ML models for EDA design flows may adversely affect the model build and its prediction capabilities. Overfitting can result from training ML models with irrelevant features unrelated to the particular value, characteristic, or property ML models are configured to predict or output. Feature overfitting can be particularly severe if the data volume of a training dataset is limited, which may be case in various semiconductor contexts in which ML models for EDA design flows are used. Additionally or alternatively, if a critical feature is not provided for training, the ML model may fail to accurately generate a predictive output and accuracy limitations may arise.

[0022] Another benefit of effective feature set selection is the ability to reduce data volume requirements and improve performance. If the feature set used to train a ML model includes critical features that impact output accuracy without other extraneous or irrelevant features, the amount of data used to train and subsequently use the ML model can be reduced significantly. For EDA processes that can, at times, involve immense amounts of circuit data, proper feature selection can yield significant computational latency improvements. Lack of critical features selected for training can also impact root cause analyses or other downstream applications. Unsupervised and semi-supervised machine learning methods may be more susceptible to training through an improper feature set, further enforcing a need for effective feature selection. Supervised machined learning techniques may require large volumes of training data in order to identify and remove irrelevant features. Effective feature selection can result in improvements of ML models for EDA design flows and overcome various limitations of unsupervised, semi-supervised, and supervised ML techniques.

[0023] Effective feature selection may be particularly impactful for clustering-based machine learning approaches. In clustering-based ML technologies, ML models can receive input data or training data in the form of data clusters, perform learning techniques through the clustered input data, and generate predicted outputs based on clustered input data. Training of ML models may be performed through training data comprised of data clusters. In such contexts, there may exist a strong need for improved prediction ML capabilities via clustered data training sets with reduced feature counts (and thus reduced input data volume). For EDA design flows, input datasets may comprise a significant number of features by which to cluster and train ML models. Accordingly, effective feature selection can significantly impact ML training, performance, run-time, and accuracy.

[0024] Conventional feature selection techniques exist for training of ML models. For many OPC models (e.g., etch models and resists models), manual feature selection is performed based on best practices and user experience. Such manual selections can be prone to error or personal bias. Other conventional feature selection methods include filter methods and wrapper methods. Filter feature selection methods can be supported via statistical measures or using prediction rules to evaluate individual features of a dataset for ML model training. Such methods are typically limited to univariate feature selection and can thus fail to account for feature interactions, ranking redundant features highly, and produce final feature sets that are sensitive to ranking. As such, single feature ranking methods (by themselves) can provide sub- optimal results for feature selections. Wrapper feature selection methods can support multi-feature analyses. Examples of such features selection processes include forward selection, backwards elimination, and exhaustive search algorithms. However, these processes may suffer from performance issues. However, conventional feature selection techniques are not specifically tuned for clusteringbased ML approaches and fail to account for clustering effects in feature selection, and thus limiting effectiveness. For EDA datasets with a large number of features, the shortcomings of conventional feature selection processes can limit the effectiveness of ML technologies in EDA design flows.

[0025] The disclosure herein may provide systems, methods, devices, and logic for additive grid-based feature selections for training of ML models for EDA design flows. The various technical features of the present disclosure may be referred to as additivefeature grid technology. As explained in greater detail herein, the additive feature grid technology of the present disclosure may provide feature selection capabilities for EDA datasets through an additive feature grid. Additive feature grids may support the successive addition of features of an EDA dataset as respective dimensions in the additive feature grid. As explained herein, partitioning of input datasets via the additive feature grid and model training through partitioned datasets may support ML training and assessment to determine additional dimensions to add to the additive feature grid. Additional dimensions to the additive feature grid can be sequentially added until an evaluation metric (e.g., root mean square (RMS), F1 , precision, recall, or any other ML assessment metric) no longer improves. Then, the various dimensions of the additive feature grid may be extracted as a selected feature set by which to train the ML model for the input dataset. The sequential nature of adding dimensions to the additive feature grid may allow for determination of features with high criticality, importance, and effectiveness, and do so while considering data partitions of various division numbers and partition sizes. As such, the additive feature grid technology of the present disclosure can support feature selections for clustering-based ML technologies with increased effectiveness, reduced ML run-times, improved efficiency, and better performance by reducing feature counts and input data requirements.

[0026] These and other aspects of the additive feature grid technology according to the present disclosure as well as various technical benefits are described in greater detail herein.

[0027] Figure 1 shows an example of a computing system 100 that supports additive grid-based feature selections for training of ML models for EDA design flows. The computing system 100 may take the form of a single or multiple computing devices such as application servers, compute nodes, desktop or laptop computers, smart phones or other mobile devices, tablet devices, embedded controllers, and more. In some implementations, the computing system 100 hosts, instantiates, executes, supports, or implements an EDA application that supports circuit design and analysis, and may accordingly provide or implement any of the additive feature grid technology described herein.

[0028] As an example implementation to support any combination of the additive feature grid technology described herein, the computing system 100 shown in Figure 1 includes an additive feature grid engine 110. The computing system 100 mayimplement the additive feature grid engine 110 (including components thereof) in various ways, for example as hardware and programming. The programming for the additive feature grid engine 110 may take the form of processor-executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the additive feature grid engine 110 may include a processor to execute those instructions. A processor may take the form of single processor or multiprocessor systems, and in some examples, the computing system 100 implements multiple engines using the same computing system features or hardware components (e.g., a common processor or a common storage medium).

[0029] In operation, the additive feature grid engine 110 may access an input dataset for an EDA design flow and determine a feature set to train an ML model for the EDA design flow. In some implementations, the input dataset may be divided into a training dataset and a validation dataset. The additive feature grid engine 110 may do so by determining a set of candidate features for the ML model from the input dataset and accessing a set of division numbers, wherein each division number may specify a number of data partitions by which to partition value ranges of the candidate features from the input dataset. Further, the additive feature grid engine 110 may, for each given candidate feature in the set of candidate features and for each given division number in the set of division numbers, determine an evaluation metric for training the ML model with training data comprised of data of the given candidate feature in the input dataset (with a value range of the given candidate feature in the training data partitioned into a number of data partitions based on the given division number), identify a first selected candidate feature with a determined evaluation metric that satisfies an evaluation criterion, and set the first selected candidate feature as a first dimension of an additive feature grid for the input dataset.

[0030] In operation, the additive feature grid engine 110 may also determine additional dimensions of the additive feature grid, in addition to the first selected candidate feature, from remaining candidate features of the set of candidate features and determine the feature set based on dimensions of the additive feature grid determined for the input dataset. In operation, the additive feature grid engine 110 train the ML model for the EDA design flow through the determined feature set.

[0031] These and other aspects of additive feature grid technology according to the present disclosure are described in greater detail next.

[0032] Figure 2 shows an example determination of a feature set to train an ML model for an EDA design flow through an additive grid-based feature selection process according to the present disclosure. The example technical aspects of Figure 2 are described through the additive feature grid engine 110 as an illustrative implementation. In the example of Figure 2, the additive feature grid engine 110 may access an input dataset 210. The additive feature grid engine 110 may access the input dataset 210 in any number of ways. For instance, the additive feature grid engine 110 may load the input dataset 210 from a memory, receive the input dataset 210 over a network connection, or obtain the input dataset 210 via user input. Any suitable mechanism by which the additive feature grid engine 110 can read or load a dataset may be utilized to access the input dataset 210.

[0033] The input dataset 210 may take the form of any collection of data related to, in support of, or used in an EDA design flow. In particular, the input dataset 210 may be specific to a type of ML model for an EDA design flow that the additive feature grid engine 110 is to determine a feature set for or otherwise train. Example input datasets that the additive feature grid engine 110 may access include physical layouts, layer gauge data, circuit data for circuit locations that surround points-of-interest (e.g., I Q- 15 nanometer windows or any other configurable window size), or other circuit data. The input dataset 210 may include data relevant to OPC ML models (e.g., etch or lithography predictions), candidate defect locations for hotspot detection ML models, or any other relevant context in EDA design flows.

[0034] In some implementations, the input dataset 210 may include measured values (also referred to herein as measurement values) that a ML model is configured to predict or generate an output for. Such measurement values may act as label values for the input dataset 210, e.g., for training of an ML model through supervised learning techniques. Any measured values in a dataset (e.g., an input, training, or validation dataset) may be physically measured from fabricated circuits, physically extracted during manufactured, or obtained in any other suitable manner. As an example, OPC input datasets for an etch ML model may include measurement values for etch values for various gauges / locations of a circuit design that are physically measured from fabrication circuits, including as examples, etch bias measurements, critical dimension measurements, etc. Such measurement data may serve as labels that support supervised or semi-supervised learning ML technologies.

[0035] The number of features included in the input dataset 210 may be immense. Individual features in the input dataset 210 may take the form of any measurable property within the input dataset 210, e.g., circuit layout data, circuit characteristics at circuit locations (e.g., gauge locations), pitch values, geometry characteristics, hotspot location data, any values that can be computed as a function of circuit data (e.g., kernel density), and the like. Selection of a specific set of features from the input dataset 210 through which to train a ML model for EDA design flows can be challenging. The additive feature grid engine 110 may perform an additive grid-based feature selection process to determine a selected set of features from the input dataset 210 by which to train an ML model. Through the additive grid-based feature selection process, the additive feature grid engine 110 may determine a selected feature set 220 as shown in Figure 2. The selected feature set 220 may specify a specific set of features to use to train an ML model, such as the ML model 230 shown in Figure 2. In some implementations, the additive feature grid engine 110 may itself train the ML model 230 via the selected feature set 220. Doing so may include preparing training data that comprises data specific to the selected feature set 220 and providing such training data to train the ML model 230. For example, the additive feature grid engine 110 may prepare training data for the ML model 220 by filtering or processing the input dataset 210 with the selected feature set 220 and then training the ML model 230 with the prepared training data.

[0036] The additive feature grid technology described herein may support the use, training, and validation for machine learning technologies of any type or implementation. In some implementations, the additive feature grid engine 110 may itself implement or apply any suitable machine learning capability, algorithm, or technique to train or construct the ML model 230. In that regard, the additive feature grid engine 110 may train ML models via any type of unsupervised, supervised, or semi-supervised machine learning techniques. Neural networks, monotonic machine learning models, cluster-based ML technologies, matrix models, reinforced learning models, or any other suitable machine learning implementations are contemplated herein, and the additive feature grid engine 110 may construct or train any type of ML model accordingly and in support of any aspect of EDA design flows. In any suitable manner, the additive feature grid engine 110 may train the ML model 230 with the selected feature set 220.

[0037] Various aspects of the additive grid-based feature selection process are presented next. As described herein, the additive feature grid engine 110 may intelligently perform a feature selection process for the input dataset 210 through an additive grid-based feature selection process. In doing so, the additive feature grid engine 110 may build an additive feature grid. The additive feature grid may be an N- dimensional data structure, and each dimension may specify a respective feature of the input dataset 210, a number of data partitions to partition a value range of the respective feature into, or combinations of both. In that regard, an additive feature grid may specify partitioning parameters by which to cluster the input dataset 210.

[0038] The additive feature grid may be referred to “additive” since dimensions of the additive feature grid may be sequentially added. Each added dimension of the additive feature grid may be added through a dimension iteration performed in the additive gridbased feature selection process. With each performed iteration, the additive feature grid engine 110 may determine another dimension to add to the additive feature grid until an ending criterion is satisfied. Example aspects of performed dimension iterations and building of an additive feature grid are presented next with reference to Figures 3 and 4.

[0039] Figure 3 shows an example determination of a first selected feature candidate for an additive grid-based feature selection process according to the present disclosure. The example of Figure 3 is described in a context of the additive feature grid engine 110 performing an additive grid-based feature selection process for the input dataset 210 to train the ML model 230 as described in Figure 2. In the example of Figure 3, the additive feature grid engine 110 accesses the input dataset 210 and determines a set of candidate features 310 from the input dataset 210. The candidate features 310 may be specified as part of the input dataset 210 itself, for example as data columns, fields of feature vectors, or in any suitable data format. As a feature may refer to a measurable property, the additive feature grid engine 110 may identify or consider any distinct measurable property in the input dataset 210 as a candidate feature for which to potentially train the ML model 230 through. The set of candidate features 310 may form a library, overall set of features, or feature space from which the additive feature grid engine 110 may determine a selected feature set to train the ML model 230, doing so through an additive grid-based feature selection process. In the example of Figure 3, the additive feature grid engine 110 may identify “n” numberof candidate features 310 from the input dataset 210, which may be referred to as candidate featurei, candidate feature2, ... and so forth up to candidate featuren.

[0040] As part of the additive grid-based feature selection process, the additive feature grid engine 110 may account for partitioning of the input dataset 210 in training the ML model 230. In support of such technical capabilities, the additive feature grid engine 110 may compare ML model trainings using different partitioning parameters for the various candidate features 310. For example, the additive feature grid engine 110 may access a set of division numbers, and each division number may specify a number of data partitions by which to partition value ranges of the candidate features 310 in the input dataset 210. The set of division numbers may be represented as any listing of numerical values, and each value may specify a different number of data partitions to partition features of the input dataset 210. The set of division numbers may be configurable, e.g., via user input or specified by the additive feature grid engine 110. As such, the set of division numbers may be a numerical listing of any size and may include any number of positive integers that may be user-specified, experimentally-determined, customizable, or otherwise configured by the additive feature grid engine 110. As an illustrative example, the set of division numbers may be the following number set: [10, 20, 23, 26, 29, 35, 38, 41 , 49, 120, 180, 200, 230, 260, 300, 350, 400, 500, 600, 700, 800, 900], As explained herein, the additive feature grid engine 110 may partition value ranges of candidate features into a number of data partitions as specified by the set of division numbers, and assess ML performance (e.g., accuracy) for the clustering of features the input dataset 210 with the different division numbers.

[0041] Continuing the discussion of additive grid-based feature selection processes, the additive feature grid engine 110 may perform dimension iterations to iteratively determine dimensions of an additive feature grid. In the example of Figure 3, the additive feature grid engine 110 determines a first dimension of an additive feature grid, e.g., by performing a first dimension iteration in the additive grid-based feature selection process. In a given dimension iteration, the additive feature grid engine 110 may perform a scan of each of the (remaining) candidate features for each of the division numbers. Scanning may refer to a computation of an evaluation metric for training a ML model with a given training dataset. Thus, in Figure 3, scanning the candidate features 310 for each of the division numbers may refer to computing arespective evaluation metric for training the ML model 230 with a training dataset comprised of the data of each candidate feature 310 partitioned into a number of data partitions based on the division numbers.

[0042] Any suitable evaluation metric may be implemented, determined, computed, or applied by the additive feature grid engine 110 to assess training effectiveness of the ML model 230, including conventional model evaluation techniques. In that regard, the additive feature grid engine 110 may implement any suitable or conventional model evaluation techniques, technologies, or processes to assess ML trainings and model accuracy. Example evaluation metrics and technology include F1 scores, precision, or recall values. In some implementations, the evaluation metric may be a root mean square (RMS) value, difference, or error between predicted values generated by the ML model 230 for the EDA design flow and measurement values for the EDA design flow. Measurement values may refer to physically-measured values or actual- measured values for a dataset, and the difference between the predicted values of a trained ML model 230 and the actually-measured values for the input data may be the evaluation metric employed by the additive feature grid engine 110 (e.g., expressed as RMS error / RSME). Measured values may be specified as part of a validation dataset, within the input dataset 210 itself, or combinations of both. Thus, such validation or input datasets may allow testing of the ML model 230 trained with different feature sets in order to assess whether the predictive capabilities or generated outputs of the ML model 230 have improved or not.

[0043] An illustrative scanning example of the candidate features 310 is presented through RMS as an example evaluation metric. In the first dimension iteration as shown in Figure 3, the additive feature grid engine 110 may scan each of the “n” number of candidate features 310 identified from the input dataset 210, doing so for each of the division numbers in the number set of [10, 20, 23, 26, 29, 35, 38, 41 , 49, 120, 180, 200, 230, 260, 300, 350, 400, 500, 600, 700, 800, 900], In doing so, the additive feature grid engine 110 may partition a value range of each of the candidate features 310 in the input dataset 210 into a number of data partitions based on each of the division numbers. Each such set of partitioned data according to the division numbers may serve as a separate training set by which the additive feature grid engine 110 may train the ML model 230 and determine an evaluation metric (e.g., RMS) for the trained ML model 230, e.g., using a validation dataset. A value range for acandidate feature may refer to the range of values between a minimum value of the candidate feature in the input dataset 210 and a maximum value of the candidate feature in the input dataset 210. In some implementations, the additive feature grid engine 110 may partition the value range of a candidate feature such that each data partition in the value range has the same division size (e.g., size of the partition value range) for the candidate feature. As an illustrative example, for a candidate feature with a value range from 0.0 to 11 .0, the additive feature grid engine 110 may partition this value range into ten (10) partitions such that partition has a range size of 1 .1 , e.g., divide the value range into a first partition comprised of instances of the candidate feature with candidate feature values from [0-1.1 ) (which may be referred to as a particular partition value range), a second partition comprised of instances of the candidate feature with candidate feature values from [1.1 -2.2), a third partition comprised of instances of the candidate feature with candidate feature values from [2.2-3.3), and so forth. As such, the partitioned value range may have range sizes (e.g., partition sizes) that are the same, but the number of instances of the candidate feature clustered into each respective data partition may differ based on the value distribution of the candidate feature in the input dataset 210.

[0044] In the example of Figure 3, for candidate featurei of the candidate features 310, the additive feature grid engine 110 may partition a value range of candidate featurei into ten (10) different data partitions as specified by a first division number of ten (10) in the accessed set of division numbers. This clustered dataset for candidate featurei together with a label of measured values may be provided as a training dataset to train the ML model 230. From this ML model 230 trained with data of candidate featurei clustered into ten (10) data partitions, the additive feature grid engine 110 may compute an RMS value to assess this trained ML model 230. In Figure 3, the additive feature grid engine 110 computes an RMS value of 0.00085 for this trained ML model 230.

[0045] As a next scanning example shown in Figure 3, the additive feature grid engine 110 may partition a value range of candidate featurei into twenty (20) different data partitions as specified by a second division number in the accessed set of division numbers. This clustered dataset for candidate featurei together with a label of measured values may be provided as a training dataset to train the ML model 230. From this ML model 230 trained with data of candidate featurei clustered into twenty(20) data partitions, the additive feature grid engine 110 may compute an RMS value to assess this trained ML model 230. In Figure 3, the additive feature grid engine 110 computes an RMS value of 0.00084 for this trained ML model 230. In a consistent manner, the additive feature grid engine 110 scan and compute RMS values for feature candidatei for each of the remaining division numbers in the accessed set: 23, 26, 29, 35, 38, 41 , 49, 120, 180, 200, 230, 260, 300, 350, 400, 500, 600, 700, 800, and 900. As such, the additive feature grid engine 110 may scan candidate featurei for each of the division numbers to determine RMS values (or any other evaluation metric) for the scans.

[0046] In a similar manner, in this first dimension iteration, the additive feature grid engine 110 may scan candidate feature2 for each of the division numbers, scan candidate features for each of the division numbers, and so for through candidate featuren. Various example scans are shown in Figure 3 for the first dimension iteration, including a scan for candidate featurei for a division number of 10 (with an RMS value of 0.00085), a scan for candidate featurei for a division number of 20 (with an RMS value of 0.00084), a scan for candidate feature2 for a division number of 10 (with an RMS value of 0.00083), a scan for candidate feature2 for a division number of 20 (with an RMS value of 0.00083), a scan for candidate featurenfor a division number of 10 (with an RMS value of 0.00074), and a scan for candidate featurenfor a division number of 20 (with an RMS value of 0.00073). It may be understood that for a given dimension iteration, the number of scans (and thus the number of computed evaluation metrics) may be equal to the number of considered candidate features multiplied by the number of division numbers in the set of division numbers. In the example of Figure 3 with “n” number of candidate features 310 and twenty-two different division numbers, the additive feature grid engine 110 may compute n*22 evaluation metrics for the dimension iteration, e.g., n*22 RMS values.

[0047] Upon scanning each of the candidate features 310 for each of the division numbers, the additive feature grid engine 110 may select one of the candidate features for the dimension iteration. The evaluation criterion by which the additive feature grid engine 110 may be based on the evaluation metric computed for each scan. As the goal of the additive grid-based feature selection process may be to select an optimal or effective feature set for training the ML model 230, the evaluation criterion applied by the additive feature grid engine 110 may select the best performing, mostimportant, most critical, or most effective candidate feature for training the ML model 230 for the dimension iteration, as quantified through the evaluation metric. For RMSbased evaluation metrics, the evaluation criterion may specify the selection of the candidate feature 310 for which the minimum or lowest RMS value was computed for the scans of the dimension iteration. In the example of Figure 3, the additive feature grid engine 110 may determine a minimum RMS value amongst the n*22 computed RMS values for the dimension iteration, and select a given candidate feature that achieved the minimum RMS value through its ML training. As a result of the first dimension iteration performed for the additive grid-based feature selection process, the additive feature grid engine 110 may determine a first selected candidate feature 320. As an illustrative example in Figure 3, the additive feature grid engine 110 may determine that candidate feature2 of the candidate features 310 had a minimum RMS value amongst the n*22 computed RMS values for the scans performed in the first dimension iteration. Accordingly, the additive feature grid engine 110 may determine candidate feature2 as the first selected candidate feature 320.

[0048] In Figure 3, the additive feature grid engine 110 may set the first selected candidate feature 320 as a first dimension of an additive feature grid 330 for the input dataset 210. The first dimension of the additive feature grid 330 is shown as dimensionF2 in Figure 3 to denote that candidate feature2 of the candidate features 310 was determined as the first selected candidate feature 320. In setting a dimension of the additive feature grid 330, the additive feature grid engine 110 may specify a division number for the grid dimension. In some implementations, the division number specified for an added dimension of the additive feature grid 330 may be a predetermined or fixed value, e.g., division number = 10 in the example dimensionF2 shown in Figure 3. The additive feature grid engine 110 may set the division number of any feature added as a dimension to the additive feature grid as the same predetermined number (e.g., division number = 40 for each added dimension). Setting a standard or prefixed division number for each added dimension may provide a consistent partitioning scheme for the additive feature grid 330 for future dimension iterations, as discussed herein.

[0049] Note that the division number specified for a given feature added as feature grid dimensions may be different from a division number that satisfied the evaluation criterion for selection of the given feature during a given dimension iteration. Toexplain through the illustrative example of Figure 3, the additive feature grid engine 110 may determine candidate feature2 as the first selected candidate feature 320 for a computed minimum RMS value of 0.00069 for training the ML model 230. This minimum RMS value in the first dimension iteration may have been achieved for the ML model training with a division number of 230 for value range2 of candidate feature2. In setting the first dimension (dimensionF2) of the additive feature grid 330, the additive feature grid engine 110 may specify a prefixed division number of 10, not the division number of 230 for which the minimum RMS value of the dimension iteration was achieved by candidate feature2. In other implementations, the additive feature grid engine 110 may set the division number of an added dimension as the specific division number used for the scan that satisfied the evaluation metric and resulted in selection of a given candidate feature for the dimension iteration (e.g., division number = 230 for the example of Figure 3). In such implementations, the additive feature grid engine 110 may flexibly specify partitioning parameters for the additive feature grid 330 that achieved optimal evaluation metric performance in a given dimension iteration, such as minimum RMS or any other ML assessment mechanism supported by the additive feature grid engine 110.

[0050] In any of the ways described herein, the additive feature grid engine 110 may perform a first dimension iteration and determine a first selected candidate feature 320 for a feature grid 330. The additive feature grid engine 110 may perform additional dimension iterations of an additive grid-based feature selection process to set additional dimensions of the additive feature grid 330. In doing so, the additive feature grid engine 110 may utilize the additive feature grid 330 to set partitioning parameters for training datasets to train the ML model 230. In subsequent dimension iterations, the additive feature grid engine 110 may scan remaining candidate features for each division number by superimposing the clustering of each candidate feature for each division number onto the additive feature grid 330, as described herein. Example aspects of subsequent dimension iterations are discussed next, with reference to Figure 4.

[0051] Figure 4 shows an example determination of a second selected feature candidate for an additive grid-based feature selection process according to the present disclosure. The example of Figure 4 is described in a context of the additive feature grid engine 110 performing an additive grid-based feature selection process for theinput dataset 210 to train the ML model 230 as described in Figure 2 and further in the context after determination of first selected feature candidate 320 and setting a first dimension of an additive feature grid 330 as described in Figure 3. In Figure 4, the additive feature grid engine 110 may determine a second selected feature candidate and set a second dimension of the additive feature grid 330. To do so, the additive feature grid engine 110 may perform a second dimension iteration in the additive gridbased feature selection process.

[0052] The second dimension iteration of Figure 4 may be performed for the remaining candidate features 410 of the additive grid-based feature selection process. In a given dimension iteration of the additive grid-based feature selection process, a number of the set of candidate features 310 determined for an input dataset 210 may have been selected for inclusion as dimensions in the additive feature grid 330. The remaining candidate features 410 may refer to any of the candidate features 310 determined for the input dataset 210 that have not been selected in a previous dimension iteration. Thus, for the example dimension iteration shown in Figure 4, the remaining candidate features 410 may include each of the candidate features 310 determined for the input dataset 210 except for candidate feature2 (as candidate feature2 was determined as the first selected candidate feature 320 in a previous dimension iteration). In Figure 4, the additive feature grid engine 110 performs a dimension iteration that includes scanning each of the remaining candidate features 410 for each of the division numbers. Continuing the illustrative example presented herein, the division numbers accessed by the additive feature grid engine 110 may comprise the number set of [10, 20, 23, 26, 29, 35, 38, 41 , 49, 120, 180, 200, 230, 260, 300, 350, 400, 500, 600, 700, 800, 900],

[0053] Scanning of a remaining candidate feature 410 for a given division number may be understood as considering or evaluating a candidate dimension of the additive feature grid 330. After performing of previous dimension iterations, the additive feature grid 330 may have one or more dimensions, and scanning of a remaining candidate feature 410 for a given division number may be performed by superimposing a candidate dimension specified by a given remaining candidate feature for a given division number onto the additive feature grid 330. Explained in a different way, the additive feature grid 330 for a given dimension iteration may specify data elements and clustering parameters that are a fixed part of training data used to train the MLmodel 230. The given dimension iteration may consider and evaluate additional data features and clustering options (as candidate dimension) to include in the training data via scanning of the remaining candidate features 410 for each of the division numbers.

[0054] Examples of superimposing candidate dimensions on the additive feature grid 330 are shown in Figure 4. In the specific example of Figure 4, the remaining candidate features 410 may include “n-1” number of candidate features, as this may be a second dimension iteration performed for the input dataset 210 with candidate feature2 previously specified as a first dimension of the additive feature grid 330. As the additive feature grid engine 110 may scan each of the remaining candidate features 410 for each of the division numbers in this second dimension iteration, it may be understood that the additive feature grid engine 110 may perform (n-1 )*22 number of scans. Each of the (n-1 )*22 scans may evaluate a different candidate dimension for the additive feature grid 330.

[0055] Examples of candidate dimension considerations are provided through the illustrated example of Figure 4. For candidate featurei of the candidate features 310, the additive feature grid engine 110 may partition a value range of candidate featurei into ten (10) different data partition ranges as specified by a first division number of ten (10) in the accessed set of division numbers and combine this partitioned range of values of candidate featurei with a partitioned range of values for candidate feature2 as specified by dimensionF2 of the additive feature grid 330. Together, this combined partitioning scheme may be used to generate training data for this particular scan. The candidate dimension for this scan may be represented by candidate featurei with a division number of 10, though such clustering parameters may also include any clustering parameters specified by the additive feature grid 330 (in its current state of the given dimension iteration). As the additive feature grid 330 in this second dimension iteration includes a single dimension (dimensionF2), superimposing a candidate dimension for each scan may involve constructing a 2-dimension partitioning space by which to cluster relevant data of the input dataset 210. Thus, for each scan of a second dimension iteration, the additive feature grid engine 110 may generate 2-dimensional training data for the ML model 230 with data partitions partitioned based on each candidate dimension superimposed (e.g., added) to the additive feature grid 330 (in this example, with a single dimensionF2 with a value range2 of candidate feature2 partitioned into a ten (10) data partitions). The additive featuregrid engine 110 may add a label of measured values to the 2-dimensional training data to train the ML model 230.

[0056] In the example of Figure 4, the additive feature grid engine 110 may partition the input dataset 210 via dimensionF2 of the additive feature grid 330 combined with the value rangei partitioned into 10 data partitions and add a label of measured values to the data partitions generated through such a partitioning. In this specific example scan, one hundred (100) data partitions may be generated as the F2 dimension of the additive feature grid 330 includes 10 partitions and candidate featurei includes 10 partitions as specified by the division number. Then, the additive feature grid engine 110 may provide these labeled data partitions as a training dataset to train the ML model 230. From this ML model 230 trained with data of candidate featurei and candidate feature2 (from the additive feature grid 330) partitioned into one hundred (100) data partitions, the additive feature grid engine 110 may compute an RMS value to assess this trained ML model 230. In Figure 3, the additive feature grid engine 110 computes an RMS value of 0.00077 for this trained ML model 230.

[0057] As a next scanning example shown in Figure 4, the additive feature grid engine 110 may partition a value range of candidate featurei into twenty (20) different data partitions as specified by a second division number in the accessed set of division numbers and superimpose this candidate dimension onto the additive feature grid 330. In this specific example scan, two hundred (200) data partitions may be generated as the F2 dimension includes 10 partitions as specified in the additive feature grid 330 and candidate featurei includes 20 partitions as specified by the division number of this scan. The additive feature grid engine 110 may cluster the input dataset 210 with such clustering parameters, and the clustered dataset for candidate featurei and candidate feature2 together with a label of measured values may be provided as a training dataset to train the ML model 230. From this ML model 230 trained with data of candidate featurei and candidate feature2 clustered into two hundred (200) data partitions, the additive feature grid engine 110 may compute an RMS value (e.g., via the validation dataset) to assess this trained ML model 230. In Figure 4, the additive feature grid engine 110 computes an RMS value of 0.00076 for this trained ML model 230. In a consistent manner, the additive feature grid engine 110 scan and compute RMS values for candidate dimensions of feature candidatei for each of the remaining division numbers in the accessed set: 23, 26, 29, 35, 38, 41 , 49, 120, 180, 200, 230,260, 300, 350, 400, 500, 600, 700, 800, and 900. As such, the additive feature grid engine 110 may scan candidate featurei for each of the division numbers in this second dimension iteration and determine RMS values for the scans.

[0058] In a similar manner, in this second dimension iteration, the additive feature grid engine 110 may scan candidate features for each of the division numbers as separate candidate dimensions to add to the additive feature grid 330, scan candidate feature4 for each of the division numbers as separate candidate dimensions for the additive feature grid 330, and so for through candidate featuren. Note that candidate feature2 is not scanned in the second dimension iteration. This may be case since candidate feature2 is not part of the remaining feature candidates 410. Various example scans are shown in Figure 4 for the first dimension iteration, including a scan of a candidate dimension for candidate featurei for a division number of 10 (with an RMS value of 0.00077), a scan of a candidate dimension for candidate featurei for a division number of 20 (with an RMS value of 0.00076), a scan of a candidate dimension for candidate features for a division number of 10 (with an RMS value of 0.00045), and a scan for candidate features for a division number of 20 (with an RMS value of 0.00044). For this second dimension iteration, the number of scans (and thus the number of computed evaluation metrics) may be equal to the number of remaining candidate features 410 multiplied by the number of division numbers in the set of division numbers. In the example of Figure 4 with “n-1” number of remaining candidate features 410 and twenty-two different division numbers, the additive feature grid engine 110 may compute (n-1 )*22 evaluation metrics for the dimension iteration, e.g., (n-1 )*22 RMS values.

[0059] Upon scanning each of the remaining candidate features 410 for each of the division numbers, the additive feature grid engine 110 may select one of the remaining candidate features for this second dimension iteration. In the example of Figure 4, the additive feature grid engine 110 may determine a minimum RMS value amongst the (n-1 )*22 computed RMS values for the second dimension iteration, and select the remaining candidate feature that achieved the minimum RMS value through its ML training. As a result of the second dimension iteration performed for the additive gridbased feature selection process, the additive feature grid engine 110 may determine a second selected candidate feature 420. As an illustrative example in Figure 4, the additive feature grid engine 110 may determine that candidate feature? of theremaining candidate features 410 had a minimum RMS value amongst the (n-1 )*22 computed RMS values for the scans performed in the second dimension iteration. Accordingly, the additive feature grid engine 110 may determine candidate feature? as the second selected candidate feature 420.

[0060] In Figure 4, the additive feature grid engine 110 may set the second selected candidate feature 420 as a second dimension of the additive feature grid 330 for the input dataset 210. The second dimension of the additive feature grid 330 is shown as dimensionF? in Figure 4 to denote that candidate feature? was determined as the second selected candidate feature 420. In the example of Figure 4, the division number specified for the added dimension of the additive feature grid 330 is a predetermined or fixed value, e.g., division number = 10 in the example dimensionF? shown in Figure 4. Additional or alternative division number specifying techniques may be applied for added dimensions to the additive feature grid 330 as discussed herein. Thus, after performing a second dimension iteration for the additive grid-based feature selection process, the additive feature grid 330 may include two dimensions (e.g., dimensionF2 and dimensionF? shown in the additive feature grid 330 of Figure 4).

[0061] As described herein, the additive feature grid engine 110 may perform a second dimension iteration and determine a second selected candidate feature 420 for an additive feature grid 330. After or to conclude the second dimension iteration, the additive feature grid engine 110 may set a second dimension of the additive feature grid 330 to include the second selected candidate feature 420, shown as dimensionF? in Figure 4. The third dimension iteration of the additive grid-based feature selection process may use this 2-dimensional additive feature grid 330 produced by this second dimension iteration from which to consider candidate dimensions to further superimpose. Thus, for an nthdimension iteration performed in the additive grid-based feature selection process, the additive feature grid engine 110 may add an nthdimension to the additive feature grid 330. For the next dimension iteration (e.g., (n+1 )thdimension iteration), the additive feature grid engine 110 may scan remaining candidate features and superimpose each candidate dimension as a (n+1 )thdimension for the n-dimensional additive feature grid 330 produced from the nthdimension iteration. As such, the additive feature grid 330 may specify fixed or determined clustering parameters for a training dataset for the ML model 230, and each givendimension iteration may consider (e.g., assess) candidate dimensions for the remaining candidate features.

[0062] The additive grid feature selection engine 110 may use any suitable ending criterion to cease performance of dimension iterations in an additive grid-based feature selection process. As an example ending criterion, the additive grid feature selection engine 110 may determine to cease dimension iterations responsive to a determination that none of the scanned candidate features improve the minimum RMS (or any other evaluation metric applied by the additive feature grid engine 110). Such a scenario may occur when none of the computed RMS values for a given dimension iteration improve (e.g., are lower than) the minimum RMS value used to select a candidate feature from the prior dimension iteration. Thus, the additive feature grid engine 110 may continue to set additional dimensions of the additive feature grid 330 until the evaluation metric does not improve for training the ML model 230 with the input dataset 240 partitioned according to the additive feature grid 330 and any of the remaining candidate features as an additional dimension. As another example ending criterion, the additive feature grid engine 110 may stop after a threshold number of dimension iterations have been performed (e.g., a configurable max iteration number), after a threshold number of dimensions have been added to the additive feature grid 330, or when any other suitable or configurable stopping condition or combination of conditions are satisfied.

[0063] Thus, the additive feature grid engine 110 may perform dimension iterations in an additive grid-based feature selection process. Various technical adaptations by the additive feature grid engine 110 are possible. As an example aspect, the additive feature grid engine 110 may support the determination and consideration of composite features. As used herein, a composite feature may refer to a feature that is a combination of multiple other features, e.g., multiple individual features in an input dataset. The additive feature grid engine 110 may consider a composite feature as a separate or distinct candidate feature in the additive grid-based feature selection process.

[0064] To provide an illustrative example, the input dataset 210 of Figure 2 may include multiple individual features which can be referred to as featureA, features, featurec, and featureo. The featuresA-D may represent a measurable property (e.g., layout density or another measurable characteristic) of four quadrants that surround apoint-of-interest in a circuit design. Thus, the combination of the featuresA-D may be represented as a combination (e.g., sum) of the candidate featuresA-D, which may represent the measurable property (e.g., density) of an entire region comprised of the four quadrants that surround a point-of-interest or other circuit location. Even though the input dataset 210 may not include an individual feature that measures a property value for the entire region, the additive grid feature engine 110 may generate a composite feature that combines featuresA-D, which the additive feature grid engine 110 may treat as a separate candidate feature in the additive grid-based feature selection process. Note that each featureA, features, featurec, and featureo may be identified as candidate features from the input dataset, and thus evaluated separately from the composite feature formed though combination of the individual features. Composite features may improve the efficiency and effectiveness of the additive gridbased feature selection process. Improved RMS values can be achieved for composite features, especially when the underlying individual features of the compositive feature are of high criticality. Instead of having to consider the individual features independently, composite features may allow for collective consideration of multiple features, which can together provide efficient ML training and improved prediction capabilities.

[0065] As another example aspect, the additive feature grid engine 110 may support the adjustable grid dimensions and data partition ranges. In the examples presented above, the additive feature grid engine 110 may partition a value range of candidate features based on division number into equal-sized data partition ranges (e.g., 10 equally partitioned data ranges for value rangei of candidate featurei for division number of 10). However, the additive feature grid engine 110 may support partitioning of a value range of a candidate feature into any number of non-uniform cluster value ranges, e.g., clusters of differing range sizes. To do so, the additive feature grid engine 110 may start with even or uniformly partitioned cluster value ranges, and adjust one or more of the cluster boundaries and evaluate whether doing so would improve the evaluation metric. Thus, for a scan of candidate featurei for a division number of 10, the additive feature grid engine 110 may adapt or move any number or cluster boundaries, train the ML model 230 accordingly, and determine whether such adjustments improve the RMS (or any other evaluation metric) for the particular scan.

[0066] Such adjustments to grid boundaries may be performed for dimensions of the additive feature grid 330. For example, upon determining the first selected feature candidate 330 in Figure 3, the additive feature grid engine 110 may set the selected feature candidate as a first dimension of the additive feature grid 330. For the division number specified for this first dimension (e.g., division number = 40), the additive feature grid engine 110 may perform boundary adjustments to any of the 40 data partitions, and determining whether doing so would improve RMS. Any suitable boundary adjustment techniques are contemplated, which may result in non-uniform data partition boundaries and thus differing range sizes among the partition parameters specified for the additive feature grid 330. Such non-uniform partition boundaries may be particularly useful to capture clustering behavior of datasets in which large portions of a value range for a given feature behave similarly (e.g., identically).

[0067] The additive feature grid engine 110 may implement any of the technical capabilities described herein in support of additive grid-based feature selections for training of ML models for EDA design flows.

[0068] Figure 5 shows an example of logic 500 that a system may implement to support additive grid-based feature selections for training of ML models for EDA design flows. For example, the computing system 100 may implement the logic 500 as hardware, executable instructions stored on a machine-readable medium, or as a combination of both. The computing system 100 may implement the logic 500 via the additive feature grid engine 110, through which the computing system 100 may perform or execute the logic 500 as a method to support additive grid-based feature selections according to the present disclosure. The following description of the logic 500 is provided using the additive feature grid engine 110 as an example. However, other implementation options by computing systems are possible.

[0069] In implementing the logic 500, the additive feature grid engine 110 may determine candidate features from an input dataset (502). The additive feature grid engine 110 may do so by extracting or identifying individual features from the input dataset. Additionally or alternatively, the additive feature grid engine 110 construct or determine composite features for the input dataset, which may be user-specified or extracted by the additive feature grid engine 110 itself from the input dataset. The candidate features determined by the additive feature grid engine 110 may for a set ofpotential features by which the additive feature grid engine 110 may train an ML model for an EDA design flow. As the candidate features may include compositive features formed from multiple other features, the number of candidate features determined by the additive feature grid engine 110 may be greater than the number of individual features included in the input dataset. The additive feature grid engine 110 may also access a set of division numbers, and each division number may specify a number of data partitions by which to partition value ranges of the candidate features determined for the input dataset.

[0070] The additive feature grid engine 110 may perform an additive grid-based feature selection process to determine a selected feature set from the candidate features. In doing so, the additive feature grid engine 110 may perform dimension iterations. For example, in a first dimension iteration, the additive feature grid engine 110 may scan each of the candidate features for each of the division numbers to determine a minimum RMS for a trained ML model (504), e.g., in any consistent manner as described herein. The candidate feature from which the minimum RMS was determined may be a first selected candidate feature determined by the additive feature grid engine 1 10. As such, the additive feature grid engine 110 may set a first dimension of an additive feature grid as the candidate feature with the minimum RMS (506). Setting of the first dimension may include specifying a division number parameter for the first dimension, which may be pre-fixed value such as division number = 40. In some implementations, the additive feature grid engine 110 may perform a grid adjustment for the first dimension of the additive feature grid. Doing so may include adjusting a data partition boundary for any of the 40 data partitions specified in the first dimension, and performing the adjustments into a non-uniform grid boundaries if doing so would improve RMS determined for the first selected candidate feature, e.g., as compared to a uniform grid boundaries and range sizes for the prefixed division number of 40.

[0071] After performing a first dimension iteration, the additive feature grid engine 110 may continue to set additional dimensions of the additive feature grid until an ending criterion is satisfied. Each scan in subsequent dimension iterations may assess whether adding a candidate dimension to the additive feature grid would improve accuracy of the trained ML model (e.g., via a reduced RMS). Thus, in a given dimension iteration, the additive feature grid engine 110 may scan each of theremaining candidate features for each of the division numbers by superimposing each candidate dimension on the additive feature grid to determine a minimum RMS for the trained ML model. From the scans, the additive feature grid engine 110 may determine a minimum RMS computed for the scans in the given dimension iteration. Then, the additive feature grid engine 110 may determine whether the computed minimum RMS in this given dimension iteration is reduced from the minimum RMS computed for the previous dimension iteration (510).

[0072] In doing so, the additive feature grid engine 110 may evaluate whether an evaluation metric has improved through the scans and candidate dimension considerations performed in this given dimension iteration. If so, the additive feature grid engine 110 may set an additional dimension to the additive feature grid as the candidate feature with the minimum RMS (512). Then, the additive feature grid engine 110 may perform another dimension iteration to consider remaining feature candidates with the updated additive feature grid. If the RMS of the current dimension iteration is not improved over the RMS of the previous dimension iteration, the additive feature grid engine 110 may determine that ending criterion is satisfied. Responsive to such a determination, the additive feature grid engine 110 may cease performing dimension iterations and instead determine a selected feature set for training the ML model as the feature dimensions of the additive feature grid (514). Then, the additive feature grid engine 110 may train the ML model with the selected feature set (516).

[0073] In training the ML model, the additive feature grid engine 110 may prepare training data that comprises data specific to the selected feature set determined through the additive grid-based feature selection process. The additive feature grid engine 110 provide such training data to train the ML model, including via any suitable data clustering or partitioning of the training data. The additive grid-based feature selection technology described herein may support the use, training, and validation for machine learning technologies of any type or implementation. In some implementations, the additive feature grid engine 110 may itself implement or apply any suitable machine learning capability, algorithm, or technique to train or construct an ML model. In that regard, the additive feature grid engine 110 may train ML models via any type of unsupervised, supervised, or semi-supervised machine learning techniques. Neural networks, monotonic machine learning models, cluster-based ML technologies, matrix models, reinforced learning models, or any other suitablemachine learning implementations are contemplated herein, and the additive feature grid engine 110 may construct or train any type of ML model accordingly and in support of any aspect of EDA design flows.

[0074] The logic 500 shown in Figure 5 provides an illustrative example by which a computing system 100 may support additive grid-based feature selections for training of ML models for EDA design flows according to the present disclosure. Additional or alternative steps in the logic 500 are contemplated herein, including according to any of the various descriptions herein for the additive feature grid engine 110.

[0075] Through any of the various aspects described herein, the additive feature grid technology of the present disclosure may improve feature selections for the training of ML models for EDA design flows. ML models for EDA design flows trained with the feature sets determined through the additive feature grid technology described herein may provide increased accuracy or efficiency, and the training run-time for such feature selections may be improved as compared to conventional multi-feature selection techniques. The trained ML models for EDA design flows may be used for any suitable manner or application. Trained ML models with feature sets determined through the additive feature grid technology described herein may be used to support any suitable EDA process or EDA design flow. Any suitable application of the ML models trained accordingly is contemplated herein, as is the physical manufacture of circuits with circuit designs produced through EDA design flows that utilize any of the ML models described herein and trained with determined feature sets.

[0076] Figure 6 shows an example of a computing system 600 that supports additive grid-based feature selections for training of ML models for EDA design flows. The computing system 600 may include a processor 610, which may take the form of a single or multiple processors. The processor(s) 610 may include a central processing unit (CPU), microprocessor, or any hardware device suitable for executing instructions stored on a machine-readable medium. The computing system 600 may include a machine-readable medium 620. The machine-readable medium 620 may take the form of any non-transitory electronic, magnetic, optical, or other physical storage device that stores executable instructions, such as the additive feature grid instructions 622 shown in Figure 6. As such, the machine-readable medium 620 may be, for example, Random Access Memory (RAM) such as a dynamic RAM (DRAM), flashmemory, spin-transfer torque memory, an Electrically-Erasable Programmable Read- Only Memory (EEPROM), a storage drive, an optical disk, and the like.

[0077] The computing system 600 may execute instructions stored on the machine- readable medium 620 through the processor 610. Executing the instructions (e.g., the additive feature grid instructions 622) may cause the computing system 600 to perform or implement any of the additive feature grid technology described herein, including according to any aspect of the additive feature grid engine 110.

[0078] For example, execution of the additive feature grid instructions 622 by the processor 610 may cause the computing system 600 to access an input dataset for an EDA design flow and determine a feature set to train an ML model for the EDA design flow. The additive feature grid instructions 622 may cause the computing system 600 to do so by determining a set of candidate features for the ML model from the input dataset and accessing a set of division numbers, wherein each division number may specify a number of data partitions by which to partition value ranges of the candidate features from the input dataset. Execution of the additive feature grid instructions 622 may further cause the computing system 600 to, for each given candidate feature in the set of candidate features and for each given division number in the set of division numbers, determine an evaluation metric for training the ML model with training data comprised of data of the given candidate feature in the input dataset, with a value range of the given candidate feature in the training data partitioned into a number of data partitions based on the given division number, identify a first selected candidate feature with a determined evaluation metric that satisfies an evaluation criterion and set the first selected candidate feature as a first dimension of an additive feature grid for the input dataset.

[0079] Execution of the additive feature grid instructions 622 by the processor 610 may also cause the computing system 600 to determine additional dimensions of the additive feature grid, in addition to the first selected candidate feature, from remaining candidate features of the set of candidate features and determine the feature set based on dimensions of the additive feature grid determined for the input dataset. As yet another example, execution of the additive feature grid instructions 622 by the processor 610 may cause the computing system 600 to train the ML model for the EDA design flow through the determined feature set.

[0080] Any additional or alternative aspects of the additive feature grid technology as described herein may be implemented via the additive feature grid instructions 622.

[0081] The systems, methods, devices, and logic described above, including the additive feature grid engine 110, may be implemented in many different ways in many different combinations of hardware, logic, circuitry, and executable instructions stored on a machine-readable medium. For example, the additive feature grid engine 110 may include circuitry in a controller, a microprocessor, or an application specific integrated circuit (ASIC), or may be implemented with discrete logic or components, or a combination of other types of analog or digital circuitry, combined on a single integrated circuit or distributed among multiple integrated circuits. A product, such as a computer program product, may include a storage medium and machine-readable instructions stored on the medium, which when executed in an endpoint, computer system, or other device, cause the device to perform operations according to any of the description above, including according to any features of the additive feature grid engine 110.

[0082] The processing capability of the systems, devices, and engines described herein, including the additive feature grid engine 110, may be distributed among multiple system components, such as among multiple processors and memories, optionally including multiple distributed processing systems or cloud / network elements. Parameters, databases, and other data structures may be separately stored and managed, may be incorporated into a single memory or database, may be logically and physically organized in many different ways, and may be implemented in many ways, including data structures such as linked lists, hash tables, or implicit storage mechanisms. Programs may be parts (e.g., subroutines) of a single program, separate programs, distributed across several memories and processors, or implemented in many different ways, such as in a library (e.g., a shared library).

[0083] While various examples have been described above, many more implementations are possible.

Claims

CLAIMS1 . A method comprising: by a computing system: accessing an input dataset for an electronic design automation (EDA) design flow; determining a feature set to train a machine learning (ML) model for the EDA design flow, including by: determining a set of candidate features for the ML model from the input dataset; accessing a set of division numbers, wherein each division number specifies a number of data partitions by which to partition value ranges of the candidate features from the input dataset; for each given candidate feature in the set of candidate features and for each given division number in the set of division numbers: determining an evaluation metric for training the ML model with training data comprised of data of the given candidate feature in the input dataset, with a value range of the given candidate feature in the training data partitioned into a number of data partitions based on the given division number; identifying a first selected candidate feature with a determined evaluation metric that satisfies an evaluation criterion; and setting the first selected candidate feature as a first dimension of an additive feature grid for the input dataset; determining additional dimensions of the additive feature grid, in addition to the first selected candidate feature, from remaining candidate features of the set of candidate features; and determining the feature set based on dimensions of the additive feature grid determined for the input dataset; and training the ML model for the EDA design flow through the determined feature set.

2. The method of claim of 1 , wherein determining the additional dimensions of the additive feature grid comprises determining a second dimension of the additive feature grid, including by, for each given candidate feature in the remaining candidate features in the set of candidate features and for each given division number in the set of division numbers: determining an evaluation metric for training the ML model with training data comprised of a first data dimension with data of the first selected candidate feature input dataset and a second data dimension with data of the given candidate feature in the input dataset, with a value range of the given candidate feature in the input dataset partitioned into a number of data partitions based on the given division number; identifying a second selected candidate feature with a determined evaluation metric that satisfies the evaluation criterion; and setting the second selected candidate feature as the second dimension of the additive feature grid by which to partition the input dataset.

3. The method of claim 2, comprising determining the evaluation metric for training the ML model with the training data comprised of the first data dimension with the first selected candidate feature partitioned into a preconfigured number of data partitions.

4. The method of any of claims 1-3, comprising continuing to set additional dimensions of the additive feature grid until the evaluation metric does not improve for training the ML model with the input dataset partitioned according to the additive feature grid and any of the remaining candidate features as an additional dimension.

5. The method of any of claims 1-4, comprising determining the set of candidate features for the ML model from the input dataset to include a composite feature, wherein the composite feature represents a combination of multiple individual features of the input dataset.

6. The method of any of claims 1-5, further comprising adjusting a data partition boundary of the additive feature grid responsive to a determination that doing so would improve the evaluation metric.

7. The method of any of claims 1-6, wherein the evaluation metric comprises a root mean square (RMS) value between predicted values by the ML model for the EDA design flow and measurement values for the EDA design flow.

8. A system comprising: a processor; and a non-transitory machine-readable medium comprising instructions that, when executed by a processor, cause a computing system to perform a method according to any of claims 1-7.

9. A non-transitory machine-readable medium comprising instructions that, when executed by a processor, cause a computing system to perform a method according to any of claims 1-7.

Citation Information

Patent Citations

  • Synthesis placement bounds based on physical timing analysis

    US20220058328A1

  • Methods for generating characteristic pattern and training machine learning model

    US20220335333A1

  • Machine learning-based integrated circuit test case selection for timing analysis

    US20230102185A1