Information processing system, electronic device, and information processing method
The information processing system addresses the inefficiencies in EDA tools by employing machine learning and natural language models to automatically optimize circuit layouts, thereby reducing design time and improving performance.
Patent Information
- Application Number
- PCT/IB2024/061770
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-01
- Filing Date
- 2024-11-25
- Publication Date
- 2025-06-05
AI Technical Summary
The existing EDA tools face challenges in efficiently finding optimal combinations of netlists and floorplans to achieve high-performance circuit layouts, leading to lengthy design times.
An information processing system utilizing a machine learning model to predict probability distributions of target parameters and an acquisition function to infer optimal floorplans, combined with a natural language model for code optimization, to streamline the layout design process.
The system significantly reduces the time required for layout design by automatically identifying optimal floorplans and code configurations that achieve desired performance metrics, such as drive frequency and power consumption.
Smart Images

Figure IB2024061770_05062025_PF_FP_ABST
Abstract
Description
Information processing system, electronic device, and information processing method
[0001] One aspect of the present invention relates to an information processing system, an electronic device, and an information processing method.
[0002] Note that one embodiment of the present invention is not limited to the above technical field. The technical field of the invention disclosed in this specification and the like relates to an object, a driving method, or a manufacturing method. Alternatively, one embodiment of the present invention relates to a process, a machine, manufacture, or a composition of matter. Therefore, specific examples of the technical field of one embodiment of the present invention disclosed in this specification include semiconductor devices, display devices, liquid crystal display devices, light-emitting devices, power storage devices, imaging devices, memory devices, signal processing devices, processors, electronic devices, systems, driving methods thereof, manufacturing methods thereof, and testing methods thereof.
[0003] In recent years, electronic design automation (EDA) tools have been used as design tools in the circuit design of semiconductor devices, etc. EDA tools are tools that automate design work and are used to ensure development speed, product standards, safety standards, etc.
[0004] Furthermore, EDA tools use a netlist and floorplan (e.g., cell density, aspect ratio, submodule placement coordinates, submodule placement angle, pin coordinates, etc.) in a hardware description language as input data, and generate a circuit layout by referring to the netlist and floorplan. Note that the performance of the generated circuit depends on the input data netlist and floorplan, so an optimal netlist and floorplan must be found to obtain a high-performance circuit layout. Patent Document 1 discloses an apparatus and method for shortening the circuit design time by synthesizing netlists for a subsystem that operates with digital variable signals and a subsystem that operates with analog variable signals, inputting the netlists into a single hardware description language-based simulator, and acquiring circuit behavior.
[0005] Recently, development of artificial intelligence (AI) has been vigorously pursued. In particular, generative AI, which uses a natural language model, a type of AI, has attracted much attention. For example, Patent Document 2 discloses a processing method for responding to text with text, as an invention using a natural language model.
[0006] JP 2023-129282 A JP 2023-86661 A
[0007] As explained in the background art above, the performance of a circuit layout output by an EDA tool, such as drive frequency, depends on the contents of the code (including the netlist) written in a hardware description language and the floorplan. To obtain a layout that realizes a high-performance circuit, it is necessary to adjust the code and floorplan to find a combination of code and floorplan that satisfies the desired performance. However, since there are countless combinations of floorplan and code, it takes a lot of time to find the optimal combination.
[0008] An object of one embodiment of the present invention is to provide an information processing system that outputs a high-performance circuit layout, or to provide an information processing system that reduces the time required for layout design, or to provide a novel information processing system.
[0009] Another object of one embodiment of the present invention is to provide an information processing method that outputs a high-performance circuit layout, or to provide an information processing method that reduces the time required for layout design, or to provide a novel information processing method.
[0010] Note that the problem of one embodiment of the present invention is not limited to the above problem. The above problem does not preclude the existence of other problems. Note that the other problems are problems not mentioned in this section, which will be described below. Problems not mentioned in this section can be derived by a person skilled in the art from the description in the specification or drawings, and can be appropriately extracted from these descriptions. Note that one embodiment of the present invention solves at least one of the above problem and other problems, and does not necessarily solve all of the above problem and other problems.
[0011] In this specification, values that represent desired performance are called “target parameters.” Examples of target parameters include drive frequency, power consumption, and area.
[0012] First, a plurality of randomly sampled floor plans are prepared and input into an EDA tool together with the code of the desired circuit, and layout design data (sometimes called GDS (Graphic Design System) data) and report data are generated for each floor pattern. Furthermore, first target parameters are calculated from each piece of report data, and pairs of the floor plans and the corresponding first target parameters are stored as learning data.
[0013] Next, a program including a machine learning model is used to predict the probability distribution of the target parameter depicted by the training data, and an acquisition function is used to infer a second floor plan from the probability distribution in which the target parameter is maximized or minimized. Then, report data is calculated again using the EDA tool using the second floor plan and the aforementioned code, and the second target parameter is calculated. The pair of the second floor plan and the second target parameter input to the EDA tool is added to the previous training data and stored. After that, the program including the machine learning model is run again a predetermined number of times to infer the second floor plan and calculate the second target parameter, and each is added to the training data.
[0014] After repeating a program equipped with a machine learning model a predetermined number of times, the maximum or minimum first target parameter or second target parameter is searched for from among the multiple first or second target parameters contained in the learning data, and the first or second floor plan contained in the same set is read out, thereby obtaining a floor plan for a circuit having the desired performance and corresponding GDS data.
[0015] In the above example, the second floorplan is input as a variable into the EDA tool to obtain the second target parameter. However, the description of the code input into the EDA tool along with the second floorplan may also be treated as a variable (hereinafter, sometimes referred to as a first description, a second description, etc.). That is, a set including the floorplan, the code (or the first description, the second description, etc. included therein), and the first target parameter calculated therefrom by the EDA tool may be retained as learning data, a program including a machine learning model may be used to predict a probability distribution of the target parameter, and an acquisition function may be used to calculate the second floorplan and the code (or the first description, the second description included therein) that maximize or minimize the target parameter from the probability distribution. This not only enables a floorplan for a circuit having desired performance to be obtained, but also enables code optimization.
[0016] Representative examples of the invention in this specification will be described below.
[0017] (1) One aspect of the present invention is an information processing system including a first device, a second device, a third device, a fourth device, and a storage device. The first device includes a design tool, and the first device has functions of acquiring code and first design parameters from the fourth device, calculating first report data from the code and the first design parameters using the design tool, extracting first target parameters from the first report data, and transmitting the data to the fourth device; and acquiring code and second design parameters, calculating second report data from the code and the second design parameters using the design tool, extracting second target parameters from the second report data, and transmitting the data to the fourth device. The code includes a description abstracted using a register transfer level hardware description language. The first design parameters include a pair of a randomly sampled first floorplan and a first description included in the code. The second design parameters include a pair of a second floorplan inferred by the second device and a second description inferred by the second device. The second description is a description that has been changed from the first description.
[0018] The storage device has a function of storing a first set including a first description, a first floor plan, and a first target parameter in a database as learning data, and a function of storing a second set including a second description, a second floor plan, and a second target parameter in the database as learning data.
[0019] The second device has a first program including a machine learning model, and has a function of acquiring a change content range and a search range from the fourth device, and using the first program to infer a second floorplan and a second description that maximize or minimize the target parameter in the search range based on the change content range and learning data, and transmitting the second floorplan and second description to the fourth device. Note that the change content range is a range of content that can be rewritten in the first description.
[0020] The third device has a second program including a natural language model, and the third device has a function of acquiring, in the second program, the second description, the code, and a rewrite command from the fourth device as a prompt, rewriting the first description of the code to the second description, and transmitting the rewritten code to the fourth device.
[0021] The fourth device has a function of externally acquiring design parameters and a search range, a function of transmitting the code and the first floor plan or the second floor plan to the first device, a function of transmitting the search range to the second device, a function of transmitting the first set or the second set to a storage device, a function of transmitting the second description, the second floor plan, and target parameters to the storage device, a function of acquiring learning data from a database of the storage device and transmitting it to the second device, a function of transmitting the second description and the code to a third device if the first description and the second description do not match, and a function of referring to the database of the storage device to acquire from the learning data the first floor plan or the second floor plan and the first description or the second description that are included in the first set or the second set that is the same as the first target parameter or the second target parameter that is maximum or minimum in the search range, and outputting them to the outside.
[0022] (2) Alternatively, one aspect of the present invention is an information processing system including a first device, a second device, a third device, and a storage device. The first device includes a design tool, and the first device has functions of acquiring code and first design parameters, calculating first report data from the code and the first design parameters using the design tool, and extracting first target parameters from the first report data, and acquiring code and second design parameters, calculating second report data from the code and the second design parameters using the design tool, and extracting second target parameters from the second report data. The code includes a description abstracted using a register transfer level hardware description language. The first design parameters include a pair of a randomly sampled first floorplan and a first description included in the code. The second design parameters include a pair of a second floorplan inferred by the second device and a second description inferred by the second device. The second description is a description modified from the first description.
[0023] The second device has a first program including a machine learning model, and has a function of externally acquiring a change content range and a search range and inferring a second floorplan and a second description based on the change content range and learning data, in which the target parameter is maximized or minimized within the search range, using the first program. The change content range is a range of content that can be rewritten in the first description.
[0024] The third device is equipped with a second program including a natural language model, and the third device has a function of acquiring the first description, the second description, the code, and a rewrite command from the second device as prompts in the second program, and rewriting the first description of the code to the second description if the first description and the second description do not match.
[0025] The storage device has a function of storing a first set including a first description, a first floor plan, and a first target parameter in a database as learning data, a function of storing a second set including a second description, a second floor plan, and a second target parameter in the database as learning data, and a function of referencing the database to obtain from the learning data the first floor plan or the second floor plan and the first description or the second description that are included in the first set or the second set that is the same as the first target parameter or the second target parameter that is maximum or minimum in the search range, and outputting the obtained data to the outside.
[0026] (3) Alternatively, in one aspect of the present invention, in the above (1) or (2), the machine learning model may include one or more selected from a Bayesian optimization model, a grid search, a simulated annealing, a genetic algorithm, and a reinforcement learning.
[0027] (4) Another embodiment of the present invention is an electronic device including a first calculation device, a second calculation device, a storage device, and an interface, wherein the first calculation device, the second calculation device, the storage device, and the interface are electrically connected to each other by a bus wiring.
[0028] The storage device includes a design tool, a first program including a machine learning model, and a second program including a natural language model.
[0029] The first computing unit has a function of reading and launching a design tool from the storage device, calculating first report data from the code and first design parameters, and extracting first target parameters from the first report data, and a function of reading and launching a design tool from the storage device, calculating second report data from the code and second design parameters, and extracting second target parameters from the second report data. The code includes a description abstracted using a register transfer level hardware description language. The first design parameters include a pair of a randomly sampled first floorplan and a first description included in the code. The second design parameters include a pair of a second floorplan inferred by the second computing unit and a second description inferred by the second computing unit. The second description is a description modified from the first description.
[0030] The storage device has a function of storing a first set including a first description, a first floor plan, and a first target parameter in a database as learning data, and a function of storing a second set including a second description, a second floor plan, and a second target parameter in the database as learning data.
[0031] The second arithmetic unit has a function of reading the first program from the storage device and starting it, and inferring a second floorplan and a second description that maximize or minimize the target parameter in an externally provided search range based on an externally provided change content range and learning data, a function of sending a rewrite command to the second program when the first description and the second description have different contents, and a function of reading the second program from the storage device and starting it, obtaining the second description, code, and rewrite command as a prompt, and rewriting the first description of the code with the second description. The change content range is the range of content that the first description can be rewritten, and the search range is the range of the target parameter.
[0032] The interface has a function of acquiring a first design parameter and a search range from a user, and a function of acquiring a first floor plan or a second floor plan and a first description or a second description included in the same first set or second set as the first target parameter or the second target parameter that is maximum or minimum in the search range from the learning data stored in the storage device, and outputting the acquired information to the outside.
[0033] (5) Alternatively, in one aspect of the present invention, in the above (4), the machine learning model may include one or more selected from a Bayesian optimization model, a grid search, a simulated annealing, a genetic algorithm, and a reinforcement learning.
[0034] (6) Another embodiment of the present invention is an information processing method including first to seventh steps.
[0035] The first step includes an operation in which a fourth device externally acquires first design parameters, a search range, a change content range, and an iteration count, and an operation in which the fourth device acquires code from a storage device. The first design parameters include a randomly sampled first floorplan and a first description included in the code. The code includes a description abstracted using a register transfer level hardware description language. The change content range is a range of content that can be rewritten in the first description.
[0036] The second step includes an operation in which the first device acquires the code and first design parameters, calculates first report data from the code and the first floor plan using a design tool provided in the first device, and extracts first target parameters from the first report data, and an operation in which the storage device stores the first description and a first set including the first description, the first floor plan, and the first target parameters in a database as learning data.
[0037] The third step includes an operation in which the second device acquires the learning data and the search range, and infers, by a first program provided in the second device, second design parameters that maximize or minimize the target parameter within the search range based on the change content range and the learning data. The first program includes a machine learning model. The second design parameters include a second floorplan and a second description. The second description is a description that is modified from the first description.
[0038] The fourth step has a determination operation of proceeding to a fifth step if the first description and the second description do not match, and proceeding to a sixth step if the first description and the second description match.
[0039] A fifth step includes an operation in which the third device receives the second description and the code as a prompt and a rewrite command from the fourth device, and rewrites the first description of the code with the second description in a second program included in the third device, the second program including a natural language model.
[0040] The sixth step includes an operation in which the first device calculates second report data from the code and the second floor plan using a design tool and extracts second target parameters from the second report data, and an operation in which the storage device adds a second set including the second description, the second design parameters, and the second target parameters to the learning data and stores it in the database.
[0041] The seventh step includes an operation of the fourth device referencing the database in the storage device, obtaining from the learning data the first floor plan or the second floor plan and the first description or the second description that are included in the same first set or the second set as the first target parameter or the second target parameter that is maximum or minimum in the search range, and outputting them to the outside. Note that the search range is the range of the target parameters.
[0042] In this information processing method, the third to sixth steps are repeated a certain number of times before the seventh step is performed.
[0043] (7) Alternatively, one embodiment of the present invention is an information processing method that includes first to seventh steps and is different from the above-described (6).
[0044] The first step includes an operation in which the first device acquires first design parameters, a change range, a number of repetitions, and an external operation, and an operation in which the first device acquires code from a storage device. The first design parameters include a randomly sampled first floorplan and a first description included in the code. The code includes a description abstracted using a register transfer level hardware description language. The change range is a range of content that can be rewritten in the first description.
[0045] The second step includes an operation in which the first device acquires the code and first design parameters, calculates first report data from the code and the first floor plan using a design tool provided in the first device, and extracts first target parameters from the first report data, and an operation in which the storage device stores a first set including the first description, the first floor plan, and the first target parameters in a database as learning data.
[0046] The third step includes the following operations: the second device externally acquires a search range; the second device acquires learning data from a database in a storage device; and the second device infers and outputs second design parameters that maximize or minimize the target parameter within the search range based on the change content range and the learning data, using a first program provided in the second device. The first program includes a machine learning model. The second design parameters include a second floorplan and a second description. The second description is a description that has been changed from the first description.
[0047] The fourth step has a determination operation of proceeding to a fifth step if the first description and the second description do not match, and proceeding to a sixth step if the first description and the second description match.
[0048] A fifth step includes an operation of the third device acquiring the second description and the code as a prompt and a rewrite command from the second device, and rewriting the first description of the code with the second description in a second program included in the third device, the second program including a natural language model.
[0049] The sixth step includes an operation in which the first device calculates second report data based on the code and the second floor plan using a design tool and extracts second target parameters from the second report data, and an operation in which the storage device adds a second set including the second description, the second design parameters, and the second target parameters to the learning data and stores it in the database.
[0050] The seventh step includes an operation in which the storage device refers to the database and outputs, from the learning data, the first floorplan or the second floorplan and the first description or the second description that are included in the same first set or the second set as the first target parameter or the second target parameter that is maximum or minimum in the search range. The search range is the range of the target parameters.
[0051] In this information processing method, the third to sixth steps are repeated a certain number of times.
[0052] (8) Alternatively, in one aspect of the present invention, in the above (6) or (7), the machine learning model may include one or more selected from a Bayesian optimization model, a grid search, a simulated annealing, a genetic algorithm, and a reinforcement learning.
[0053] By using the information processing system described in (1) or (2), the electronic device described in (4), or the information processing method described in (6) or (7), it is possible to obtain a floor plan that satisfies a circuit having desired performance and optimal code for that circuit. This significantly reduces the time required to adjust the floor plan or code by oneself, thereby shortening the time required for layout design.
[0054] According to one embodiment of the present invention, it is possible to provide an information processing system that outputs a high-performance circuit layout, or an information processing system that reduces the time required for layout design, or a novel information processing system.
[0055] According to one embodiment of the present invention, it is possible to provide an information processing method for outputting a high-performance circuit layout, or an information processing method for reducing the time required for layout design, or a novel information processing method.
[0056] Note that the effects of one embodiment of the present invention are not limited to the above-described effects. The above-described effects do not preclude the existence of other effects. The other effects are described below and are not mentioned in this section. Effects not mentioned in this section can be derived by a person skilled in the art from the description in the specification or drawings, and can be extracted as appropriate from these descriptions. Note that one embodiment of the present invention has at least one of the above-described effects and other effects, but may not have all of the effects.
[0057] 1A and 1B are block diagrams showing an example of an information processing system. FIG. 2 is a block diagram showing an example of data input to the information processing system. FIG. 3 is a flowchart showing an example of an information processing method. FIG. 4 is a block diagram showing an example of the operation of the information processing system. FIGS. 5A and 5B are block diagrams showing an example of the operation of the information processing system. FIG. 6 is a block diagram showing an example of the operation of the information processing system. FIGS. 7A and 7B are block diagrams showing an example of the operation of the information processing system. FIG. 8 is a block diagram showing an example of an information processing system. FIG. 9 is a flowchart showing an example of an information processing method. FIG. 10 is a block diagram showing an example of an electronic device. FIG. 11 is a flowchart showing an example of an information processing method.
[0058] (Additional Notes Related to the Present Specification) In the present specification and the like, a semiconductor device is a device that utilizes semiconductor characteristics, and refers to a circuit including a semiconductor element (for example, a transistor, a diode, and a photodiode), or a device having such a circuit. A semiconductor device also refers to any device that can function by utilizing semiconductor characteristics. An example of a semiconductor device is an integrated circuit. Another example of a semiconductor device is a chip equipped with an integrated circuit, and another example of a semiconductor device is an electronic component that houses a chip in a package. For example, a memory device, a display device, a light-emitting device, a lighting device, and an electronic device may themselves be a semiconductor device, or may include a semiconductor device.
[0059] In this specification, ordinal numbers such as "first," "second," and "third" are used to avoid confusion between components. Therefore, they do not limit the number of components. Furthermore, they do not limit the order of the components. For example, a component referred to as "first" in one embodiment of this specification may be a component referred to as "second" in another embodiment or in the claims. Furthermore, for example, a component referred to as "first" in one embodiment of this specification may be omitted in another embodiment or in the claims.
[0060] Furthermore, in this specification, terms indicating position, such as "above" and "below," may be used for convenience in describing the positional relationship between components with reference to the drawings. Furthermore, the positional relationship between components changes as appropriate depending on the direction in which each configuration is depicted. Therefore, the terms are not limited to those described in the specification, and can be rephrased appropriately depending on the situation. For example, the expression "insulator located on the upper surface of a conductor" can be rephrased as "insulator located on the lower surface of a conductor" by rotating the orientation of the drawing by 180 degrees.
[0061] Furthermore, the terms "above" and "below" do not limit the positional relationship of components to being directly above or below and in direct contact with each other. For example, the expression "electrode B on insulating layer A" does not require that electrode B be formed in direct contact with insulating layer A, and does not exclude the inclusion of other components between insulating layer A and electrode B. Similarly, the expression "electrode B above insulating layer A" does not require that electrode B be formed in direct contact with insulating layer A, and does not exclude the inclusion of other components between insulating layer A and electrode B. Similarly, the expression "electrode B below insulating layer A" does not require that electrode B be formed in direct contact below insulating layer A, and does not exclude the inclusion of other components between insulating layer A and electrode B.
[0062] Furthermore, in this specification, terms such as "row" and "column" may be used to describe components arranged in a matrix and their positional relationships. Furthermore, the positional relationships between components change as appropriate depending on the direction in which each component is depicted. Therefore, the terms are not limited to those used in the specification, and may be rephrased appropriately depending on the situation. For example, the expression "row direction" may be rephrased as "column direction" by rotating the orientation of the drawing by 90 degrees.
[0063] Furthermore, the terms "electrode," "wiring," and "terminal" used in this specification and the like do not limit the functionality of these components. For example, an "electrode" may be used as part of a "wiring," and vice versa. Furthermore, the terms "electrode" or "wiring" include cases where multiple "electrodes" or "wirings" are integrally formed. Furthermore, for example, a "terminal" may be used as part of a "wiring" or "electrode," and vice versa. Furthermore, the term "terminal" includes cases where one or more selected from "electrode," "wiring," and "terminal" are integrally formed. Therefore, for example, an "electrode" can be part of a "wiring" or "terminal," and a "terminal" can be part of a "wiring" or "electrode." Furthermore, the terms "electrode," "wiring," and "terminal" may be replaced with the term "region" in some cases.
[0064] Furthermore, in this specification and the like, flowcharts may be used to explain the operation method of a semiconductor device. Furthermore, the flowcharts used in this specification and the like may include ideal operation examples, and each step described in the flowchart is not limited unless otherwise specified. The flowcharts described in this specification and the like may be modified depending on the situation. For example, two steps selected from a flowchart may be interchanged. Furthermore, the operation described in a step of a flowchart may be the operation of a separate step.
[0065] In this specification and the like, a metal oxide refers to an oxide of a metal in a broad sense. Metal oxides are classified into oxide insulators, oxide conductors (including transparent oxide conductors), oxide semiconductors (also referred to as oxide semiconductors or simply as OSs), and the like. For example, when a metal oxide is contained in a channel formation region of a transistor, the metal oxide may be referred to as an oxide semiconductor. In other words, when a metal oxide can form a channel formation region of a transistor having at least one of an amplifying function, a rectifying function, and a switching function, the metal oxide can be referred to as a metal oxide semiconductor. Furthermore, an OS transistor can be referred to as a transistor including a metal oxide or an oxide semiconductor.
[0066] In this specification and the like, nitrogen-containing metal oxides may also be collectively referred to as metal oxides. Nitrogen-containing metal oxides may also be referred to as metal oxynitrides.
[0067] In this specification and the like, the configurations shown in each embodiment can be appropriately combined with the configurations shown in other embodiments to form one aspect of the present invention. In addition, when multiple configuration examples are shown in one embodiment, the configuration examples can be appropriately combined with each other.
[0068] In addition, the content (part or all) described in one embodiment can be applied, combined, or replaced with at least one of another content (part or all) described in that embodiment and the content (part or all) described in one or more other embodiments.
[0069] The contents described in the embodiments refer to the contents described in each embodiment using various figures or the contents described using text in the specification.
[0070] Furthermore, a figure (part or all) described in one embodiment can be combined with another part of that figure, another figure (part or all) described in that embodiment, and at least one figure (part or all) described in one or more other embodiments to form even more figures.
[0071] The embodiments described in this specification are described with reference to the drawings. However, it will be readily understood by those skilled in the art that the embodiments can be implemented in many different ways, and that various changes in form and details can be made without departing from the spirit and scope of the invention. Therefore, the present invention should not be interpreted as being limited to the description of the embodiments. Note that in the configuration of the invention of the embodiments, the same reference numerals are used in different drawings for the same parts or parts having similar functions, and repeated description thereof may be omitted. Also, in perspective views and the like, the description of some components may be omitted to ensure clarity of the drawings.
[0072] In this specification, when the same reference numeral is used for multiple elements, and particularly when it is necessary to distinguish between them, an identification symbol such as "_1", "[n]", "[m, n]" may be added to the reference numeral. Also, when an identification symbol such as "_1", "[n]", "[m, n]" is added to the reference numeral in the drawings, etc., the identification symbol may not be added if it is not necessary to distinguish between them in this specification.
[0073] In addition, in the drawings of this specification, the size, layer thickness, or region may be exaggerated for clarity. Therefore, the drawings are not necessarily limited to the scale. Note that the drawings are schematic illustrations of ideal examples, and are not limited to the shapes, values, etc. shown in the drawings.
[0074] Embodiment 1 In this embodiment, an information processing system according to one embodiment of the present invention will be described.
[0075] <Configuration Example 1 of Information Processing System> Figure 1A is a block diagram showing an information processing system according to one embodiment of the present invention. The information processing system STM1 includes a device CCD, a device DGM, a device MCLRN, a device DTL, and a memory device MEM. Figure 1A also shows a user USR that exchanges information with the device CCD.
[0076] The device DTL includes, for example, an EDA tool. The EDA tool is software or a tool that can automatically design a circuit layout by inputting a floorplan (a floorplan FP1 or a floorplan FP2 described below) and a code CD. In this specification, the code CD is, for example, computer code including a description abstracted in a register transfer level (RTL) hardware description language.
[0077] The EDA tool performs logic synthesis, placement and routing, etc., based on the floor plan (floor plan FP1 or floor plan FP2, described below) and code CD to create GDS data for the circuit. The EDA tool also has a function for analyzing circuit characteristics, and can compile and output various circuit characteristics, such as the frequency characteristics, power consumption, and area of the circuit, from the floor plan and code as report data. As a result, the EDA tool uses this function to output the report data and extracts and outputs target parameters (target parameter TP1 or target parameter TP2, described below) from the various circuit characteristics included in the report data.
[0078] The floor plan includes information such as the aspect ratio, cell density, submodule placement coordinates, submodule placement angle, and pin coordinates, which are used by the user USR to design a circuit layout desired by the user USR.
[0079] The target parameters are physical quantities that indicate the circuit performance desired by the user USR, and include, for example, drive frequency, power consumption, area, etc. Conventionally, the user USR has adjusted the floor plan and code CD by trial and error to maximize the drive frequency, minimize the power consumption, or minimize the area as target parameters, but the information processing system STM1, which is one aspect of the present invention, proposes an optimal floor plan and code CD so that the target parameters are maximized or minimized.
[0080] Specifically, the information processing system STM1 is a system in which a first program including a machine learning model proposes a floor plan and code CD that maximizes or minimizes a target parameter in a circuit desired by a user USR, and a second program including a natural language model rewrites the code CD. By inputting the optimal floor plan and code CD proposed by the first program and the second program into an EDA tool of a device DTL, the user USR can obtain GDS data and report data that maximizes or minimizes the target parameter.
[0081] Next, the data IPD that the user USR inputs to the information processing system STM1 will be described.
[0082] As shown in FIG. 2, the data IPD includes a list FPL in which a plurality of floor plans FP1 are described, a change content range CRW, a search range RNG, and a number of repetitions ITA.
[0083] The floor plan FP1 includes information such as aspect ratio, cell density, submodule placement coordinates, submodule placement angle, and pin coordinates for designing the circuit layout desired by the user USR. In particular, in FIG. 2, the list FPL describes k (k is an integer equal to or greater than 1) randomly sampled floor plans FP1[1] to FP[k] as the multiple floor plans FP1. The random sampling may be determined using random numbers or may be determined randomly by the user USR. In this specification, any one of the floor plans FP1[1] to FP1[k] is referred to as floor plan FP1.
[0084] The code CD handled by the device DTL includes a description portion that can be rewritten by the second program, and in this specification, this description portion is referred to as the first description CP1. Also, the change content range CRW of the data IPD indicates the range of content that can be rewritten by the second program.
[0085] For example, if the first description CP1 included in the code CD has the description "the number of registers is 15" and the change content range CRW has the description "the number of registers is between 10 and 20", by rewriting the code CD using the second program, the content of the first description CP1 can be rewritten to "the number of registers is 11" or "the number of registers is 19", etc.
[0086] Also, for example, if the change content range CRW contains a description regarding "whether or not to divide modules" and the first description CP1 contains a description of "divide modules," the content of the first description CP1 can be rewritten to "do not divide modules" by rewriting the code CD using the second program.
[0087] As will be described in more detail later, the content rewritten from the first description CP1 by the second program is the content proposed in the first program, and therefore the range of change content CRW can also be said to be the range of content proposed in the first program.
[0088] In this specification, the floor plan input to the device DTL and the first description CP1 included in the code CD are collectively referred to as design parameters.
[0089] The search range RNG is the search range of the target parameter, and when the user USR sends the search range RNG to the information system STM1, the information system STM1 searches for the floor plan FP2 and the contents of the second description CP2 described below in which the target parameter is maximized or minimized within the search range.
[0090] The number of iterations ITA is the number of times inference is performed by a first program provided in the device MCLRN (described later) (sometimes called the number of searches).
[0091] Next, the memory device MEM, the device CCD, the device DGM, and the device MCLRN will be described.
[0092] The memory device MEM has, as an example, a memory area DS1 and a memory area DS2.
[0093] The storage area DS1 has, for example, a function of holding a code CD handled by the device DTL.
[0094] As an example, the memory area DS2 has a function of storing, as learning data LD, a set including a floor plan (floor plan FP1 or floor plan FP2 described later) input to the device DTL, the contents of the first description CP1 of the code CD or the contents of the second description CP2 described later, and target parameters (target parameters TP1 or target parameters TP2 described later) output from the device DTL.
[0095] The storage area DS1 and the storage area DS2 may be provided in the same storage area, or may be provided in different storage devices.
[0096] The device MCLRN includes, for example, a first program including a machine learning model, which acquires learning data LD, infers from the learning data LD a floor plan FP2 and a second description CP2 that maximize or minimize a target parameter, and outputs the floor plan FP2 and the second description CP2.
[0097] The second description CP2 is a description in a hardware description language that includes the content to be rewritten from the first description CP1 of the code CD. Note that the content of the first description CP1 and the second description CP2 may be the same. In other words, the inference result of the first program of the device MCLRN may include a case where the code CD is not rewritten. Note that this specification describes the first program of the device MCLRN proposing to change the first description CP1 of the code CD to the second description CP2. However, for convenience, even if the content of the first description CP1 and the second description CP2 is the same, the description will be used to describe the proposal to change the first description CP1 to the second description CP2.
[0098] The machine learning model provided in the first program may be, for example, a Bayesian optimization model, a grid search, a simulated annealing model, a genetic algorithm, or a reinforcement learning model.
[0099] The device DGM includes, for example, a second program including a natural language model, which receives a code CD, a second description CP2, and a rewrite command as a prompt, rewrites the first description CP1 of the code CD with the second description CP2, and outputs the rewritten code CD.
[0100] As an example, device CCD has a function of communicating with each of device DGM, device MCLRN, device DTL, storage area DS1, and storage area DS2.
[0101] Specifically, the device CCD has, for example, a function of acquiring data IPD given from the user USR as input data, and a function of providing data RSL to the user USR as output data.
[0102] The data RSL includes, for example, design parameters that maximize or minimize target parameters. In some cases, the data RSL may also include GDS data and report data that maximize or minimize target parameters in the learning data LD. By acquiring the data RSL, the user USR can obtain a desired circuit layout.
[0103] Moreover, the device CCD has, as an example, a function of accessing the storage area DS1 and writing the code CD into the storage area DS1, and a function of reading the code CD from the storage area DS1.
[0104] Also, the device CCD has a function of, for example, referencing the change content range CRW and extracting the first description CP1 written in advance in the code CD. Note that the device CCD only extracts the first description CP1 included in the code CD, and does not have a function of referencing the change content range CRW and changing the first description CP1.
[0105] In addition, as an example, the device CCD has a function of transmitting a floor plan (floor plan FP1 or floor plan FP2) and a code CD to the device DTL, and a function of calculating report data from the floor plan (floor plan FP1 or floor plan FP2) and the code CD from the device DTL and extracting target parameters (target parameters TP1 or target parameters TP2) from the report data.
[0106] Furthermore, as an example, the device CCD has a function of accessing the memory area DS2 and writing the floor plan (floor plan FP1 or floor plan FP2), the contents of the first description CP1 or the contents of the second description CP2 of the code CD, and the corresponding target parameters (target parameters TP1 or target parameters TP2) into the memory area DS2, and a function of reading out the floor plan (floor plan FP1 or floor plan FP2), the contents of the first description CP1 or the contents of the second description CP2 of the code CD, and the corresponding target parameters (target parameters TP1 or target parameters TP2) from the memory area DS2.
[0107] Furthermore, as an example, the device CCD has a function of transmitting to the device MCLRN a floor plan (floor plan FP1 or floor plan FP2), the contents of the first description CP1 of the code CD, and learning data LD including the corresponding target parameters, and a function of acquiring the floor plan FP2 and second description CP2 inferred using the learning data LD and in which the target parameters are maximized or minimized.
[0108] Furthermore, the device CCD has a function of, for example, comparing the first description CP1 with the second description CP2. If the comparison shows that the first description CP1 and the second description CP2 do not match, the device CCD transmits the code CD, the second description CP2, and a rewrite command for the code CD to the device DGM. This causes the device DGM to rewrite the contents of the code CD according to the second description CP2, and the device DGM transmits the rewritten code CD to the device CCD.
[0109] While the information processing system STM1 of FIG. 1A illustrates an example in which each device is connected to a device CCD at the center, the information processing system of one embodiment of the present invention is not limited to this. For example, the device CCD, device DTL, device MCLRN, device DGM, storage area DS1, and storage area DS2 shown in FIG. 1A may each be connected to each other via a network (e.g., a local area network, a wide area network, etc.). Specifically, the information processing system of one embodiment of the present invention may be configured in the same way as the information processing system STM1A of FIG. 1B, in which the device CCD, device DTL, device MCLRN, device DGM, and storage device MEM are each connected to each other via a network NW.
[0110] <<First Example of Information Processing Method>> Next, a method of operation of the information processing system STM1 shown in FIG. 1A (sometimes referred to as an information processing method) will be described.
[0111] FIG. 3 is a flowchart showing an example of an information processing method using the information processing system STM1 of FIG. 1A, and the information processing method includes steps ST1 to ST9.
[0112] [Step ST1] In step ST1, the device CCD acquires data IPD transmitted from the user USR. The data IPD includes a list FPL including floor plans FP1[1] to FP1[k], a change content range CRW, a search range RNG for the target parameters, and a number of iterations ITA.
[0113] Floor plans FP1[1] to FP1[k] include circuit information such as aspect ratio, cell density, etc., that has been randomly sampled in advance. The random sampling may be determined using random numbers, or may be determined randomly by the user USR. The list FPL may also include ranges of aspect ratio, cell density, etc. (sometimes referred to as floor plan ranges) that are used by the device MCLRN when inferring the floor plan.
[0114] As an example, the code CD is stored in the storage area DS1 as described above. In this operation example, step ST1 includes an operation in which the device CCD accesses the storage area DS1, reads out the code CD stored in the storage area DS1, and acquires the code CD.
[0115] The first description CP1 included in the code CD is a description included in the change content range CRW.
[0116] Step ST1 also includes an operation in which the device CCD refers to the change content range CRW and extracts the first description CP1 of the code CD in advance. For example, Figure 4 shows a schematic diagram of an operation in which the device CCD searches for the first description CP1 included in the code CD from the contents of the description in the change content range CRW and extracts the found first description CP1. Note that in this case, only the first description CP1 included in the code CD is extracted, and no operation is performed to change the first description CP1 by referring to the change content range CRW.
[0117] The search range RNG of the target parameter is a range that can be set by the user USR. When the user USR sets the search range RNG of the target parameter, the information processing system STM1 generates report data and GDS data that can take the maximum or minimum target parameter within that search range RNG.
[0118] The number of repetitions ITA is the number of times steps ST3 to ST8, which will be described later, are repeated. In this operation example, the number of repetitions ITA is M (M is an integer of 1 or more), and the number of times steps ST3 to ST8 are performed during this operation is i (i is an integer of 1 or more and M or less).
[0119] Step ST1 also includes an operation of setting i=1 in the device CCD.
[0120] [Step ST2] Step ST2 includes an operation in which the device CCD transmits the floor plan FP1 and the code CD to the device DTL. In other words, step ST2 includes an operation in which the device DTL acquires the floor plan FP1 and the code CD transmitted from the device CCD.
[0121] In this operation example, the first design parameters are described as having a floor plan FP1 and a first description CP1 included in the code CD.
[0122] Step ST2 also includes an operation in which the EDA tool of the device DTL creates first GDS data using the floor plan FP1 and the code CD included in the first design parameters. Step ST2 also includes an operation in which the device DTL calculates first report data from the floor plan FP1 and the code CD and extracts target parameters TP1 from the first report data.
[0123] For example, the device DTL selects one floor plan from FP1[1] to FP1[k], creates first report data for each, and extracts target parameters TP1 from each first report data. That is, the number of target parameters TP1 extracted in step ST2 is k, which is the number of floor plans FP1 sent by the user USR to the device CCD. Figure 5A shows a schematic diagram of the operation of extracting target parameters TP1[1] to TP1[k] from first reports (not shown) calculated from the code CD and each of the floor plans FP1[1] to FP1[k].
[0124] Step ST2 also includes an operation in which the device CCD acquires target parameters TP1 corresponding to the floor plan FP1 and the code CD transmitted from the device DTL. This can be rephrased as step ST2 including an operation in which the device DTL transmits target parameters TP1 corresponding to the floor plan FP1 and the code CD to the device CCD.
[0125] Step ST2 also includes an operation in which the device CCD accesses the storage area DS2, and the storage area DS2 stores a first set including the floor plan FP1, the first description CP1, and the corresponding target parameters TP1 in the database as learning data LD. Note that Fig. 5B shows a schematic diagram of the operation in which the storage area DS2 stores the first set including the floor plan FP1, the first description CP1, and the corresponding target parameters TP1 as learning data LD.
[0126] In addition, step ST2 may include an operation in which one or both of the first report data and the first GDS data generated by the device DTL is stored in a memory area (e.g., memory area DS1, memory area DS2, or other memory area).
[0127] [Step ST3] Step ST3 includes an operation in which the device CCD accesses the storage area DS2, reads out the learning data LD held in the storage area DS2, and acquires the learning data LD.
[0128] Step ST3 includes an operation in which device CCD transmits to device MCLRN the learning data LD, the change content range CRW, and the search range RNG of the target parameter acquired in step ST1. This can be rephrased as an operation in which device MCLRN acquires the learning data LD, the change content range CRW, and the search range RNG of the target parameter acquired in step ST1, which have been transmitted from device CCD.
[0129] Step ST3 includes an operation of inferring second design parameters that maximize or minimize the target parameter in the search range RNG based on the learning data LD and the change content range CRW, using a first program including a machine learning model provided in the device MCLRN. The second design parameters include a floor plan FP2 and a second description CP2.
[0130] The floor plan FP2, like the floor plan FP1, includes the aspect ratio, cell density, etc., which are parameters obtained by the above inference.
[0131] The second description CP2 is obtained by rewriting the first description CP1 so as to satisfy the change content range CRW. Note that the rewriting from the first description CP1 to the second description CP2 is obtained by the above-mentioned inference.
[0132] The second description CP2 may have the same content as the first description CP1. In other words, when the above inference determines that rewriting from the first description CP1 is unnecessary, the device MCLRN outputs the second description CP2 having the same content as the first description CP1 as the inference result.
[0133] Step ST3 also includes an operation in which the device CCD acquires the second design parameters obtained by inference in the device MCLRN, which can be rephrased as "step ST3 includes an operation in which the device MCLRN transmits the second design parameters to the device CCD."
[0134] [Step ST4] Step ST4 includes a determination operation for determining a next operation to be performed in the device CCD according to the second description CP2 inferred in step ST3. Specifically, for example, if the second description CP2 and the first description CP1 match (denoted as "YES" in FIG. 3), the process proceeds to step ST6, and if the second description CP2 and the first description CP1 do not match (denoted as "NO" in FIG. 3), the process proceeds to step ST5.
[0135] [Step ST5] Step ST5 includes an operation in which the device CCD transmits the code CD, the second description CP2, and a rewrite command for the code CD to the device DGM. In other words, this can be said to include an operation in which the device DGM acquires the code CD and the second description CP2 transmitted from the device CCD.
[0136] Step ST5 includes an operation of acquiring the code CD, the second description CP2, and a rewrite command as a prompt by a second program including a natural language model provided in the device DGM, and rewriting the first description CP1 of the code CD to the second description CP2. Note that Fig. 6 shows an example of the operation of rewriting the first description CP1 of the code CD to the second description CP2.
[0137] Step ST5 also includes an operation in which the device DGM transmits the rewritten code CD to the device CCD, which can be rephrased as an operation in which the device CCD acquires the rewritten code CD transmitted from the device DGM.
[0138] Step ST5 may also include an operation in which the device CCD accesses the storage area DS1 and stores the rewritten code CD in the storage area DS1.
[0139] [Step ST6] Step ST6 includes an operation in which the device CCD transmits the floor plan FP2 and the code CD to the device DTL. Note that this can be rephrased as step ST6 including an operation in which the device DTL acquires the floor plan FP2 and the code CD transmitted from the device CCD.
[0140] Similarly to step ST2, step ST6 also includes an operation of calculating the floor plan FP2, the code CD, and second report data included in the second design parameters by an EDA tool of the device DTL, and extracting target parameters TP2 from the second report data. At this time, the EDA tool may also include an operation of generating second GDS data. Note that FIG. 7A is a schematic diagram illustrating an operation of extracting target parameters TP2 from a second report (not shown) calculated from the code CD and the floor plan FP2. Note that although the code CD shown in FIG. 7A includes the second description CP2, if step ST5 has not been performed (i.e., if the first description CP1 and the second description CP2 are the same in the determination operation of step ST4), the second description CP2 may be written as the first description CP1.
[0141] Furthermore, step ST6 includes an operation in which the device CCD acquires target parameters TP2 corresponding to each of the floor plan FP2 and the code CD transmitted from the device DTL. Note that this can be rephrased as step ST2 including an operation in which the device DTL transmits target parameters TP2 corresponding to each of the floor plan FP2 and the code CD to the device CCD.
[0142] Step ST6 also includes an operation in which the device CCD accesses the storage area DS2, adds a second set including the floor plan FP2, the second description CP2, and the corresponding target parameters TP2 to the learning data LD in the storage area DS2, and stores the second set in the database. FIG. 7B shows a schematic diagram of the operation in which the second set including the floor plan FP2, the second description CP2, and the corresponding target parameters TP2 is stored as the learning data LD in the storage area DS2. Note that although the code CD shown in FIG. 7B includes the second description CP2, if step ST5 has not been performed (if the first description CP1 and the second description CP2 are the same in the determination operation of step ST4), the second description CP2 may be written as the first description CP1.
[0143] Furthermore, step ST6 may include an operation in which the report data and second GDS data generated by the device DTL are stored in a memory area (e.g., memory area DS1, memory area DS2, or another memory area).
[0144] [Step ST7] Step ST7 includes an operation of adding 1 to i in the device CCD.
[0145] [Step ST8] Step ST8 has a determination operation of determining the next operation to be performed depending on the value of i. Specifically, for example, if i does not exceed M (indicated as "NO" in FIG. 3), the process proceeds to step ST3, and if i exceeds M (indicated as "YES" in FIG. 3), the process proceeds to step ST9.
[0146] [Step ST9] Step ST9 includes an operation in which the device CCD refers to the database in the storage area DS2, acquires from the learning data LD the floor plan and the first description CP1 or the second description CP2 included in the first or second set including the target parameter that is the maximum or minimum in the search range RNG of the target parameter, and provides these to the user USR as data RSL. Note that step ST9 may also include an operation in which the device CCD reads out a code CD containing the first description CP1 or the second description CP2 from the storage area DS1 and provides this to the user USR. Step ST9 may also include an operation in which the device CCD accesses the storage area DS2, reads out one or both of the GDS data and report data from which the target parameter has been extracted from the storage area DS2, includes this in data RSL, and provides this to the user USR.
[0147] As described above, by using the information processing system STM1 shown in Fig. 1A or the information processing system STM1A shown in Fig. 1B, or the information processing method shown in the flowchart of Fig. 3, it is possible to obtain a floor plan FP2 that satisfies a circuit having desired performance, and the optimal code CD and GDS data for that circuit. This makes it possible to significantly reduce the time required to manually adjust the floor plan FP2 or code CD, and also shorten the time required for layout design.
[0148] Incidentally, in the above information processing method, in order to execute a first program including a machine learning model, it has been described that the input data to the first program includes a plurality of randomly sampled floor plans FP1. However, in addition to the plurality of floor plans FP1, the contents of the first description CP1 of the code CD may also be randomized and used as input data to the first program.
[0149] As a result, in step ST2, a plurality of floor plans FP1 and a plurality of first descriptions CP1 are combined to extract a plurality of target parameters TP1 in the device DTL. Also, a first set including the floor plan FP1, the first description CP1, and the corresponding target parameters TP1 may be stored in a database as learning data LD in the storage area DS2.
[0150] In this case, the code CD is required for the number of first descriptions CP1 to be random. Therefore, the code CD needs to be rewritten each time it is input to the device DTL, so the first description CP1 of the code CD may be rewritten using the device DGM before input to the device DTL. Alternatively, the user USR may prepare the code CD for the number of first descriptions CP1 to be random and input them as input data to the information processing system STM1.
[0151] <Configuration Example 2 of Information Processing System> Note that the information processing system according to one embodiment of the present invention is not limited to the configuration shown in Figures 1A and 1B. For example, the information processing systems in Figures 1A and 1B are provided with a device CCD that has a function of controlling each device, but the information processing system may be configured such that devices other than the device CCD communicate with each other. In other words, the information processing system may be configured without a device CCD.
[0152] Fig. 8 shows an example of the configuration of an information processing system that is different from the information processing system STM1 shown in Fig. 1A and the information processing system STM1A shown in Fig. 1B. The information processing system STM2 in Fig. 8 is a modified example of the information processing system STM1A, and as described above, differs from the information processing system STM1A in that it does not include a CCD device.
[0153] 8 also shows a host computer HSC operated by a user USR, and an example in which the user USR transmits data IPD from the host computer HSC to the information processing system STM2.
[0154] Specifically, for example, the host computer HSC transmits the floor plan FP1 included in the data IPD to the device DTL via the network NW. The host computer HSC also transmits the search range RNG and change content range CRW of the target parameters included in the data IPD to the device MCLRN via the network NW.
[0155] Furthermore, since the information processing system STM2 does not have a device CCD, it is preferable that some of the functions of the device CCD provided in the information processing system STM1 or the information processing system STM1A be possessed by each device included in the information processing system STM2 in Figure 8.
[0156] For example, the storage area DS1 preferably has the function of transmitting the code CD not only to the device DTL but also to the device DGM.
[0157] Furthermore, for example, the device DTL may have a function of acquiring the code CD and the change content range CRW, and extracting a first description CP1 that is written in advance in the code CD by referring to the change content range CRW. This allows the device DTL to extract the first description CP1 and store the first description CP1 as a first set including a floor plan FP1 and target parameters TP1 in a database in the storage area DS2. Therefore, it is preferable that the device DTL has a function of transmitting the first description CP1, floor plan FP1, and target parameters TP1 to the storage area DS2 via the network NW.
[0158] For example, the storage area DS2 preferably has a function of transmitting the learning data LD to the device MCLRN via the network. The storage area DS2 preferably has a function of transmitting the first description CP1 to the device DGM via the network.
[0159] Furthermore, for example, the device MCLRN preferably has a function of transmitting, to the device DGM via the network, a second description CP2 inferred by the first program using the learning data LD. Furthermore, the device MCLRN preferably has a function of transmitting, to the device DTL via the network, a floor plan FP2 inferred by the first program using the learning data LD.
[0160] Furthermore, for example, the device DGM preferably has a function of acquiring the first description CP1 and the second description CP2 and performing a comparison operation between the first description CP1 and the second description CP2. If the comparison operation determines that the first description CP1 and the second description CP2 do not match, the device DGM rewrites the contents of the code CD according to the second description CP2 and transmits the rewritten code CD and the second description CP2 to the device DTL. If the comparison operation determines that the first description CP1 and the second description CP2 match, the device DGM transmits the code CD together with the second description CP2 to the device DTL without rewriting the contents. The second description CP2 may also be transmitted to the storage area DS2.
[0161] <<Example 2 of Information Processing Method>> Next, a method of operation of the information processing system STM2 shown in FIG. 8 will be described.
[0162] FIG. 9 is a flowchart showing an example of an information processing method using the information processing system STM2 of FIG. 8, and the information processing method includes steps ST11 to ST19.
[0163] [Step ST11] In step ST11, the device DTL acquires data IPD and code CD transmitted from the user USR. The data IPD includes a list FPL including floor plans FP1[1] to FP1[k], a change content range CRW, a search range RNG for the target parameters, and the number of repetitions ITA.
[0164] For the list FPL including floor plans FP1[1] to FP1[k], the change content range CRW, the search range RNG of the target parameters, and the number of repetitions ITA, please refer to the explanation of example 1 of the information processing method.
[0165] The code CD is stored in the storage area DS1, for example. Therefore, in this operation method, step ST11 includes an operation in which the device DTL accesses the storage area DS1, reads out the code CD stored in the storage area DS1, and acquires the code CD.
[0166] Step ST11 includes an operation in which the device DTL refers to the change content range CRW and extracts the first description CP1 written in advance in the code CD. Note that here, only the first description CP1 included in the code CD is extracted, and no operation is performed to change the first description CP1 by referring to the change content range CRW.
[0167] In this operation example, the first design parameters are described as including the floor plan FP1 and the first description CP1 included in the code CD.
[0168] Step ST11 also includes an operation in which the device MCLRN acquires the search range RNG of the target parameter transmitted from the user USR.
[0169] Step ST11 also includes an operation in which the storage area DS2 acquires the number of repetitions ITA transmitted from the user USR.
[0170] In this operation example, the number of repetitions ITA is M (M is an integer greater than or equal to 1), and the number of times steps ST13 to ST18 are performed during this operation is i (i is an integer greater than or equal to 1 and less than or equal to M).
[0171] Step ST11 also includes an operation of setting i=1 in the storage area DS2.
[0172] [Step ST12] Step ST12 includes an operation in which the device DTL calculates first report data from the floor plan FP1 and the code CD, and extracts target parameters TP1 from the first report data. Step ST12 also includes an operation in which the EDA tool of the device DTL creates first GDS data from the floor plan FP1 and the code CD included in the first design parameters.
[0173] For example, the device DTL selects one by one from floor plans FP1[1] to FP1[k], creates first report data for each, and extracts target parameters TP1 from each first report data. In other words, the number of target parameters TP1 extracted in step ST12 is k, which is the number of floor plans FP1 transmitted by the user USR to the device CCD.
[0174] Further, step ST12 includes an operation in which the device DTL accesses the memory area DS2 and transmits to the memory area DS2 the floor plan FP1, the extracted first description CP1, and the target parameters TP1 corresponding to each of the floor plan FP1 and the code CD.
[0175] Step ST12 also includes an operation in which the storage area DS2 stores a first set including the floor plan FP1, the first description CP1, and the target parameters TP1 transmitted from the device DTL in the database as learning data LD.
[0176] In addition, step ST12 may include an operation in which one or both of the first report data and the first GDS data generated by the device DTL is stored in a memory area (e.g., memory area DS1, memory area DS2, or other memory area).
[0177] [Step ST13] Step ST13 includes an operation in which the storage area DS2 reads out the learning data LD and transmits it to the device MCLRN.
[0178] In addition, step ST13 includes an operation in which the device MCLRN infers, by a first program including a machine learning model, second design parameters that maximize or minimize the target parameter within the search range RNG of the target parameter acquired in step ST11, based on the learning data LD and the change content range CRW acquired in step ST11. Note that the second design parameters include a floor plan FP2 and a second description CP2.
[0179] The floor plan FP2 includes the aspect ratio, cell density, etc., similar to the floor plan FP2 described in the example 1 of the information processing method, and these are parameters obtained by the above inference.
[0180] The second description CP2 is obtained by rewriting the first description CP1 so as to satisfy the change content range CRW, similar to the second description CP2 described in the example of information processing method 1. Note that the rewriting of the first description CP1 into the second description CP2 is obtained by the above-mentioned inference.
[0181] The second description CP2 may have the same content as the first description CP1. In other words, when the above inference determines that rewriting from the first description CP1 is unnecessary, the device MCLRN outputs the second description CP2 having the same content as the first description CP1 as the inference result.
[0182] Step ST13 includes an operation in which the device MCLRN transmits the second description CP2 to the device DGM. If the contents of the first description CP1 and the second description CP2 are different, the device MCLRN transmits a rewrite command to the device DGM.
[0183] [Step ST14] Step ST14 includes a determination operation for determining the next operation to be performed in the device DGM according to the second description CP2 inferred in step ST13. Specifically, for example, if the second description CP2 and the first description CP1 match (denoted as "YES" in FIG. 9), the process proceeds to step ST16, and if the second description CP2 and the first description CP1 do not match (denoted as "NO" in FIG. 9), the process proceeds to step ST15.
[0184] [Step ST15] Step ST15 includes an operation in which the device DGM accesses the storage area DS1, reads out the code CD stored in the storage area DS1, and acquires the code CD.
[0185] In addition, step ST15 includes an operation in which a second program including a natural language model provided in the device DGM acquires the code CD, the second description CP2, and a rewrite command as a prompt, and rewrites the corresponding description of the code CD according to the second description CP2.
[0186] Also, step ST15 includes an operation in which the device DGM transmits the rewritten code CD to the device DTL.
[0187] Step ST15 may also include an operation in which the device DGM accesses the storage area DS1 and stores the rewritten code CD in the storage area DS1.
[0188] [Step ST16] Step ST16 includes an operation in which the device DGM transmits the second description CP2 to the device DGM.
[0189] Similarly to step ST12, step ST16 also includes an operation in which the device DTL calculates second report data from the floor plan FP2 and the code CD included in the second design parameters using the EDA tool of the device DTL, and extracts target parameters TP2 from the second report data. At this time, the EDA tool also includes an operation in which the device DTL generates second GDS data.
[0190] Step ST16 also includes an operation in which the device DTL accesses the memory area DS2 and transmits to the memory area DS2 the floor plan FP2, the second description CP2, and target parameters TP2 corresponding to each of the floor plan FP2 and the code CD.
[0191] Furthermore, step ST16 includes an operation in which the storage area DS2 adds a second set including the floor plan FP2, the second description CP2, and the target parameters TP2 transmitted from the device DTL to the learning data LD and stores the second set in the database. Note that if step ST15 is not performed (if the first description CP1 and the second description CP2 are the same in the determination operation of step ST14), the content of the second description CP2 is the same as the content of the first description CP1. In other words, in this case, the storage area DS2 adds a second set including the floor plan FP2, the first description CP1, and the target parameters TP2 to the learning data LD and stores the second set in the database.
[0192] Furthermore, step ST16 may include an operation in which the report data and second GDS data generated by the device DTL are stored in a memory area (e.g., memory area DS1, memory area DS2, or another memory area).
[0193] [Step ST17] Step ST17 includes an operation of adding 1 to i in the storage area DS2.
[0194] [Step ST18] Step ST18 has a determination operation of determining the next operation to be performed depending on the value of i. Specifically, for example, if i does not exceed M (indicated as "NO" in FIG. 3), the process proceeds to step ST13, and if i exceeds M (indicated as "YES" in FIG. 3), the process proceeds to step ST19.
[0195] [Step ST19] Step ST19 includes an operation in which the storage area DS2 refers to the database, acquires from the learning data LD a floor plan and a first description CP1 or a second description CP2 included in the same first or second set as the target parameter that is maximum or minimum in the search range RNG of the target parameter, and provides these as data RSL to the user USR. Note that step ST19 may also include an operation in which a code CD containing the first description CP1 or the second description CP2 is read from the storage area DS1 and provided to the user USR. Step ST19 may also include an operation in which the storage area DS2 reads one or both of the GDS data and report data from which the target parameter has been extracted, includes these in data RSL, and provides these to the user USR.
[0196] As described above, by using the information processing system STM2 shown in Fig. 8 or the information processing method shown in the flowchart of Fig. 9, it is possible to obtain a floor plan that satisfies a circuit having desired performance and optimal code for that circuit. This significantly reduces the time required to manually adjust the floor plan or code, thereby shortening the time required for layout design.
[0197] Incidentally, in the above information processing method, in order to execute a first program including a machine learning model, it has been described that the input data to the first program includes a plurality of randomly sampled floor plans FP1. However, in addition to the plurality of floor plans FP1, the contents of the first description CP1 of the code CD may also be randomized and used as input data to the first program.
[0198] As a result, in step ST12, a plurality of floor plans FP1 and a plurality of first descriptions CP1 are combined to extract a plurality of target parameters TP1 in the device DTL. Also, a first set including the floor plan FP1, the first description CP1, and the corresponding target parameters TP1 may be stored in a database as learning data LD in the storage area DS2.
[0199] In this case, the code CD is required for the number of first descriptions CP1 to be random. Therefore, the code CD needs to be rewritten each time it is input to the device DTL, so the first description CP1 of the code CD may be rewritten using the device DGM before input to the device DTL. Alternatively, the user USR may prepare the code CD for the number of first descriptions CP1 to be random and input them as input data to the information processing system STM1.
[0200] <Configuration Example 3 of Information Processing System> Although an information processing system is illustrated in each of FIGS. 1A, 1B, and 8, one embodiment of the present invention may be a configuration of an electronic device.
[0201] Fig. 10 is a block diagram showing an example of the configuration of an electronic device according to one aspect of the present invention. The electronic device ELCR shown in Fig. 10 includes a calculation unit PRC, a calculation unit AIAC, a memory device MEM, and an interface IF. Fig. 10 also shows a user USR as a source of data to the interface IF and a destination of data from the interface IF.
[0202] The electronic device ELCR is provided with, for example, a bus line BSL, which electrically connects a calculation unit PRC, a calculation unit AIAC, a memory device MEM, and an interface IF.
[0203] The calculation device PRC is, for example, a device that executes applications or program data installed in the electronic device ELCR, and may be called a processing device. Also, for example, a CPU (Central Processing Unit) may be applied to the calculation device PRC. In this configuration example, the calculation device PRC has a function as a device that executes a design tool DT such as an EDA tool.
[0204] As an example, the arithmetic unit AIAC is a processing device specialized for the calculation of an artificial neural network, and is capable of performing matrix calculations, function calculations, etc. For this reason, the arithmetic unit AIAC may also be called an AI accelerator. Furthermore, some functions of a GPU (Graphics Processing Unit) may be used as the arithmetic unit AIAC. In this configuration example, the arithmetic unit AIAC functions as a device that executes a program PRG1 including a machine learning model and a program PRG2 including a natural language model.
[0205] The memory device MEM has a memory area DS1 and a memory area DS2, similar to the memory devices MEM shown in Figures 1A, 1B, and 8. The memory device MEM also has a memory area DS3 in addition to the memory area DS1 and the memory area DS2.
[0206] The storage area DS1 has a function of storing, for example, the code CD handled by the design tool DT. For the code CD, the explanation of the code CD handled by the information processing system STM1 can be referred to.
[0207] As an example, the memory area DS2 has a function of storing, as learning data LD, a second set including a floor plan (floor plan FP1 or floor plan FP2) and a first description CP1 or a second description CP2, which are input data to the design tool DT, and target parameters (target parameters TP1 or target parameters TP2) output by the design tool DT.
[0208] The storage area DS3 has a function of holding application or program data such as the design tool DT, the program PRG1, and the program PRG2, for example.
[0209] The storage areas DS1, DS2, and DS3 may be provided in the same storage area, or two or more selected from the storage areas DS1, DS2, and DS3 may be provided in different storage devices.
[0210] As an example, the interface IF has a function to acquire a first design parameter and a search range from the user USR, and a function to acquire a floor plan and a first description CP1 or a second description CP2 included in the same first or second set as the target parameter that is maximum or minimum in the search range from the learning data LD stored in the memory area DS2, and provide them to the user USR.
[0211] <<Third Example of Information Processing Method>> Next, a method of operating the electronic device ELCR shown in FIG. 10 will be described.
[0212] FIG. 11 is a flowchart showing an example of an operation method using the electronic device ELCR of FIG. 10, and the operation method includes steps ST21 to ST29.
[0213] [Step ST21] Step ST21 includes an operation in which the arithmetic unit PRC accesses the storage area DS3, reads out the design tool DT, and starts it up in the arithmetic unit PRC.
[0214] Step ST21 also includes an operation in which the arithmetic unit PRC acquires data IPD and code CD required for the operation of the design tool DT.
[0215] The data IPD includes a list FPL including floor plans FP1[1] to FP1[k], a change content range CRW, a search range RNG for target parameters, and a number of repetitions ITA. For the list FPL including floor plans FP1[1] to FP1[k], the change content range CRW, the search range RNG for target parameters, and the number of repetitions ITA, see the explanation of example 1 of the information processing method.
[0216] For example, the data IPD can be obtained by the user USR inputting it into the electronic device ELCR via the interface IF, and the code CD can be obtained by the calculation device PRC accessing the memory area DS1 and reading out the code CD stored in the memory area DS1.
[0217] Step ST21 also includes an operation in which the calculation device PRC refers to the change content range CRW and extracts the first description CP1 written in advance in the code CD. Note that here, only the first description CP1 included in the code CD is extracted, and no operation is performed to change the first description CP1 by referring to the change content range CRW.
[0218] In this operation example, the first design parameters are described as having a floor plan FP1 and a first description CP1 included in the code CD.
[0219] Step ST21 also includes an operation in which the calculation device PRC acquires the number of repetitions ITA.
[0220] The number of repetitions ITA can be obtained, for example, by the user USR inputting it into the electronic device ELCR via the interface IF.
[0221] The number of repetitions ITA is the number of times steps ST23 to ST28, which will be described later, are repeated. In this operation example, the number of repetitions ITA is M (M is an integer of 1 or more), and the number of times steps ST23 to ST28 are performed during this operation is i (i is an integer of 1 to M).
[0222] Step ST21 also includes an operation of setting i=1 in the calculation device PRC.
[0223] [Step ST22] Step ST22 also includes an operation in which the calculation device PRC calculates first report data from the floor plan FP1 and the code CD included in the first design parameters using the design tool DT, and extracts target parameters TP1 from the first report data. At this time, the design tool DT also includes an operation in which the design tool DT generates first GDS data.
[0224] For example, the design tool DT selects one floor plan at a time from floor plans FP1[1] to FP1[k], creates first report data for each of them, and extracts target parameters TP1 from each of the first report data. In other words, the number of target parameters TP1 extracted in step ST22 is k, which is the number of floor plans FP1 input by the user USR to the electronic device ELCR.
[0225] In addition, step ST22 includes the operation of the calculation device PRC accessing the memory area DS2 and storing a first set including the floor plan FP1, the first description CP1, and the corresponding target parameters TP1 in the database as learning data LD in the memory area DS2.
[0226] In addition, step ST22 may include an operation in which one or both of the first report data and the first GDS data generated by the design tool DT is stored in a memory area (for example, one of memory areas DS1 to DS3, or another memory area).
[0227] [Step ST23] Step ST23 includes an operation in which the arithmetic unit PRC accesses the storage area DS3, reads out the program PRG1, and causes the arithmetic unit AIAC to execute it.
[0228] Step ST23 also includes an operation in which the arithmetic unit AIAC acquires the learning data LD, the search range RNG of the target parameter, and the change content range CRW, which are necessary for the operation of the program PRG1.
[0229] As an example, the learning data LD can be read from the storage area DS2 by the calculation device PRC or the calculation device AIAC accessing the storage area DS2.
[0230] Furthermore, the search range RNG of the target parameter can be obtained, for example, by the user USR inputting it into the electronic device ELCR via the interface IF.
[0231] Furthermore, since the change content range CRW is acquired by the arithmetic unit PRC in step ST21, for example, the arithmetic unit AIAC can acquire the change content range CRW by accessing the arithmetic unit PRC.
[0232] In step ST23, the arithmetic unit AIAC executes the program PRG1 including the machine learning model to infer second design parameters that maximize or minimize the target parameter in the search range RNG based on the learning data LD and the change content range CRW. The second design parameters include the floor plan FP2 and the second description CP2.
[0233] The floor plan FP2, like the floor plan FP1, includes the aspect ratio, cell density, etc., which are parameters obtained by the above inference.
[0234] The second description CP2 is obtained by rewriting the first description CP1 so as to satisfy the change content range CRW. Note that the rewriting from the first description CP1 to the second description CP2 is obtained by the above-mentioned inference.
[0235] The second description CP2 may have the same content as the first description CP1. In other words, when it is determined by the above inference that rewriting from the first description CP1 is unnecessary, the arithmetic unit AIAC outputs the second description CP2 having the same content as the first description CP1 as the inference result.
[0236] Furthermore, if the contents of the first description CP1 and the second description CP2 are different, the program PRG1 performs an operation of passing a rewrite command for the code CD to the program PRG2. For this reason, the program PRG1 contains code for sending a rewrite command for the code CD to the program PRG2.
[0237] [Step ST24] Step ST24 includes a determination operation in the calculation device PRC for determining a next operation to be performed according to the second description CP2 inferred in step ST23. Specifically, for example, if the second description CP2 and the first description CP1 match (denoted as "YES" in FIG. 11), the process proceeds to step ST26, and if the second description CP2 and the first description CP1 do not match (denoted as "NO" in FIG. 11), the process proceeds to step ST25.
[0238] [Step ST25] Step ST25 includes an operation in which the arithmetic unit PRC accesses the storage area DS3, reads out the program PRG2, and starts it in the arithmetic unit AIAC.
[0239] Step ST25 also includes an operation in which the arithmetic unit AIAC acquires a code CD required for the operation of the program PRG2.
[0240] The code CD can be read from the storage area DS1 by, for example, the calculation unit PRC or the calculation unit AIAC accessing the storage area DS1.
[0241] In addition, step ST25 includes an operation in which the arithmetic unit AIAC acquires the code CD, the second description CP2, and a rewrite command from the program PRG1 as prompts using the program PRG2 including a natural language model, and rewrites the corresponding description of the code CD according to the second description CP2.
[0242] Step ST25 may also include an operation in which the arithmetic unit AIAC accesses the storage area DS1 and stores the rewritten code CD in the storage area DS1.
[0243] [Step ST26] In step ST26, similarly to step ST22, the calculation device PRC calculates second report data from the floor plan FP2 and the code CD included in the second design parameters using the design tool DT, and extracts target parameters TP2 from the second report data. At this time, the design tool DT also generates second GDS data from the floor plan FP2 and the code CD.
[0244] Furthermore, step ST26 includes an operation in which the calculation device PRC accesses the storage area DS2, and adds a second set including the floor plan FP2, the second description CP2, and the corresponding target parameters TP2 to the learning data LD in the storage area DS2, and stores the second set in the database. Note that if step ST25 is not performed (if the first description CP1 and the second description CP2 are the same in the determination operation of step ST24), the content of the second description CP2 is the same as the content of the first description CP1, and therefore, in this case, the calculation device PRC includes an operation in which the second set including the floor plan FP2, the first description CP1, and the target parameters TP2 is added to the learning data LD and stored in the database.
[0245] In addition, step ST26 may include an operation in which the second GDS data generated by the design tool DT is stored in a memory area (e.g., one of memory areas DS1 to DS3, or another memory area).
[0246] [Step ST27] Step ST27 includes an operation in which the calculation device PRC adds 1 to i.
[0247] [Step ST28] Step ST28 includes a determination operation of determining the next operation to be performed depending on the value of i. Specifically, for example, if i does not exceed M (indicated as "NO" in FIG. 11), the process proceeds to step ST23, and if i exceeds M (indicated as "YES" in FIG. 11), the process proceeds to step ST29.
[0248] [Step ST29] Step ST29 includes an operation in which the calculation device PRC refers to the database in the storage area DS2, acquires from the learning data LD the floor plan and the first description CP1 or the second description CP2 included in the same first or second set as the target parameter that is maximum or minimum in the search range RNG of the target parameter, and provides these as data RSL to the user USR via the interface IF. Step ST29 may also include an operation in which the calculation device PRC accesses the corresponding storage area, reads out from the storage area one or both of the report data and the GDS data from which the target parameter has been extracted, includes these in the data RSL, and provides these to the user USR.
[0249] As described above, by using the electronic device shown in Fig. 10 or the information processing method shown in the flowchart of Fig. 11, it is possible to obtain a floorplan that satisfies a circuit having desired performance and optimal code for that circuit. This significantly reduces the time required to manually adjust the floorplan or code, thereby shortening the time required for layout design.
[0250] Incidentally, in the above information processing method, in order to execute a program PRG1 including a machine learning model, it has been explained that the input data to the program PRG1 includes a plurality of randomly sampled floor plans FP1. However, in addition to the plurality of floor plans FP1, the contents of the first description CP1 of the code CD may also be randomized and used as input data to the program PRG1.
[0251] As a result, in step ST22, a plurality of floor plans FP1 and a plurality of first descriptions CP1 are combined to extract a plurality of target parameters TP1 in the device DTL. Also, a first set including the floor plan FP1, the first description CP1, and the corresponding target parameters TP1 may be stored in a database as learning data LD in the storage area DS2.
[0252] In this case, the code CD is required for the number of random first descriptions CP1. Therefore, the code CD needs to be rewritten each time it is input to the calculation device PRC, so the first description CP1 of the code CD may be rewritten using the calculation device AIAC before input to the calculation device PRC. Alternatively, the user USR may prepare the code CD for the number of random first descriptions CP1 and input them as input data to the electronic device ELCR.
[0253] Note that this embodiment mode can be appropriately combined with the same or other embodiment modes described in this specification. For example, the configuration, structure, method, etc. described in this embodiment mode can be appropriately combined with another configuration, structure, method, etc. described in this embodiment mode. Furthermore, for example, the configuration, structure, method, etc. described in this embodiment mode can be appropriately combined with the configuration, structure, method, etc. described in other embodiment modes.
[0254] Embodiment 2 In this embodiment, a storage device included in the system or electronic device described in the above embodiment, a device (arithmetic device) that executes a program, and the like will be described.
[0255] <Storage Device> The storage device has at least one of a volatile memory and a non-volatile memory. Examples of volatile memory include DRAM (Dynamic Random Access Memory) and SRAM (Static Random Access Memory). Examples of non-volatile memory include ReRAM (Resistive Random Access Memory, also called resistance change memory), PRAM (Phase change Random Access Memory), FeRAM (Ferroelectric Random Access Memory), MRAM (Magnetoresistive Random Access Memory, also called magnetoresistive memory), and flash memory. The storage device may also have a recording media drive. Examples of recording media drives include hard disk drives (HDDs) and solid state drives (SSDs).
[0256] <Arithmetic Device> The arithmetic device may have, for example, an arithmetic circuit. The arithmetic device may have, for example, a central processing unit (CPU) as the arithmetic circuit. The arithmetic device may also have a graphics processing unit (GPU) as the arithmetic circuit. Note that in this specification and the like, the arithmetic circuit itself may sometimes be referred to as the arithmetic device.
[0257] The arithmetic device may have a microprocessor such as a DSP (Digital Signal Processor). The microprocessor may be configured to be implemented by a PLD (Programmable Logic Device) such as an FPGA (Field Programmable Gate Array) or an FPAA (Field Programmable Analog Array). The arithmetic device may also have a quantum processor. The arithmetic device can perform various data processing and program control by interpreting and executing instructions from various programs using the processor. Programs that can be executed by the processor are stored in at least one of a memory area and a storage device that the processor has.
[0258] The computing device may include a main memory, which may include at least one of a volatile memory such as a random access memory (RAM) and a non-volatile memory such as a read only memory (ROM).
[0259] The RAM may be, for example, a DRAM or an SRAM, and a virtual memory space is allocated and used as a working space for the computing device. The operating system, application programs, program modules, program data, lookup tables, and the like stored in the storage device are loaded into the RAM for execution. These data, programs, and program modules loaded into the RAM are each directly accessed and operated by the computing device.
[0260] The ROM can store a BIOS (Basic Input / Output System), firmware, etc., which do not require rewriting. Examples of ROM include mask ROM, OTPROM (One Time Programmable Read Only Memory), and EPROM (Erasable Programmable Read Only Memory). Examples of EPROMs include UV-EPROMs (Ultra-Violet Erasable Programmable Read Only Memories), which allow stored data to be erased by exposure to ultraviolet light, EEPROMs (Electrically Erasable Programmable Read Only Memories), and flash memories.
[0261] Furthermore, it is preferable that the information system STM1, the information system STM1A, the information system STM2, or the electronic device ELCR described in the above embodiments use AI for at least part of the processing.
[0262] It is particularly preferable that the device MCLRN and the device DGM use an artificial neural network (ANN, hereinafter also simply referred to as a neural network). The neural network is realized by a circuit (hardware) or a program (software).
[0263] In this specification, a neural network refers to a general model that mimics the neural circuit network of a living organism, determines the connection strength between neurons through learning, and has problem-solving capabilities. A neural network has an input layer, an intermediate layer (hidden layer), and an output layer.
[0264] In this specification and the like, when discussing neural networks, determining the connection strengths (also called weighting coefficients) between neurons from existing information may be referred to as "learning."
[0265] In this specification and the like, the act of constructing a neural network using connection strengths obtained by learning and deriving a new conclusion from it may be referred to as "inference."
[0266] <OS Transistor> One or more of the devices included in the information system STM1, the information system STM1A, the information system STM2, or the electronic device ELCR described in the above embodiments can each include one or both of a transistor having a metal oxide in a channel formation region (also referred to as an OS transistor) and a transistor having silicon in a channel formation region (also referred to as a Si transistor).
[0267] Note that in this specification and the like, a transistor whose channel formation region includes an oxide semiconductor or a metal oxide is referred to as an oxide semiconductor transistor or an OS transistor. The channel formation region of an OS transistor preferably includes a metal oxide.
[0268] In this specification and the like, a metal oxide refers to an oxide of a metal in a broad sense. Metal oxides are classified into oxide insulators, oxide conductors (including transparent oxide conductors), oxide semiconductors (also referred to as oxide semiconductors or simply as OSs), and the like. For example, when a metal oxide is used for a semiconductor layer of a transistor, the metal oxide may be referred to as an oxide semiconductor.
[0269] The metal oxide included in the channel formation region preferably contains indium (In). When the metal oxide included in the channel formation region contains indium, the carrier mobility (electron mobility) of the OS transistor is increased. Furthermore, the metal oxide included in the channel formation region is preferably an oxide semiconductor containing element M. The element M is preferably at least one of aluminum (Al), gallium (Ga), and tin (Sn). Other elements applicable to element M include boron (B), silicon (Si), titanium (Ti), iron (Fe), nickel (Ni), germanium (Ge), yttrium (Y), zirconium (Zr), molybdenum (Mo), lanthanum (La), cerium (Ce), neodymium (Nd), hafnium (Hf), tantalum (Ta), and tungsten (W). However, a combination of two or more of the above elements may be used as element M. The element M is, for example, an element having a high bond energy with oxygen. For example, it is an element having a higher bond energy with oxygen than indium. The metal oxide contained in the channel formation region is preferably a metal oxide containing zinc (Zn), since zinc-containing metal oxides may be easily crystallized.
[0270] The metal oxide contained in the channel formation region is not limited to a metal oxide containing indium. The semiconductor layer may be a metal oxide containing zinc but not indium, such as zinc-tin oxide or gallium-tin oxide, a metal oxide containing gallium, or a metal oxide containing tin.
[0271] One or more of the devices included in the information system STM1, the information system STM1A, the information system STM2, or the electronic device ELCR described in the above embodiments preferably include an OS transistor. Because an OS transistor has an extremely low off-state current, using the OS transistor as a switch for retaining charge (data) flowing into a capacitor functioning as a memory element can ensure a long data retention period. By utilizing this characteristic in at least one of the register and cache memory of the processing unit, the processing unit can be operated only when necessary and can be turned off at other times by saving information from the previous processing to the memory element. In other words, normally-off computing is possible, thereby enabling low power consumption in the information processing system.
[0272] Note that this embodiment mode can be appropriately combined with the same or other embodiment modes described in this specification. For example, the configuration, structure, method, etc. described in this embodiment mode can be appropriately combined with another configuration, structure, method, etc. described in this embodiment mode. Furthermore, for example, the configuration, structure, method, etc. described in this embodiment mode can be appropriately combined with the configuration, structure, method, etc. described in other embodiment modes.
[0273] AIAC: arithmetic unit, BSL: bus wiring, CCD: device, CD: code, CP1: first description, CP2: second description, CRW: change content range, DGM: device, DS1: storage area, DS2: storage area, DS3: storage area, DT: design tool, DTL: device, ELCR: electronic equipment, FP1: floor plan, FP2: floor plan, HSC: host computer, IF: interface, IPD: data, LD: learning data, MCLRN: device, MEM: storage device, NW: network, PRC: arithmetic unit, PRG1: program, PRG2: program, RNG: search range, RSL: data, STM1: information processing system, STM1A: information processing system, STM2: information processing system Stem, ST1: step, ST2: step, ST3: step, ST4: step, ST5: step, ST6: step, ST7: step, ST8: step, ST9: step, ST11: step, ST12: step, ST13: step, ST14: step, ST15: step, ST16: step, ST17: step, ST18: step, ST19: step, ST21: step, ST22: step, ST23: step, ST24: step, ST25: step, ST26: step, ST27: step, ST28: step, ST29: step, TP1: target parameter, TP2: target parameter, USR: user
Claims
A first device, a second device, a third device, a fourth device, and a storage device; the first device comprises a design tool; The first device is a function of acquiring a code and a first design parameter from the fourth device, calculating first report data from the code and the first design parameter by the design tool, extracting a first target parameter from the first report data, and transmitting the first target parameter to the fourth device; a function of acquiring the code and second design parameters from the fourth device, calculating second report data from the code and the second design parameters by the design tool, extracting second target parameters from the second report data, and transmitting the second report data to the fourth device; having the code includes an abstracted description using a register transfer level hardware description language; The first design parameters include a set of a randomly sampled first floorplan and a first description included in the code; the second design parameters include a set of a second floorplan inferred by the second device and a second description inferred by the second device; the second description is a description that is modified from the first description, the storage device has a function of storing a first set including the first description, the first floor plan, and the first target parameters in a database as learning data, and a function of storing a second set including the second description, the second floor plan, and the second target parameters in the database as the learning data; the second device includes a first program including a machine learning model; the second device has a function of acquiring a change content range and a search range from the fourth device, inferring the second floor plan and the second description in which a target parameter is maximized or minimized in the search range based on the change content range and the learning data by the first program, and transmitting the second floor plan and the second description to the fourth device; the change content range is a range of content that the first description can be rewritten; the third device comprises a second program including a natural language model; the third device has a function of acquiring, in the second program, the second description, the code, and a rewrite command from the fourth device as a prompt, rewriting the first description of the code with the second description, and transmitting the rewritten code to the fourth device; The fourth device is A function of externally acquiring the first design parameter and the search range; transmitting the code and the first floor plan or the second floor plan to the first device; transmitting the search range to the second device; transmitting the first set or the second set to the storage device; A function of acquiring the learning data from the database of the storage device and transmitting the learning data to the second device; if the first description and the second description do not match, transmitting the second description and the code to the third device; a function of referring to the database of the storage device, acquiring from the learning data the first floor plan or the second floor plan and the first description or the second description that are included in the same first set or the same second set as the first target parameter or the second target parameter that is maximum or minimum in the search range, and outputting the acquired information to the outside; Information processing system. A system including a first device, a second device, a third device, and a storage device, the first device comprises a design tool; The first device is a function of acquiring a code from the storage device, acquiring a first design parameter from an external source, calculating first report data from the code and the first design parameter by the design tool, and extracting a first target parameter from the first report data; a function of acquiring the code from the storage device, acquiring second design parameters, calculating second report data from the code and the second design parameters by the design tool, and extracting second target parameters from the second report data; the code includes an abstracted description using a register transfer level hardware description language; The first design parameters include a set of a randomly sampled first floorplan and a first description included in the code; the second design parameters include a set of a second floorplan inferred by the second device and a second description inferred by the second device; the second description is a description that is modified from the first description, the second device includes a first program including a machine learning model; the second device has a function of acquiring a change content range and a search range from an external device, and inferring the second floor plan and the second description, in which a target parameter is maximized or minimized in the search range, based on the change content range and learning data by the first program; the change content range is a range of content that the first description can be rewritten; the third device comprises a second program including a natural language model; The third device is the second program has a function of acquiring the first description, the second description, the code, and a rewrite command from the second device as a prompt, and rewriting the first description of the code to the second description when the first description and the second description do not match; The storage device includes: storing a first set in a database, the first set including the first description, the first floorplan, and the first target parameters; storing a second set in the database, the second set including the second description, the second floorplan, and the second target parameters; a function of acquiring, from the learning data, the second floor plan and the first description or the second description, which are included in the same first set or the same second set as the first target parameter or the second target parameter that is maximum or minimum in the search range, by referring to the database, and outputting the second floor plan and the first description or the second description to an outside; Information processing system. In claim 1 or 2, The machine learning model includes one or more selected from a Bayesian optimization model, a grid search, a simulated annealing, a genetic algorithm, and a reinforcement learning; Information processing system. A first calculation device, a second calculation device, a storage device, and an interface, the first arithmetic unit, the second arithmetic unit, the storage device, and the interface are electrically connected to each other by a bus line; the storage device comprises a design tool, a first program including a machine learning model, and a second program including a natural language model; The first computing device is a function of reading the design tool from the storage device, starting the design tool, calculating first report data from a code and first design parameters, and extracting first target parameters from the first report data; a function of reading out the design tool from the storage device, starting the design tool, calculating second report data from the code and second design parameters, and extracting second target parameters from the second report data; the code includes an abstracted description using a register transfer level hardware description language; The first design parameters include a set of a randomly sampled first floorplan and a first description included in the code; the second design parameters include a set of a second floorplan inferred by the second computing device and a second description inferred by the second computing device; the second description is a description that is modified from the first description, the storage device has a function of storing a first set including the first description, the first floor plan, and the first target parameters in a database as learning data, and a function of storing a second set including the second description, the second floor plan, and the second target parameters in the database as the learning data; The second calculation device is a function of reading out the first program from the storage device, starting the program, and inferring the second floorplan and the second description, in which a target parameter is maximized or minimized in the externally provided search range, based on an externally provided change content range and the learning data; a function of transmitting a rewrite command to the second program when the first description and the second description have different contents; a function of reading the second program from the storage device, starting the second program, obtaining the second description, the code, and the rewrite command as a prompt, and rewriting the first description of the code with the second description; the change content range is a range of content that the first description can be rewritten; The interface has a function of acquiring the first design parameter and the search range from a user, and a function of acquiring the second floor plan and the first description or the second description, which are included in the same first set or the same second set as the first target parameter or the second target parameter that is maximum or minimum in the search range, from the learning data stored in the storage device, and providing the second floor plan and the first description or the second description to the outside. electronic equipment. In claim 4, The machine learning model includes one or more selected from a Bayesian optimization model, a grid search, a simulated annealing, a genetic algorithm, and a reinforcement learning; electronic equipment. An information processing method having first to seventh steps, The first step comprises: an operation by a fourth device of externally acquiring the first design parameters, the search range, the change content range, and the number of iterations; and the fourth device obtaining the code from a storage device; The first design parameters include a randomly sampled first floorplan and a first description included in the code; the code includes an abstracted description using a register transfer level hardware description language; the change content range is a range of content that the first description can be rewritten; The second step comprises: an operation of a first device acquiring the code and the first design parameters, and calculating first report data from the code and the first floor plan by a design tool provided in the first device, and extracting first target parameters from the first report data; and an operation of the storage device storing a first set including the first description, the first floorplan, and the first target parameters in a database as learning data; The third step is a second device has an operation of acquiring the learning data and the search range, and inferring a second design parameter that maximizes or minimizes a target parameter in the search range based on the change content range and the learning data by a first program provided in the second device; the first program includes a machine learning model; the second design parameters include a second floorplan and a second description; the second description is a description that is modified from the first description, The fourth step is a determination operation of moving to the fifth step when the first description and the second description do not match, and moving to the sixth step when the first description and the second description match, The fifth step is a third device has an operation of acquiring, in a second program included in the third device, the second description, the code, and a rewrite command from the fourth device as a prompt, and rewriting the first description of the code to the second description; the second program includes a natural language model; The sixth step is an operation of the first device calculating second report data based on the code and the second floor plan using the design tool, and extracting second target parameters from the second report data; an operation of the storage device adding a second set including the second description, the second design parameters, and the second target parameters to the learning data and storing the second set in the database; The seventh step is the fourth device has an operation of referring to the database of the storage device, acquiring from the learning data the first floor plan or the second floor plan and the first description or the second description, which are included in the same first set or the same second set as the first target parameter or the second target parameter that is maximum or minimum in the search range, and outputting the acquired information to the outside, The third step to the sixth step are repeated the number of times, and then the seventh step is performed. Information processing methods. An information processing method having first to seventh steps, The first step comprises: A first device acquires a first design parameter, a range of changes, a number of repetitions, and an operation from an external source. and an operation of the first device obtaining the code from a storage device; The first design parameters include a randomly sampled first floorplan and a first description included in the code; the code includes an abstracted description using a register transfer level hardware description language; the change content range is a range of content that the first description can be rewritten; The second step comprises: an operation of the first device acquiring the code and the first design parameters, and calculating first report data from the code and the first floor plan by a design tool provided in the first device, and extracting first target parameters from the first report data; and an operation of the storage device storing a first set including the first description, the first floorplan, and the first target parameters in a database as learning data; The third step is An operation of the second device acquiring a search range from the outside; An operation of the second device acquiring the learning data from the database of the storage device; an operation of the second device inferring and outputting a second design parameter that maximizes or minimizes a target parameter in the search range based on the change content range and the learning data by a first program included in the second device; the first program includes a machine learning model; the second design parameters include a second floorplan and a second description; the second description is a description that is modified from the first description, The fourth step is a determination operation of moving to the fifth step when the first description and the second description do not match, and moving to the sixth step when the first description and the second description match, The fifth step is a third device has an operation of acquiring, in a second program included in the third device, the second description, the code, and a rewrite command from the second device as a prompt, and rewriting the first description of the code to the second description; the second program includes a natural language model; The sixth step is an operation of the first device calculating second report data based on the code and the second floor plan using the design tool, and extracting second target parameters from the second report data; an operation of the storage device adding a second set including the second description, the second design parameters, and the second target parameters to the learning data and storing the second set in the database; The seventh step is the storage device has an operation of referring to the database, and outputting, from the learning data, to the outside, the second floor plan and the first description or the second description, which are included in the same first set or the same second set as the first target parameter and the second target parameter that are maximum or minimum in the search range, The third step to the sixth step are repeated the number of times, and then the seventh step is performed. Information processing methods. In claim 6 or 7, The machine learning model includes one or more selected from a Bayesian optimization model, a grid search, a simulated annealing, a genetic algorithm, and a reinforcement learning; Information processing methods.
Citation Information
Patent Citations
Power consumption optimization method and semiconductor design device for semiconductor integrated circuit
JP2008112318A
Layout design system, and layout design method
WO2018234945A1
Method for designing wiring layout, program, and recording medium
WO2020188397A1