A string processing system for integrated circuit design
By using a string processing system for integrated circuit design, the problems of inaccurate signal name evaluation and insufficient compatibility in existing technologies are solved. The system enables automated evaluation of the standardization, compatibility, and adaptability of signal names, thereby improving the efficiency of the design process and the accuracy of decision-making.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- XUZHOU KISEN INTELLIGENT TECHNOLOGY CO LTD
- Filing Date
- 2026-03-05
- Publication Date
- 2026-06-12
AI Technical Summary
In existing integrated circuit designs, string processing methods lack keyword differentiation weighting mechanisms, leading to an underestimation of the contribution of key signals and neglect of voltage domain matching in compatibility assessments, which affects the smoothness of the design process and decision-making efficiency.
A string processing system for integrated circuit design is provided, including a string processing calculation module and an application module. Through a specification compliance unit, a compatibility evaluation unit, and a comprehensive suitability unit, the system evaluates the specification compliance, compatibility potential, and comprehensive suitability of signal names, respectively, and outputs a score in the range of 0-1 to guide design decisions.
It enables accurate assessment of signal name specification compliance and dynamic assessment of compatibility potential, reducing design errors and modification costs, and improving the efficiency of the design process and the comprehensiveness of decision-making.
Smart Images

Figure CN122197809A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of integrated circuit design technology, specifically to a string processing system for integrated circuit design. Background Technology
[0002] Integrated circuit design is a complex process involving multiple stages and tools working together. Strings (such as signal names, module names, and port names) serve as the core identifiers of design elements, running through the entire process from requirements analysis, logic design, simulation verification, synthesis implementation, and layout. Their standardization directly affects the compatibility and parsing efficiency of design tools (such as synthesizers, simulators, and layout tools). Their compatibility determines the smoothness of cross-module and cross-team collaboration, while their synthesis adaptability relates to the cost of design iteration and the difficulty of later maintenance. Therefore, a string processing system for integrated circuit design is needed.
[0003] The existing string processing methods may lack a keyword differentiation weighting mechanism in the standard evaluation. All standard keywords may be treated with equal weight, without assigning differentiated weights based on the actual value of keywords in the design. This may lead to the underestimation of the compliance contribution of key signals and the overestimation of the contribution of ordinary signals. The evaluation results may deviate from the actual design requirements, which may easily lead to misjudgment or omission of key signals during subsequent tool analysis, affecting the smoothness of the design process.
[0004] In compatibility assessments, existing technologies may only focus on the matching degree of characters on the surface of strings. Signals that only match characters but have incompatible bit widths are misjudged as compatible, causing signal transmission errors between modules. However, voltage domain matching degree is ignored. Signals across voltage modules may cause logical conflicts due to attribute mismatch, thus resulting in poor practicality.
[0005] Furthermore, existing technologies may lack a comprehensive evaluation mechanism that considers multiple dimensions such as compliance with standards, compatibility potential, and modification costs. Designers may need to make their own judgments and weigh various factors, leading to inefficient decision-making and a tendency to be biased. Summary of the Invention
[0006] The purpose of this invention is to provide a string processing system for integrated circuit design, which solves the problems mentioned in the background art.
[0007] To achieve the above objectives, the present invention provides a string processing system for integrated circuit design, including a string processing calculation module and a string processing application module;
[0008] The string processing and calculation module is used to receive preprocessed specification compliance data, compatibility-related data, and adaptability-related data.
[0009] The string processing and calculation module includes:
[0010] The compliance unit outputs a compliance score based on the compliance data, including compliance keywords, non-compliant characters, maximum impact value, number of anti-interference design identifiers, number of fault tolerance mechanism identifiers, actual length of signal name, average length of recommended length, number of signal name levels, and number of recommended levels.
[0011] The compatibility assessment unit outputs a compatibility potential score based on the signal width matching degree, signal direction consistency, historical adaptation success rate, redundancy information compression rate, and number of voltage domain compatibility identifiers in the compatibility-related data, combined with the specification compliance score.
[0012] The overall adaptability unit outputs an overall adaptability score based on the number of testability identifiers, low power consumption identifier matching degree, and modification cost coefficient in the adaptability-related data, combined with the specification compliance score and compatibility potential score.
[0013] The string processing application module:
[0014] It is used to receive scores for compliance with specifications, compatibility potential, and overall adaptability, and to translate the scores into actual design and implementation actions.
[0015] Optionally, the specification compliance score output by the string processing calculation module is used to quantify the degree to which the signal name conforms to the design specifications;
[0016] The compatibility potential score output by the string processing calculation module is used to evaluate the compatibility and reuse potential between the signal and the target module.
[0017] The comprehensive fit score output by the string processing and calculation module is used as the basis for fit decision-making.
[0018] Optionally, the processing procedure for the specification compliance unit is as follows:
[0019] S1. Traverse the signal names processed by the data preprocessing module, match them with the standard keywords in the configuration file, and accumulate the weight of the matching items.
[0020] S2. Traverse the signal names processed by the data preprocessing module, match the illegal characters, and accumulate the weight of the illegal items;
[0021] S3. Calculate the number of anti-interference design identifiers by analyzing the number of matching anti-interference design identifiers in the signal name;
[0022] S4. Calculate the number of fault tolerance mechanism identifiers by analyzing the number of matching fault tolerance mechanism identifiers in the signal name;
[0023] S5. Combine the total weight of all standardized keywords, the total number of anti-interference identifiers, and the total number of fault-tolerant identifiers to calculate the maximum impact value, thereby normalizing and limiting the parameters in the above steps.
[0024] S6. By inputting the target signal name string, the total number of characters is calculated using the string length function to output the actual length of the signal name. The difference and absolute value of the actual length are then calculated between the actual length and the average length recommended by the standard to reflect the degree of deviation of the signal name length.
[0025] S7. Calculate the number of levels of the signal name by analyzing the number of levels divided by the delimiter, and then calculate the ratio of this number to the recommended number of levels in the specification and apply the constraint to finally output the specification compliance score.
[0026] Optionally, the processing procedure of the compatibility evaluation unit is as follows:
[0027] K1. Incorporate the specification compliance score into this compatibility assessment unit to reflect the degree to which naming follows the specification and reliability intent;
[0028] K2, by combining the current signal width and the target signal width for calculation, and combining with the constraint function, outputs the signal width matching degree;
[0029] K3. By analyzing the consistency between the signal direction and the target module, the consistency of the signal direction can be analyzed.
[0030] K4. By analyzing the historical adaptation record database, the number of successful attempts and the total number of attempts are counted, and then the historical adaptation success rate is calculated.
[0031] K5. By obtaining the full and abbreviation forms of the signal name, the redundancy information compression rate is calculated, and by analyzing the number of voltage domain identifiers matching in the signal name, the number of voltage domain compatibility identifiers is calculated, thus finally outputting the compatibility potential score.
[0032] Optionally, the processing procedure of the comprehensive adaptability unit is as follows:
[0033] D1. By incorporating compatibility potential score and specification compliance score into this comprehensive adaptability unit, the degree of compatibility and specification between the naming and the target module is reflected, so as to comprehensively analyze the comprehensive adaptability.
[0034] D2. Calculate the number of testability identifiers by analyzing the number of matching testability identifiers in the signal name;
[0035] D3. Calculate the low-power identifier matching degree by analyzing the number of low-power identifier matches in the signal name;
[0036] D4. By combining the number of modified characters, the number of hierarchical changes, and the number of attribute errors, a modification cost coefficient is calculated to reflect the modification cost of the target module for naming adaptation, and finally, a comprehensive adaptation score is output.
[0037] Optionally, the string processing system for integrated circuit design further includes a data preprocessing module;
[0038] The data preprocessing module is used to receive specification compliance data, compatibility-related data, and adaptability-related data, clean the input data, and input the processed data into the string processing and calculation module.
[0039] The cleaning process specifically includes:
[0040] Signal name string cleaning: Remove spaces from the signal name string and convert the string to lowercase, retaining valid characters;
[0041] Numerical data conversion: Converts bit width to numerical value;
[0042] Uniform direction format: The signal direction is mapped to a binary identifier, which facilitates consistency comparison.
[0043] Optionally, the conversion of the scoring results into actual design implementation actions in the string processing application module specifically includes naming standard rectification actions, adaptation and adjustment actions, and design decision actions.
[0044] Optionally, the design decision action specifically includes:
[0045] When the overall fit score is ≥0.8, the target signal name is directly adopted and written into the current project file of the design tool and synchronized to the design database;
[0046] When the overall fit score is less than 0.8, structured modification suggestions are generated and provided to the designer.
[0047] When the overall fit score is less than 0.6, the current signal name is rejected, a standard example is output, and the designer is prompted to rename it.
[0048] Compared with the prior art, the beneficial effects of the present invention are as follows:
[0049] I. This invention outputs a standard compliance score through a standard compliance unit. By differentially accumulating the weights of standard keywords, deducting the weights of non-compliant characters, and the positive contributions of anti-interference and fault-tolerance indicators, combined with the normalization of the maximum value of molecular theory, and the correction effects of the difference between actual and recommended lengths and the ratio of actual to recommended levels, it achieves a precise assessment of the standard compliance of signal names. This unit not only reflects the design value differences of different keywords, but also takes into account the rationality of character length and hierarchical structure, making the assessment results highly matched with actual design requirements and solving the deviation problem of homogeneous assessment.
[0050] Second, this invention outputs a compatibility potential score through a compatibility evaluation unit. The weight ratio of attributes such as bit width matching degree and direction consistency, historical adaptation success rate, redundancy compression rate, and voltage domain matching degree is dynamically adjusted through adjustable weight coefficients. The weights of other attributes are kept balanced by scaling ratios. At the same time, the range of adjustable weights is limited by a constraint function to achieve dynamic evaluation of compatibility potential. This unit can not only autonomously optimize the proportion of core attributes according to the design scenario, but also avoid weight imbalance, so that the evaluation results can adapt to the needs of diverse modules and solve the problem of insufficient flexibility of static evaluation.
[0051] Third, this invention outputs a comprehensive fit score through a comprehensive fit unit, integrating the specification compliance score and the compatibility potential score, and balancing their contributions through their respective weights. At the same time, it introduces a modification cost coefficient to consider the design cost of adjusting the signal name, and then uses upper and lower limits to ensure the rationality of the score, and finally outputs the comprehensive fit result. This unit takes into account both the requirements of specification and compatibility, and avoids the additional costs caused by over-optimization, providing comprehensive support for design decisions and solving the problems of the one-sidedness of single-dimensional evaluation and low decision-making efficiency. Attached Figure Description
[0052] Figure 1 This is a block diagram of the system modules of the present invention;
[0053] Figure 2 This is a system flowchart of the string processing calculation module and the string processing calculation module of the present invention;
[0054] Figure 3 This is a schematic diagram of the operation flow of the string processing and calculation module of the present invention. Detailed Implementation
[0055] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0056] Please see Figures 1 to 3 This embodiment provides a string processing system for integrated circuit design, including:
[0057] Data acquisition module: used to acquire specification compliance data, compatibility-related data, and adaptability-related data in integrated circuit design;
[0058] Data preprocessing module: Used to input the standard compliance data, compatibility correlation data and adaptability correlation data obtained by the data acquisition module. The data preprocessing module cleans the input data and inputs the processed data into the string processing and calculation module.
[0059] Furthermore, the data preprocessing module specifically includes:
[0060] Signal name string cleaning: Remove spaces from the signal name string and convert the string to lowercase, retaining valid characters;
[0061] Numerical data conversion: Converts bit width to numerical value;
[0062] Uniform direction format: The signal direction is mapped to a binary identifier to facilitate consistency comparison;
[0063] The string processing and calculation module includes a specification compliance unit, a compatibility evaluation unit, and a comprehensive adaptability unit.
[0064] Firstly, the compliance unit outputs a compliance score based on the compliance data, including compliance keywords, non-compliant characters, maximum impact value, number of anti-interference design identifiers, number of fault tolerance mechanism identifiers, actual length of signal name, average length of recommended length, number of signal name levels, and number of recommended levels. This compliance score quantifies the degree to which the signal name conforms to the design specifications.
[0065] Secondly, the compatibility evaluation unit outputs a compatibility potential score based on the signal width matching degree, signal direction consistency, historical adaptation success rate, redundancy information compression rate, and number of voltage domain compatibility identifiers in the compatibility-related data, combined with the specification compliance score. The compatibility potential score is used to evaluate the compatibility and reuse potential of the signal with the target module.
[0066] Thirdly, the comprehensive adaptability unit outputs a comprehensive adaptability score based on the number of testability identifiers, low power consumption identifier matching degree, and modification cost coefficient in the adaptability-related data, combined with the specification compliance score and compatibility potential score. The comprehensive adaptability score serves as the basis for the final adaptability decision.
[0067] String processing application module: This module takes as input the specification compliance score, compatibility potential score, and overall adaptability score output by the string processing calculation module. Based on the input score results, the string processing application module transforms the score results into actual design and implementation actions.
[0068] Furthermore, the string processing application module includes actions such as naming convention rectification, adaptation adjustment, and design decision-making.
[0069] The specific actions taken to rectify naming conventions include:
[0070] When the compliance score SC ≥ 0.9, the code passes the compliance check directly, is marked as a compliance signal name, and is synchronized to the compliance list in the design database.
[0071] When 0.7 ≤ standard compliance score SC < 0.9, standard optimization suggestions are generated (e.g., suggesting the addition of anti-interference marker diff, suggesting the replacement of the non-compliant character #, etc.), allowing designers to choose whether to apply them automatically;
[0072] When the compliance score (SC) is between 0.5 and 0.7, a mandatory rectification list will be generated, clearly pointing out the violations (such as containing two violation characters or missing key specification keywords), requiring the designer to make corrections and resubmit.
[0073] When the specification compliance score SC < 0.5, reject the current signal name, return to the specification example template, and force a renaming;
[0074] The adaptation and adjustment actions are as follows:
[0075] When the compatibility potential score SP≥0.8, it is marked as a high compatibility signal, and the target module is directly allowed to be connected and synchronized to the module adaptation list;
[0076] When 0.6 ≤ compatibility potential score SP < 0.8, a compatibility optimization scheme is generated, supporting automatic adjustment of signal attributes;
[0077] When 0.4 ≤ compatibility potential score SP < 0.6, an adaptation risk warning is output, indicating that manual evaluation of the compatibility conflict between the signal and the module is required, and historical adaptation failure cases are attached for reference.
[0078] When the compatibility potential score SP < 0.4, the target module is rejected. It is recommended to select a new adapter module or modify the core signal attributes (bit width or direction) and then evaluate again.
[0079] Specifically, the design decision-making process includes:
[0080] When the overall fit score SF≥0.8, the target signal name is directly adopted and written into the current project file of the design tool and synchronized to the design database;
[0081] When 0.6 ≤ Overall Fit Score (SF) < 0.8, structured modification suggestions are generated and provided to the designer;
[0082] When the overall fit score SF < 0.6, the current signal name is rejected, a rejection notice, a comprehensive problem list and a specification example are output, and the designer is prompted to rename it;
[0083] If the overall fit score (SF) differs significantly from the scores of the first two dimensions (e.g., the specification compliance score is 0.9 but the compatibility potential score is 0.3), an additional conflict analysis report will be generated to explain the reasons for the difference (e.g., the signal name is compliant but the bit width is completely mismatched with the target module).
[0084] Based on the above, this system accumulates differentiated weights for standardized keywords in signal names, accumulates harmful weights for non-compliant characters, combines the matching of anti-interference and fault-tolerance identifiers, and evaluates the rationality of naming length and hierarchical structure to output a score in the 0-1 range. This accurately measures the degree to which signal names comply with design specifications, while also taking into account the reliability design intent of the signals, ensuring that signal names meet the basic requirements of integrated circuit design at the syntactic and semantic levels.
[0085] It provides the system with basic compliance screening capabilities, transforming the naming convention check that originally relied on manual judgment into an automated and quantitative assessment, reducing subsequent design errors caused by non-standard naming, and improving the efficiency of the system's basic checks;
[0086] Based on the specification compliance score, combined with dimensions such as signal bit width matching degree, direction consistency, historical adaptation success rate, redundancy information compression rate, and voltage domain identifier matching, a score in the 0-1 range is output. This assesses the potential ability of the signal name to adapt to the target module, predicts the compatibility possibility of the signal name in cross-module integration in advance, and helps designers avoid adaptation risks.
[0087] The system's evaluation dimensions have been expanded from a single specification check to cross-module compatibility prediction, giving the system a forward-looking evaluation capability, reducing the modification cost during later module integration, and enhancing the system's auxiliary decision-making value.
[0088] By integrating specification compliance score and compatibility potential score, and adding dimensions such as testability identifier matching, low power consumption identifier matching, and modification cost coefficient, a score in the range of 0-1 is output. This comprehensively measures the overall adaptability value of the signal name, takes into account the entire design process requirements (testing, power consumption, modification cost, etc.), and provides the final decision basis.
[0089] The automated evaluation process of the three units replaces the manual multi-stage inspection and reduces the repetitive work of designers;
[0090] The output score in the 0-1 range makes the evaluation results clear and concise, allowing designers to make quick judgments without complex analysis;
[0091] The evaluation dimensions cover multiple stages of the design process, from initial naming to later integration, enabling the system to be directly applied to the actual design process and improving the system's usability.
[0092] The system has been upgraded from a string processing tool to an auxiliary design tool with multi-dimensional intelligent evaluation capabilities;
[0093] By introducing dimensions such as reliability, compatibility, testability, and low power consumption, the system's evaluation capabilities are closely integrated with the core requirements of integrated circuit design, increasing the system's functional depth and breadth.
[0094] The three units address basic compliance, cross-module adaptation, and comprehensive decision-making issues respectively, enabling the system to cover multiple aspects of the design process and become a key tool to assist in design decisions.
[0095] Please see Figure 1 , Figure 2 and Figure 3 The specific compliance units are:
[0096] S1. Traverse the signal names processed by the data preprocessing module, match them with the standard keywords in the configuration file, and accumulate the weight of the matching items.
[0097] S2. Traverse the signal names processed by the data preprocessing module, match the illegal characters, and accumulate the weight of the illegal items;
[0098] S3. Calculate the number of anti-interference design identifiers by analyzing the number of matching anti-interference design identifiers in the signal name;
[0099] S4. Calculate the number of fault tolerance mechanism identifiers by analyzing the number of matching fault tolerance mechanism identifiers in the signal name;
[0100] S5. Combine the total weight of all standardized keywords, the total number of anti-interference identifiers, and the total number of fault-tolerant identifiers to calculate the maximum impact value, thereby normalizing and limiting the parameters in the above steps.
[0101] S6. By inputting the target signal name string, the total number of characters is calculated using the string length function to output the actual length of the signal name. The difference and absolute value of the actual length are then calculated between the actual length and the average length recommended by the standard to reflect the degree of deviation of the signal name length.
[0102] S7. Calculate the number of signal name levels by analyzing the number of levels divided by the delimiter, and then calculate and restrict the ratio of this number to the recommended number of levels in the specification to finally output the specification compliance score.
[0103] The formula for calculating the specification compliance unit is as follows:
[0104] ;
[0105] in:
[0106] SC stands for compliance score.
[0107] ∑SCA refers to the cumulative weight of the matched canonical keywords;
[0108] If the preset keyword weights are clk=3, rst=2.5, data=2, and en=1.5, and the signal name matches clk and en, then ∑SCA=3+1.5=4.5;
[0109] ∑SCB refers to the cumulative weight of the violating characters;
[0110] If the preset weights for the violation characters are #=5, @=4, and $=3, then if the signal name contains # and $, then ∑SCB=5+3=8;
[0111] LKLA refers to the maximum influence value, i.e., the maximum theoretical value of the molecule, and is calculated using the following formula:
[0112] LKLA = (Total weight of all standard keywords) + (Total number of anti-interference identifiers × S3) + (Total number of fault tolerance identifiers × S4);
[0113] If the total weight of the standardized keywords = 3 + 2.5 + 2 + 1.5 = 9, the total number of anti-interference markers is 4 × S3 = 10, and the total number of fault tolerance markers is 4 × S4 = 8, then LKLA = 9 + 10 + 8 = 27;
[0114] ∑SCA and ∑SCB reflect the value difference between keywords and violating characters;
[0115] In addition to LKLA to prevent molecular overflow, the outer layer min(1, ...) and max(0, ...) ensure that the score is in the 0-1 range, which meets the reasonableness requirements of the evaluation results;
[0116] 1 ÷ (1 + length deviation) is the name for the penalty for deviating from the recommended length;
[0117] min(hierarchy ratio, 1.2) limits the impact of too many hierarchies, balancing modularity and simplicity;
[0118] SCC refers to the number of anti-interference design identifiers, that is, the number of anti-interference design identifiers matched in the signal name. Identifiers include _diff (differential) and _shield (shield), reflecting the physical layer reliability intent. The specific method for obtaining them is as follows:
[0119] First, prepare a list of anti-interference identifiers, then input the signal name, then check if the identifiers in the list exist, and then count the number of matches;
[0120] The introduction of the number of anti-interference design identifiers (SCC) fills the gap in naming conventions and physical layer reliability assessment, helps the system identify the signal anti-interference design intent, and prioritizes the recommendation of high-reliability naming schemes;
[0121] SCD refers to the number of fault tolerance mechanism identifiers, that is, the number of fault tolerance mechanism identifiers that match in the signal name. The identifiers include ECC (Error Correction) and Parity (Parity Check), etc., which reflect the fault tolerance design intent. The specific way to obtain it is to first prepare a list of fault tolerance identifiers, input the signal name, and then match and count them.
[0122] The introduction of the fault tolerance mechanism identifier number SCD fills the evaluation gap in naming conventions and fault tolerance design, helps the system identify signal fault tolerance requirements, and improves the naming adaptability of high reliability scenarios;
[0123] SCE refers to the actual length of the signal name, that is, the actual length of the signal name string (including letters, numbers, underscores, etc.). The specific method to obtain it is as follows:
[0124] First, input the target signal name string, then use the string length function to directly calculate the total number of characters;
[0125] The introduction of Signal Name Length (SCE) reflects the principle of naming conciseness, helps the system balance information integrity and readability, and avoids comprehension obstacles caused by overly long or short names.
[0126] SCF refers to the standard recommended average length, which is the industry-recommended average length of signal names (e.g., 12 characters), based on design best practices.
[0127] The introduction of the standard recommended average length (SCF) serves as a length reference benchmark, enabling the system to quickly determine whether the naming conforms to industry norms and improving the assessment of industry compliance.
[0128] SCG refers to the number of levels of the signal name, that is, the number of levels the signal name is divided into by a separator (such as .) (e.g., mod.sub.signal has 3 levels).
[0129] The introduction of Signal Name Level Number (SCG) reflects the modular naming hierarchy, which helps the system identify the module to which a signal belongs and reduces signal confusion between modules.
[0130] SCH refers to the recommended number of levels in the specification, that is, the number of signal name levels recommended by the industry (e.g., 3 levels), based on the best practice preset of modular design;
[0131] The introduction of the recommended hierarchy number SCH serves as a hierarchical reference benchmark, enabling the system to quickly determine whether the naming conforms to modular requirements and improve module integration efficiency.
[0132] When the actual level (number of signal name levels SCG) ≤ the recommended level (number of standard recommended levels SCH): SCH÷SCG≥1, min(SCH / SCG, 1.2) takes 1.2 (positive incentive, rewarding compliant naming of levels);
[0133] When the actual level (number of signal name levels SCG) > the recommended level (number of recommended levels SCH): SCH÷SCG<1, min(SCH / SCG, 1.2) takes the actual ratio value (penalizes naming of excessive levels and reduces the score);
[0134] S1 refers to the keyword matching weight influence factor, which is preset to 2.5 in this embodiment;
[0135] S2 refers to the weighting factor of the violation character, which is preset to 2 in this embodiment;
[0136] S3 refers to the anti-interference identifier weight coefficient. This parameter is usually higher than that of ordinary keywords. The initial value preset in this implementation can be 2.5, which reflects the priority of reliability design. The introduction of this parameter highlights the importance of anti-interference design, so that the reliability intention is given priority during system evaluation, and improves the naming adaptability of high reliability scenarios.
[0137] S4 refers to the fault tolerance label weight coefficient, which is usually lower than the anti-interference label. In this embodiment, it is preset to 2 to reflect the priority of physical layer anti-interference. The introduction of this parameter gives fault tolerance design appropriate importance, so that the system evaluation takes into account both reliability and fault tolerance requirements, and improves the comprehensiveness of the evaluation.
[0138] Based on the above, as the core compliance assessment unit of the string processing system, the compliance unit integrates the naming standardization, reliability intent (anti-interference / fault tolerance identifier), hierarchical structure and other dimensions of signal names into a unified assessment index, providing a reliable basic input for subsequent compatibility and comprehensive adaptation assessment, and ensuring that the system's compliance judgment of signal names is differentiated and reasonable.
[0139] The compliance score (SC) serves as the first threshold for the system to screen signal names. Signal names that meet the compliance score can enter the subsequent compatibility assessment process. Signal names that do not meet the standard will be marked by the system as needing optimization, and designers will be guided to correct non-compliant characters in the naming, add standard keywords, or adjust the hierarchical structure to avoid subsequent design errors or tool parsing failures caused by non-compliant naming from the source.
[0140] High compliance score (SC): The signal name strictly follows the design specifications, contains core function identifiers and reliability intent, and has a reasonable hierarchical structure. This means that the probability of naming conflicts or parsing errors in subsequent processing is low, and the signal name can quickly enter the reuse evaluation stage.
[0141] Low compliance score (SC): The signal name contains many non-compliant characters, is missing key specification identifiers, or has a chaotic hierarchical structure. This means that the signal name needs to be optimized. Otherwise, it will increase the risk and workload of subsequent design. The system will prioritize pushing optimization suggestions.
[0142] Please see Figure 1 , Figure 2 and Figure 3 The compatibility evaluation unit is specifically as follows:
[0143] K1. Incorporate the specification compliance score into this compatibility assessment unit to reflect the degree to which naming follows the specification and reliability intent;
[0144] K2, by combining the current signal width and the target signal width for calculation, and combining with the constraint function, outputs the signal width matching degree;
[0145] K3. By analyzing the consistency between the signal direction and the target module, the consistency of the signal direction can be analyzed.
[0146] K4. By analyzing the historical adaptation record database, the number of successful attempts and the total number of attempts are counted, and then the historical adaptation success rate is calculated.
[0147] K5. By obtaining the full and abbreviation forms of the signal name, the redundancy information compression rate is calculated, and by analyzing the number of voltage domain identifiers matching in the signal name, the number of voltage domain compatibility identifiers is calculated, thus finally outputting the compatibility potential score.
[0148] The calculation formula for the compatibility evaluation unit is as follows:
[0149] ;
[0150] in:
[0151] SP refers to the compatibility potential score;
[0152] The introduction of the specification compliance score (SC) reflects the degree to which naming follows the specifications and reliability intent. As a basic input for compatibility assessment, it links specification compliance with compatibility and improves the efficiency of compatibility signal screening.
[0153] SPA refers to the signal width matching degree, with a value ranging from 0 to 1. The specific method for obtaining it is as follows:
[0154] First, extract the current signal bit width (e.g., 16 bits) from the design database, then extract the bit width required by the target module (e.g., 32 bits). The calculation formula is as follows:
[0155] SPA = min(current bit width ÷ target bit width, target bit width ÷ current bit width);
[0156] The introduction of Signal Width Matching (SPA) reflects the compatibility between the bit width and the target module. This helps the system quickly determine bit width adaptability, reducing subsequent modification costs.
[0157] SPB stands for signal direction consistency, which is a consistency identifier between the signal direction and the target module (1 = consistent, 0 = inconsistent). The direction includes input, output and bidirectional. The current signal direction can be obtained from the database, and then the direction requirement of the target module can be obtained. If consistent, it is 1, otherwise it is 0.
[0158] The introduction of Signal Direction Consistency (SPB) reflects direction compatibility. It uses binary identifiers to quickly identify direction conflicts, avoiding design errors and improving direction evaluation efficiency.
[0159] SPC refers to the historical adaptation success rate, which ranges from 0 to 1. You can first query the historical adaptation record database to find the adaptation record of the signal, count the number of successful attempts (e.g., 5 times) and the total number of attempts (e.g., 6 times), and then divide the number of successful attempts by the total number of attempts to get the historical adaptation success rate SPC.
[0160] The introduction of Historical Compatibility Performance (SPC) reflects the historical compatibility performance of signals, prioritizes historically successful signals, reduces trial-and-error costs, and improves screening accuracy.
[0161] SPD refers to the redundancy compression ratio, with a value range of 0-1. You can first obtain the full name of the signal (such as memory_address_bus) and then obtain the abbreviated form (such as mem_addr_bus). Then SPD = (full name length - abbreviated length) ÷ full name length.
[0162] The introduction of Redundancy Compressibility (SPD) reflects a balance between naming conciseness and information integrity, helping the system prioritize names with low redundancy and improving readability.
[0163] SPE refers to the number of voltage domain compatibility identifiers, that is, the number of voltage domain identifiers that match in the signal name. First, determine the voltage domain of the target module, then prepare the corresponding identifier list, and then input the signal name to match and count the identifiers. After initially obtaining the count of identifiers, divide it by the maximum voltage domain identifier count preset by the system for normalization processing. Because SPE in this unit is a counting parameter (such as matching 2 identifiers), while other parameters are 0-1 proportional parameters, mixing them will lead to scale imbalance.
[0164] The introduction of the Voltage Domain Compatibility Flag (SPE) reflects voltage domain compatibility, helps the system quickly determine voltage adaptability, avoids hardware design errors, and improves voltage assessment capabilities.
[0165] Voltage domain incompatibility is a common obstacle to cross-module and process compatibility, but existing assessments rarely determine voltage domain compatibility directly through naming. This parameter embeds the voltage domain intent into the compatibility assessment, which is reasonable and forward-looking.
[0166] Q1, Q2, Q3, Q4 and Q5 refer to the weighting coefficients for signal width, signal direction, historical adaptation, redundant information compression and voltage domain compatibility, respectively. In this embodiment, the weights are preset to 0.4, 0.2, 0.1, 0.15 and 0.15, respectively.
[0167] Based on the above, the compatibility assessment unit serves as the system's reuse probability assessment module. It quantifies the compatibility potential between the signal name and the target module by combining the specification compliance score with dimensions such as signal bit width matching, direction consistency, and historical adaptation records. It connects compliance assessment and comprehensive adaptation assessment, helping the system to select candidate signals with reuse value from compliant signals and reduce unnecessary redesign work.
[0168] The compatibility potential score (SP) serves as a key criterion for the system to determine whether a signal can be reused. Signals with high compatibility scores can directly enter the comprehensive adaptation evaluation, while signals with medium scores can be reused after minor adjustments to the bit width or direction. Signals with low scores need to be redesigned to avoid module conflicts caused by forced reuse.
[0169] High compatibility potential score (SP): The signal name is highly matched with the target module's bit width, direction and other attributes, and the historical adaptation success rate is high. This means that the signal name can be reused with no or only a small amount of modification, which significantly reduces design costs and time.
[0170] Low compatibility potential score (SP): There are many conflicts between the signal name and the target module's attributes, and the historical adaptation record is poor. This means that it is difficult to reuse the signal name. The system will suggest giving priority to other candidate signals or redesigning it.
[0171] Please see Figure 1 , Figure 2 and Figure 3 The comprehensive adaptability unit is specifically as follows:
[0172] D1. By incorporating compatibility potential score and specification compliance score into this comprehensive adaptability unit, the degree of compatibility and specification between the naming and the target module is reflected, so as to comprehensively analyze the comprehensive adaptability.
[0173] D2. Calculate the number of testability identifiers by analyzing the number of matching testability identifiers in the signal name;
[0174] D3. Calculate the low-power identifier matching degree by analyzing the number of low-power identifier matches in the signal name;
[0175] D4. By combining the number of modified characters, the number of hierarchical changes, and the number of attribute errors, a modification cost coefficient is calculated to reflect the modification cost of the target module for naming adaptation, and finally, a comprehensive adaptation score is output.
[0176] The formula for calculating the overall adaptability unit is as follows:
[0177] ;
[0178] in:
[0179] SF refers to the overall fit score;
[0180] The introduction of the compatibility potential score (SP) reflects the degree of compatibility between the naming and the target module. As a core input for comprehensive evaluation, it links compatibility with overall adaptability and improves the efficiency of adaptability signal screening.
[0181] SFA refers to the number of testability identifiers, which is the number of testability identifiers that match in the signal name. Identifiers include _test (test) and _scan (scan chain), which reflect the test design intent. You can first prepare a list of testability identifiers, and then input the signal name to match and count. After obtaining the initial value of the matching statistics, you need to divide it by the system's preset maximum number of testability identifiers for normalization.
[0182] The introduction of Testability Flags (SFA) fills the gap in the evaluation of naming and testability design, helps the system prioritize highly testable names, and improves the efficiency of the testing phase.
[0183] SFB refers to the low power identifier matching degree, that is, the number of low power identifiers matched in the signal name. The identifiers include _lowp (low power) and _sleep (sleep mode), which reflect the energy-saving design intention. You can prepare a list of low power identifiers first, then input the signal name, match and count. After obtaining the initial matching statistics, you need to divide it by the system's preset maximum number of low power identifiers for normalization.
[0184] The introduction of Low Power Identifier Matching (SFB) fills the gap in naming and low power design evaluation. Since low power consumption is a core requirement for integrated circuit design, it helps the system prioritize energy-efficient naming and improves the efficiency of low power design.
[0185] SFC refers to the modified cost coefficient, which can be obtained as follows:
[0186] SFCA (Signal Name Count) calculates the number of characters to be modified by comparing the current signal name with the target name (e.g., from current uart_rx to target uart_rx_data, the number of characters to be modified is 5).
[0187] Statistical Level Change Count (SFCB): Current level 2 → Target level 3, change count is 1;
[0188] Statistical Error Count (SFCC): For example, 1 instance of incorrect orientation → error count is 1;
[0189] SFC = (Number of modified characters ÷ Total length) × 2 + Number of level changes + Number of attribute errors × 3;
[0190] The introduction of the cost factor SFC reflects the modification cost of the target module for naming adaptation, helping the system to prioritize low-cost renaming and reduce design workload.
[0191] P1 refers to the weighting factor of the standard score. In this embodiment, the initial value can be preset to 0.4 to reflect the importance of the standard in the comprehensive evaluation. The introduction of this parameter gives the standard compliance differentiated weights and improves the rationality of the comprehensive evaluation.
[0192] P2 refers to the weighting factor of the testability identifier. In this embodiment, the initial value can be preset to 0.2, which reflects the importance of test design in the comprehensive evaluation. The introduction of this parameter gives the test design an appropriate weight and improves the comprehensiveness of the comprehensive evaluation.
[0193] P3 refers to the weighting factor of the compatibility score. In this embodiment, the initial value can be preset to 0.6, which reflects the importance of compatibility in the comprehensive evaluation. The introduction of this parameter gives compatibility a differentiated weight and improves the rationality of the comprehensive evaluation.
[0194] P4 refers to the low power weighting factor. In this embodiment, the initial value can be preset to 0.15 to reflect the importance of energy-saving design in the comprehensive evaluation. The introduction of this parameter gives low power design an appropriate weight and improves the comprehensiveness of the comprehensive evaluation.
[0195] Based on the above, the comprehensive adaptability unit serves as the final decision output module of the system. It integrates the specification compliance score, compatibility potential score, and modification cost coefficient to quantify the comprehensive adaptability between the signal name and the target module. It transforms the multi-dimensional evaluation results into indicators that can directly guide design decisions, ensuring that the system output is practical and operable.
[0196] The overall fit score (SF) directly determines the system's final action recommendations: signal names with high overall scores will be recommended for priority reuse; signal names with medium scores will be marked as requiring minor optimization before reuse; and signal names with low scores will be suggested for redesign to help designers make quick decisions.
[0197] A high overall compatibility score (SF) indicates that the signal name is compliant, highly compatible, and has low modification costs, meaning that the signal name is the optimal choice and can be reused directly without additional adjustments.
[0198] A low overall compatibility score (SF) indicates insufficient compliance, poor compatibility, or excessive modification costs for the signal name. This means the signal name is unsuitable for reuse, and the system will guide designers to redesign the signal name to ensure the stability and efficiency of the overall design.
[0199] It is worth noting that this embodiment presents an iterative approach, which involves further calculating the comprehensive fit score SF based on the calculation result of the comprehensive fit unit to influence and iteratively adjust the weighting coefficient of the signal width of the compatibility evaluation unit. This achieves the purpose of consistency and iterative optimization. The specific iterative process is as follows:
[0200] Q1 n+1 =clamp[Q1] n +α×(SF) n [-β), 0.1, 0.8];
[0201] in:
[0202] Q1 n+1 The weighting coefficient refers to the signal width after the (n+1)th iteration;
[0203] Q1 n The weighting coefficient refers to the signal width after the nth iteration;
[0204] α refers to the learning rate, which is used to control the magnitude of weight adjustment. In this embodiment, it is preset to 0.1.
[0205] SF n Refers to the overall fitness score after the nth iteration;
[0206] β refers to the target threshold, which is preset to 0.7 in this embodiment;
[0207] The clamp function refers to restricting the subsequent running results to the range of 0.1-0.8 to avoid weight imbalance;
[0208] It is worth noting that it is also necessary to set the iteration termination condition. This embodiment is based on three termination conditions to achieve iteration convergence. The iteration terminates when any one of the following three conditions is met.
[0209] Condition 1: The number of iterations reaches the upper limit. In this embodiment, the maximum number of iterations is set to 10 to avoid the iteration from getting stuck in an infinite loop and to ensure the real-time performance of the system.
[0210] Condition 2:∣Q1 n+1 -Q1 n| <0.01 indicates that the weight adjustment has stabilized;
[0211] Condition 3: The overall fitness score (SF) after the nth iteration n It fell within the target range [0.68, 0.72] three times consecutively;
[0212] This iterative system replaces static weights with adjustable coefficients, enabling compatibility assessment to be optimized based on feedback from comprehensive requirements. This breaks the limitations of the original fixed weights, improves the adaptability of the assessment system to different design scenarios, and constructs a closed loop of comprehensive score → weight adjustment → compatibility assessment → comprehensive score. This allows the system to autonomously correct assessment biases, enhance the matching degree between assessment results and actual design requirements, and ensures the termination of the iteration process by convergence conditions to avoid infinite loops. At the same time, it ensures the stability of the final weights and scores, improves the credibility of assessment results, and adjusts the bit width matching weights iteratively to make the proportion of core dimensions more in line with the comprehensive goals, reduce assessment errors under static weights, and improve overall assessment accuracy.
[0213] In integrated circuit design, the priority requirements for bit width matching vary significantly among modules in different projects:
[0214] High-speed interface design: Bit width matching is the core prerequisite for correct data transmission and has extremely high priority;
[0215] Low-speed control logic: Bit width matching is less important than the standardization of signal function identification;
[0216] Static, fixed bit width weights cannot dynamically respond to such scenario differences, leading to a disconnect between evaluation results and actual design requirements. This either overestimates the impact of bit width in low-speed scenarios or underestimates the core value of bit width in high-speed scenarios.
[0217] Bit width is a fundamental physical attribute of signal interaction between modules. If the bit width does not match, even if the signal name is standardized and the direction is consistent, it will directly lead to data truncation / expansion errors and functional failure. Therefore, the weight adjustment of bit width matching degree has the most direct impact on the accuracy of compatibility assessment and is the key entry point for optimizing compatibility assessment.
[0218] The overall adaptability score of the overall adaptability unit integrates multiple dimensions such as specification compliance, compatibility potential, testability, and low power consumption. It is the final judgment of the overall adaptability of the signal name of the system. If the overall score does not meet expectations (such as being lower than the target threshold), it may be that the weight setting of the core dimension (bit width) in the compatibility assessment is unreasonable. Using the overall score to adjust the bit width weight can ensure the internal consistency of the assessment system and avoid the bias of one-way assessment.
[0219] This iterative system can autonomously adjust the bit width weights according to the overall adaptation goals of the current project;
[0220] In high-speed scenarios, bit width weight is automatically increased to prioritize the evaluation of bit width matching.
[0221] In low-speed scenarios, bit width weight is automatically reduced, making the proportion of dimensions such as specification compliance and modular hierarchy more reasonable;
[0222] Ultimately, this makes the compatibility assessment results more aligned with the actual needs of the project, rather than relying on generic static settings.
[0223] The proportion of bit width weights is adjusted iteratively:
[0224] Eliminate the overestimation of the impact of static weights on bit width (e.g., in low-speed scenarios, excessively high bit width weights can lead to misjudgments of signals with high specification scores but low compatibility scores).
[0225] Eliminate the underestimation of the impact of static weights on bit width (e.g., in high-speed scenarios, a low bit width weight can cause a bit width mismatch signal to be misjudged as high compatibility).
[0226] This allows the compatibility assessment results to more accurately reflect the actual compatibility potential of the signal name, reducing assessment errors.
[0227] Although embodiments of the invention have been shown and described, it will be understood by those skilled in the art that various changes, modifications, substitutions and alterations can be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the appended claims and their equivalents.
Claims
1. A string processing system for integrated circuit design, characterized in that, It includes a string processing calculation module and a string processing application module; The string processing and calculation module is used to receive preprocessed specification compliance data, compatibility-related data, and adaptability-related data. The string processing and calculation module includes: The compliance unit outputs a compliance score based on the compliance data, including compliance keywords, non-compliant characters, maximum impact value, number of anti-interference design identifiers, number of fault tolerance mechanism identifiers, actual length of signal name, average length of recommended length, number of signal name levels, and number of recommended levels. The compatibility assessment unit outputs a compatibility potential score based on the signal width matching degree, signal direction consistency, historical adaptation success rate, redundancy information compression rate, and number of voltage domain compatibility identifiers in the compatibility-related data, combined with the specification compliance score. The overall adaptability unit outputs an overall adaptability score based on the number of testability identifiers, low power consumption identifier matching degree, and modification cost coefficient in the adaptability-related data, combined with the specification compliance score and compatibility potential score. The string processing application module: It is used to receive scores for compliance with specifications, compatibility potential, and overall adaptability, and to translate the scores into actual design and implementation actions.
2. The string processing system for integrated circuit design according to claim 1, characterized in that: The specification compliance score output by the string processing calculation module is used to quantify the degree to which the signal name conforms to the design specifications; The compatibility potential score output by the string processing calculation module is used to evaluate the compatibility and reuse potential between the signal and the target module. The comprehensive fit score output by the string processing and calculation module is used as the basis for fit decision-making.
3. The string processing system for integrated circuit design according to claim 2, characterized in that: The processing procedure for the specification compliance unit is as follows: S1. Traverse the signal names processed by the data preprocessing module, match them with the standard keywords in the configuration file, and accumulate the weight of the matching items. S2. Traverse the signal names processed by the data preprocessing module, match the illegal characters, and accumulate the weight of the illegal items; S3. Calculate the number of anti-interference design identifiers by analyzing the number of matching anti-interference design identifiers in the signal name; S4. Calculate the number of fault tolerance mechanism identifiers by analyzing the number of matching fault tolerance mechanism identifiers in the signal name; S5. Combine the total weight of all standardized keywords, the total number of anti-interference identifiers, and the total number of fault-tolerant identifiers to calculate the maximum impact value, thereby normalizing and limiting the parameters in the above steps. S6. By inputting the target signal name string, the total number of characters is calculated using the string length function to output the actual length of the signal name. The difference and absolute value of the actual length are then calculated between the actual length and the average length recommended by the standard to reflect the degree of deviation of the signal name length. S7. Calculate the number of levels of the signal name by analyzing the number of levels divided by the delimiter, and then calculate the ratio of this number to the recommended number of levels in the specification and apply the constraint to finally output the specification compliance score.
4. The string processing system for integrated circuit design according to claim 3, characterized in that: The processing procedure of the compatibility evaluation unit is as follows: K1. Incorporate the specification compliance score into this compatibility assessment unit to reflect the degree to which naming follows the specification and reliability intent; K2, by combining the current signal width and the target signal width for calculation, and combining with the constraint function, outputs the signal width matching degree; K3. By analyzing the consistency between the signal direction and the target module, the consistency of the signal direction can be analyzed. K4. By analyzing the historical adaptation record database, the number of successful attempts and the total number of attempts are counted, and then the historical adaptation success rate is calculated. K5. By obtaining the full and abbreviation forms of the signal name, the redundancy information compression rate is calculated, and by analyzing the number of voltage domain identifiers matching in the signal name, the number of voltage domain compatibility identifiers is calculated, thus finally outputting the compatibility potential score.
5. The string processing system for integrated circuit design according to claim 4, characterized in that: The processing procedure of the comprehensive adaptability unit is as follows: D1. By incorporating compatibility potential score and specification compliance score into this comprehensive adaptability unit, the degree of compatibility and specification between the naming and the target module is reflected, so as to comprehensively analyze the comprehensive adaptability. D2. Calculate the number of testability identifiers by analyzing the number of matching testability identifiers in the signal name; D3. Calculate the low-power identifier matching degree by analyzing the number of low-power identifier matches in the signal name; D4. By combining the number of modified characters, the number of hierarchical changes, and the number of attribute errors, a modification cost coefficient is calculated to reflect the modification cost of the target module for naming adaptation, and finally, a comprehensive adaptation score is output.
6. The string processing system for integrated circuit design according to claim 1, characterized in that: The string processing system for integrated circuit design also includes a data preprocessing module; The data preprocessing module is used to receive specification compliance data, compatibility-related data, and adaptability-related data, clean the input data, and input the processed data into the string processing and calculation module. The cleaning process specifically includes: Signal name string cleaning: Remove spaces from the signal name string and convert the string to lowercase, retaining valid characters; Numerical data conversion: Converts bit width to numerical value; Uniform direction format: The signal direction is mapped to a binary identifier, which facilitates consistency comparison.
7. The string processing system for integrated circuit design according to claim 1, characterized in that: The string processing application module converts the scoring results into actual design and implementation actions, specifically including naming standard rectification actions, adaptation and adjustment actions, and design decision actions.
8. The string processing system for integrated circuit design according to claim 7, characterized in that: The specific design decision-making action is as follows: When the overall fit score is ≥0.8, the target signal name is directly adopted and written into the current project file of the design tool and synchronized to the design database; When the overall fit score is less than 0.8, structured modification suggestions are generated and provided to the designer. When the overall fit score is less than 0.6, the current signal name is rejected, a standard example is output, and the designer is prompted to rename it.