JP2000058656A - 半導体集積回路の配線方法 - Google Patents
半導体集積回路の配線方法Info
- Publication number
- JP2000058656A JP2000058656A JP10222058A JP22205898A JP2000058656A JP 2000058656 A JP2000058656 A JP 2000058656A JP 10222058 A JP10222058 A JP 10222058A JP 22205898 A JP22205898 A JP 22205898A JP 2000058656 A JP2000058656 A JP 2000058656A
- Authority
- JP
- Japan
- Prior art keywords
- wiring
- reference point
- point
- cell
- clock
- 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
Links
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
(57)【要約】
【課題】 半導体の論理回路において、集積度及び動作
速度の低下を招くことなく、スキューの低減を実現する
簡易な配線方法を提供することを課題とする。 【解決手段】出力端子T0から最短距離に位置する入力
端子T1を抽出し(S21)、入力端子T1と出力端子
T0とを結ぶ直線の中点X1を1番目の基準点とし(S
22)、1番目の基準点X1から最短距離に位置する入
力端子T2を抽出し(S23)、入力端子T2と1番目
の基準点X1と出力端子T0のそれぞれを結ぶ直線の線
長の和を二等分する点X2を2番目の基準点とし(S2
4)、2番目の基準点X2から最短距離に位置する入力
端子T3を抽出し(S25)、入力端子T3、基準点X
2、X1、出力端子T0のそれぞれを結ぶ直線の線長の
和を2等分する点X3を3番目の基準点とし(S2
6)、全ての入力端子が抽出されるまで、上記処理(S
25,S26)を繰り返す(S27)。
速度の低下を招くことなく、スキューの低減を実現する
簡易な配線方法を提供することを課題とする。 【解決手段】出力端子T0から最短距離に位置する入力
端子T1を抽出し(S21)、入力端子T1と出力端子
T0とを結ぶ直線の中点X1を1番目の基準点とし(S
22)、1番目の基準点X1から最短距離に位置する入
力端子T2を抽出し(S23)、入力端子T2と1番目
の基準点X1と出力端子T0のそれぞれを結ぶ直線の線
長の和を二等分する点X2を2番目の基準点とし(S2
4)、2番目の基準点X2から最短距離に位置する入力
端子T3を抽出し(S25)、入力端子T3、基準点X
2、X1、出力端子T0のそれぞれを結ぶ直線の線長の
和を2等分する点X3を3番目の基準点とし(S2
6)、全ての入力端子が抽出されるまで、上記処理(S
25,S26)を繰り返す(S27)。
Description
【0001】
【発明の属する技術分野】本発明は、論理セルと配線情
報によって構成される論理回路情報を半導体集積回路上
に配置・配線する方法に関し、特に、クロックバッファ
間や、クロックバッファからフリップフロップのクロッ
ク入力端子間の配線を行うレイアウト手法に関する。
報によって構成される論理回路情報を半導体集積回路上
に配置・配線する方法に関し、特に、クロックバッファ
間や、クロックバッファからフリップフロップのクロッ
ク入力端子間の配線を行うレイアウト手法に関する。
【0002】
【従来の技術】半導体集積回路(LSI)の動作速度は
近年ますます向上し、これに伴い、クロックネットのス
キューの問題が顕在化してきている。ここで、クロック
ネットのスキューとは、クロック同期の論理回路におけ
るクロックバッファ間や、クロックバッファからフリッ
プフロップのクロック入力端子間で発生する信号伝達時
間の相違(位相差)のことである。
近年ますます向上し、これに伴い、クロックネットのス
キューの問題が顕在化してきている。ここで、クロック
ネットのスキューとは、クロック同期の論理回路におけ
るクロックバッファ間や、クロックバッファからフリッ
プフロップのクロック入力端子間で発生する信号伝達時
間の相違(位相差)のことである。
【0003】このような、クロックネットのスキュー
は、同一クロックネット内のクロックバッファ間や、ク
ロックバッファからフリップフロップのクロック入力端
子間における、配線長の差異に起因して顕在化する。こ
のクロックネットのスキューが発生すると、セットアッ
プタイムが不足し、ホールドタイムが確保されなくな
り、回路の誤動作を引き起こすこととなる。この修正作
業は一般に手作業で行われるため、半導体集積回路設計
作業の効率を著しく悪化させることになる。
は、同一クロックネット内のクロックバッファ間や、ク
ロックバッファからフリップフロップのクロック入力端
子間における、配線長の差異に起因して顕在化する。こ
のクロックネットのスキューが発生すると、セットアッ
プタイムが不足し、ホールドタイムが確保されなくな
り、回路の誤動作を引き起こすこととなる。この修正作
業は一般に手作業で行われるため、半導体集積回路設計
作業の効率を著しく悪化させることになる。
【0004】ところで、クロックバッファ間およびクロ
ックバッファからフリップフロップのクロック入力端子
間は、一般的にCAD技術によって自動的に結線される
が、上記スキューを抑制する方法、すなわち配線を等長
にする方法として、以下に示すものが知られている。ま
ず、第1の方法としては、図7に示すように、LSI基
板1上に必要となるクロック分の配線(図では2種類の
クロック分)を格子状に形成し、この配線によってCM
OSトランジスタ等の基本的論理ゲートを多数個含むブ
ロック3を格子状に複数配置する方法が知られている。
ックバッファからフリップフロップのクロック入力端子
間は、一般的にCAD技術によって自動的に結線される
が、上記スキューを抑制する方法、すなわち配線を等長
にする方法として、以下に示すものが知られている。ま
ず、第1の方法としては、図7に示すように、LSI基
板1上に必要となるクロック分の配線(図では2種類の
クロック分)を格子状に形成し、この配線によってCM
OSトランジスタ等の基本的論理ゲートを多数個含むブ
ロック3を格子状に複数配置する方法が知られている。
【0005】このようなLSIによれば、例えば、ブロ
ック3a〜3dにクロックバッファ2aからクロックを
供給する場合、配線21aから配線22a、23a、2
4aと通過して、矢印のように各ブロックに接続するこ
とにより、クロックバッファから各ブロックまでの配線
長を等長にすることができる。また、第2の方法として
は、例えば、特開昭62−272560号公報等に記載
されている方法があり、この方法は、図8に示すよう
に、LSI基板1上にCMOSトランジスタ等の基本的
論理ゲートを多数個含むブロック3を複数個格子状に配
置するとともに、基板の中央部にクロックバッファを形
成し、該クロックバッファから同一クロックネット内に
存在する最も遠いブロック3a、3bまでの配線長を基
準として、全てのブロックへ同じ長さになるように配線
21a〜21hを引き回すことによって配線を等長にす
るものである。
ック3a〜3dにクロックバッファ2aからクロックを
供給する場合、配線21aから配線22a、23a、2
4aと通過して、矢印のように各ブロックに接続するこ
とにより、クロックバッファから各ブロックまでの配線
長を等長にすることができる。また、第2の方法として
は、例えば、特開昭62−272560号公報等に記載
されている方法があり、この方法は、図8に示すよう
に、LSI基板1上にCMOSトランジスタ等の基本的
論理ゲートを多数個含むブロック3を複数個格子状に配
置するとともに、基板の中央部にクロックバッファを形
成し、該クロックバッファから同一クロックネット内に
存在する最も遠いブロック3a、3bまでの配線長を基
準として、全てのブロックへ同じ長さになるように配線
21a〜21hを引き回すことによって配線を等長にす
るものである。
【0006】
【発明が解決しようとする課題】しかしながら、このよ
うな従来の方法においては、格子状に配置されたブロッ
クまでは等長配線となるが、ブロック内の各クロックバ
ッファやフリップフロップまでの配線が等長にならない
という問題がある。このような問題を解決する方法とし
て、ブロック内の各クロックバッファやフリップフロッ
プへの、ディレイを付加するクロックセル負荷容量を調
節する方法があるが、この方法ではクロックセルを大量
に使用することとなるため、ロジックセル領域・配線領
域が制限されるという新たな問題を生じる。
うな従来の方法においては、格子状に配置されたブロッ
クまでは等長配線となるが、ブロック内の各クロックバ
ッファやフリップフロップまでの配線が等長にならない
という問題がある。このような問題を解決する方法とし
て、ブロック内の各クロックバッファやフリップフロッ
プへの、ディレイを付加するクロックセル負荷容量を調
節する方法があるが、この方法ではクロックセルを大量
に使用することとなるため、ロジックセル領域・配線領
域が制限されるという新たな問題を生じる。
【0007】また、上述した従来の配線方法を大規模L
SIに適用した場合、消費電力の削減を目的として、同
一ブロックへ何種類ものクロックを供給しようとする
と、そのクロックの種類と同じ数だけの配線(例えば、
図7のクロックバッファ2b及び配線21b〜24b)
を形成しなければならないうえ、配線容量の増加によ
り、クロックバッファを途中経路に追加挿入しなければ
ならなず、ネット配線領域の増加に加え、クロックバッ
ファの追加による配線領域の増加が必要になる。その結
果、クロック以外の配線領域・ブロックの配置領域が相
対的に制限され、集積度が犠牲になるという問題が生じ
る。
SIに適用した場合、消費電力の削減を目的として、同
一ブロックへ何種類ものクロックを供給しようとする
と、そのクロックの種類と同じ数だけの配線(例えば、
図7のクロックバッファ2b及び配線21b〜24b)
を形成しなければならないうえ、配線容量の増加によ
り、クロックバッファを途中経路に追加挿入しなければ
ならなず、ネット配線領域の増加に加え、クロックバッ
ファの追加による配線領域の増加が必要になる。その結
果、クロック以外の配線領域・ブロックの配置領域が相
対的に制限され、集積度が犠牲になるという問題が生じ
る。
【0008】また、上述した配線方法によれば、配線長
の一番長いブロックを基準として、全てのブロックへの
長さを決定しているため、クロックネット内の総配線長
が長くなり、駆動するクロックバッファの負荷容量が大
きくなるため、遅延時間が増加し高速動作が困難になる
という問題がある。上述した各問題は、セルの配置が均
等でない場合であっても同様であり、図9に示すよう
に、同一クロックネット内の配線開始点となるクロック
バッファCB0から各配線終了点となるクロックバッフ
ァCB1〜CB6までの距離が同一になるように配線2
1〜26を引き回すと、集積度の低下及び動作速度の低
下という問題を生じる。
の一番長いブロックを基準として、全てのブロックへの
長さを決定しているため、クロックネット内の総配線長
が長くなり、駆動するクロックバッファの負荷容量が大
きくなるため、遅延時間が増加し高速動作が困難になる
という問題がある。上述した各問題は、セルの配置が均
等でない場合であっても同様であり、図9に示すよう
に、同一クロックネット内の配線開始点となるクロック
バッファCB0から各配線終了点となるクロックバッフ
ァCB1〜CB6までの距離が同一になるように配線2
1〜26を引き回すと、集積度の低下及び動作速度の低
下という問題を生じる。
【0009】このような問題が発生した場合、LSIへ
の集積度あるいは動作特性の要求度に応じて、一旦配線
処理されたクロックネットについて、手作業で修正が施
されることとなるため、作業行程・開発設計時間の増加
という問題を生じる。本発明の目的は、半導体の論理回
路において、集積度及び動作速度の低下を招くことな
く、スキューの低減を実現する簡易な配線方法を提供す
ることにある。
の集積度あるいは動作特性の要求度に応じて、一旦配線
処理されたクロックネットについて、手作業で修正が施
されることとなるため、作業行程・開発設計時間の増加
という問題を生じる。本発明の目的は、半導体の論理回
路において、集積度及び動作速度の低下を招くことな
く、スキューの低減を実現する簡易な配線方法を提供す
ることにある。
【0010】
【課題を解決するための手段】上記の目的を達成するた
めに、請求項1記載の発明は、複数(N(Nは2≦Nの
整数)個)のセルが所定のレイアウトに配置され、該複
数のセルに共通に入力される所定の信号の出力点と前記
複数のセル間を水平経路及び垂直経路により配線する半
導体集積回路の配線方法において、前記出力点から最短
距離に位置する前記セルの入力点を抽出し、該入力点を
有するセルを1番目のセルとするステップと、前記出力
点と前記1番目のセルの入力点を結ぶ直線の中点を求
め、1番目の基準点とするステップと、i番目(iは1
≦i<Nの整数)の基準点から最短距離に位置する、1
からi番目のセルを除くセルの入力点を抽出し、該入力
点を有するセルをi+1番目のセルとするステップと、
前記出力点から、1からi番目の基準点を経由してi+
1番目のセルの入力点までの各基準点間を結ぶ直線の線
長計の1/2の点を求め、i+1番目の基準点とするス
テップと、上記ステップを順次繰り返して、N番目のセ
ルとN番目の基準点を求めるステップと、前記N番目の
基準点とN番目のセルの入力点間を最短距離で配線する
ステップと、前記N番目の基準点とi番目のセルの入力
点間をiからN−1番目の基準点を経由して最短距離で
配線するステップと、上記ステップを順次繰り返して、
前記複数のセルの全てと前記N番目の基準点とを配線接
続するステップと、前記出力点から前記N番目の基準点
間を最短距離で配線するステップとを有することを特徴
とする。
めに、請求項1記載の発明は、複数(N(Nは2≦Nの
整数)個)のセルが所定のレイアウトに配置され、該複
数のセルに共通に入力される所定の信号の出力点と前記
複数のセル間を水平経路及び垂直経路により配線する半
導体集積回路の配線方法において、前記出力点から最短
距離に位置する前記セルの入力点を抽出し、該入力点を
有するセルを1番目のセルとするステップと、前記出力
点と前記1番目のセルの入力点を結ぶ直線の中点を求
め、1番目の基準点とするステップと、i番目(iは1
≦i<Nの整数)の基準点から最短距離に位置する、1
からi番目のセルを除くセルの入力点を抽出し、該入力
点を有するセルをi+1番目のセルとするステップと、
前記出力点から、1からi番目の基準点を経由してi+
1番目のセルの入力点までの各基準点間を結ぶ直線の線
長計の1/2の点を求め、i+1番目の基準点とするス
テップと、上記ステップを順次繰り返して、N番目のセ
ルとN番目の基準点を求めるステップと、前記N番目の
基準点とN番目のセルの入力点間を最短距離で配線する
ステップと、前記N番目の基準点とi番目のセルの入力
点間をiからN−1番目の基準点を経由して最短距離で
配線するステップと、上記ステップを順次繰り返して、
前記複数のセルの全てと前記N番目の基準点とを配線接
続するステップと、前記出力点から前記N番目の基準点
間を最短距離で配線するステップとを有することを特徴
とする。
【0011】また、請求項2記載の発明は、請求項1記
載の配線方法により配線処理された前記半導体集積回路
の動作評価を行うステップと、少なくとも前記N番目の
セルのレイアウト位置を変更するステップと、請求項1
記載の配線方法により再度配線処理を行うステップとを
有することを特徴とする。また、請求項3記載の発明
は、請求項1記載の配線方法により配線処理された半導
体集積回路の特定の領域に含まれる前記複数のセルに対
して、請求項1記載の配線方法により再度配線処理を行
うことを特徴とする。
載の配線方法により配線処理された前記半導体集積回路
の動作評価を行うステップと、少なくとも前記N番目の
セルのレイアウト位置を変更するステップと、請求項1
記載の配線方法により再度配線処理を行うステップとを
有することを特徴とする。また、請求項3記載の発明
は、請求項1記載の配線方法により配線処理された半導
体集積回路の特定の領域に含まれる前記複数のセルに対
して、請求項1記載の配線方法により再度配線処理を行
うことを特徴とする。
【0012】また、請求項4記載の発明は、請求項1、
2または3記載の半導体集積回路の配線方法において、
前記複数のセルは、クロックネットを構成する回路群で
あり、前記所定の信号は、クロック信号であることを特
徴とする。このような半導体集積回路の配線方法によれ
ば、クロックネットを構成する回路群のような複数のセ
ルへの配線長が等長となる基準点を求め、クロック信号
の出力点から該基準点までの配線を共通化し、該基準点
から各セルへの配線長を等長にするように配線処理を施
すことができるため、クロック信号の出力点から前記基
準点までの配線領域を減少させ、集積度の向上を図るこ
とができるとともに、クロック信号の出力点から各セル
への配線長を等長にして、クロックスキューを低減する
ことができる。
2または3記載の半導体集積回路の配線方法において、
前記複数のセルは、クロックネットを構成する回路群で
あり、前記所定の信号は、クロック信号であることを特
徴とする。このような半導体集積回路の配線方法によれ
ば、クロックネットを構成する回路群のような複数のセ
ルへの配線長が等長となる基準点を求め、クロック信号
の出力点から該基準点までの配線を共通化し、該基準点
から各セルへの配線長を等長にするように配線処理を施
すことができるため、クロック信号の出力点から前記基
準点までの配線領域を減少させ、集積度の向上を図るこ
とができるとともに、クロック信号の出力点から各セル
への配線長を等長にして、クロックスキューを低減する
ことができる。
【0013】また、一旦上記配線処理を施した後、少な
くとも信号の出力点から最長距離にあるセルがレイアウ
ト変更可能な場合には、配線長が短くなる位置にレイア
ウト位置を変更し、再度配線処理することにより、信号
の出力点から各セルへの配線長を短くすることができる
ため、信号の出力点から各セルへの信号の遅延時間を短
縮することができ、LSIの動作速度の向上を図ること
ができる。
くとも信号の出力点から最長距離にあるセルがレイアウ
ト変更可能な場合には、配線長が短くなる位置にレイア
ウト位置を変更し、再度配線処理することにより、信号
の出力点から各セルへの配線長を短くすることができる
ため、信号の出力点から各セルへの信号の遅延時間を短
縮することができ、LSIの動作速度の向上を図ること
ができる。
【0014】さらに、一旦上記配線処理を施した後、未
だセル及び配線が混み合っている領域のみを抽出して再
度配線処理を行うことにより、配線の混雑度を緩和する
ことができるため、配線領域を減少させることができ、
一層の集積度の向上を図ることができる。
だセル及び配線が混み合っている領域のみを抽出して再
度配線処理を行うことにより、配線の混雑度を緩和する
ことができるため、配線領域を減少させることができ、
一層の集積度の向上を図ることができる。
【0015】
【発明の実施の形態】(第1の実施例)本発明に係る半
導体集積回路の配線方法における第1の実施例につい
て、図1及び図2を参照して説明する。ここでは、図1
のフローチャートに示す本発明の配線方法を図2に示す
クロックバッファに適用した場合について説明する。
導体集積回路の配線方法における第1の実施例につい
て、図1及び図2を参照して説明する。ここでは、図1
のフローチャートに示す本発明の配線方法を図2に示す
クロックバッファに適用した場合について説明する。
【0016】図2に示すように、LSI基板1上には共
通のクロック信号で動作するクロックバッファCB1〜
CB4と、各クロックバッファCB1〜CB4に共通の
クロック信号を出力するクロックバッファCB0とが配
置されている。 (基準点設定処理)まず、クロック信号の出力点となる
クロックバッファCB0の出力端子T0から各クロック
バッファCB1〜CB4のクロック信号の入力点となる
入力端子T1〜T4までの直線距離を計測し、出力端子
T0から最短距離に位置する入力端子T1を抽出する
(S21)。
通のクロック信号で動作するクロックバッファCB1〜
CB4と、各クロックバッファCB1〜CB4に共通の
クロック信号を出力するクロックバッファCB0とが配
置されている。 (基準点設定処理)まず、クロック信号の出力点となる
クロックバッファCB0の出力端子T0から各クロック
バッファCB1〜CB4のクロック信号の入力点となる
入力端子T1〜T4までの直線距離を計測し、出力端子
T0から最短距離に位置する入力端子T1を抽出する
(S21)。
【0017】次いで、抽出された入力端子T1と出力端
子T0とを結ぶ直線の中点X1を求め、1番目の基準点
とする(S22)。次いで、1番目の基準点X1から、
クロックバッファCB1を除く各クロックバッファCB
2〜CB4の入力端子までの直線距離を計測し、1番目
の基準点X1から最短距離に位置する入力端子T2を抽
出する(S23)。
子T0とを結ぶ直線の中点X1を求め、1番目の基準点
とする(S22)。次いで、1番目の基準点X1から、
クロックバッファCB1を除く各クロックバッファCB
2〜CB4の入力端子までの直線距離を計測し、1番目
の基準点X1から最短距離に位置する入力端子T2を抽
出する(S23)。
【0018】次いで、抽出された入力端子T2と1番目
の基準点X1を結ぶ直線の線長と1番目の基準点X1と
出力端子T0を結ぶ直線の線長の和を二等分する点X2
を求め、2番目の基準点とする(S24)。次いで、2
番目の基準点X2から最短距離に位置する入力端子T3
を抽出し(S25)、クロックバッファCB3の入力端
子T3と2番目の基準点X2、2番目の基準点X2と1
番目の基準点X1、1番目の基準点X1と出力端子T0
のそれぞれを結ぶ直線の線長の和を2等分する点X3を
求め、3番目の基準点とする(S26)。
の基準点X1を結ぶ直線の線長と1番目の基準点X1と
出力端子T0を結ぶ直線の線長の和を二等分する点X2
を求め、2番目の基準点とする(S24)。次いで、2
番目の基準点X2から最短距離に位置する入力端子T3
を抽出し(S25)、クロックバッファCB3の入力端
子T3と2番目の基準点X2、2番目の基準点X2と1
番目の基準点X1、1番目の基準点X1と出力端子T0
のそれぞれを結ぶ直線の線長の和を2等分する点X3を
求め、3番目の基準点とする(S26)。
【0019】さらに、3番目の基準点X3から最短距離
に位置する入力端子T4を抽出し(S25)、クロック
バッファCB4の入力端子T4と3番目の基準点X3、
3番目の基準点X3と2番目の基準点X2、2番目の基
準点X2と1番目の基準点X1、1番目の基準点X1と
出力端子T0のそれぞれを結ぶ直線の線長の和を2等分
する点X4を求め、4番目の基準点とする(S26)。
に位置する入力端子T4を抽出し(S25)、クロック
バッファCB4の入力端子T4と3番目の基準点X3、
3番目の基準点X3と2番目の基準点X2、2番目の基
準点X2と1番目の基準点X1、1番目の基準点X1と
出力端子T0のそれぞれを結ぶ直線の線長の和を2等分
する点X4を求め、4番目の基準点とする(S26)。
【0020】そして、全ての入力端子が抽出されるま
で、上記処理(S25,S26)を繰り返す(S2
7)。以上のようにして、全クロックバッファCB1〜
CB4に対して配線長が等しくなる4番目の基準点X4
が決定される。すなわち、i番目(iは1≦i<Nの整
数)の基準点から最短距離に位置する、1からi番目の
セルを除くセルの入力点を抽出し、該入力点を有するセ
ルをi+1番目のセルとし、前記出力点から、1からi
番目の基準点を経由してi+1番目のセルの入力点まで
の各基準点間を結ぶ直線の線長計の1/2の点を求め、
i+1番目の基準点とする処理を繰り返すことにより、
全ての入力端子に等長となるN番目の基準点を求めるこ
とができる。
で、上記処理(S25,S26)を繰り返す(S2
7)。以上のようにして、全クロックバッファCB1〜
CB4に対して配線長が等しくなる4番目の基準点X4
が決定される。すなわち、i番目(iは1≦i<Nの整
数)の基準点から最短距離に位置する、1からi番目の
セルを除くセルの入力点を抽出し、該入力点を有するセ
ルをi+1番目のセルとし、前記出力点から、1からi
番目の基準点を経由してi+1番目のセルの入力点まで
の各基準点間を結ぶ直線の線長計の1/2の点を求め、
i+1番目の基準点とする処理を繰り返すことにより、
全ての入力端子に等長となるN番目の基準点を求めるこ
とができる。
【0021】(配線処理)次に、求められた4番目の基
準点X4から各クロックバッファCB1〜CB4への配
線方法について図2及び図3を参照して説明する。ここ
で、各配線処理は一般のCAD等による場合と同様に、
図2及び図3に対してX方向(水平経路)及びY方向
(垂直経路)にのみ配線が形成されるものとする。
準点X4から各クロックバッファCB1〜CB4への配
線方法について図2及び図3を参照して説明する。ここ
で、各配線処理は一般のCAD等による場合と同様に、
図2及び図3に対してX方向(水平経路)及びY方向
(垂直経路)にのみ配線が形成されるものとする。
【0022】まず、4番目の基準点X4からクロックバ
ッファCB4の入力端子T4への経路は、X方向の配線
L41とY方向の配線L42とによって最短経路で接続
される。次いで、4番目の基準点X4からクロックバッ
ファCB3の入力端子T3への経路は、まずX方向の配
線L31とY方向の配線L32とによって4番目の基準
点X4と3番目の基準点X3との間を最短経路で接続
し、さらにX方向の配線L33とY方向の配線L34と
によって3番目の基準点X3と入力端子T3とを最短経
路で接続することにより4番目の基準点X4と入力端子
T3を接続する。
ッファCB4の入力端子T4への経路は、X方向の配線
L41とY方向の配線L42とによって最短経路で接続
される。次いで、4番目の基準点X4からクロックバッ
ファCB3の入力端子T3への経路は、まずX方向の配
線L31とY方向の配線L32とによって4番目の基準
点X4と3番目の基準点X3との間を最短経路で接続
し、さらにX方向の配線L33とY方向の配線L34と
によって3番目の基準点X3と入力端子T3とを最短経
路で接続することにより4番目の基準点X4と入力端子
T3を接続する。
【0023】以下同様にして、4番目の基準点X4から
クロックバッファCB2の入力端子T2への経路は、ま
ず4番目の基準点X4からX方向の配線L31とY方向
の配線L32とによって4番目の基準点X4と3番目の
基準点X3とを最短経路で接続し、次にY方向の配線L
21とX方向の配線L22とによって3番目の基準点X
3と2番目の基準点X2とを最短経路で接続し、さらに
X方向の配線L23とY方向の配線L24とによって2
番目の基準点X2と入力端子T2とを最短経路で接続す
ることにより4番目の基準点X4と入力端子T2を接続
する。
クロックバッファCB2の入力端子T2への経路は、ま
ず4番目の基準点X4からX方向の配線L31とY方向
の配線L32とによって4番目の基準点X4と3番目の
基準点X3とを最短経路で接続し、次にY方向の配線L
21とX方向の配線L22とによって3番目の基準点X
3と2番目の基準点X2とを最短経路で接続し、さらに
X方向の配線L23とY方向の配線L24とによって2
番目の基準点X2と入力端子T2とを最短経路で接続す
ることにより4番目の基準点X4と入力端子T2を接続
する。
【0024】また、4番目の基準点X4からクロックバ
ッファCB1の入力端子T1への経路は、まず4番目の
基準点X4からX方向の配線L31とY方向の配線L3
2とによって4番目の基準点X4と3番目の基準点X3
とを最短経路で接続し、次にY方向の配線L21とX方
向の配線L22とによって3番目の基準点X3と2番目
の基準点X2とを最短経路で接続し、次にY方向の配線
L11とX方向の配線L12とによって2番目の基準点
X2と1番目の基準点X1とを最短経路で接続し、さら
にX方向の配線L13とY方向の配線L14とによって
1番目の基準点X1と入力端子T1とを最短経路で接続
することにより4番目の基準点X4と入力端子T1を接
続する。
ッファCB1の入力端子T1への経路は、まず4番目の
基準点X4からX方向の配線L31とY方向の配線L3
2とによって4番目の基準点X4と3番目の基準点X3
とを最短経路で接続し、次にY方向の配線L21とX方
向の配線L22とによって3番目の基準点X3と2番目
の基準点X2とを最短経路で接続し、次にY方向の配線
L11とX方向の配線L12とによって2番目の基準点
X2と1番目の基準点X1とを最短経路で接続し、さら
にX方向の配線L13とY方向の配線L14とによって
1番目の基準点X1と入力端子T1とを最短経路で接続
することにより4番目の基準点X4と入力端子T1を接
続する。
【0025】最後に、共通配線として出力端子T0から
4番目の基準点X4をX方向の配線L01とY方向の配
線L02によって最短経路で接続し、出力端子T0から
4番目の基準点X4への配線を共通化するとともに、出
力端子T0から各クロックバッファCB1〜CB4の入
力端子T1〜T4への各配線長を等長とすることができ
る。
4番目の基準点X4をX方向の配線L01とY方向の配
線L02によって最短経路で接続し、出力端子T0から
4番目の基準点X4への配線を共通化するとともに、出
力端子T0から各クロックバッファCB1〜CB4の入
力端子T1〜T4への各配線長を等長とすることができ
る。
【0026】このような一連の配線方法によれば、出力
端子T0から4番目の基準点X4までの配線領域を減少
させることができるため、集積度の向上を図ることがで
きるとともに、出力端子T0から各クロックバッファC
B1〜CB4の入力端子T1〜T4への配線長を等長に
できるため、クロックスキューを低減させることができ
る配線を、簡易な方法で得ることができる。
端子T0から4番目の基準点X4までの配線領域を減少
させることができるため、集積度の向上を図ることがで
きるとともに、出力端子T0から各クロックバッファC
B1〜CB4の入力端子T1〜T4への配線長を等長に
できるため、クロックスキューを低減させることができ
る配線を、簡易な方法で得ることができる。
【0027】(第2の実施例)次に、本発明に係る半導
体集積回路の配線方法における第2の実施例について図
4、図5及び図6を参照して説明する。本実施例の特徴
は、上述した第1の実施例による配線処理に加え、遅延
時間の短縮及び配線混雑度の低減を図ったことにある。
体集積回路の配線方法における第2の実施例について図
4、図5及び図6を参照して説明する。本実施例の特徴
は、上述した第1の実施例による配線処理に加え、遅延
時間の短縮及び配線混雑度の低減を図ったことにある。
【0028】(遅延時間の改善方法)まず、遅延時間の
改善について説明する。なお、説明の都合上図4に示す
LSIの領域R1に注目して説明する。図4に示すよう
に、LSI基板1上には共通のクロック信号で動作する
クロックバッファCB1〜CB8と、各クロックバッフ
ァCB1〜CB8に共通のクロック信号を出力するクロ
ックバッファCB0とが配置されている。
改善について説明する。なお、説明の都合上図4に示す
LSIの領域R1に注目して説明する。図4に示すよう
に、LSI基板1上には共通のクロック信号で動作する
クロックバッファCB1〜CB8と、各クロックバッフ
ァCB1〜CB8に共通のクロック信号を出力するクロ
ックバッファCB0とが配置されている。
【0029】まず、このようなLSIに対し第1の実施
例に示した配線方法により配線を行うと、図5に示すよ
うに、クロック信号の出力点となるクロックバッファC
B0の出力端子T0と各クロックバッファCB1〜CB
8のクロック信号の入力点となる入力端子T1〜T8の
間を、基準点X1〜X8を経由する配線処理を行うこと
によって等長に配線される。
例に示した配線方法により配線を行うと、図5に示すよ
うに、クロック信号の出力点となるクロックバッファC
B0の出力端子T0と各クロックバッファCB1〜CB
8のクロック信号の入力点となる入力端子T1〜T8の
間を、基準点X1〜X8を経由する配線処理を行うこと
によって等長に配線される。
【0030】次いで、出力端子T0から各クロックバッ
ファCB1〜CB8へのクロックの遅延時間を評価す
る。ここで、クロックネット全体の遅延時間は出力端子
から最も配線長が長く(遠く)なるクロックバッファに
より左右される。したがって、LSIが大規模になる程
遅延時間が長くなり、回路特性への悪影響が顕著になる
ため遅延時間の短縮が望まれる。
ファCB1〜CB8へのクロックの遅延時間を評価す
る。ここで、クロックネット全体の遅延時間は出力端子
から最も配線長が長く(遠く)なるクロックバッファに
より左右される。したがって、LSIが大規模になる程
遅延時間が長くなり、回路特性への悪影響が顕著になる
ため遅延時間の短縮が望まれる。
【0031】そこで、遅延時間が長い場合、最後に抽出
されたクロックバッファCB8(N番目のセル)のレイ
アウト位置の変更が可能か否か検討し、レイアウトの変
更が可能であれば、クロックバッファCB8のレイアウ
ト位置を配線長が短くなるように、例えば図中矢印Aの
方向に変更する。次いで、6番目の基準点(N−2番目
の基準点)X6からクロックバッファCB8及びクロッ
クバッファCB7(N−1番目のセル)との直線距離を
比較する。
されたクロックバッファCB8(N番目のセル)のレイ
アウト位置の変更が可能か否か検討し、レイアウトの変
更が可能であれば、クロックバッファCB8のレイアウ
ト位置を配線長が短くなるように、例えば図中矢印Aの
方向に変更する。次いで、6番目の基準点(N−2番目
の基準点)X6からクロックバッファCB8及びクロッ
クバッファCB7(N−1番目のセル)との直線距離を
比較する。
【0032】そして、6番目の基準点X6とクロックバ
ッファCB8の直線距離に比較して、6番目の基準点X
6とクロックバッファCB7の直線距離が長くなった場
合には、クロックバッファCB7のレイアウト位置の変
更が可能か否か検討し、レイアウトの変更が可能であれ
ば、クロックバッファCB7のレイアウト位置を配線長
が短くなるように、例えば図中矢印Bの方向に変更す
る。
ッファCB8の直線距離に比較して、6番目の基準点X
6とクロックバッファCB7の直線距離が長くなった場
合には、クロックバッファCB7のレイアウト位置の変
更が可能か否か検討し、レイアウトの変更が可能であれ
ば、クロックバッファCB7のレイアウト位置を配線長
が短くなるように、例えば図中矢印Bの方向に変更す
る。
【0033】以降、5番目の基準点、4番目の基準点・
・・と基準点を遡り(基準点の次数を下げ)、各j番目
の基準点(1≦j≦N−2)とj+1番目以降のセルと
の直線距離を比較し、直線距離が最長となるクロックバ
ッファのレイアウト位置の変更が不可能となるまで、あ
るいは変更しても配線長が短くならなくなるまで繰り返
す。
・・と基準点を遡り(基準点の次数を下げ)、各j番目
の基準点(1≦j≦N−2)とj+1番目以降のセルと
の直線距離を比較し、直線距離が最長となるクロックバ
ッファのレイアウト位置の変更が不可能となるまで、あ
るいは変更しても配線長が短くならなくなるまで繰り返
す。
【0034】次いで、第1の実施例と同様に配線処理を
行う。このように、最高次の基準点から最も遠い位置に
あるクロックバッファについて、レイアウト位置の変更
を行い、再度配線処理を行うことにより、図6に示すよ
うに、出力端子T0と各入力端子T1〜T8の間の配線
長を、図5に示した配線の配線長よりも短くすることが
できるため、出力端子T0から各入力端子T1〜T8へ
の信号の遅延時間を最小限に短縮して、LSIの動作速
度の向上を図ることができる。
行う。このように、最高次の基準点から最も遠い位置に
あるクロックバッファについて、レイアウト位置の変更
を行い、再度配線処理を行うことにより、図6に示すよ
うに、出力端子T0と各入力端子T1〜T8の間の配線
長を、図5に示した配線の配線長よりも短くすることが
できるため、出力端子T0から各入力端子T1〜T8へ
の信号の遅延時間を最小限に短縮して、LSIの動作速
度の向上を図ることができる。
【0035】なお、セルのレイアウト位置の変更は、例
えば出力端子あるいは基準点との直線距離が同一の位置
への変更であっても、水平経路及び垂直経路による配線
長が短くなるものであればよい。 (配線混雑度の改善方法)次に、配線混雑度の改善につ
いて説明する。なお、説明の都合上図4に示すLSIの
領域R2に注目して説明する。
えば出力端子あるいは基準点との直線距離が同一の位置
への変更であっても、水平経路及び垂直経路による配線
長が短くなるものであればよい。 (配線混雑度の改善方法)次に、配線混雑度の改善につ
いて説明する。なお、説明の都合上図4に示すLSIの
領域R2に注目して説明する。
【0036】まず、図4に示すように配置されたクロッ
クバッファCB0〜CB8に対し第1の実施例に示した
配線方法により配線を行い、図5に示すような配線を得
る。次いで、出力端子T0から各クロックバッファCB
1〜CB8への配線の混雑度を評価する。ここで、配線
混雑度は、特定の領域における配線数、あるいは配線面
積率で表現されるが、混雑度が高い場合、配線領域の拡
大、配線パターンの不良等を招き易く、LSIの特性上
混雑度の低減が望まれる。
クバッファCB0〜CB8に対し第1の実施例に示した
配線方法により配線を行い、図5に示すような配線を得
る。次いで、出力端子T0から各クロックバッファCB
1〜CB8への配線の混雑度を評価する。ここで、配線
混雑度は、特定の領域における配線数、あるいは配線面
積率で表現されるが、混雑度が高い場合、配線領域の拡
大、配線パターンの不良等を招き易く、LSIの特性上
混雑度の低減が望まれる。
【0037】配線の混雑度が高い場合、セルが集中して
いる領域R2については、領域R2内の最高次の基準
点、例えば6番目の基準点X6を信号の出力点として、
領域内の各クロックバッファCB1〜CB5に対して、
上述した第1の実施例の配線方法を適用する。このよう
に、配線混雑度が高いと評価された特定の領域内に存在
するクロックバッファのみを対象として、再度配線処理
を行うことにより、図6に示すように領域内の配線を共
通化して削減し、混雑度を緩和することができるため、
配線領域を減少させることができ、一層の集積度の向上
を図ることができる。
いる領域R2については、領域R2内の最高次の基準
点、例えば6番目の基準点X6を信号の出力点として、
領域内の各クロックバッファCB1〜CB5に対して、
上述した第1の実施例の配線方法を適用する。このよう
に、配線混雑度が高いと評価された特定の領域内に存在
するクロックバッファのみを対象として、再度配線処理
を行うことにより、図6に示すように領域内の配線を共
通化して削減し、混雑度を緩和することができるため、
配線領域を減少させることができ、一層の集積度の向上
を図ることができる。
【0038】
【発明の効果】以上説明したように、本発明の半導体集
積回路の配線方法によれば、クロックネットを構成する
回路群のような複数のセルへの配線長が等長となる基準
点を求め、クロック信号の出力点から該基準点までの配
線を共通化し、該基準点から各セルへの配線長を等長に
するように配線処理を施すことができるため、クロック
信号の出力点から前記基準点までの配線領域を減少さ
せ、集積度の向上を図ることができるとともに、クロッ
ク信号の出力点から各セルへの配線長を等長にして、ク
ロックスキューを低減することができる。
積回路の配線方法によれば、クロックネットを構成する
回路群のような複数のセルへの配線長が等長となる基準
点を求め、クロック信号の出力点から該基準点までの配
線を共通化し、該基準点から各セルへの配線長を等長に
するように配線処理を施すことができるため、クロック
信号の出力点から前記基準点までの配線領域を減少さ
せ、集積度の向上を図ることができるとともに、クロッ
ク信号の出力点から各セルへの配線長を等長にして、ク
ロックスキューを低減することができる。
【0039】また、一旦上記配線処理を施した後、少な
くとも信号の出力点から最長距離にあるセルがレイアウ
ト変更可能な場合には、配線長が短くなる位置にレイア
ウト位置を変更し、再度配線処理することにより、信号
の出力点から各セルへの配線長を短くすることができる
ため、信号の出力点から各セルへの信号の遅延時間を短
縮することができ、LSIの動作速度の向上を図ること
ができる。
くとも信号の出力点から最長距離にあるセルがレイアウ
ト変更可能な場合には、配線長が短くなる位置にレイア
ウト位置を変更し、再度配線処理することにより、信号
の出力点から各セルへの配線長を短くすることができる
ため、信号の出力点から各セルへの信号の遅延時間を短
縮することができ、LSIの動作速度の向上を図ること
ができる。
【0040】さらに、一旦上記配線処理を施した後、未
だセル及び配線が混み合っている領域のみを抽出して再
度配線処理を行うことにより、配線の混雑度を緩和する
ことができるため、配線領域を減少させることができ、
一層の集積度の向上を図ることができる。
だセル及び配線が混み合っている領域のみを抽出して再
度配線処理を行うことにより、配線の混雑度を緩和する
ことができるため、配線領域を減少させることができ、
一層の集積度の向上を図ることができる。
【図1】本発明に係る半導体集積回路の配線方法の第1
の実施例を示すフローチャートである。
の実施例を示すフローチャートである。
【図2】本発明に係る半導体集積回路の配線方法の第1
の実施例におけるクロックバッファの配置図である。
の実施例におけるクロックバッファの配置図である。
【図3】本発明に係る半導体集積回路の配線方法の第1
の実施例における配線図である。
の実施例における配線図である。
【図4】本発明に係る半導体集積回路の配線方法の第2
の実施例におけるクロックバッファの配置図である。
の実施例におけるクロックバッファの配置図である。
【図5】本発明に係る半導体集積回路の配線方法の第2
の実施例における途中段階の配線図である。
の実施例における途中段階の配線図である。
【図6】本発明に係る半導体集積回路の配線方法の第2
の実施例における最終的な配線図である。
の実施例における最終的な配線図である。
【図7】従来の配線方法の第1の例を示す配線図であ
る。
る。
【図8】従来の配線方法の第2の例を示す配線図であ
る。
る。
【図9】従来の配線方法の第3の例を示す配線図であ
る。
る。
1 LSI基板 2a、2b クロックバッファ 3、3a〜3d ブロック 21a〜21h、22a、22b、23a、23b、2
4a、24b、21〜26 配線 CB0〜CB8 クロックバッファ T0 出力端子 T1〜T8 入力端子 X1〜X8 基準点 L01、L02、L11〜L14、L21〜L24、L
31〜L34、L41、L42 配線
4a、24b、21〜26 配線 CB0〜CB8 クロックバッファ T0 出力端子 T1〜T8 入力端子 X1〜X8 基準点 L01、L02、L11〜L14、L21〜L24、L
31〜L34、L41、L42 配線
Claims (4)
- 【請求項1】複数(N(Nは2≦Nの整数)個)のセル
が所定のレイアウトに配置され、該複数のセルに共通に
入力される所定の信号の出力点と前記複数のセル間を水
平経路及び垂直経路により配線する半導体集積回路の配
線方法において、 前記出力点から最短距離に位置する前記セルの入力点を
抽出し、該入力点を有するセルを1番目のセルとするス
テップと、 前記出力点と前記1番目のセルの入力点を結ぶ直線の中
点を求め、1番目の基準点とするステップと、 i番目(iは1≦i<Nの整数)の基準点から最短距離
に位置する、1からi番目のセルを除くセルの入力点を
抽出し、該入力点を有するセルをi+1番目のセルとす
るステップと、 前記出力点から、1からi番目の基準点を経由してi+
1番目のセルの入力点までの各基準点間を結ぶ直線の線
長計の1/2の点を求め、i+1番目の基準点とするス
テップと、 上記ステップを順次繰り返して、N番目のセルとN番目
の基準点を求めるステップと、 前記N番目の基準点とN番目のセルの入力点間を最短距
離で配線するステップと、 前記N番目の基準点とi番目のセルの入力点間をiから
N−1番目の基準点を経由して最短距離で配線するステ
ップと、 上記ステップを順次繰り返して、前記複数のセルの全て
と前記N番目の基準点とを配線接続するステップと、 前記出力点から前記N番目の基準点間を最短距離で配線
するステップと、を有することを特徴とする半導体集積
回路の配線方法。 - 【請求項2】請求項1記載の配線方法により配線処理さ
れた前記半導体集積回路の動作評価を行うステップと、 少なくとも前記N番目のセルのレイアウト位置を変更す
るステップと、 請求項1記載の配線方法により再度配線処理を行うステ
ップと、を有することを特徴とする半導体集積回路の配
線方法。 - 【請求項3】請求項1記載の配線方法により配線処理さ
れた半導体集積回路の特定の領域に含まれる前記複数の
セルに対して、請求項1記載の配線方法により再度配線
処理を行うことを特徴とする半導体集積回路の配線方
法。 - 【請求項4】前記複数のセルは、クロックネットを構成
する回路群であり、 前記所定の信号は、クロック信号であることを特徴とす
る請求項1、2または3記載の半導体集積回路の配線方
法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10222058A JP2000058656A (ja) | 1998-08-05 | 1998-08-05 | 半導体集積回路の配線方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10222058A JP2000058656A (ja) | 1998-08-05 | 1998-08-05 | 半導体集積回路の配線方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000058656A true JP2000058656A (ja) | 2000-02-25 |
Family
ID=16776452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10222058A Withdrawn JP2000058656A (ja) | 1998-08-05 | 1998-08-05 | 半導体集積回路の配線方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000058656A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100655068B1 (ko) * | 2000-09-14 | 2006-12-08 | 삼성전자주식회사 | 셋업/홀드 윈도우 및 스큐를 개선하는 신호라인배치구조를 가지는 반도체 장치 |
-
1998
- 1998-08-05 JP JP10222058A patent/JP2000058656A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100655068B1 (ko) * | 2000-09-14 | 2006-12-08 | 삼성전자주식회사 | 셋업/홀드 윈도우 및 스큐를 개선하는 신호라인배치구조를 가지는 반도체 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2735034B2 (ja) | クロック信号分配回路 | |
US6772406B1 (en) | Method for making large-scale ASIC using pre-engineered long distance routing structure | |
US6292024B1 (en) | Integrated circuit with a serpentine conductor track for circuit selection | |
US6609241B2 (en) | Method of designing clock wiring | |
JP2003092352A (ja) | 半導体集積回路装置のクロック信号分配回路 | |
US6043704A (en) | Clock distribution circuit for semiconductor integrated circuit | |
US6260181B1 (en) | Integrated circuit and the design method thereof | |
JP4743469B2 (ja) | 半導体集積回路装置とクロック分配方法 | |
JP2000058656A (ja) | 半導体集積回路の配線方法 | |
JP3165592B2 (ja) | データパス自動配置方法及びその装置 | |
JP3869406B2 (ja) | クロック位相差検出回路、クロック分配回路、及び大規模集積回路 | |
JP4878727B2 (ja) | 半導体集積回路 | |
JP2005116793A (ja) | 半導体集積回路及びそのクロック配線方法 | |
US6292043B1 (en) | Semiconductor integrated circuit device | |
JP3104746B2 (ja) | クロックツリーレイアウト装置 | |
JP2000035832A (ja) | 半導体集積回路及びそのクロック分配方法 | |
JPH0384951A (ja) | 集積回路のレイアウト設計方法 | |
JP2012137986A (ja) | 半導体集積回路のレイアウト設計装置、半導体集積回路のレイアウト設計方法及びプログラム | |
JPS60254633A (ja) | 回路の等容量配線方式 | |
JPH08274260A (ja) | クロックスキュー低減方法 | |
JPH04217345A (ja) | 半導体装置 | |
JPH08272480A (ja) | 遅延調整手段付き半導体集積回路とその遅延調整方式 | |
JP2004207530A (ja) | 半導体集積回路及びそのレイアウト設計方法 | |
JP2002007500A (ja) | クロックツリー設計方法 | |
JP2002203906A (ja) | 遅延時間調整回路およびこれを用いた配線方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20051101 |