JP2013038366A - 半導体集積回路設計支援装置、半導体集積回路設計方法およびプログラム - Google Patents

半導体集積回路設計支援装置、半導体集積回路設計方法およびプログラム Download PDF

Info

Publication number
JP2013038366A
JP2013038366A JP2011175742A JP2011175742A JP2013038366A JP 2013038366 A JP2013038366 A JP 2013038366A JP 2011175742 A JP2011175742 A JP 2011175742A JP 2011175742 A JP2011175742 A JP 2011175742A JP 2013038366 A JP2013038366 A JP 2013038366A
Authority
JP
Japan
Prior art keywords
cell
buffer
processing unit
wiring
cells
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.)
Withdrawn
Application number
JP2011175742A
Other languages
English (en)
Inventor
Kenji Shingiyouuchi
健慈 新行内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2011175742A priority Critical patent/JP2013038366A/ja
Publication of JP2013038366A publication Critical patent/JP2013038366A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】レイアウト設計において、複数のI/Oバッファセルを2列以上に配列する場合、I/Oバッファ領域の近傍にリピータを挿入する領域を確保し、手戻りをできるだけ抑えることができる、半導体集積回路設計支援装置、半導体集積回路設計方法およびプログラムを提供する。
【解決手段】リピータを含まないフィルセル(FC)と、リピータを含むフィルセル(FCR)とが用いられる。フィルセル(FC)は、同列で互いに隣接したI/Oバッファセル(Bm=1、n、Bm=1、n+1など)間に配置される。なお、複数のI/Oバッファセルは、2列に配置されている。I/Oバッファセルからプリミティブセルまでの配線長に基づいて、すでに配置されているフィルセル(FC)が、リピータを含むフィルセル(FCR)に置換される。
【選択図】図10

Description

本発明は、LSI(Large Scale Integration)などの半導体集積回路設計技術、特に、レイアウト設計技術に関する。
システムLSIの需要が年々高まっている。システムLSIは、マイクロプロセッサ、メモリ、インターフェース回路など、様々な機能の半導体回路を1個の半導体チップに搭載したものである。多くの機能を1個の半導体チップに詰め込むほど、I/O(Input/Output/Bidirection)バッファセルの個数が増える。
システムLSIなどの半導体集積回路をレイアウト設計する場合、配線が複雑になる。その上、I/Oバッファセルから接続先のセルまでの配線が長くなりやすい。このことは、配線遅延(信号の伝搬遅延)の増大を招く。従来、配線遅延を解消することができるまで、リピータの挿入や配線パターンの調整が繰り返し行われていた(特許文献1参照)。そのため、手戻り(イタレーション)が多くなる。特許文献2には、この手戻りの防止を図った、半導体集積回路のレイアウト方法が開示されている。
特開2000−332119号公報 特開2002−16145号公報
近年は、半導体チップの高集積化に伴い、I/Oバッファセルの個数は増加の一途をたどっている。多くのI/Oバッファセルを限られた領域で効率よく配置するため、従来は1列に配列されていた複数のI/Oバッファセルを2列以上に配列することがある。以下、複数のI/Oバッファセルをm列(mは2以上の整数)に配列することを「m列配置」とも呼ぶ。
m列配置された複数のI/Oバッファセルを対応するセルにそれぞれ接続した場合、両者の間の配線長が従来のものより更に長くなる。配線長が長くなるほど、配線抵抗(R)および配線容量(C)に起因したRC遅延が増大する。そこで、RC遅延を低減させるべく、I/Oセル領域内でRC遅延が発生する配線にリピータが挿入される。
しかしながら、動作速度が速い半導体集積回路をレイアウト設計した場合、I/Oバッファの近傍にリピータを挿入する領域がないことがある。それは、m列配置されたI/Oバッファセル間のピッチ幅が非常に小さいためである。配線遅延を解消する処理の際に、I/Oバッファの近傍にリピータを挿入する領域がなければ、設計者はフロアプランの再構築を強いられる。
そこで、レイアウト設計において、複数のI/Oバッファセルをm列配置する場合、I/Oバッファの近傍にリピータを挿入する領域を確保し、手戻りをできるだけ抑えることができる半導体集積回路設計技術が望まれている。
以下、[発明を実施するための形態]で使用される符号を括弧内に付記し、[課題を解決するための手段]を説明する。この符号は、[特許請求の範囲]の記載と[発明を実施するための形態]の記載との対応関係を明らかにするために付加されたものである。この符号を[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明の半導体集積回路設計支援装置(10)は、複数のI/Oバッファセル(Bm、n)を、複数のセル(CE)を備える内部セル領域(ARE1)内の対応するセルに仮接続する仮処理部(111)と、前記仮処理部の処理結果に基づいて、前記複数のI/Oバッファセルを前記内部セル領域内の対応するセルに実接続する実処理部112)と、を有する。
前記複数のI/Oバッファセルは、前記内部セル領域の外側に位置するI/Oセル領域(ARE2)内において、前記内部セル領域の縁に沿ってM列(Mは2以上の整数)に配列されている。前記複数のI/Oバッファセルは、前記複数のI/Oバッファセルの内、前記内部セル領域側から見てL列目(LはMを超えない1以上の整数)に存在する第1のI/Oバッファセル(Bm=l、n/Bm=1、n)と、前記L列目において前記第1のI/Oバッファセルに隣接した第2のI/Oバッファセル(Bm=l+1、n+1/Bm=1、n+1)と、前記内部セル領域側から見て前記L列目よりも後列に存在する第3のI/Oバッファセル(Bm=l+2、n/Bm=2、n)と、を含む。
前記仮処理部は、配線(L1−L6)を含む第1のフィルセル(FC)を前記第1および前記第2のI/Oバッファセル間に配置する配置処理部(1111)と、前記第1のフィルセル内の前記配線を介して、前記第3のI/Oバッファセルを対応するセルに仮接続する仮接続処理部(1112)と、を有する。
前記実処理部は、前記配置処理部によって前記第1および前記第2のI/Oバッファセル間に配置された前記第1のフィルセルを、前記第3のI/Oバッファセルから対応するセルまでの配線長に基づいて、前記配線に加え前記配線上に挿入されたリピータ(RP)を更に含む第2のフィルセル(REP)に置換する置換処理部を有する。
好ましくは、前記実処理部は、前記配線長を規定長と比較する比較処理部(1122)を更に有する。前記置換処理部は、前記比較処理部による比較の結果、前記配線長が前記規定長より長い場合には、前記配置処理部によって配置された前記第1のフィルセルを前記第2のフィルセルに置換する。
好ましくは、前記置換処理部は、前記第1のフィルセルを、前記第2のフィルセルの代りに前記配線に加え前記配線上に挿入されたリピータを含むプリミティブセル(CE)に置換する。
本発明の半導体集積回路設計方法は、複数のI/Oバッファセルを、複数のセルを備える内部セル領域内の対応するセルに仮接続する仮処理部(111)と、前記仮処理部の処理結果に基づいて、前記複数のI/Oバッファセルを前記内部セル領域内の対応するセルに実接続する実処理部(112)と、を有する半導体集積回路設計支援装置(1)で用いられる半導体集積回路設計方法である。
前記複数のI/Oバッファセルは、前記内部セル領域の外側に位置するI/Oセル領域内において、前記内部セル領域の縁に沿ってM列(Mは2以上の整数)に配列されている。前記複数のI/Oバッファセルは、前記複数のI/Oバッファセルの内、前記内部セル領域側から見てL列目(LはMを超えない1以上の整数)に存在する第1のI/Oバッファセルと、前記L列目において前記第1のI/Oバッファセルに隣接した第2のI/Oバッファセルと、前記内部セル領域側から見て前記L列目よりも後列に存在する第3のI/Oバッファセルと、を含む。
前記仮処理部が、配線を含む第1のフィルセルを前記第1および前記第2のI/Oバッファセル間に配置するステップ(ST1)と、前記第1のフィルセル内の前記配線を介して、前記第3のI/Oバッファセルを対応するセルに仮接続するステップ(ST2)と、を有する。
前記実処理部が、前記仮処理部によって前記第1および前記第2のI/Oバッファセル間に配置された前記第1のフィルセルを、前記第3のI/Oバッファセルから対応するセルまでの配線長に基づいて、前記配線に加え前記配線上に挿入されたリピータを含む第2のフィルセルに置換するステップ(ST7)を有する。
本発明のプログラムは、複数のI/Oバッファセルを、複数のセルを備える内部セル領域内の対応するセルに仮接続する仮接続処理を実行する手順と、前記仮処理部の処理結果に基づいて、前記複数のI/Oバッファセルを前記内部セル領域内の対応するセルに実接続する実接続処理を実行する手順と、をコンピュータに実行させるプログラムである。
前記複数のI/Oバッファセルは、前記内部セル領域の外側に位置するI/Oセル領域内において、前記内部セル領域の縁に沿ってM列(Mは2以上の整数)に配列されている。前記複数のI/Oバッファセルは、前記複数のI/Oバッファセルの内、前記内部セル領域側から見てL列目(LはMを超えない1以上の整数)に存在する第1のI/Oバッファセルと、前記L列目において前記第1のI/Oバッファセルに隣接した第2のI/Oバッファセルと、前記内部セル領域側から見て前記L列目よりも後列に存在する第3のI/Oバッファセルと、を含む。
前記仮接続処理を実行する手順では、配線を含む第1のフィルセルを前記第1および前記第2のI/Oバッファセル間に配置し、前記第1のフィルセル内の前記配線を介して、前記第3のI/Oバッファセルを対応するセルに仮接続する。
前記実接続処理を実行する手順では、前記第1および前記第2のI/Oバッファセル間に配置した前記第1のフィルセルを、前記第3のI/Oバッファセルから対応するセルまでの配線長に基づいて、前記配線に加え前記配線上に挿入されたリピータを含む第2のフィルセルに置換する。
本発明によれば、レイアウト設計において、複数のI/Oバッファセルをm列配置する場合、I/Oバッファの近傍にリピータを挿入する領域を確保することができ、手戻りをできるだけ抑えることができる。
図1Aは、第1の実施の形態に係るレイアウト領域Dを示す図である。 図1Bは、第1の実施の形態に係るレイアウト領域Dを示す図である。 図2は、第1の実施の形態に係る半導体集積回路設計支援装置1の構成例を示す外観図である。 図3は、第1の実施の形態に係るコンピュータ10のハードウェアの構成例を示すブロック図である。 図4は、第1の実施の形態においてリピータを含まないフィルセルFCの一例を示す図である。 図5は、第1の実施の形態においてリピータを含むフィルセルFCRの一例を示す図である。 図6は、第1の実施の形態に係るコンピュータ10の機能ブロック図である。 図7は、第1の実施の形態に係るI/Oバッファセル配置処理結果およびフィルセルFC配置処理結果を例示する図である。 図8は、第1の実施の形態に係る仮配線処理結果を例示する図である。 図9は、第1の実施の形態に係る置換処理を説明するための図である。 図10は、第1の実施の形態に係る設計装置1を用いて作製されたマスクデータのイメージ図である。 図11は、第1の実施の形態に係る半導体集積回路設計方法を示すフローチャートである。 図12は、第2の実施の形態に係るコンピュータ10の機能ブロック図である。 図13は、第2の実施の形態に係る設計装置1を用いて作製されたマスクデータのイメージ図である。
以下、本発明の実施の形態を図面に関連づけて説明する。
(第1の実施の形態)
第1の実施の形態について説明する。本実施の形態は、例えば、システムLSIに代表される半導体集積回路のレイアウト設計に関する。ここで、レイアウト設計の対象となる半導体集積回路について説明する。
図1Aおよび1Bは、第1の実施の形態に係るレイアウト領域Dを示す図である。図1Aに示すように、レイアウト領域Dは、レイアウト設計対象の半導体集積回路を構成する種々のセルを配置するための領域である。レイアウト領域Dは、内部セル領域ARE1と、I/Oセル領域ARE2とで構成される。内部セル領域ARE1は、レイアウト領域Dの中央に位置し、例えば格子状に配列された複数のプリミティブセルCE(iは正の整数)で構成されている。I/Oセル領域ARE2は、内部セル領域ARE1の外側に位置する。
図1Aに示すように、内部セル領域ARE1を囲むように、内部セル領域ARE1の縁に沿って、複数のI/OバッファセルBm、nがm列に配列されている(nは、2以上の整数)。内部セル領域ARE1側から見て、m=l列目(lはmを超えない1以上の整数)にある任意のI/Oバッファセルを「Bm=l、n」と表す。
本実施の形態では、リピータを含まないフィルセル(FC)と、リピータを含むフィルセル(FCR)とが用いられる。フィルセル(FC)は、後述の仮処理にて、同列で互いに隣接したI/OバッファセルBm、n、Bm、n+1間に配置される。例えば、m=l列目よりも後列にあるm=l+1列目のI/OバッファセルBm=l+1、nは、m=l列目のI/OバッファセルBm=l、n、Bm=l、n+1間に配置されたフィルセル(FC)を介して、対応するプリミティブセルCEに仮接続される。
後述の実処理にて、そのフィルセル(FC)は、m=l+1列目のI/OバッファセルBm=l+1、nからその対応するプリミティブセルCEまでの配線長に基づいて、リピータを含むフィルセル(FCR)に置換される。このことにより、RC遅延などの低減化を図ることができる。
以下の説明では、複数のI/OバッファセルBm、nを2列に配列する場合を例に挙げる。この場合、図1Bに示すように、複数のI/OバッファセルBm、nは、I/Oセル領域ARE2において、内部セル領域ARE1の縁に沿ってm=2列に配列されている。以下、m=1列目、即ち、内部セル領域ARE1側から見て、前列にある任意のI/Oバッファセルを「Bm=1、n」と表す。m=2列目、即ち、内部セル領域ARE1側から見て、後列にある任意のI/Oバッファセルを「Bm=2、n」と表す。
[半導体集積回路設計支援装置1の構成例]
図2は、第1の実施の形態に係る半導体集積回路設計支援装置1の構成例を示す外観図である。半導体集積回路設計支援装置(以下「設計装置」という)1は、コンピュータ10と、キーボード20と、マウス30と、ディスプレイ40とを有する。設計装置1は、システム設計、機能設計、論理設計、レイアウト設計を順に行って、半導体集積回路のマスクデータ(マスクパターン)の作製を支援するものである。以下、設計装置1を用いてレイアウト設計を行う場合を例に挙げる。
コンピュータ10は、キーボード20またはマウス30から入力されたデータを用いて、レイアウト設計に関する処理を行う。コンピュータ10をネットワーク(不図示)に接続し、ネットワーク経由でレイアウト設計に必要なデータをコンピュータ10に入力することができる。
キーボード20は、有線または無線でコンピュータ10に接続されている。キーボード20は、ユーザの指示をコンピュータ10に出力する。
マウス30は、有線または無線でコンピュータ10に接続されている。マウス30は、ユーザの指示をコンピュータ10に出力する。
ディスプレイ40は、コンピュータ10に接続されている。ディスプレイ40は、表示に関するデータをコンピュータ10から入力する。ディスプレイ40は、入力したデータに基づいて、レイアウト設計に関する操作画面、レイアウト設計の結果、プログラムの進捗状況などを表示する。
[コンピュータ10のハードウェアの構成例]
図3は、第1の実施の形態に係るコンピュータ10のハードウェアの構成例を示すブロック図である。コンピュータ10は、CPU11と、HDD12と、ROM13と、RAM14と、IF15と、内部バス16とを有する。コンピュータ10の各構成要素は、内部バス16に接続されている。
CPU11は、例えば、中央演算処理装置である。CPU11は、内部バス16を介して、ROM13に格納されているプログラム131を読み出す。CPU11は、プログラム131の処理手順に従って、HDD12、RAM14、IF15との間でデータの授受を行いながら、レイアウト設計に関する処理を行う。これにより、コンピュータ10の各機能(図6参照)が実現される。
HDD12は、記憶装置であって、典型的には、ハードディスクである。HDD12は、I/Oバッファライブラリ121と、ハードマクロライブラリ122と、セルライブラリ123と、ネットリスト124とを格納している。以下、HDD12に格納されているデータについて述べる。
I/Oバッファライブラリ121は、種々のI/OバッファセルBm、nを集めたデータベースである。I/OバッファセルBm、nは、例えば、レベルシフタで構成されている。I/OバッファセルBには、例えば、2系統の入出力を持つものや、3系統の入力を持つものがある。
ハードマクロライブラリ122は、ハードマクロを多数集めたデータベースである。ハードマクロは、乗算器やPLL(Phase
Frequency Detector)回路などで構成されている。ハードマクロライブラリ122は、セミカスタムICのレイアウト設計を行う場合に用いられる。
セルライブラリ123は、種々のプリミティブセルCEを集めたデータベースである。プリミティブセルCEは、ANDゲートやORゲートなど、ゲートレベルで記述された論理回路で構成されている。
ネットリスト124は、プリミティブセルCE、I/OバッファセルBm、nおよび配線という、三者間の接続関係を示すデータである。
ROM13は、不揮発性の記憶装置である。ROM13は、プログラム131を格納している。プログラム131は、コンピュータ10の各構成要素を動作させる処理手順がプログラム言語で記述されている。
RAM14は、例えば、DRAM(Dynamic Random Access Memory)ある。RAM14は、CPU11が演算処理で使用するデータやCPU11によって読みだされたプログラム131などを一時的に格納する。
IF15は、外部機器を接続するためのインターフェースである。IF15は、内部バス16を介して外部機器とCPU11との間でデータの授受を行う。IF15には、キーボード20と、マウス30と、ディスプレイ40とが接続されている。
なお、図3に示すハードウェアの構成は一例であって、種々の改変が可能である。例えば、プログラム131をHDD12に格納することができる。
[I/Oバッファライブラリ121]
本実施の形態では、I/Oバッファライブラリ121が2種類のフィルセルを備えている。詳細には、I/Oバッファライブラリ121は、リピータを含まないフィルセル(FC)と、リピータを含むフィルセル(FCR)とを備えている。以下、2種類のフィルセルについて説明する。
(リピータを含まないフィルセルFC)
図4は、第1の実施の形態においてリピータを含まないフィルセルFCの一例を示す図である。フィルセルFCは、I/Oバッファライブラリ121が備えるフィルセルの1つである。フィルセルFCの高さは、I/OバッファセルBm、nの高さHと同一または略同一である。フィルセルFCの幅(高さHに対して垂直方向)は、I/OバッファセルBm、nの幅よりも狭い。以上述べたフィルセルFCのサイズは、一例であって、限定されるものではない。
フィルセルFCは、例えば、k本(kは正の整数)の配線を含んでいる。図4に示す例では、フィルセルFCがk=6本の配線L1からL6を含んでいる。配線L1からL6は、等間隔または略等間隔で配置されている。配線L1からL6の配線長は、I/OバッファセルBm、nの高さHと同一または略同一である。配線L1からL6は、一端に端子C01からC06をそれぞれ有し、他端に端子C11からC16をそれぞれ有する。この他、I/Oバッファライブラリ121は、k=2本の配線L1およびL2を含むフィルセルなど、多種のフィルセルFCを備えている。以下、特に断りがない限り、リピータを含まないフィルセルを単にフィルセルFCと言う。
(リピータを含むフィルセルFCR)
図5は、第1の実施の形態においてリピータを含むフィルセルFCRの一例を示す図である。フィルセルFCRは、j個(jは正の整数)のリピータを含んでいる。図5に示す例では、フィルセルFCRが、j=4個のリピータRP1からRP4を含んでいる。
リピータRP1からRP4は、典型的には、バッファ回路である。リピータRP1からRP4は、信号の電気的な駆動力を向上させ、RC遅延を低減させる。詳細には、リピータRP1は、端子C01から端子C11の方向に流れる信号の遅延を低減させる。リピータRP2も、リピータRP1と同様のものである。これに対し、リピータRP3は、端子C15から端子C05の方向に流れる信号の遅延を低減させる。リピータRP4も、リピータRP3と同様のものである。この他、I/Oバッファライブラリ121は、配線L1およびL2にj=2個のリピータがそれぞれ接続されたフィルセルFCRなどを備えている。
[コンピュータ10の機能ブロック]
図6は、第1の実施の形態に係るコンピュータ10の機能ブロック図である。以下、CPU11が行う処理ついて説明する。CPU11は、(1)仮処理部111と、(2)実処理部112とを有する。
(1)仮処理部111
仮処理部111について説明する。仮処理部111の役割は、複数のI/OバッファセルBm、nを対応するプリミティブセルCEにそれぞれ仮接続することにある。仮処理に当たり、仮処理部111は、配置処理部1111と、仮接続処理部とも呼ばれる仮配線処理部1112とを有する。
[配置処理部1111]
配置処理部1111は、論理設計で得られた論理設計データを用いて、以下の配置処理を行う。なお、論理設計データは、予めHDD12に格納されている。
(I/Oバッファセル配置処理)
配置処理部1111は、I/OバッファセルBm、nをI/Oセル領域ARE2に配置する。詳細には、配置処理部1111は、論理設計データに記述されている複数のI/OバッファセルBm、nをI/Oバッファライブラリ121から取得する。配置処理部1111は、取得した複数のI/OバッファセルBm、nをI/Oセル領域ARE2に2列配置する。
(フィルセル配置処理)
配置処理部1111は、リピータを含まないフィルセルFCを同列で互いに隣接したI/OバッファセルBm、n、Bm、n+1間に配置する。両者の間に配置すべきフィルセルFCは、1個であっても複数であってもよい。
図7は、第1の実施の形態に係るI/Oバッファセル配置処理結果およびフィルセル配置処理結果を例示する図である。
先ず、I/Oバッファセル配置処理結果について説明する。前列には、I/OバッファセルBm=1、nおよびBm=1、n+1が互いに離間して配置されている。後列には、I/OバッファセルBm=2、nおよびBm=2、n+1が互いに離間して配置されている。本実施の形態では、後列のI/OバッファセルBm=2、nおよびBm=2、n+1が、前列のものに対して、配列方向に1個のI/OバッファセルBm、nの幅の半分だけずれている。言うまでもなく、レイアウト設計の内容に応じて、このずれが無いように、複数のI/OバッファセルBm、nを配列しても、差し支えはない。
次に、フィルセルFC配置処理結果について説明する。前列において、2個のフィルセルFCが互いに隣接したI/OバッファセルBm=1、nおよびBm=1、n+1間に並列して配置されている。適宜、この2個のフィルセルFCを「FCm=1、1」および「FCm=1、2」と表す。
後列において、2個のフィルセルFCが、互いに隣接したI/OバッファセルBm=2、nおよびBm=2、n+1間に並列して配置されている。適宜、この2個のフィルセルFCを「FCm=2、1」および「FCm=2、2」と表す。なお、図7に示す各フィルセルFCは、同一の構成をとる。
(ハードマクロ配置処理)
配置処理部1111は、論理設計データに記述されているハードマクロをハードマクロライブラリ122から取得する。配置処理部1111は、取得したハードマクロを内部セル領域ARE1に配置する。その際に、配置処理部1111は、電源配線やグラウンド配線などの配線を配置する領域を確保しておく。ハードマクロの個数は、複数であってもよい。レイアウト設計対象によっては、ハードマクロ配置処理を行わない場合がある。
(プリミティブセル配置処理)
配置処理部1111は、論理設計データに記述されている複数のプリミティブセルCEをセルライブラリ122から取得する。配置処理部1111は、取得した複数のプリミティブセルCEを内部セル領域ARE1に配置する。
(電源配線配置処理)
配置処理部1111は、電源配線やグラウンド配線を内部セル領域ARE1に配置する。
(自動セル配置処理)
配置処理部1111は、ネットリスト124に従って、内部セル領域ARE1に配置された各種セルと、I/Oセル領域ARE2内の各I/OバッファセルBm、nとをデザインルールを満たすように自動配置する。
[仮配線処理部1112]
仮配線処理部1112について説明する。仮配線処理部1112は、以下の仮配線処理を行う。
(電源配線接続処理)
仮配線処理部1112は、内部セル領域ARE1に配置された電源配線やグラウンド配線を対応するプリミティブセルCEに接続する。
(仮配線処理)
仮配線処理部1112は、複数のI/OバッファセルBm、nを対応するプリミティブセルCEにそれぞれ仮接続する。この他、仮配線処理部1112は、プリミティブセルCE同士の仮接続、プリミティブセルCEとハードマクロとの仮接続なども行う。なお、「仮配線処理」は、概略配線処理とも呼ばれる。「仮接続」は、実際に配線を用いてセル同士を接続する前に、タイミング調整などを目的として、一時的に行われる接続である。
図8は、第1の実施の形態に係る仮配線処理結果を例示する図である。ここでは、図7に示す後列のI/OバッファセルBm=2、nを対応するプリミティブセルCEに仮接続する場合を例に挙げる。なお、図8において、I/OバッファセルBm=2、nおよびプリミティブセルCEの位置関係は、模式的に示されている。
仮配線処理部1112によって、I/OバッファセルBm=2、nがフィルセルFCm=1、1を介してプリミティブセルCEに仮接続されている。このプリミティブセルCEは、I/OバッファセルBm=2、nの仮接続先である。仮接続先は、例えば、複数のプリミティブセルCEであってもよいし、ハードマクロであってもよい。
I/OバッファセルBm=2、nは、フィルセルFCm=1、1内の配線L1からL6を介してプリミティブセルCEに仮接続されている。詳細には、端子C01からC06は、配線L01からL06によって、I/OバッファセルBm=2、nにそれぞれ仮接続されている。端子C11からC16は、配線L11からL16によって、プリミティブセルCEにそれぞれ仮接続されている。
(2)実処理部112
実処理部112について説明する。実処理部112の役割は、仮処理部111の処理結果に基づいて、RC遅延を低減させ、複数のI/OバッファセルBm、nを対応するプリミティブセルCEにそれぞれ接続することにある。実処理に当たり、実処理部112は、算出処理部1121と、比較処理部1122と、抽出処理部1123と、選択処理部1124と、置換処理部1125と、実配線処理部1126とを有する。
[算出処理部1121]
算出処理部1121を図8に関連づけて説明する。算出処理部1121は、後列のI/OバッファセルBm=2、nからプリミティブセルCEまでを仮接続している配線ごとの配線長を算出する。図8に示す例の場合、配線長には、以下の6つがある。例えば、「|L1|」は、符号「L1」で示す配線の長さを表している。
配線1:配線長LT=|L01|+|L1|+|L11|
配線2:配線長LT=|L02|+|L2|+|L12|
配線3:配線長LT=|L03|+|L3|+|L13|
配線4:配線長LT=|L04|+|L4|+|L14|
配線5:配線長LT=|L05|+|L5|+|L15|
配線6:配線長LT=|L06|+|L6|+|L16|
上記の場合、算出処理部1121は、配線長LTからLTを算出する。次に、算出処理部1121は、この算出を後列の全てのI/OバッファセルBm=2、nについて行う。算出処理部1121は、算出処理結果を比較処理部1123に出力する。
[比較処理部1122]
比較処理部1122は、算出処理結果を入力し、算出された全ての配線長を規定長LTHとそれぞれ比較する。規定長LTHは、リピータの挿入が必要となる値である。図8に示す例の場合、比較処理部1122は、配線長LT1からLT6を規定長LTHとそれぞれ比較する。比較処理部1122は、各配線長が規定長LTHより長いか否かを示す比較処理結果を抽出処理部1123に出力する。
[抽出処理部1123]
抽出処理部1123は、比較処理結果を入力し、以下の抽出処理を行う。先ず、抽出処理部1123は、算出処理部1121によって算出された全ての配線長の中から規定長LTHよりも長い配線を抽出する。この段階で抽出された配線は、後列のI/OバッファセルBm=2、nからプリミティブセルCEまでの配線である。
図8に示す例において、配線長LT1からLT6の内、配線長LT1、LT3、LT5およびLT6が規定長LTHより長かったと仮定する。この場合、抽出処理部1123は、配線長LT1、LT3、LT5およびLT6に該当する配線1、3、5および6を抽出する。上述したように、規定長LTHは、リピータの挿入が必要となる値である。抽出された配線は、いずれも規定長LTHより長いので、RC遅延が発生しやすい配線であることが分かる。
次に、抽出処理部1123は、抽出した配線に該当するフィルセルFC内の配線を抽出する。図8に示す例の場合、抽出処理部1123は、フィルセルFC内の配線L1、L3、L5およびL6を抽出する。この抽出により、リピータを挿入すべきフィルセルFCm=1、1内の配線が分かる。これに加え、配線長に対応した遅延時間も分かる。抽出処理部1123は、抽出処理結果を選択処理部1124に出力する。
[選択処理部1124]
選択処理部1124は、抽出処理結果を入力し、以下の選択処理を行う。選択処理部1124は、I/Oバッファライブラリ121を参照する。I/Oバッファライブラリ121には、I/OバッファセルBの入出力端子に関するデータが記載されている。選択処理部1124は、抽出処理部1123によって抽出されたフィルセルFC内の配線が以下に示す(a)または(b)のいずれに該当するかを判別する。
(a)I/OバッファセルBm、nの入力端子に接続されている配線
(b)I/OバッファセルBm、nの出力端子に接続されている配線
この判別により、フィルセルFC内の抽出された配線に流れる信号の向きが分かる。選択処理部1124は、抽出処理結果が示す遅延時間と信号の向きを考慮したリピータを含むフィルセルFCRをI/Oバッファライブラリ121から選択する。選択処理部1124は、選択処理結果をネットリスト124に反映させる。
選択処理の具体例を図8に関連づけて説明する。図8示す例において、配線長LT1からLT6の内、配線長LT1、LT3、LT5およびLT6が規定長LTHより長かったと仮定する。この場合、選択処理部1124は、配線1、3、5および6が上記(a)または(b)のいずれに該当するかを判別する。図8に示す矢印は、これらの配線に流れる信号の向きを示している。フィルセルFCm=1、1内の配線L1およびL3には、端子C01側を入力側とし、端子C11側を出力側とするリピータを挿入する必要がある。これに対し、フィルセルFC内の配線L5およびL6には、これとは逆向きのリピータを挿入する必要がある。そこで、選択処理部1124は、図5に示すフィルセルFCRをI/Oバッファライブラリ121から選択する。
[置換処理部1126]
置換処理部1126は、選択処理部1124によって更新されたネットリスト124aを参照し、置換対象のフィルセルFCを、リピータを含むフィルセルFCRに置換する。置換対象のフィルセルFCは、抽出処理部1123によって抽出された配線を含んでいる。
図9は、第1の実施の形態に係る置換処理を説明するための図である。なお、図9において、I/OバッファセルBm=2、nおよびプリミティブセルCEの位置関係は、模式的に示されている。
図9に示すように、置換処理により、フィルセルFCm=1、1(図8参照)がリピータを含むフィルセルFCRに置換されている。
その詳細は、以下の通りである。リピータRP1は、入力側が端子C01側に接続され、出力側が端子C11側に接続されている。リピータRP2は、入力側が端子C03側に接続され、出力側が端子C13側に接続されている。リピータRP3は、入力側が端子C15側に接続され、出力側が端子C05側に接続されている。リピータRP4は、入力側が端子C16側に接続され、出力側が端子C06側に接続されている。このように、リピータRP1からRP4は、信号の向きに対応して配線L1、L3、L5およびL6にそれぞれ挿入されている。
[実配線処理部1126]
実配線処理部1126は、仮配線処理と同様の実配線処理を行い、マスクデータを作製する。具体的には、実配線処理部1126は、複数のI/OバッファセルBm、nを対応するプリミティブセルCEにそれぞれ実接続する。この他、実配線処理部1126は、プリミティブセルCE同士の接続、プリミティブセルCEとハードマクロとの接続なども行う。
図10は、第1の実施の形態に係る設計装置1を用いて作製されたマスクデータのイメージ図である。前列には、I/OバッファセルBm=1、nからBm=1、n+3がそれぞれ離間して配置されている。後列には、I/OバッファセルBm=2、nからBm=2、n+3がそれぞれ離間して配置されている。図10に示す各矢印は、各配線を流れる信号の向きを示す。
配置処理部1111による配置処理の段階では、リピータRPを含まない2個のフィルセルFCが同列の互いに隣接したI/OバッファセルBm、n、Bm、n+1間に配置される。その後、仮配線処理部1112によって、後列のI/OバッファセルBm=2、nからBm=2、n+3が、前列の各フィルセルFCを介して対応するプリミティブセルCEにそれぞれ仮接続される。仮接続後、上述の配線長が規定長より長い場合、これに該当するフィルセルFCが、リピータRPを含むフィルセルFCRに置換される。
[半導体集積回路設計方法:プログラム]
図11は、第1の実施の形態に係る半導体集積回路設計方法を示すフローチャートである。半導体集積回路設計方法は、ステップST1およびST2で構成される仮処理ステップと、ステップST3からST8で構成される実処理ステップとに大別することができる。なお、ステップST1からST8の処理は、プログラム131にコンピュータ言語で記述されている。
(仮処理ステップ)
コンピュータ10は、配置処理を行う(ST1)。その際に、コンピュータ10は、I/Oバッファセル配置処理と、フィルセル配置処理と、ハードマクロ配置処理と、プリミティブセル配置処理と、電源配線配置処理と、自動セル配置処理とを順に行う。
次に、コンピュータ10は、仮配線処理を行う(ST2)。その際に、コンピュータ10は、電源配線接続処理と、仮配線処理とを順に行う。
(実処理ステップ)
ステップST2の後、コンピュータ10は、算出処理(ST3)と、比較処理(ST4)と、抽出処理(ST5)と、選択処理(ST6)と、置換処理(ST7)と、実配線処理(ST8)とを順に行う。
ステップST1からST8の処理を行うことにより、マスクデータが作製される。
本実施の形態によれば、仮処理において、フィルセルをI/Oバッファセル間に予め配置することにより、リピータを挿入可能な領域が確保される。したがって、I/Oバッファセルの近傍にリピータを挿入する領域がないという事態を回避することができる。
特に、複数のI/Oバッファセルを2列以上に配列する場合、配列ピッチが小さくなりやすい。そのため、従来の技術では、実処理にて、I/Oバッファの近傍にリピータを配置し、タイミング調整をとることが難しかった。本実施の形態によれば、この場合でも、リピータをI/Oバッファ間に確実に挿入することができる。そのため、タイミング調整をとり、RC遅延をより一層低減させることができる。その上、リピータでI/Oバッファセルの入出力信号をバッファリングし、入出力信号の波形の減衰などを改善することもできる。
本実施の形態では、2列配置された複数のI/Oバッファセルを例に挙げた。言うまでもなく、複数のI/Oバッファセルを2列ではなく、1列に配列する場合においても、本発明を適用することができる。この場合においても、I/Oバッファの近傍にリピータを挿入する領域がないという事態を回避し、手戻りをできるだけ抑えることができる。
(第2の実施の形態)
第2の実施の形態について説明する。図12は、第2の実施の形態に係るコンピュータ10の機能ブロック図である。
本実施の形態は、3つの点で第1の実施の形態と異なる。第1の点は、リピータを含むフィルセルFCRを用いる代りに、プリミティブセルCEをリピータとして用いることである。ただし、このプリミティブセルCEは、リピータを備えている。そのため、I/Oバッファライブラリ121aは、リピータを含むフィルセルFCRを備えていない。
第2の点は、選択処理部1124aがリピータとして用いるプリミティブセルCEをセルライブラリ123から選択することである。その際に、選択処理部1124aは、上抽出処理結果が示す遅延時間と信号の向きを考慮したプリミティブセルCEを選択する。図11に示すステップST6の選択処理では、リピータとして用いるプリミティブセルCEをセルライブラリ123から選択する。
第3の点は、置換処理部1125aが置換対象のフィルセルFCを、上述のプリミティブセルCEに置換することである。プリミティブセルCEの大きさは、そのゲート回路の構成に依存する。そのため、多くの場合、フィルセルFCの大きさとプリミティブセルCEの大きさとが互いに異なる。その場合、置換処理部1125aは、フィルセルFCの一部をプリミティブセルCEに置換する。図11に示すステップST7の置換処理では、置換対象のフィルセルFCを、上述のプリミティブセルCEに置換する。
図13は、第2の実施の形態に係る設計装置1を用いて作製されたマスクデータのイメージ図である。前列には、I/OバッファセルBm=1、nおよびBm=1、n+1が配置されている。両者の間には、フィルセルFCm=1、1およびFCm=1、2が並列して配置されている。
置換処理部1125aによって、フィルセルFCm=1、1およびFCm=1、2の一部が、リピータとして用いられるプリミティブセルCEに置換されている。
このプリミティブセルCEは、2個のリピータRP1およびRP2を備えている。リピータRP1は、フィルセルFCm=1、1の配線L1に挿入されている。リピータRP1は、入力側が端子C01側に接続され、出力側が端子C11側に接続されている。一方、リピータRP2は、フィルセルFCm=1、2の配線L2に挿入されている。リピータRP2は、入力側が端子C12側に接続され、出力側が端子C01側に接続されている。
更に、プリミティブセルCEは、電源電圧配線VDDLと、接地配線GNDLとを備えている。電源電圧配線VDDLは、I/OバッファセルBm=1、nおよびBm=1、n+1間に電源電圧を選択的に供給する配線である。接地配線GNDLは、I/OバッファセルBm=1、nおよびBm=1、n+1間に接地電圧を選択的に供給する配線である。
第2の実施の形態によれば、プリミティブセルCEをリピータとして用いるので、リピータを含むフィルセルFCRを用意する必要がない。したがって、第1の実施の形態と同等の効果を得ることができる上、I/Oバッファライブラリ121aのデータ容量を削減することができる。
111:仮処理部
1111:配置処理部
1112:仮配線処理部
112:実処理部
1121:抽出処理部
1122:比較処理部
1123:抽出処理部
1124:選択処理部
1125:置換処理部
1126:実配線処理部
ARE1:内部セル領域
ARE2:I/Oセル領域
CE:プリミティブセル
B:I/Oバッファセル
BF:前列にあるm番目のI/Oバッファセル
BR:後列にあるn番目のI/Oバッファセル
FC:リピータを含まないフィルセル
FCR:リピータを含むフィルセル

Claims (5)

  1. 複数のI/O(Input/Output/Bidirection)バッファセルを、複数のセルを備える内部セル領域内の対応するセルに仮接続する仮処理部と、
    前記仮処理部の処理結果に基づいて、前記複数のI/Oバッファセルを前記内部セル領域内の対応するセルに実接続する実処理部と、
    を有し、
    前記複数のI/Oバッファセルは、
    前記内部セル領域の外側に位置するI/Oセル領域内において、前記内部セル領域の縁に沿ってM列(Mは2以上の整数)に配列されており、
    前記複数のI/Oバッファセルの内、前記内部セル領域側から見てL列目(LはMを超えない1以上の整数)に存在する第1のI/Oバッファセルと、
    前記L列目において前記第1のI/Oバッファセルに隣接した第2のI/Oバッファセルと、
    前記内部セル領域側から見て前記L列目よりも後列に存在する第3のI/Oバッファセルと、
    を含み、
    前記仮処理部は、
    配線を含む第1のフィルセルを前記第1および前記第2のI/Oバッファセル間に配置する配置処理部と、
    前記第1のフィルセル内の前記配線を介して、前記第3のI/Oバッファセルを対応するセルに仮接続する仮接続処理部と、
    を有し、
    前記実処理部は、
    前記配置処理部によって前記第1および前記第2のI/Oバッファセル間に配置された前記第1のフィルセルを、前記第3のI/Oバッファセルから対応するセルまでの配線長に基づいて、前記配線に加え前記配線上に挿入されたリピータを更に含む第2のフィルセルに置換する置換処理部
    を有する
    半導体集積回路設計支援装置。
  2. 前記実処理部は、
    前記配線長を規定長と比較する比較処理部を更に有し、
    前記置換処理部は、
    前記比較処理部による比較の結果、前記配線長が前記規定長より長い場合に、前記配置処理部によって配置された前記第1のフィルセルを前記第2のフィルセルに置換する
    請求項1に記載の半導体集積回路設計支援装置。
  3. 前記置換処理部は、
    前記第1のフィルセルを、前記第2のフィルセルの代りに前記配線に加え前記配線上に挿入されたリピータを含むプリミティブセルに置換する
    請求項1または2に記載の半導体集積回路設計支援装置。
  4. 複数のI/Oバッファセルを、複数のセルを備える内部セル領域内の対応するセルに仮接続する仮処理部と、
    前記仮処理部の処理結果に基づいて、前記複数のI/Oバッファセルを前記内部セル領域内の対応するセルに実接続する実処理部と、
    を有する半導体集積回路設計支援装置で用いられる半導体集積回路設計方法であって、
    前記複数のI/Oバッファセルは、
    前記内部セル領域の外側に位置するI/Oセル領域内において、前記内部セル領域の縁に沿ってM列(Mは2以上の整数)に配列されており、
    前記複数のI/Oバッファセルの内、前記内部セル領域側から見てL列目(LはMを超えない1以上の整数)に存在する第1のI/Oバッファセルと、
    前記L列目において前記第1のI/Oバッファセルに隣接した第2のI/Oバッファセルと、
    前記内部セル領域側から見て前記L列目よりも後列に存在する第3のI/Oバッファセルと、
    を含み、
    前記仮処理部が、
    配線を含む第1のフィルセルを前記第1および前記第2のI/Oバッファセル間に配置するステップと、
    前記第1のフィルセル内の前記配線を介して、前記第3のI/Oバッファセルを対応するセルに仮接続するステップと、
    を有し、
    前記実処理部が、
    前記仮処理部によって前記第1および前記第2のI/Oバッファセル間に配置された前記第1のフィルセルを、前記第3のI/Oバッファセルから対応するセルまでの配線長に基づいて、前記配線に加え前記配線上に挿入されたリピータを含む第2のフィルセルに置換するステップ
    を有する
    半導体集積回路設計方法。
  5. 複数のI/Oバッファセルを、複数のセルを備える内部セル領域内の対応するセルに仮接続する仮接続処理を実行する手順と、
    前記仮処理部の処理結果に基づいて、前記複数のI/Oバッファセルを前記内部セル領域内の対応するセルに実接続する実接続処理を実行する手順と、
    をコンピュータに実行させるプログラムであって、
    前記複数のI/Oバッファセルは、
    前記内部セル領域の外側に位置するI/Oセル領域内において、前記内部セル領域の縁に沿ってM列(Mは2以上の整数)に配列されており、
    前記複数のI/Oバッファセルの内、前記内部セル領域側から見てL列目(LはMを超えない1以上の整数)に存在する第1のI/Oバッファセルと、
    前記L列目において前記第1のI/Oバッファセルに隣接した第2のI/Oバッファセルと、
    前記内部セル領域側から見て前記L列目よりも後列に存在する第3のI/Oバッファセルと、
    を含み、
    前記仮接続処理を実行する手順では、
    配線を含む第1のフィルセルを前記第1および前記第2のI/Oバッファセル間に配置し、
    前記第1のフィルセル内の前記配線を介して、前記第3のI/Oバッファセルを対応するセルに仮接続し、
    前記実接続処理を実行する手順では、
    前記第1および前記第2のI/Oバッファセル間に配置した前記第1のフィルセルを、前記第3のI/Oバッファセルから対応するセルまでの配線長に基づいて、前記配線に加え前記配線上に挿入されたリピータを含む第2のフィルセルに置換する
    プログラム。
JP2011175742A 2011-08-11 2011-08-11 半導体集積回路設計支援装置、半導体集積回路設計方法およびプログラム Withdrawn JP2013038366A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011175742A JP2013038366A (ja) 2011-08-11 2011-08-11 半導体集積回路設計支援装置、半導体集積回路設計方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011175742A JP2013038366A (ja) 2011-08-11 2011-08-11 半導体集積回路設計支援装置、半導体集積回路設計方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2013038366A true JP2013038366A (ja) 2013-02-21

Family

ID=47887653

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011175742A Withdrawn JP2013038366A (ja) 2011-08-11 2011-08-11 半導体集積回路設計支援装置、半導体集積回路設計方法およびプログラム

Country Status (1)

Country Link
JP (1) JP2013038366A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018211931A1 (ja) * 2017-05-15 2018-11-22 株式会社ソシオネクスト 半導体集積回路装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018211931A1 (ja) * 2017-05-15 2018-11-22 株式会社ソシオネクスト 半導体集積回路装置
CN110637358A (zh) * 2017-05-15 2019-12-31 株式会社索思未来 半导体集成电路装置
JPWO2018211931A1 (ja) * 2017-05-15 2020-03-19 株式会社ソシオネクスト 半導体集積回路装置
US11101292B2 (en) 2017-05-15 2021-08-24 Socionext Inc. Semiconductor integrated circuit device
CN110637358B (zh) * 2017-05-15 2022-09-23 株式会社索思未来 半导体集成电路装置
US11557610B2 (en) 2017-05-15 2023-01-17 Socionext Inc. Semiconductor integrated circuit device

Similar Documents

Publication Publication Date Title
US10268793B2 (en) System and method for designing cell rows
US5917729A (en) Method of and apparatus for placing and routing elements of semiconductor integrated circuit having reduced delay time
US7992122B1 (en) Method of placing and routing for power optimization and timing closure
US8307321B2 (en) Method for dummy metal and dummy via insertion
CN107918694B (zh) 用于减少集成电路上的延迟的方法
US8316337B2 (en) Method and system for optimally placing and assigning interfaces in a cross-fabric design environment
US8527929B2 (en) Method and system for optimally connecting interfaces across multiple fabrics
US8479134B2 (en) Method and system for specifying system level constraints in a cross-fabric design environment
US8762919B2 (en) Circuit macro placement using macro aspect ratio based on ports
JP2013038366A (ja) 半導体集積回路設計支援装置、半導体集積回路設計方法およびプログラム
JP2933605B1 (ja) レイアウトデータの作成方法
US7962877B2 (en) Port assignment in hierarchical designs by abstracting macro logic
JP2009134439A (ja) ソフトマクロを用いたレイアウト設計方法、ソフトマクロのデータ構造及びソフトマクロライブラリの作成方法
JP6089853B2 (ja) 配線検査装置、配線検査プログラム及び配線検査方法
US20060053405A1 (en) Integrated circuit design method
US20070234261A1 (en) Design support device for semiconductor device, design support method for semiconductor device, and design support program for semiconductor device
JP5402356B2 (ja) 電源ノイズ解析方法及び電源ノイズ解析プログラム
JP3107207B2 (ja) 論理回路改善方法および論理回路改善方式
JP3705737B2 (ja) 半導体集積回路のレイアウト方法
JP2014112331A (ja) 設計支援装置、設計支援方法及び設計支援プログラム
JP4673689B2 (ja) 論理合成方法及び論理合成装置
US20090307647A1 (en) Layout design method and computer-readable medium
JP5347373B2 (ja) 半導体装置の設計装置、設計方法及びプログラム
JP2009253756A (ja) クロック分配回路のレイアウト生成方法、および半導体集積回路装置
JP2013105249A (ja) 半導体集積回路のレイアウト設計方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20141104