Design system and operation method for design system

The design system addresses the challenges of operating large language models by incorporating a database for error correction and utilizing natural language processing, enhancing the efficiency and reliability of semiconductor integrated circuit design processes.

WO2025114844A1PCT designated stage expired Publication Date: 2025-06-05SEMICON ENERGY LAB CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/IB2024/061766
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

Technical Problem

The increasing complexity and size of large language models make it difficult for individuals or organizations to incorporate and operate them effectively, in terms of facilities and costs, leading to a reliance on external services.

Method used

A design system comprising an arithmetic unit, a control unit, and a database, where the database stores multiple version files with error corrections, allowing the system to identify and correct errors in semiconductor integrated circuit design processes, and utilize large language models for natural language processing.

Benefits of technology

The design system enhances the efficiency and reliability of semiconductor integrated circuit design processes by providing a user-friendly interface for error correction and utilizing large language models for natural language processing, thereby reducing the need for external services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IB2024061766_05062025_PF_FP_ABST
    Figure IB2024061766_05062025_PF_FP_ABST
Patent Text Reader

Abstract

Provided is a new design system that exhibits excellent convenience, usefulness, or reliability. The design system has a calculation unit, a control unit, and a database. The database stores therein a plurality of sets of data items, in each of which an initial version file including an error, a completed version file in which the error has been corrected, and information related to correction of the error are associated with one another. The calculation unit has a function of identifying one initial version file from a plurality of initial version files included in the database and providing a set of data items including the one initial version file to the control unit. The control unit has a function of receiving a first initial version file, and a function of outputting the set of data items provided from the calculation unit. The one initial version file identified by the calculation unit includes an error having a high degree of similarity to the first initial version file.
Need to check novelty before this filing date? Find Prior Art

Description

Design system and method of operating the design system

[0001] One aspect of the present invention relates to a design system and a method of operating the design system.

[0002] Note that one embodiment of the present invention is not limited to the above technical field. The technical field of one embodiment of the invention disclosed in this specification and the like relates to an object, a 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, more specifically, examples of the technical field of one embodiment of the present invention disclosed in this specification include a data processing device, a semiconductor device, a display device, a light-emitting device, a power storage device, a memory device, a driving method thereof, or a manufacturing method thereof.

[0003] In recent years, the development of language models using neural networks has been actively carried out, and large-scale language models (LLMs) in particular have attracted attention. A large-scale language model is a natural language processing model trained using a large amount of data. A large-scale language model can realize a dialogue model that responds to user instructions, for example. Non-Patent Document 1 discloses GPT-4 (Generative Pre-trained Transformer 4) (registered trademark) as a large-scale language model, and also discloses ChatGPT as a dialogue model.

[0004] The use of large-scale language models has significantly increased the capabilities of natural language processing models. However, as language models become larger, it is difficult to incorporate and operate language models in-house due to the equipment and cost involved. Therefore, one way to use language models is to use external services that provide language models.

[0005] Summary of ChatGPT / GPT-4 Research and Perspective Towards the Future of Large Language Models, Yiheng Liu et al. (Submitted on 4 Apr 2023, [online], Internet <URL: https: / / arxiv.org / abs / 2304.01852>

[0006] An object of one embodiment of the present invention is to provide a novel design system with excellent convenience, usefulness, or reliability. Alternatively, an object of one embodiment of the present invention is to provide a method for operating a novel design system with excellent convenience, usefulness, or reliability. Alternatively, an object of one embodiment of the present invention is to provide a novel design system, a method for operating a novel design system, a novel information processing system, a method for operating a novel information processing system, a novel semiconductor device, or a method for operating a novel semiconductor device.

[0007] Note that the description of these problems does not preclude the existence of other problems. Note that one embodiment of the present invention does not necessarily solve all of these problems. Note that problems other than these will become apparent from the description of the specification, drawings, claims, etc., and it is possible to extract other problems from the description of the specification, drawings, claims, etc.

[0008] One aspect of the present invention is a design system having an arithmetic unit, a control unit, and a database, wherein the database has a plurality of first edition files and a plurality of final edition files, each of which has a first area containing a description of processing in a semiconductor integrated circuit design process and a second area written in natural language, wherein the database stores a plurality of sets of data linking a first edition file containing an error, a final edition file after the error has been corrected, and information regarding the error correction, wherein the arithmetic unit has a function to identify one first edition file from the plurality of first edition files stored in the database and provide the control unit with the set of data including the one first edition file, and the control unit has a function to accept the first first edition file and a function to output the set of data provided by the arithmetic unit, wherein the one first edition file identified by the arithmetic unit contains an error that is highly similar to the first first edition file.

[0009] In the above aspect, the first area preferably includes a description relating to hardware.

[0010] In the above aspect, the first area preferably includes a description of the circuit specifications, a description of the logical formula of the circuit operation, or a description of the logical circuit.

[0011] In the above aspect, it is preferable that the calculation unit has a function of extracting features from the description in the first area of ​​the final file and converting the extracted features from a hardware description language into a natural language, and that the second area includes a description of the features converted into a natural language.

[0012] Alternatively, one aspect of the present invention includes a first calculation unit, a second calculation unit, a control unit, and a database, the database includes a plurality of first edition files and a plurality of final edition files, each of the first edition files and the final edition files having a first area including a description related to processing in a semiconductor integrated circuit design process and a second area described in natural language, the database stores a plurality of sets of data in which a first edition file including an error, a final edition file after the error has been corrected, and information regarding the correction of the error are linked together, and the first calculation unit has a function of identifying one first edition file from the plurality of first edition files stored in the database and providing the set of data including the one first edition file to the control unit. a second calculation unit having a function of identifying one completed file from a plurality of completed files held in the database and providing a set of data including the one completed file to the control unit; the control unit having a function of accepting design information, a function of accepting a first initial file, a function of outputting a set of data including the one initial file provided by the first calculation unit, and a function of outputting a set of data including the one completed file provided by the second calculation unit; the one initial file identified by the first calculation unit includes an error that is highly similar to the first initial file, and the one completed file identified by the second calculation unit corresponds to a description included in the design information.

[0013] In the above aspect, the first area preferably includes a description relating to hardware.

[0014] In the above aspect, the first area preferably includes a description of the circuit specifications, a description of the logical formula of the circuit operation, or a description of the logical circuit.

[0015] In the above aspect, it is preferable that the design information includes a third area described in natural language, and the second calculation unit has a function of extracting features from the description in the first area of ​​the completed file and converting the extracted features from a hardware description language into natural language, a function of comparing the features converted into natural language with the description in the third area of ​​the design information to calculate the similarity between the completed file and the design information, and a function of performing identification using the calculated similarity.

[0016] In the above aspect, the design information preferably includes a third area written in natural language, and the second calculation unit preferably has a function of extracting features from the description in the first area of ​​the completed file and converting the extracted features from a hardware description language into natural language, a function of comparing the features converted into natural language with the description in the third area of ​​the design information to calculate a similarity between the completed file and the design information, and a function of performing identification using the calculated similarity, and the second area preferably includes a description of the features converted into natural language.

[0017] In the above aspect, it is preferable that the initial file and the final file include a description of the circuit specifications, a description of the logical formula for the circuit operation, a description of the logic circuit, a description of constraints on the circuit operating frequency, a description of information on the input / output pins of the circuit, a description of the circuit layout, or a description of the wiring layers and design rules.

[0018] Alternatively, one aspect of the present invention is a method for operating a design system, the method comprising: an arithmetic unit; a control unit; and a database; the database has a plurality of first edition files and a plurality of final edition files, each of the first edition files and the final edition files having an area containing a description related to processing in a design process of a semiconductor integrated circuit; the database stores a plurality of sets of data linking a first edition file containing an error, a final edition file after the error has been corrected, and information related to the correction of the error; the method comprising: a first step of the control unit receiving a first first edition file; a second step of the control unit providing the first first edition file to the arithmetic unit; a third step of the arithmetic unit identifying a first edition file containing an error that has a high similarity to the first first edition file from the database based on an instruction provided by the control unit; and a fourth step of the control unit outputting the sets of data including the first edition file identified in the third step.

[0019] In the above aspect, it is preferable that in the third step, the calculation unit identifies a first edition file having a description that is highly similar to the first first edition file.

[0020] In the above aspect, it is preferable that the calculation unit has a step of classifying each error contained in the multiple first edition files held in the database into multiple classes, and in the third step, the calculation unit calculates the similarity between the features of the multiple classes and the features extracted from the first first edition file as a first parameter, and the calculation unit identifies a first edition file containing an error that is highly similar to the first first edition file from among the first edition files linked to errors classified into classes with high similarity.

[0021] Alternatively, one aspect of the present invention is a system operation method, the design system having a first calculation unit, a second calculation unit, a control unit, and a database, the database having a plurality of first-edition files and a plurality of final-edition files, each of the first-edition files and the final-edition files having a first area including a description related to processing in a design process of a semiconductor integrated circuit, the database storing a plurality of sets of data linking a first-edition file including an error, a final-edition file after the error has been corrected, and information regarding the correction of the error, the method including a first step of receiving design information by the control unit, a second step of the control unit providing the design information to the second calculation unit, and the second calculation unit reading the design information from the database based on a first command provided by the control unit. a third step of identifying a final version file corresponding to a description included in the design information and preparing the identified final version file as a file template; a fourth step of outputting the file template by the control unit; a fifth step of accepting the edited file template as a first first version file by the control unit; a sixth step of providing the first first version file to a first calculation unit by the control unit; a seventh step of the first calculation unit identifying a first version file including an error that has a high degree of similarity to the first first version file from the database based on a second command provided by the control unit; and an eighth step of outputting set data including the first version file identified in the seventh step by the control unit.

[0022] In the above aspect, it is preferable that the first area is described in a hardware description language and the design information includes a second area described in a natural language, and in the third step, the second calculation unit extracts features from the description of the first area of ​​the completed file, converts the extracted features from the hardware description language into a natural language, compares the features converted into natural language with the description of the second area contained in the design information, calculates the similarity between the completed file and the design information as a first parameter, and prepares a completed file with a high similarity as a file template.

[0023] In the above aspect, the design process preferably includes one or more selected from register transfer level design, logic synthesis, placement and wiring, verification of operation timing, and verification of design rules.

[0024] Another aspect of the present invention is a program for executing the above-described method of operating the design system on a computer.

[0025] Another aspect of the present invention is a computer-readable recording medium on which the above-described program is recorded.

[0026] According to one embodiment of the present invention, a novel design system with excellent convenience, usability, or reliability can be provided. Furthermore, one embodiment of the present invention can provide a method for operating the novel design system with excellent convenience, usability, or reliability. Furthermore, a novel design system, a method for operating the novel design system, a novel information processing system, a method for operating the novel information processing system, a novel semiconductor device, or a method for operating the novel semiconductor device can be provided.

[0027] Note that the description of these effects does not preclude the existence of other effects. Note that one embodiment of the present invention does not necessarily have all of these effects. Note that effects other than these will become apparent from the description in the specification, drawings, claims, etc., and it is possible to extract other effects from the description in the specification, drawings, claims, etc.

[0028] FIG. 1 is a diagram showing a design system. FIG. 2A is a diagram showing set data. FIG. 2B is a diagram showing a database. FIG. 3 is a diagram showing a database. FIG. 4 is a flowchart showing an example of operation of the design system. FIG. 5 is a flowchart showing an example of operation of the design system. FIG. 6 is a flowchart showing an example of operation of the design system. FIG. 7 is a flowchart showing an example of operation of the design system. FIG. 8 is a flowchart showing an example of a design process.

[0029] The embodiments will be described in detail with reference to the drawings. However, the present invention is not limited to the following description, and it will be readily understood by those skilled in the art that various changes in form and details can be made without departing from the spirit and scope of the present invention. Therefore, the present invention should not be interpreted as being limited to the description of the embodiments shown below. In the configuration of the invention described below, the same parts or parts having similar functions will be denoted by the same reference numerals in different drawings, and repeated explanations will be omitted.

[0030] In this embodiment, a design system according to one embodiment of the present invention will be described.

[0031] A design system according to one embodiment of the present invention is a system for designing a semiconductor integrated circuit. By using the design system according to one embodiment of the present invention, a user can improve the efficiency of designing a semiconductor integrated circuit. Furthermore, by using the design system according to one embodiment of the present invention, the reliability of data created by the user in the design process can be improved. The design system according to one embodiment of the present invention can provide information stored in a database to the user in a useful manner in accordance with the design process. This allows even a user with little design experience to perform design efficiently and with high reliability.

[0032] The design system 200 shown in FIG. 1 includes a control unit 201 , a calculation unit 202 a , a calculation unit 202 b , and a database 203 .

[0033] The control unit 201 has a function of accepting data. The control unit 201 also has a function of transferring the accepted data to the calculation unit 202a, the calculation unit 202b, the database 203, etc. The control unit 201 also has a function of outputting the accepted data. The control unit 201 also has a function of issuing commands to the calculation unit 202a, the calculation unit 202b, etc.

[0034] The control unit 201 can have an input / output unit that receives data or outputs data.

[0035] Examples of data accepted by the control unit 201 include descriptions relating to semiconductor integrated circuits, descriptions relating to the design of semiconductor integrated circuits, and descriptions relating to the processing of the design process of semiconductor integrated circuits. Also included are files containing these descriptions. Note that "description" here can sometimes be replaced with "sentence" or "text."

[0036] The data received by the control unit 201 may be a prompt.

[0037] In this specification, an input sentence for causing a language model to perform a desired operation may be referred to as a prompt. When a prompt is given to a language model, the language model generates a response sentence based on the prompt. The prompt includes an instruction sentence. The instruction sentence can also be referred to as a question sentence, an imperative sentence, or the like. It is preferable that the instruction sentence be set in advance by a developer or a service provider. Setting the instruction sentence included in the prompt in advance makes it easier to obtain a desired answer from the language model.

[0038] The calculation units 202a and 202b can perform various processes and controls based on instructions given from the control unit 201. Note that these processes and controls can be performed, for example, by analyzing and executing instructions from a predetermined program. Specifically, for example, the calculation units 202a and 202b have a function to identify desired data from the database 203. Furthermore, the calculation units 202a and 202b have a function to calculate parameters such as similarity based on instructions given from the control unit 201.

[0039] The programs executed by the calculation units 202a and 202b are stored in the database 203. Alternatively, the design system may have a first storage unit different from the database 203, and the programs executed by the calculation units 202a and 202b may be stored in the first storage unit.

[0040] The calculations performed by the calculation units 202a and 202b can be performed using artificial intelligence (AI). In particular, it is preferable to use an artificial neural network (ANN, hereinafter simply referred to as a neural network). The neural network is realized by a circuit (hardware) or a program (software).

[0041] 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.

[0042] 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."

[0043] 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."

[0044] The design system 200 has a function of supporting the creation of a file including a description related to the processing of a semiconductor integrated circuit design process. Specifically, the file includes, for example, a description of circuit specifications, a description of a logical expression for circuit operation, a description of a logical circuit, a description of constraints on the circuit operating frequency, a description of information on input / output pins of the circuit, a description of circuit layout, or a description of wiring layers and design rules.

[0045] In the creation of the file, the first version file prepared by the user of the design system 200 may contain errors. In such cases, the errors contained in the first version file are corrected, a final version file is created as a file with the errors corrected, and the final version file is used in the design process. Both the first version file and the final version file are files that contain descriptions related to the processing in the design process of a semiconductor integrated circuit. However, since the first version file contains errors, it is not suitable for use in the design process.

[0046] The database 203 has a plurality of first edition files 301, a plurality of final edition files 302, and a plurality of pieces of information 303. The information 303 includes information related to error corrections in the first edition files 301. In the database 203, the first edition files 301 containing errors, the final edition files 302 obtained by correcting the errors in the first edition files 301, and the information 303 including information related to the error corrections are stored as linked set data 309 (see FIG. 2A ). That is, the database 203 stores a plurality of sets of data 309 in which the first edition files 301 containing errors, the final edition files 302 obtained by correcting the errors in the first edition files 301, and the information 303 including information related to the error corrections are linked. FIG. 2B shows an example in which the database 203 has n sets of set data 309 (n is a positive integer). The k-th set of data 309 (k is an integer between 1 and n) is represented as set of data 309[k], and the initial file 301, the final file 302, and the information 303 included in set of data 309[k] are represented as initial file 301[k], final file 302[k], and information 303[k], respectively. Note that files such as the initial file and the final file described in this specification may also be called description files.

[0047] It is preferable that the first version file 301 and the final version file 302 each have a first area (hereinafter referred to as area 11) and a second area (hereinafter referred to as area 12). Area 11 and area 12 may each be independent files. In that case, the first version file 301 and the final version file 302 each have two files (a file including the description of area 11 and a file including the description of area 12).

[0048] Area 11 is an area containing descriptions relating to the processing of the design process of a semiconductor integrated circuit.

[0049] Area 11 may include a description related to hardware. For example, area 11 may be an area described in a hardware description language. In particular, when the initial version file 301 and the final version file 302 include a description related to circuit specifications, a description related to a logical expression of the circuit operation, or a description related to a logic circuit, area 11 is preferably an area described in a hardware description language. Note that the description included in area 11 may be a description obtained by converting the hardware description language.

[0050] Area 12 is an area described in natural language, and can include information corresponding to information described in area 13 of design information 311 (described later). Area 12 can also include a description obtained by converting the content described in area 11 into natural language, or a description obtained by extracting features from the content described in area 11 and expressing them in natural language.

[0051] The information 303 is a file that includes information about an error in the first edition file 301 linked to the information 303 and information about correcting the error. The information 303 is, for example, a file independent of the first edition file 301 and the final edition file 302.

[0052] Alternatively, the information 303 may not be an independent file from the first edition file 301 and the final edition file 302, but may be included in either the first edition file 301 or the final edition file 302. As an example, the information included in the information 303 may be written in area 12 of the first edition file 301.

[0053] By assigning labels to the first version file 301 and the final version file 302 and storing them in the database 203, they can be used as learning data for artificial intelligence. For example, information linking an error contained in the first version file 301 with a description after the error has been corrected contained in the final version file 302 can be used as learning data for artificial intelligence. By including this information in the information 303, the information 303 can also be used as a label for learning data for artificial intelligence.

[0054] The design system 200 also performs processing using the design information 311. For example, the design system 200 refers to the design information 311 to identify a file from the database 203.

[0055] The design information 311 is a description of a semiconductor integrated circuit and its design, or a file containing the description. The design information 311 may include information such as specifications of the semiconductor integrated circuit to be designed and descriptions of the processing in the design process.

[0056] The control unit 201 has a function of receiving design information 311 .

[0057] The design information 311 may have a third area (hereinafter, area 13) written in a natural language.

[0058] The design information 311 is prepared by the user, for example, and is provided to the control unit 201 .

[0059] The database 203 may also have data related to the design information 311. The control unit 201 may provide the data related to the design information 311 stored in the database 203 to the user, and the user may use the provided data to prepare the design information 311. Alternatively, the user may select predetermined data from the multiple pieces of data provided and provide the data to the control unit 201 as the design information 311.

[0060] <Function 1 of the Design System> As described below, the design system 200 has a function of supporting the correction of a first version file. Furthermore, the design system 200 can support the creation of a final version file by supporting the correction of the first version file. The calculation used for this function can be mainly performed by the calculation unit 202a. By using the design system of one embodiment of the present invention, even a user with little experience in circuit design can verify the first version file with high reliability. Furthermore, the verification of the first version file can be performed efficiently. Furthermore, by using the design system of one embodiment of the present invention, a final version file can be created with high reliability and efficiency.

[0061] A first edition file 301 (referred to as first edition file 301a) prepared by a user or the like is received by the control unit 201. The calculation unit 202a identifies, from the database 203, first edition files 301 (referred to as first edition file 301[q], where q is an integer between 1 and n) containing errors that have a high degree of similarity (hereinafter referred to as similarity A) with the first edition file 301a received by the control unit 201. Note that the number of identified first edition files 301[q] may be two or more. For example, the first edition file 301[q] is a file that has a high degree of similarity to the description contained in the first edition file 301a. Furthermore, the first edition file 301[q] can sometimes be expressed as a file containing an error similar to the description contained in the first edition file 301a.

[0062] The control unit 201 can output group data 309[q] including the first version file 301[q] and provide it to the user. The user determines whether the prepared first version file 301a contains any errors, and if so, corrects the errors and creates the corresponding final version file 302 (referred to as final version file 302a). Here, when determining whether or not an error is contained and correcting the errors, the user can refer to the error content and error correction information described in the provided group data 309[q]. In this way, the design system 200 can support the correction of the first version file.

[0063] The control unit 201 receives the final version file 302a and information 303 (referred to as information 303a) including information related to corrections to the initial version file 301a. The initial version file 301a, the final version file 302a, and the information 303a received by the control unit 201 are registered in the database 203 as linked group data (referred to as group data 309a).

[0064] Furthermore, as will be described later, when the errors contained in the first edition files 301 stored in the database 203 are classified into multiple classes, the control unit 201 may output and provide to the user information such as the characteristics of the classes and the tags assigned to them. The user can correct the first edition files 301a using the provided information such as the characteristics of the error classes.

[0065] [Similarity A] The calculation unit 202a has a function of identifying, from the database 203, a first edition file 301[q] that contains an error and has a high similarity A with the first edition file 301a received by the control unit 201. It is also preferable that the calculation unit 202a has a function of calculating the similarity A.

[0066] Here, similarity A can be calculated by, for example, extracting a description in the first edition file 301a that is suspected of containing an error and calculating the similarity between that description and an error contained in the first edition file 301 held in the database 203. A description that is suspected of containing an error is, for example, a description that is similar in descriptive sentence, descriptive content, structure, etc. to an error contained in the first edition file 301 held in the database 203. Here, a description that is suspected of containing an error is not necessarily an error. Whether or not the description contains an error is determined, for example, when a finished version file corresponding to the first edition file 301a is created.

[0067] When the characteristics of an error contained in the first edition file 301 held in the database 203 are extracted, a description having a similar characteristic to the extracted characteristics can be extracted from the first edition file 301a, and the similarity of the characteristics can be set to similarity A.

[0068] [Learning by Calculation Unit 202a] Database 203 stores a plurality of sets of data linking together first edition file 301, final edition file 302, and data (e.g., information 303) labeled with errors contained in first edition file 301 and correction information for those errors. It is preferable that calculation unit 202a performs learning using these sets of data. Based on the learning results, calculation unit 202a can output inference results for identifying files with high similarity A, calculating similarity A, and so on.

[0069] [Classification and tagging] The calculation unit 202a can classify into multiple classes each of the errors contained in the multiple first edition files 301 stored in the database 203. The calculation unit 202a can also extract features of each of the errors contained in the multiple first edition files 301 and assign tags corresponding to the extracted features.

[0070] The information on the class classified by the calculation unit 202a and the information on the assigned tags are linked to the first edition file 301 and stored in the database 203. In addition, this information may be written in the area 12 of the first edition file 301.

[0071] The calculation unit 202a can use the characteristics of the class to identify a class that has a high similarity to the first edition file 301a. The first edition files 301 included in the class can be classified as a group of first edition files with a high similarity A.

[0072] Similarly, the calculation unit 202a can identify tags that have a high degree of similarity with the first edition file 301a. The first edition files 301 to which the tags are assigned can be classified as a group of first edition files with a high degree of similarity A.

[0073] After a class with high similarity is identified, the first edition files 301 included in the class may be analyzed to further identify files with high similarity. Similarly, after a tag with high similarity is identified, the first edition files 301 to which the tag is assigned may be analyzed to further identify files with high similarity.

[0074] Note that feature extraction may be performed not only by calculation using the calculation unit 202a, but also by, for example, a user or another system. In such a case, for example, when registering a file in the design system 200, tags provided by a user or the like may also be registered. For example, when the control unit 201 accepts a file, it may also accept a description related to tag information or a file including the description along with the file, and store the file and the tag information together in the database 203. The description may also be included in the file.

[0075] <Design System Function 2> As described below, the design system 200 has a function of providing a file template tm for creating a first-edition file 301a based on input design information. The calculation used for this function can be mainly performed by the calculation unit 202b. By using the design system of one embodiment of the present invention, even a user with little experience in circuit design can create a first-edition file efficiently and with high reliability.

[0076] The calculation unit 202b has a function of identifying, from the database 203, a completed file 302 (herein referred to as a completed file 302[t], where t is an integer between 1 and n) that has a high similarity (hereinafter referred to as similarity B) to the description of the design information 311 provided via the control unit 201. Note that the number of identified completed files 302[t] may be two or more.

[0077] The control unit 201 can provide the identified completed file 302[t] to the user as a file template tm. Alternatively, the completed file 302[t] can be processed to create a file template tm and provide it to the user. This processing can be performed by the calculation unit 202b, for example, based on a command given by the control unit 201.

[0078] The user can prepare the first edition file 301a using the file template tm.

[0079] [Learning of Calculation Unit 202b] The calculation unit 202b preferably performs learning using the final file 302. Furthermore, the calculation unit 202b can convert features extracted from the description contained in area 11 of the final file 302 into natural language using a large-scale language model (LLM) (described later) or the like, label the features, and store the label as learning data. The label can be stored, for example, in area 12 of the final file 302. The feature extraction may also be performed by converting the description contained in area 11 into natural language and then extracting the features from the converted description. Based on the learning results, the calculation unit 202b can output inference results regarding the identification of highly similar files, the calculation of similarity, and the like. Furthermore, as described later, the description itself (the description itself), obtained by converting the description contained in area 11 into natural language, may be stored in area 12.

[0080] [Similarity B] The calculation unit 202b has a function to identify files with high similarity B. It is preferable that the calculation unit 202b also has a function to calculate the similarity B.

[0081] The calculation unit 202b can calculate the similarity B between the information contained in the area 12 of the completed file 302 and the information contained in the design information 311.

[0082] Furthermore, the calculation unit 202b can calculate the similarity between the features extracted by the calculation unit 202b from the area 11 of the final file 302 and the area 13 of the design information as similarity B. Here, when the area 11 is described in a hardware description language, it is preferable that the calculation unit 202b converts the extracted features into a natural language and compares the converted features with the area 13 of the design information to calculate the similarity.

[0083] When converting a description using a hardware description language into a description in a natural language, for example, a large language model (LLM) can be used. The large language model has already been trained with the programming language Lang. Alternatively, an existing large language model may be additionally trained with the programming language Lang. By training the programming language Lang, the large language model can verify whether a line violates the syntax of the programming language Lang.

[0084] For example, the calculation unit 202b can perform processing using a BERT (Bidirectional Encoder Representations from Transformers) language model. Also, the calculation unit 202b can perform processing using, for example, GPT-3, GPT-3.5, GPT-4 (registered trademark), LaMDA (Language Model for Dialogue Applications), PaLM (Pathways Language Model), Llama2, ALBERT, XLNet, etc.

[0085] Note that the description written in area 11 may be converted into a natural language and stored in advance in area 12. In such a case, the description stored in area 12 can be compared with the description in area 13 of the design information to calculate the similarity. For example, after converting at least a part of the description written in area 11 into a natural language and storing it in area 12, at least a part of the description written in area 11 may also be converted into a natural language when the calculation unit 202b calculates the similarity B.

[0086] In the design system 200, the final file 302[t] can also be identified by combining and judging a plurality of similarities calculated using the above-mentioned methods.

[0087] <Calculation of Similarity> The similarity can be calculated by vectorizing the sentences. For example, cosine similarity can be used as the similarity.

[0088] Various methods can be used to vectorize a sentence, such as Bag-of-Words and Bidirectional Encoder Representations from Transformer (BERT).

[0089] Furthermore, as a method for vectorizing a sentence based on the number of times a word appears, TF-IDF (Term Frequency-Inverse Document Frequency) or the like can be used.

[0090] Furthermore, for example, Word2vec can be used as a method using distributed representations of words.

[0091] Furthermore, methods that use distributed representations of sentences include, for example, Doc2Vec and Sent2Vec.

[0092] <Database 203> As mentioned above, the database 203 stores multiple sets of data 309 that link together a first edition file 301 that contains an error, a completed edition file 302 in which the error in the first edition file 301 has been corrected, and information 303 that includes information related to the error correction.

[0093] The finalized file 302 is a file containing descriptions related to the processing of the design process of a semiconductor integrated circuit. In the processing of the design process, multiple types of finalized files 302 may be prepared. The database 203 can have data corresponding to each type of finalized file 302.

[0094] Here, different types of finished files 302 are used for different processes in the design process of a semiconductor integrated circuit, for example.

[0095] FIG. 3 shows an example in which the database 203 has m data sets 210 corresponding to m types of completed files 302, respectively.

[0096] Hereinafter, the completed file 302 of j type (j is an integer of 1 to m) will be referred to as completed file 302_j. Also, the data set 210 having the completed file 302_j will be referred to as data set 210_j.

[0097] The data set 210_j is n j pieces (n j The data set 309_j includes a first version file 301_j, a final version file 302_j, and information 303_j.

[0098] The k-th data set included in the data set 210_j j The set data 309_j(k j is 1 or more j The integer below) is set as the set data 309_j[k j ]. j The first edition file 301_j, the final edition file 302_j, and the information 303_j included in the set data 309_j are referred to as the first edition file 301_j[k j ], completed file 302_j[k j ], and information 303_j[k j ].

[0099] Note that the design information 311 may be shared and used among different types of finished files 302. In such a case, after the design information 311 is input to the design system 200 when creating the first type of finished file 302, the previously input design information 311 may continue to be used when creating the second or subsequent types of finished files 302 without inputting the design information 311 again.

[0100] 1 shows an example in which the design system 200 has the calculation unit 202a and the calculation unit 202b, but the calculation unit 202a may also have the functions of the calculation unit 202b, and the calculation unit 202b may be omitted. In such a case, in the following, descriptions regarding the calculation unit 202b may be appropriately replaced with descriptions regarding the calculation unit 202a.

[0101] <Operation Example 1 of Design System> An operation example of the design system 200 will be described using the flowchart shown in Fig. 4. Fig. 4 shows an operation example when supporting the correction of the first edition file 301 using the design system 200. Fig. 4 is an operation example related to the function described in <Function 1 of the Design System>.

[0102] In step S100, the process starts.

[0103] Next, in step S101, the control unit 201 receives the first version file 301. The first version file 301 is prepared by, for example, a user and input to the design system 200.

[0104] Next, in step S102, the control unit 201 provides the first edition file 301 and a command SG1 related to step S103 to the calculation unit 202a.

[0105] Next, in step S103, the calculation unit 202a, based on the given command SG1, identifies the first edition file 301[q] from the database 203. The first edition file 301[q] is a file that has a high similarity A with the first edition file 301 received in step S101 and contains a high number of errors.

[0106] Next, in step S104, the control unit 201 outputs a set of data 309[q] including the first edition file 301[q] identified in step S103.

[0107] Here, it is preferable that step 902 is performed between step S104 and step S105. Step S902 is a step showing an example of the user's action.

[0108] The design system 200 can provide the set data 309[q] output in step S104 to the user. The user refers to the provided set data 309[q], corrects the first version file 301 input to the design system 200 in S101, creates a final version file 302, and inputs it to the design system 200 (step S902). At this time, errors contained in the first version file 301 and correction information for the errors can be input as information 303 to the design system 200 together with the final version file 302.

[0109] Next, in step S105, control unit 201 accepts final version file 302 and information 303. If the user does not input information 303, control unit 201 commands calculation unit 202a to create information 303 in step S105, and calculation unit 202a compares initial version file 301 with final version file 302 based on the command from control unit 201, and can create information 303 that includes errors contained in initial version file 301 and descriptions of the errors corrected in final version file 302.

[0110] Next, in step S106, the first version file 301 received in step S101, the final version file 302 received in step S105, and information 303 linked to these files are stored in the database 203 as set data 309.

[0111] Following step S106, the stored group data 309 may be saved as labeled learning data for the calculation unit 202a to use in learning. Alternatively, saving as learning data may be performed separately from this flow.

[0112] In step S199, the process ends.

[0113] <Design System Operation Example 2> An operation example of the design system 200 will be described using the flowchart shown in Fig. 5. Fig. 5 is an operation example including an operation of preparing a file template using the design system. Fig. 5 is an operation example including an operation related to the function described in <Design System Function 2>.

[0114] In step S000, the process starts.

[0115] Next, in step S001, the control unit 201 accepts the design information 311. Here, as an example, the database 203 has a plurality of data that are candidates for the design information 311, the control unit 201 outputs the plurality of data and presents it to the user, the user extracts one piece of data from the presented plurality of data and inputs it to the design system 200 as the design information 311, and the control unit 201 accepts the information.

[0116] Next, in step S002, the control unit 201 provides the design information 311 and a command SG2 related to step S003 to the calculation unit 202b.

[0117] Next, in step S003, the calculation unit 202b, based on the given command SG2, identifies the completed file 302[t] from the database 203. Then, the identified completed file 302[t] is used to prepare a file template tm.

[0118] The completed file 302[t] is a file having a high similarity B with the design information 311 received in step S001.

[0119] The identified completed file 302[t] may be used as a file template tm, or in the design system 200, the control unit 201, or the calculation unit 202b based on an instruction from the control unit 201, may create a file template tm by editing the completed file 302[t].

[0120] Next, in step S004, the control unit 201 outputs the file template tm prepared in step S003.

[0121] Here, it is preferable that step S901 is performed between step S004 and step S005. Step S901 is a step showing an example of the user's action.

[0122] The design system 200 can provide the file template tm output in step S004 to the user. The user refers to the provided file template tm, creates the first edition file 301, and inputs it into the design system 200 (step S901).

[0123] Next, in step S005 , the control unit 201 receives the first edition file 301 .

[0124] Next, step S005 is connected to a connector A, and the connector A is connected to step S102. For step S102, the description of the flowchart shown in FIG.

[0125] Next, steps S103, S104, S105, and S106 are carried out in this order. For each step, the explanation of the flowchart shown in FIG. 4 can be referred to.

[0126] Following step S106, the stored completed file 302 may be saved as learning data for learning the calculation unit 202b. Alternatively, saving as learning data may be performed separately from this flow.

[0127] Furthermore, following step S106, the stored group data 309 may be saved as labeled learning data for learning by the calculation unit 202a. Alternatively, saving as learning data may be performed separately from this flow.

[0128] Next, step S106 is connected to a connector B, and connector B is connected to step S099.

[0129] In step S099, the process ends.

[0130] <Operation Example 3 of Design System> An operation example of the design system 200 will be described using the flowchart shown in FIG. 6 . FIG. 6 shows an example in which the design system 200 is used to support the modification of multiple types of first-edition files 301. Here, a process from a step of accepting the first-edition file 301 to a step including accepting a final-edition file 302 obtained by modifying the first-edition file 301 is repeated multiple times. In each repeated process, a different type of final-edition file 302 is created. In the flowchart shown in FIG. 6 , by repeating the process of modifying the first-edition file 301 and creating the corresponding final-edition file 302 m times, it is possible to create, for example, the first-edition file 301 and the final-edition file 302 corresponding to each of the m data sets 210 contained in the database 203 shown in FIG. 3 .

[0131] In step S300, the process begins.

[0132] 6, steps S302 to S307 are repeated m times, where j corresponds to the number of times the process is performed (j is an integer between 1 and m). Step S301 is a step for confirming that the process is the first time (j=1).

[0133] Step S301 is connected to a connector C, and connector C is connected to step S302.

[0134] In step S302, the control unit 201 receives the first edition file 301_j.

[0135] Next, in step S303, the control unit 201 provides the first edition file 301 and the command SG1[j] related to step S304 to the calculation unit 202a.

[0136] Next, in step S304, the calculation unit 202a, based on the given command SG1[j], identifies the first edition file 301_j[q] from the database 203. The first edition file 301_j[q] is a file that has a high degree of similarity to the first edition file 301_j accepted in step S302.

[0137] Next, in step S305, the control unit 201 outputs a data set 309_j[q] including the first edition file 301_j[q] identified in step S304.

[0138] Here, step S912 is preferably performed between step S305 and step S306. Step S912 is a step showing an example of a user's operation. The design system 200 provides the user with group data 309_j[q], and the user creates a final version file 302_j by referring to the provided group data 309_j[q] and inputs the final version file 302_j into the design system 200 (step S912). At this time, errors contained in the initial version file 301_j and correction information for the errors can be input as information 303_j into the design system 200 together with the final version file 302_j.

[0139] Next, in step S306, the control unit 201 receives the completed file 302_j and the information 303_j.

[0140] Next, in step S307, the first version file 301_j accepted in step S302, the final version file 302_j accepted in step S306, and information 303_j linked to these files are stored in the database 203 as set data 309_j.

[0141] Step S307 is connected to a connector D, and connector D is connected to step S308.

[0142] Step S308 is a step for checking the number of times of processing j. In step S308, if the number of times of processing is m, the process proceeds to step S399, and if the number of times of processing does not match m, the process proceeds to step S309.

[0143] Step S309 is a step in which the number of times of processing j is incremented by 1.

[0144] Returning from step S309 to connector C, the process proceeds to step S302 to step S307 between connector C and connector D with the number of times of processing j incremented. Then, in step S308, the number of times of processing j is confirmed.

[0145] The processes from step S302 to step S307 are repeated until the number of times of processing j reaches m.

[0146] In step S308, when the number of times of processing j reaches m, the process proceeds to step S399, where the process ends.

[0147] By performing the processing shown in FIG. 6, first edition files 301_1 to 301_m are accepted as m types of first edition files 301, correction support is provided for each first edition file 301, and each completed version file 302_1 to 302_m created after receiving the correction support is registered in a database.

[0148] <Design System Operation Example 4> An operation example of the design system 200 will be described using the flowchart shown in Fig. 7. Fig. 7 shows an operation example including an operation of outputting a plurality of types of file templates tm using the design system 200.

[0149] In step S200, the process begins.

[0150] In step S201, the control unit 201 receives the design information 311.

[0151] 7, steps S203 to S206 and subsequent steps S303 to S307 are processes that are repeated m times, where j corresponds to the number of processes (j = an integer between 1 and m). Step S202 is a step that confirms that it is the first process (j = 1).

[0152] Step S202 is connected to a connector E, and the connector E is connected to step S203.

[0153] In step S203, the control unit 201 provides the design information 311 and the instruction SG2[j] related to step S204 to the calculation unit 202b.

[0154] Next, in step S204, the calculation unit 202b, based on the given command SG2[j], identifies a completed file 302_j[t] from the data set 210_j in which the jth type of completed file 302_j is stored in the database 203. Then, the identified completed file 302_j[t] is used to prepare a file template tm_j. The completed file 302_j[t] is a file that has a high degree of similarity with the design information 311 received in step S202. Here, the design information 311 includes information related to the processing of the detailed steps corresponding to each of the j types of completed files 302. The detailed steps will be described in detail with reference to FIG. 8, which will be described later.

[0155] Next, in step S205, the control unit 201 outputs the file template tm_j prepared in step S204.

[0156] Here, step S911 is preferably performed between step S205 and step S206. Step S911 is a step showing an example of a user's operation. The design system 200 can provide the file template tm_j output in step S205 to the user. The user references the provided file template tm_j, creates a first version file 301_j, and inputs it into the design system 200 (step S911).

[0157] Next, in step S206, the control unit 201 receives the first edition file 301_j.

[0158] Next, steps S303, S304, S305, S306, and S307 are carried out in this order. For each step, the description of the flowchart shown in FIG. 6 can be referred to.

[0159] Next, step S307 is connected to a connector F, and connector F is connected to step S401.

[0160] Step S401 is a step for checking the number of times of processing j. In step S401, if the number of times of processing is m, the process proceeds to step S499, and if the number of times of processing does not match m, the process proceeds to step S402.

[0161] Step S402 is a step in which the number of times of processing j is incremented by 1.

[0162] Returning from step S402 to connector E, the process proceeds to the next step S206, followed by steps S303 to S307, in which the process count j is incremented. Then, in step S207, the process count j is confirmed.

[0163] The processes of steps S203 to S206 and the subsequent steps S303 to S307 are repeated until the number of times of processing j reaches m.

[0164] In step S401, when the number of times of processing j reaches m, the process proceeds to step S499, where the process ends.

[0165] By performing the process shown in FIG. 7, file templates tm_1 to tm_m are output as m types of file templates tm.

[0166] <Example of Design Process> FIG. 8 shows an example of a design process of a semiconductor integrated circuit involving the design system 200. In FIG.

[0167] 8 shows an example of a design process DES for a semiconductor integrated circuit. The design process DES shown in FIG. 8 includes a start step, r steps P (r is an integer of 2 or more), namely, steps P1 to Pr, and a final end step.

[0168] The process P included in the design process DES includes, for example, register transfer level design, logic synthesis, placement and wiring, verification of operation timing, and verification of design rules.

[0169] Each of the multiple processes P (processes P1 to Pr) included in the design process DES may have multiple detailed processes Q. As an example, FIG. 8 shows a process P1 including 1 Detailed steps (s 1 is an integer of 2 or more), and the detailed steps Q1_1 to Q1_s 1 and the step P2 comprises: 2 Detailed steps (s 2 is an integer of 2 or more), and the detailed steps Q1_1 to Q1_s 2 and the step Pr comprises: r Detailed steps (s r is an integer of 2 or more), and the detailed steps Q1_1 to Q1_s r Here is an example with

[0170] The design information 311 can include information on each step included in the design process and information on the detailed steps included in each step.

[0171] The detailed steps may be performed, for example, by the flow shown in Figure 4 or 5. For example, it is preferable that at least one of the detailed steps in a process performs the process shown in Figure 4 or 5. This process creates a first version file and a final version file.

[0172] Furthermore, when a flow using a design system according to one embodiment of the present invention is applied to the detailed process, examples of the initial file and the final file include a file containing a description of the circuit specifications, a file containing a description of the logical formula for the circuit operation, a file containing a description of the logic circuit, a file containing a description of the constraints on the circuit operating frequency, a file containing a description of information on the input / output pins of the circuit, a file containing a description of the circuit layout, a file containing a description of the wiring layers and design rules, and the like.

[0173] As an example, the detailed process Q1_1 can be performed by setting the process P1 to the register transfer level design and processing the flow shown in Fig. 5. As a result, in the detailed process Q1_1, for example, a first-edition file including a description of the logical expression of the circuit operation and a finalized file linked to it can be created.

[0174] 6 or 7 can be applied to a plurality of detailed processes Q included in a process P. By this repetition, a plurality of types of first-version files and associated final-version files are created.

[0175] As an example, detailed process Q1_1 and detailed process Q1_2 can be performed by setting process P1 to register transfer level design and performing processing with m=2 in the flow shown in Fig. 7. As a result, in detailed process Q1_1, for example, a first-edition file including a description of the logical expression of the circuit operation and a finalized file linked thereto can be created, and in detailed process P1_2, for example, a first-edition file including a description of the constraints on the circuit operating frequency and a finalized file linked thereto can be created.

[0176] The initial file and the final file corresponding to different detailed processes Q correspond to different data sets 210 shown in Fig. 3. For example, a file containing a description related to a logical expression of circuit operation, which is created in detailed process Q1_1, and a file containing a description related to constraints on the circuit operating frequency, which is created in detailed process Q1_2, are each included in different data sets 210. It can also be said that the files corresponding to different detailed processes Q are stored in different positions in the database 203.

[0177] Note that this embodiment mode can be appropriately combined with other embodiment modes described in this specification.

[0178] tm: file template, tm_j: file template, 11: area, 12: area, 13: area, 200: design system, 201: control unit, 202a: calculation unit, 202b: calculation unit, 203: database, 210_j: data set, 301[k]: first version file, 301[q]: first version file, 301: first version file, 301_j: first version file, 301a: first version file, 302[k]: completed version file, 302[t]: completed version file, 302: completed version file, 302_j: completed version file, 303[k]: information, 303: information, 303_j: information, 309[k]: set data, 309[q]: set data, 309: set data, 309_j: set data, 311: design information

Claims

The apparatus includes a calculation unit, a control unit, and a database, the database includes a plurality of first version files and a plurality of final version files; each of the first version file and the final version file has a first area including a description related to a process of designing a semiconductor integrated circuit, and a second area described in a natural language; The database stores a plurality of sets of data in which a first version file including an error, a completed version file in which the error has been corrected, and information regarding the correction of the error are linked together; the calculation unit has a function of identifying one first edition file from the plurality of first edition files stored in the database, and providing group data including the one first edition file to the control unit; the control unit has a function of receiving a first initial version file and a function of outputting the set data provided by the calculation unit; A design system, wherein the one initial version file identified by the calculation unit contains an error that is highly similar to the first initial version file.   In claim 1, A design system, wherein the first domain includes a description of hardware.   In claim 2, A design system, wherein the first domain includes a description of a circuit specification, a description of a logical expression of circuit operation, or a description of a logical circuit.   In claim 2 or 3, the calculation unit has a function of extracting features from a description of the first area of ​​the completed file and converting the extracted features from a hardware description language into a natural language; The second domain includes a description of the features converted into natural language.   A first calculation unit, a second calculation unit, a control unit, and a database, the database includes a plurality of first version files and a plurality of final version files; each of the first version file and the final version file has a first area including a description related to a process of designing a semiconductor integrated circuit, and a second area described in a natural language; The database stores a plurality of sets of data in which a first version file including an error, a completed version file in which the error has been corrected, and information regarding the correction of the error are linked together; the first calculation unit has a function of identifying one first edition file from the plurality of first edition files stored in the database, and providing group data including the one first edition file to the control unit; the second calculation unit has a function of identifying one completed file from the plurality of completed files stored in the database, and providing a set of data including the one completed file to the control unit; the control unit has a function of accepting design information, a function of accepting a first initial version file, a function of outputting the set of data including the one initial version file provided from the first calculation unit, and a function of outputting the set of data including the one final version file provided from the second calculation unit; the one first version file identified by the first calculation unit includes an error that is highly similar to the first first version file; A design system, wherein the one completed file identified by the second calculation unit corresponds to a description of the design information.   In claim 5, A design system, wherein the first domain includes a description of hardware.   In claim 6, A design system, wherein the first domain includes a description of a circuit specification, a description of a logical expression of circuit operation, or a description of a logical circuit.   In claim 6 or 7, the design information includes a third domain described in a natural language; the second calculation unit has a function of extracting features from the description of the first area of ​​the completed file and converting the extracted features from a hardware description language to a natural language, a function of comparing the features converted into natural language with the description of the third area contained in the design information to calculate a similarity between the completed file and the design information, and a function of performing the identification using the calculated similarity.   In claim 6 or 7, the design information includes a third domain described in a natural language; the second calculation unit has a function of extracting features from a description of the first area of ​​the completed file and converting the extracted features from a hardware description language into a natural language, a function of comparing the features converted into natural language with a description of the third area of ​​the design information to calculate a similarity between the completed file and the design information, and a function of performing the identification using the calculated similarity; The second domain includes a description of the features converted into natural language.   In claim 1 or claim 5, A design system in which the first version file and the final version file include a description of circuit specifications, a description of a logical formula for circuit operation, a description of a logical circuit, a description of constraints on the circuit operating frequency, a description of information on input / output pins of a circuit, a description of circuit layout, or a description of wiring layers and design rules.

1. A method of operating a design system, comprising: The design system includes a calculation unit, a control unit, and a database, the database includes a plurality of first version files and a plurality of final version files; each of the first version file and the final version file has an area including a description related to a process of designing a semiconductor integrated circuit; The database stores a plurality of sets of data in which a first edition file including an error, a completed edition file in which the error has been corrected, and information regarding the correction of the error are linked together; a first step in which the control unit receives a first initial version file; a second step in which the control unit provides the first initial version file to the calculation unit; a third step in which the calculation unit identifies a first version file including an error having a high similarity to the first first version file from the database based on an instruction given by the control unit; a fourth step of the control unit outputting the set of data including the first edition file identified in the third step, How the design system works.   In claim 11, a step of the calculation unit classifying each of the errors contained in the plurality of first edition files held in the database into a plurality of classes; In the third step, the calculation unit calculates a similarity between the features of the plurality of classes and a feature extracted from the first first version file as a first parameter; the calculation unit identifies a first version file including an error having a high similarity to the first first version file from among the first version files associated with the errors classified into a class with a high similarity; How the design system works.

1. A method of operating a design system, comprising: The design system includes a first calculation unit, a second calculation unit, a control unit, and a database, the database includes a plurality of first version files and a plurality of final version files; each of the first version file and the final version file has a first area including a description related to a process of designing a semiconductor integrated circuit; The database stores a plurality of sets of data in which a first edition file including an error, a completed edition file in which the error has been corrected, and information regarding the correction of the error are linked together; A first step in which the control unit accepts design information; a second step of the control unit providing the design information to the second calculation unit; a third step in which the second calculation unit specifies, based on a first command given from the control unit, a completed file corresponding to a description included in the design information from the database, and prepares the specified completed file as a file template; a fourth step in which the control unit outputs the file template; a fifth step in which the control unit accepts the edited file template as a first initial version file; a sixth step of the control unit providing the first initial version file to the first calculation unit; a seventh step of the first calculation unit identifying a first version file including an error having a high similarity to the first first version file from the database based on a second command given by the control unit; an eighth step of the control unit outputting the set of data including the first edition file identified in the seventh step, How the design system works.   In claim 13, the first region is described in a hardware description language; the design information includes a second domain described in a natural language; In the third step, the second calculation unit extracting features from a description of the first region of the final file; Converting the extracted features from a hardware description language into a natural language; comparing the features converted into natural language with the description of the second region in the design information to calculate a similarity between the completed file and the design information as a first parameter; preparing a completed file having a high similarity as the file template; How the design system works.   In any one of claims 11 to 14, The design process includes at least one selected from register transfer level design, logic synthesis, placement and wiring, verification of operation timing, and verification of design rules.

Citation Information

Patent Citations

  • Hardware design management device

    JP2000293552A

  • System and method for predicting design errors in integrated circuits

    US6584455B1

  • Verification support device, verification support method, verification support program, and recording medium

    WO2005043419A1