(57)【要約】【課題】レイアウト設計において、複数のＩ／Ｏバッファセルを２列以上に配列する場合、Ｉ／Ｏバッファ領域の近傍にリピータを挿入する領域を確保し、手戻りをできるだけ抑えることができる、半導体集積回路設計支援装置、半導体集積回路設計方法およびプログラムを提供する。【解決手段】リピータを含まないフィルセル（ＦＣ）と、リピータを含むフィルセル（ＦＣＲ）とが用いられる。フィルセル（ＦＣ）は、同列で互いに隣接したＩ／Ｏバッファセル（Ｂｍ＝１、ｎ、Ｂｍ＝１、ｎ＋１など）間に配置される。なお、複数のＩ／Ｏバッファセルは、２列に配置されている。Ｉ／Ｏバッファセルからプリミティブセルまでの配線長に基づいて、すでに配置されているフィルセル（ＦＣ）が、リピータを含むフィルセル（ＦＣＲ）に置換される。【選択図】図１０
2013038366.tif 000002
【特許請求の範囲】
【請求項１】
複数のＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ／Ｂｉｄｉｒｅｃｔｉｏｎ）バッファセルを、複数のセルを備える内部セル領域内の対応するセルに仮接続する仮処理部と、
前記仮処理部の処理結果に基づいて、前記複数のＩ／Ｏバッファセルを前記内部セル領域内の対応するセルに実接続する実処理部と、
を有し、
前記複数のＩ／Ｏバッファセルは、
前記内部セル領域の外側に位置するＩ／Ｏセル領域内において、前記内部セル領域の縁に沿ってＭ列（Ｍは２以上の整数）に配列されており、
前記複数のＩ／Ｏバッファセルの内、前記内部セル領域側から見てＬ列目（ＬはＭを超えない１以上の整数）に存在する第１のＩ／Ｏバッファセルと、
前記Ｌ列目において前記第１のＩ／Ｏバッファセルに隣接した第２のＩ／Ｏバッファセルと、
前記内部セル領域側から見て前記Ｌ列目よりも後列に存在する第３のＩ／Ｏバッファセルと、
を含み、
前記仮処理部は、
配線を含む第１のフィルセルを前記第１および前記第２のＩ／Ｏバッファセル間に配置する配置処理部と、
前記第１のフィルセル内の前記配線を介して、前記第３のＩ／Ｏバッファセルを対応するセルに仮接続する仮接続処理部と、
を有し、
前記実処理部は、
前記配置処理部によって前記第１および前記第２のＩ／Ｏバッファセル間に配置された前記第１のフィルセルを、前記第３のＩ／Ｏバッファセルから対応するセルまでの配線長に基づいて、前記配線に加え前記配線上に挿入されたリピータを更に含む第２のフィルセルに置換する置換処理部
を有する
半導体集積回路設計支援装置。
【請求項２】
前記実処理部は、
前記配線長を規定長と比較する比較処理部を更に有し、
前記置換処理部は、
前記比較処理部による比較の結果、前記配線長が前記規定長より長い場合に、前記配置処理部によって配置された前記第１のフィルセルを前記第２のフィルセルに置換する
請求項１に記載の半導体集積回路設計支援装置。
【請求項３】
前記置換処理部は、
前記第１のフィルセルを、前記第２のフィルセルの代りに前記配線に加え前記配線上に挿入されたリピータを含むプリミティブセルに置換する
請求項１または２に記載の半導体集積回路設計支援装置。
【請求項４】
複数のＩ／Ｏバッファセルを、複数のセルを備える内部セル領域内の対応するセルに仮接続する仮処理部と、
前記仮処理部の処理結果に基づいて、前記複数のＩ／Ｏバッファセルを前記内部セル領域内の対応するセルに実接続する実処理部と、
を有する半導体集積回路設計支援装置で用いられる半導体集積回路設計方法であって、
前記複数のＩ／Ｏバッファセルは、
前記内部セル領域の外側に位置するＩ／Ｏセル領域内において、前記内部セル領域の縁に沿ってＭ列（Ｍは２以上の整数）に配列されており、
前記複数のＩ／Ｏバッファセルの内、前記内部セル領域側から見てＬ列目（ＬはＭを超えない１以上の整数）に存在する第１のＩ／Ｏバッファセルと、
前記Ｌ列目において前記第１のＩ／Ｏバッファセルに隣接した第２のＩ／Ｏバッファセルと、
前記内部セル領域側から見て前記Ｌ列目よりも後列に存在する第３のＩ／Ｏバッファセルと、
を含み、
前記仮処理部が、
配線を含む第１のフィルセルを前記第１および前記第２のＩ／Ｏバッファセル間に配置するステップと、
前記第１のフィルセル内の前記配線を介して、前記第３のＩ／Ｏバッファセルを対応するセルに仮接続するステップと、
を有し、
前記実処理部が、
前記仮処理部によって前記第１および前記第２のＩ／Ｏバッファセル間に配置された前記第１のフィルセルを、前記第３のＩ／Ｏバッファセルから対応するセルまでの配線長に基づいて、前記配線に加え前記配線上に挿入されたリピータを含む第２のフィルセルに置換するステップ
を有する
半導体集積回路設計方法。
【請求項５】
複数のＩ／Ｏバッファセルを、複数のセルを備える内部セル領域内の対応するセルに仮接続する仮接続処理を実行する手順と、
前記仮処理部の処理結果に基づいて、前記複数のＩ／Ｏバッファセルを前記内部セル領域内の対応するセルに実接続する実接続処理を実行する手順と、
をコンピュータに実行させるプログラムであって、
前記複数のＩ／Ｏバッファセルは、
前記内部セル領域の外側に位置するＩ／Ｏセル領域内において、前記内部セル領域の縁に沿ってＭ列（Ｍは２以上の整数）に配列されており、
前記複数のＩ／Ｏバッファセルの内、前記内部セル領域側から見てＬ列目（ＬはＭを超えない１以上の整数）に存在する第１のＩ／Ｏバッファセルと、
前記Ｌ列目において前記第１のＩ／Ｏバッファセルに隣接した第２のＩ／Ｏバッファセルと、
前記内部セル領域側から見て前記Ｌ列目よりも後列に存在する第３のＩ／Ｏバッファセルと、
を含み、
前記仮接続処理を実行する手順では、
配線を含む第１のフィルセルを前記第１および前記第２のＩ／Ｏバッファセル間に配置し、
前記第１のフィルセル内の前記配線を介して、前記第３のＩ／Ｏバッファセルを対応するセルに仮接続し、
前記実接続処理を実行する手順では、
前記第１および前記第２のＩ／Ｏバッファセル間に配置した前記第１のフィルセルを、前記第３のＩ／Ｏバッファセルから対応するセルまでの配線長に基づいて、前記配線に加え前記配線上に挿入されたリピータを含む第２のフィルセルに置換する
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＳＩ（Large Scale Integration）などの半導体集積回路設計技術、特に、レイアウト設計技術に関する。
【背景技術】
【０００２】
システムＬＳＩの需要が年々高まっている。システムＬＳＩは、マイクロプロセッサ、メモリ、インターフェース回路など、様々な機能の半導体回路を１個の半導体チップに搭載したものである。多くの機能を１個の半導体チップに詰め込むほど、Ｉ／Ｏ（Input/Output/Bidirection）バッファセルの個数が増える。
【０００３】
システムＬＳＩなどの半導体集積回路をレイアウト設計する場合、配線が複雑になる。その上、Ｉ／Ｏバッファセルから接続先のセルまでの配線が長くなりやすい。このことは、配線遅延（信号の伝搬遅延）の増大を招く。従来、配線遅延を解消することができるまで、リピータの挿入や配線パターンの調整が繰り返し行われていた（特許文献１参照）。そのため、手戻り（イタレーション）が多くなる。特許文献２には、この手戻りの防止を図った、半導体集積回路のレイアウト方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−３３２１１９号公報
【特許文献２】特開２００２−１６１４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年は、半導体チップの高集積化に伴い、Ｉ／Ｏバッファセルの個数は増加の一途をたどっている。多くのＩ／Ｏバッファセルを限られた領域で効率よく配置するため、従来は１列に配列されていた複数のＩ／Ｏバッファセルを２列以上に配列することがある。以下、複数のＩ／Ｏバッファセルをｍ列（ｍは２以上の整数）に配列することを「ｍ列配置」とも呼ぶ。
【０００６】
ｍ列配置された複数のＩ／Ｏバッファセルを対応するセルにそれぞれ接続した場合、両者の間の配線長が従来のものより更に長くなる。配線長が長くなるほど、配線抵抗（Ｒ）および配線容量（Ｃ）に起因したＲＣ遅延が増大する。そこで、ＲＣ遅延を低減させるべく、Ｉ／Ｏセル領域内でＲＣ遅延が発生する配線にリピータが挿入される。
【０００７】
しかしながら、動作速度が速い半導体集積回路をレイアウト設計した場合、Ｉ／Ｏバッファの近傍にリピータを挿入する領域がないことがある。それは、ｍ列配置されたＩ／Ｏバッファセル間のピッチ幅が非常に小さいためである。配線遅延を解消する処理の際に、Ｉ／Ｏバッファの近傍にリピータを挿入する領域がなければ、設計者はフロアプランの再構築を強いられる。
【０００８】
そこで、レイアウト設計において、複数のＩ／Ｏバッファセルをｍ列配置する場合、Ｉ／Ｏバッファの近傍にリピータを挿入する領域を確保し、手戻りをできるだけ抑えることができる半導体集積回路設計技術が望まれている。
【課題を解決するための手段】
【０００９】
以下、［発明を実施するための形態］で使用される符号を括弧内に付記し、［課題を解決するための手段］を説明する。この符号は、［特許請求の範囲］の記載と［発明を実施するための形態］の記載との対応関係を明らかにするために付加されたものである。この符号を［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１０】
本発明の半導体集積回路設計支援装置（１０）は、複数のＩ／Ｏバッファセル（Ｂｍ、ｎ）を、複数のセル（ＣＥｉ）を備える内部セル領域（ＡＲＥ１）内の対応するセルに仮接続する仮処理部（１１１）と、前記仮処理部の処理結果に基づいて、前記複数のＩ／Ｏバッファセルを前記内部セル領域内の対応するセルに実接続する実処理部１１２）と、を有する。
前記複数のＩ／Ｏバッファセルは、前記内部セル領域の外側に位置するＩ／Ｏセル領域（ＡＲＥ２）内において、前記内部セル領域の縁に沿ってＭ列（Ｍは２以上の整数）に配列されている。前記複数のＩ／Ｏバッファセルは、前記複数のＩ／Ｏバッファセルの内、前記内部セル領域側から見てＬ列目（ＬはＭを超えない１以上の整数）に存在する第１のＩ／Ｏバッファセル（Ｂｍ＝ｌ、ｎ／Ｂｍ＝１、ｎ）と、前記Ｌ列目において前記第１のＩ／Ｏバッファセルに隣接した第２のＩ／Ｏバッファセル（Ｂｍ＝ｌ＋１、ｎ＋１／Ｂｍ＝１、ｎ＋１）と、前記内部セル領域側から見て前記Ｌ列目よりも後列に存在する第３のＩ／Ｏバッファセル（Ｂｍ＝ｌ＋２、ｎ／Ｂｍ＝２、ｎ）と、を含む。
前記仮処理部は、配線（Ｌ１−Ｌ６）を含む第１のフィルセル（ＦＣ）を前記第１および前記第２のＩ／Ｏバッファセル間に配置する配置処理部（１１１１）と、前記第１のフィルセル内の前記配線を介して、前記第３のＩ／Ｏバッファセルを対応するセルに仮接続する仮接続処理部（１１１２）と、を有する。
前記実処理部は、前記配置処理部によって前記第１および前記第２のＩ／Ｏバッファセル間に配置された前記第１のフィルセルを、前記第３のＩ／Ｏバッファセルから対応するセルまでの配線長に基づいて、前記配線に加え前記配線上に挿入されたリピータ（ＲＰ）を更に含む第２のフィルセル（ＲＥＰ）に置換する置換処理部を有する。
【００１１】
好ましくは、前記実処理部は、前記配線長を規定長と比較する比較処理部（１１２２）を更に有する。前記置換処理部は、前記比較処理部による比較の結果、前記配線長が前記規定長より長い場合には、前記配置処理部によって配置された前記第１のフィルセルを前記第２のフィルセルに置換する。
【００１２】
好ましくは、前記置換処理部は、前記第１のフィルセルを、前記第２のフィルセルの代りに前記配線に加え前記配線上に挿入されたリピータを含むプリミティブセル（ＣＥｉ）に置換する。
【００１３】
本発明の半導体集積回路設計方法は、複数のＩ／Ｏバッファセルを、複数のセルを備える内部セル領域内の対応するセルに仮接続する仮処理部（１１１）と、前記仮処理部の処理結果に基づいて、前記複数のＩ／Ｏバッファセルを前記内部セル領域内の対応するセルに実接続する実処理部（１１２）と、を有する半導体集積回路設計支援装置（１）で用いられる半導体集積回路設計方法である。
前記複数のＩ／Ｏバッファセルは、前記内部セル領域の外側に位置するＩ／Ｏセル領域内において、前記内部セル領域の縁に沿ってＭ列（Ｍは２以上の整数）に配列されている。前記複数のＩ／Ｏバッファセルは、前記複数のＩ／Ｏバッファセルの内、前記内部セル領域側から見てＬ列目（ＬはＭを超えない１以上の整数）に存在する第１のＩ／Ｏバッファセルと、前記Ｌ列目において前記第１のＩ／Ｏバッファセルに隣接した第２のＩ／Ｏバッファセルと、前記内部セル領域側から見て前記Ｌ列目よりも後列に存在する第３のＩ／Ｏバッファセルと、を含む。
前記仮処理部が、配線を含む第１のフィルセルを前記第１および前記第２のＩ／Ｏバッファセル間に配置するステップ（ＳＴ１）と、前記第１のフィルセル内の前記配線を介して、前記第３のＩ／Ｏバッファセルを対応するセルに仮接続するステップ（ＳＴ２）と、を有する。
前記実処理部が、前記仮処理部によって前記第１および前記第２のＩ／Ｏバッファセル間に配置された前記第１のフィルセルを、前記第３のＩ／Ｏバッファセルから対応するセルまでの配線長に基づいて、前記配線に加え前記配線上に挿入されたリピータを含む第２のフィルセルに置換するステップ（ＳＴ７）を有する。
【００１４】
本発明のプログラムは、複数のＩ／Ｏバッファセルを、複数のセルを備える内部セル領域内の対応するセルに仮接続する仮接続処理を実行する手順と、前記仮処理部の処理結果に基づいて、前記複数のＩ／Ｏバッファセルを前記内部セル領域内の対応するセルに実接続する実接続処理を実行する手順と、をコンピュータに実行させるプログラムである。
前記複数のＩ／Ｏバッファセルは、前記内部セル領域の外側に位置するＩ／Ｏセル領域内において、前記内部セル領域の縁に沿ってＭ列（Ｍは２以上の整数）に配列されている。前記複数のＩ／Ｏバッファセルは、前記複数のＩ／Ｏバッファセルの内、前記内部セル領域側から見てＬ列目（ＬはＭを超えない１以上の整数）に存在する第１のＩ／Ｏバッファセルと、前記Ｌ列目において前記第１のＩ／Ｏバッファセルに隣接した第２のＩ／Ｏバッファセルと、前記内部セル領域側から見て前記Ｌ列目よりも後列に存在する第３のＩ／Ｏバッファセルと、を含む。
前記仮接続処理を実行する手順では、配線を含む第１のフィルセルを前記第１および前記第２のＩ／Ｏバッファセル間に配置し、前記第１のフィルセル内の前記配線を介して、前記第３のＩ／Ｏバッファセルを対応するセルに仮接続する。
前記実接続処理を実行する手順では、前記第１および前記第２のＩ／Ｏバッファセル間に配置した前記第１のフィルセルを、前記第３のＩ／Ｏバッファセルから対応するセルまでの配線長に基づいて、前記配線に加え前記配線上に挿入されたリピータを含む第２のフィルセルに置換する。
【発明の効果】
【００１５】
本発明によれば、レイアウト設計において、複数のＩ／Ｏバッファセルをｍ列配置する場合、Ｉ／Ｏバッファの近傍にリピータを挿入する領域を確保することができ、手戻りをできるだけ抑えることができる。
【図面の簡単な説明】
【００１６】
【図１Ａ】図１Ａは、第１の実施の形態に係るレイアウト領域Ｄを示す図である。
【図１Ｂ】図１Ｂは、第１の実施の形態に係るレイアウト領域Ｄを示す図である。
【図２】図２は、第１の実施の形態に係る半導体集積回路設計支援装置１の構成例を示す外観図である。
【図３】図３は、第１の実施の形態に係るコンピュータ１０のハードウェアの構成例を示すブロック図である。
【図４】図４は、第１の実施の形態においてリピータを含まないフィルセルＦＣの一例を示す図である。
【図５】図５は、第１の実施の形態においてリピータを含むフィルセルＦＣＲの一例を示す図である。
【図６】図６は、第１の実施の形態に係るコンピュータ１０の機能ブロック図である。
【図７】図７は、第１の実施の形態に係るＩ／Ｏバッファセル配置処理結果およびフィルセルＦＣ配置処理結果を例示する図である。
【図８】図８は、第１の実施の形態に係る仮配線処理結果を例示する図である。
【図９】図９は、第１の実施の形態に係る置換処理を説明するための図である。
【図１０】図１０は、第１の実施の形態に係る設計装置１を用いて作製されたマスクデータのイメージ図である。
【図１１】図１１は、第１の実施の形態に係る半導体集積回路設計方法を示すフローチャートである。
【図１２】図１２は、第２の実施の形態に係るコンピュータ１０の機能ブロック図である。
【図１３】図１３は、第２の実施の形態に係る設計装置１を用いて作製されたマスクデータのイメージ図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態を図面に関連づけて説明する。
【００１８】
（第１の実施の形態）
第１の実施の形態について説明する。本実施の形態は、例えば、システムＬＳＩに代表される半導体集積回路のレイアウト設計に関する。ここで、レイアウト設計の対象となる半導体集積回路について説明する。
【００１９】
図１Ａおよび１Ｂは、第１の実施の形態に係るレイアウト領域Ｄを示す図である。図１Ａに示すように、レイアウト領域Ｄは、レイアウト設計対象の半導体集積回路を構成する種々のセルを配置するための領域である。レイアウト領域Ｄは、内部セル領域ＡＲＥ１と、Ｉ／Ｏセル領域ＡＲＥ２とで構成される。内部セル領域ＡＲＥ１は、レイアウト領域Ｄの中央に位置し、例えば格子状に配列された複数のプリミティブセルＣＥｉ（ｉは正の整数）で構成されている。Ｉ／Ｏセル領域ＡＲＥ２は、内部セル領域ＡＲＥ１の外側に位置する。
【００２０】
図１Ａに示すように、内部セル領域ＡＲＥ１を囲むように、内部セル領域ＡＲＥ１の縁に沿って、複数のＩ／ＯバッファセルＢｍ、ｎがｍ列に配列されている（ｎは、２以上の整数）。内部セル領域ＡＲＥ１側から見て、ｍ＝ｌ列目（ｌはｍを超えない１以上の整数）にある任意のＩ／Ｏバッファセルを「Ｂｍ＝ｌ、ｎ」と表す。
【００２１】
本実施の形態では、リピータを含まないフィルセル（ＦＣ）と、リピータを含むフィルセル（ＦＣＲ）とが用いられる。フィルセル（ＦＣ）は、後述の仮処理にて、同列で互いに隣接したＩ／ＯバッファセルＢｍ、ｎ、Ｂｍ、ｎ＋１間に配置される。例えば、ｍ＝ｌ列目よりも後列にあるｍ＝ｌ＋１列目のＩ／ＯバッファセルＢｍ＝ｌ＋１、ｎは、ｍ＝ｌ列目のＩ／ＯバッファセルＢｍ＝ｌ、ｎ、Ｂｍ＝ｌ、ｎ＋１間に配置されたフィルセル（ＦＣ）を介して、対応するプリミティブセルＣＥｉに仮接続される。
【００２２】
後述の実処理にて、そのフィルセル（ＦＣ）は、ｍ＝ｌ＋１列目のＩ／ＯバッファセルＢｍ＝ｌ＋１、ｎからその対応するプリミティブセルＣＥｉまでの配線長に基づいて、リピータを含むフィルセル（ＦＣＲ）に置換される。このことにより、ＲＣ遅延などの低減化を図ることができる。
【００２３】
以下の説明では、複数のＩ／ＯバッファセルＢｍ、ｎを２列に配列する場合を例に挙げる。この場合、図１Ｂに示すように、複数のＩ／ＯバッファセルＢｍ、ｎは、Ｉ／Ｏセル領域ＡＲＥ２において、内部セル領域ＡＲＥ１の縁に沿ってｍ＝２列に配列されている。以下、ｍ＝１列目、即ち、内部セル領域ＡＲＥ１側から見て、前列にある任意のＩ／Ｏバッファセルを「Ｂｍ＝１、ｎ」と表す。ｍ＝２列目、即ち、内部セル領域ＡＲＥ１側から見て、後列にある任意のＩ／Ｏバッファセルを「Ｂｍ＝２、ｎ」と表す。
【００２４】
［半導体集積回路設計支援装置１の構成例］
図２は、第１の実施の形態に係る半導体集積回路設計支援装置１の構成例を示す外観図である。半導体集積回路設計支援装置（以下「設計装置」という）１は、コンピュータ１０と、キーボード２０と、マウス３０と、ディスプレイ４０とを有する。設計装置１は、システム設計、機能設計、論理設計、レイアウト設計を順に行って、半導体集積回路のマスクデータ（マスクパターン）の作製を支援するものである。以下、設計装置１を用いてレイアウト設計を行う場合を例に挙げる。
【００２５】
コンピュータ１０は、キーボード２０またはマウス３０から入力されたデータを用いて、レイアウト設計に関する処理を行う。コンピュータ１０をネットワーク（不図示）に接続し、ネットワーク経由でレイアウト設計に必要なデータをコンピュータ１０に入力することができる。
【００２６】
キーボード２０は、有線または無線でコンピュータ１０に接続されている。キーボード２０は、ユーザの指示をコンピュータ１０に出力する。
【００２７】
マウス３０は、有線または無線でコンピュータ１０に接続されている。マウス３０は、ユーザの指示をコンピュータ１０に出力する。
【００２８】
ディスプレイ４０は、コンピュータ１０に接続されている。ディスプレイ４０は、表示に関するデータをコンピュータ１０から入力する。ディスプレイ４０は、入力したデータに基づいて、レイアウト設計に関する操作画面、レイアウト設計の結果、プログラムの進捗状況などを表示する。
【００２９】
［コンピュータ１０のハードウェアの構成例］
図３は、第１の実施の形態に係るコンピュータ１０のハードウェアの構成例を示すブロック図である。コンピュータ１０は、ＣＰＵ１１と、ＨＤＤ１２と、ＲＯＭ１３と、ＲＡＭ１４と、ＩＦ１５と、内部バス１６とを有する。コンピュータ１０の各構成要素は、内部バス１６に接続されている。
【００３０】
ＣＰＵ１１は、例えば、中央演算処理装置である。ＣＰＵ１１は、内部バス１６を介して、ＲＯＭ１３に格納されているプログラム１３１を読み出す。ＣＰＵ１１は、プログラム１３１の処理手順に従って、ＨＤＤ１２、ＲＡＭ１４、ＩＦ１５との間でデータの授受を行いながら、レイアウト設計に関する処理を行う。これにより、コンピュータ１０の各機能（図６参照）が実現される。
【００３１】
ＨＤＤ１２は、記憶装置であって、典型的には、ハードディスクである。ＨＤＤ１２は、Ｉ／Ｏバッファライブラリ１２１と、ハードマクロライブラリ１２２と、セルライブラリ１２３と、ネットリスト１２４とを格納している。以下、ＨＤＤ１２に格納されているデータについて述べる。
【００３２】
Ｉ／Ｏバッファライブラリ１２１は、種々のＩ／ＯバッファセルＢｍ、ｎを集めたデータベースである。Ｉ／ＯバッファセルＢｍ、ｎは、例えば、レベルシフタで構成されている。Ｉ／ＯバッファセルＢには、例えば、２系統の入出力を持つものや、３系統の入力を持つものがある。
【００３３】
ハードマクロライブラリ１２２は、ハードマクロを多数集めたデータベースである。ハードマクロは、乗算器やＰＬＬ（Phase
Frequency Detector）回路などで構成されている。ハードマクロライブラリ１２２は、セミカスタムＩＣのレイアウト設計を行う場合に用いられる。
【００３４】
セルライブラリ１２３は、種々のプリミティブセルＣＥｉを集めたデータベースである。プリミティブセルＣＥｉは、ＡＮＤゲートやＯＲゲートなど、ゲートレベルで記述された論理回路で構成されている。
【００３５】
ネットリスト１２４は、プリミティブセルＣＥｉ、Ｉ／ＯバッファセルＢｍ、ｎおよび配線という、三者間の接続関係を示すデータである。
【００３６】
ＲＯＭ１３は、不揮発性の記憶装置である。ＲＯＭ１３は、プログラム１３１を格納している。プログラム１３１は、コンピュータ１０の各構成要素を動作させる処理手順がプログラム言語で記述されている。
【００３７】
ＲＡＭ１４は、例えば、ＤＲＡＭ（Dynamic Random Access Memory）ある。ＲＡＭ１４は、ＣＰＵ１１が演算処理で使用するデータやＣＰＵ１１によって読みだされたプログラム１３１などを一時的に格納する。
【００３８】
ＩＦ１５は、外部機器を接続するためのインターフェースである。ＩＦ１５は、内部バス１６を介して外部機器とＣＰＵ１１との間でデータの授受を行う。ＩＦ１５には、キーボード２０と、マウス３０と、ディスプレイ４０とが接続されている。
【００３９】
なお、図３に示すハードウェアの構成は一例であって、種々の改変が可能である。例えば、プログラム１３１をＨＤＤ１２に格納することができる。
【００４０】
［Ｉ／Ｏバッファライブラリ１２１］
本実施の形態では、Ｉ／Ｏバッファライブラリ１２１が２種類のフィルセルを備えている。詳細には、Ｉ／Ｏバッファライブラリ１２１は、リピータを含まないフィルセル（ＦＣ）と、リピータを含むフィルセル（ＦＣＲ）とを備えている。以下、２種類のフィルセルについて説明する。
【００４１】
（リピータを含まないフィルセルＦＣ）
図４は、第１の実施の形態においてリピータを含まないフィルセルＦＣの一例を示す図である。フィルセルＦＣは、Ｉ／Ｏバッファライブラリ１２１が備えるフィルセルの１つである。フィルセルＦＣの高さは、Ｉ／ＯバッファセルＢｍ、ｎの高さＨと同一または略同一である。フィルセルＦＣの幅（高さＨに対して垂直方向）は、Ｉ／ＯバッファセルＢｍ、ｎの幅よりも狭い。以上述べたフィルセルＦＣのサイズは、一例であって、限定されるものではない。
【００４２】
フィルセルＦＣは、例えば、ｋ本（ｋは正の整数）の配線を含んでいる。図４に示す例では、フィルセルＦＣがｋ＝６本の配線Ｌ１からＬ６を含んでいる。配線Ｌ１からＬ６は、等間隔または略等間隔で配置されている。配線Ｌ１からＬ６の配線長は、Ｉ／ＯバッファセルＢｍ、ｎの高さＨと同一または略同一である。配線Ｌ１からＬ６は、一端に端子Ｃ０１からＣ０６をそれぞれ有し、他端に端子Ｃ１１からＣ１６をそれぞれ有する。この他、Ｉ／Ｏバッファライブラリ１２１は、ｋ＝２本の配線Ｌ１およびＬ２を含むフィルセルなど、多種のフィルセルＦＣを備えている。以下、特に断りがない限り、リピータを含まないフィルセルを単にフィルセルＦＣと言う。
【００４３】
（リピータを含むフィルセルＦＣＲ）
図５は、第１の実施の形態においてリピータを含むフィルセルＦＣＲの一例を示す図である。フィルセルＦＣＲは、ｊ個（ｊは正の整数）のリピータを含んでいる。図５に示す例では、フィルセルＦＣＲが、ｊ＝４個のリピータＲＰ１からＲＰ４を含んでいる。
【００４４】
リピータＲＰ１からＲＰ４は、典型的には、バッファ回路である。リピータＲＰ１からＲＰ４は、信号の電気的な駆動力を向上させ、ＲＣ遅延を低減させる。詳細には、リピータＲＰ１は、端子Ｃ０１から端子Ｃ１１の方向に流れる信号の遅延を低減させる。リピータＲＰ２も、リピータＲＰ１と同様のものである。これに対し、リピータＲＰ３は、端子Ｃ１５から端子Ｃ０５の方向に流れる信号の遅延を低減させる。リピータＲＰ４も、リピータＲＰ３と同様のものである。この他、Ｉ／Ｏバッファライブラリ１２１は、配線Ｌ１およびＬ２にｊ＝２個のリピータがそれぞれ接続されたフィルセルＦＣＲなどを備えている。
【００４５】
［コンピュータ１０の機能ブロック］
図６は、第１の実施の形態に係るコンピュータ１０の機能ブロック図である。以下、ＣＰＵ１１が行う処理ついて説明する。ＣＰＵ１１は、（１）仮処理部１１１と、（２）実処理部１１２とを有する。
【００４６】
（１）仮処理部１１１
仮処理部１１１について説明する。仮処理部１１１の役割は、複数のＩ／ＯバッファセルＢｍ、ｎを対応するプリミティブセルＣＥｉにそれぞれ仮接続することにある。仮処理に当たり、仮処理部１１１は、配置処理部１１１１と、仮接続処理部とも呼ばれる仮配線処理部１１１２とを有する。
【００４７】
［配置処理部１１１１］
配置処理部１１１１は、論理設計で得られた論理設計データを用いて、以下の配置処理を行う。なお、論理設計データは、予めＨＤＤ１２に格納されている。
【００４８】
（Ｉ／Ｏバッファセル配置処理）
配置処理部１１１１は、Ｉ／ＯバッファセルＢｍ、ｎをＩ／Ｏセル領域ＡＲＥ２に配置する。詳細には、配置処理部１１１１は、論理設計データに記述されている複数のＩ／ＯバッファセルＢｍ、ｎをＩ／Ｏバッファライブラリ１２１から取得する。配置処理部１１１１は、取得した複数のＩ／ＯバッファセルＢｍ、ｎをＩ／Ｏセル領域ＡＲＥ２に２列配置する。
【００４９】
（フィルセル配置処理）
配置処理部１１１１は、リピータを含まないフィルセルＦＣを同列で互いに隣接したＩ／ＯバッファセルＢｍ、ｎ、Ｂｍ、ｎ＋１間に配置する。両者の間に配置すべきフィルセルＦＣは、１個であっても複数であってもよい。
【００５０】
図７は、第１の実施の形態に係るＩ／Ｏバッファセル配置処理結果およびフィルセル配置処理結果を例示する図である。
【００５１】
先ず、Ｉ／Ｏバッファセル配置処理結果について説明する。前列には、Ｉ／ＯバッファセルＢｍ＝１、ｎおよびＢｍ＝１、ｎ＋１が互いに離間して配置されている。後列には、Ｉ／ＯバッファセルＢｍ＝２、ｎおよびＢｍ＝２、ｎ＋１が互いに離間して配置されている。本実施の形態では、後列のＩ／ＯバッファセルＢｍ＝２、ｎおよびＢｍ＝２、ｎ＋１が、前列のものに対して、配列方向に１個のＩ／ＯバッファセルＢｍ、ｎの幅の半分だけずれている。言うまでもなく、レイアウト設計の内容に応じて、このずれが無いように、複数のＩ／ＯバッファセルＢｍ、ｎを配列しても、差し支えはない。
【００５２】
次に、フィルセルＦＣ配置処理結果について説明する。前列において、２個のフィルセルＦＣが互いに隣接したＩ／ＯバッファセルＢｍ＝１、ｎおよびＢｍ＝１、ｎ＋１間に並列して配置されている。適宜、この２個のフィルセルＦＣを「ＦＣｍ＝１、１」および「ＦＣｍ＝１、２」と表す。
【００５３】
後列において、２個のフィルセルＦＣが、互いに隣接したＩ／ＯバッファセルＢｍ＝２、ｎおよびＢｍ＝２、ｎ＋１間に並列して配置されている。適宜、この２個のフィルセルＦＣを「ＦＣｍ＝２、１」および「ＦＣｍ＝２、２」と表す。なお、図７に示す各フィルセルＦＣは、同一の構成をとる。
【００５４】
（ハードマクロ配置処理）
配置処理部１１１１は、論理設計データに記述されているハードマクロをハードマクロライブラリ１２２から取得する。配置処理部１１１１は、取得したハードマクロを内部セル領域ＡＲＥ１に配置する。その際に、配置処理部１１１１は、電源配線やグラウンド配線などの配線を配置する領域を確保しておく。ハードマクロの個数は、複数であってもよい。レイアウト設計対象によっては、ハードマクロ配置処理を行わない場合がある。
【００５５】
（プリミティブセル配置処理）
配置処理部１１１１は、論理設計データに記述されている複数のプリミティブセルＣＥｉをセルライブラリ１２２から取得する。配置処理部１１１１は、取得した複数のプリミティブセルＣＥを内部セル領域ＡＲＥ１に配置する。
【００５６】
（電源配線配置処理）
配置処理部１１１１は、電源配線やグラウンド配線を内部セル領域ＡＲＥ１に配置する。
【００５７】
（自動セル配置処理）
配置処理部１１１１は、ネットリスト１２４に従って、内部セル領域ＡＲＥ１に配置された各種セルと、Ｉ／Ｏセル領域ＡＲＥ２内の各Ｉ／ＯバッファセルＢｍ、ｎとをデザインルールを満たすように自動配置する。
【００５８】
［仮配線処理部１１１２］
仮配線処理部１１１２について説明する。仮配線処理部１１１２は、以下の仮配線処理を行う。
【００５９】
（電源配線接続処理）
仮配線処理部１１１２は、内部セル領域ＡＲＥ１に配置された電源配線やグラウンド配線を対応するプリミティブセルＣＥｉに接続する。
【００６０】
（仮配線処理）
仮配線処理部１１１２は、複数のＩ／ＯバッファセルＢｍ、ｎを対応するプリミティブセルＣＥｉにそれぞれ仮接続する。この他、仮配線処理部１１１２は、プリミティブセルＣＥｉ同士の仮接続、プリミティブセルＣＥｉとハードマクロとの仮接続なども行う。なお、「仮配線処理」は、概略配線処理とも呼ばれる。「仮接続」は、実際に配線を用いてセル同士を接続する前に、タイミング調整などを目的として、一時的に行われる接続である。
【００６１】
図８は、第１の実施の形態に係る仮配線処理結果を例示する図である。ここでは、図７に示す後列のＩ／ＯバッファセルＢｍ＝２、ｎを対応するプリミティブセルＣＥｉに仮接続する場合を例に挙げる。なお、図８において、Ｉ／ＯバッファセルＢｍ＝２、ｎおよびプリミティブセルＣＥｉの位置関係は、模式的に示されている。
【００６２】
仮配線処理部１１１２によって、Ｉ／ＯバッファセルＢｍ＝２、ｎがフィルセルＦＣｍ＝１、１を介してプリミティブセルＣＥｉに仮接続されている。このプリミティブセルＣＥｉは、Ｉ／ＯバッファセルＢｍ＝２、ｎの仮接続先である。仮接続先は、例えば、複数のプリミティブセルＣＥｉであってもよいし、ハードマクロであってもよい。
【００６３】
Ｉ／ＯバッファセルＢｍ＝２、ｎは、フィルセルＦＣｍ＝１、１内の配線Ｌ１からＬ６を介してプリミティブセルＣＥｉに仮接続されている。詳細には、端子Ｃ０１からＣ０６は、配線Ｌ０１からＬ０６によって、Ｉ／ＯバッファセルＢｍ＝２、ｎにそれぞれ仮接続されている。端子Ｃ１１からＣ１６は、配線Ｌ１１からＬ１６によって、プリミティブセルＣＥｉにそれぞれ仮接続されている。
【００６４】
（２）実処理部１１２
実処理部１１２について説明する。実処理部１１２の役割は、仮処理部１１１の処理結果に基づいて、ＲＣ遅延を低減させ、複数のＩ／ＯバッファセルＢｍ、ｎを対応するプリミティブセルＣＥｉにそれぞれ接続することにある。実処理に当たり、実処理部１１２は、算出処理部１１２１と、比較処理部１１２２と、抽出処理部１１２３と、選択処理部１１２４と、置換処理部１１２５と、実配線処理部１１２６とを有する。
【００６５】
［算出処理部１１２１］
算出処理部１１２１を図８に関連づけて説明する。算出処理部１１２１は、後列のＩ／ＯバッファセルＢｍ＝２、ｎからプリミティブセルＣＥｉまでを仮接続している配線ごとの配線長を算出する。図８に示す例の場合、配線長には、以下の６つがある。例えば、「｜Ｌ１｜」は、符号「Ｌ１」で示す配線の長さを表している。
【００６６】
配線１：配線長ＬＴ１＝｜Ｌ０１｜＋｜Ｌ１｜＋｜Ｌ１１｜
配線２：配線長ＬＴ２＝｜Ｌ０２｜＋｜Ｌ２｜＋｜Ｌ１２｜
配線３：配線長ＬＴ３＝｜Ｌ０３｜＋｜Ｌ３｜＋｜Ｌ１３｜
配線４：配線長ＬＴ４＝｜Ｌ０４｜＋｜Ｌ４｜＋｜Ｌ１４｜
配線５：配線長ＬＴ５＝｜Ｌ０５｜＋｜Ｌ５｜＋｜Ｌ１５｜
配線６：配線長ＬＴ６＝｜Ｌ０６｜＋｜Ｌ６｜＋｜Ｌ１６｜
【００６７】
上記の場合、算出処理部１１２１は、配線長ＬＴ１からＬＴ６を算出する。次に、算出処理部１１２１は、この算出を後列の全てのＩ／ＯバッファセルＢｍ＝２、ｎについて行う。算出処理部１１２１は、算出処理結果を比較処理部１１２３に出力する。
【００６８】
［比較処理部１１２２］
比較処理部１１２２は、算出処理結果を入力し、算出された全ての配線長を規定長ＬＴＨとそれぞれ比較する。規定長ＬＴＨは、リピータの挿入が必要となる値である。図８に示す例の場合、比較処理部１１２２は、配線長ＬＴ１からＬＴ６を規定長ＬＴＨとそれぞれ比較する。比較処理部１１２２は、各配線長が規定長ＬＴＨより長いか否かを示す比較処理結果を抽出処理部１１２３に出力する。
【００６９】
［抽出処理部１１２３］
抽出処理部１１２３は、比較処理結果を入力し、以下の抽出処理を行う。先ず、抽出処理部１１２３は、算出処理部１１２１によって算出された全ての配線長の中から規定長ＬＴＨよりも長い配線を抽出する。この段階で抽出された配線は、後列のＩ／ＯバッファセルＢｍ＝２、ｎからプリミティブセルＣＥｉまでの配線である。
【００７０】
図８に示す例において、配線長ＬＴ１からＬＴ６の内、配線長ＬＴ１、ＬＴ３、ＬＴ５およびＬＴ６が規定長ＬＴＨより長かったと仮定する。この場合、抽出処理部１１２３は、配線長ＬＴ１、ＬＴ３、ＬＴ５およびＬＴ６に該当する配線１、３、５および６を抽出する。上述したように、規定長ＬＴＨは、リピータの挿入が必要となる値である。抽出された配線は、いずれも規定長ＬＴＨより長いので、ＲＣ遅延が発生しやすい配線であることが分かる。
【００７１】
次に、抽出処理部１１２３は、抽出した配線に該当するフィルセルＦＣ内の配線を抽出する。図８に示す例の場合、抽出処理部１１２３は、フィルセルＦＣ内の配線Ｌ１、Ｌ３、Ｌ５およびＬ６を抽出する。この抽出により、リピータを挿入すべきフィルセルＦＣｍ＝１、１内の配線が分かる。これに加え、配線長に対応した遅延時間も分かる。抽出処理部１１２３は、抽出処理結果を選択処理部１１２４に出力する。
【００７２】
［選択処理部１１２４］
選択処理部１１２４は、抽出処理結果を入力し、以下の選択処理を行う。選択処理部１１２４は、Ｉ／Ｏバッファライブラリ１２１を参照する。Ｉ／Ｏバッファライブラリ１２１には、Ｉ／ＯバッファセルＢの入出力端子に関するデータが記載されている。選択処理部１１２４は、抽出処理部１１２３によって抽出されたフィルセルＦＣ内の配線が以下に示す（ａ）または（ｂ）のいずれに該当するかを判別する。
【００７３】
（ａ）Ｉ／ＯバッファセルＢｍ、ｎの入力端子に接続されている配線
（ｂ）Ｉ／ＯバッファセルＢｍ、ｎの出力端子に接続されている配線
【００７４】
この判別により、フィルセルＦＣ内の抽出された配線に流れる信号の向きが分かる。選択処理部１１２４は、抽出処理結果が示す遅延時間と信号の向きを考慮したリピータを含むフィルセルＦＣＲをＩ／Ｏバッファライブラリ１２１から選択する。選択処理部１１２４は、選択処理結果をネットリスト１２４に反映させる。
【００７５】
選択処理の具体例を図８に関連づけて説明する。図８示す例において、配線長ＬＴ１からＬＴ６の内、配線長ＬＴ１、ＬＴ３、ＬＴ５およびＬＴ６が規定長ＬＴＨより長かったと仮定する。この場合、選択処理部１１２４は、配線１、３、５および６が上記（ａ）または（ｂ）のいずれに該当するかを判別する。図８に示す矢印は、これらの配線に流れる信号の向きを示している。フィルセルＦＣｍ＝１、１内の配線Ｌ１およびＬ３には、端子Ｃ０１側を入力側とし、端子Ｃ１１側を出力側とするリピータを挿入する必要がある。これに対し、フィルセルＦＣ内の配線Ｌ５およびＬ６には、これとは逆向きのリピータを挿入する必要がある。そこで、選択処理部１１２４は、図５に示すフィルセルＦＣＲをＩ／Ｏバッファライブラリ１２１から選択する。
【００７６】
［置換処理部１１２６］
置換処理部１１２６は、選択処理部１１２４によって更新されたネットリスト１２４ａを参照し、置換対象のフィルセルＦＣを、リピータを含むフィルセルＦＣＲに置換する。置換対象のフィルセルＦＣは、抽出処理部１１２３によって抽出された配線を含んでいる。
【００７７】
図９は、第１の実施の形態に係る置換処理を説明するための図である。なお、図９において、Ｉ／ＯバッファセルＢｍ＝２、ｎおよびプリミティブセルＣＥｉの位置関係は、模式的に示されている。
【００７８】
図９に示すように、置換処理により、フィルセルＦＣｍ＝１、１（図８参照）がリピータを含むフィルセルＦＣＲに置換されている。
【００７９】
その詳細は、以下の通りである。リピータＲＰ１は、入力側が端子Ｃ０１側に接続され、出力側が端子Ｃ１１側に接続されている。リピータＲＰ２は、入力側が端子Ｃ０３側に接続され、出力側が端子Ｃ１３側に接続されている。リピータＲＰ３は、入力側が端子Ｃ１５側に接続され、出力側が端子Ｃ０５側に接続されている。リピータＲＰ４は、入力側が端子Ｃ１６側に接続され、出力側が端子Ｃ０６側に接続されている。このように、リピータＲＰ１からＲＰ４は、信号の向きに対応して配線Ｌ１、Ｌ３、Ｌ５およびＬ６にそれぞれ挿入されている。
【００８０】
［実配線処理部１１２６］
実配線処理部１１２６は、仮配線処理と同様の実配線処理を行い、マスクデータを作製する。具体的には、実配線処理部１１２６は、複数のＩ／ＯバッファセルＢｍ、ｎを対応するプリミティブセルＣＥｉにそれぞれ実接続する。この他、実配線処理部１１２６は、プリミティブセルＣＥｉ同士の接続、プリミティブセルＣＥｉとハードマクロとの接続なども行う。
【００８１】
図１０は、第１の実施の形態に係る設計装置１を用いて作製されたマスクデータのイメージ図である。前列には、Ｉ／ＯバッファセルＢｍ＝１、ｎからＢｍ＝１、ｎ＋３がそれぞれ離間して配置されている。後列には、Ｉ／ＯバッファセルＢｍ＝２、ｎからＢｍ＝２、ｎ＋３がそれぞれ離間して配置されている。図１０に示す各矢印は、各配線を流れる信号の向きを示す。
【００８２】
配置処理部１１１１による配置処理の段階では、リピータＲＰを含まない２個のフィルセルＦＣが同列の互いに隣接したＩ／ＯバッファセルＢｍ、ｎ、Ｂｍ、ｎ＋１間に配置される。その後、仮配線処理部１１１２によって、後列のＩ／ＯバッファセルＢｍ＝２、ｎからＢｍ＝２、ｎ＋３が、前列の各フィルセルＦＣを介して対応するプリミティブセルＣＥｉにそれぞれ仮接続される。仮接続後、上述の配線長が規定長より長い場合、これに該当するフィルセルＦＣが、リピータＲＰを含むフィルセルＦＣＲに置換される。
【００８３】
［半導体集積回路設計方法：プログラム］
図１１は、第１の実施の形態に係る半導体集積回路設計方法を示すフローチャートである。半導体集積回路設計方法は、ステップＳＴ１およびＳＴ２で構成される仮処理ステップと、ステップＳＴ３からＳＴ８で構成される実処理ステップとに大別することができる。なお、ステップＳＴ１からＳＴ８の処理は、プログラム１３１にコンピュータ言語で記述されている。
【００８４】
（仮処理ステップ）
コンピュータ１０は、配置処理を行う（ＳＴ１）。その際に、コンピュータ１０は、Ｉ／Ｏバッファセル配置処理と、フィルセル配置処理と、ハードマクロ配置処理と、プリミティブセル配置処理と、電源配線配置処理と、自動セル配置処理とを順に行う。
【００８５】
次に、コンピュータ１０は、仮配線処理を行う（ＳＴ２）。その際に、コンピュータ１０は、電源配線接続処理と、仮配線処理とを順に行う。
【００８６】
（実処理ステップ）
ステップＳＴ２の後、コンピュータ１０は、算出処理（ＳＴ３）と、比較処理（ＳＴ４）と、抽出処理（ＳＴ５）と、選択処理（ＳＴ６）と、置換処理（ＳＴ７）と、実配線処理（ＳＴ８）とを順に行う。
【００８７】
ステップＳＴ１からＳＴ８の処理を行うことにより、マスクデータが作製される。
【００８８】
本実施の形態によれば、仮処理において、フィルセルをＩ／Ｏバッファセル間に予め配置することにより、リピータを挿入可能な領域が確保される。したがって、Ｉ／Ｏバッファセルの近傍にリピータを挿入する領域がないという事態を回避することができる。
【００８９】
特に、複数のＩ／Ｏバッファセルを２列以上に配列する場合、配列ピッチが小さくなりやすい。そのため、従来の技術では、実処理にて、Ｉ／Ｏバッファの近傍にリピータを配置し、タイミング調整をとることが難しかった。本実施の形態によれば、この場合でも、リピータをＩ／Ｏバッファ間に確実に挿入することができる。そのため、タイミング調整をとり、ＲＣ遅延をより一層低減させることができる。その上、リピータでＩ／Ｏバッファセルの入出力信号をバッファリングし、入出力信号の波形の減衰などを改善することもできる。
【００９０】
本実施の形態では、２列配置された複数のＩ／Ｏバッファセルを例に挙げた。言うまでもなく、複数のＩ／Ｏバッファセルを２列ではなく、１列に配列する場合においても、本発明を適用することができる。この場合においても、Ｉ／Ｏバッファの近傍にリピータを挿入する領域がないという事態を回避し、手戻りをできるだけ抑えることができる。
【００９１】
（第２の実施の形態）
第２の実施の形態について説明する。図１２は、第２の実施の形態に係るコンピュータ１０の機能ブロック図である。
【００９２】
本実施の形態は、３つの点で第１の実施の形態と異なる。第１の点は、リピータを含むフィルセルＦＣＲを用いる代りに、プリミティブセルＣＥｉをリピータとして用いることである。ただし、このプリミティブセルＣＥｉは、リピータを備えている。そのため、Ｉ／Ｏバッファライブラリ１２１ａは、リピータを含むフィルセルＦＣＲを備えていない。
【００９３】
第２の点は、選択処理部１１２４ａがリピータとして用いるプリミティブセルＣＥｉをセルライブラリ１２３から選択することである。その際に、選択処理部１１２４ａは、上抽出処理結果が示す遅延時間と信号の向きを考慮したプリミティブセルＣＥｉを選択する。図１１に示すステップＳＴ６の選択処理では、リピータとして用いるプリミティブセルＣＥｉをセルライブラリ１２３から選択する。
【００９４】
第３の点は、置換処理部１１２５ａが置換対象のフィルセルＦＣを、上述のプリミティブセルＣＥに置換することである。プリミティブセルＣＥｉの大きさは、そのゲート回路の構成に依存する。そのため、多くの場合、フィルセルＦＣの大きさとプリミティブセルＣＥｉの大きさとが互いに異なる。その場合、置換処理部１１２５ａは、フィルセルＦＣの一部をプリミティブセルＣＥｉに置換する。図１１に示すステップＳＴ７の置換処理では、置換対象のフィルセルＦＣを、上述のプリミティブセルＣＥｉに置換する。
【００９５】
図１３は、第２の実施の形態に係る設計装置１を用いて作製されたマスクデータのイメージ図である。前列には、Ｉ／ＯバッファセルＢｍ＝１、ｎおよびＢｍ＝１、ｎ＋１が配置されている。両者の間には、フィルセルＦＣｍ＝１、１およびＦＣｍ＝１、２が並列して配置されている。
【００９６】
置換処理部１１２５ａによって、フィルセルＦＣｍ＝１、１およびＦＣｍ＝１、２の一部が、リピータとして用いられるプリミティブセルＣＥｉに置換されている。
【００９７】
このプリミティブセルＣＥｉは、２個のリピータＲＰ１およびＲＰ２を備えている。リピータＲＰ１は、フィルセルＦＣｍ＝１、１の配線Ｌ１に挿入されている。リピータＲＰ１は、入力側が端子Ｃ０１側に接続され、出力側が端子Ｃ１１側に接続されている。一方、リピータＲＰ２は、フィルセルＦＣｍ＝１、２の配線Ｌ２に挿入されている。リピータＲＰ２は、入力側が端子Ｃ１２側に接続され、出力側が端子Ｃ０１側に接続されている。
【００９８】
更に、プリミティブセルＣＥは、電源電圧配線ＶＤＤＬと、接地配線ＧＮＤＬとを備えている。電源電圧配線ＶＤＤＬは、Ｉ／ＯバッファセルＢｍ＝１、ｎおよびＢｍ＝１、ｎ＋１間に電源電圧を選択的に供給する配線である。接地配線ＧＮＤＬは、Ｉ／ＯバッファセルＢｍ＝１、ｎおよびＢｍ＝１、ｎ＋１間に接地電圧を選択的に供給する配線である。
【００９９】
第２の実施の形態によれば、プリミティブセルＣＥｉをリピータとして用いるので、リピータを含むフィルセルＦＣＲを用意する必要がない。したがって、第１の実施の形態と同等の効果を得ることができる上、Ｉ／Ｏバッファライブラリ１２１ａのデータ容量を削減することができる。
【符号の説明】
【０１００】
１１１：仮処理部
１１１１：配置処理部
１１１２：仮配線処理部
１１２：実処理部
１１２１：抽出処理部
１１２２：比較処理部
１１２３：抽出処理部
１１２４：選択処理部
１１２５：置換処理部
１１２６：実配線処理部
ＡＲＥ１：内部セル領域
ＡＲＥ２：Ｉ／Ｏセル領域
ＣＥ：プリミティブセル
Ｂ：Ｉ／Ｏバッファセル
ＢＦｍ：前列にあるｍ番目のＩ／Ｏバッファセル
ＢＲｎ：後列にあるｎ番目のＩ／Ｏバッファセル
ＦＣ：リピータを含まないフィルセル
ＦＣＲ：リピータを含むフィルセル
【図１Ａ】
2013038366.tif 000003
【図１Ｂ】
2013038366.tif 000004
【図２】
2013038366.tif 000005
【図３】
2013038366.tif 000006
【図４】
2013038366.tif 000007
【図５】
2013038366.tif 000008
【図６】
2013038366.tif 000009
【図７】
2013038366.tif 000010
【図８】
2013038366.tif 000011
【図９】
2013038366.tif 000012
【図１０】
2013038366.tif 000013
【図１１】
2013038366.tif 000014
【図１２】
2013038366.tif 000015
【図１３】
2013038366.tif 000016