RFMW PDK generation method and device, computer storage medium, and electronic device
By configuring and compiling the files required to generate the PDK in the PAD interface of PBQ, using RFMW startup files to load designKit, the problem of user manual import of files and strict requirements on folder structure is solved, and the automation and flexibility of PDK generation is achieved.
Patent Information
- Application Number
- CN202210048949.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-01-17
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2042-01-17
AI Technical Summary
When developing PDK using the EDA tool RFMW, users need to manually import layout parameters and have strict requirements on the folder structure, which can easily lead to failure to open the PDK.
By obtaining the files required to generate the PDK configured in the PAD interface of PBQ, compiling to generate the boot file and lib.def file, generating the RFMW boot file based on these files, and loading designKit to generate the PDK, avoiding the user's manual import of files and strict requirements for the folder structure.
It realizes the generation of files required for PDK without the user manually importing it, get rid of the strict requirements for folder structure, and avoids the failure of PDK opening.
Smart Images

Figure CN114385156B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of circuit processing technology, and specifically to a method and device for generating an RFMW PDK, a computer storage medium, and an electronic device. Background Art
[0002] PDK (Process Design Kits) is a bridge between IC design companies, foundries and EDA vendors. When we need to start using a new semiconductor process, we first need to develop a PDK. PDK defines a set of documents that reflect the foundry process in the foundry's language and is the cornerstone for design companies to do physical verification. PDK contains the basic "building blocks" that reflect the manufacturing process: transistors, contact holes, interconnects, etc.
[0003] When using the EDA tool RFMW to develop PDK, you need to create a set of RFMW folder architecture (also known as designKit). Users are required to import layout parameters, such as macroParam, and the import method is to load the layout parameters into an existing workspace. This has strict requirements on the folder structure. If the folder structure is adjusted, it is easy to fail to open the PDK. Summary of the invention
[0004] The embodiments of the present application provide a method and device for generating an RFMW PDK, a computer storage medium, and an electronic device to overcome or alleviate the above-mentioned technical problems existing in the prior art.
[0005] The technical solution adopted in this application is:
[0006] A method for generating an RFMWPDK, comprising:
[0007] Obtain the files required to generate the PDK configured in the PAD interface of PBQ;
[0008] Compile the files required to generate the PDK to generate a boot file and a lib.def file;
[0009] Generate the RFMW startup file according to the boot file and lib.def file;
[0010] According to the RFMW startup file, load the designKit to generate the PDK.
[0011] Optionally, the files required to generate the PDK include: at least one of a CDF file, a ParamList file, and a Layout file.
[0012] Optionally, the acquiring of the files required for generating the PDK configured in the PAD interface of the PBQ includes: directly calling the files required for generating the PDK from the Reference Library of the PBQ to configure in the PAD interface of the PBQ.
[0013] Optionally, the files required to generate the PDK are directly called from the Reference Library of the PBQ to be configured in the PAD interface of the PBQ, including: generating a project tree according to the provided library file name and the ReferenceLibrary of the PBQ, and generating the files required to generate the PDK configured in the PAD interface of the PBQ based on the project tree.
[0014] Optionally, the acquiring of the files required for generating the PDK configured in the PAD interface of PBQ further includes: automatically creating a workspace based on a compilation interface provided by PBQ to save the acquired files required for generating the PDK in a folder under the workspace.
[0015] Optionally, the automatically creating a workspace based on the compilation interface provided by PBQ to save the acquired files required to generate the PDK in a folder under the workspace includes: running a command script to automatically create a workspace based on the compilation interface provided by PBQ to save the acquired files required to generate the PDK in a folder under the workspace.
[0016] Optionally, loading the designKit according to the RFMW startup file to generate the PDK includes: loading the designKit according to the RFMW startup file, and encrypting and packaging the designKit to generate the PDK.
[0017] Optionally, generating the RFMW startup file according to the boot file and the lib.def file includes: modifying the boot file and the lib.def file to generate the RFMW startup file.
[0018] A device for generating RFMWPDK, comprising:
[0019] A first processing unit, configured to obtain a file required for generating the PDK configured in a PAD interface of the PBQ;
[0020] The second processing unit is used to compile the files required to generate the PDK to generate a boot file and a lib.def file;
[0021] A third processing unit is used to generate a RFMW startup file according to the boot file and the lib.def file;
[0022] The fourth processing unit is used to load the designKit to generate the PDK according to the RFMW startup file.
[0023] A computer storage medium having a computer executable program stored thereon, wherein the computer executable program is executed to implement any method described in the embodiments of the present application.
[0024] An electronic device comprises a memory and a processor, wherein the memory is used to store a computer executable program, and the processor is used to run the computer executable program to implement any method described in the embodiments of the present application.
[0025] In the technical solution of the embodiment of the present application, the files required for generating the PDK configured in the PAD interface of the PBQ are obtained; the files required for generating the PDK are compiled to generate a boot file and a lib.def file; based on the boot file and the lib.def file, an RFMW startup file is generated; based on the RFMW startup file, designKit is loaded to generate the PDK, without the need for the user to manually import the files required to generate the PDK, and at the same time, the strict requirements on the folder structure are eliminated, the folder structure can be adjusted, and the failure of opening the PDK can be avoided. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] Figure 1 A schematic diagram of a flow chart of a method for generating RFMWPDK according to an embodiment of the present application;
[0027] Figure 2 This is a schematic diagram of the structure of a device for generating RFMWPDK according to an embodiment of the present application;
[0028] Figure 3 This is a schematic diagram of the structure of an electronic device according to an embodiment of the present application;
[0029] Figure 4 This is a schematic diagram of the specific hardware structure of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION
[0030] In order to make the technical problems, technical solutions and advantages to be solved by the present application clearer, a detailed description will be given below with reference to the accompanying drawings and specific embodiments.
[0031] In order to make the technical problems, technical solutions and advantages to be solved by the present invention more clear, a detailed description will be given below with reference to the accompanying drawings and specific embodiments.
[0032] In addition, the described features, structures or characteristics may be combined in one or more embodiments in any suitable manner. In the following description, many specific details are provided to provide a full understanding of the embodiments of the present disclosure. However, those skilled in the art will appreciate that the technical solutions of the present disclosure may be practiced while omitting one or more of the specific details, or other methods, devices, steps, etc. may be adopted. In other cases, well-known structures, methods, devices, implementations or operations are not shown or described in detail to avoid obscuring various aspects of the present disclosure.
[0033] In addition, the terms "first", "second", etc. are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first" or "second" may explicitly or implicitly include one or more of the features. In the description of the present disclosure, the meaning of "plurality" is at least two, such as two, three, etc., unless otherwise clearly and specifically defined. The symbol " / " generally indicates that the objects associated with each other are in an "or" relationship.
[0034] In this disclosure, unless otherwise clearly specified and limited, terms such as "connection" should be understood in a broad sense, for example, it can be an electrical connection or can communicate with each other; it can be directly connected or indirectly connected through an intermediate medium. For ordinary technicians in this field, the specific meanings of the above terms in this disclosure can be understood according to specific circumstances.
[0035] In the technical solution of the embodiment of the present application, the files required for generating the PDK configured in the PAD interface of the PBQ are obtained; the files required for generating the PDK are compiled to generate a boot file and a lib.def file; based on the boot file and the lib.def file, an RFMW startup file is generated; based on the RFMW startup file, designKit is loaded to generate the PDK, without the need for the user to manually import the files required to generate the PDK, and at the same time, the strict requirements on the folder structure are eliminated, the folder structure can be adjusted, and the failure of opening the PDK can be avoided.
[0036] Figure 1 Schematic diagram of a method for generating RFMWPDK according to an embodiment of the present application; Figure 1 As shown, it includes:
[0037] S101. Obtain the files required for generating the PDK configured in the Pad surface of the PBQ.
[0038] In this embodiment, the Pad interface is a user interaction interface for displaying the content of the file and implementing syntax highlighting;
[0039] Optionally, the files required to generate the PDK include: at least one of a CDF file, a ParamList file, and a Layout file. The ParamList file is a parameter list file customized by PBQ, and the file name format of the file is *.param. In the ParamList file, the customized parameters are listed in the form of Key&Value in the same file for PBQ to read and parse; the Layout file is a *.il file, which is a text file that records the layout in RFMWPDK, and the programming language is the skill language.
[0040] In this embodiment, the above CDF file, ParamList file, and Layout file are merely examples and are not exclusive limitations. A person skilled in the art can actually selectively determine the required files according to the requirements of the application scenario.
[0041] For example, in some application scenarios, the Library Name may also be included, and a new cell and the symbol corresponding to the cell may be created, and the coding and parameterization of the specific device may be defined through the cell, thereby recording all the properties of the specific device. To this end, optionally, the acquisition of the files required to generate the PDK configured in the PAD interface of the PBQ includes: directly calling the files required to generate the PDK from the Reference Library of the PBQ to configure in the PAD interface of the PBQ.
[0042] In addition, the required files also include files that support the bitmap editing function to rename the bitmap. Through this bitmap, the icon of the cell can be presented in the toolbar during the layout design process, so that users can more intuitively understand the basic category and basic properties of each cell during the PDK development process, thereby improving development efficiency.
[0043] Optionally, the directly calling the files required to generate the PDK from the Reference Library of the PBQ to configure in the PAD interface of the PBQ includes: generating a project tree according to the provided library file name and the ReferenceLibrary of the PBQ, and acquiring the configured files required to generate the PDK in the PAD interface of the PBQ based on the project tree. In this embodiment, since the ReferenceLibrary includes the reference device library provided by the PBQ, a project tree can be quickly generated based on the reference device library, so as to further accurately acquire the configured files required to generate the PDK in the PAD interface of the PBQ based on the project tree.
[0044] For example, the files required to generate the PDK can be directly added to the project tree. For example, the right-click event of the project tree is captured, and the files required to generate the PDK are imported from the specified file path to the project directory according to the captured right-click event, thereby increasing the convenience of operation.
[0045] Optionally, the obtaining of the files required to generate the PDK configured in the PAD interface of PBQ also includes: based on the compilation interface provided by PBQ, i.e., the compile button, automatically creating a workspace to save the obtained files required to generate the PDK in a folder under the workspace, thereby achieving the acquisition of all required files from a unique path workspace, thereby improving the efficiency and accuracy of file acquisition.
[0046] To this end, since it is directly based on the compilation interface provided by PBQ, there is no need for manual operation by the user, which improves efficiency and avoids subjective errors caused by manual operation.
[0047] Optionally, the compile interface provided by PBQ automatically creates a workspace to save the acquired files required to generate the PDK in a folder under the workspace.
[0048] S102, compile the files required to generate the PDK to generate a boot file and a lib.def file;
[0049] In this embodiment, when executing step S102, in addition to generating the boot file and the lib.def file, the eesof.cfg file can also be generated. In this embodiment, the boot file defines the multiple files required to generate the PDK and the loading order of the multiple files that need to be obtained from the workspace during the compilation process; the lib.def file records the target library that needs to be loaded during the compilation process and the read and write permissions; the eesof.cfg file records the loading path of the techfile file.
[0050] S103, generating an RFMW startup file according to the boot file and the lib.def file;
[0051] S104. According to the RFMW startup file, load the designKit to generate a PDK.
[0052] Optionally, loading the designKit according to the RFMW startup file to generate the PDK includes: loading the designKit according to the RFMW startup file, and encrypting and packaging the designKit to generate the PDK.
[0053] In this embodiment, the security of data is ensured by encrypting and packaging the designKit.
[0054] Specifically, the designKit is encrypted to obtain an encrypted copy. The encrypted file in the designKit cannot be opened using text, thus ensuring data security.
[0055] Figure 2 Schematic diagram of the structure of a device for generating RFMWPDK according to an embodiment of the present application; Figure 2 As shown, it includes:
[0056] The first processing unit 201 is used to obtain the files required to generate the PDK configured in the PAD interface of the PBQ;
[0057] The second processing unit 202 is used to compile the files required to generate the PDK to generate a boot file and a lib.def file;
[0058] The third processing unit 203 is used to generate a RFMW startup file according to the boot file and the lib.def file;
[0059] The fourth processing unit 204 is used to load the designKit to generate the PDK according to the RFMW startup file.
[0060] Optionally, the files required to generate the PDK include: at least one of a CDF file, a ParamList file, and a Layout file.
[0061] Optionally, the first processing unit is specifically used to: directly call the files required to generate the PDK from the Reference Library of the PBQ to configure the PAD interface of the PBQ.
[0062] Optionally, the first processing unit is specifically used to: generate a project tree according to the provided library file name and the Reference Library of the PBQ, and generate files required for the PDK based on the configuration of the project tree in the PAD interface of the PBQ.
[0063] Optionally, the first processing unit is further used to: automatically create a workspace based on a compilation interface provided by PBQ, so as to save the acquired files required for generating the PDK in a folder under the workspace.
[0064] Optionally, the first processing unit is further specifically used to: based on the compilation interface provided by PBQ, run a command script to automatically create a workspace, so as to save the acquired files required to generate the PDK in a folder under the workspace.
[0065] Optionally, the fourth processing unit is specifically used to: load the designKit according to the RFMW startup file, and encrypt and package the designKit to generate the PDK.
[0066] Optionally, the third processing unit is specifically used to: modify the boot file and the lib.def file to generate an RFMW startup file.
[0067] Figure 3 Schematic diagram of the structure of the electronic device of the present application embodiment; Figure 3 As shown, the electronic device includes a memory 301 and a processor 302, the memory is used to store a computer executable program, and the processor is used to run the computer executable program to implement any method described in the embodiments of the present application.
[0068] Figure 4 Schematic diagram of the specific hardware structure of an electronic device according to an embodiment of the present application; Figure 4 As shown, the electronic device may include: a processor (processor) 402 , a communication interface (Communications Interface) 404 , a memory (memory) 406 , and a communication bus 408 .
[0069] in:
[0070] The processor 402 , the communication interface 404 , and the memory 406 communicate with each other via a communication bus 408 .
[0071] The communication interface 404 is used to communicate with other electronic devices or servers.
[0072] The processor 402 is used to execute the program 510, and specifically can execute the relevant steps in the above method embodiment.
[0073] Specifically, the program 510 may include program codes, which include computer operation instructions.
[0074] The processor 402 may be a central processing unit (CPU), or an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application. The one or more processors included in the smart device may be processors of the same type, such as one or more CPUs; or processors of different types, such as one or more CPUs and one or more ASICs.
[0075] The memory 706 is used to store the program 510. The memory 706 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.
[0076] The program 510 may be specifically used to enable the processor 702 to execute the steps in the above embodiments.
[0077] The specific implementation of each step in program 510 can refer to the corresponding description of the corresponding steps and units in the method embodiment, which will not be repeated here. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working process of the above-described devices and modules can refer to the corresponding process description in the aforementioned method embodiment, which will not be repeated here.
[0078] The embodiments of the present application also provide a computer storage medium, on which a computer executable program is stored, and the computer executable program is executed to implement any method described in the embodiments of the present application.
[0079] The above-mentioned method according to the embodiment of the present application can be implemented in hardware, firmware, or implemented as software or computer code that can be stored in a recording medium (such as a CD ROM, RAM, floppy disk, hard disk or magneto-optical disk), or implemented as a computer code originally stored in a remote recording medium or a non-temporary machine-readable medium downloaded through a network and stored in a local recording medium, so that the method described herein can be stored in such software processing on a recording medium using a general-purpose computer, a special-purpose processor or programmable or special-purpose hardware (such as an ASIC or FPGA). It can be understood that a computer, a processor, a microprocessor controller or programmable hardware includes a storage component (e.g., RAM, ROM, flash memory, etc.) that can store or receive software or computer code, and when the software or computer code is accessed and executed by a computer, a processor or hardware, the verification code generation method described herein is implemented. In addition, when a general-purpose computer accesses a code for implementing the verification code generation method shown here, the execution of the code converts the general-purpose computer into a special-purpose computer for executing the verification code generation method shown here.
[0080] Those of ordinary skill in the art will appreciate that the units and method steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the embodiments of the present application.
[0081] The above implementation methods are only used to illustrate the embodiments of the present application, and are not limitations on the embodiments of the present application. Ordinary technicians in the relevant technical field can make various changes and modifications without departing from the spirit and scope of the embodiments of the present application. Therefore, all equivalent technical solutions also belong to the scope of the embodiments of the present application. The scope of patent protection of the embodiments of the present application should be limited by the claims.
Claims
1. A method for generating a RFMW PDK, characterized in that: include: Obtain the files required to generate the PDK configured in the PAD interface of PBQ; Compile the files required to generate the PDK to generate a boot file and a lib.def file; Generate the RFMW startup file according to the boot file and lib.def file; According to the RFMW startup file, load the designKit to generate the PDK; In addition to generating the boot file and lib.def file, the eesof.cfg file is also generated. The boot file defines the multiple files required to generate the PDK and the loading order of the multiple files that need to be obtained from the workspace during the compilation process; the lib.def file records the target library that needs to be loaded during the compilation process and the read and write permissions; the eesof.cfg file records the loading path of the techfile file; The step of loading the designKit to generate the PDK according to the RFMW startup file includes: loading the designKit according to the RFMW startup file, encrypting and packaging the designKit to generate the PDK, encrypting the designKit to obtain an encrypted copy, and the files in the encrypted designKit cannot be opened using text.
2. The method according to claim 1, characterized in that The files required to generate the PDK include: at least one of a CDF file, a ParamList file, and a Layout file.
3. The method according to claim 1, characterized in that The acquiring of the files required for generating the PDK configured in the PAD interface of the PBQ includes: directly calling the files required for generating the PDK from the Reference Library of the PBQ to configure in the PAD interface of the PBQ.
4. The method according to claim 3, characterized in that The directly calling the files required to generate the PDK from the Reference Library of the PBQ to configure in the PAD interface of the PBQ includes: generating a project tree according to the provided library file name and the Reference Library of the PBQ, and generating the files required to generate the PDK configured in the PAD interface of the PBQ based on the project tree.
5. The method according to claim 1, characterized in that: The obtaining of the files required for generating the PDK configured in the PAD interface of PBQ also includes: automatically creating a workspace based on a compilation interface provided by PBQ to save the obtained files required for generating the PDK in a folder under the workspace.
6. The method according to claim 5, characterized in that The method of automatically creating a workspace based on the compilation interface provided by PBQ to save the acquired files required for generating the PDK in a folder under the workspace includes: running a command script to automatically create a workspace based on the compilation interface provided by PBQ to save the acquired files required for generating the PDK in a folder under the workspace.
7. The method according to claim 1, characterized in that The generating the RFMW startup file according to the boot file and the lib.def file includes: modifying the boot file and the lib.def file to generate the RFMW startup file.
8. A device for generating RFMW PDK, characterized in that: include: A first processing unit, configured to obtain a file required for generating the PDK configured in a PAD interface of the PBQ; The second processing unit is used to compile the files required to generate the PDK to generate a boot file and a lib.def file; A third processing unit is used to generate a RFMW startup file according to the boot file and the lib.def file; The fourth processing unit is used to load the designKit to generate a PDK according to the RFMW startup file, In addition to generating the boot file and lib.def file, the eesof.cfg file is also generated. The boot file defines the multiple files required to generate the PDK and the loading order of the multiple files that need to be obtained from the workspace during the compilation process; the lib.def file records the target library that needs to be loaded during the compilation process and the read and write permissions; the eesof.cfg file records the loading path of the techfile file; The step of loading the designKit to generate the PDK according to the RFMW startup file includes: loading the designKit according to the RFMW startup file, encrypting and packaging the designKit to generate the PDK, encrypting the designKit to obtain an encrypted copy, and the files in the encrypted designKit cannot be opened using text.
9. A computer storage medium, characterized in that The computer storage medium stores a computer executable program, and the computer executable program is run to implement any one of the methods of claims 1-7.
10. An electronic device, characterized in that: The electronic device comprises a memory and a processor, wherein the memory is used to store a computer executable program, and the processor is used to run the computer executable program to implement any one of the methods of claims 1-7.