Background
The PDK comprises a simulation model file, a PCell, a CDF & Callback, a technical file, a physical verification rule file and the like. The PCell is a parameterized unit, where the parameters are CDF parameters, and the combination of them can implement all functions customized by a user, and is a core part of the PDK. The PCell can accelerate the data inserted into the layout, avoid repeated creation of cells, and avoid errors that occur when multiple versions of the same cell are to be maintained.
The PDK can be generated by using the process information provided by the wafer factory and PDK tool software of different companies (such as PAS system and Synopsys software of Cadence). The PDK is generated differently by tool software of different companies. For example, PCell and CDF & Callback for PDK generated using Cadence tool software were developed in SKILL language. Since encryption of the evaluation function of the PCell is stored in the skell script, and the skell language interpreter is owned by Cadence, there is a certain difficulty in supporting the PCell cell library by other Electronic Design Automation (EDA) software.
When the territory is drawn by Virtuoso software of Cadence company, PCell cell libraries can be used, and other EDA software has problems when the PCell cell libraries are compatible. Through investigation, other EDA software usually draws a layout manually according to a device image, the number of devices is large, parameters such as the size of the device are very complicated when the parameters need to be modified, and a lot of workload is increased.
Disclosure of Invention
The invention provides a method for realizing the compatibility of EDA software with a third-party PCell cell library, which is used for realizing the compatibility of the EDA software with the third-party PCell cell library and improving the layout design capability of the EDA software.
In a first aspect, an embodiment of the present invention provides a method for implementing an EDA software compatible with a third-party PCell cell library, including:
creating a plug-in and copying the plug-in to a specified directory;
creating a dynamic library and establishing a symbolic link to point to the cdsSkillPcell;
and writing an sltPCell script by referring to the PCell by using an interpretive language to realize the compatibility of the EDA software to the third-party PCell cell library.
Optionally, after writing the sltcell script with reference to the PCell using the interpretive language, the calling the third-party PCell cell library through the EDA software includes:
calling a third-party language interpreter, and transmitting the library name, the cell name, the view name and the parameter information of the PCell cell library into an sltPCels script;
and analyzing a result returned by the sltPCels script and writing the result into an OA database to realize the calling of the third-party PCell cell library.
Optionally, the analytic language includes Python, Tcl/Tk, and Perl.
Optionally, the file of the plug-in is named cdsskill pcell.
Optionally, the file of the dynamic library is named libsltcell.
The invention realizes the compatibility of EDA software to a third-party PCell unit library by creating plug-ins and dynamic libraries, and improves the layout design capability of the EDA software. In addition, the sltPCell script is written by referring to the PCell by adopting the interpretive language, and the script can be rewritten according to actual requirements, so that the compatibility flexibility of the third-party PCell cell library is improved.
Detailed Description
The present invention will be described in further detail with reference to the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the invention and are not limiting of the invention. It should be further noted that, for the convenience of description, only some of the structures related to the present invention are shown in the drawings, not all of the structures.
Examples
Fig. 1 is a flowchart of a method for implementing compatibility of EDA software with a third-party PCell cell library according to an embodiment of the present invention, where the embodiment is applicable to a case where EDA software is compatible with the third-party PCell cell library, and the method specifically includes the following steps:
s01, creating a plug-in and copying to the specified directory.
S02, creating a dynamic library and establishing a symbolic link to point to the cdsSkillPcell.
And S03, writing an sltCell script by referring to the PCell by using the interpretive language, and realizing the compatibility of the EDA software to a third-party PCell cell library.
The interpreted language includes, but is not limited to, Python, Tcl/Tk, Perl, etc. The script is written by utilizing the interpretive language, the script can be rewritten according to actual requirements, and the compatibility flexibility of the third-party PCell cell library is improved.
On the basis of the steps, when the EDA software calls the third-party PCell cell library, the method further comprises the following steps:
and S04, calling a third-party language interpreter, and transmitting the library name, the cell name, the view name and the parameter information of the PCell cell library into the sltPCels script.
And S05, analyzing the result returned by the sltPCels script and writing the result into an OA database to realize the call of the third-party PCell cell library.
Further, embodiments of the present invention are directed to IC competitive analysis
Software compatibility uses, for example, PCell cell library sbc18 generated by Cadence software. First of all configured
The server environment of the software, the specific environment configuration process is shown in detail in fig. 2, and includes the following steps:
(1) plug-in cdsskill pcell. plg is created, copied into lib/oa../data/plugins catalog.
(2) And (3) creating a dynamic library libsltpell. so, copying the dynamic library libsltpell/x 64/opt directory, and establishing a symbolic link libbcdsSkillPcell. so to point to cdsSkillPcell.
(3) The sltPCels script is written with reference to the PCell using a third party interpretive language and copied into the project directory projects, the directory structure being as shown in FIG. 3.
(4) And finally restarting the design server.
In that
The software uses the PCell to draw layout modification device parameters, and when the PCell is displayed, the flow is as shown in FIG. 4, which specifically includes the following steps:
(1) and entering an onEval function of the sltPCell dynamic library, and transmitting a parameter design object.
(2) And acquiring PCell information (library name, unit name, view name and parameter list) through the parameter design object.
(3) And serializing the PCell information into data compatible with a third-party language, and serializing the data into a Python language dictionary structure by taking Python as an example.
(4) An interpreter of a third party language, such as python, Tcl/Tk, Perl, etc., is loaded.
(5) And finding out the onEval function of the corresponding execution script file according to the library name and the unit name, executing and returning the result.
(6) The sltPCell dynamic library reads the result and deserializes into a data type corresponding to C + +.
(7) The C + + data type is saved into the OA library.
Through the steps, the display process of the PCell of the third party is completed once.
The technical scheme of the embodiment of the invention provides a method for realizing the compatibility of EDA software with a third party PCell unit, and the EDA software improves the layout design capability by being compatible with a third party PCell unit library.
It is to be noted that the foregoing is only illustrative of the preferred embodiments of the present invention and the technical principles employed. It will be understood by those skilled in the art that the present invention is not limited to the particular embodiments described herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the invention. Therefore, although the present invention has been described in greater detail by the above embodiments, the present invention is not limited to the above embodiments, and may include other equivalent embodiments without departing from the spirit of the present invention, and the scope of the present invention is determined by the scope of the appended claims.