Integrated circuit layout method and integrated circuit layout system
By obtaining and calculating the relative position information of modules in the integrated circuit layout, and using integrated circuit design tools to realize automated layout, the problems of low layout efficiency and high error rate in the existing technology are solved, and the layout efficiency and accuracy are improved.
Patent Information
- Application Number
- CN202111566687.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-20
- Publication Date
- 2025-01-21
- Estimated Expiration
- 2041-12-20
AI Technical Summary
In the prior art, the layout efficiency of integrated circuits is low and the error rate is high, which leads to time-consuming and labor-intensive verification, increasing costs, and affecting the chip design process time.
By obtaining the relative position information of the module in the layout, and calculating the layout position information based on the relative position information and size of the module, the integrated circuit design tool is used to call this information to realize automated layout layout.
It improves the efficiency and accuracy of integrated circuit layout, reduces manual layout errors, shortens the design process time, and reduces costs.
Smart Images

Figure CN114297974B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of semiconductor technology, and in particular to an integrated circuit layout method and an integrated circuit layout system. Background Art
[0002] In integrated circuit layout design, especially when laying out the layout according to a layout plan, it is necessary to correctly implement the number, placement direction, placement position, and relative positions of the modules called by the layout.
[0003] The existing solution is to call each module needed in the layout design tool according to the planned layout plan. When calling, it is necessary to manually modify the various parameters of the module, such as the placement direction, placement coordinates, placement quantity, etc. After placement, the first round of verification is required, that is, carefully check with the naked eye to see if there are obvious call errors, and then use the LVS tool for the second round of verification and correction, and then repeat the above verification operations for the third and fourth rounds until the verification is correct.
[0004] The existing technology has a high error rate due to manual layout. If there is any error such as the wrong number of module calls or wrong coordinate positions during layout, it will cause time-consuming and labor-intensive later verification, directly increasing costs. In addition, manual layout efficiency is too low. When the chip scale is large and the later layout planning and design are updated and iterated, the layout cannot keep up with the layout planning iteration rhythm, which will cause the entire chip design process to be extended, thereby affecting the tape-out time node and causing immeasurable consequences.
[0005] Therefore, it is necessary to provide a novel integrated circuit layout method and integrated circuit layout system to solve the above problems existing in the prior art. Summary of the invention
[0006] The object of the present invention is to provide an integrated circuit layout method and an integrated circuit layout system to improve the efficiency and accuracy of the integrated circuit layout.
[0007] To achieve the above-mentioned purpose, the integrated circuit layout method of the present invention comprises:
[0008] Get the relative position information of the module in the layout;
[0009] Calculating the layout position information of the module according to the relative position information of the module and the size of the module;
[0010] The integrated circuit layout is realized by calling the layout position information of the module and the address information of the module through an integrated circuit design tool.
[0011] The beneficial effects of the integrated circuit layout method are: obtaining the relative position information of the module in the layout, calculating the layout position information of the module according to the relative position information of the module and the size of the module, and implementing the integrated circuit layout by calling the layout position information of the module and the address information of the module through an integrated circuit design tool, without the need for manual layout, thereby improving the layout efficiency and accuracy.
[0012] Optionally, the acquiring module's relative position information in the layout includes:
[0013] The row and column where the module is located are obtained, and then the row and column where the module is located are used as the relative position information of the module in the layout.
[0014] Optionally, the calculating the layout position information of the module according to the relative position information of the module and the size of the module includes:
[0015] The origin position of the layout is used as the coordinate origin, and the coordinate origin is used as the layout position information of the module located at the origin position of the layout, wherein a rectangle is drawn along the outermost edge of the layout, and the position of any corner of the rectangle is the origin position.
[0016] Optionally, the size of the module includes height and width, the layout position information includes a horizontal coordinate and a vertical coordinate, and the calculating the layout position information of the module according to the relative position information of the module and the size of the module includes:
[0017] The column where the module located at the origin is located is the first column, and the row where the module located at the origin is the first row;
[0018] In the modules in the same column, any module is taken as a target module, and the sum of the heights of all modules between the target module and the first row of modules is obtained to obtain the ordinate of the target module;
[0019] Among the modules in the same row, any module is taken as a target module, and the sum of the widths of all modules between the target module and the first column of modules is obtained to obtain the horizontal coordinate of the target module.
[0020] Optionally, the calculating the layout position information of the module according to the relative position information of the module and the size of the module further includes:
[0021] Get the spacing of the modules in the layout.
[0022] Optionally, the size of the module includes height and width, the layout position information includes a horizontal coordinate and a vertical coordinate, and the calculating the layout position information of the module according to the relative position information of the module and the size of the module includes:
[0023] The column where the module located at the origin is located is the first column, and the row where the module located at the origin is the first row;
[0024] In the modules of the same column, any module is taken as a target module, and the heights of all modules between the target module and the first row of modules and the sum of the heights of all the intervals are obtained to obtain the ordinate of the target module;
[0025] Among the modules in the same row, any module is taken as a target module, and the widths of all modules between the target module and the modules in the first column and the sum of the widths of all the intervals are obtained to obtain the horizontal coordinate of the target module.
[0026] Optionally, the address information of the module includes primary directory information and secondary directory information, and the secondary directory information is subordinate address information of the primary directory information.
[0027] Optionally, the integrated circuit layout method further comprises: constructing a database, wherein the database comprises address information of the module and size of the module.
[0028] The present invention also provides an integrated circuit layout system, which includes an acquisition unit, a calculation unit and a layout unit. The acquisition unit is used to acquire relative position information of a module in a layout. The calculation unit is used to calculate the layout position information of the module based on the relative position information of the module and the size of the module. The layout unit is used to call the layout position information of the module and the address information of the module through an integrated circuit design tool to implement integrated circuit layout.
[0029] The beneficial effects of the integrated circuit layout system are: the acquisition unit is used to acquire the relative position information of the module in the layout, the calculation unit is used to calculate the layout position information of the module according to the relative position information of the module and the size of the module, and the layout unit is used to call the layout position information of the module and the address information of the module through the integrated circuit design tool to realize the integrated circuit layout, without manual layout, thereby improving the layout efficiency and accuracy.
[0030] Optionally, the integrated circuit layout system further includes a storage unit for storing a database.
[0031] Optionally, the integrated circuit layout system further includes a database construction unit for constructing a database. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] Figure 1 is a flow chart of the integrated circuit layout method of the present invention;
[0033] Figure 2 A schematic diagram of a layout in some embodiments of the present invention;
[0034] Figure 3 Schematic diagrams of layouts in some other embodiments of the present invention;
[0035] Figure 4 It is a structural block diagram of the integrated circuit layout system of the present invention. DETAILED DESCRIPTION
[0036] In order to make the purpose, technical solutions and advantages of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, rather than all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention. Unless otherwise defined, the technical terms or scientific terms used herein should be understood by people with general skills in the field to which the present invention belongs. "Including" and similar words used in this article mean that the elements or objects appearing before the word include the elements or objects listed after the word and their equivalents, without excluding other elements or objects.
[0037] In view of the problems existing in the prior art, an embodiment of the present invention provides an integrated circuit layout method. Figure 1 , the integrated circuit layout method comprises the following steps:
[0038] S1: Get the relative position information of the module in the layout;
[0039] S2: Calculating the layout position information of the module according to the relative position information of the module and the size of the module;
[0040] S3: Calling the layout position information of the module and the address information of the module through an integrated circuit design tool to implement integrated circuit layout.
[0041] In some embodiments, obtaining the relative position information of the module in the layout includes: obtaining the row and column where the module is located, and then using the row and column where the module is located as the relative position information of the module in the layout.
[0042] In some embodiments, the horizontal axis represents the column where the module is located, and the vertical axis represents the row where the module is located, and then the horizontal axis and the vertical axis are used together to express the relative position information of the module in the layout.
[0043] Figure 2 Schematic diagram of the layout in some embodiments of the present invention. Figure 2, the figure shows a first module, a second module, a third module, a fourth module, a fifth module, a sixth module, a seventh module, an eighth module and a ninth module.
[0044] Reference Figure 2 , the first module is located in the first row and the first column in the layout, then the relative position information of the first module in the layout is (x1, y1).
[0045] Reference Figure 2 , the second module is located in the first row and the second column in the layout, then the relative position information of the first module in the layout is (x2, y1).
[0046] Reference Figure 2 , the third module is located in the first row and the third column in the layout, then the relative position information of the first module in the layout is (x3, y1).
[0047] Reference Figure 2 , the fourth module is located in the second row and the first column in the layout, then the relative position information of the first module in the layout is (x1, y2).
[0048] Reference Figure 2 , the fifth module is located in the second row and the second column in the layout, then the relative position information of the first module in the layout is (x2, y2).
[0049] Reference Figure 2 , the sixth module is located in the second row and the third column in the layout, then the relative position information of the first module in the layout is (x3, y2).
[0050] Reference Figure 2 , the seventh module is located in the third row and the first column in the layout, then the relative position information of the first module in the layout is (x1, y3).
[0051] Reference Figure 2 , the eighth module is located in the third row and the second column in the layout, then the relative position information of the first module in the layout is (x2, y3).
[0052] Reference Figure 2 , the ninth module is located in the third row and the third column in the layout, then the relative position information of the first module in the layout is (x3, y3).
[0053] In some embodiments, calculating the layout position information of the module based on the relative position information of the module and the size of the module includes: taking the origin position of the layout as the coordinate origin, and taking the coordinate origin as the layout position information of the module located at the origin position of the layout, wherein a rectangle is drawn along the outermost edge of the layout, and the position of any corner of the rectangle is the origin position.
[0054] In some embodiments, the size of the module includes height and width, the layout position information includes horizontal coordinates and vertical coordinates, and the layout position information of the module is calculated according to the relative position information of the module and the size of the module, including: taking the column where the module located at the origin is located as the first column, and taking the row where the module located at the origin is located as the first row; in the modules in the same column, taking any module as the target module, obtaining the sum of the heights of all modules between the target module and the first row of modules to obtain the vertical coordinate of the target module; in the modules in the same row, taking any module as the target module, obtaining the sum of the widths of all modules between the target module and the first column of modules to obtain the horizontal coordinate of the target module. Wherein, the modules are all rectangular.
[0055] Reference Figure 2 , the height and width of the first module, the second module, the third module, the fourth module, the fifth module, the sixth module, the seventh module, the eighth module, and the ninth module are all 10.
[0056] Reference Figure 2 , taking the first module as the module located at the origin, the first module is the first module in the first column and the first module in the first row, the horizontal coordinate of the first module is 0, the vertical coordinate of the first module is 0, that is, the layout position information of the first module is (0, 0).
[0057] Reference Figure 2 , when the second module is the target module, the second module is located in the first row and on the right side of the first module, and there is no interval between the second module and the first module, then the horizontal coordinate of the second module is the width of the first module, that is, the horizontal coordinate of the second module is 10, and the vertical coordinate of the second module is 0, that is, the layout position information of the second module is (10, 0).
[0058] Reference Figure 2 , when the second module is the target module and the first module is called twice at (x1, y1), the horizontal coordinate of the second module is twice the width of the first module, that is, the horizontal coordinate of the second module is 20, and the vertical coordinate of the second module is 0, that is, the layout position information of the second module is (20, 0).
[0059] Reference Figure 2 , when the third module is the target module, the third module is located in the first row and on the right side of the second module, and there is no detection between the third module and the second module, then the horizontal coordinate of the third module is the sum of the width of the first module and the width of the second module, that is, the horizontal coordinate of the third module is 20, and the vertical coordinate of the third module is 0, that is, the layout position information of the third module is (20, 0).
[0060] Reference Figure 2 , when the fourth module is the target module, the fourth module is located in the first column and on the upper side of the first module, and there is no interval between the fourth module and the first module, then the vertical coordinate of the fourth module is the height of the first module, that is, the vertical coordinate of the fourth module is 10, and the horizontal coordinate of the fourth module is 0, that is, the layout position information of the fourth module is (0, 10).
[0061] Reference Figure 2 , when the seventh module is the target module, the seventh module is located in the first column and on the upper side of the fourth module, and there is no interval between the seventh module and the fourth module, then the vertical coordinate of the seventh module is the sum of the height of the first module and the height of the fourth module, that is, the vertical coordinate of the seventh module is 20, and the horizontal coordinate of the seventh module is 0, that is, the layout position information of the fourth module is (0, 20).
[0062] Reference Figure 2 , when the ninth module is the target module, the ninth module is located in the third row and the third column, the horizontal coordinate of the ninth module is the sum of the width of the seventh module and the width of the eighth module, that is, the horizontal coordinate of the ninth module is 20, and the vertical coordinate of the ninth module is the sum of the height of the third module and the height of the sixth module, that is, the vertical coordinate of the ninth module is 20, that is, the layout position information of the ninth module is (20, 20).
[0063] In some embodiments, the step of calculating the layout position information of the module based on the relative position information of the module and the size of the module further includes: obtaining the intervals between the modules in the layout.
[0064] In some embodiments, the size of the module includes height and width, and the layout position information includes horizontal and vertical coordinates. The layout position information of the module is calculated based on the relative position information of the module and the size of the module, including: taking the column where the module located at the origin is located as the first column, and taking the row where the module located at the origin is located as the first row; among the modules in the same column, taking any module as the target module, obtaining the height of all modules between the target module and the first row of modules and the sum of the height of all the intervals to obtain the vertical coordinate of the target module; taking any module as the target module among the modules in the same row, obtaining the width of all modules between the target module and the first column of modules and the sum of the width of all the intervals to obtain the horizontal coordinate of the target module.
[0065] Figure 3 Schematic diagram of layout in some embodiments of the present invention. Figure 3 , the figure shows a first module, a second module, a third module, a fourth module, a fifth module and a sixth module.
[0066] Reference Figure 3 , the first module is located in the first row and the first column in the layout, then the relative position information of the first module in the layout is (x1, y1).
[0067] Reference Figure 3 , the second module is located in the first row and the second column in the layout, then the relative position information of the second module in the layout is (x2, y1).
[0068] Reference Figure 3 , the third module is located in the first row and the third column in the layout, then the relative position information of the third module in the layout is (x3, y1).
[0069] Reference Figure 3 , the fourth module is located in the second row and the first column in the layout, then the relative position information of the fourth module in the layout is (x1, y2).
[0070] Reference Figure 3 , the fifth module is located in the second row and the second column in the layout, then the relative position information of the first module in the layout is (x2, y2).
[0071] Reference Figure 3 , the sixth module is located in the third row and the first column in the layout, then the relative position information of the first module in the layout is (x1, y3).
[0072] Reference Figure 3The first module has a height of 10 and a width of 10; the second module has a height of 15 and a width of 10; the third module has a height of 10 and a width of 10; the fourth module has a height of 10 and a width of 15; the fifth module has a height of 10 and a width of 10; the sixth module has a height of 20 and a width of 18.
[0073] Reference Figure 3 , taking the first module as the module located at the origin, the first module is the first module in the first column and the first module in the first row, the horizontal coordinate of the first module is 0, the vertical coordinate of the first module is 0, that is, the layout position information of the first module is (0, 0).
[0074] Reference Figure 3 , when the second module is the target module, the second module is located in the first row, on the right side of the first module, and there is a first interval between the first module and the second module, and the width of the first interval is 5, then the horizontal coordinate of the second module is the sum of the width of the first module and the width of the first interval, that is, the horizontal coordinate of the second module is 15, and the vertical coordinate of the second module is 0, that is, the layout position information of the second module is (15, 0).
[0075] Reference Figure 3 , when the third module is the target module, the third module is located in the first row, on the right side of the second module, and there is no interval between the third module and the second module, then the horizontal coordinate of the third module is the sum of the first module width, the first interval width and the second module width, that is, the horizontal coordinate of the second module is 25, the vertical coordinate of the second module is 0, that is, the layout position information of the second module is (25, 0).
[0076] Reference Figure 3 , when the fourth module is the target module, the fourth module is located in the first column, located on the upper side of the first module, and there is no interval between the fourth module and the first module, then the vertical coordinate of the fourth module is the height of the first module, that is, the vertical coordinate of the fourth module is 10, and the horizontal coordinate of the fourth module is 0, that is, the layout position information of the fourth module is (0, 10).
[0077] Reference Figure 3, when the fifth module is the target module, the fifth module is located in the second column and the second row, the fifth module is located on the right side of the fourth module and on the upper side of the second module, and there is no interval between the fifth module and the fourth module, and there is no interval between the fifth module and the second module, then the horizontal coordinate of the fifth module is the width of the fourth module, that is, the horizontal coordinate of the fifth module is 15, and the vertical coordinate of the fifth module is the height of the second module, that is, the vertical coordinate of the fifth module is 15, that is, the layout position information of the fifth module is (15, 15).
[0078] Reference Figure 3 , when the sixth module is the target module, the sixth module is located in the first column, the sixth module is located on the upper side of the fourth module, and there is a second gap between the sixth module and the fourth module, and the height of the second gap is 5, then the vertical coordinate of the sixth module is the sum of the first module height, the fourth module height and the second gap height, that is, the vertical coordinate of the sixth module is 25, the horizontal coordinate of the sixth module is 0, that is, the layout position information of the sixth module is (0, 25).
[0079] In some embodiments, the address information of the module includes primary directory information and secondary directory information, and the secondary directory information is subordinate address information of the primary directory information.
[0080] In some embodiments, the integrated circuit layout method further includes: constructing a database, wherein the database includes address information of the module and the size of the module.
[0081] In some embodiments, the integrated circuit design tool is virtuoso, and the integrated circuit design tool calls the layout position information of the module and the address information of the module to implement the integrated circuit layout, including loading a skill script through virtuoso, virtuoso identifies the skill script through the identification code #! / usr / bin / skill, and then calls the layout position information, the first-level directory information and the second-level directory information through the function dbCreateSimpleMosaic to implement the integrated circuit layout. Wherein, one module corresponds to one function dbCreateSimpleMosaic.
[0082] Figure 4 This is a structural block diagram of an integrated circuit layout system of the present invention. Figure 4The integrated circuit layout system 100 includes an acquisition unit 101, a calculation unit 102 and a layout unit 103. The acquisition unit 101 is used to acquire the relative position information of the module in the layout. The calculation unit 102 is used to calculate the layout position information of the module according to the relative position information of the module and the size of the module. The layout unit 103 is used to call the layout position information of the module and the address information of the module through an integrated circuit design tool to realize the integrated circuit layout.
[0083] In some embodiments, the integrated circuit layout system further includes a storage unit for storing a database.
[0084] In some embodiments, the integrated circuit layout system further includes a database construction unit for constructing a database.
[0085] Although the embodiments of the present invention are described in detail above, it is obvious to those skilled in the art that various modifications and variations can be made to these embodiments. However, it should be understood that such modifications and variations are within the scope and spirit of the present invention as described in the claims. Moreover, the present invention described herein may have other embodiments and may be implemented or realized in a variety of ways.
Claims
1. A method for layout of an integrated circuit, characterized in that: include: Get the relative position information of the module in the layout; The obtaining of the relative position information of the module in the layout includes: obtaining the row and column where the module is located, and then using the row and column where the module is located as the relative position information of the module in the layout; Calculating the layout position information of the module according to the relative position information of the module and the size of the module; wherein the size of the module includes height and width, and the layout position information includes abscissa and ordinate, taking the origin position of the layout as the coordinate origin, taking the coordinate origin as the layout position information of the module located at the origin position of the layout, and drawing a rectangle along the outermost edge of the layout, with the position of any corner of the rectangle being the origin position; The column where the module located at the origin is located is the first column, and the row where the module located at the origin is the first row; In the modules in the same column, any module is taken as a target module, and the sum of the heights of all modules between the target module and the first row of modules is obtained to obtain the ordinate of the target module; Among the modules in the same row, any module is taken as the target module, and the sum of the widths of all modules between the target module and the first column module is obtained to obtain the horizontal coordinate of the target module; the layout position information of the module and the address information of the module are called by the integrated circuit design tool to realize the integrated circuit layout.
2. The integrated circuit layout method according to claim 1, characterized in that: The calculating the layout position information of the module according to the relative position information of the module and the size of the module also includes: Get the spacing of the modules in the layout.
3. The integrated circuit layout method according to claim 2, characterized in that: The size of the module includes height and width, the layout position information includes a horizontal coordinate and a vertical coordinate, and the calculation of the layout position information of the module according to the relative position information of the module and the size of the module includes: The column where the module located at the origin is located is the first column, and the row where the module located at the origin is the first row; In the modules of the same column, any module is taken as a target module, and the heights of all modules between the target module and the first row of modules and the sum of the heights of all the intervals are obtained to obtain the ordinate of the target module; Among the modules in the same row, any module is taken as a target module, and the widths of all modules between the target module and the modules in the first column and the sum of the widths of all the intervals are obtained to obtain the horizontal coordinate of the target module.
4. The integrated circuit layout method according to claim 1, characterized in that: The address information of the module includes primary directory information and secondary directory information, and the secondary directory information is subordinate address information of the primary directory information.
5. The integrated circuit layout method according to claim 1, characterized in that: Also includes: A database is constructed, wherein the database includes address information of the modules and sizes of the modules.
6. An integrated circuit layout system, characterized in that: Used to implement the integrated circuit layout method as described in any one of claims 1 to 5, the integrated circuit layout system includes an acquisition unit, a calculation unit and a layout unit, the acquisition unit is used to obtain the relative position information of the module in the layout, the calculation unit is used to calculate the layout position information of the module according to the relative position information of the module and the size of the module, and the layout unit is used to call the layout position information of the module and the address information of the module through an integrated circuit design tool to implement the integrated circuit layout.
7. The integrated circuit layout system according to claim 6, characterized in that: A storage unit is also included for storing a database.
8. The integrated circuit layout system according to claim 6, characterized in that: Also included is a database building unit for building a database.
Citation Information
Patent Citations
Method for interactively laying out semiconductor device test pattern
CN101377530A
Superconducting integrated circuit layout optimization method and device, storage medium, and terminal
CN113627120A