Design evaluation method, system, electronic device, and computer storage medium

By combining fuzzy neural network models and multi-fidelity proxy evaluation, the problem of insufficient interpretability in SoC design is solved, enabling more accurate determination and evaluation of structural parameters and improving the effectiveness of SoC design.

CN116028429BActive Publication Date: 2026-08-04ALIBABA (CHINA) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202310097171.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-06
Publication Date
2026-08-04
Estimated Expiration
2043-02-06

AI Technical Summary

Technical Problem

Existing methods for exploring the SoC design space lack interpretability, resulting in poor performance of design results in practical applications and failing to provide effective references for subsequent designs.

Method used

A fuzzy neural network model is used to perform fuzzy logic reasoning on design indicators to determine structural parameters. Evaluation results are obtained through multi-fidelity agent evaluation, and the model is optimized by combining reinforcement learning and prior design knowledge.

Benefits of technology

It improves the interpretability of SoC design and the accuracy of design results, provides better data support, and enables SoC to perform better in practical applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116028429B_ABST
    Figure CN116028429B_ABST
Patent Text Reader

Abstract

The embodiment of the application provides a design evaluation method and system based on design space exploration, electronic equipment and computer storage medium, wherein the design evaluation method based on design space exploration comprises the following steps: obtaining a design index corresponding to a system on chip to be evaluated; performing fuzzy logic reasoning on the design index through a fuzzy neural network model, and determining a structure parameter corresponding to the design index according to a reasoning result; and evaluating a design structure of the system on chip corresponding to the structure parameter to obtain an evaluation result. Through the embodiment of the application, the design of the SoC has interpretability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of smart chip technology, and in particular to a design evaluation method, system, electronic device, and computer storage medium based on design space exploration. Background Technology

[0002] A System-on-a-Chip (SoC) is an integrated circuit product with a specific purpose. With the development of chip technology, more and more SoCs can have different functions to serve different scenarios and applications. To more efficiently adapt to different application scenarios, SoC architecture design is required. Currently, Design Space Exploration (DSE) plays an important role in SoC architecture design.

[0003] When designing a SoC, Design Optimizer (DSE) can systematically analyze and prune unnecessary design points based on design metrics of interest, thus providing a specific design approach. However, current DSE methods are based on probability and statistics, analyzing different SoC structural designs through random sampling to find what they deem reasonable. This leads to two problems: firstly, this DSE approach is more like a black box for SoC design, making the design lack interpretability and unable to provide reference or assistance for subsequent designs; secondly, SoCs designed based on the results of existing DSE methods often exhibit poor data processing performance in practical applications. Summary of the Invention

[0004] In view of this, embodiments of this application provide a design evaluation scheme based on design space exploration to at least partially solve the above problems.

[0005] According to a first aspect of the embodiments of this application, a design evaluation method based on design space exploration is provided, comprising: obtaining design indicators corresponding to a system-on-a-chip to be evaluated; performing fuzzy logic reasoning on the design indicators through a fuzzy neural network model, and determining structural parameters corresponding to the design indicators based on the reasoning results; evaluating the design structure of the system-on-a-chip corresponding to the structural parameters, and obtaining evaluation results.

[0006] According to a second aspect of the embodiments of this application, a design evaluation system based on design space exploration is provided, comprising: a search engine and an evaluation agent; wherein, the search engine is used to obtain design indicators corresponding to a system-on-a-chip to be evaluated; fuzzy logic reasoning is performed on the design indicators through a fuzzy neural network model, and structural parameters corresponding to the design indicators are determined based on the reasoning results; the evaluation agent is used to evaluate the design structure of the system-on-a-chip corresponding to the structural parameters and obtain evaluation results.

[0007] According to a third aspect of the present application, an electronic device is provided, comprising: a processor, a memory, a communication interface, and a communication bus, wherein the processor, the memory, and the communication interface communicate with each other via the communication bus; the memory is used to store at least one executable instruction, wherein the executable instruction causes the processor to perform an operation corresponding to the method described in the first aspect.

[0008] According to a fourth aspect of the embodiments of this application, a computer storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the method described in the first aspect.

[0009] According to the solution provided in this application, during SoC design, a fuzzy neural network model is used to perform fuzzy logic reasoning on relevant design metrics to obtain more reasonable and accurate structural parameters for SoC structural design. Then, the corresponding design structure can be evaluated based on these structural parameters to obtain the evaluation results. Subsequently, SoC designers can obtain the required structural parameters based on these evaluation results and use them as the basis for SoC structural design. Therefore, on the one hand, because the fuzzy neural network model has a good ability to express structural knowledge, designers can easily understand and learn the logic of its fuzzy reasoning, thus making the SoC design interpretable and enabling the SoC design to be white-boxed, providing reference and assistance for current and subsequent designs. On the other hand, the designer's prior design knowledge can be embedded into the fuzzy neural network model and applied to the current design through fuzzy logic reasoning; furthermore, the fuzzy neural network model also has good self-learning capabilities. All of these factors enable the trained fuzzy neural network model to better process design metrics, outputting more reasonable and accurate structural parameters, thereby providing strong data support for SoC design and enabling the subsequently obtained SoC to have better performance in practical applications. Attached Figure Description

[0010] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings.

[0011] Figure 1 A schematic diagram of an exemplary system to which the embodiments of this application are applicable;

[0012] Figure 2A This is a flowchart illustrating the steps of a design evaluation method based on design space exploration according to Embodiment 1 of this application;

[0013] Figure 2B for Figure 2A A schematic diagram of the structure of a fuzzy neural network model in the embodiment shown;

[0014] Figure 2C for Figure 2A A schematic diagram of a design process in the illustrated embodiment;

[0015] Figure 3A This is a structural block diagram of a design evaluation system based on design space exploration according to Embodiment 2 of this application;

[0016] Figure 3B for Figure 3A A schematic diagram of an exemplary design evaluation system based on design space exploration in the illustrated embodiment;

[0017] Figure 3C for Figure 3A The diagram shown illustrates the optimization process of the design evaluation system in the embodiment shown.

[0018] Figure 4 This is a schematic diagram of the structure of an electronic device according to Embodiment 3 of this application. Detailed Implementation

[0019] To enable those skilled in the art to better understand the technical solutions in the embodiments of this application, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art should fall within the protection scope of the embodiments of this application.

[0020] The specific implementation of the embodiments of this application will be further described below with reference to the accompanying drawings.

[0021] Figure 1An exemplary system applicable to embodiments of this application is shown. For example... Figure 1 As shown, the system 100 may include a cloud server 102, a communication network 104, and / or one or more user devices 106. Figure 1 The example in the text refers to multiple user devices. It should be noted that the design evaluation method based on design space exploration in this application embodiment can be implemented independently on the cloud server 102, independently on the user device 106, or jointly by the cloud server 102 and the user device 106.

[0022] The cloud server 102 can be any suitable device for storing information, data, programs, and / or any other suitable type of content, including but not limited to distributed storage system devices, server clusters, computing cloud server clusters, etc. In some embodiments, the cloud server 102 can perform any suitable function. When the cloud server 102 performs a design evaluation based on design space exploration alone, the cloud server 102 can use a fuzzy neural network model to perform fuzzy logic reasoning on the design metrics of the SoC to be evaluated, determine the corresponding structural parameters based on the reasoning results, and then evaluate the design structure of the SoC corresponding to the structural parameters.

[0023] User equipment 106 may include any one or more user devices for storing information, data, programs, and / or any other suitable type of content. When user equipment 106 performs a design evaluation based on design space exploration alone, user equipment 106 can use a fuzzy neural network model to perform fuzzy logic reasoning on the design metrics of the SoC to be evaluated, determine the corresponding structural parameters based on the reasoning results, and then evaluate the design structure of the SoC corresponding to the structural parameters. In some embodiments, user equipment 106 may include any suitable type of device. For example, in some embodiments, user equipment 106 may include mobile devices, tablet computers, laptop computers, desktop computers, and / or any other suitable type of user equipment.

[0024] When the cloud server 102 and user equipment 106 jointly implement design evaluation based on design space exploration, the user equipment 106 can send information about at least one SoC to be evaluated to the cloud server 102, or send design metrics of at least one SoC to be evaluated to the cloud server 102. Then, the cloud server 102 obtains the design metrics corresponding to the SoC based on the SoC information, or directly uses a fuzzy neural network model to perform fuzzy logic reasoning on the SoC's design metrics based on the SoC's design metrics, and determines the corresponding structural parameters based on the reasoning results. Then, it evaluates the design structure of the SoC corresponding to these structural parameters. After obtaining the evaluation results, the cloud server 102 can return the evaluation results corresponding to the SoC to the user equipment 106.

[0025] In some embodiments, the communication network 104 can be any suitable combination of one or more wired and / or wireless networks. For example, the communication network 104 can include any one or more of the following: the Internet, an intranet, a wide area network (WAN), a local area network (LAN), a wireless network, a digital subscriber line (DSL) network, a frame relay network, an asynchronous transfer mode (ATM) network, a virtual private network (VPN), and / or any other suitable communication network. The user equipment 106 can be connected to the communication network 104 via one or more communication links (e.g., communication link 112), and the communication network 104 can be linked to the cloud server 102 via one or more communication links (e.g., communication link 114). The communication link can be any communication link suitable for transmitting data between the user equipment 106 and the cloud server 102, such as a network link, a dial-up link, a wireless link, a hardwired link, any other suitable communication link, or any suitable combination of such links.

[0026] Based on the above system, this application provides a design evaluation scheme based on design space exploration, which will be described below through several embodiments.

[0027] Example 1

[0028] Reference Figure 2A The flowchart illustrates the steps of a design evaluation method based on design space exploration according to Embodiment 1 of this application.

[0029] In SoC design, Design Space Exploration (DSE) refers to the system analysis and pruning of unnecessary design points based on design metrics of interest. These design metrics may vary from system to system, but commonly used metrics include performance, power consumption, and area, collectively known as Power Per Area (PPA). Applying the solutions from this application to design space exploration can help SoC designers select chip designs that meet their needs and standards, thereby effectively improving SoC design efficiency.

[0030] Based on this, the design evaluation method based on design space exploration in this embodiment includes the following steps:

[0031] Step S202: Obtain the design metrics corresponding to the SoC to be evaluated.

[0032] In the embodiments of this application, the SoC to be evaluated can be any system-on-a-chip that can be parametrically designed, including but not limited to: microarchitecture-based microprocessors (such as CPUs), space accelerators, etc., whose structure and layout can be determined by parametric design metrics. Furthermore, it should be noted that several embodiments of this application use design evaluation for microprocessors as examples, but those skilled in the art should understand that design evaluation for other types of SoCs can be implemented with reference to the schemes described in the embodiments of this application.

[0033] The design metrics corresponding to a SoC are used to characterize parameters that affect the SoC's structure. These are typically PPA parameters as mentioned earlier, but in practical applications, they can also be other parameters that characterize PPA, such as CPI (Cycle Per Instruction) or cache hit rate. Regardless of the form of the design metrics used, they are all applicable to the solutions in the embodiments of this application.

[0034] Step S204: Using a fuzzy neural network model, perform fuzzy logic reasoning on the design indicators, and determine the structural parameters corresponding to the design indicators based on the reasoning results.

[0035] Fuzzy neural network models are neural network models based on fuzzy theory. In fuzzy theory, unlike traditional methods that explicitly distinguish whether an element belongs to a set, elements use their membership degree to represent the certainty (or uncertainty) of belonging to a fuzzy set. Fuzzy logic reasoning based on this involves summarizing known rules into fuzzy relationships between the antecedent and result domains, and then synthesizing the existing knowledge in the antecedent domain with the summarized fuzzy relationships to deduce the conclusion under the current knowledge. Rules can be expressed using conditional statements (e.g., IF…THEN… statements). Based on this, the membership degree of an element belonging to the fuzzy set corresponding to a certain rule can be determined through a membership function.

[0036] In this embodiment, the aforementioned fuzzy logic reasoning process is implemented by a fuzzy neural network model, and the entire fuzzy process is divided into three parts: fuzzification, regularization, and defuzzification. Therefore, this step can be implemented as follows: using the fuzzy neural network model, the design index is sequentially subjected to fuzzification, regularization, and defuzzification to obtain the precise adjustment values ​​of the structural parameters corresponding to the design index; based on the precise adjustment values, the structural parameters corresponding to the design index are updated. It can be seen that the fuzzy neural network model can perform fuzzy logic reasoning on the design index to obtain the adjustment amount of the structural parameters corresponding to the design index, thereby updating the original structural parameters. Specifically, the fuzzy neural network model can be used to fuzzify the design index to obtain the fuzzy value corresponding to the design index; based on pre-set fuzzification rules, the fuzzy value is regularized to obtain the corresponding fuzzy adjustment rules for the structural parameters; based on the fuzzy adjustment rules for the structural parameters, the structural parameters corresponding to the fuzzy adjustment rules for the structural parameters are defuzzified to obtain the precise value corresponding to the structural parameter. The fuzzification rules are easy to interpret, adjust, and update, thus making the structural parameters corresponding to the design index obtained through the fuzzy neural network model more interpretable and easier to understand. In this embodiment of the application, the structural parameters can be set parameters for components on the SoC, including but not limited to, cache size, number of ALUs (Arithmetic Logic Units), size of ROBs (Reorder Buffers), etc.

[0037] The fuzzification rules can include multiple rules and are pre-defined. For example, "If the cache hit rate is low and the area is under limits, then the cache size will increase." Here, "cache hit rate," "area," and "cache size" are linguistic variables, also referred to as fuzzy variables in this embodiment; while "low," "under limits," and "increase" are linguistic values ​​defined by membership functions, also referred to as fuzzy values ​​in this embodiment. Another example is "If the cache hit rate is average and the area exceeds limits, then the cache size will decrease." Yet another example is "If the CPI is high and the area is under limits, then the ALU number will exceed." and so on. These fuzzification rules can be flexibly set by those skilled in the art according to actual design needs, or they can be pre-set by those skilled in the art based on prior design experience or design index analysis results.

[0038] In one feasible approach, a membership function can be used to map the design index to a fuzzy value to achieve fuzzification of the design index. Then, a fuzzification rule corresponding to the design index and the fuzzy value is determined. Based on the fuzzification rule, a corresponding fuzzy adjustment rule for the structural parameters is determined. Furthermore, the adjustment parameter indicated by the fuzzy adjustment rule for the structural parameters is defuzzified to a precise value to update the original structural parameters. For example, assuming the design metrics of the input fuzzy neural network model are the "cache hit rate" with a specific value of X and the "area" with a specific value of Y, firstly, the corresponding fuzzy values ​​are obtained as "low" and "under limits" according to the membership function mapping. Then, the corresponding fuzzification rule in this case is determined to be "If the cache hit rate is low and the area is under limits, then the cache size will increase." In this case, "then the cache size will increase" will be identified as the fuzzy adjustment rule for the structural parameter, and the corresponding structural parameter to be adjusted is "cache size". Furthermore, it is determined that "increase" needs to be applied to this "cache size". Assuming that the step size of an "increase" is 3, then 3 size units will be added to the original size unit "cache size", such as 3M, which is defuzzification to an accurate value.

[0039] When the above process is implemented based on the specific structure of a fuzzy neural network model, the fuzzy neural network model generally includes an input layer, a membership function layer, a fuzzy inference layer, a normalization layer, and an output layer. The input layer receives data input in vector form and passes it to the membership function layer. The membership function layer, based on the vector output from the input layer, obtains at least one set of preset membership values ​​(each set has multiple fuzzy subsets, each corresponding to a membership value). The fuzzy inference layer contains multiple nodes, each corresponding to a fuzzy rule. Based on the membership values ​​output by the membership function layer, the fuzzy inference layer calculates and outputs the membership value of the fuzzy rule corresponding to each node. The normalization layer normalizes the membership values ​​of the fuzzy rules. The output layer performs a linear transformation on the normalized membership values ​​of the fuzzy rules to output the final result.

[0040] In the fuzzy neural network model of this application embodiment, a membership function layer is used to perform fuzzification processing on the design indicators. For ease of distinction, this layer is referred to as the fuzzification layer in this application embodiment. That is, the fuzzification layer is used to fuzzify the design indicators to map them to corresponding fuzzy values ​​according to the membership function (corresponding to the traditional input layer and membership function layer). After the fuzzification layer, there are node layers corresponding to the IF part and the THEN part of the fuzzification rule. These two node layers are referred to as the regularization layer in this application embodiment. They are used to regularize the fuzzy values ​​based on the pre-set fuzzification rules expressed using conditional statements (such as IF…THEN… statements) to obtain the corresponding structural parameter fuzzy adjustment rules (corresponding to the traditional normalization layer and part of the fuzzy inference layer). After the regularization layer, there is a defuzzification layer, which is used to defuzzify the structural parameters corresponding to the structural parameter fuzzy adjustment rules according to the structural parameter fuzzy adjustment rules to map the structural parameters to precise values ​​(corresponding to another part of the traditional model inference layer and output layer). The regularization layer and the defuzzification layer can be considered as the fuzzy inference part. In traditional fuzzy neural network models, the antecedents of fuzzy rules include all inputs. However, in the scheme of this application embodiment, the antecedents of fuzzy rules only include related inputs. For example, the input layer includes the L2 cache hit rate, but if the size of the L1 cache has no significant impact on the L2 cache hit rate, then the L2 cache hit rate can be omitted from the antecedents of rules related to the L1 cache size. This reduces the number of fuzzy rules, simplifies the inference process, and makes the fuzzy neural network model more suitable for SoC architecture design.

[0041] Furthermore, in this embodiment, the hyperparameters of the membership function carry prior design knowledge information. That is, prior design knowledge information can be embodied in the membership function in the form of hyperparameters through methods such as initialization, so that the model can better output design results and has better interpretability.

[0042] An exemplary fuzzy neural network model in this application embodiment is as follows: Figure 2B As shown, from Figure 2B As can be seen, the model input is simply represented by CPI and Area. However, those skilled in the art should understand that in practical applications, there can be more dimensions of design metrics input, such as the SoC's power consumption parameter, or directly the PPA parameter. The model's fuzzification layer can output corresponding fuzzy values, such as... Figure 2BThe values ​​in the diagram correspond to "low," "avg," and "high" in CPI, and "exceed limits" and "under limits" in Area. Following the fuzzification layer are the IF node layer and the THEN node layer of the regularization layer. Edges represent the relationships between IF and THEN nodes, and neurons represent the logical operation "AND." As shown in the diagram, after the regularization layer, the parameter to be adjusted is obtained, usually a structural parameter, and its corresponding fuzzy adjustment rule (i.e., fuzzy adjustment rule for the structural parameter), such as "increase." If we follow the aforementioned interpretation of rules in the "IF…THEN…" form, then "increase" can also be considered as a fuzzy value for the structural parameter to be adjusted. Furthermore, the fuzzy value of the structural parameter to be adjusted can be mapped to a precise value through the model's defuzzification layer, as shown by the multiple C values ​​in the diagram. i , Figure 2B In this context, i ranges from 0 to n. Furthermore, in this embodiment, the deblurring layer also returns a C value associated with each output structural parameter. i The weights sum. In one example, when C i When the symbol is "+", it means "increase". When C i When the symbol is "-", it means "decrease". Figure 2B The normalization layer and output layer of the model are not shown in the diagram. However, in practical applications, these two layers can also be set in the model, and the final result, i.e., the adjustment amount of the structural parameters, can be output through the output layer. The structural parameters include, but are not limited to, these adjustment amounts. Figure 2B The diagram shows the cache size, the number of ALUs (Arithmetic Logic Units), the size of the ROB (Reorder Buffer), etc. Those skilled in the art should understand that the above structural parameters are merely examples; in actual use, fuzzy neural network models can output many more other structural parameters.

[0043] In one feasible approach, to improve the design performance of the fuzzy neural network model, reinforcement learning can be used to periodically update and train the fuzzy neural network model, at least updating the hyperparameters in its membership function and the model parameters used to map the design metrics to precise values.

[0044] Reinforcement learning describes and solves the problem of how an agent learns strategies to maximize rewards or achieve specific goals during interactions with its environment. It is a learning mechanism that learns how to map states to behaviors to maximize rewards. The agent continuously experiments in its environment, optimizing the state-behavior correspondence based on feedback (rewards). In this embodiment, reinforcement learning is used to periodically train and update a fuzzy neural network model, incorporating new knowledge to enhance its real-time performance and robustness.

[0045] Furthermore, during the update training, a preset objective function can be used to guide the training. That is, the fuzzy neural network model can be periodically updated and trained using reinforcement learning based on the preset objective function. The objective function can be a function that characterizes the relationship between changes in performance metrics resulting from variations in structural parameters and the area utilization rate of the SoC.

[0046] In one example, the objective function could be:

[0047]

[0048] R episode =α*sum(R) step )+final_cpi

[0049] Where ΔCPI represents the change in CPI (i.e., the change in performance index) after each adjustment of structural parameters; Δarea represents the change in area (area) after each adjustment of structural parameters; through This characterizes the impact of changes in the SoC's design structure (such as performance improvements) corresponding to adjustments in structural parameters on the SoC's resource utilization. episode This represents an iterative update training iteration of reinforcement learning; α represents the scaling factor; final_cpi represents the CPI corresponding to the final design structure; sum(R) step ) indicates that for R step Summation, that is, the sum of the action scores in this reinforcement learning training.

[0050] Therefore, the objective function is a function based on design metrics, which can effectively guide the updating of the fuzzy neural network model.

[0051] Furthermore, it should be noted that prior design knowledge can be effectively incorporated into the fuzzy neural network model not only through the hyperparameters of membership functions, but also by setting the edges between IF and THEN nodes. Additionally, prior design knowledge can be integrated into the model through the initialization of at least some adjustable model parameters. This enhances the interpretability of the model and allows it to output structural parameters that better meet practical requirements.

[0052] It should also be noted that, unless otherwise specified, in the embodiments of this application, "multiple", "various" and other quantities related to "multiple" all refer to two or more.

[0053] Step S206: Evaluate the design structure of the SoC corresponding to the structural parameters and obtain the evaluation results.

[0054] The Design for Engineering (DSE) process typically includes two parts: the aforementioned part for obtaining structural parameters, also known as the search algorithm part, and the part for evaluating the design structure corresponding to the structural parameters based on the search algorithm results. Therefore, in this embodiment, after updating the structural parameters, the corresponding design structure is also evaluated to obtain an evaluation result. Subsequently, designers can use this evaluation result to select the appropriate design structure and perform physical design.

[0055] Traditionally, a single-surrogate evaluation method is used, that is, a single-surrogate model is used to evaluate the design structure. Evaluation using a surrogate model is a simulation calculation method that approximates the relationship between design variables and design goals, using a model to replace complex and time-consuming evaluation calculations. Although the single-surrogate evaluation method can achieve a certain optimization effect in evaluation calculation, different methods of single-surrogate evaluation lead to different defects, such as excessively long evaluation time or insufficient evaluation results. Therefore, in this embodiment, a multi-fidelity surrogate evaluation is used to obtain the evaluation results for the SoC design structure corresponding to the structural parameters, in order to achieve a balance between evaluation time and accuracy as much as possible. However, those skilled in the art should understand that traditional evaluation methods are also applicable to the solution of this embodiment. When using traditional evaluation methods, because the solution of this application can obtain more accurate and reasonable structural parameters, it still has higher design efficiency compared to traditional solutions.

[0056] When using single-proxy evaluation, proxy evaluations can be categorized into high-fidelity evaluations and low-fidelity evaluations based on computational cost and accuracy. High-fidelity evaluations typically yield more accurate results but are computationally time-consuming; while low-fidelity evaluations are usually faster but lack accuracy. Compared to single-proxy evaluations, multi-fidelity proxy evaluations can integrate evaluation data of varying accuracies. The faster low-fidelity evaluation can be used to obtain a general trend; then, a more accurate high-fidelity evaluation can be used to supplement or correct it. This achieves a reasonable allocation of computational costs while obtaining higher-accuracy evaluation results.

[0057] Specifically, in the embodiments of this application, when using the multi-fidelity proxy evaluation method, multiple proxy evaluation models can be set within the DSE framework. That is, multiple proxy evaluation models are used to perform multi-fidelity proxy evaluation on the SoC design structure corresponding to the structural parameters to obtain evaluation results. Among them, different proxy evaluation models have different evaluation times and / or evaluation accuracies.

[0058] In one feasible approach, multiple proxy evaluation models include at least: an analytical model and a VLSI flow model. The analytical model can abstract the behavior of the SoC to provide fast evaluation, but its accuracy is relatively low. VLSI flow typically includes register-transfer level RTL code generation, logic synthesis, RTL-level simulation, and area / power estimation. Evaluation results obtained through VLSI flow have high accuracy, but the time overhead is significant, resulting in low evaluation efficiency. Therefore, in this embodiment, multiple proxy evaluation models are used in combination. For example, in this example, both an analytical model and VLSI flow are set simultaneously to guide most evaluations with low accuracy requirements to the analytical model, while guiding a small portion of evaluations with high accuracy requirements to VLSI flow, thus achieving a balance between overall evaluation accuracy and time. However, this is not limited to the two proxy evaluation models mentioned above. In practical use, more proxy evaluation models can be set, or the two proxy evaluation models mentioned above can be replaced with other models, all of which are within the scope of protection of this application. For example, other proxy evaluation models can be such as periodic precise simulation models or interval simulation models.

[0059] When determining which surrogate evaluation model to use for evaluation, one feasible approach is to base the choice on preset parameters, such as the confidence level of the design results (e.g., the variance of the design results, the number of times the action pointing to the result is selected, etc.). For example, if the confidence level of the design results is lower than a preset threshold, an analytical model is used; otherwise, VLSI FLOW is used. The preset threshold can be appropriately set by those skilled in the art according to actual needs, and this application embodiment does not impose any limitations on it.

[0060] To achieve higher evaluation efficiency, one feasible approach is to first use an analytical model to perform a low-fidelity proxy evaluation on the SoC design structure corresponding to the structural parameters to obtain the target region of interest (ROI) within the design structure; then, VLSI FLOW is used to perform a high-fidelity proxy evaluation on the design structure within the ROI to obtain the evaluation result. For example, an analytical model can first perform a low-fidelity proxy evaluation on the SoC design structure corresponding to the structural parameters to obtain the ROI containing the optimal design that meets the requirements; then, VLSI FLOW is used to perform a high-fidelity proxy evaluation on the design structure within the ROI to determine whether the ROI contains the optimal design within that region. If it does, an outputtable evaluation result is obtained; otherwise, the result of VLSI FLOW is used to correct the result of the analytical model, and based on this, the analytical model is used again to obtain the ROI containing the optimal design that meets the requirements. This approach saves evaluation time using the analytical model and compensates for the inaccuracy of the analytical model's evaluation results using VLSI FLOW.

[0061] The following example illustrates the application of the above process to a design space. Figure 2C As shown.

[0062] Depend on Figure 2C As can be seen, firstly, the aforementioned fuzzy neural network model is constructed to implement the DSE search algorithm. This fuzzy neural network model is then applied to the SoC's design space, performing a design space search based on the SoC's microarchitecture to obtain multiple sets of different structural parameters (each set includes multiple structural parameters, and at least some structural parameters differ between sets). These different structural parameters correspond to different SoC design structures. Subsequently, the obtained structural parameters are evaluated using the aforementioned multi-fidelity proxy method. Figure 2C In the example shown, the multi-fidelity agent is implemented using an analytical model and VLSI FLOW. The obtained evaluation results can be used to guide designers in subsequent design processes, such as the selection or adjustment of structural parameters and subsequent physical design.

[0063] As can be seen, through this embodiment, during SoC design, a fuzzy neural network model is used to perform fuzzy logic reasoning on relevant design metrics to obtain more reasonable and accurate structural parameters for SoC structural design. Then, the corresponding design structure can be evaluated based on these structural parameters to obtain the corresponding evaluation results. Subsequently, SoC designers can obtain the required structural parameters based on these evaluation results and use them as the basis for SoC structural design. Therefore, on the one hand, because the fuzzy neural network model has a good ability to express structural knowledge, designers can easily understand and learn its fuzzy reasoning logic, thus making the SoC design interpretable and enabling the SoC design to be white-boxed, providing reference and assistance for current and subsequent designs. On the other hand, the designer's prior design knowledge can be embedded into the fuzzy neural network model and applied to the current design through fuzzy logic reasoning; furthermore, the fuzzy neural network model also has good self-learning capabilities. All of these factors enable the trained fuzzy neural network model to better process design metrics, outputting more reasonable and accurate structural parameters, thereby providing strong data support for SoC design and enabling the resulting SoC to have better performance in practical applications.

[0064] Example 2

[0065] Reference Figure 3A The diagram shows a structural block diagram of a design evaluation system based on design space exploration according to Embodiment 2 of this application.

[0066] This design evaluation system can be integrated into the DSE framework, such as... Figure 3A As shown, the design evaluation system includes at least a search engine 302 and an evaluation agent 304. The search engine 302 is used to obtain the design metrics corresponding to the SoC to be evaluated; it performs fuzzy logic reasoning on the design metrics using a fuzzy neural network model, and determines the structural parameters corresponding to the design metrics based on the reasoning results. The evaluation agent 304 is used to evaluate the design structure of the SoC corresponding to the structural parameters and obtain the evaluation results.

[0067] In one feasible approach, the evaluation agent 304 is a multi-fidelity agent, which is used to perform multi-fidelity agent evaluation on the SoC design structure corresponding to the structural parameters using multiple agent evaluation models to obtain evaluation results; wherein, different agent evaluation models have different evaluation times and / or evaluation accuracies.

[0068] The following, combined with Figure 3B The design evaluation system of this embodiment will be described by way of example.

[0069] Figure 3BIn this system, the search engine is implemented based on a fuzzy neural network model. After obtaining the design metrics corresponding to the SoC, the search engine uses the fuzzy neural network model to sequentially perform fuzzification, regularization, and defuzzification on the design metrics to obtain the precise values ​​for adjusting the corresponding structural parameters. Based on the precise values ​​of the structural parameter adjustments, the original structural parameters corresponding to the design metrics are updated. Specifically, the fuzzy neural network model is used to fuzzify the design metrics to obtain fuzzy values ​​corresponding to the design metrics; based on pre-set fuzzification rules, the fuzzy values ​​are regularized to obtain the corresponding fuzzy adjustment rules for structural parameters; based on the fuzzy adjustment rules for structural parameters, the structural parameters corresponding to the fuzzy adjustment rules are defuzzified to obtain the precise values ​​of the structural parameters; and then, based on these precise values, the original structural parameters corresponding to the design metrics are updated.

[0070] In one feasible approach, the fuzzy neural network model may include: a fuzzification layer, a regularization layer, and a defuzzification layer. The fuzzification layer is used to fuzzify the design indicators, mapping them to corresponding fuzzy values ​​based on membership functions. The hyperparameters in the membership functions carry prior design knowledge information. The regularization layer is used to regularize the fuzzy values ​​based on pre-set fuzzification rules expressed using conditional statements, obtaining corresponding structural parameter fuzzy adjustment rules. The defuzzification layer is used to defuzzify the structural parameters corresponding to the structural parameter fuzzy adjustment rules, mapping the structural parameters to precise values. Optionally, the fuzzy neural network model may further include a normalization layer and an output layer connected after the defuzzification layer. The normalization layer normalizes the output of the defuzzification layer; the output layer performs a linear transformation on the normalized result to output the final result.

[0071] Furthermore, the design evaluation system in this embodiment also includes a proxy pool, which stores multiple proxy evaluation models. Multi-fidelity proxies can then perform multi-fidelity proxy evaluations on the SoC design structure corresponding to the structural parameters based on these multiple proxy evaluation models, obtaining evaluation results. Different proxy evaluation models have different evaluation times and / or evaluation accuracies. In this example, the multiple proxy evaluation models include at least an analytical model and VLSI FLOW.

[0072] In one feasible approach, a multi-fidelity proxy can first perform a low-fidelity proxy evaluation on the SoC design structure corresponding to the structural parameters using an analytical model to obtain the target region of interest (ROI) within the design structure. Then, a high-fidelity proxy evaluation is performed on the design structure within the ROI using VLSI FLOW to obtain the evaluation result. For example, the multi-fidelity proxy can first perform a low-fidelity proxy evaluation on the SoC design structure corresponding to the structural parameters using an analytical model to obtain the ROI containing the optimal design that meets the requirements. Then, a high-fidelity proxy evaluation is performed on the design structure within the ROI using VLSI FLOW to determine whether the ROI contains the optimal design that meets the requirements. If it does, an outputtable evaluation result is obtained; otherwise, the result of the VLSI FLOW is used to correct the result of the analytical model, and the ROI containing the optimal design that meets the requirements is obtained again using the analytical model. However, this is not the only approach. As mentioned earlier, in practical applications, these multiple proxy evaluation models can be used in combination as described above, or they can be used individually. Regardless of the method used, a balance between evaluation time and accuracy can be achieved overall.

[0073] In one feasible approach, a fuzzy neural network model can be periodically updated and trained using reinforcement learning based on the evaluation results of multiple fidelity agents to optimize the design evaluation system of this embodiment. Exemplarily, this optimization process is as follows: Figure 3C As shown.

[0074] Depend on Figure 3C As can be seen, prior design knowledge can be integrated into fuzzy neural network models through knowledge bases and rule bases. For example, fuzzification layers can be set based on knowledge bases, specifically by configuring membership functions in the fuzzification layers so that prior design knowledge information is carried in the hyperparameters of the membership functions. Another example is setting up regularization layers based on rule bases, such as defining the relationships between IF nodes and THEN nodes in the regularization layer (using edges) to express corresponding prior design knowledge information. However, this is not limited to these methods. Furthermore, when initializing model parameters in the fuzzy neural network model, prior design knowledge information from the knowledge base and rule base can be used to initialize these adjustable model parameters, resulting in higher training and data processing efficiency.

[0075] Based on this, when the design metrics corresponding to the SoC, such as CPI, area, and power, are input into the fuzzy neural network model, they are processed sequentially through its fuzzification layer, regularization layer, and defuzzification layer to obtain corresponding updated parameters, i.e., structural parameters, such as cache size, number of ALUs, ROB size, etc. These parameters will be evaluated through a multi-fidelity proxy, such as... Figure 3CAs shown in this example, the multi-fidelity proxy calls different proxy evaluation models from the proxy pool to evaluate the structural parameters output by the fuzzy neural network model and outputs the evaluation results. Subsequently, the fuzzy neural network model can calculate the reward (in reinforcement learning) based on the evaluation results. Based on the design metrics of the original input corresponding to the evaluation results and the structural parameter adjustment amount of the model output, the model is updated and trained so that the updated model can output better structural parameter adjustment amounts, thereby providing better design support for the subsequent SoC design.

[0076] In addition, such as Figure 3C As shown, the design evaluation system of this embodiment may further include design spaces based on different microarchitectures. The search engine can then operate within this search space and output multiple sets of different structural parameters. Additionally, the design evaluation system of this embodiment may also include storage space for storing design metrics and structural parameters, and a target function plugin for generating or updating the target function based on the evaluation results output by the multi-fidelity proxy. Therefore, the update training of the fuzzy neural network model can employ reinforcement learning, performing periodic update training of the fuzzy neural network model based on the target function output by the target function plugin.

[0077] Therefore, through the design evaluation system of this embodiment, on the one hand, because the fuzzy neural network model has a good ability to represent structural knowledge, designers can more easily understand and learn its fuzzy reasoning logic, thus making the search engine interpretable for SoC design, enabling the SoC design to be white-boxed, and providing reference and assistance for current and subsequent designs. On the other hand, the designer's prior design knowledge can be embedded into the fuzzy neural network model, acting on the current design through fuzzy logic reasoning; moreover, the fuzzy neural network model also has good self-learning ability. All of these factors enable the trained fuzzy neural network model to better process design indicators, outputting more reasonable and accurate structural parameters, thereby providing strong data support for SoC design, and enabling the subsequently obtained SoC to have better performance in practical applications. Furthermore, by evaluating the SoC design based on structural parameters through multi-fidelity proxies, an effective balance can be achieved between evaluation time and accuracy.

[0078] It should be noted that the descriptions of some functional units and their functions in the design evaluation system of this embodiment are relatively simple, and the relevant parts can be referred to the descriptions of the corresponding parts in the foregoing method embodiments.

[0079] Example 3

[0080] Reference Figure 4The diagram shows a structural schematic of an electronic device according to Embodiment 5 of this application. The specific embodiments of this application do not limit the specific implementation of the electronic device.

[0081] like Figure 4 As shown, the electronic device may include: a processor 402, a communications interface 404, a memory 406, and a communications bus 408.

[0082] in:

[0083] The processor 402, communication interface 404, and memory 406 communicate with each other via communication bus 408.

[0084] Communication interface 404 is used to communicate with other electronic devices or servers.

[0085] The processor 402 is used to execute program 410, specifically the relevant steps in the above method embodiments.

[0086] Specifically, program 410 may include program code that includes computer operation instructions.

[0087] Processor 402 may be a CPU, an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of this application. The smart device includes one or more processors, which may be processors of the same type, such as one or more CPUs; or processors of different types, such as one or more CPUs and one or more ASICs.

[0088] Memory 406 is used to store program 410. Memory 406 may include high-speed RAM memory, and may also include non-volatile memory, such as at least one disk storage device.

[0089] Program 410 may include multiple computer instructions. Specifically, program 410 may use multiple computer instructions to cause processor 402 to execute the operations corresponding to the design evaluation method based on design space exploration described in the foregoing method embodiments.

[0090] The specific implementation of each step in procedure 410 can be found in the corresponding descriptions of the steps and units in the above method embodiments, and has corresponding beneficial effects, which will not be repeated here. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the devices and modules described above can be referred to the corresponding process descriptions in the foregoing method embodiments, and will not be repeated here.

[0091] This application also provides a computer storage medium storing a computer program thereon, which, when executed by a processor, implements the method described in any of the foregoing method embodiments. The computer storage medium includes, but is not limited to, compact disc read-only memory (CD-ROM), random access memory (RAM), floppy disk, hard disk, or magneto-optical disk.

[0092] This application also provides a computer program product, including computer instructions that instruct a computing device to perform the operation corresponding to the design evaluation method based on design space exploration in the above method embodiments.

[0093] It should be noted that, depending on the implementation needs, the various components / steps described in the embodiments of this application can be broken down into more components / steps, or two or more components / steps or parts of the operation of components / steps can be combined into new components / steps to achieve the purpose of the embodiments of this application.

[0094] The methods described in the embodiments of this application can be implemented in hardware, firmware, or as software or computer code that can be stored in a recording medium (such as a CD-ROM, RAM, floppy disk, hard disk, or magneto-optical disk), or as computer code downloaded over a network that is originally stored in a remote recording medium or a non-transitory machine-readable medium and will be stored in a local recording medium. Thus, the methods described herein can be stored on a recording medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware (such as an Application Specific Integrated Circuit (ASIC) or a Field Programmable Gate Array (FPGA)). It is understood that the computer, processor, on-chip system controller, or programmable hardware includes storage components (e.g., Random Access Memory (RAM), Read-Only Memory (ROM), Flash memory, etc.) capable of storing or receiving software or computer code, which, when accessed and executed by the computer, processor, or hardware, implements the methods described herein. Furthermore, when a general-purpose computer accesses code used to implement the methods shown herein, the execution of the code transforms the general-purpose computer into a dedicated computer for executing the methods shown herein.

[0095] Those skilled in the art will recognize that the units and method steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the embodiments of this application.

[0096] The above embodiments are only used to illustrate the embodiments of this application, and are not intended to limit the embodiments of this application. Those skilled in the art can make various changes and modifications without departing from the spirit and scope of the embodiments of this application. Therefore, all equivalent technical solutions also fall within the scope of the embodiments of this application, and the patent protection scope of the embodiments of this application should be defined by the claims.

Claims

1. A design evaluation method based on design space exploration, comprising: Obtain the design specifications corresponding to the on-chip system to be evaluated; The design indicators are subjected to fuzzy logic reasoning using a fuzzy neural network model, and the structural parameters corresponding to the design indicators are determined based on the reasoning results. The design structure of the on-chip system corresponding to the structural parameters is evaluated to obtain the evaluation results; The fuzzy neural network model includes: a fuzzification layer, a regularization layer, and a defuzzification layer; The fuzzification layer is used to fuzzify the design indicators so as to map the design indicators to corresponding fuzzy values ​​according to the membership function, wherein the hyperparameters in the membership function carry prior design knowledge information. The rule layer is used to perform rule processing on the fuzzy value based on the pre-set fuzzification rules expressed by conditional statements to obtain the corresponding structural parameter fuzzy adjustment rules. The antecedent of the fuzzification rule only includes the input of the design index associated with the corresponding structural parameter. The deblurring layer is used to deblur the structural parameters corresponding to the structural parameter fuzzing adjustment rules according to the structural parameter fuzzing adjustment rules, so as to adjust and map the structural parameters to precise values.

2. The method of claim 1, wherein, The step of performing fuzzy logic reasoning on the design indicators using a fuzzy neural network model and determining the structural parameters corresponding to the design indicators based on the reasoning results includes: By using a fuzzy neural network model, the design indicators are sequentially fuzzified, regularized, and defuzzified to obtain the precise adjustment values ​​of the structural parameters corresponding to the design indicators. Adjust the precise values ​​based on the parameters, and update the structural parameters corresponding to the design indicators.

3. The method of claim 2, wherein, The step of using a fuzzy neural network model to sequentially perform fuzzification, regularization, and defuzzification processes on the design indicators to obtain precise values ​​for adjusting the structural parameters corresponding to the design indicators includes: The design indicators are fuzzified using a fuzzy neural network model to obtain fuzzy values ​​corresponding to the design indicators. Based on the pre-set fuzzification rules, the fuzzy values ​​are processed to obtain the corresponding fuzzy adjustment rules for structural parameters; According to the fuzzy adjustment rule of the structural parameters, the structural parameters corresponding to the fuzzy adjustment rule are defuzzified to obtain the precise value of the structural parameters.

4. The method according to claim 1, wherein, The method further includes: The fuzzy neural network model is periodically updated and trained using reinforcement learning to update at least the hyperparameters in the membership function and the model parameters used to map the design index to precise values.

5. The method according to claim 4, wherein, The step of periodically updating and training the fuzzy neural network model through reinforcement learning includes: The fuzzy neural network model is periodically updated and trained using reinforcement learning based on a preset objective function. The objective function is a function used to characterize the relationship between the performance index changes caused by the changes in the structural parameters and the area utilization rate of the on-chip system.

6. The method according to any one of claims 1-3, wherein, The evaluation of the design structure of the on-chip system corresponding to the structural parameters, and the obtaining of the evaluation results, include: A multi-fidelity proxy evaluation is performed on the design structure of the on-chip system corresponding to the structural parameters to obtain the evaluation results.

7. The method according to claim 6, wherein, The process of performing multi-fidelity proxy evaluation on the design structure of the on-chip system corresponding to the structural parameters to obtain the evaluation results includes: Multiple proxy evaluation models are used to perform multi-fidelity proxy evaluation on the design structure of the on-chip system corresponding to the structural parameters, and the evaluation results are obtained. Different agent evaluation models have different evaluation times and / or evaluation accuracy.

8. The method according to claim 7, wherein, The multiple proxy evaluation models include at least: analytical models and very large-scale integrated circuit process models.

9. The method according to claim 8, wherein, The method of using multiple proxy evaluation models to perform multi-fidelity proxy evaluation on the design structure of the on-chip system corresponding to the structural parameters, and obtaining evaluation results, includes: Using the analytical model, a low-fidelity proxy evaluation is performed on the design structure of the on-chip system corresponding to the structural parameters to obtain the target region of interest in the design structure. The design structure of the target region of interest is evaluated using the VLSI process model to obtain the evaluation results.

10. A design evaluation system based on design space exploration, comprising: Search engines and evaluation agencies; in, The search engine is used to obtain the design metrics corresponding to the system-on-a-chip to be evaluated; fuzzy logic reasoning is performed on the design metrics through a fuzzy neural network model, and the structural parameters corresponding to the design metrics are determined based on the reasoning results; The evaluation agent is used to evaluate the design structure of the on-chip system corresponding to the structural parameters and obtain the evaluation results. The fuzzy neural network model includes: a fuzzification layer, a regularization layer, and a defuzzification layer; The fuzzification layer is used to fuzzify the design indicators so as to map the design indicators to corresponding fuzzy values ​​according to the membership function, wherein the hyperparameters in the membership function carry prior design knowledge information. The rule layer is used to perform rule processing on the fuzzy value based on the pre-set fuzzification rules expressed by conditional statements to obtain the corresponding structural parameter fuzzy adjustment rules. The antecedent of the fuzzification rule only includes the input of the design index associated with the corresponding structural parameter. The deblurring layer is used to deblur the structural parameters corresponding to the structural parameter fuzzing adjustment rules according to the structural parameter fuzzing adjustment rules, so as to adjust and map the structural parameters to precise values.

11. The system according to claim 10, wherein, The evaluation agent is a multi-fidelity agent, which is used to perform multi-fidelity agent evaluation on the design structure of the on-chip system corresponding to the structural parameters using multiple agent evaluation models to obtain evaluation results; wherein, different agent evaluation models have different evaluation times and / or evaluation accuracies.

12. An electronic device, comprising: The processor, memory, communication interface, and communication bus are provided, wherein the processor, memory, and communication interface communicate with each other via the communication bus. The memory is used to store at least one executable instruction that causes the processor to perform the operation corresponding to the method as described in any one of claims 1-9.

13. A computer storage medium having a computer program stored thereon, which, when executed by a processor, implements the method as described in any one of claims 1-9.