[go: up one dir, main page]

JP2015210703A - Cad device, cell and layout method - Google Patents

Cad device, cell and layout method Download PDF

Info

Publication number
JP2015210703A
JP2015210703A JP2014092559A JP2014092559A JP2015210703A JP 2015210703 A JP2015210703 A JP 2015210703A JP 2014092559 A JP2014092559 A JP 2014092559A JP 2014092559 A JP2014092559 A JP 2014092559A JP 2015210703 A JP2015210703 A JP 2015210703A
Authority
JP
Japan
Prior art keywords
cell
eco
cells
input
layout
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
JP2014092559A
Other languages
Japanese (ja)
Inventor
昌代 小川
Masayo Ogawa
昌代 小川
勝人 橋場
Katsuto Hashiba
勝人 橋場
澤田 真一
Shinichi Sawada
真一 澤田
浩貴 森田
Hirotaka Morita
浩貴 森田
森邊 剛
Takeshi Morinobe
剛 森邊
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.)
Socionext Inc
Original Assignee
Socionext Inc
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 Socionext Inc filed Critical Socionext Inc
Priority to JP2014092559A priority Critical patent/JP2015210703A/en
Publication of JP2015210703A publication Critical patent/JP2015210703A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

PROBLEM TO BE SOLVED: To achieve efficiency of design task of a circuit.SOLUTION: A CAD device 101 comprises an ECO-DOT cell D and plural ECO cells C1-C4 in a layout area r of a design target circuit, based on layout data of the design target circuit. The ECO-DOT cell D comprises plural input terminal I1-I4, and output terminal Y connected to respective input terminals of the plural input terminals, by wirings having the same length. The CAD device 101 is configured so that, respective output terminals of the plural ECO cells C1-C4 are connected to respective input terminals I1-I4 of the ECO-DOT cell D, by wirings having the same length.

Description

本発明は、CAD(Computer Aided Design)装置、セル、およびレイアウト方法に関する。   The present invention relates to a CAD (Computer Aided Design) device, a cell, and a layout method.

従来、回路の設計作業において、設計対象回路上の入力セルから出力セルまでが離れているために入力セルの駆動能力が不足する場合に、論理的には何もせず駆動能力を有するバッファを入力セルと出力セルとの間に接続して駆動能力を補うことがある。このとき、駆動能力が異なるバッファの中から、不足した駆動能力に応じたバッファを入力セルと出力セルとの間に接続することにより、不足した駆動能力を補うことができる。ここで、バッファの駆動能力が大きくなるにつれて、レイアウト領域内でのバッファが占有する領域が広くなる。関連する先行技術として、例えば、ドット接続、すなわちワイヤードANDまたはワイヤードORが目標テクノロジーで許容されるならば、ワイヤードANDやワイヤードORを用いた論理合成を探索するものがある。また、セレクタ回路をワイヤードOR型セレクタ回路に変換し、ワイヤードOR型セレクタ回路の3ステートバッファが何も選択されないときにワイヤードOR型セレクタ回路の出力がハイインピーダンス状態にならないようにする保護回路を挿入する技術がある。   Conventionally, in the circuit design work, when the input cell drive capacity is insufficient due to the distance from the input cell to the output cell on the circuit to be designed, a buffer having the drive capacity is input without logically doing anything. A drive capacity may be supplemented by connecting between the cell and the output cell. At this time, the deficient driving capability can be compensated by connecting a buffer corresponding to the deficient driving capability between the input cell and the output cell from among the buffers having different driving capabilities. Here, as the drive capacity of the buffer increases, the area occupied by the buffer in the layout area increases. Related prior art includes, for example, searching for logic synthesis using wired AND or wired OR if the target technology allows dot connections, ie, wired AND or wired OR. Also, a protective circuit is inserted that converts the selector circuit to a wired OR type selector circuit and prevents the output of the wired OR type selector circuit from going into a high impedance state when nothing is selected in the 3-state buffer of the wired OR type selector circuit. There is technology to do.

特開昭61−88371号公報JP-A-61-88371 特開平10−171846号公報JP-A-10-171844

しかしながら、従来技術によれば、不足した駆動能力に応じたバッファを配置できる領域が確保できない場合には、例えば、設計対象回路の配置配線をやり直してバッファを配置できる領域を確保することになり、設計者による設計作業に時間がかかる。   However, according to the prior art, when an area where a buffer according to the deficient driving capability cannot be secured cannot be secured, for example, an area where the buffer can be placed by re-arranging the placement and wiring of the circuit to be designed is secured. It takes time for the design work by the designer.

また、不足した駆動能力に応じたバッファを配置する領域よりも狭い領域で配置できるバッファを並列に接続して、不足した駆動能力に応じたバッファと同等の駆動能力を得ることが考えられる。ここで、バッファを並列に接続して、不足した駆動能力を補うためには、複数のバッファをドット接続する際に、ドットそのものと各々のバッファとの配線長を同一にすることが求められる。しかしながら、既存のレイアウトツールでは、ドットと各々のバッファとを接続する配線長を同一にすることができないため、設計者の手作業によりドットと各々のバッファとの配線長が同一となるように配線することになり、設計者による設計作業に時間がかかる。   In addition, it is conceivable that buffers that can be arranged in an area narrower than an area where buffers corresponding to the deficient driving ability are connected in parallel to obtain a driving ability equivalent to the buffer corresponding to the deficient driving ability. Here, to connect the buffers in parallel to make up for the deficient driving capability, it is required to make the wiring lengths of the dots themselves and the respective buffers the same when connecting a plurality of buffers in dots. However, with existing layout tools, it is not possible to make the wiring length connecting the dot and each buffer the same, so the wiring length of the dot and each buffer is made the same by the designer's manual work. Therefore, it takes time for the design work by the designer.

1つの側面では、本発明は、回路の設計作業の効率化を図ることができるCAD装置、セル、およびレイアウト方法を提供することを目的とする。   In one aspect, an object of the present invention is to provide a CAD device, a cell, and a layout method capable of improving the efficiency of circuit design work.

本発明の一側面によれば、複数の入力端子と、複数の入力端子の各々の入力端子に接続された出力端子と、を有するセルと、複数のバッファとを、設計対象回路のレイアウトデータに基づいて、設計対象回路のレイアウト領域内に配置し、配置した複数のバッファの各々の出力端子とセルの各々の入力端子とを、同一の長さの配線によってそれぞれ接続するCAD装置、およびレイアウト方法が提案される。   According to one aspect of the present invention, a cell having a plurality of input terminals, an output terminal connected to each input terminal of the plurality of input terminals, and a plurality of buffers are used as layout data for the circuit to be designed. Based on the above, a CAD device that is arranged in a layout area of a circuit to be designed, and that connects each output terminal of each of the arranged buffers and each input terminal of a cell by wires of the same length, and a layout method Is proposed.

また、本発明の他の側面によれば、複数の入力端子と、複数の入力端子の各々から同一の長さの配線によって接続された出力端子と、を有し、複数の入力端子の各々と、同一の長さの配線によって複数のバッファの各々の出力端子とが、それぞれ接続されるセルが提案される。   According to another aspect of the present invention, there are a plurality of input terminals, and an output terminal connected by a wiring having the same length from each of the plurality of input terminals, and each of the plurality of input terminals A cell is proposed in which the output terminals of a plurality of buffers are connected to each other by wires of the same length.

本発明の一態様によれば、回路の設計作業の効率化を図ることができるという効果を奏する。   According to one embodiment of the present invention, it is possible to improve the efficiency of circuit design work.

図1は、CAD装置101の動作例を示す説明図である。FIG. 1 is an explanatory diagram illustrating an operation example of the CAD apparatus 101. 図2は、ECO−DOTセルDのレイアウトの第1の例を示す説明図である。FIG. 2 is an explanatory diagram showing a first example of the layout of the ECO-DOT cell D. As shown in FIG. 図3は、ECO−DOTセルDのレイアウトの第2の例を示す説明図である。FIG. 3 is an explanatory diagram showing a second example of the layout of the ECO-DOT cell D. As shown in FIG. 図4は、ECO−DOTセルDのレイアウトの第3の例を示す説明図である。FIG. 4 is an explanatory diagram showing a third example of the layout of the ECO-DOT cell D. As shown in FIG. 図5は、ECO−DOTセルDの論理ファンクションの一例を示す説明図である。FIG. 5 is an explanatory diagram illustrating an example of a logical function of the ECO-DOT cell D. 図6は、CAD装置101のハードウェア構成例を示すブロック図である。FIG. 6 is a block diagram illustrating a hardware configuration example of the CAD apparatus 101. 図7は、CAD装置101の機能的構成例を示すブロック図である。FIG. 7 is a block diagram illustrating a functional configuration example of the CAD apparatus 101. 図8は、ECOバルクセルのレイアウトの一例を示す説明図である。FIG. 8 is an explanatory diagram showing an example of the layout of the ECO bulk cell. 図9は、ECOセルCのレイアウトの一例を示す説明図である。FIG. 9 is an explanatory diagram showing an example of the layout of the ECO cell C. 図10は、4倍駆動分のECOセルCを追加する一例を示す説明図である。FIG. 10 is an explanatory diagram showing an example of adding an ECO cell C for four times driving. 図11は、ECOセルCの配置例を示す説明図である。FIG. 11 is an explanatory diagram illustrating an arrangement example of the ECO cells C. 図12は、ECO−DOTセルDの配置例を示す説明図である。FIG. 12 is an explanatory diagram illustrating an arrangement example of the ECO-DOT cells D. 図13は、ECO−DOTセルDから出力セルBへの接続例を示す説明図である。FIG. 13 is an explanatory diagram showing a connection example from the ECO-DOT cell D to the output cell B. 図14は、レイアウト処理手順の一例を示すフローチャートである。FIG. 14 is a flowchart illustrating an example of a layout processing procedure. 図15は、P&R ECO処理手順の一例を示すフローチャートである。FIG. 15 is a flowchart illustrating an example of the P & R ECO processing procedure.

以下に図面を参照して、開示のCAD装置、セル、およびレイアウト方法の実施の形態を詳細に説明する。   Embodiments of a disclosed CAD device, cell, and layout method will be described in detail below with reference to the drawings.

図1は、CAD装置101の動作例を示す説明図である。本実施の形態にかかるCAD装置101は、回路設計を支援するコンピュータである。CAD装置101は、例えば、パーソナルコンピュータであり、サーバ等でもよい。具体的には、例えば、CAD装置101は、レイアウト処理として、RTL(Register Transfer Level)で記述された設計対象回路のデザインデータと、設計対象回路が遵守すべき制約条件とライブラリとを用いて、論理合成を行い、ネットリストを得る。ネットリストは、セル間の接続情報を示す。以下、セル間の接続を、「ネット」と称する場合がある。次に、CAD装置101は、ネットリストに対して、配置配線(Place&Route:P&R)を行い、タイミング解析を行って、ネットリストとレイアウトデータを出力する。レイアウトデータは、配置配線により得られるデータであり、例えば、GDSなどのフォーマットに従ったデータである。   FIG. 1 is an explanatory diagram illustrating an operation example of the CAD apparatus 101. The CAD device 101 according to the present embodiment is a computer that supports circuit design. The CAD device 101 is a personal computer, for example, and may be a server or the like. Specifically, for example, the CAD device 101 uses, as layout processing, design data of a design target circuit described in RTL (Register Transfer Level), a constraint condition that the design target circuit must comply with, and a library, Perform logic synthesis to obtain a netlist. The net list indicates connection information between cells. Hereinafter, the connection between cells may be referred to as “net”. Next, the CAD apparatus 101 performs placement and routing (Place & Route: P & R) on the net list, performs timing analysis, and outputs the net list and layout data. The layout data is data obtained by placement and routing, for example, data according to a format such as GDS.

ここで、半導体集積回路の高集積化に伴い、チップのセル列間の領域の削減や、空いた領域の有効活用が求められている。空いた領域の有効活用を図る技術として、ECO(Engineering Change Order)と呼ばれる技術が行われる。ECOは、設計開発において、最終段階で発見されたエラーを一部修正する技術である。修正する内容の具体例としては、論理回路の一部修正や、レイアウト設計における一部の素子配置改善や配線修正などである。   Here, with the high integration of semiconductor integrated circuits, there is a demand for reduction of areas between chip cell arrays and effective use of vacant areas. A technique called ECO (Engineering Change Order) is performed as a technique for effectively utilizing the vacant area. ECO is a technology that partially corrects errors found at the final stage in design and development. Specific examples of the contents to be corrected include partial correction of the logic circuit, improvement of some element arrangements in the layout design, and wiring correction.

ECOにおいて、設計対象回路のセルを配置配線した後に、何らかのエラーの修正のために、論理調整を行うことがある。例えば、2つのセルを接続した回路に対して、論理変更により、2つのセル間の配線長が長くなる場合がある。セル間の配線長が長いネットでは、レイアウト配線の寄生素子に起因して信号遅延が増加するようになる。そこで、一般的にはリピータセルを挿入し、駆動能力を補うことにより、信号遅延の増加を調整する。リピータセルとは、回路ブロック間を接続する配線が長い場合に、パス遅延を小さくするために結線の途中に挿入されるバッファである。この場合、ECOによって、セル配置を変えずに、論理調整を行うことができる。   In ECO, after placing and routing a cell of a circuit to be designed, logic adjustment may be performed to correct some error. For example, for a circuit connecting two cells, the wiring length between the two cells may become longer due to a logic change. In a net having a long wiring length between cells, signal delay increases due to parasitic elements in the layout wiring. Therefore, in general, the increase in signal delay is adjusted by inserting a repeater cell and supplementing the driving capability. A repeater cell is a buffer that is inserted in the middle of connection in order to reduce path delay when the wiring connecting circuit blocks is long. In this case, logic adjustment can be performed by ECO without changing the cell arrangement.

ECOにおいて挿入するリピータセルを、以下、「ECOセル」と呼称する。また、ECOセルを配置することが可能な箇所は、設計対象回路のセル配置を決定する前に、ECOセルを配置する領域として予め配置したセル上となる。前述の予め配置したセルを、「ECOバルクセル」と呼称する。ECOセルのレイアウトの一例を、図9で後述する。また、ECOバルクセルのレイアウトの一例を、図8で後述する。図9で示すように、ECOセルは、補いたい駆動能力の大きさに応じて複数の種類が存在しており、不足した駆動能力に応じたECOセルを入力セルと出力セルとの間に接続することにより、不足した駆動能力を補うことができる。ここで、ECOセルの駆動能力が大きくなるにつれて、ECOセルが占有する領域が広くなる。以下の説明では、単に「ECOセル」と記載した場合には、1つのECOバルクセル上に配置した際のECOセルを指すものとする。   The repeater cell inserted in the ECO is hereinafter referred to as “ECO cell”. Further, the place where the ECO cell can be arranged is on a cell arranged in advance as an area where the ECO cell is arranged before the cell arrangement of the circuit to be designed is determined. The previously arranged cells are referred to as “ECO bulk cells”. An example of the layout of the ECO cell will be described later with reference to FIG. An example of the layout of the ECO bulk cell will be described later with reference to FIG. As shown in FIG. 9, there are a plurality of types of ECO cells depending on the magnitude of the driving capability to be supplemented, and an ECO cell corresponding to the insufficient driving capability is connected between the input cell and the output cell. By doing so, the deficient driving ability can be compensated. Here, as the drive capability of the ECO cell increases, the area occupied by the ECO cell increases. In the following description, when it is simply described as “ECO cell”, it refers to an ECO cell arranged on one ECO bulk cell.

ここで、1つのECOバルクセル分のECOセルが有する駆動能力の複数倍の駆動能力を得たい状況が発生したとする。この場合、複数個のECOバルクセルが連続した箇所がある場合に、複数倍の駆動能力を有するECOセルに置き換えが可能である。しかしながら、近年更なるLSI(Large Scale Integration)集積度の向上を求められ、設計対象回路のレイアウト領域内に、集積度を下げる要因となるECOバルクセルを多く挿入することができなくなっており、特に連続して配置しておくことが困難となっている。   Here, it is assumed that a situation occurs in which it is desired to obtain a driving capability that is a multiple of the driving capability of an ECO cell for one ECO bulk cell. In this case, when there is a place where a plurality of ECO bulk cells are continuous, it can be replaced with an ECO cell having a multiple of driving capability. However, in recent years, further enhancement of LSI (Large Scale Integration) integration has been sought, and it has become impossible to insert many ECO bulk cells that cause a reduction in integration into the layout area of the circuit to be designed. It has become difficult to place them.

そこで、隣接していないECOバルクセルを用いて、複数のECOセルを並列に接続することにより複数倍の駆動能力を得ることが考えられる。ここで、複数のECOセルを並列に接続すると、複数のECOセルによる出力からのドット接続が生じることになる。そして、複数のECOセルを並列に接続することにより複数倍の駆動能力を得るには、複数のECOセルからドット接続までの配線長を同一にすることになる。   Therefore, it is conceivable to obtain a plurality of times of driving capability by connecting a plurality of ECO cells in parallel using non-adjacent ECO bulk cells. Here, when a plurality of ECO cells are connected in parallel, dot connection from the output of the plurality of ECO cells occurs. In order to obtain a multiple drive capability by connecting a plurality of ECO cells in parallel, the wiring length from the plurality of ECO cells to the dot connection is made the same.

しかしながら、自動配線において配線長を同一にする際に、異なるノードであれば配線長を同一にするという設定が行えるが、複数のECOセルからドット接続までは、一つのネットとして扱われるため、一つのネット内の配線長を同一に設定するということが困難である。設計者によるマニュアル配線を行えば、一つのネット内の配線長を同一に設定することができるが、マニュアル配線には多大な手間がかかってしまう。   However, when making the wiring length the same in automatic wiring, it is possible to set the wiring length to be the same for different nodes, but since a plurality of ECO cells to dot connections are handled as one net, one It is difficult to set the wiring length in one net to be the same. If manual wiring is performed by the designer, the wiring length in one net can be set to be the same, but manual wiring takes a lot of trouble.

そこで、本実施の形態にかかるCAD装置101は、レイアウト領域に、接続専用のセルと、複数のECOセルとを配置して、配置した複数のECOセルの各々の出力端子と接続専用のセルの複数の入力端子とを、長さが同一の配線によってそれぞれ接続する。以下、接続専用のセルを、「ECO−DOTセル」と呼称する。ECO−DOTセルは、長さが同一の配線によって、複数の入力端子と、複数の入力端子の各々の入力端子に接続された出力端子と、を有するセルである。また、ECO−DOTセルは、トランジスタ素子を有さない。ここで、各々の入力端子と出力端子とを接続する配線の長さは、各々の入力端子から出力端子までの配線の長さである。また、各々の入力端子から出力端子までの配線の一部が共有していてもよい。   Therefore, the CAD apparatus 101 according to the present embodiment arranges a connection-dedicated cell and a plurality of ECO cells in the layout area, and each of the output terminals of the plurality of arranged ECO cells and the connection-dedicated cell. A plurality of input terminals are connected to each other by wires having the same length. Hereinafter, the cell dedicated for connection is referred to as an “ECO-DOT cell”. The ECO-DOT cell is a cell having a plurality of input terminals and an output terminal connected to each input terminal of the plurality of input terminals by wires having the same length. Further, the ECO-DOT cell does not have a transistor element. Here, the length of the wiring connecting each input terminal and the output terminal is the length of the wiring from each input terminal to the output terminal. Moreover, a part of wiring from each input terminal to an output terminal may be shared.

以下に、図1を用いて、ECO−DOTセルと複数のECOセルとを配置して、ECO−DOTセルの複数の入力端子と複数のECOセルとの配線を等長配線に設定する例を示す。図1の(a)では、設計対象回路のレイアウトデータを模式的に示したものである。図1の(a)に示す設計対象回路のレイアウト領域rには、入力セルAと出力セルBとが配置される。そして、入力セルAと出力セルBとの配線長が長くなった結果、タイミング解析によってエラーが発生し、1つのECOセルが有する駆動能力の4倍の駆動能力を補うようにタイミング解析の結果として出力されたものとする。ここで、図1の(a)に示すレイアウト領域r内の薄いハッチを付与したセルは、ECOバルクセルを示す。   Hereinafter, an example in which an ECO-DOT cell and a plurality of ECO cells are arranged using FIG. 1 and wirings between a plurality of input terminals of the ECO-DOT cell and a plurality of ECO cells are set to be equal-length wirings will be described below. Show. FIG. 1A schematically shows the layout data of the circuit to be designed. An input cell A and an output cell B are arranged in the layout region r of the design target circuit shown in FIG. As a result of an increase in the wiring length between the input cell A and the output cell B, an error occurs due to the timing analysis, and as a result of the timing analysis so as to supplement the driving capability four times that of one ECO cell. It is assumed that it has been output. Here, a cell provided with a thin hatch in the layout region r shown in FIG. 1A indicates an ECO bulk cell.

図1の(b)では、図1の(a)におけるレイアウト領域rに、4つのECOセルC1〜C4とECO−DOTセルDとを配置した例である。また、図1の(b)では、ECO−DOTセルDの内部のレイアウトについて示す。ここで、図1の(b)に示すレイアウト領域r内の薄いハッチを付与したセルは、ECOバルクセルを示す。また、ECOセルC1〜C4は、図1の(b)に示すレイアウト領域r内の濃いハッチを付与したセルである。同様に、ECO−DOTセルDは、図1の(b)に示すレイアウト領域r内の中程度の濃さのハッチを付与したセルである。   FIG. 1B shows an example in which four ECO cells C1 to C4 and an ECO-DOT cell D are arranged in the layout region r in FIG. FIG. 1B shows an internal layout of the ECO-DOT cell D. Here, a cell provided with a thin hatch in the layout region r shown in FIG. 1B indicates an ECO bulk cell. Further, the ECO cells C1 to C4 are cells to which a dark hatch is added in the layout region r shown in FIG. Similarly, the ECO-DOT cell D is a cell provided with a medium dark hatch in the layout region r shown in FIG.

ECO−DOTセルDの内部のレイアウトについて説明する。ECO−DOTセルDは、長さが同一の配線によって、複数の入力端子I1〜I4と、複数の入力端子I1〜I4の各々の入力端子に接続された出力端子Yとを有する。ここで、入力端子I1から出力端子Yまでの配線の長さと、入力端子I2から出力端子Yまでの配線の長さと、入力端子I3から出力端子Yまでの配線の長さと、入力端子I4から出力端子Yまでの配線の長さとが同一である。より詳細なECO−DOTセルのレイアウトについては、図2〜図4で説明する。   The internal layout of the ECO-DOT cell D will be described. The ECO-DOT cell D has a plurality of input terminals I1 to I4 and an output terminal Y connected to each input terminal of the plurality of input terminals I1 to I4 by wires having the same length. Here, the length of the wiring from the input terminal I1 to the output terminal Y, the length of the wiring from the input terminal I2 to the output terminal Y, the length of the wiring from the input terminal I3 to the output terminal Y, and the output from the input terminal I4 The length of the wiring to the terminal Y is the same. A more detailed layout of the ECO-DOT cell will be described with reference to FIGS.

CAD装置101は、設計対象回路のレイアウトデータに基づいて、設計対象回路のレイアウト領域r内に、ECO−DOTセルDを配置するとともに複数のECOセルC1〜C4を配置する。具体的には、CAD装置101は、レイアウトデータ内のECOバルクセル上に、ECO−DOTセルDを配置するとともに複数のECOセルC1〜C4を配置する。CAD装置101は、ECOセルC1〜C4を配置した後にECO−DOTセルDを配置してもよいし、ECO−DOTセルDを配置した後にECOセルC1〜C4を配置してもよい。より詳細なECO−DOTセルDとECOセルC1〜C4との配置例については、図10〜図13で後述する。   The CAD apparatus 101 arranges an ECO-DOT cell D and a plurality of ECO cells C1 to C4 in the layout area r of the circuit to be designed based on the layout data of the circuit to be designed. Specifically, the CAD apparatus 101 arranges the ECO-DOT cell D and the plurality of ECO cells C1 to C4 on the ECO bulk cell in the layout data. The CAD apparatus 101 may arrange the ECO-DOT cell D after arranging the ECO cells C1 to C4, or may arrange the ECO cells C1 to C4 after arranging the ECO-DOT cell D. More detailed arrangement examples of the ECO-DOT cell D and the ECO cells C1 to C4 will be described later with reference to FIGS.

そして、CAD装置101は、配置した複数のECOセルC1〜C4とECO−DOTセルDの各々の入力端子I1〜I4とを、長さが同一の配線によってそれぞれ接続する。図1の(b)では、例えば、CAD装置101は、ECOセルC1と入力端子I1とを接続し、ECOセルC2と入力端子I2とを接続し、ECOセルC3と入力端子I3とを接続し、ECOセルC4と入力端子I4とを接続する。そして、CAD装置101は、ECOセルC1から入力端子I1までの配線と、ECOセルC2から入力端子I2までの配線と、ECOセルC3から入力端子I3までの配線と、ECOセルC4から入力端子I4までの配線と、の長さを同一に設定する。   Then, the CAD device 101 connects the plurality of arranged ECO cells C1 to C4 and the input terminals I1 to I4 of the ECO-DOT cell D by wires having the same length. In FIG. 1B, for example, the CAD device 101 connects the ECO cell C1 and the input terminal I1, connects the ECO cell C2 and the input terminal I2, and connects the ECO cell C3 and the input terminal I3. The ECO cell C4 and the input terminal I4 are connected. The CAD device 101 includes a wiring from the ECO cell C1 to the input terminal I1, a wiring from the ECO cell C2 to the input terminal I2, a wiring from the ECO cell C3 to the input terminal I3, and a wiring from the ECO cell C4 to the input terminal I4. Set the length of the wiring up to the same.

次に、図2〜図4を用いて、ECO−DOTセルのレイアウト例を示す。以下、図2〜図4、図8、図9で示すレイアウトについて共通する内容について説明する。図2〜図4、図8、図9内の、濃いハッチで囲まれた部分は、メタル層を示す。また、図2〜図4、図8、図9内の、右上から左下に向かう斜線による薄いハッチで囲まれた部分は、ポリシリコン層を示す。また、図2〜図4、図8、図9内の、左上から右下に向かう斜線による薄いハッチで囲まれた部分は、ディフュージョン層を示す。また、図9内の、等間隔に並んだ斑点模様による中程度の濃さのハッチで囲まれた部分は、コンタクト層を示す。   Next, a layout example of the ECO-DOT cell will be described with reference to FIGS. The contents common to the layouts shown in FIGS. 2 to 4, 8, and 9 will be described below. A portion surrounded by a dark hatch in FIGS. 2 to 4, 8, and 9 indicates a metal layer. 2 to 4, 8, and 9, a portion surrounded by a thin hatch with a diagonal line from the upper right to the lower left indicates a polysilicon layer. 2 to 4, 8, and 9, a portion surrounded by a thin hatch with a diagonal line from the upper left to the lower right indicates a diffusion layer. Moreover, the part surrounded by the hatch of the medium darkness by the spot pattern arranged in equal intervals in FIG. 9 shows a contact layer.

図2は、ECO−DOTセルDのレイアウトの第1の例を示す説明図である。図2に示すECO−DOTセルDは、4つの入力端子I1、I2、I3、I4と、1つの出力端子Yとを有する。ここで、入力端子I1−出力端子Y間と、入力端子I2−出力端子Y間と、入力端子I3−出力端子Y間と、入力端子I4−出力端子Y間と、の配線の長さは同一となる。   FIG. 2 is an explanatory diagram showing a first example of the layout of the ECO-DOT cell D. As shown in FIG. The ECO-DOT cell D shown in FIG. 2 has four input terminals I1, I2, I3, I4 and one output terminal Y. Here, the wiring lengths between the input terminal I1 and the output terminal Y, between the input terminal I2 and the output terminal Y, between the input terminal I3 and the output terminal Y, and between the input terminal I4 and the output terminal Y are the same. It becomes.

図3は、ECO−DOTセルDのレイアウトの第2の例を示す説明図である。図3に示すECO−DOTセルDは、2つの入力端子I1、I2と、1つの出力端子Yとを有する。ここで、入力端子I1−出力端子Y間と、入力端子I2−出力端子Y間との配線の長さは同一となる。   FIG. 3 is an explanatory diagram showing a second example of the layout of the ECO-DOT cell D. As shown in FIG. The ECO-DOT cell D shown in FIG. 3 has two input terminals I1 and I2 and one output terminal Y. Here, the length of the wiring between the input terminal I1 and the output terminal Y and between the input terminal I2 and the output terminal Y is the same.

図4は、ECO−DOTセルDのレイアウトの第3の例を示す説明図である。図4に示すECO−DOTセルDは、6つの入力端子I1、I2、I3、I4、I5、I6と、1つの出力端子Yとを有する。ここで、入力端子I1−出力端子Y間と、入力端子I2−出力端子Y間と、入力端子I3−出力端子Y間と、入力端子I4−出力端子Y間と、入力端子I5−出力端子Y間と、入力端子I6−出力端子Y間との配線の長さは同一となる。   FIG. 4 is an explanatory diagram showing a third example of the layout of the ECO-DOT cell D. As shown in FIG. The ECO-DOT cell D shown in FIG. 4 has six input terminals I1, I2, I3, I4, I5, and I6 and one output terminal Y. Here, between the input terminal I1 and the output terminal Y, between the input terminal I2 and the output terminal Y, between the input terminal I3 and the output terminal Y, between the input terminal I4 and the output terminal Y, and between the input terminal I5 and the output terminal Y. And the length of the wiring between the input terminal I6 and the output terminal Y are the same.

ここで、ECO−DOTセルDの内の各入力端子と出力端子との配線の長さは、図2〜図4で示すように同一である。しかし、ECO−DOTセルD内部の配線の長さのずれは、セル外の配線の長さと比較して微小なものであるから、ECO−DOTセルD内部の配線の長さのずれにより貫通電流等が発生しない範囲でずれてもよい。次に、図5を用いて、ECO−DOTセルDの論理ファンクションの一例について説明する。   Here, the lengths of the wirings of the input terminals and the output terminals in the ECO-DOT cell D are the same as shown in FIGS. However, since the deviation of the length of the wiring inside the ECO-DOT cell D is very small compared to the length of the wiring outside the cell, the through current is caused by the deviation of the wiring length inside the ECO-DOT cell D. It is possible to deviate within a range in which no occurrence occurs. Next, an example of the logical function of the ECO-DOT cell D will be described with reference to FIG.

図5は、ECO−DOTセルDの論理ファンクションの一例を示す説明図である。図5の例では、図2に示した入力端子が4つある場合のECO−DOTセルDにおける論理ファンクションの例である。ECO−DOTセルDは、各入力端子の値と、同一の値を出力する論理回路であればどのようなものでもよい。図5の(a)および図5の(b)では、ECO−DOTセルDは、入力端子I1〜I4の論理和を出力端子Yから出力する例を示す。   FIG. 5 is an explanatory diagram illustrating an example of a logical function of the ECO-DOT cell D. The example of FIG. 5 is an example of a logical function in the ECO-DOT cell D when there are four input terminals shown in FIG. The ECO-DOT cell D may be any logic circuit that outputs the same value as the value of each input terminal. 5A and 5B show an example in which the ECO-DOT cell D outputs the logical sum of the input terminals I1 to I4 from the output terminal Y.

図5の(a)では、ECO−DOTセルDの機能を、Verilog−HDL(Hardware Description Language)により記述した例を示す。また、図5の(b)では、ECO−DOTセルDの機能を、回路記号を用いて示したものである。   FIG. 5A shows an example in which the function of the ECO-DOT cell D is described by Verilog-HDL (Hardware Description Language). In FIG. 5B, the function of the ECO-DOT cell D is shown using circuit symbols.

図5の(a)および図5の(b)に示したECO−DOTセルDの論理回路とは異なる例としては、各入力端子の論理積を出力端子Yから出力してもよい。ここで、論理和を用いることにより、各入力端子のうちのいずれか一つの入力端子の値の変化によって出力端子の値が変化するため、ECO−DOTセルDの論理回路として論理積を採用するより論理和を採用した方が、信号の伝達速度を向上することができる。   As an example different from the logic circuit of the ECO-DOT cell D shown in FIGS. 5A and 5B, the logical product of each input terminal may be output from the output terminal Y. Here, since the value of the output terminal changes due to the change of the value of any one of the input terminals by using the logical sum, the logical product is adopted as the logic circuit of the ECO-DOT cell D. The signal transmission speed can be improved by adopting the logical sum.

(CAD装置101のハードウェア構成例)
図6は、CAD装置101のハードウェア構成例を示すブロック図である。CAD装置101は、CPU(Central Processing Unit)601と、ROM(Read−Only Memory)602と、RAM(Random Access Memory)603と、を含む。また、CAD装置101は、ディスクドライブ604と、ディスク605と、通信インターフェース606と、を含む。また、CAD装置101は、ディスプレイ607と、キーボード608と、マウス609とを含む。また、CPU601〜ディスクドライブ604と、通信インターフェース606〜マウス609とは、バス610によってそれぞれ接続される。
(Example of hardware configuration of CAD device 101)
FIG. 6 is a block diagram illustrating a hardware configuration example of the CAD apparatus 101. The CAD device 101 includes a CPU (Central Processing Unit) 601, a ROM (Read-Only Memory) 602, and a RAM (Random Access Memory) 603. The CAD device 101 also includes a disk drive 604, a disk 605, and a communication interface 606. The CAD apparatus 101 includes a display 607, a keyboard 608, and a mouse 609. Further, the CPU 601 to the disk drive 604 and the communication interface 606 to the mouse 609 are connected by a bus 610, respectively.

CPU601は、CAD装置101の全体の制御を司る演算処理装置である。ROM602は、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。RAM603は、CPU601のワークエリアとして使用される揮発性メモリである。   The CPU 601 is an arithmetic processing device that controls the entire CAD device 101. The ROM 602 is a non-volatile memory that stores programs such as a boot program. A RAM 603 is a volatile memory used as a work area for the CPU 601.

ディスクドライブ604は、CPU601の制御に従ってディスク605に対するデータのリードおよびライトを制御する制御装置である。ディスクドライブ604には、例えば、磁気ディスクドライブ、光ディスクドライブ、ソリッドステートドライブなどを採用することができる。ディスク605は、ディスクドライブ604の制御で書き込まれたデータを記憶する不揮発性メモリである。例えばディスクドライブ604が磁気ディスクドライブである場合、ディスク605には、磁気ディスクを採用することができる。また、ディスクドライブ604が光ディスクドライブである場合、ディスク605には、光ディスクを採用することができる。また、ディスクドライブ604がソリッドステートドライブである場合、ディスク605には、半導体素子によって形成された半導体メモリ、いわゆる半導体ディスクを採用することができる。   The disk drive 604 is a control device that controls reading and writing of data with respect to the disk 605 according to the control of the CPU 601. As the disk drive 604, for example, a magnetic disk drive, an optical disk drive, a solid state drive, or the like can be employed. The disk 605 is a non-volatile memory that stores data written under the control of the disk drive 604. For example, when the disk drive 604 is a magnetic disk drive, a magnetic disk can be adopted as the disk 605. When the disk drive 604 is an optical disk drive, an optical disk can be adopted as the disk 605. When the disk drive 604 is a solid state drive, a semiconductor memory formed by a semiconductor element, that is, a so-called semiconductor disk can be used as the disk 605.

通信インターフェース606は、ネットワークと内部のインターフェースを司り、外部装置からのデータの入出力を制御する制御装置である。通信インターフェース606には、例えば、モデムやLANアダプタなどを採用することができる。   The communication interface 606 is a control device that controls an internal interface with the network and controls data input / output from an external device. As the communication interface 606, for example, a modem or a LAN adapter can be employed.

ディスプレイ607は、マウスカーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する装置である。ディスプレイ607には、例えば、CRT(Cathode Ray Tube)、TFT(Thin Film Transistor)液晶ディスプレイ、プラズマディスプレイなどを採用することができる。   The display 607 is a device that displays data such as a document, an image, and function information as well as a mouse cursor, an icon, or a tool box. As the display 607, for example, a CRT (Cathode Ray Tube), a TFT (Thin Film Transistor) liquid crystal display, a plasma display, or the like can be employed.

キーボード608は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う装置である。また、キーボード608は、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス609は、マウスカーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う装置である。マウス609は、ポインティングデバイスとして同様に機能を有するものであれば、トラックボールやジョイスティックなどであってもよい。   A keyboard 608 has keys for inputting characters, numbers, various instructions, and the like, and is a device for inputting data. The keyboard 608 may be a touch panel type input pad or a numeric keypad. A mouse 609 is a device for moving a mouse cursor, selecting a range, moving a window, changing a size, and the like. The mouse 609 may be a trackball or a joystick as long as it has the same function as a pointing device.

(CAD装置101の機能的構成例)
図7は、CAD装置101の機能的構成例を示すブロック図である。CAD装置101は、制御部700を含む。制御部700は、配置部701と、接続部702とを含む。制御部700は、記憶装置に記憶されたプログラムをCPU601が実行することにより、配置部701と接続部702との機能を実現する。記憶装置とは、具体的には、例えば、図6に示したROM602、RAM603、ディスク605などである。または、通信インターフェース606を経由して他のCPUが実行することにより、配置部701と接続部702の機能を実現してもよい。また、各部の処理結果は、CPU601が有するレジスタや、RAM603等に記憶される。
(Functional configuration example of CAD device 101)
FIG. 7 is a block diagram illustrating a functional configuration example of the CAD apparatus 101. The CAD device 101 includes a control unit 700. The control unit 700 includes an arrangement unit 701 and a connection unit 702. The control unit 700 implements the functions of the placement unit 701 and the connection unit 702 by causing the CPU 601 to execute a program stored in the storage device. Specifically, the storage device is, for example, the ROM 602, the RAM 603, the disk 605, or the like shown in FIG. Alternatively, the functions of the placement unit 701 and the connection unit 702 may be realized by another CPU executing via the communication interface 606. In addition, the processing result of each unit is stored in a register included in the CPU 601, the RAM 603, or the like.

配置部701は、設計対象回路のレイアウトデータに基づいて、設計対象回路のレイアウト領域r内に、ECO−DOTセルDと、複数のECOセルCとを配置する。   The placement unit 701 places an ECO-DOT cell D and a plurality of ECO cells C in the layout area r of the design target circuit based on the layout data of the design target circuit.

また、配置部701は、レイアウト領域r内に、入力セルAの配置位置および出力セルBの配置位置に基づいて、ECO−DOTセルDと、複数のECOセルとを配置してもよい。入力セルAは、複数のECOセルCに値を入力するセルである。また、出力セルBは、ECO−DOTセルDの出力端子から出力された値が入力されるセルである。   Further, the placement unit 701 may place the ECO-DOT cell D and a plurality of ECO cells in the layout region r based on the placement position of the input cell A and the placement position of the output cell B. The input cell A is a cell for inputting values to a plurality of ECO cells C. The output cell B is a cell to which a value output from the output terminal of the ECO-DOT cell D is input.

また、配置部701は、レイアウト領域r内に、入力セルAの配置位置および出力セルBの配置位置に基づいて、複数のECOセルCを配置してもよい。そして、配置部701は、レイアウト領域r内に、配置した複数のECOセルCの配置位置と出力セルBの配置位置とに基づいて、ECO−DOTセルDを配置する。例えば、配置部701は、入力セルAの配置位置と出力セルBの配置位置とを頂点とする矩形に含まれるECOバルクセル上に、複数のECOセルCを配置する。そして、配置部701は、複数のECOセルCのいずれかのECOセルの配置位置と出力セルBの配置位置とを頂点とする矩形に含まれるECOバルクセル上に、ECO−DOTセルDを配置する。   The placement unit 701 may place a plurality of ECO cells C in the layout region r based on the placement position of the input cell A and the placement position of the output cell B. Then, the placement unit 701 places the ECO-DOT cell D in the layout area r based on the placement position of the plurality of placed ECO cells C and the placement position of the output cell B. For example, the arrangement unit 701 arranges a plurality of ECO cells C on an ECO bulk cell included in a rectangle whose apexes are the arrangement position of the input cell A and the arrangement position of the output cell B. Then, the placement unit 701 places the ECO-DOT cell D on the ECO bulk cell included in the rectangle whose vertex is the placement position of any one of the plurality of ECO cells C and the placement position of the output cell B. .

また、配置部701は、レイアウト領域r内に、入力セルAの配置位置と出力セルBの配置位置との中間地点に基づいて、複数のECOセルCを配置してもよい。   Further, the placement unit 701 may place a plurality of ECO cells C in the layout region r based on an intermediate point between the placement position of the input cell A and the placement position of the output cell B.

また、配置部701は、レイアウト領域r内に、配置した複数のECOセルCのうちのいずれかのECOセルCの配置位置と出力セルBの配置位置との中間地点に基づいて、セルを配置してもよい。   In addition, the placement unit 701 places cells in the layout area r based on an intermediate point between the placement position of any one of the plurality of placed ECO cells C and the placement position of the output cell B. May be.

接続部702は、配置部701が配置した複数のECOセルCの各々のECOセルCとECO−DOTセルDの各々の入力端子とを、長さが同一の配線によってそれぞれ接続する。   The connection unit 702 connects the ECO cells C of the plurality of ECO cells C arranged by the arrangement unit 701 and the input terminals of the ECO-DOT cells D by wires having the same length.

また、接続部702は、レイアウトデータに基づいて、ECO−DOTセルDの出力端子と出力セルBの入力端子とを接続するとともに、入力セルAの出力端子と複数のECOセルCとを長さが同一の配線によって接続する。   The connection unit 702 connects the output terminal of the ECO-DOT cell D and the input terminal of the output cell B based on the layout data, and lengths the output terminal of the input cell A and the plurality of ECO cells C. Are connected by the same wiring.

図8は、ECOバルクセルのレイアウトの一例を示す説明図である。ECOバルクセルは、ECOセルおよびECO−DOTセルを配置する領域として配置しておくセルである。ここで、前述したECO−DOTセルは、ECOセルに対して、メタル配線を追加したセルである。   FIG. 8 is an explanatory diagram showing an example of the layout of the ECO bulk cell. The ECO bulk cell is a cell that is disposed as an area where the ECO cell and the ECO-DOT cell are disposed. Here, the ECO-DOT cell described above is a cell in which metal wiring is added to the ECO cell.

図9は、ECOセルCのレイアウトの一例を示す説明図である。図9の(a)で示すECOセルCは、1倍駆動のECOセルを示す。また、図9の(b)は、2倍駆動のECOセルを示す。   FIG. 9 is an explanatory diagram showing an example of the layout of the ECO cell C. An ECO cell C shown in (a) of FIG. 9 is an ECO cell of 1 × driving. FIG. 9B shows an ECO cell that is driven twice.

次に、図10〜図13を用いて、レイアウト処理として、隣接していないECOバルクセルに4つのECOセルCを追加する例を用いて、隣接したECOバルクセルに4倍駆動のECOセルCと同等の機能を実現する例について説明する。ここで、4倍駆動のECOセルCを追加すべきという情報は、例えば、タイミング解析結果により得られるものである。   Next, using FIGS. 10 to 13, as an example of adding four ECO cells C to non-adjacent ECO bulk cells as a layout process, it is equivalent to an ECO cell C of 4 times drive to adjacent ECO bulk cells. An example of realizing the function will be described. Here, the information that the ECO cell C of 4 times drive should be added is obtained from the timing analysis result, for example.

図10〜図13の例では、図2で示した4つの入力端子I1〜I4を有するECO−DOTセルDを用いて説明する。また、以下の説明において、記述を省略するために、セルxとセルyとのネットを、単に、「ネットx_y」と記載することがある。   In the example of FIGS. 10 to 13, description will be made using the ECO-DOT cell D having the four input terminals I1 to I4 shown in FIG. In the following description, in order to omit the description, the net of the cell x and the cell y may be simply referred to as “net x_y”.

(レイアウト処理の説明)
図10は、4倍駆動分のECOセルCを追加する一例を示す説明図である。図10では、ECOセルを挿入する前の状態を示す。図10の(a)は、レイアウトデータを模式的に示したものであり、ECOセルを挿入する前のレイアウト領域rを示す。図10の(a)で示すレイアウト領域r内には、入力セルAと出力セルBとが配置されている。また、図10の(a)におけるレイアウト領域r内の薄いハッチを付与したセルは、ECOバルクセルを示す。図10の(a)におけるレイアウト領域rが示すように、入力セルAと出力セルBとが接続されている。図10に示すレイアウトデータは、具体的には、入力セルAの配置位置と、出力セルBの配置位置と、ECOバルクセルの配置位置と、入力セルAと出力セルBとを接続する配線の位置とを、特定する情報を含む。
(Explanation of layout processing)
FIG. 10 is an explanatory diagram showing an example of adding an ECO cell C for four times driving. FIG. 10 shows a state before the ECO cell is inserted. FIG. 10A schematically shows the layout data, and shows the layout region r before the ECO cell is inserted. An input cell A and an output cell B are arranged in the layout region r shown in FIG. In addition, a cell with a thin hatch in the layout region r in FIG. 10A indicates an ECO bulk cell. As shown by the layout region r in FIG. 10A, the input cell A and the output cell B are connected. Specifically, the layout data shown in FIG. 10 includes an input cell A arrangement position, an output cell B arrangement position, an ECO bulk cell arrangement position, and a wiring position connecting the input cell A and the output cell B. And information to specify.

図10の(a)におけるレイアウト領域rが示すように、LSI集積度が向上した結果、集積度を下げる要因となるECOバルクセルを多く挿入することができなくなっており、ECOバルクセルを連続して配置することは特に困難である。   As indicated by the layout region r in FIG. 10A, as a result of the improvement of the LSI integration degree, it is impossible to insert many ECO bulk cells that cause a reduction in the integration degree, and the ECO bulk cells are continuously arranged. It is particularly difficult to do.

図10の(b)は、図10の(a)におけるレイアウト領域r内のセルのネットリストnを模式的に示したものである。図10の(b)で示すネットリストnは、入力セルAと出力セルBとが接続されていることを示す。   FIG. 10B schematically shows a netlist n of cells in the layout region r in FIG. The netlist n shown in FIG. 10B indicates that the input cell A and the output cell B are connected.

図11は、ECOセルCの配置例を示す説明図である。まず、CAD装置101は、入力端子I1〜I4から出力端子Yまでの配線遅延値を定義しておく。次に、CAD装置101は、設計対象回路の設計者であるCAD装置101の利用者により、4倍駆動のリピータセルを1倍駆動のECOセルCを4つと、ECO−DOTセルDを1つとで形成するように編集されたVerilogネットリストを受け付ける。続けて、CAD装置101は、レイアウト領域rから、4倍駆動のリピータセル分のECOセルCを配置する位置を探索する。そして、CAD装置101は、入力セルAから、次段となる複数のECOセルまでの配線長が同一となるように制御する。ここで、あるセルから複数のセルに対して配線長が等しくなるように配線する技術は、クロックツリー配線の技術としてあるものである。   FIG. 11 is an explanatory diagram illustrating an arrangement example of the ECO cells C. First, the CAD device 101 defines a wiring delay value from the input terminals I1 to I4 to the output terminal Y. Next, in the CAD apparatus 101, the user of the CAD apparatus 101 who is the designer of the circuit to be designed has four repeater cells driven four times, four ECO cells C driven one time, and one ECO-DOT cell D. The Verilog netlist edited so as to be formed is accepted. Subsequently, the CAD device 101 searches the layout region r for a position where the ECO cell C corresponding to the repeater cell driven by 4 times is arranged. Then, the CAD device 101 performs control so that the wiring length from the input cell A to the plurality of ECO cells at the next stage is the same. Here, a technique of wiring from a certain cell so that the wiring length is equal to a plurality of cells is a technique of clock tree wiring.

図11の(a)に示すレイアウト領域rは、図10に示すレイアウト領域rから、4倍駆動のリピータセル分のECOセルCを配置する位置を探索し、入力セルAと探索したECOバルクセルとの配線長とを同一にした状態を示す。ここで、図11の(a)におけるレイアウト領域r内の濃いハッチを付与したセルC1〜C4が、ECOセルを配置する候補であるとする。   The layout region r shown in FIG. 11A searches the layout region r shown in FIG. 10 for a position where the ECO cell C corresponding to the repeater cell driven four times is arranged, and the input cell A and the searched ECO bulk cell This shows a state in which the wiring length is the same. Here, it is assumed that cells C1 to C4 to which dark hatches in the layout region r in FIG. 11A are given are candidates for arranging the ECO cells.

ECOセルを配置する位置の探索例を示す。まず、CAD装置101は、入力セルAの配置位置と出力セルBの配置位置との中間地点から最も近いECOバルクセルを探索する。図11の(a)に示すレイアウト領域rの例では、CAD装置101は、入力セルAと出力セルBとの中間位置から最も近いECOバルクセルとして、ECOバルクセルC3を検出する。続けて、CAD装置101は、ECOバルクセルC3に近い位置にあるECOバルクセルとして、順に、ECOバルクセルC2、C4、C1を検出する。以下、ECOバルクセルC1〜C4の位置にECOセルを配置したものとして、ECOセルC1〜C4として扱う。   A search example of a position where an ECO cell is arranged will be shown. First, the CAD apparatus 101 searches for an ECO bulk cell that is closest to an intermediate point between the arrangement position of the input cell A and the arrangement position of the output cell B. In the example of the layout region r shown in FIG. 11A, the CAD device 101 detects the ECO bulk cell C3 as the ECO bulk cell that is closest to the intermediate position between the input cell A and the output cell B. Subsequently, the CAD apparatus 101 sequentially detects ECO bulk cells C2, C4, and C1 as ECO bulk cells located near the ECO bulk cell C3. Hereinafter, the ECO cells are treated as ECO cells C1 to C4, assuming that the ECO cells are arranged at the positions of the ECO bulk cells C1 to C4.

また、入力セルAと探索したECOセルCとの配線長を同一にする方法の一例を示す。まず、CAD装置101は、ネットA_C1、ネットA_C2、ネットA_C3、ネットA_C4の各ネットを最短で接続した場合に、配線長が最も長いネットを特定する。そして、CAD装置101は、配線長が最も長いネット以外のネットの配線を、配線長が最も長いネットの配線長と同一になるように、最短ではなく迂回するように設定する。   In addition, an example of a method for making the wiring lengths of the input cell A and the searched ECO cell C the same is shown. First, the CAD device 101 specifies a net having the longest wiring length when the nets A_C1, A_C2, A_C3, and A_C4 are connected in the shortest. Then, the CAD device 101 sets the nets other than the net with the longest wiring length to be detoured instead of the shortest so as to be the same as the wiring length of the net with the longest wiring length.

図11の(b)は、図11の(a)におけるレイアウト領域r内の入力セルAとECOセルC1〜C4とを有するネットリストnを模式的に示したものである。図11の(b)で示すネットリストnは、入力セルAとECOセルC1〜C4とがそれぞれ接続されていることを示す。   FIG. 11B schematically shows a netlist n having the input cell A and the ECO cells C1 to C4 in the layout region r in FIG. The netlist n shown in FIG. 11B indicates that the input cell A and the ECO cells C1 to C4 are connected to each other.

図12は、ECO−DOTセルDの配置例を示す説明図である。図12では、CAD装置101が、ECOセルC1〜C4を探索した後、レイアウト領域r内に、ECO−DOTDセルを配置して、複数のECOバルクセルから、ECO−DOTセルDまでの配線長が同一となるように制御するまでを説明する。   FIG. 12 is an explanatory diagram illustrating an arrangement example of the ECO-DOT cells D. In FIG. 12, after the CAD device 101 searches for the ECO cells C1 to C4, the ECO-DOTD cell is arranged in the layout region r, and the wiring length from the plurality of ECO bulk cells to the ECO-DOT cell D is increased. The process until control is performed to be the same will be described.

図12の(a)に示すレイアウト領域rは、図11の(a)に示すレイアウト領域rから、ECO−DOTセルDを配置する位置を探索し、ECOセルC1〜C4からECO−DOTセルDまでの配線長を同一にした状態を示す。ここで、図12の(a)におけるレイアウト領域r内の中程度の濃さのハッチを付与したセルDが、探索したECO−DOTセルの位置にあるセルであることを示す。   The layout area r shown in FIG. 12A searches the layout area r shown in FIG. 11A for the position where the ECO-DOT cell D is arranged, and the ECO cells C1 to C4 to the ECO-DOT cell D. The state in which the wiring length is the same is shown. Here, it is shown that a cell D to which a medium dark hatching in the layout region r in FIG. 12A is a cell at the position of the searched ECO-DOT cell.

ECO−DOTセルDを配置する位置の探索例を示す。まず、CAD装置101は、ECOセルC1〜C4の配置位置と出力セルBの配置位置との中間地点の位置を算出する。また、CAD装置101は、ECOセルC1〜C4のいずれか1つの配置位置と、出力セルBの配置位置との中間地点の位置を算出してもよい。また、CAD装置101は、ECOセルC1〜C4の中間地点を算出した後、算出した中間地点と、出力セルBの配置位置との中間地点の位置を算出してもよい。そして、CAD装置101は、算出した中間位置から最も近いECOバルクセルの位置を、ECO−DOTセルDを配置する位置として決定する。   The example of a search of the position which arrange | positions the ECO-DOT cell D is shown. First, the CAD apparatus 101 calculates the position of an intermediate point between the arrangement position of the ECO cells C1 to C4 and the arrangement position of the output cell B. The CAD apparatus 101 may calculate the position of an intermediate point between any one of the ECO cells C1 to C4 and the output cell B. The CAD apparatus 101 may calculate the position of the intermediate point between the calculated intermediate point and the arrangement position of the output cell B after calculating the intermediate point of the ECO cells C1 to C4. Then, the CAD apparatus 101 determines the position of the ECO bulk cell that is closest to the calculated intermediate position as the position where the ECO-DOT cell D is disposed.

また、ECOセルC1〜C4とECO−DOTセルDとの配線長を同一にする方法の一例を示す。まず、CAD装置101は、ネットC1_D、ネットC2_D、ネットC3_D、ネットC4_Dの各ネットを最短で接続した場合に、配線長が最も長いネットを特定する。そして、CAD装置101は、配線長が最も長いネット以外のネットの配線長を、配線長が最も長いネットの配線長と同一になるように、最短ではなく迂回するように設定する。   In addition, an example of a method for making the wiring lengths of the ECO cells C1 to C4 and the ECO-DOT cell D the same is shown. First, the CAD device 101 identifies a net having the longest wiring length when the nets C1_D, C2_D, net C3_D, and net C4_D are connected in the shortest. Then, the CAD apparatus 101 sets the wiring length of the net other than the net having the longest wiring length so as to make a detour instead of the shortest so as to be the same as the wiring length of the net having the longest wiring length.

図12の(b)は、図12の(a)におけるレイアウト領域r内の入力セルAとECOセルC1〜C4と、ECO−DOTセルDとを有するネットリストnを模式的に示したものである。図12の(b)で示すネットリストnは、入力セルAとECOセルC1〜C4とがそれぞれ接続されており、ECOセルC1〜C4とECO−DOTセルDとがそれぞれ接続されていることを示す。   FIG. 12B schematically shows a netlist n having an input cell A, ECO cells C1 to C4, and an ECO-DOT cell D in the layout region r in FIG. is there. The netlist n shown in FIG. 12B shows that the input cell A and the ECO cells C1 to C4 are connected to each other, and the ECO cells C1 to C4 and the ECO-DOT cell D are connected to each other. Show.

図12の(a)と図12の(b)とで示したように、ECO−DOTセルDを配置することにより、ECOセルC1〜C4−ECO−DOTセルD間のネットが分けて定義されるため、それぞれのネットの配線長を指定できるようになる。   As shown in FIG. 12A and FIG. 12B, by arranging the ECO-DOT cells D, the nets between the ECO cells C1 to C4-ECO-DOT cells D are defined separately. Therefore, the wiring length of each net can be specified.

図13は、ECO−DOTセルDから出力セルBへの接続例を示す説明図である。図13では、ECO−DOTセルDを配置した後、CAD装置101が、ECO−DOTセルDと、出力セルBとを接続するまでを説明する。   FIG. 13 is an explanatory diagram showing a connection example from the ECO-DOT cell D to the output cell B. In FIG. 13, after the ECO-DOT cell D is arranged, the CAD device 101 will be described until the ECO-DOT cell D and the output cell B are connected.

図13の(a)に示すレイアウト領域rは、図12の(a)に示すレイアウト領域rから、ECO−DOTセルDと、出力セルBとを接続した状態を示す。図13の(b)は、図13の(a)におけるレイアウト領域r内の入力セルAとECOセルC1〜C4と、ECO−DOTセルDと出力セルBとを有するネットリストnを模式的に示したものである。   A layout region r shown in FIG. 13A shows a state where the ECO-DOT cell D and the output cell B are connected from the layout region r shown in FIG. FIG. 13B schematically shows a netlist n having an input cell A, ECO cells C1 to C4, an ECO-DOT cell D, and an output cell B in the layout region r in FIG. It is shown.

図10〜図13で示した処理の終了後、CAD装置101は、ECOセルCを配置する位置と、ECO−DOTセルDを配置する位置とが適切か否かを判断する。適切か否かの具体的な判断基準については、図15で後述する。ECOセルCを配置する位置と、ECO−DOTセルDを配置する位置とが適切であれば、CAD装置101は、タイミング解析を行う。一方、ECOセルCを配置する位置と、ECO−DOTセルDを配置する位置とが適切でなければ、CAD装置101は、ECOセルを配置する位置と、ECO−DOTセルDを配置する位置とを探索し直す。   10 to 13, the CAD apparatus 101 determines whether the position where the ECO cell C is disposed and the position where the ECO-DOT cell D is disposed are appropriate. Specific criteria for determining whether or not it is appropriate will be described later with reference to FIG. If the position where the ECO cell C is arranged and the position where the ECO-DOT cell D is arranged are appropriate, the CAD apparatus 101 performs timing analysis. On the other hand, if the position where the ECO cell C is disposed and the position where the ECO-DOT cell D is disposed are not appropriate, the CAD apparatus 101 includes a position where the ECO cell is disposed and a position where the ECO-DOT cell D is disposed. Search again.

また、図10〜図13では、ECOセルCを配置する位置を探索した後に、ECO−DOTセルDを配置する位置を探索したが、先にECO−DOTセルDを配置する位置を探索してもよい。先にECO−DOTセルDを配置する位置を探索する方法としては、例えば、CAD装置101は、出力セルBに最も近いECOバルクセルの位置を、ECO−DOTセルDを配置する位置にする。次に、CAD装置101は、入力セルAの位置とECO−DOTセルDを配置する位置との中間地点から最も近いECOバルクセルの位置を、ECOセルCを配置する位置とする。続けて、CAD装置101は、ECO−DOTセルを配置する位置と入力セルAとの中間位置から最も近いECOバルクセルの位置を探索し、中間位置から最も近いECOバルクセルの位置から近いECOバルクセルから順に、ECOセルCを配置する位置にする。   10 to 13, after searching for the position where the ECO cell C is arranged, the position where the ECO-DOT cell D is arranged is searched. However, the position where the ECO-DOT cell D is arranged is searched first. Also good. As a method for searching for the position where the ECO-DOT cell D is first arranged, for example, the CAD apparatus 101 sets the position of the ECO bulk cell closest to the output cell B as the position where the ECO-DOT cell D is arranged. Next, the CAD apparatus 101 sets the position of the ECO bulk cell closest to the midpoint between the position of the input cell A and the position where the ECO-DOT cell D is disposed as the position where the ECO cell C is disposed. Subsequently, the CAD apparatus 101 searches for the position of the ECO bulk cell that is closest from the intermediate position between the position where the ECO-DOT cell is placed and the input cell A, and sequentially from the ECO bulk cell that is closest to the position of the ECO bulk cell from the intermediate position. , ECO cell C is located.

なお、図10〜図13で示したレイアウト領域rは、入力セルAの位置と出力セルBの位置とを頂点とする矩形を含むものである。そして、入力セルAとECOセルC1〜C4との配線、ECOセルC1〜C4とECO−DOTセルDとの配線、ECO−DOTセルDと出力セルBとの配線は、レイアウト領域r内であって、前述の矩形の外側に存在してもよい。また、ECOセルやECO−DOTセルを配置するECOバルクセルは、レイアウト領域r内であって、前述の矩形の外側に存在するものでもよい。ただし、ECOセルCやECO−DOTセルDの位置を探索する際には、配線長を短くすることを図るために、前述の矩の中にあるECOバルクセルを優先して探索してもよい。   The layout region r shown in FIGS. 10 to 13 includes a rectangle having apexes of the position of the input cell A and the position of the output cell B. The wiring between the input cell A and the ECO cells C1 to C4, the wiring between the ECO cells C1 to C4 and the ECO-DOT cell D, and the wiring between the ECO-DOT cell D and the output cell B are within the layout region r. Thus, it may exist outside the aforementioned rectangle. In addition, the ECO bulk cell in which the ECO cell and the ECO-DOT cell are arranged may be present in the layout region r and outside the above-described rectangle. However, when searching for the position of the ECO cell C or the ECO-DOT cell D, the ECO bulk cell in the above-mentioned rectangle may be preferentially searched in order to shorten the wiring length.

次に、図14と図15とを用いて、CAD装置101が実行するレイアウト処理手順のフローチャートについて説明する。   Next, a flowchart of a layout processing procedure executed by the CAD apparatus 101 will be described with reference to FIGS. 14 and 15.

図14は、レイアウト処理手順の一例を示すフローチャートである。レイアウト処理は、RTLで記述された設計対象回路のデザインデータから、ネットリストとレイアウトデータを出力する処理である。   FIG. 14 is a flowchart illustrating an example of a layout processing procedure. The layout process is a process for outputting a net list and layout data from the design data of the design target circuit described in RTL.

CAD装置101は、設計対象回路のデザインデータと、設計対象回路が遵守すべき制約条件とライブラリとを用いて、論理合成を行う(ステップS1401)。ステップS1401の処理により、CAD装置101は、ネットリストを得る。次に、CAD装置101は、P&R ECO処理を実行する(ステップS1402)。P&R ECO処理については、図15で後述する。   The CAD apparatus 101 performs logic synthesis using the design data of the circuit to be designed, the constraint conditions that the design object circuit should comply with, and the library (step S1401). Through the processing in step S1401, the CAD apparatus 101 obtains a net list. Next, the CAD device 101 executes P & R ECO processing (step S1402). The P & R ECO process will be described later with reference to FIG.

そして、CAD装置101は、P&R ECO処理を行ったネットリストに対して、タイミング解析を行う(ステップS1403)。ステップS1403の処理により、CAD装置101は、タイミング解析結果と、レイアウトデータを得る。   Then, the CAD device 101 performs timing analysis on the net list that has been subjected to the P & R ECO process (step S1403). Through the processing in step S1403, the CAD apparatus 101 obtains a timing analysis result and layout data.

次に、CAD装置101は、ECOセルの挿入が要求されたか否かを判断する(ステップS1404)。具体的には、CAD装置101は、タイミング解析結果が、Max_capエラーや、Max_tranエラーである場合、ECOセルの挿入が要求されたと判断する。   Next, the CAD device 101 determines whether or not insertion of an ECO cell has been requested (step S1404). Specifically, if the timing analysis result is a Max_cap error or a Max_tran error, the CAD apparatus 101 determines that insertion of an ECO cell has been requested.

ECOセルの挿入が要求された場合(ステップS1404:Yes)、CAD装置101は、CAD装置101の利用者によってECOセルを挿入するように書き換えられたネットリストを受け付ける(ステップS1405)。そして、CAD装置101は、ステップS1402の処理に移行する。   When insertion of an ECO cell is requested (step S1404: Yes), the CAD device 101 receives a netlist rewritten to insert an ECO cell by a user of the CAD device 101 (step S1405). Then, the CAD apparatus 101 proceeds to the process of step S1402.

一方、ECOセルの挿入が要求されていない場合(ステップS1404:No)、CAD装置101は、レイアウト処理を終了する。レイアウト処理を実行することにより、CAD装置101は、自動レイアウトを行うことができる。   On the other hand, if the insertion of the ECO cell is not requested (step S1404: No), the CAD device 101 ends the layout process. By executing the layout process, the CAD apparatus 101 can perform automatic layout.

図15は、P&R ECO処理手順の一例を示すフローチャートである。P&R ECO処理は、配置配線を行い、ECOを行う処理である。   FIG. 15 is a flowchart illustrating an example of the P & R ECO processing procedure. The P & R ECO process is a process of performing placement and routing and performing ECO.

CAD装置101は、レイアウトデータに基づいて、複数のECOセルCを配置する候補として、入力セルAと、出力セルBとの間の中間位置にあるECOバルクセルを探索する(ステップS1501)。次に、CAD装置101は、レイアウトデータに基づいて、ECO−DOTセルの配置位置の候補として、複数のECOセルCと出力セルBとの間の中間位置からECOバルクセルを探索する(ステップS1502)。   Based on the layout data, the CAD apparatus 101 searches for an ECO bulk cell at an intermediate position between the input cell A and the output cell B as a candidate for arranging a plurality of ECO cells C (step S1501). Next, based on the layout data, the CAD apparatus 101 searches for an ECO bulk cell from an intermediate position between the plurality of ECO cells C and the output cell B as a candidate for an ECO-DOT cell arrangement position (step S1502). .

そして、CAD装置101は、複数のECOセルCを配置する位置と、ECO−DOTセルDを配置する位置とが適切か否かを判断する(ステップS1503)。具体的には、CAD装置101は、下記(1)式と(2)式とがともに満たされる場合に、複数のECOセルCを配置する位置と、ECO−DOTセルDを配置する位置とが適切であると判断する。(1)式および(2)式において、Max_capは、最大の負荷容量を示す。   Then, the CAD apparatus 101 determines whether or not the position where the plurality of ECO cells C are arranged and the position where the ECO-DOT cell D is arranged are appropriate (step S1503). Specifically, the CAD apparatus 101 has a position where a plurality of ECO cells C and a position where an ECO-DOT cell D are arranged when both the following expressions (1) and (2) are satisfied. Judge that it is appropriate. In the equations (1) and (2), Max_cap represents the maximum load capacity.

入力セルAのMax_cap≧(入力セルAと複数のECOセルCとの間の配線負荷+複数のECOセルCの入力容量) …(1)
複数のECOセルCのMax_capの合計≧(複数のECOセルCの各々のECOセルとECO−DOTセルDとの間の配線負荷のうちの最大値)×ECOセルCの個数+ECO−DOTセルDの配線固定容量+ECO−DOTセルDと出力セルBとの間の配線負荷+出力セルBの入力容量 …(2)
Max_cap of input cell A ≧ (wiring load between input cell A and a plurality of ECO cells C + input capacities of a plurality of ECO cells C) (1)
Sum of Max_cap of a plurality of ECO cells C ≧ (maximum value of wiring load between each ECO cell and ECO-DOT cell D of the plurality of ECO cells C) × number of ECO cells C + ECO-DOT cell D Wiring fixed capacity + wiring load between ECO-DOT cell D and output cell B + input capacity of output cell B (2)

複数のECOセルCを配置する位置と、ECO−DOTセルDを配置する位置とが適切である場合(ステップS1503:Yes)、CAD装置101は、探索した位置で、ECOセルCとECO−DOTセルDとの位置を決定する(ステップS1504)。次に、CAD装置101は、入力セルAと複数のECOセルCとのネットを等長配線に設定する(ステップS1505)。さらに、CAD装置101は、複数のECOセルCとECO−DOTセルDとのネットを等長配線に設定する(ステップS1506)。ステップS1506の処理終了後、CAD装置101は、P&R ECO処理を終了する。   When the position where the plurality of ECO cells C are arranged and the position where the ECO-DOT cell D is arranged are appropriate (step S1503: Yes), the CAD apparatus 101 is the searched position, and the ECO cell C and the ECO-DOT. The position with the cell D is determined (step S1504). Next, the CAD device 101 sets the net of the input cell A and the plurality of ECO cells C to the equal length wiring (step S1505). Further, the CAD device 101 sets the nets of the plurality of ECO cells C and ECO-DOT cells D to the equal length wiring (step S1506). After the process of step S1506 ends, the CAD device 101 ends the P & R ECO process.

一方、複数のECOセルCを配置する位置と、ECO−DOTセルDを配置する位置とが適切でない場合(ステップS1503:No)、CAD装置101は、ステップS1501の処理に移行する。再びステップS1501の処理を行う際には、CAD装置101は、適切でないと判断した複数のECOセルCを配置する位置とECO−DOTセルDを配置する位置との組み合わせを除いて探索する。P&R ECO処理を実行することにより、CAD装置101は、ECOセルを並列に配置した状態でも、1つのECOセルの複数倍の駆動能力を得ることができるECOセルおよびECO−DOTセルの配置位置を取得することができる。   On the other hand, when the position where the plurality of ECO cells C are arranged and the position where the ECO-DOT cell D is arranged are not appropriate (step S1503: No), the CAD apparatus 101 proceeds to the process of step S1501. When the process of step S1501 is performed again, the CAD apparatus 101 searches for a combination except for a combination of a position where a plurality of ECO cells C determined to be inappropriate and a position where an ECO-DOT cell D is arranged. By executing the P & R ECO process, the CAD apparatus 101 can change the placement positions of the ECO cell and the ECO-DOT cell that can obtain a drive capability multiple of one ECO cell even when the ECO cells are placed in parallel. Can be acquired.

ここで、図15に示したP&R ECO処理は、ステップS1404がYesとなることにより複数回実行される。具体的には、例えば、CAD装置101は、1回目のP&R ECO処理において、4つのECOセルCを配置する。そして、ステップS1404がYesとなった場合、CAD装置101は、ステップS1403のタイミング解析により、さらに何個のECOセルCがあればよいかという情報を出力する。CAD装置101の利用者は、出力された情報に従った個数分のECOセルCを追加するようにネットリストを編集する。   Here, the P & R ECO process shown in FIG. 15 is executed a plurality of times when Step S1404 becomes Yes. Specifically, for example, the CAD apparatus 101 arranges four ECO cells C in the first P & R ECO process. When step S1404 becomes Yes, the CAD apparatus 101 outputs information indicating how many ECO cells C are required by the timing analysis of step S1403. The user of the CAD apparatus 101 edits the net list so as to add the number of ECO cells C according to the output information.

例えば、CAD装置101は、タイミング解析により、さらに2個のECOセルCがあればよいという情報を出力したとする。この場合、CAD装置101は、ステップS1405の処理により、CAD装置101の利用者によってECOセルCが2個追加されたネットリストを受け付ける。そして、CAD装置101は、図15に示したP&R ECO処理を再び行う。このとき、CAD装置101は、ステップS1501の処理において、例えば、4つのECOセルCとECO−DOTセルDとの位置をそのままにして、追加された2つのECOセルCの位置を探索する。   For example, it is assumed that the CAD apparatus 101 outputs information indicating that two more ECO cells C are required by timing analysis. In this case, the CAD apparatus 101 accepts a netlist in which two ECO cells C are added by the user of the CAD apparatus 101 by the process of step S1405. Then, the CAD apparatus 101 performs the P & R ECO process shown in FIG. 15 again. At this time, in the process of step S1501, for example, the CAD device 101 searches the positions of the two added ECO cells C while keeping the positions of the four ECO cells C and the ECO-DOT cells D as they are.

以上説明したように、CAD装置101によれば、複数のECOセルCを配置して駆動能力を補う際、複数の入力端子と出力端子を等長配線したECO−DOTセルDを配置し、各入力端子と各バッファをそれぞれ等長配線する。これにより、1つのECOセルCが有する駆動能力の複数倍の駆動能力を、複数のECOセルCを連続して配置する領域を確保しなくても得ることができる。そして、CAD装置101は、既存のレイアウトツールにより、複数のECOセルCを連続して配置した際と同等の駆動能力を得られる自動配線を行える。従って、CAD装置101の利用者は、ECOセルCを連続配置するようにレイアウトを修正しなくてもよくなり、設計作業を効率化することができる。   As described above, according to the CAD apparatus 101, when the plurality of ECO cells C are arranged to supplement the driving capability, the ECO-DOT cells D in which the plurality of input terminals and the output terminals are wired at the same length are arranged, The input terminal and each buffer are wired in equal length. As a result, it is possible to obtain a driving capability multiple times the driving capability of one ECO cell C without securing a region in which the plurality of ECO cells C are continuously arranged. The CAD device 101 can perform automatic wiring with an existing layout tool that can obtain the same driving ability as when a plurality of ECO cells C are continuously arranged. Therefore, the user of the CAD apparatus 101 does not need to modify the layout so that the ECO cells C are continuously arranged, and the design work can be made efficient.

また、CAD装置101によれば、レイアウト領域内に、入力セルAおよび出力セルBの配置位置に基づいて、複数のECOセルCとECO−DOTセルDとを配置してもよい。これにより、CAD装置101は、設計作業を効率化するとともに、ECOセルCとECO−DOTセルDとをランダムに配置することに比較して配線長を短くすることを図ることができる。   Further, according to the CAD apparatus 101, a plurality of ECO cells C and ECO-DOT cells D may be arranged in the layout area based on the arrangement positions of the input cell A and the output cell B. As a result, the CAD apparatus 101 can improve the efficiency of design work, and can shorten the wiring length as compared with the case where the ECO cell C and the ECO-DOT cell D are randomly arranged.

また、CAD装置101によれば、レイアウト領域内に、入力セルAおよび出力セルBの配置位置に基づいて複数のECOセルCを配置し、配置した複数のECOセルCおよび出力セルBの配置位置に基づいて、ECO−DOTセルDを配置してもよい。これにより、CAD装置101は、設計作業を効率化するとともに、ネットA_C、ネットC_D、ネットD_Bの配線長が長くなることを抑制することができる。   Also, according to the CAD apparatus 101, a plurality of ECO cells C are arranged in the layout area based on the arrangement positions of the input cells A and output cells B, and the arrangement positions of the arranged plurality of ECO cells C and output cells B are arranged. The ECO-DOT cell D may be arranged based on the above. As a result, the CAD apparatus 101 can improve the efficiency of the design work and suppress the increase in the wiring length of the net A_C, the net C_D, and the net D_B.

例えば、ECO−DOTセルDを先に配置した後、複数のECOセルCを配置するとする。この場合、ネットA_Cの配線長とネットC_Dとの配線長とが長くなることを抑制するには、入力セルAの配置位置とECO−DOTセルDの配置位置とを頂点とする矩形内のECOバルクセルから複数のECOセルを配置することが好ましい。   For example, it is assumed that a plurality of ECO cells C are disposed after the ECO-DOT cell D is disposed first. In this case, in order to prevent the wiring length of the net A_C and the wiring length of the net C_D from becoming long, the ECO in a rectangle whose apex is the arrangement position of the input cell A and the arrangement position of the ECO-DOT cell D is used. Preferably, a plurality of ECO cells are arranged from the bulk cell.

しかしながら、前述の矩形に含まれるECOバルクセルの個数が、配置しようとするECOセルの数より少ないと、前述の矩形の外側に存在するECOバルクセルに、ECOセルを配置することになる。前述の矩形の外側に存在するECOバルクセルの位置にECOセルを配置すると、ネットA_Cとの配線長とネットC_Dの配線長とが長くなってしまう。   However, if the number of ECO bulk cells included in the rectangle is smaller than the number of ECO cells to be arranged, the ECO cells are arranged in the ECO bulk cells existing outside the rectangle. If the ECO cell is arranged at the position of the ECO bulk cell existing outside the aforementioned rectangle, the wiring length with the net A_C and the wiring length with the net C_D become long.

これに対し、ECOセルCを配置した後に、ECO−DOTセルDを配置するとする。この場合、ネットC_Dの配線長とネットD_Bとの配線長とが長くなることを抑制するには、ECOセルCのいずれか一つの配置位置と出力セルBの配置位置とを頂点とする矩形内のECOバルクセルからECO−DOTセルDを配置することが好ましい。そして、ECO−DOTセルDは一つだけ配置するため、前述の矩形に含まれるECOバルクセルの個数が1以上であれば、ネットC_Dの配線長とネットD_Bとの配線長とが長くなることを抑制することができる。   In contrast, it is assumed that the ECO-DOT cell D is disposed after the ECO cell C is disposed. In this case, in order to suppress an increase in the wiring length of the net C_D and the wiring length of the net D_B, a rectangular interior having any one of the ECO cell C and the output cell B as a vertex is used. It is preferable to arrange the ECO-DOT cell D from the ECO bulk cell. Since only one ECO-DOT cell D is arranged, if the number of ECO bulk cells contained in the rectangle is 1 or more, the wiring length of the net C_D and the wiring length of the net D_B are increased. Can be suppressed.

また、CAD装置101によれば、入力セルAの配置位置と出力セルBの配置位置との中間地点に基づいて、複数のECOセルCを配置してもよい。これにより、CAD装置101は、入力セルAおよび出力セルBの配置位置を頂点とする矩形内のECOバルクセルからランダムに複数のECOセルCを配置することと比較して、ネットA_C、C_D、D_Bの各配線長を短くすることを図ることができる。   Further, according to the CAD apparatus 101, a plurality of ECO cells C may be arranged based on an intermediate point between the arrangement position of the input cell A and the arrangement position of the output cell B. As a result, the CAD apparatus 101 has nets A_C, C_D, and D_B as compared with the case where a plurality of ECO cells C are randomly arranged from the ECO bulk cells in the rectangle whose apexes are the arrangement positions of the input cells A and the output cells B. It is possible to shorten each wiring length.

また、CAD装置101によれば、配置した複数のECOセルCのうちのいずれかのECOセルの配置位置と出力セルBの配置位置との中間地点に基づいて、ECO−DOTセルDを配置してもよい。これにより、CAD装置101は、入力セルAおよび出力セルBの配置位置を頂点とする矩形内のECOバルクセルからランダムにECO−DOTセルDを配置することと比較して、ネットC_D、D_Bの各配線長を短くすることを図ることができる。   Further, according to the CAD apparatus 101, the ECO-DOT cell D is arranged based on an intermediate point between the arrangement position of any one of the plurality of arranged ECO cells C and the arrangement position of the output cell B. May be. As a result, the CAD apparatus 101 compares each of the nets C_D and D_B with respect to each of the nets C_D and D_B in comparison with the random arrangement of the ECO-DOT cells D from the ECO bulk cells in the rectangle whose apexes are the arrangement positions of the input cells A and output cells B It is possible to shorten the wiring length.

また、本実施の形態にかかるECO−DOTセルDは、複数の入力端子に入力された値の論理和を出力してもよい。図4において、ECO−DOTセルD内の複数の入力端子から出力端子までの配線長は、貫通電流等が発生しない範囲でずれてもよいことを説明した。従って、出力端子に到達する際の入力端子の値の変化のタイミングは、貫通電流等が発生しない範囲でずれがあってもよい。そして、複数の入力端子に入力された値の論理和を出力することにより、複数の入力端子のうちのいずれか一つの入力端子の値の変化によって出力端子の値が変化することになる。従って、ECO−DOTセルDの論理回路として論理積を採用するより論理和を採用した方が、信号の伝達速度を向上することができる。   Further, the ECO-DOT cell D according to the present embodiment may output a logical sum of values input to a plurality of input terminals. In FIG. 4, it has been explained that the wiring length from the plurality of input terminals to the output terminal in the ECO-DOT cell D may be shifted within a range where no through current or the like is generated. Therefore, the timing of the change of the value of the input terminal when reaching the output terminal may vary within a range where no through current or the like is generated. Then, by outputting the logical sum of the values input to the plurality of input terminals, the value of the output terminal changes due to the change of the value of any one of the plurality of input terminals. Therefore, the signal transmission speed can be improved by adopting the logical sum as the logical circuit of the ECO-DOT cell D rather than the logical product.

なお、本実施の形態で説明したレイアウト方法は、予め用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本レイアウト方法を実行するプログラムは、ハードディスク、フレキシブルディスク、CD−ROM(Compact Disc−Read Only Memory)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本レイアウト方法を実行するプログラムは、インターネット等のネットワークを介して配布してもよい。   The layout method described in the present embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation. A program for executing this layout method is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM (Compact Disc-Read Only Memory), a DVD (Digital Versatile Disk), and the like. It is executed by being read. A program for executing this layout method may be distributed through a network such as the Internet.

また、本実施の形態で説明したECO−DOTセルDは、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。   In addition, the ECO-DOT cell D described in the present embodiment is a special purpose IC such as a standard cell or a structured ASIC (Application Specific Integrated Circuit) (hereinafter simply referred to as “ASIC”) or a PLD (such as an FPGA). It can also be realized by Programmable Logic Device).

上述した実施の形態に関し、さらに以下の付記を開示する。   The following additional notes are disclosed with respect to the embodiment described above.

(付記1)複数の入力端子と、前記複数の入力端子の各々から同一の長さの配線によって接続された出力端子と、を有するセルと、複数のバッファとを、設計対象回路のレイアウトデータに基づいて、前記設計対象回路のレイアウト領域内に配置し、配置した前記複数のバッファの各々の出力端子と前記セルの前記複数の入力端子とを、同一の長さの配線によってそれぞれ接続する、
制御部を有することを特徴とするCAD装置。
(Supplementary Note 1) A cell having a plurality of input terminals and an output terminal connected from each of the plurality of input terminals by a wire having the same length, and a plurality of buffers are used as layout data of the circuit to be designed. Based on the layout of the circuit to be designed, each output terminal of the plurality of buffers arranged and the plurality of input terminals of the cell are respectively connected by wires of the same length,
A CAD apparatus comprising a control unit.

(付記2)前記制御部は、
前記レイアウト領域内に、前記複数のバッファの入力端子に出力端子が接続される入力セルの配置位置および前記セルの出力端子が入力端子に接続される出力セルの配置位置に基づいて、前記セルと、前記複数のバッファとを配置することを特徴とする付記1に記載のCAD装置。
(Appendix 2) The control unit
In the layout region, based on an arrangement position of an input cell in which an output terminal is connected to an input terminal of the plurality of buffers and an arrangement position of an output cell in which an output terminal of the cell is connected to the input terminal, The CAD device according to appendix 1, wherein the plurality of buffers are arranged.

(付記3)前記制御部は、
前記レイアウト領域内に、前記複数のバッファの入力端子に出力端子が接続される入力セルの配置位置および前記セルの出力端子が入力端子に接続される出力セルの配置位置に基づいて、前記複数のバッファを配置し、
前記レイアウト領域内に、配置した前記複数のバッファの配置位置と前記出力セルの配置位置とに基づいて、前記セルを配置することを特徴とする付記1に記載のCAD装置。
(Appendix 3) The control unit
In the layout region, the plurality of buffers are arranged on the basis of an arrangement position of an input cell in which an output terminal is connected to an input terminal of the plurality of buffers and an arrangement position of an output cell in which the output terminal of the cell is connected to an input terminal. Place the buffer,
The CAD device according to appendix 1, wherein the cells are arranged in the layout area based on the arrangement positions of the plurality of buffers arranged and the arrangement positions of the output cells.

(付記4)前記制御部は、
前記レイアウト領域内に、前記入力セルの配置位置と前記出力セルの配置位置との中間地点に基づいて、前記複数のバッファを配置することを特徴とする付記2または3に記載のCAD装置。
(Appendix 4) The control unit
The CAD device according to appendix 2 or 3, wherein the plurality of buffers are arranged in the layout area based on an intermediate point between the arrangement position of the input cell and the arrangement position of the output cell.

(付記5)前記制御部は、
前記レイアウト領域内に、配置した前記複数のバッファのうちのいずれかのバッファの配置位置と前記出力セルの配置位置との中間地点に基づいて、前記セルを配置することを特徴とする付記2〜4のいずれか一つに記載のCAD装置。
(Supplementary Note 5) The control unit
The cell is arranged in the layout area based on an intermediate point between the arrangement position of any one of the plurality of buffers arranged and the arrangement position of the output cell. 5. The CAD device according to any one of 4.

(付記6)前記セルの出力端子は、前記複数の入力端子に入力された値の論理和を出力することを特徴とする付記2〜5のいずれか一つに記載のCAD装置。 (Supplementary note 6) The CAD device according to any one of Supplementary notes 2 to 5, wherein an output terminal of the cell outputs a logical sum of values inputted to the plurality of input terminals.

(付記7)前記制御部は、
前記レイアウトデータに基づいて、前記セルの出力端子と前記出力セルの入力端子とを接続するとともに、前記入力セルの出力端子と前記複数のバッファの入力端子とを同一の長さの配線によって接続することを特徴とする付記2〜6のいずれか一つに記載のCAD装置。
(Appendix 7) The control unit
Based on the layout data, the output terminal of the cell and the input terminal of the output cell are connected, and the output terminal of the input cell and the input terminals of the plurality of buffers are connected by wires of the same length. The CAD device according to any one of appendices 2 to 6, characterized in that:

(付記8)複数の入力端子と、
前記複数の入力端子の各々から同一の長さの配線によって接続された出力端子と、を有し、
前記複数の入力端子の各々と、同一の長さの配線によって複数のバッファの各々の出力端子とが、それぞれ接続されることを特徴とするセル。
(Appendix 8) a plurality of input terminals;
An output terminal connected by a wire of the same length from each of the plurality of input terminals,
A cell characterized in that each of the plurality of input terminals and each output terminal of the plurality of buffers are connected to each other by a wiring having the same length.

(付記9)コンピュータが、
複数の入力端子と、前記複数の入力端子の各々から同一の長さの配線によって接続された出力端子と、を有するセルと、複数のバッファとを、設計対象回路のレイアウトデータに基づいて、前記設計対象回路のレイアウト領域内に配置し、配置した前記複数のバッファの各々の出力端子と前記セルの前記複数の入力端子の各々とを、同一の長さの配線によってそれぞれ接続する、
処理を実行することを特徴とするレイアウト方法。
(Supplementary note 9)
Based on the layout data of the circuit to be designed, a plurality of input terminals, a cell having a plurality of input terminals, and an output terminal connected by a wiring having the same length from each of the plurality of input terminals, and a plurality of buffers, Arranged in the layout area of the circuit to be designed, each of the arranged plurality of buffers and each of the plurality of input terminals of the cell are respectively connected by wires of the same length,
A layout method characterized by executing processing.

(付記10)コンピュータに、
複数の入力端子と、前記複数の入力端子の各々から同一の長さの配線によって接続された出力端子と、を有するセルと、複数のバッファとを、設計対象回路のレイアウトデータに基づいて、前記設計対象回路のレイアウト領域内に配置し、配置した前記複数のバッファの各々の出力端子と前記セルの前記複数の入力端子の各々とを、同一の長さの配線によってそれぞれ接続する、
処理を実行させることを特徴とするレイアウトプログラム。
(Appendix 10)
Based on the layout data of the circuit to be designed, a plurality of input terminals, a cell having a plurality of input terminals, and an output terminal connected by a wiring having the same length from each of the plurality of input terminals, and a plurality of buffers, Arranged in the layout area of the circuit to be designed, each of the arranged plurality of buffers and each of the plurality of input terminals of the cell are respectively connected by wires of the same length,
A layout program characterized by causing a process to be executed.

A 入力セル
B 出力セル
C1〜C4 ECOセル
D ECO−DOTセル
I1〜I4 入力端子
Y 出力端子
101 CAD装置
700 制御部
701 配置部
702 接続部
A input cell B output cell C1 to C4 ECO cell D ECO-DOT cell I1 to I4 input terminal Y output terminal 101 CAD device 700 control unit 701 arrangement unit 702 connection unit

Claims (9)

複数の入力端子と、前記複数の入力端子の各々から同一の長さの配線によって接続された出力端子と、を有するセルと、複数のバッファとを、設計対象回路のレイアウトデータに基づいて、前記設計対象回路のレイアウト領域内に配置し、配置した前記複数のバッファの各々の出力端子と前記セルの前記複数の入力端子の各々とを、同一の長さの配線によってそれぞれ接続する、
制御部を有することを特徴とするCAD装置。
Based on the layout data of the circuit to be designed, a plurality of input terminals, a cell having a plurality of input terminals, and an output terminal connected by a wiring having the same length from each of the plurality of input terminals, and a plurality of buffers, Arranged in the layout area of the circuit to be designed, each of the arranged plurality of buffers and each of the plurality of input terminals of the cell are respectively connected by wires of the same length,
A CAD apparatus comprising a control unit.
前記制御部は、
前記レイアウト領域内に、前記複数のバッファの入力端子に出力端子が接続される入力セルの配置位置および前記セルの出力端子が入力端子に接続される出力セルの配置位置に基づいて、前記セルと、前記複数のバッファとを配置することを特徴とする請求項1に記載のCAD装置。
The controller is
In the layout region, based on an arrangement position of an input cell in which an output terminal is connected to an input terminal of the plurality of buffers and an arrangement position of an output cell in which an output terminal of the cell is connected to the input terminal, The CAD device according to claim 1, wherein the plurality of buffers are arranged.
前記制御部は、
前記レイアウト領域内に、前記複数のバッファの入力端子に出力端子が接続される入力セルの配置位置および前記セルの出力端子が入力端子が接続される出力セルの配置位置に基づいて、前記複数のバッファを配置し、
前記レイアウト領域内に、配置した前記複数のバッファの配置位置と前記出力セルの配置位置とに基づいて、前記セルを配置することを特徴とする請求項1に記載のCAD装置。
The controller is
In the layout region, based on the arrangement position of the input cell where the output terminal is connected to the input terminal of the plurality of buffers and the arrangement position of the output cell where the output terminal of the cell is connected to the input terminal, Place the buffer,
2. The CAD device according to claim 1, wherein the cells are arranged in the layout area based on the arrangement positions of the plurality of buffers arranged and the arrangement positions of the output cells.
前記制御部は、
前記レイアウト領域内に、前記入力セルの配置位置と前記出力セルの配置位置との中間地点に基づいて、前記複数のバッファを配置することを特徴とする請求項2または3に記載のCAD装置。
The controller is
4. The CAD device according to claim 2, wherein the plurality of buffers are arranged in the layout area based on an intermediate point between the arrangement position of the input cell and the arrangement position of the output cell.
前記制御部は、
前記レイアウト領域内に、配置した前記複数のバッファのうちのいずれかのバッファの配置位置と前記出力セルの配置位置との中間地点に基づいて、前記セルを配置することを特徴とする請求項2〜4のいずれか一つに記載のCAD装置。
The controller is
3. The cell is arranged in the layout area based on an intermediate point between an arrangement position of any one of the plurality of arranged buffers and an arrangement position of the output cell. The CAD apparatus as described in any one of -4.
前記セルの出力端子は、前記複数の入力端子に入力された値の論理和を出力することを特徴とする請求項2〜5のいずれか一つに記載のCAD装置。   The CAD device according to claim 2, wherein an output terminal of the cell outputs a logical sum of values input to the plurality of input terminals. 前記制御部は、
前記レイアウトデータに基づいて、前記セルの出力端子と前記出力セルの入力端子とを接続するとともに、前記入力セルの出力端子と前記複数のバッファの入力端子とを同一の長さの配線によって接続することを特徴とする請求項2〜6のいずれか一つに記載のCAD装置。
The controller is
Based on the layout data, the output terminal of the cell and the input terminal of the output cell are connected, and the output terminal of the input cell and the input terminals of the plurality of buffers are connected by wires of the same length. The CAD apparatus according to any one of claims 2 to 6, wherein
複数の入力端子と、
前記複数の入力端子の各々から同一の長さの配線によって接続された出力端子と、を有し、
前記複数の入力端子の各々と、同一の長さの配線によって複数のバッファの各々の出力端子とが、それぞれ接続されることを特徴とするセル。
Multiple input terminals,
An output terminal connected by a wire of the same length from each of the plurality of input terminals,
A cell characterized in that each of the plurality of input terminals and each output terminal of the plurality of buffers are connected to each other by a wiring having the same length.
コンピュータが、
複数の入力端子と、前記複数の入力端子の各々から同一の長さの配線によって接続された出力端子と、を有するセルと、複数のバッファとを、設計対象回路のレイアウトデータに基づいて、前記設計対象回路のレイアウト領域内に配置し、配置した前記複数のバッファの各々の出力端子と前記セルの前記複数の入力端子の各々とを、同一の長さの配線によってそれぞれ接続する、
処理を実行することを特徴とするレイアウト方法。
Computer
Based on the layout data of the circuit to be designed, a plurality of input terminals, a cell having a plurality of input terminals, and an output terminal connected by a wiring having the same length from each of the plurality of input terminals, and a plurality of buffers, Arranged in the layout area of the circuit to be designed, each of the arranged plurality of buffers and each of the plurality of input terminals of the cell are respectively connected by wires of the same length,
A layout method characterized by executing processing.
JP2014092559A 2014-04-28 2014-04-28 Cad device, cell and layout method Pending JP2015210703A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014092559A JP2015210703A (en) 2014-04-28 2014-04-28 Cad device, cell and layout method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014092559A JP2015210703A (en) 2014-04-28 2014-04-28 Cad device, cell and layout method

Publications (1)

Publication Number Publication Date
JP2015210703A true JP2015210703A (en) 2015-11-24

Family

ID=54612823

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014092559A Pending JP2015210703A (en) 2014-04-28 2014-04-28 Cad device, cell and layout method

Country Status (1)

Country Link
JP (1) JP2015210703A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111463170A (en) * 2020-04-01 2020-07-28 博流智能科技(南京)有限公司 Integrated circuit version control unit, control circuit and modification method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111463170A (en) * 2020-04-01 2020-07-28 博流智能科技(南京)有限公司 Integrated circuit version control unit, control circuit and modification method

Similar Documents

Publication Publication Date Title
US10418354B2 (en) Integrated circuit and computer-implemented method of manufacturing the same
US8782591B1 (en) Physically aware logic synthesis of integrated circuit designs
US9003344B2 (en) Generating pattern-based estimated RC data with analysis of route information
US20110145775A1 (en) Cell library, layout method, and layout apparatus
US20080072202A1 (en) Techniques for super fast buffer insertion
US6564362B2 (en) Method of designing a layout of an LSI chip, and a computer product
US11030383B2 (en) Integrated device and method of forming the same
US8621407B2 (en) Apparatus and method for supporting circuit design, and semiconductor integrated circuit
US20230351087A1 (en) Using machine trained network during routing to modify locations of vias in an ic design
JP2006323643A (en) Floor plan design program, floor plan design device, and design method of semiconductor integrated circuit
US20050283750A1 (en) Method and apparatus for designing a layout, and computer product
US9760669B2 (en) Congestion mitigation by wire ordering
US20160203254A1 (en) Methods for reducing congestion region in layout area of ic
US10977415B2 (en) Integrated device and method of forming the same
JP2015210703A (en) Cad device, cell and layout method
US8006208B2 (en) Reducing coupling between wires of an electronic circuit
US20180046744A1 (en) Systems and methods for cell abutment
US20150347644A1 (en) Designing apparatus and designing method
US20160171145A1 (en) Methods for minimizing layout area of ic
US8468488B1 (en) Methods of automatically placing and routing for timing improvement
US10719654B2 (en) Placement and timing aware wire tagging
US20080209368A1 (en) Layout design method, layout design apparatus, and computer product
Chen et al. Simultaneous placement with clustering and duplication
US8555232B2 (en) Wire routing using virtual landing pads
JP2000215224A (en) Device and method for generating and processing restriction for logical synthesis