JP2013084211A - Automatic-laying wiring program for semiconductor device, automatic-laying wiring device, and automatic-laying wiring method - Google Patents

Automatic-laying wiring program for semiconductor device, automatic-laying wiring device, and automatic-laying wiring method Download PDF

Info

Publication number
JP2013084211A
JP2013084211A JP2011225055A JP2011225055A JP2013084211A JP 2013084211 A JP2013084211 A JP 2013084211A JP 2011225055 A JP2011225055 A JP 2011225055A JP 2011225055 A JP2011225055 A JP 2011225055A JP 2013084211 A JP2013084211 A JP 2013084211A
Authority
JP
Japan
Prior art keywords
module
circuit
attribute
shape
automatic placement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2011225055A
Other languages
Japanese (ja)
Inventor
Hiroaki Sugimoto
浩明 杉本
Katsuya Nishioka
克也 西岡
Takeshi Senoo
豪 妹尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2011225055A priority Critical patent/JP2013084211A/en
Publication of JP2013084211A publication Critical patent/JP2013084211A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To solve such a problem that conventional methods often prolong a processing time and deteriorate an area efficiency of a layout of an analog/digital mixed LSI.SOLUTION: An automatic-laying wiring program according to the present invention includes: first processing (S10) for extracting a module from circuit design information; second processing (S11) for setting module attributes representing the attributes of a circuit included in the module; third processing (S12) for generating a plurality of module shape candidates having a fixed area value and different vertical/horizontal sizes; and fourth processing (S13) for arranging a circuit element for a module shape candidate that accommodates to the shape of an upper module and generating a layout pattern. In the third processing (S13), a plurality of module shape candidates in which the height of a row or the width of a column are defined as a variation unit of the vertical/horizontal sizes are generated for the module of a first circuit attribute, and a plurality of module shape candidates in which the vertical/horizontal sizes are continuously changed are generated for the module of a second circuit attribute.

Description

本発明は半導体装置の半導体装置の自動配置配線プログラム、自動配置配線装置及び自動配置配線方法に関し、特に、アナログ回路とデジタル回路とが混載された半導体装置の半導体装置の自動配置配線プログラム、自動配置配線装置及び自動配置配線方法に関する。   The present invention relates to a semiconductor device automatic placement and routing program, an automatic placement and routing apparatus, and an automatic placement and routing method, and more particularly to an automatic placement and routing program for a semiconductor device in which an analog circuit and a digital circuit are mixedly mounted. The present invention relates to a wiring device and an automatic placement and routing method.

近年、アナログ回路とデジタル回路とを混載した半導体装置の採用が増えている。このような半導体装置を設計では、デジタル回路については、自動配置配線ツールの普及により設計時間の短縮及びレイアウトの面積効率の向上が進んでいる。しかし、アナログ回路については、自動配置配線ツールの開発が進んでおらず設計時間が多くかかる問題がある。また、アナログ回路については、自動配置配線ツールの開発の遅れによりレイアウトの面積効率が悪化する問題がある。アナログ回路を含む半導体装置の設計方法の例は例えば特許文献1〜3に開示されている。   In recent years, the use of semiconductor devices in which analog circuits and digital circuits are mixed is increasing. In designing such a semiconductor device, with regard to digital circuits, the automatic placement and routing tool has been widely used, and the design time and layout area efficiency have been improved. However, with respect to analog circuits, there is a problem that development of an automatic placement and routing tool is not advanced and a long design time is required. In addition, the analog circuit has a problem that the area efficiency of the layout deteriorates due to a delay in development of the automatic placement and routing tool. Examples of a method for designing a semiconductor device including an analog circuit are disclosed in Patent Documents 1 to 3, for example.

また、特許文献1では、回路素子毎に素子特性情報を参照して、素子毎に素子の面積を予測する。これにより、特許文献1では、アナログ回路の面積又はアナログ・デジタル混載集積回路において回路ブロックの面積を高精度で、かつ自動的に予測することが可能な半導体装置のレイアウト設計方法が開示されている。   In Patent Document 1, the element area information is predicted for each element by referring to the element characteristic information for each circuit element. Thus, Patent Document 1 discloses a semiconductor device layout design method capable of automatically and accurately predicting the area of an analog circuit or the area of a circuit block in an analog / digital mixed integrated circuit. .

また、特許文献2では、モジュールの複数の図形データ及び位置関係制約等の制約に基づき、制約を満たすように図形データのレイアウトを算出し、算出したレイアウト中から評価基準をよりよく満たすレイアウトを選択する。これにより、特許文献2では、レイアウトのデッドスペースを削減する。   Further, in Patent Document 2, based on a plurality of graphic data of modules and constraints such as positional relationship constraints, the layout of graphic data is calculated so as to satisfy the constraints, and a layout that better satisfies the evaluation criteria is selected from the calculated layouts To do. Thereby, in Patent Document 2, the dead space of the layout is reduced.

特許文献3では、階層構造を有する回路図データにおいて、上位階層のモジュールのレイアウト形状から下位階層のモジュールのレイアウト形状を決定する。また、特許文献3では、下位階層のモジュールのレイアウト形状を決定する際に、上位階層のレイアウト形状中に収まる複数の形状候補を生成し、当該複数の形状候補から下位階層のモジュールのレイアウト形状を選択する。これにより、特許文献3にアナログ回路を含む半導体装置の設計時間の短縮とレイアウトの面積効率の向上とを実現する。   In Patent Document 3, in the circuit diagram data having a hierarchical structure, the layout shape of the lower layer module is determined from the layout shape of the upper layer module. Further, in Patent Document 3, when determining the layout shape of a lower layer module, a plurality of shape candidates that fit within the upper layer layout shape are generated, and the layout shape of the lower layer module is determined from the plurality of shape candidates. select. As a result, Patent Document 3 realizes a reduction in design time and an improvement in layout area efficiency of a semiconductor device including an analog circuit.

特開2001−338980号公報JP 2001-338980 A 特開2005−267291号公報JP 2005-267291 A 特開2008−299686号公報JP 2008-299686 A

しかしながら、特許文献1〜3に記載の技術では、モジュール内にアナログ回路を含むモジュールと、デジタル回路を含むモジュールとが混載され、回路が階層構造を有するレイアウトについては設計時間と面積効率とを改善することができない問題がある。   However, in the techniques described in Patent Documents 1 to 3, a module including an analog circuit and a module including a digital circuit are mixedly mounted in the module, and the design time and area efficiency are improved for a layout in which the circuit has a hierarchical structure. There is a problem that cannot be done.

本発明にかかる自動配置配線プログラム、自動配置配線装置及び自動配置配線方法の一態様は、モジュール内の回路の属性を示すモジュール属性に応じて、モジュールの形状の計算方法及び選択方法を適切に設定する。   According to one aspect of the automatic placement and routing program, automatic placement and routing apparatus, and automatic placement and routing method according to the present invention, the module shape calculation method and selection method are appropriately set according to the module attribute indicating the attribute of the circuit in the module. To do.

本発明にかかる自動配置配線プログラム、自動配置配線装置及び自動配置配線方法によれば、アナログ回路を含むモジュールと、デジタル回路を含むモジュールが階層構造を持った回路図データについてのレイアウトデータの設計時間及び面積効率を向上させることができる。   According to the automatic placement and routing program, the automatic placement and routing apparatus, and the automatic placement and routing method according to the present invention, the layout data design time for the circuit diagram data in which the module including the analog circuit and the module including the digital circuit have a hierarchical structure. In addition, the area efficiency can be improved.

実施の形態1かかる自動配置配線プログラムを実行する装置のブロック図である。1 is a block diagram of an apparatus that executes an automatic placement and routing program according to a first embodiment; 実施の形態1かかるセル種別定義ファイルの一例を示す図である。It is a figure which shows an example of the cell classification definition file concerning Embodiment 1. FIG. 実施の形態1かかる自動配置配線プログラムの実行手順を示すフローチャートである。3 is a flowchart showing an execution procedure of an automatic placement and routing program according to the first embodiment; 実施の形態1かかる自動配置配線プログラムのモジュール属性解析処理の手順を示すフローチャートである。10 is a flowchart showing a procedure of module attribute analysis processing of the automatic placement and routing program according to the first embodiment; 実施の形態1かかる自動配置配線プログラムのモジュール属性解析処理により解析されたモジュール属性について説明するための図である。It is a figure for demonstrating the module attribute analyzed by the module attribute analysis process of the automatic placement and routing program according to the first embodiment. 実施の形態1かかる自動配置配線プログラムにおいて、デジタル回路の属性を示すデジタルモジュールに対するモジュール形状解析処理を行う場合の手順を示すフローチャートである。10 is a flowchart showing a procedure when module shape analysis processing is performed on a digital module indicating an attribute of a digital circuit in the automatic placement and routing program according to the first embodiment. 実施の形態1かかるモジュール形状解析処理おいて生成される複数のモジュール形状候補を示す概略図である。FIG. 3 is a schematic diagram showing a plurality of module shape candidates generated in the module shape analysis process according to the first embodiment; 実施の形態1かかるモジュール形状解析処理おいて選択されるモジュール形状候補の選択基準を示す概略図である。FIG. 3 is a schematic diagram showing selection criteria for module shape candidates selected in the module shape analysis process according to the first embodiment; 実施の形態1かかるモジュール形状解析処理おいて選択された複数のモジュール形状候補を示す概略図である。FIG. 6 is a schematic diagram showing a plurality of module shape candidates selected in the module shape analysis process according to the first embodiment; 実施の形態1かかる自動配置配線プログラムにおいて、アナログ回路の属性を示すアナログモジュールに対するモジュール形状解析処理を行う場合の手順を示すフローチャートである。10 is a flowchart showing a procedure when module shape analysis processing is performed on an analog module indicating an attribute of an analog circuit in the automatic placement and routing program according to the first embodiment. 実施の形態1かかるモジュール形状解析処理おいて選択されるモジュール形状候補の選択基準を示す概略図である。FIG. 3 is a schematic diagram showing selection criteria for module shape candidates selected in the module shape analysis process according to the first embodiment; 実施の形態1かかる自動配置配線プログラムにより生成される半導体装置のレイアウトの概略図である。1 is a schematic diagram of a layout of a semiconductor device generated by an automatic placement and routing program according to the first embodiment; アナログモジュールに対するモジュール形状候補の生成方法のみを適用した自動配置配線プログラムにより生成される半導体装置のレイアウトの概略図である。It is the schematic of the layout of the semiconductor device produced | generated by the automatic place-and-route program which applied only the production | generation method of the module shape candidate with respect to an analog module. 実施の形態1かかる自動配置配線装置のブロック図である。1 is a block diagram of an automatic placement and routing apparatus according to a first embodiment. 実施の形態2かかる自動配置配線プログラムのレイアウト処理の詳細を示すフローチャートである。10 is a flowchart showing details of layout processing of the automatic placement and routing program according to the second embodiment.

実施の形態1
以下、本発明の実施の形態について図面を参照して説明する。実施の形態1にかかる自動配置配線プログラムは、演算部と記憶部とを有する装置(例えば、コンピュータ)により実行される。この装置は、実施の形態1にかかる自動配置配線プログラムを実行することで自動配置配線装置として機能する。そこで、実施の形態1にかかる自動配置配線装置について説明する。図1に実施の形態1にかかる自動配置配線装置のブロック図を示す。
Embodiment 1
Hereinafter, embodiments of the present invention will be described with reference to the drawings. The automatic placement and routing program according to the first embodiment is executed by an apparatus (for example, a computer) having a calculation unit and a storage unit. This apparatus functions as an automatic placement and routing apparatus by executing the automatic placement and routing program according to the first embodiment. Therefore, the automatic placement and routing apparatus according to the first embodiment will be described. FIG. 1 is a block diagram of an automatic placement and routing apparatus according to the first embodiment.

図1に示すように、実施の形態1にかかる自動配置配線装置は、演算部1、表示部2、操作入力部3、記憶部10〜15を有する。なお、図1では、データの入出力関係を明示するために複数の記憶部を示したが、これらの記憶部は、1つの記憶部として構成されていても良い。   As illustrated in FIG. 1, the automatic placement and routing apparatus according to the first embodiment includes a calculation unit 1, a display unit 2, an operation input unit 3, and storage units 10 to 15. In FIG. 1, a plurality of storage units are shown to clarify the input / output relationship of data. However, these storage units may be configured as a single storage unit.

記憶部10には、実施の形態1にかかる自動配置配線プログラムが格納されている。記憶部11には、面積制御ファイルが格納されている。この面積制御ファイルは、モジュールの面積の上限値を定義する面積制限情報及びモジュールの大きさの最大値及び最小値を定義する寸法制限情報を含む。この面積制限情報と寸法制限情報は、初期状態では、例えば、各モジュールの最上位階層の寸法などが定められている。記憶部12には、回路図データが格納される。回路図データには、モジュール毎に階層化された回路図と、その階層化された各回路図内のデバイス(又はモジュール)に対する配置制約なども含まれる。   The storage unit 10 stores an automatic placement and routing program according to the first embodiment. The storage unit 11 stores an area control file. The area control file includes area restriction information that defines the upper limit value of the area of the module and dimension restriction information that defines the maximum value and the minimum value of the module size. In the initial state, the area restriction information and the dimension restriction information define, for example, the dimension of the highest layer of each module. The storage unit 12 stores circuit diagram data. The circuit diagram data includes a circuit diagram hierarchized for each module and an arrangement restriction for devices (or modules) in each layered circuit diagram.

記憶部13には、セル種別定義ファイルが格納される。このセル種別定義ファイルは、回路素子がアナログ回路としての属性を有するものであるのか、デジタル回路としての属性を有するものであるかを定義する記述を含む。このセル種別定義ファイルの一例を図2に示す。図2に示すように、セル種別定義ファイルには、回路素子の種類毎に、対応する属性情報が記載される。例えば、PMOSトランジスタ及びNMOSトランジスタに対してはデバイス種別としてfetが定義され、PNPトランジスタ及びNPNトランジスタに対してはデバイス種別としてbjtが定義され、ポリ抵抗に対してはデバイス種別としてresistorが定義され、MOS容量に対してはデバイス種別としてcapacitorが定義され、NAND回路に対してはデバイス種別としてstandard_cellが定義される。   The storage unit 13 stores a cell type definition file. This cell type definition file includes a description that defines whether a circuit element has an attribute as an analog circuit or an attribute as a digital circuit. An example of this cell type definition file is shown in FIG. As shown in FIG. 2, in the cell type definition file, corresponding attribute information is described for each type of circuit element. For example, fet is defined as a device type for PMOS and NMOS transistors, bjt is defined as a device type for PNP transistors and NPN transistors, and a resister is defined as a device type for poly resistors. Capacitor is defined as the device type for the MOS capacitor, and standard_cell is defined as the device type for the NAND circuit.

記憶部14は、記憶部12に格納された回路図データに基づき生成されたレイアウトパターンが格納される。記憶部15には、基準を満たさないレイアウトデータが生成された場合に、処理のエラー内容を示すエラーレポートが格納される。   The storage unit 14 stores a layout pattern generated based on circuit diagram data stored in the storage unit 12. The storage unit 15 stores an error report indicating the error contents of the process when layout data that does not satisfy the standard is generated.

演算部1は、記憶部10から自動配置配線プログラムを読み出して、実行する。そして、自動配置配線プログラムを実行することで演算部1は、自動配置配線装置としての機能を実現する。表示部2は、自動配置配線プログラムを利用するためのインタフェースを表示する。操作入力部3は、自動配置配線プログラムの利用者が自動配置配線プログラムに対する操作を与えるためのインタフェースである。   The calculation unit 1 reads the automatic placement and routing program from the storage unit 10 and executes it. And the calculating part 1 implement | achieves the function as an automatic placement and routing apparatus by executing the automatic placement and routing program. The display unit 2 displays an interface for using the automatic placement and routing program. The operation input unit 3 is an interface for a user of the automatic placement and routing program to give an operation to the automatic placement and routing program.

続いて、実施の形態1にかかる自動配置配線プログラムの実行手順について説明する。そこで、図3に実施の形態1にかかる自動配置配線プログラムの実行手順を示すフローチャートを示す。   Subsequently, an execution procedure of the automatic placement and routing program according to the first embodiment will be described. FIG. 3 is a flowchart showing an execution procedure of the automatic placement and routing program according to the first embodiment.

図3に示すように、実施の形態1にかかる自動配置配線プログラムは、まず、第1処理としてモジュールPcell生成処理を行う(ステップS10)。モジュールPcell生成処理では、回路設計情報(例えば、回路図データ)から回路の配置単位を示すモジュールPcellを抽出する。このモジュールPcellは、レイアウト寸法が可変(言い換えれば複数のレイアウト寸法の選択肢を備えた)セル(又はモジュール)である。例えば、回路図においてMOSトランジスタ(セル)のゲート幅やゲート長が定義された場合、当該MOSトランジスタの実際のレイアウト寸法は、複数の選択肢を持つことが可能である。これは、例えばゲートを所謂フィン構造にすることなどで、レイアウトのアスペクト比はある程度自由に変更することができるからである。これにより、MOSトランジスタ等の組合せによって構成されるモジュールのレイアウト寸法もある程度自由に変更できる。   As shown in FIG. 3, the automatic placement and routing program according to the first embodiment first performs module Pcell generation processing as the first processing (step S10). In the module Pcell generation process, a module Pcell indicating a circuit arrangement unit is extracted from circuit design information (for example, circuit diagram data). The module Pcell is a cell (or module) having a variable layout dimension (in other words, a plurality of layout dimension options). For example, when the gate width or gate length of a MOS transistor (cell) is defined in the circuit diagram, the actual layout dimension of the MOS transistor can have a plurality of options. This is because the aspect ratio of the layout can be freely changed to some extent, for example, by making the gate a so-called fin structure. Thereby, the layout dimension of the module constituted by a combination of MOS transistors and the like can be freely changed to some extent.

続いて、実施の形態1にかかる自動配置配線プログラムは、第2処理としてモジュール属性解析処理を行う(ステップS11)。モジュール属性解析処理では、モジュールPcell毎に、モジュールPcellに含まれる回路の属性を示すモジュール属性を設定する。より具体的には、モジュール属性解析処理では、セル種別定義ファイルに基づきモジュールPcellに含まれる回路素子のデバイス種別を判別し、デバイス種別毎の数に応じてモジュール内の回路の属性を示すモジュール属性を設定する。モジュール属性解析処理のより詳細な動作については後述する。   Subsequently, the automatic placement and routing program according to the first embodiment performs a module attribute analysis process as the second process (step S11). In the module attribute analysis process, a module attribute indicating an attribute of a circuit included in the module Pcell is set for each module Pcell. More specifically, in the module attribute analysis process, a module attribute that determines the device type of the circuit element included in the module Pcell based on the cell type definition file and indicates the attribute of the circuit in the module according to the number for each device type. Set. A more detailed operation of the module attribute analysis process will be described later.

続いて、実施の形態1にかかる自動配置配線プログラムは、第3処理としてモジュール形状解析処理を行う(ステップS12)。モジュール形状解析処理では、モジュール毎に、面積値を一定として縦横の寸法が異なる複数のモジュール形状候補を生成する。ここで、モジュール形状解析処理においては、モジュールPcellに対して設定された面積値を利用する。例えば、初期状態においては、最上位階層のモジュールPcellの面積値として面積制御ファイルにより与えられた面積値を利用する。また、初期状態においては、下位階層のモジュールPcellの面積値は、上位階層のモジュールPcell中の位置及び下位階層のモジュールPcell中の回路素子の数により決定される面積値を利用する。   Subsequently, the automatic placement and routing program according to the first embodiment performs module shape analysis processing as the third processing (step S12). In the module shape analysis process, for each module, a plurality of module shape candidates having different area dimensions and different vertical and horizontal dimensions are generated. Here, in the module shape analysis process, the area value set for the module Pcell is used. For example, in the initial state, the area value given by the area control file is used as the area value of the module Pcell in the highest hierarchy. In the initial state, the area value of the lower layer module Pcell uses the area value determined by the position in the upper layer module Pcell and the number of circuit elements in the lower layer module Pcell.

また、モジュール形状解析処理では、モジュール内に配置される回路素子が、大きさが予め決められ、マトリクス状に配置される特徴を有することを示す第1回路属性のモジュールに対しては、行の高さ又は列の幅を縦横の寸法の変化単位とする複数のモジュール形状候補を生成する。また、モジュール形状解析処理では、モジュール内に配置される前記回路素子が、大きさ及び配置が任意に設定される特徴を有することを示す第2回路属性のモジュールに対しては、縦横の寸法が連続的に変化する複数のモジュール形状候補を生成する。   Further, in the module shape analysis process, the circuit elements arranged in the module are predetermined in size and have a characteristic of being arranged in a matrix. A plurality of module shape candidates having the height or the column width as a unit of change in vertical and horizontal dimensions are generated. Further, in the module shape analysis process, the vertical and horizontal dimensions are given to the module having the second circuit attribute indicating that the circuit element arranged in the module has a feature that the size and arrangement are arbitrarily set. A plurality of module shape candidates that change continuously are generated.

続いて、実施の形態1にかかる自動配置配線プログラムでは、第4処理としてレイアウト処理を行う(ステップS13)。レイアウト処理では、複数のモジュール形状候補から処理対象のモジュールの上位階層に位置する上位モジュールの形状に適合するモジュール形状候補を探索し、探索したモジュール形状候補に対してモジュールの回路素子を配置してレイアウトパターンを生成する。レイアウト処理は、上記動作を実現するために、配置条件設定処理(ステップS13a)と、自動配置配線処理(ステップS13b)とを有する。   Subsequently, in the automatic placement and routing program according to the first embodiment, layout processing is performed as the fourth processing (step S13). In the layout process, a module shape candidate that matches the shape of the upper module located in the upper layer of the processing target module is searched from a plurality of module shape candidates, and circuit elements of the module are arranged for the searched module shape candidates. Generate a layout pattern. The layout process includes an arrangement condition setting process (step S13a) and an automatic arrangement and wiring process (step S13b) in order to realize the above-described operation.

配置条件設定処理は、第4処理として行われる処理であって、自動配置配線処理の前処理として行われる。配置条件設定処理では、モジュールの回路素子の配置に制限を与える配置制約条件をモジュール属性に応じて設定する。例えば、配置条件設定処理では、モジュール属性がデジタル回路属性の回路素子を主に含む第1回路属性(例えば、デジタルモジュール)である場合、デジタルモジュール用の配置制約条件をモジュールに対して与える。また、配置条件設定処理では、モジュール属性がアナログ回路属性の回路素子を主に含む第2回路属性(例えば、アナログモジュール)である場合、アナログモジュール用の配置制約条件をモジュールに対して与える。   The placement condition setting process is a process that is performed as the fourth process, and is performed as a pre-process of the automatic placement and routing process. In the arrangement condition setting process, an arrangement constraint condition that restricts the arrangement of the circuit elements of the module is set according to the module attribute. For example, in the arrangement condition setting process, when the module attribute is a first circuit attribute (for example, a digital module) mainly including circuit elements having a digital circuit attribute, an arrangement constraint condition for the digital module is given to the module. In the arrangement condition setting process, if the module attribute is a second circuit attribute (for example, an analog module) mainly including circuit elements having an analog circuit attribute, an arrangement constraint condition for the analog module is given to the module.

自動配置配線処理は、第4処理における主な処理を行う。自動配置配線処理では、配置条件設定処理で設定された制約条件を遵守しながら、回路素子をモジュール形状候補内に配置する。ここで、自動配置配線処理では、回路素子がモジュール形状候補内に配置できない場合、モジュール形状候補の領域を超えた領域に回路素子を配置する。   The automatic placement and routing process performs the main process in the fourth process. In the automatic placement and routing process, circuit elements are placed in the module shape candidates while complying with the constraint conditions set in the placement condition setting process. Here, in the automatic placement and routing process, when the circuit element cannot be placed in the module shape candidate, the circuit element is placed in a region beyond the module shape candidate region.

続いて、実施の形態1にかかる自動配置配線プログラムは、第5処理としてモジュール面積解析処理を行う(ステップS14及びステップS15)。モジュール面積解析処理では、レイアウト処理(ステップS13)において回路素子の配置が完了したモジュールに、モジュール形状候補で指定される領域内に収まらないレイアウトとなる違反モジュールが存在するか否か判断する。より具体的には、ステップS14の処理として、レイアウト処理(ステップS13)において回路素子の配置が完了したモジュールの面積を計算する。次いで、ステップS15の処理として、ステップS14で算出したレイアウト済みのモジュールの面積を用いて、レイアウト済みモジュールが、モジュール形状候補で指定される領域内に収まらないレイアウトとなる違反モジュールが存在するか否か判断する。ステップS15において、違反モジュールがないと判断された場合は、レイアウト処理(ステップS13)で生成されたレイアウト情報をレイアウトパターンデータとして出力する。   Subsequently, the automatic placement and routing program according to the first embodiment performs module area analysis processing as the fifth processing (step S14 and step S15). In the module area analysis process, it is determined whether or not there is a violation module having a layout that does not fit in the area specified by the module shape candidate in the module in which the arrangement of the circuit elements has been completed in the layout process (step S13). More specifically, as the process of step S14, the area of the module where the arrangement of the circuit elements is completed in the layout process (step S13) is calculated. Next, as the processing of step S15, whether or not there is a violation module having a layout in which the layout module does not fit in the area specified by the module shape candidate using the area of the layout module calculated in step S14. Judge. If it is determined in step S15 that there is no violation module, the layout information generated in the layout process (step S13) is output as layout pattern data.

一方、実施の形態1にかかる自動配置配線プログラムは、ステップS15の判断処理において、違反モジュールがあると判断された場合、ステップS16の第7処理を実行する。第7処理は、ループ条件判定処理である。ループ条件判定処理では、モジュール面積解析処理における判断結果と、ループ処理回数とに基づきループ処理を継続するか否かを判断する。より具体的には、ループ条件判定処理では、全てのモジュールが対応するモジュール形状候補の形状内で回路素子の配置配線処理を完了するまでモジュールPcell生成処理(ステップS10、第1処理)からレイアウト処理(ステップS13、第4処理)を制限回数に達するまで繰り返す。そして、ループ条件判定処理では、制限回数の処理においても全てのモジュールが対応するモジュール形状候補の形状内で回路素子の配置を完了できなかった場合、エラー内容を示すエラーレポートを生成し、記憶部15に格納する。なお、実施の形態1にかかる自動配置配線プログラムは、ループ条件判定処理においてループ回数が制限回数よりも小さいと判断された場合、面積制御ファイル更新処理(ステップS17)を行う。   On the other hand, the automatic placement and routing program according to the first embodiment executes the seventh process of step S16 when it is determined that there is a violation module in the determination process of step S15. The seventh process is a loop condition determination process. In the loop condition determination process, it is determined whether to continue the loop process based on the determination result in the module area analysis process and the number of loop processes. More specifically, in the loop condition determination process, the module Pcell generation process (step S10, first process) to the layout process until the circuit element placement and routing process is completed within the shape of the module shape candidate corresponding to all modules. (Step S13, fourth process) is repeated until the limit number is reached. Then, in the loop condition determination processing, if the arrangement of the circuit elements cannot be completed within the shape of the module shape candidate corresponding to all the modules even in the limited number of times processing, an error report indicating the error content is generated, and the storage unit 15. The automatic placement and routing program according to the first embodiment performs an area control file update process (step S17) when it is determined in the loop condition determination process that the number of loops is smaller than the limit number.

面積制御ファイル更新処理は、第6処理として行われるものである。面積制御ファイル更新処理では、違反モジュールの面積が違反モジュールに対応するモジュール形状候補の面積を超えている場合、モジュール形状解析処理S12で用いた面積値をより大きな値で更新する。ここで、面積制御ファイル更新処理では、デジタルモジュールに対しては、行の高さ単位で面積値を更新し、アナログモジュールに対しては、任意の面積変化幅及び任意の寸法変化幅で面積値を更新する。また、面積制御ファイル更新処理では、更新した面積値により面積制御ファイル中の面積値の設定を上書きする。このとき、面積制御ファイル中に、更新対象のモジュールに関する設定値がない場合、更新対象のモジュールの面積値を新たに追加する。   The area control file update process is performed as the sixth process. In the area control file update process, when the area of the violation module exceeds the area of the module shape candidate corresponding to the violation module, the area value used in the module shape analysis process S12 is updated with a larger value. Here, in the area control file update process, for the digital module, the area value is updated in units of row heights, and for the analog module, the area value with an arbitrary area change width and an arbitrary dimension change width. Update. In the area control file update process, the area value setting in the area control file is overwritten with the updated area value. At this time, if there is no set value related to the module to be updated in the area control file, the area value of the module to be updated is newly added.

ここで、ステップS11のモジュール属性解析処理の詳細について説明する。図4に実施の形態1かかる自動配置配線プログラムのモジュール属性解析処理の手順を示すフローチャートを示す。   Here, the details of the module attribute analysis processing in step S11 will be described. FIG. 4 is a flowchart showing the procedure of module attribute analysis processing of the automatic placement and routing program according to the first embodiment.

図4に示すように、モジュール属性解析処理では、回路図データを読み込み、モジュール毎にデザイン内の回路素子名(セル名)を抽出する(ステップS20)。   As shown in FIG. 4, in the module attribute analysis process, circuit diagram data is read, and a circuit element name (cell name) in the design is extracted for each module (step S20).

次いで、抽出したセル名とセル種別定義ファイルとに基づき、デザイン内のセルをデバイス種別に分類し、デバイス種別毎にデバイス数をカウントする(ステップS21)。   Next, based on the extracted cell name and the cell type definition file, the cells in the design are classified into device types, and the number of devices is counted for each device type (step S21).

続いて、モジュール毎に各デバイス種別のデバイス数を参照して、モジュール毎にモジュール属性を決定する。より具体的には、モジュール内のセルのデバイス種別がstandard_cellのみである場合、当該モジュールのモジュール属性をデジタルモジュールに設定する(ステップS22、S23)。また、モジュール内のセルのデバイス種別がfet、bjt、resistor、capacitorのみである場合、当該モジュールのモジュール属性をアナログモジュールに設定する(ステップS24、S25)。また、fet、bjt、resistor、capacitor及びstandard_cellが混在している否かを判断する(ステップS26)。このステップS26において、fet、bjt、resistor、capacitor及びstandard_cellが混在していると判断された場合、ステップS28の処理に進む。一方、ステップS26において、fet、bjt、resistor、capacitor及びstandard_cellが混在した状態でない、つまり、当該モジュールの下位階層に属する他のモジュールが存在していると判断された場合、当該モジュールのモジュール属性を第3回路属性(例えば、ブロックモジュール)に設定する(ステップS27)。なお、ブロックモジュールは、自モジュール内に自モジュールよりも下位階層の他のモジュールを含むモジュールに対して設定されるモジュール属性である。   Subsequently, the module attribute is determined for each module with reference to the number of devices of each device type for each module. More specifically, when the device type of the cell in the module is only standard_cell, the module attribute of the module is set to the digital module (steps S22 and S23). If the device type of the cell in the module is only fet, bjt, resister, or capacitor, the module attribute of the module is set to an analog module (steps S24 and S25). Further, it is determined whether or not fet, bjt, resister, capacitor, and standard_cell are mixed (step S26). If it is determined in step S26 that fet, bjt, resister, capacitor, and standard_cell are mixed, the process proceeds to step S28. On the other hand, if it is determined in step S26 that fet, bjt, resister, capacitor, and standard_cell are not mixed, that is, it is determined that there is another module belonging to a lower layer of the module, the module attribute of the module is set. A third circuit attribute (for example, a block module) is set (step S27). The block module is a module attribute set for a module including another module in a lower hierarchy than the own module in the own module.

ステップS28では、アナログ回路として利用されるfet、bjt、resistor、capacitorと、デジタル回路として利用されるstandard_cellとの数の大小を比較する。そして、fet、bjt、resistor及びcapacitorの数がstandard_cellの数よりも少ない場合、当該モジュールのモジュール属性をデジタルモジュールに設定する。一方、fet、bjt、resistor及びcapacitorの数がstandard_cellの数よりも多い場合、当該モジュールのモジュール属性をアナログモジュールに設定する。   In step S28, the numbers of fet, bjt, resister, and capacitor used as an analog circuit and standard_cell used as a digital circuit are compared. If the number of fet, bjt, register, and capacitor is smaller than the number of standard_cell, the module attribute of the module is set to the digital module. On the other hand, when the number of fet, bjt, register, and capacitor is larger than the number of standard_cell, the module attribute of the module is set to an analog module.

図4に示したモジュール属性解析処理により解析された各モジュールのモジュール属性について説明するための図を図5に示す。図5に示すように、ステップS11のモジュール属性解析処理を行うことで、階層構造を有する回路図データにおいて、自モジュールの下位階層に他のモジュールを有するモジュールについては、ブロックモジュールのモジュール属性が設定される。また、最下位階層に属するモジュールのモジュール属性は、アナログモジュールとデジタルモジュールとのいずれかに分類される。   FIG. 5 is a diagram for explaining the module attributes of each module analyzed by the module attribute analysis process shown in FIG. As shown in FIG. 5, by performing the module attribute analysis process in step S11, the module attribute of the block module is set for the module having other modules in the lower hierarchy of the own module in the circuit diagram data having a hierarchical structure. Is done. The module attribute of the module belonging to the lowest layer is classified into either an analog module or a digital module.

図5に示す例では、全体回路図を示す回路図データは、ブロックAからブロックCを有する。そして、ブロックAについては、下位階層にブロックD、Eを有することに基づきブロックモジュールが設定される。ブロックBについては、下位階層に他のモジュールを有さず、かつ、デジタル回路を有することにより、デジタルモジュールが設定される。ブロックCについては、下位階層に他のモジュールを有さず、かつ、アナログ回路を有することにより、アナログモジュールが設定される。ブロックDについては、下位階層に他のモジュールを有さず、かつ、デジタル回路を有することにより、デジタルモジュールが設定される。ブロックEについては、下位階層にブロックF、Gを有することに基づきブロックモジュールが設定される。ブロックFについては、下位階層に他のモジュールを有さず、かつ、アナログ回路を有することにより、アナログモジュールが設定される。ブロックGについては、下位階層に他のモジュールを有さず、かつ、アナログ回路を有することにより、アナログモジュールが設定される。   In the example shown in FIG. 5, circuit diagram data indicating the entire circuit diagram includes block A to block C. And about a block A, a block module is set based on having the blocks D and E in a lower hierarchy. For the block B, a digital module is set by having no other module in the lower layer and having a digital circuit. For the block C, an analog module is set by having no other module in the lower layer and having an analog circuit. For the block D, a digital module is set by having no other module in the lower layer and having a digital circuit. For block E, a block module is set based on having blocks F and G in the lower hierarchy. For the block F, an analog module is set by having no other module in the lower hierarchy and having an analog circuit. For the block G, an analog module is set by having no other module in the lower layer and having an analog circuit.

続いて、ステップS12のモジュール形状解析処理について詳細に説明する。実施の形態1にかかる自動配置配線プログラムでは、デジタルモジュールに対するモジュール形状候補の生成方法と、アナログモジュールに対するモジュール形状候補の生成方法が異なる。そこで、以下の説明では、デジタルモジュールに対するモジュール形状候補の生成方法と、アナログモジュールに対するモジュール形状候補の生成方法と、を分けて説明する。   Next, the module shape analysis process in step S12 will be described in detail. In the automatic placement and routing program according to the first embodiment, a module shape candidate generation method for a digital module is different from a module shape candidate generation method for an analog module. Therefore, in the following description, a module shape candidate generation method for a digital module and a module shape candidate generation method for an analog module will be described separately.

まず、デジタルモジュールに対するモジュール形状候補の生成方法について説明する。図6に、実施の形態1かかる自動配置配線プログラムにおいて、デジタル回路の属性を示すデジタルモジュールに対するモジュール形状解析処理を行う場合の手順を示すフローチャートを示す。   First, a module shape candidate generation method for a digital module will be described. FIG. 6 is a flowchart showing a procedure when module shape analysis processing is performed on a digital module indicating an attribute of a digital circuit in the automatic placement and routing program according to the first embodiment.

図6に示すように、デジタルモジュールに対するモジュール形状解析処理では、モジュール面積を一定として、モジュールの縦横の寸法が異なる複数のモジュール形状候補を生成する(ステップS31)。このとき、ステップS31では、モジュール面積をモジュール面積データ18に基づき決定する。このモジュール面積データ18は、面積制御ファイルに含まれるデータである。なお、モジュール面積は、初期状態ではモジュール内の回路規模等に基づいて算出される。ただし、このモジュール面積データ18の値は、図3のステップS17の面積制御ファイル更新処理において更新されることがある。また、ステップS31では、レイアウトデータ17に基づき処理対象のモジュールが上位階層のモジュール中で取り得る高さ及び幅の最大値と最小値とを算出し、複数のモジュール形状候補から取り得ない高さと幅のモジュール形状候補を除外する。   As shown in FIG. 6, in the module shape analysis process for the digital module, a plurality of module shape candidates having different module dimensions are generated with the module area being constant (step S31). At this time, in step S31, the module area is determined based on the module area data 18. The module area data 18 is data included in the area control file. The module area is calculated based on the circuit scale in the module in the initial state. However, the value of the module area data 18 may be updated in the area control file update process in step S17 of FIG. In step S31, the maximum and minimum values of the height and width that the processing target module can take in the upper layer module based on the layout data 17 are calculated, and the height and width that cannot be obtained from a plurality of module shape candidates. The module shape candidate is excluded.

続いて、実施の形態1にかかる自動配置配線プログラムでは、回路図データからモジュールを構成するためのセルの配置行の段数の候補(例えば、Row段数候補)を抽出する(ステップS32)。モジュールを構成するために必要な回路素子数は既知の値であるため、この回路素子数を含み得るRow段数の候補の数は所定数に限定される。   Subsequently, in the automatic placement and routing program according to the first exemplary embodiment, candidates for the number of cell arrangement rows (for example, the number of row steps) for configuring the module are extracted from the circuit diagram data (step S32). Since the number of circuit elements necessary for configuring the module is a known value, the number of candidates for the number of Row stages that can include this number of circuit elements is limited to a predetermined number.

続いて、実施の形態1にかかる自動配置配線プログラムでは、ステップS32で抽出されたRow段数候補毎にモジュールの最小幅及び最大幅を算出する(ステップS33)。つまり、実施の形態1にかかる自動配置配線プログラムでは、デジタルモジュールについては、Rowの高さを変化単位とすることでモジュール形状候補の数をさらに削減する。なお、ステップS32においてモジュールを構成するためのセルの配置列の数の候補(例えば、Column数候補)を抽出し、ステップS33においてColumn数候補に基づきモジュール形状候補の数を削減することも可能である。つまり、列の幅の大きさを変化単位としてモジュール形状候補の数を削減することも可能である。   Subsequently, in the automatic placement and routing program according to the first embodiment, the minimum width and the maximum width of the module are calculated for each row stage number candidate extracted in step S32 (step S33). That is, in the automatic placement and routing program according to the first embodiment, for the digital module, the number of module shape candidates is further reduced by using the height of Row as a change unit. It is also possible to extract candidates for the number of arrangement columns of cells (for example, column number candidates) in step S32 and reduce the number of module shape candidates based on the column number candidates in step S33. is there. That is, it is possible to reduce the number of module shape candidates using the column width as a change unit.

続いて、実施の形態1にかかる自動配置配線プログラムは、全てのRow段数候補について検証を行ったかを確認する(ステップS34)。ステップS34において、未検証のRow段数候補があった場合、再度ステップS32の処理を行う。一方、全てのRow段数候補について検証を行ったと判断された場合、ステップS33で選択された複数のモジュール形状候補を選択肢とすることを定義したモジュール形状制約を生成し(ステップS35)、モジュール形状制約を記述したモジュール形状制約ファイル19を生成する。   Subsequently, the automatic placement and routing program according to the first embodiment confirms whether or not all the row stage number candidates have been verified (step S34). In step S34, if there is an unverified Row stage number candidate, the process of step S32 is performed again. On the other hand, if it is determined that all the Row stage number candidates have been verified, a module shape constraint that defines that the plurality of module shape candidates selected in Step S33 are options is generated (Step S35), and the module shape constraint is generated. A module shape constraint file 19 describing the above is generated.

ここで、ステップS31のモジュール形状候補の生成手順についてより詳細に説明する。まず、図7に面積値を一定として縦横の寸法を可変したモジュール形状候補の概略図を示す。図7に示すように、単に面積値を一定とした場合、縦横の寸法が異なるモジュール形状候補は無数に生成できる。そして、この無数のモジュール形状候補から、処理対象モジュールが取り得る幅の最小値Wmin1及び最大値Wmax1を満たさないモジュール形状候補を選択肢から除外する。図7に示す例では、点線で示すモジュール形状候補が除隊対象のモジュール形状候補である。   Here, the module shape candidate generation procedure in step S31 will be described in more detail. First, FIG. 7 shows a schematic diagram of candidate module shapes in which the area value is constant and the vertical and horizontal dimensions are varied. As illustrated in FIG. 7, when the area value is simply constant, an infinite number of module shape candidates having different vertical and horizontal dimensions can be generated. Then, module shape candidates that do not satisfy the minimum value Wmin1 and the maximum value Wmax1 of the width that can be taken by the processing target module are excluded from the infinite number of module shape candidates. In the example shown in FIG. 7, the module shape candidate indicated by the dotted line is a module shape candidate to be discharged.

続いて、図8にモジュールを構成し得る回路素子を含むモジュール形状候補の概略図を示す。図8に示すように、デジタルモジュールでは、回路素子がマトリクス状に配置されため、行の高さTrowは一定の値になる。そして、実施の形態1にかかる自動配置配線プログラムでは、行の高さTrowを変化単位として縦の寸法が変化するモジュール形状候補をレイアウトに用いるモジュール形状候補として選択する。図8に示す例では、点線で記載したモジュール形状候補については、回路素子が配置される位置がモジュール形状候補の外の領域にはみ出す、又は、変化単位が行の高さTrowにならないため、これは選択肢から除外する。そして、ステップS33では、モジュール形状候補の最小幅Wmin2及びモジュール形状候補の最大幅Wmax2を算出する。   Next, FIG. 8 shows a schematic diagram of module shape candidates including circuit elements that can constitute the module. As shown in FIG. 8, in the digital module, since the circuit elements are arranged in a matrix, the row height Trow has a constant value. In the automatic placement and routing program according to the first embodiment, the module shape candidate whose vertical dimension changes using the row height Trow as a change unit is selected as the module shape candidate used for the layout. In the example shown in FIG. 8, the module shape candidate indicated by the dotted line does not protrude from the area outside the module shape candidate, or the change unit does not become the row height Trow. Is excluded from the choices. In step S33, the minimum width Wmin2 of the module shape candidate and the maximum width Wmax2 of the module shape candidate are calculated.

続いて、図9に、選択されたモジュール形状候補の概略図を示す。図9に示すように、選択されたモジュール形状候補は、図7に示したモジュール形状候補に比べて数が格段に少なくなる。   Next, FIG. 9 shows a schematic diagram of selected module shape candidates. As shown in FIG. 9, the number of selected module shape candidates is significantly smaller than the number of module shape candidates shown in FIG.

次に、アナログモジュールに対するモジュール形状解析処理について説明する。図10に、実施の形態1かかる自動配置配線プログラムにおいて、アナログ回路の属性を示すアナログモジュールに対するモジュール形状解析処理を行う場合の手順を示すフローチャートを示す。   Next, module shape analysis processing for an analog module will be described. FIG. 10 is a flowchart showing a procedure when module shape analysis processing is performed on an analog module indicating an attribute of an analog circuit in the automatic placement and routing program according to the first embodiment.

図10に示すように、アナログモジュールに対するモジュール形状解析処理では、モジュール面積を一定として、モジュールの縦横の寸法が連続的に変化する複数のモジュール形状候補を生成する(ステップS41)。このとき、ステップS41では、モジュール面積をモジュール面積データ18に基づき決定する。このモジュール面積データ18は、面積制御ファイルに含まれるデータである。なお、モジュール面積は、初期状態ではモジュール内の回路規模等に基づいて算出される。ただし、このモジュール面積データ18の値は、図3のステップS17の面積制御ファイル更新処理において更新されることがある。また、ステップS41では、レイアウトデータ17に基づき処理対象のモジュールが上位階層のモジュール中で取り得る高さ及び幅の最大値と最小値とを算出し、複数のモジュール形状候補から取り得ない高さと幅のモジュール形状候補を除外する。つまり、ステップS41の処理は、ステップS31の処理と実施的に同じ処理である。   As shown in FIG. 10, in the module shape analysis process for the analog module, a plurality of module shape candidates in which the module area is constant and the vertical and horizontal dimensions of the module continuously change are generated (step S41). At this time, in step S41, the module area is determined based on the module area data 18. The module area data 18 is data included in the area control file. The module area is calculated based on the circuit scale in the module in the initial state. However, the value of the module area data 18 may be updated in the area control file update process in step S17 of FIG. In step S41, the maximum and minimum values of the height and width that the processing target module can take in the upper layer module based on the layout data 17 are calculated, and the height and width that cannot be obtained from a plurality of module shape candidates. The module shape candidate is excluded. That is, the process in step S41 is practically the same as the process in step S31.

続いて、実施の形態1にかかる自動配置配線プログラムでは、回路図データからモジュール形状を決定する形状決定要素を抽出する(ステップS42)。ステップS42における形状決定要素は、回路図データ内に含まれる配置制約に該当する。この配置制約は、例えば各種レイアウト属性(制約)のように、レイアウト自動生成ツールが一般的に備えているものである。一例としては、例えば、デバイスの配置方向などを規定するデバイスジェネレーション制約や、差動デバイスなどの対称配置を規定するマッチング制約や、複数デバイスのグループ配置を規定するグリッドフォーム制約や、デバイスの相対配置を規定するセルプラン制約など様々なものが挙げられる。   Subsequently, in the automatic placement and routing program according to the first embodiment, a shape determining element for determining a module shape is extracted from circuit diagram data (step S42). The shape determining element in step S42 corresponds to the arrangement constraint included in the circuit diagram data. This arrangement restriction is generally provided in an automatic layout generation tool such as various layout attributes (constraints). Examples include device generation constraints that specify device placement directions, matching constraints that specify symmetrical placement such as differential devices, grid form constraints that specify group placement of multiple devices, and relative placement of devices. There are various things such as cell plan restrictions that stipulate.

続いて、実施の形態1にかかる自動配置配線プログラムでは、ステップS42で抽出された形状決定要素毎にモジュールの最小幅及び最大幅を算出する(ステップS43)。つまり、実施の形態1にかかる自動配置配線プログラムでは、アナログモジュールについては、形状決定要素を配置できないモジュール形状候補をモジュール形状候補の選択肢から除外することでモジュール形状候補の数をさらに削減する。   Subsequently, in the automatic placement and routing program according to the first embodiment, the minimum width and maximum width of the module are calculated for each shape determining element extracted in step S42 (step S43). In other words, in the automatic placement and routing program according to the first embodiment, for analog modules, the number of module shape candidates is further reduced by excluding module shape candidates from which shape determining elements cannot be placed from the choices of module shape candidates.

続いて、実施の形態1にかかる自動配置配線プログラムは、全ての形状決定要素について検証を行ったかを確認する(ステップS44)。ステップS44において、未検証の形状決定要素があった場合、再度ステップS42の処理を行う。一方、全ての形状決定要素について検証を行ったと判断された場合、ステップS43で選択された複数のモジュール形状候補を選択肢とすることを定義したモジュール形状制約を生成し(ステップS45)、モジュール形状制約を記述したモジュール形状制約ファイル19を生成する。   Subsequently, the automatic placement and routing program according to the first embodiment confirms whether or not all shape determining elements have been verified (step S44). If there is an unverified shape determining element in step S44, the process of step S42 is performed again. On the other hand, if it is determined that all the shape determining elements have been verified, a module shape constraint is defined that defines the plurality of module shape candidates selected in step S43 as options (step S45), and module shape constraints are generated. A module shape constraint file 19 describing the above is generated.

ここで、図11にモジュール中の形状決定要素を配置し得るモジュール形状候補の概略図を示す。図11に示す例では、5個のデバイスM1〜M5をある一方向に整列配置するような配置制約が与えられた場合のモジュール形状候補の選択例である。この場合、この制約を満たすためにはモジュールの一方の辺に最小幅Wmin、他方の辺に最小幅Hminを最低でも確保する必要がある。したがって、各辺がこれらを下回る選択肢は現実解として実現しないため選択肢から除外することができる。図11に示す例では、選択肢を4ケースに限定することができる。そして、ステップS43では、モジュール形状候補の最小幅Wmin3及びモジュール形状候補の最大幅Wmax3を算出する。   Here, FIG. 11 shows a schematic diagram of module shape candidates in which the shape determining elements in the module can be arranged. The example shown in FIG. 11 is an example of selecting a module shape candidate in a case where an arrangement constraint is given such that five devices M1 to M5 are arranged in one direction. In this case, in order to satisfy this restriction, it is necessary to secure at least the minimum width Wmin on one side of the module and the minimum width Hmin on the other side. Therefore, an option in which each side is less than these is not realized as an actual solution and can be excluded from the options. In the example shown in FIG. 11, the options can be limited to four cases. In step S43, the module shape candidate minimum width Wmin3 and the module shape candidate maximum width Wmax3 are calculated.

上記説明より、実施の形態1にかかる自動配置配線プログラムは、上位階層のモジュールのレイアウト、回路図データ及びモジュール面積データに基づきモジュール形状候補の数を削減することで、上位階層のレイアウトパターンに適合したモジュール形状の探索にかかる時間を削減することができる。   From the above explanation, the automatic placement and routing program according to the first embodiment is adapted to the layout pattern of the upper layer by reducing the number of module shape candidates based on the layout, circuit diagram data, and module area data of the module of the upper layer. The time required for searching for the module shape can be reduced.

また、実施の形態1にかかる自動配置配線プログラムでは、デジタル回路を主に含むデジタルモジュールについては、マトリクス状に配置される回路素子の行の高さ、又は、列の幅を変化単位として縦横の寸法が異なる複数のモジュール形状候補を生成する。また、実施の形態1にかかる自動配置配線プログラムでは、アナログ回路を主に含むアナログモジュールについては、連続的に縦横の寸法が変化する複数のモジュール形状候補を生成する。つまり、モジュール内に配置される回路の属性に応じてモジュール形状候補を選択する。このようにモジュール形状候補を生成することで、デジタルモジュールを配置可能なモジュール形状候補の数をアナログモジュールのモジュール形状候補の数よりも削減することができるため、デジタルモジュールの形状の収束を早めることができる。   Further, in the automatic placement and routing program according to the first embodiment, for a digital module mainly including a digital circuit, the height and the width of the circuit element arranged in a matrix or the width of the column are set as a change unit. A plurality of module shape candidates having different dimensions are generated. In the automatic placement and routing program according to the first embodiment, for an analog module mainly including an analog circuit, a plurality of module shape candidates whose vertical and horizontal dimensions continuously change are generated. That is, the module shape candidate is selected according to the attribute of the circuit arranged in the module. By generating module shape candidates in this way, the number of module shape candidates that can be placed with digital modules can be reduced from the number of module shape candidates for analog modules, so that the convergence of the shape of the digital module is accelerated. Can do.

また、実施の形態1にかかる自動配置配線プログラムでは、図3のステップS17の面積制御ファイルの更新処理においても、モジュール属性を考慮した面積値の更新を行う。これにより、実施の形態1にかかる自動配置配線プログラムでは、デジタルモジュールについて、更新後のモジュール面積を超えてレイアウト処理がなされる可能性を小さくすることができる。つまり、実施の形態1にかかる自動配置配線プログラムによれば、レイアウトにかかる時間を短縮することができる。   In the automatic placement and routing program according to the first embodiment, the area value is updated in consideration of the module attribute also in the area control file update process in step S17 of FIG. Thereby, in the automatic placement and routing program according to the first embodiment, it is possible to reduce the possibility that the digital module is subjected to layout processing beyond the module area after the update. That is, according to the automatic placement and routing program according to the first embodiment, the time required for layout can be reduced.

また、実施の形態1にかかる自動配置配線プログラムでは、モジュール属性を考慮してモジュール形状候補を選択することで、レイアウトの面積効率を高めることができる。デジタルモジュールに対してもアナログモジュールと同じモジュール形状候補の生成方法を適用した場合、モジュールの寸法が行の高さの単位又は列の幅の単位と関係なく設定されるため、無駄な領域が生じる可能性がある。そこで、一例として、実施の形態1にかかる自動配置配線プログラムを用いて生成した半導体装置のレイアウトパターンを図12に示し、アナログモジュールに対するモジュール形状候補の生成方法のみを適用して生成した半導体装置1のレイアウトパターンを図13に示す。なお、図12、図13に示す例は、いずれも図5に示した階層構造と同じ階層構造を有する回路図についてのレイアウトである。図12に示すように、実施の形態1にかかる半導体装置では、デッドスペースを生じることなく密に回路が配される。一方、図13に示す例では、ブロックBにおいてセルの行の高さとモジュール形状の不適合が生じることで、デッドスペースが生じている。つまり、実施の形態1にかかる自動配置配線プログラムによれば、モジュール内の回路の配置特性をモジュール属性として分類することでレイアウトの面積効率を高めることができる。また、デッドスペースが生じてしまった場合、チップ面積が大きくなるが、実施の形態1にかかる自動配置配線プログラムでは、デッドスペースを削減してチップ面積を小さくできる効果もある。   In the automatic placement and routing program according to the first embodiment, the area efficiency of the layout can be improved by selecting the module shape candidate in consideration of the module attribute. When the same module shape candidate generation method as that of an analog module is applied to a digital module, the module dimensions are set regardless of the unit of row height or the unit of column width, resulting in useless areas. there is a possibility. Therefore, as an example, FIG. 12 shows a layout pattern of the semiconductor device generated using the automatic placement and routing program according to the first embodiment, and the semiconductor device 1 is generated by applying only the module shape candidate generation method for the analog module. The layout pattern is shown in FIG. The examples shown in FIGS. 12 and 13 are layouts for circuit diagrams having the same hierarchical structure as the hierarchical structure shown in FIG. As shown in FIG. 12, in the semiconductor device according to the first embodiment, circuits are densely arranged without causing a dead space. On the other hand, in the example shown in FIG. 13, dead space occurs due to the mismatch between the cell row height and the module shape in the block B. That is, according to the automatic placement and routing program according to the first embodiment, the layout area efficiency can be improved by classifying the placement characteristics of the circuits in the module as module attributes. When a dead space occurs, the chip area increases. However, the automatic placement and routing program according to the first embodiment also has an effect of reducing the dead space and reducing the chip area.

なお、上記実施の形態では、自動配置配線プログラムによりレイアウトを行う方法について説明したが、自動配置配線プログラムにより実現される機能を有するハードウェアによって上記レイアウト方法を実行することも可能である。そこで、実施の形態1にかかる自動配置配線装置のブロック図を図14に示す。   In the above-described embodiment, the method of performing the layout by the automatic placement and routing program has been described. However, the layout method can also be executed by hardware having a function realized by the automatic placement and routing program. FIG. 14 is a block diagram of the automatic placement and routing apparatus according to the first embodiment.

図14に示すように、実施の形態1にかかる自動配置配線装置は、第1処理部(例えば、モジュールPcell生成部20)、第2処理部(例えば、モジュール属性解析部21)、第3処理部(例えば、モジュール形状解析部22)、第4処理部(例えば、レイアウト処理部23)、第5処理部(例えば、モジュール面積解析部24)、第7処理部(例えば、ループ条件判定部25)、第6処理部(例えば、面積制御ファイル更新処理部26)を有する。   As shown in FIG. 14, the automatic placement and routing apparatus according to the first embodiment includes a first processing unit (for example, module Pcell generation unit 20), a second processing unit (for example, module attribute analysis unit 21), and a third processing. Section (for example, module shape analyzing section 22), fourth processing section (for example, layout processing section 23), fifth processing section (for example, module area analyzing section 24), and seventh processing section (for example, loop condition determining section 25). ), A sixth processing unit (for example, an area control file update processing unit 26).

モジュールPcell生成部20は、ステップS10のモジュールPcell生成処理を実行する。モジュール属性解析部21は、ステップS11のモジュール属性解析処理を実行する。モジュール形状解析部22は、ステップS12のモジュール形状候補解析処理を実行する。レイアウト処理部23は、ステップS13のレイアウト処理を実行する。また、レイアウト処理部23は、配置条件設定部23a及び自動配置配線処理部23bを有する。配置条件設定部23aは、ステップS13aの配置条件設定処理を行う。自動配置配線処理部23bは、ステップS13bの自動配置配線処理を行う。モジュール面積解析部24は、ステップS14のモジュール面積解析処理と、ステップS15の判断処理を行う。ループ条件判定部25は、ステップS16のループ条件判定処理を行う。面積制御ファイル更新処理部26は、ステップS17の面積制御ファイル更新処理を行う。   The module Pcell generation unit 20 executes the module Pcell generation process in step S10. The module attribute analysis unit 21 executes module attribute analysis processing in step S11. The module shape analysis unit 22 executes module shape candidate analysis processing in step S12. The layout processing unit 23 executes the layout process in step S13. The layout processing unit 23 includes an arrangement condition setting unit 23a and an automatic arrangement / wiring processing unit 23b. The arrangement condition setting unit 23a performs an arrangement condition setting process in step S13a. The automatic placement and routing processing unit 23b performs the automatic placement and routing process in step S13b. The module area analysis unit 24 performs module area analysis processing in step S14 and determination processing in step S15. The loop condition determination unit 25 performs a loop condition determination process in step S16. The area control file update processing unit 26 performs the area control file update process in step S17.

実施の形態2
実施の形態2にかかる自動配置配線プログラムは、実施の形態1にかかる自動配置配線プログラムに、モジュール属性に応じて自動配置配線ツールを使い分ける機能を追加するものである。実施の形態2にかかる自動配置配線プログラムでは、図3のレイアウト処理(ステップS13)において、モジュール属性に応じた自動配置配線ツールの選択処理を追加する。そこで、実施の形態2にかかる自動配置配線プログラムにおけるレイアウト処理の動作を示すフローチャートを図15に示す。
Embodiment 2
The automatic placement and routing program according to the second embodiment adds a function for properly using the automatic placement and routing tool according to the module attribute to the automatic placement and routing program according to the first embodiment. In the automatic placement and routing program according to the second embodiment, an automatic placement and routing tool selection process corresponding to the module attribute is added in the layout process (step S13) of FIG. FIG. 15 is a flowchart showing the layout processing operation in the automatic placement and routing program according to the second embodiment.

図15に示すように、実施の形態2にかかる自動配置配線プログラムでは、ステップS13aの配置条件設定処理として、ステップS51〜S54の処理を行う。ステップS51の処理では、モジュール属性記述ファイルに記述されたモジュール毎のモジュール属性に基づき処理対象のモジュールがどのような属性を有しているかを判断する。   As shown in FIG. 15, in the automatic placement and routing program according to the second embodiment, the processing of steps S51 to S54 is performed as the placement condition setting processing of step S13a. In the process of step S51, it is determined what kind of attribute the module to be processed has based on the module attribute for each module described in the module attribute description file.

そして、ステップS51において、モジュール属性がアナログモジュールであると判断された場合、当該モジュールに対しては、アナログ用制約条件を設定する(ステップS52)。このアナログ用制約条件としては、例えば、デバイスの配置方向などを規定するデバイスジェネレーション制約や、差動デバイスなどの対称配置を規定するマッチング制約や、複数デバイスのグループ配置を規定するグリッドフォーム制約や、デバイスの相対配置を規定するセルプラン制約など様々なものが挙げられる。   If it is determined in step S51 that the module attribute is an analog module, an analog restriction condition is set for the module (step S52). The analog constraints include, for example, device generation constraints that specify device placement directions, matching constraints that specify symmetrical placement such as differential devices, grid form constraints that specify group placement of multiple devices, There are various things such as cell plan restrictions that define the relative arrangement of devices.

また、ステップS51において、モジュール属性がブロックモジュールであると判断された場合、当該モジュールに対しては、ブロックモジュール用制約条件を設定する(ステップS53)。なお、ブロックモジュールは、自モジュール内に自モジュールよりも下位階層の他のモジュールを含むモジュールに対して設定されるモジュール属性である。また、ブロックモジュール用制約条件としては、例えば、下位階層モジュールの端子配置制約条件、ブロック間配線の配置制約条件等が挙げられる。   If it is determined in step S51 that the module attribute is a block module, block module constraint conditions are set for the module (step S53). The block module is a module attribute set for a module including another module in a lower hierarchy than the own module in the own module. Moreover, examples of the block module constraint conditions include a terminal layout constraint condition of a lower layer module, an inter-block wiring layout constraint condition, and the like.

また、ステップS51において、モジュール属性がデジタルモジュールであると判断された場合、当該モジュールに対しては、デジタル用制約条件を設定する(ステップS54)。このデジタル用制約条件としては、例えば、モジュール形状候補の生成で用いたRow段数の値が挙げられる。   If it is determined in step S51 that the module attribute is a digital module, digital constraint conditions are set for the module (step S54). As the digital constraint condition, for example, the value of the number of Row stages used in generating the module shape candidate can be cited.

そして、実施の形態2にかかる自動配置配線プログラムでは、ステップS13bの自動配置配線処理において、実際の自動配置配線処理を行う前に、第9処理(例えば、自動配置配線ツールの選択処理)を行う。図15に示す例では、ステップS61〜S69において、自動配置配線ツールの選択を行い、ステップS70で自動配置配線処理を実行する。   In the automatic placement and routing program according to the second embodiment, the ninth process (for example, the automatic placement and routing tool selection process) is performed before the actual automatic placement and routing process in the automatic placement and routing process of step S13b. . In the example shown in FIG. 15, the automatic placement and routing tool is selected in steps S61 to S69, and the automatic placement and routing process is executed in step S70.

より具体的には、アナログモジュールに対しては、ステップS61において制約条件の記述、或いは、利用者の選択処理に応じて利用ツールを選択する。そして、ステップS61において選択されたツールを自動配置配線処理に利用するツールとして設定する(ステップS62、S63)。このステップS62、S63で設定される自動配置配線ツールは、アナログ回路の自動配置配線を得意とするツールである。   More specifically, for an analog module, a use tool is selected in step S61 according to a description of a constraint condition or a user selection process. Then, the tool selected in step S61 is set as a tool used for automatic placement and routing processing (steps S62 and S63). The automatic placement and routing tool set in steps S62 and S63 is a tool that specializes in automatic placement and routing of analog circuits.

ブロックモジュールに対しては、ステップS64において制約条件の記述、或いは、利用者の選択処理に応じて利用ツールを選択する。そして、ステップS64において選択されたツールを自動配置配線処理に利用するツールとして設定する(ステップS65、S66)。このステップS65、S66で設定される自動配置配線ツールは、ブロック間の自動配置配線処理を得意とする自動配置配線ツールである。なお、ブロックモジュールに対しては、ブロック間の自動配置配線ツールがない場合は、このようなツール選択処理を行わないとすることもできる。   For the block module, a use tool is selected in step S64 according to the description of the constraint condition or the user selection process. Then, the tool selected in step S64 is set as a tool used for automatic placement and routing processing (steps S65 and S66). The automatic placement and routing tool set in steps S65 and S66 is an automatic placement and routing tool that excels at automatic placement and routing between blocks. Note that if there is no automatic placement and routing tool between blocks for a block module, such tool selection processing may not be performed.

デジタルモジュールに対しては、ステップS67において制約条件の記述、或いは、利用者の選択処理に応じて利用ツールを選択する。そして、ステップS67において選択されたツールを自動配置配線処理に利用するツールとして設定する(ステップS68、S69)。このステップS68、S69で設定される自動配置配線ツールは、デジタル回路の自動配置配線を得意とするツールである。   For the digital module, a use tool is selected in step S67 according to the description of the constraint condition or the selection process of the user. Then, the tool selected in step S67 is set as a tool to be used for automatic placement and routing processing (steps S68 and S69). The automatic placement and routing tools set in steps S68 and S69 are good at automatic placement and routing of digital circuits.

上記説明より、実施の形態2にかかる自動配置配線プログラムでは、モジュール属性に応じて回路素子の配置配線処理を行うツールを選択し、選択したツールを用いてモジュール毎に回路素子の配置配線処理を行う。このような選択処理により、アナログ回路、デジタル回路、ブロック間配置をそれぞれ得意とするツールによりそれぞれの回路に対する自動配置配線が可能になる。また、回路の配置特性に応じたツールを利用することで、処理時間の短縮及び面積効率の向上を実現することができる。   From the above description, in the automatic placement and routing program according to the second embodiment, a tool for performing circuit element placement and routing processing is selected according to the module attribute, and circuit element placement and routing processing is performed for each module using the selected tool. Do. By such selection processing, automatic placement and routing for each circuit can be performed by tools that are good at arrangement of analog circuits, digital circuits, and blocks. Further, by using a tool according to the circuit layout characteristics, it is possible to realize a reduction in processing time and an improvement in area efficiency.

例えば、デジタル回路は、通常アナログ回路よりも回路素子数が多くなる。そのため、デジタル回路に対して、アナログ回路用の自動配置配線ツールを利用した場合、デジタル回路の回路素子の1つ1つをアナログ回路として配置するため、レイアウトに莫大な時間を要する。近年の半導体装置では、アナログ回路を制御するための制御ロジック回路が大きくなる傾向があるため、デジタル回路に対してデジタル回路用の自動配置配線ツールを利用するメリットは大きい。   For example, a digital circuit usually has more circuit elements than an analog circuit. For this reason, when an automatic placement / wiring tool for analog circuits is used for a digital circuit, each circuit element of the digital circuit is arranged as an analog circuit, which requires an enormous amount of time for layout. In recent semiconductor devices, a control logic circuit for controlling an analog circuit tends to be large, so that there is a great merit in using an automatic placement and routing tool for a digital circuit for a digital circuit.

また、アナログ回路は、良好な回路特性を得るために回路素子の配置に制約が多い、しかし、デジタル回路用自動配置配線ツールでは、このような配置制約を扱うことを苦手とするものが多いため、デジタル回路用自動配置配線ツールを利用した場合、アナログ回路を適切にレイアウトできない場合がある。このような場合は、修正工程において、設計者が手作業でレイアウトを修正する必要があり、工程に要する時間が多く必要になる問題がある。このようなことからも、アナログ回路に対してはアナログ回路用の自動配置配線ツールを利用することのメリットは大きい。   In addition, there are many restrictions on the arrangement of circuit elements in order to obtain good circuit characteristics in analog circuits. However, many automatic placement and routing tools for digital circuits are not good at handling such arrangement restrictions. When an automatic placement and routing tool for digital circuits is used, analog circuits may not be properly laid out. In such a case, the designer needs to manually correct the layout in the correction process, and there is a problem that a lot of time is required for the process. For this reason, the advantage of using the automatic placement and routing tool for analog circuits is great for analog circuits.

また、アナログ回路用に設計された自動配置配線ツールを利用した場合、デジタル回路の配置制約条件をツールで処理することが難しく、レイアウト面積が、大きくなる傾向がある。逆に、デジタル回路用に設計された自動配置配線ツールを利用した場合、アナログ回路の配置制約条件をツールで処理することが難しく、レイアウト面積が、大きくなる傾向がある。このようなことからも、モジュール属性に応じて利用する自動配置配線ツールを使い分けることのメリットは大きい。   In addition, when an automatic placement and routing tool designed for an analog circuit is used, it is difficult to process the placement constraints of the digital circuit with the tool, and the layout area tends to increase. On the other hand, when an automatic placement and routing tool designed for a digital circuit is used, it is difficult to process the placement constraints of the analog circuit with the tool, and the layout area tends to increase. For these reasons as well, there are significant advantages to using automatic placement and routing tools that are used according to module attributes.

なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。   Note that the present invention is not limited to the above-described embodiment, and can be changed as appropriate without departing from the spirit of the present invention.

1 演算部
2 表示部
3 操作入力部
10〜15 記憶部
17〜19、30 ファイル
20 モジュールPcell生成部
21 モジュール属性解析部
22 モジュール形状解析部
23 レイアウト処理部
23a 配置条件設定部
23b 自動配置配線処理部
24 モジュール面積解析部
25 ループ条件判定部
26 面積制御ファイル更新処理部
DESCRIPTION OF SYMBOLS 1 Calculation part 2 Display part 3 Operation input part 10-15 Memory | storage part 17-19, 30 File 20 Module Pcell production | generation part 21 Module attribute analysis part 22 Module shape analysis part 23 Layout processing part 23a Arrangement condition setting part 23b Automatic arrangement | positioning wiring process Unit 24 Module area analysis unit 25 Loop condition determination unit 26 Area control file update processing unit

Claims (9)

演算部で実行され、記憶部から読み出した回路設計情報を用いて前記回路設計情報に対応したレイアウトパターンを生成する自動配置配線プログラムであって、
前記自動配置配線プログラムは、
前記回路設計情報から回路の配置単位を示すモジュールを抽出する第1処理と、
前記モジュール毎に、前記モジュールに含まれる回路の属性を示すモジュール属性を設定する第2処理と、
前記モジュール毎に、面積値を一定として縦横の寸法が異なる複数のモジュール形状候補を生成する第3処理と、
前記複数のモジュール形状候補から処理対象の前記モジュールの上位階層に位置する上位モジュールの形状に適合するモジュール形状候補を探索し、探索したモジュール形状候補に対して前記モジュールの回路素子を配置して前記レイアウトパターンを生成する第4処理と、を有し、
前記第3処理では、
前記モジュール内に配置される前記回路素子が、大きさが予め決められ、マトリクス状に配置される特徴を有することを示す第1回路属性の前記モジュールに対しては、行の高さ又は列の幅を前記縦横の寸法の変化単位とする前記複数のモジュール形状候補を生成し、
前記モジュール内に配置される前記回路素子が、大きさ及び配置が任意に設定される特徴を有することを示す第2回路属性の前記モジュールに対しては、前記縦横の寸法が連続的に変化する前記複数のモジュール形状候補を生成する自動配置配線プログラム。
An automatic placement and routing program that is executed by a calculation unit and generates a layout pattern corresponding to the circuit design information using circuit design information read from a storage unit,
The automatic placement and routing program is:
A first process of extracting a module indicating a circuit arrangement unit from the circuit design information;
A second process for setting a module attribute indicating an attribute of a circuit included in the module for each module;
A third process for generating a plurality of module shape candidates having a constant area value and different vertical and horizontal dimensions for each module;
The module shape candidate that matches the shape of the upper module located in the upper hierarchy of the module to be processed is searched from the plurality of module shape candidates, and the circuit elements of the module are arranged with respect to the searched module shape candidate, and A fourth process for generating a layout pattern,
In the third process,
For the module of the first circuit attribute indicating that the circuit elements arranged in the module have characteristics that are pre-determined in size and arranged in a matrix, a row height or column Generating the plurality of module shape candidates having a width as a unit of change in the vertical and horizontal dimensions;
The vertical and horizontal dimensions continuously change for the module having the second circuit attribute indicating that the circuit element arranged in the module has a feature that the size and arrangement are arbitrarily set. An automatic placement and routing program for generating the plurality of module shape candidates.
前記第4処理において前記回路素子の配置が完了したモジュールに、前記モジュール形状候補で指定される領域内に収まらないレイアウトとなる違反モジュールが存在するか否か判断する第5処理と、
前記違反モジュールの面積が前記違反モジュールに対応するモジュール形状候補の面積を超えている場合、前記第3処理で用いた前記面積値をより大きな値で更新する第6処理と、を有し、
前記第6処理は、
前記第1回路属性を示す前記モジュールに対しては、行の高さ単位で前記面積値を更新し、
前記第2回路属性を示す前記モジュールに対しては、任意の面積変化幅及び任意の寸法変化幅で前記面積値を更新する請求項1に記載の自動配置配線プログラム。
A fifth process for determining whether or not there is a violation module having a layout that does not fit in an area specified by the module shape candidate in the module in which the arrangement of the circuit elements is completed in the fourth process;
A sixth process for updating the area value used in the third process with a larger value if the area of the violating module exceeds the area of the module shape candidate corresponding to the violating module;
The sixth process includes
For the module showing the first circuit attribute, update the area value in row height units,
The automatic placement and routing program according to claim 1, wherein the area value is updated with an arbitrary area change width and an arbitrary dimension change width for the module indicating the second circuit attribute.
前記第5処理において、全ての前記モジュールが対応するモジュール形状候補の前記面積値内で前記回路素子の配置配線処理を完了するまで前記第1処理から前記第4処理を制限回数に達するまで繰り返し、前記制限回数の処理においても全ての前記モジュールが前記対応する基準値を満たさない場合、エラー内容を示すエラーレポートを生成する第7処理を有する請求項2に記載の自動配置配線プログラム。   In the fifth process, the first process to the fourth process are repeated until the limit number of times is reached until the placement and routing process of the circuit element is completed within the area value of the module shape candidate corresponding to all the modules, 3. The automatic placement and routing program according to claim 2, further comprising a seventh process of generating an error report indicating an error content when all the modules do not satisfy the corresponding reference value even in the limit number of processes. 前記第4処理は、前記モジュールの前記回路素子の配置に制限を与える配置制約条件を前記モジュール属性に応じて設定する第8処理を含む請求項1乃至3のいずれか1項に記載の自動配置配線プログラム。   4. The automatic arrangement according to claim 1, wherein the fourth process includes an eighth process of setting an arrangement constraint condition that restricts the arrangement of the circuit elements of the module according to the module attribute. 5. Wiring program. 前記第4処理は、前記モジュール属性に応じて前記回路素子の配置配線処理を行うツールを選択し、選択したツールを用いて前記モジュール毎に前記回路素子の前記配置配線処理を行う第9処理を含む請求項4に記載の自動配置配線プログラム。   The fourth process includes a ninth process of selecting a tool for performing the placement and routing process of the circuit element according to the module attribute, and performing the placement and routing process of the circuit element for each module using the selected tool. The automatic placement and routing program according to claim 4, comprising: 前記モジュール属性には、前記上位モジュールに対して設定される第3回路属性が含まれ、
前記第9の処理は、前記モジュールが前記第3回路属性を示す場合、前記モジュール間の配線処理を行うツールを選択する請求項5に記載の自動配置配線プログラム。
The module attribute includes a third circuit attribute set for the upper module,
The automatic placement and routing program according to claim 5, wherein the ninth process selects a tool for performing a wiring process between the modules when the module exhibits the third circuit attribute.
前記第1回路属性は、前記モジュール内に配置される回路がデジタル回路を主に含むことを示す属性であり、
前記第2回路属性は、前記モジュール内に配置される回路がアナログ回路を主に含むことを示す属性である請求項1乃至6のいずれか1項に記載の自動配置配線プログラム。
The first circuit attribute is an attribute indicating that a circuit arranged in the module mainly includes a digital circuit,
The automatic placement and routing program according to any one of claims 1 to 6, wherein the second circuit attribute is an attribute indicating that a circuit arranged in the module mainly includes an analog circuit.
回路設計情報から回路の配置単位を示すモジュールを抽出する第1処理部と、
前記モジュール毎に、前記モジュールに含まれる回路の属性を示すモジュール属性を設定する第2処理部と、
前記モジュール毎に、面積値を一定として縦横の寸法が異なる複数のモジュール形状候補を生成する第3処理部と、
前記複数のモジュール形状候補から処理対象の前記モジュールの上位階層に位置する上位モジュールの形状に適合するモジュール形状候補を探索し、探索したモジュール形状候補に対して前記モジュールの回路素子を配置してレイアウトパターンを生成する第4処理部と、を有し、
前記第3処理部では、
前記モジュール内に配置される前記回路素子が、大きさが予め決められ、マトリクス状に配置される特徴を有することを示す第1回路属性の前記モジュールに対しては、行の高さ又は列の幅を縦横の寸法の変化単位とする前記複数のモジュール形状候補を生成し、
前記モジュール内に配置される前記回路素子が、大きさ及び配置が任意に設定される特徴を有することを示す第2回路属性の前記モジュールに対しては、前記縦横の寸法が連続的に変化する前記複数のモジュール形状候補を生成する自動配置配線装置。
A first processing unit for extracting a module indicating a circuit arrangement unit from circuit design information;
A second processing unit for setting a module attribute indicating an attribute of a circuit included in the module for each module;
A third processing unit that generates a plurality of module shape candidates having different vertical and horizontal dimensions with a constant area value for each module;
A module shape candidate that matches the shape of an upper module located in an upper layer of the module to be processed is searched from the plurality of module shape candidates, and a circuit element of the module is arranged and laid out with respect to the searched module shape candidate A fourth processing unit for generating a pattern,
In the third processing unit,
For the module of the first circuit attribute indicating that the circuit elements arranged in the module have characteristics that are pre-determined in size and arranged in a matrix, a row height or column Generating the plurality of module shape candidates having a width as a unit of change in vertical and horizontal dimensions;
The vertical and horizontal dimensions continuously change for the module having the second circuit attribute indicating that the circuit element arranged in the module has a feature that the size and arrangement are arbitrarily set. An automatic placement and routing apparatus for generating the plurality of module shape candidates.
演算部で実行されるプログラムを用いて回路設計情報に対応したレイアウトパターンを生成する自動配置配線方法であって、
前記回路設計情報から回路の配置単位を示すモジュールを抽出する第1ステップと、
前記モジュール毎に、前記モジュールに含まれる回路の属性を示すモジュール属性を設定する第2ステップと、
前記モジュール毎に、面積値を一定として縦横の寸法が異なる複数のモジュール形状候補を生成する第3ステップと、
前記複数のモジュール形状候補から処理対象の前記モジュールの上位階層に位置する上位モジュールの形状に適合するモジュール形状候補を探索し、探索したモジュール形状候補に対して前記モジュールの回路素子を配置して前記レイアウトパターンを生成する第4ステップと、を有し、
前記第3ステップでは、
前記モジュール内に配置される前記回路素子が、大きさが予め決められ、マトリクス状に配置される特徴を有することを示す第1回路属性の前記モジュールに対しては、行の高さ又は列の幅を縦横の寸法の変化単位とする前記複数のモジュール形状候補を生成し、
前記モジュール内に配置される前記回路素子が、大きさ及び配置が任意に設定される特徴を有することを示す第2回路属性の前記モジュールに対しては、前記縦横の寸法が連続的に変化する前記複数のモジュール形状候補を生成する自動配置配線方法。
An automatic placement and routing method for generating a layout pattern corresponding to circuit design information using a program executed by an arithmetic unit,
A first step of extracting a module indicating a circuit arrangement unit from the circuit design information;
A second step of setting a module attribute indicating an attribute of a circuit included in the module for each module;
For each module, a third step of generating a plurality of module shape candidates having a constant area value and different vertical and horizontal dimensions;
The module shape candidate that matches the shape of the upper module located in the upper hierarchy of the module to be processed is searched from the plurality of module shape candidates, and the circuit elements of the module are arranged with respect to the searched module shape candidate, and A fourth step of generating a layout pattern,
In the third step,
For the module of the first circuit attribute indicating that the circuit elements arranged in the module have characteristics that are pre-determined in size and arranged in a matrix, a row height or column Generating the plurality of module shape candidates having a width as a unit of change in vertical and horizontal dimensions;
The vertical and horizontal dimensions continuously change for the module having the second circuit attribute indicating that the circuit element arranged in the module has a feature that the size and arrangement are arbitrarily set. An automatic placement and routing method for generating the plurality of module shape candidates.
JP2011225055A 2011-10-12 2011-10-12 Automatic-laying wiring program for semiconductor device, automatic-laying wiring device, and automatic-laying wiring method Pending JP2013084211A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011225055A JP2013084211A (en) 2011-10-12 2011-10-12 Automatic-laying wiring program for semiconductor device, automatic-laying wiring device, and automatic-laying wiring method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011225055A JP2013084211A (en) 2011-10-12 2011-10-12 Automatic-laying wiring program for semiconductor device, automatic-laying wiring device, and automatic-laying wiring method

Publications (1)

Publication Number Publication Date
JP2013084211A true JP2013084211A (en) 2013-05-09

Family

ID=48529321

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011225055A Pending JP2013084211A (en) 2011-10-12 2011-10-12 Automatic-laying wiring program for semiconductor device, automatic-laying wiring device, and automatic-laying wiring method

Country Status (1)

Country Link
JP (1) JP2013084211A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017027333A (en) * 2015-07-22 2017-02-02 株式会社ジーダット Placement processing device, method and program, and recording medium
CN115221831A (en) * 2022-07-28 2022-10-21 清华大学 Method and device for realizing coded semi-automatic layout of circuit layout

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017027333A (en) * 2015-07-22 2017-02-02 株式会社ジーダット Placement processing device, method and program, and recording medium
CN115221831A (en) * 2022-07-28 2022-10-21 清华大学 Method and device for realizing coded semi-automatic layout of circuit layout
CN115221831B (en) * 2022-07-28 2023-10-13 清华大学 Method and device for realizing circuit layout coding semi-automatic layout

Similar Documents

Publication Publication Date Title
Kahng et al. VLSI physical design: from graph partitioning to timing closure
US8719754B1 (en) System and method to generate re-useable layout components from schematic components in an IC design with hierarchical parameters
US10713410B2 (en) Method for legalizing mixed-cell height standard cells of IC
US11093681B2 (en) Method and system for generating layout design of integrated circuit
CN108228955B (en) Layout system and layout method of semiconductor device
US7689964B2 (en) System and method for routing connections
US11030383B2 (en) Integrated device and method of forming the same
Martins et al. Analog Integrated Circuit Design Automation
Kahng et al. PROBE: A placement, routing, back-end-of-line measurement utility
Sadeghi et al. Automatic and simultaneous floorplanning and placement in field-programmable gate arrays with dynamic partial reconfiguration based on genetic algorithm
JP2013084211A (en) Automatic-laying wiring program for semiconductor device, automatic-laying wiring device, and automatic-laying wiring method
US9892226B2 (en) Methods for providing macro placement of IC
US7698663B2 (en) Apparatus, method and program for designing integrated circuit
Zhang et al. Placement algorithm in analog-layout designs
US11126768B2 (en) Methods of designing semiconductor devices, design systems performing the same and methods of manufacturing semiconductor devices using the same
US10572620B2 (en) Custom piecewise digital layout generation
US20130193554A1 (en) Cell Array with Density Features
US20220245319A1 (en) Method for integrated circuit design
Shin et al. Machine learning applications on 3nm node technology and designs for improving block-level PPA
JP7009039B2 (en) Layout design device and layout design program for semiconductor integrated circuits
JP4995639B2 (en) Semiconductor integrated circuit design apparatus and design method
US20230237236A1 (en) Method of designing layout of semiconductor integrated circuit, method of designing and manufacturing semiconductor integrated circuit using the same, and design system performing same
US20220100938A1 (en) Flexible Cell Height Layout Architecture
Monteiro VLSI Placement Optimization Algorithms
Lin et al. Routability-Driven Orientation-Aware Analytical Placement for System in Package