JPH08129576A - 半導体装置のマスクレイアウト設計方法 - Google Patents
半導体装置のマスクレイアウト設計方法Info
- Publication number
- JPH08129576A JPH08129576A JP6268697A JP26869794A JPH08129576A JP H08129576 A JPH08129576 A JP H08129576A JP 6268697 A JP6268697 A JP 6268697A JP 26869794 A JP26869794 A JP 26869794A JP H08129576 A JPH08129576 A JP H08129576A
- Authority
- JP
- Japan
- Prior art keywords
- wiring
- clock
- block
- blocks
- information
- 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
Links
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
(57)【要約】
【目的】 半導体装置のレイアウト設計において、スキ
ューと遅延値を低減する。 【構成】 ブロック配置工程101でブロックとブロッ
ク間の配線チャネルの大きさと形状を見積り、ブロック
の配置処理を行ない、ブロック内配置配線工程102で
各ブロックの内部を配置配線する。階層展開工程103
で半導体装置の全ブロックを展開し、クロック配線工程
104でクロック発生源から展開したブロックのクロッ
ク端子までのスキューが最小となるようクロック配線を
行ない、クロック配線情報抽出工程105でクロック配
線の情報を抽出する。抽出したクロック配線の情報を使
用し、ブロック内再配線工程106でブロック内の配線
を再度実行し、ブロック間配線工程107でブロック間
の配線を行なう。
ューと遅延値を低減する。 【構成】 ブロック配置工程101でブロックとブロッ
ク間の配線チャネルの大きさと形状を見積り、ブロック
の配置処理を行ない、ブロック内配置配線工程102で
各ブロックの内部を配置配線する。階層展開工程103
で半導体装置の全ブロックを展開し、クロック配線工程
104でクロック発生源から展開したブロックのクロッ
ク端子までのスキューが最小となるようクロック配線を
行ない、クロック配線情報抽出工程105でクロック配
線の情報を抽出する。抽出したクロック配線の情報を使
用し、ブロック内再配線工程106でブロック内の配線
を再度実行し、ブロック間配線工程107でブロック間
の配線を行なう。
Description
【0001】
【産業上の利用分野】本発明は、半導体装置の設計にお
けるマスクレイアウト設計方法に関するものである。
けるマスクレイアウト設計方法に関するものである。
【0002】
【従来の技術】半導体装置の微細化、高密度化が進み、
レイアウト設計を行なう際に必要となる工数や処理時間
が、規模の増加に伴い指数関数的に増加する。そのた
め、半導体装置全体を一度にレイアウトをするには、莫
大な時間と労力を消費する。前述した問題を解決するた
めに、回路の機能や規模などにより半導体装置を複数の
ブロックに分割し、予め設計されたマクロブロックを除
く各ブロック毎に配置配線を実行した後、ブロック間の
配線を行なう「階層設計手法」と呼ばれる設計方法が広
く用いられている。
レイアウト設計を行なう際に必要となる工数や処理時間
が、規模の増加に伴い指数関数的に増加する。そのた
め、半導体装置全体を一度にレイアウトをするには、莫
大な時間と労力を消費する。前述した問題を解決するた
めに、回路の機能や規模などにより半導体装置を複数の
ブロックに分割し、予め設計されたマクロブロックを除
く各ブロック毎に配置配線を実行した後、ブロック間の
配線を行なう「階層設計手法」と呼ばれる設計方法が広
く用いられている。
【0003】また、大規模で且つ高速な半導体装置が開
発されるに従い、配線長の増加に伴う遅延値の増加が無
視できなくなってきている。特に、クロック信号の遅延
値差(スキュー)が大きい場合、フリップフロップ等のク
ロック入力信号の到着時間に差が生じ、半導体装置が動
かない、または、誤動作などの悪影響を及ぼす。よっ
て、前述したような悪影響を解消する、「クロックツリ
ー方式」等と呼ばれる方法のマスクレイアウト設計方法
が提案されている。
発されるに従い、配線長の増加に伴う遅延値の増加が無
視できなくなってきている。特に、クロック信号の遅延
値差(スキュー)が大きい場合、フリップフロップ等のク
ロック入力信号の到着時間に差が生じ、半導体装置が動
かない、または、誤動作などの悪影響を及ぼす。よっ
て、前述したような悪影響を解消する、「クロックツリ
ー方式」等と呼ばれる方法のマスクレイアウト設計方法
が提案されている。
【0004】「クロックツリー方式」のマスクレイアウ
ト設計方法として、例えば、ブロック内部の同期をとる
設計方法として、公知例「イグザクト ゼロスキュー」
(プロシーディング アイ・イー・イー・イー インター
ナショナル カンファレンス オンコ ンピュータ エイデ
ィッド デザイン:Proc. IEEE Int. Conference on Comp
uter-Aided Design, pp336-339, 1991)などがある。公
知例「イグザクトゼ ロスキュー」は、まず、関係のあ
るセルを幾つかのクラスタと呼ばれるグループに分け、
各クラスタ内の負荷容量が均等になるように2分割処理
を繰り返すクラスタリングを行ない、クラスタ内のクロ
ック端子を最短経路配線する。さらに、再帰2分割処理
により、クラスタ間のノードにディレイ最小となるよう
なドライバセルを挿入し、階層的なツリー構造を形成す
る。そして、最も下位の階層から順に、ツリーの分岐点
をスキュー最小とすることで配線を最小にし、各階層の
配線終了後、バッファセルの位置やサイズを変更するこ
とによってスキューを低減、または、解消するものであ
る。
ト設計方法として、例えば、ブロック内部の同期をとる
設計方法として、公知例「イグザクト ゼロスキュー」
(プロシーディング アイ・イー・イー・イー インター
ナショナル カンファレンス オンコ ンピュータ エイデ
ィッド デザイン:Proc. IEEE Int. Conference on Comp
uter-Aided Design, pp336-339, 1991)などがある。公
知例「イグザクトゼ ロスキュー」は、まず、関係のあ
るセルを幾つかのクラスタと呼ばれるグループに分け、
各クラスタ内の負荷容量が均等になるように2分割処理
を繰り返すクラスタリングを行ない、クラスタ内のクロ
ック端子を最短経路配線する。さらに、再帰2分割処理
により、クラスタ間のノードにディレイ最小となるよう
なドライバセルを挿入し、階層的なツリー構造を形成す
る。そして、最も下位の階層から順に、ツリーの分岐点
をスキュー最小とすることで配線を最小にし、各階層の
配線終了後、バッファセルの位置やサイズを変更するこ
とによってスキューを低減、または、解消するものであ
る。
【0005】具体的な方法として、従来の技術おいて広
く使用される設計フローについて図8を用いて説明す
る。
く使用される設計フローについて図8を用いて説明す
る。
【0006】ブロック配置工程801では、手動、また
は、ブロック配置アルゴリズムを使用し、予め設計され
たマクロブロックを除くブロックを回路接続情報に含ま
れるセル数やネット数などの情報から大きさ、形状、外
部端子の配線層と位置を正確に見積る。さらに、ブロッ
ク間の配線チャネルの大きさと形状を正確に見積もり、
ブロックを配置を決定する。
は、ブロック配置アルゴリズムを使用し、予め設計され
たマクロブロックを除くブロックを回路接続情報に含ま
れるセル数やネット数などの情報から大きさ、形状、外
部端子の配線層と位置を正確に見積る。さらに、ブロッ
ク間の配線チャネルの大きさと形状を正確に見積もり、
ブロックを配置を決定する。
【0007】ブロック内配置配線工程802では、「ク
ロックツリー方式」などのスキューを低減させることが
できるアルゴリズムをもつブロック内の配置配線アルゴ
リズムを用いて、クロック信号の回路接続情報を含むす
べての回路接続情報に従って、マクロブロックを除くブ
ロックの配置配線を行ない、クロック外部端子からブロ
ック内部のクロック端子までのスキューを低減、また
は、解消する。
ロックツリー方式」などのスキューを低減させることが
できるアルゴリズムをもつブロック内の配置配線アルゴ
リズムを用いて、クロック信号の回路接続情報を含むす
べての回路接続情報に従って、マクロブロックを除くブ
ロックの配置配線を行ない、クロック外部端子からブロ
ック内部のクロック端子までのスキューを低減、また
は、解消する。
【0008】ブロック間配線工程803において、各ク
ロック外部端子位置と負荷の情報をもとに、クロック発
生源からクロック外部端子までのスキューが予め定めら
れた範囲内に収まるようクロック信号の配線と、クロッ
ク信号以外の配線を行なう。
ロック外部端子位置と負荷の情報をもとに、クロック発
生源からクロック外部端子までのスキューが予め定めら
れた範囲内に収まるようクロック信号の配線と、クロッ
ク信号以外の配線を行なう。
【0009】図8のフローに従い、レイアウトを行なっ
た結果を図9に示す。図9は、クロック配線の結果を理
解しやすくするために、ブロックをレイアウト後展開
し、クロック信号以外の配線は省略した。
た結果を図9に示す。図9は、クロック配線の結果を理
解しやすくするために、ブロックをレイアウト後展開
し、クロック信号以外の配線は省略した。
【0010】図9に示すように、従来の技術によるマス
クレイアウト設計方法では、ブロック204〜208内
部の各クロック端子401までのスキューを低減、また
は、解消することが可能であるが、ブロック204〜2
08それぞれの内部にあるクロック端子401までの配
線経路、および、クロック端子401の数が異なるた
め、ブロック204〜208それぞれの持つクロック信
号の負荷の値が異ることがわかる。ブロック内部の負荷
に応じて、ブロック間のクロック信号の配線906の長
さやクロック信号の配線906の接続点、クロック分配
部905、および、クロック外部端子901〜904の
位置などの最適な値を求めなければならないため、ブロ
ック間におけるスキューを低減することが困難である。
クレイアウト設計方法では、ブロック204〜208内
部の各クロック端子401までのスキューを低減、また
は、解消することが可能であるが、ブロック204〜2
08それぞれの内部にあるクロック端子401までの配
線経路、および、クロック端子401の数が異なるた
め、ブロック204〜208それぞれの持つクロック信
号の負荷の値が異ることがわかる。ブロック内部の負荷
に応じて、ブロック間のクロック信号の配線906の長
さやクロック信号の配線906の接続点、クロック分配
部905、および、クロック外部端子901〜904の
位置などの最適な値を求めなければならないため、ブロ
ック間におけるスキューを低減することが困難である。
【0011】クロック信号の配線906に特定の配線層
を使用しない限り、ブロック内部はブロック間の配線領
域として使用できないため、ブロック間において迂回配
線を行なわなければならない。また、ブロック間のクロ
ック信号の配線906の長さを最適な長さにするため
に、配線を引きまわすなどの処理を行なわなければなら
ない。そのため、冗長な配線が発生し、クロック信号の
遅延値が増加する。
を使用しない限り、ブロック内部はブロック間の配線領
域として使用できないため、ブロック間において迂回配
線を行なわなければならない。また、ブロック間のクロ
ック信号の配線906の長さを最適な長さにするため
に、配線を引きまわすなどの処理を行なわなければなら
ない。そのため、冗長な配線が発生し、クロック信号の
遅延値が増加する。
【0012】
【発明が解決しようとする課題】従来の技術「クロック
ツリー方式」では、各ブロック内部のスキューを低減、
または、解消することができる。しかし、半導体装置全
体を考えた時、クロックの発生源から各ブロックのクロ
ック端子までの配線経路の違いや各ブロック内部の負荷
の違い(例えばフリップフロップの数など)により、ブロ
ック間におけるスキューや遅延値を低減する同期回路の
設計が非常に困難であった。
ツリー方式」では、各ブロック内部のスキューを低減、
または、解消することができる。しかし、半導体装置全
体を考えた時、クロックの発生源から各ブロックのクロ
ック端子までの配線経路の違いや各ブロック内部の負荷
の違い(例えばフリップフロップの数など)により、ブロ
ック間におけるスキューや遅延値を低減する同期回路の
設計が非常に困難であった。
【0013】本発明は、上述の従来の設計方法の問題を
解消し、精度の良い、バランスのとれたクロック配線を
容易に実現できる半導体装置のマスクレイアウト方法を
提供することを目的とする。
解消し、精度の良い、バランスのとれたクロック配線を
容易に実現できる半導体装置のマスクレイアウト方法を
提供することを目的とする。
【0014】
【課題を解決するための手段】この目的を達成するため
に、ブロックとブロック間の配線チャネルの大きさや形
状を見積もり、ブロックの配置処理を行なうブロック配
置工程と、前記ブロック配置工程に、予め設計されたマ
クロブロックを除く各ブロック内部のセルの配置と配線
処理を行なうブロック内配置配線工程と、前記ブロック
内配置配線工程後に、すべてのブロックの階層を展開す
る階層展開工程と、前記階層展開工程後に、クロック入
力を必要とするクロック端子の位置や負荷などの情報を
抽出し、クロック発生源から各クロック端子までスキュ
ーが最小となるようにクロックの配線のみを行なうクロ
ック配線工程と、クロック配線工程後に、敷設されたク
ロック配線の情報を抽出するクロック配線抽出工程と、
クロック配線情報抽出工程後に、抽出されたクロック配
線情報を制約条件としたブロック内部の配線処理を行な
うブロック再配線工程と、ブロック内再配線工程後に、
再配線された各ブロック間の配線チャネルを前記クロッ
ク配線情報抽出工程で抽出されたクロック配線情報を制
約条件とし、ブロック間の配線するブロック間配線工程
を含むことを特徴とする。
に、ブロックとブロック間の配線チャネルの大きさや形
状を見積もり、ブロックの配置処理を行なうブロック配
置工程と、前記ブロック配置工程に、予め設計されたマ
クロブロックを除く各ブロック内部のセルの配置と配線
処理を行なうブロック内配置配線工程と、前記ブロック
内配置配線工程後に、すべてのブロックの階層を展開す
る階層展開工程と、前記階層展開工程後に、クロック入
力を必要とするクロック端子の位置や負荷などの情報を
抽出し、クロック発生源から各クロック端子までスキュ
ーが最小となるようにクロックの配線のみを行なうクロ
ック配線工程と、クロック配線工程後に、敷設されたク
ロック配線の情報を抽出するクロック配線抽出工程と、
クロック配線情報抽出工程後に、抽出されたクロック配
線情報を制約条件としたブロック内部の配線処理を行な
うブロック再配線工程と、ブロック内再配線工程後に、
再配線された各ブロック間の配線チャネルを前記クロッ
ク配線情報抽出工程で抽出されたクロック配線情報を制
約条件とし、ブロック間の配線するブロック間配線工程
を含むことを特徴とする。
【0015】
【作用】本発明によれば、階層的なレイアウト設計にお
いて、クロック信号の配線を行なう際に、ブロックの階
層を展開しクロック信号の配線を行ない、展開して行な
ったクロック信号の配線の情報を使用し、再度、階層的
にレイアウト設計を行なうことにより、ブロック内部の
スキューを低減させる方法を用いて、容易にクロック発
生源から各クロック端子までのクロック信号のずれを低
減させることができる。
いて、クロック信号の配線を行なう際に、ブロックの階
層を展開しクロック信号の配線を行ない、展開して行な
ったクロック信号の配線の情報を使用し、再度、階層的
にレイアウト設計を行なうことにより、ブロック内部の
スキューを低減させる方法を用いて、容易にクロック発
生源から各クロック端子までのクロック信号のずれを低
減させることができる。
【0016】
(実施例1)以下、本発明の一実施例について図面を用い
て説明する。
て説明する。
【0017】本発明のフローを、図1を用いて説明す
る。本発明は、ブロック配置工程101、ブロック内配
置配線工程102、階層展開工程103、クロック配線
工程104、クロック配線情報抽出工程105、ブロッ
ク内再配線工程106、ブロック間配線工程107から
構成されている。
る。本発明は、ブロック配置工程101、ブロック内配
置配線工程102、階層展開工程103、クロック配線
工程104、クロック配線情報抽出工程105、ブロッ
ク内再配線工程106、ブロック間配線工程107から
構成されている。
【0018】ブロック配置工程101について、図2を
用いて説明する。図2は、それぞれ、半導体装置20
1、半導体装置の上辺中央部付近に設けられたクロック
発生源202、予め設計されたマクロブロック203、
内部の配置配線が行なわれるブロック204〜208、
ブロック間の配線チャネル209を示す。
用いて説明する。図2は、それぞれ、半導体装置20
1、半導体装置の上辺中央部付近に設けられたクロック
発生源202、予め設計されたマクロブロック203、
内部の配置配線が行なわれるブロック204〜208、
ブロック間の配線チャネル209を示す。
【0019】ブロック配置工程101では、手動、また
は、ブロック間配置アルゴリズを使用し、予め設計され
たマクロブロック203を除くブロック204〜208
それぞれに対し、回路接続情報に含まれるセル数やネッ
ト数などの情報から大きさ、形状、外部端子の配線層と
位置を正確に見積る。さらに、ブロック間の配線チャネ
ル209の大きさと形状を正確に見積もり、ブロックの
配置を決定する。
は、ブロック間配置アルゴリズを使用し、予め設計され
たマクロブロック203を除くブロック204〜208
それぞれに対し、回路接続情報に含まれるセル数やネッ
ト数などの情報から大きさ、形状、外部端子の配線層と
位置を正確に見積る。さらに、ブロック間の配線チャネ
ル209の大きさと形状を正確に見積もり、ブロックの
配置を決定する。
【0020】ブロック内配置配線工程102では、ブロ
ック内の配置配線アルゴリズムを用いて、クロック信号
の回路接続情報を除く回路接続情報に従って、ブロック
204〜208それぞれの面積、総配線長が最小となる
よう配置配線を行なう。
ック内の配置配線アルゴリズムを用いて、クロック信号
の回路接続情報を除く回路接続情報に従って、ブロック
204〜208それぞれの面積、総配線長が最小となる
よう配置配線を行なう。
【0021】階層展開工程103について、図3を用い
て説明する。図3は、それぞれマクロブロックの外枠3
01、内部が配置配線されるブロックの外枠302〜3
06、セル列307、各セル列に含まれるセル308を
示す。
て説明する。図3は、それぞれマクロブロックの外枠3
01、内部が配置配線されるブロックの外枠302〜3
06、セル列307、各セル列に含まれるセル308を
示す。
【0022】階層展開工程103では、図2の予め設計
されたマクロブロック203、ブロック内配置配線工程
102において内部の配置配線が施されたブロック20
4〜208のすべてのブロックから、図3に示すマクロ
ブロックの外枠301、ブロック204〜208それぞ
れの外枠302〜306、セル列307、および、各セ
ル列に含まれるセル308などの情報を抽出し、その情
報をもとにブロックを展開する。
されたマクロブロック203、ブロック内配置配線工程
102において内部の配置配線が施されたブロック20
4〜208のすべてのブロックから、図3に示すマクロ
ブロックの外枠301、ブロック204〜208それぞ
れの外枠302〜306、セル列307、および、各セ
ル列に含まれるセル308などの情報を抽出し、その情
報をもとにブロックを展開する。
【0023】クロック配線工程104について、図4を
用いて説明する。図4は、それぞれクロック入力を必要
とするクロック端子401、クロック信号の配線40
2、各クロック端子401までのスキューが最小となる
クロック信号の配線402の接続点であるクロック分配
部403を示す。
用いて説明する。図4は、それぞれクロック入力を必要
とするクロック端子401、クロック信号の配線40
2、各クロック端子401までのスキューが最小となる
クロック信号の配線402の接続点であるクロック分配
部403を示す。
【0024】クロック配線工程104では、階層展開工
程103で抽出されたセル列307内部のセル308の
クロック入力を必要とする各クロック端子401の位置
と負荷の情報をもとに、従来の技術「クロックツリー方
式」で使用される2分木のクロックツリーを用いて、各
クロック端子401間からクロック発生源202までボ
トムアップに、スキューが最小となるようにクロック信
号の回路接続情報に従ってクロック信号の配線のみを行
なう。
程103で抽出されたセル列307内部のセル308の
クロック入力を必要とする各クロック端子401の位置
と負荷の情報をもとに、従来の技術「クロックツリー方
式」で使用される2分木のクロックツリーを用いて、各
クロック端子401間からクロック発生源202までボ
トムアップに、スキューが最小となるようにクロック信
号の回路接続情報に従ってクロック信号の配線のみを行
なう。
【0025】クロック配線情報抽出工程105につい
て、図5を用いて説明する。図5は、それぞれクロック
外部端子501〜511を示す。クロック配線情報抽出
工程105では、階層展開工程103で抽出したブロッ
クの外枠302〜306の情報をもとに、クロック信号
の配線402とブロックの外枠302〜306とが交差
する点にそれぞれクロック外部端子501〜511を生
成する。ブロック内部のクロック配線に関しては、生成
したクロック外部端子501〜511毎に、クロック外
部端子501〜511それぞれに継るクロック端子40
1とクロック信号の配線402の情報を抽出し、抽出し
た配線の回路接続情報を生成する。ブロック間のクロッ
ク信号の配線402に関しては、クロック外部端子50
1〜511それぞれの間、および、クロック発生源20
2とクロック外部端子501〜511それぞれの間のク
ロック信号の配線402の情報を抽出し、抽出した配線
の回路接続情報を生成する。
て、図5を用いて説明する。図5は、それぞれクロック
外部端子501〜511を示す。クロック配線情報抽出
工程105では、階層展開工程103で抽出したブロッ
クの外枠302〜306の情報をもとに、クロック信号
の配線402とブロックの外枠302〜306とが交差
する点にそれぞれクロック外部端子501〜511を生
成する。ブロック内部のクロック配線に関しては、生成
したクロック外部端子501〜511毎に、クロック外
部端子501〜511それぞれに継るクロック端子40
1とクロック信号の配線402の情報を抽出し、抽出し
た配線の回路接続情報を生成する。ブロック間のクロッ
ク信号の配線402に関しては、クロック外部端子50
1〜511それぞれの間、および、クロック発生源20
2とクロック外部端子501〜511それぞれの間のク
ロック信号の配線402の情報を抽出し、抽出した配線
の回路接続情報を生成する。
【0026】ブロック内再配線工程106では、ブロッ
ク内配置配線工程102で得られた配置配線の結果に対
して、クロック配線情報抽出工程105で抽出したブロ
ック内のクロック信号の配線402の情報と回路接続情
報をもとに、クロック信号の配線402を施設する。ク
ロック信号の配線402を施設したことにより、設計ル
ールエラーが発生する場合、クロック信号の配線402
は変更せず、ブロック内配置配線工程102で得られた
配線結果を改善する。ブロック内配置配線工程102で
得られた配線結果を改善したことにより、セル列307
間の配線チャネルが広がり、セル列307が動く場合、
クロック信号の配線402をセル列307が動く方向に
動いた分だけ伸縮し、クロック信号の配線切れを防ぐ微
調整を行なう。図6(a)にブロック内配置配線工程10
2で得られた配置配線の結果に対して、クロック配線情
報抽出工程105で抽出したクロック信号の配線402
を施設した結果を、図6(b)にブロック内配置配線工程
102で得られた配線結果を改善し、微調整を行なった
結果を示す。図6(a)、および、(b)は、ブロック内再配
線工程106におけるクロック配線の結果を明確にする
ため、クロック信号の配線402以外の配線は省略し
た。
ク内配置配線工程102で得られた配置配線の結果に対
して、クロック配線情報抽出工程105で抽出したブロ
ック内のクロック信号の配線402の情報と回路接続情
報をもとに、クロック信号の配線402を施設する。ク
ロック信号の配線402を施設したことにより、設計ル
ールエラーが発生する場合、クロック信号の配線402
は変更せず、ブロック内配置配線工程102で得られた
配線結果を改善する。ブロック内配置配線工程102で
得られた配線結果を改善したことにより、セル列307
間の配線チャネルが広がり、セル列307が動く場合、
クロック信号の配線402をセル列307が動く方向に
動いた分だけ伸縮し、クロック信号の配線切れを防ぐ微
調整を行なう。図6(a)にブロック内配置配線工程10
2で得られた配置配線の結果に対して、クロック配線情
報抽出工程105で抽出したクロック信号の配線402
を施設した結果を、図6(b)にブロック内配置配線工程
102で得られた配線結果を改善し、微調整を行なった
結果を示す。図6(a)、および、(b)は、ブロック内再配
線工程106におけるクロック配線の結果を明確にする
ため、クロック信号の配線402以外の配線は省略し
た。
【0027】ブロック間配線工程107では、階層展開
工程103で展開したブロックと前記ブロック内再配線
工程106で再配線を行なったブロックや階層が展開さ
れていない予め設計されたマクロブロックとを置き換
え、クロック配線情報抽出工程105で抽出したクロッ
ク信号の配線情報と回路接続情報をもとに、ブロック間
のクロック信号の配線402を初期配線として予め施設
し、クロック信号の回路接続情報を除くブロック間の回
路接続情報をもとに配線処理を行なう。クロック信号の
配線402を施設したことで、ブロックの形状、サイズ
が変わり、クロック外部端子501〜511の位置が動
いたり、ブロック間の配線チャネル209が広がった場
合、配線切れが生じないよう、ブロックの移動方向、お
よび、移動量に応じてブロック間のクロック信号の配線
402を伸縮させて調整を行なう。
工程103で展開したブロックと前記ブロック内再配線
工程106で再配線を行なったブロックや階層が展開さ
れていない予め設計されたマクロブロックとを置き換
え、クロック配線情報抽出工程105で抽出したクロッ
ク信号の配線情報と回路接続情報をもとに、ブロック間
のクロック信号の配線402を初期配線として予め施設
し、クロック信号の回路接続情報を除くブロック間の回
路接続情報をもとに配線処理を行なう。クロック信号の
配線402を施設したことで、ブロックの形状、サイズ
が変わり、クロック外部端子501〜511の位置が動
いたり、ブロック間の配線チャネル209が広がった場
合、配線切れが生じないよう、ブロックの移動方向、お
よび、移動量に応じてブロック間のクロック信号の配線
402を伸縮させて調整を行なう。
【0028】以上に示した本発明によりレイアウトを行
なった一実施例の結果を図7に示す。図7(a)は、階層
をもった半導体装置のレイアウト結果である。図7(b)
は、それぞれブロック204〜208のレイアウト結果
を展開したものである。図7(a)、および、(b)は、クロ
ック配線の結果を明確にするために、クロック信号の配
線402以外の配線は省略した。
なった一実施例の結果を図7に示す。図7(a)は、階層
をもった半導体装置のレイアウト結果である。図7(b)
は、それぞれブロック204〜208のレイアウト結果
を展開したものである。図7(a)、および、(b)は、クロ
ック配線の結果を明確にするために、クロック信号の配
線402以外の配線は省略した。
【0029】図7に示すように、クロック配線の際に、
階層を展開したことで、クロック信号の配線402は、
ブロック内、ブロック間に係わらず実行できる。そのた
め、迂回配線やスキュー調整の引きまわし配線などを必
要しないので、遅延値を低減することができる。
階層を展開したことで、クロック信号の配線402は、
ブロック内、ブロック間に係わらず実行できる。そのた
め、迂回配線やスキュー調整の引きまわし配線などを必
要しないので、遅延値を低減することができる。
【0030】クロック外部端子501〜511とクロッ
ク分配部403は、スキューが最小になるクロック信号
配線を行なった後、配置されるため、非常に容易に、か
つ、最適な位置に配置できる。
ク分配部403は、スキューが最小になるクロック信号
配線を行なった後、配置されるため、非常に容易に、か
つ、最適な位置に配置できる。
【0031】クロック信号の配線402は、クロック発
生源202から各クロック端子までのスキューが最小に
なるように配線を行なった結果を使用し、再度階層的な
レイアウト設計を行なうので、精度の高いクロック信号
配線を容易に得ることができる。
生源202から各クロック端子までのスキューが最小に
なるように配線を行なった結果を使用し、再度階層的な
レイアウト設計を行なうので、精度の高いクロック信号
配線を容易に得ることができる。
【0032】なお、本実施例では、クロック配線工程1
04において「クロックツリー方式」の2分木のクロッ
クツリーを用いてスキューを低減させたが、スキューを
低減することができる他のアルゴリズムを使用しても良
い。
04において「クロックツリー方式」の2分木のクロッ
クツリーを用いてスキューを低減させたが、スキューを
低減することができる他のアルゴリズムを使用しても良
い。
【0033】ブロック内再配線工程106において、ブ
ロック内配置配線工程102で得られた配置情報を使用
し、クロック配線情報抽出工程105で抽出したクロッ
ク信号の配線情報をもとに、クロック信号の配線を初期
配線として予め敷設し、ブロック内配置配線工程102
と同様の配線処理を行なってもよい。
ロック内配置配線工程102で得られた配置情報を使用
し、クロック配線情報抽出工程105で抽出したクロッ
ク信号の配線情報をもとに、クロック信号の配線を初期
配線として予め敷設し、ブロック内配置配線工程102
と同様の配線処理を行なってもよい。
【0034】クロック配線に使用する配線の幅をクロッ
ク信号発生源202からクロック端子に向かって段階的
に配線幅を細くしてもよい。この場合、面積の増加が生
じるが、クロック信号の遅延を低減することができる。
ク信号発生源202からクロック端子に向かって段階的
に配線幅を細くしてもよい。この場合、面積の増加が生
じるが、クロック信号の遅延を低減することができる。
【0035】クロック信号の配線402に使用する配線
層は任意である。クロック分配部403を明確にするた
めに、クロック分配部403にオブジェクトを与えた
が、特に与えなくてもよい。
層は任意である。クロック分配部403を明確にするた
めに、クロック分配部403にオブジェクトを与えた
が、特に与えなくてもよい。
【0036】
【発明の効果】以上述べてきた様に、本発明に係わる半
導体装置の同期回路レイアウト設計方法によれば、階層
的なレイアウト設計において、クロックの信号配線を行
なう際に、ブロックの階層を展開してクロック信号の配
線を行ない、展開して行なったクロック信号の配線の情
報を使用し、再度階層的にレイアウト設計を行なうこと
で、半導体装置全体における遅延値、および、スキュー
を低減することが容易にできる。
導体装置の同期回路レイアウト設計方法によれば、階層
的なレイアウト設計において、クロックの信号配線を行
なう際に、ブロックの階層を展開してクロック信号の配
線を行ない、展開して行なったクロック信号の配線の情
報を使用し、再度階層的にレイアウト設計を行なうこと
で、半導体装置全体における遅延値、および、スキュー
を低減することが容易にできる。
【図1】本発明の一実施例を示す半導体装置の同期回路
レイアウト設計方法のフロー図
レイアウト設計方法のフロー図
【図2】本発明の一実施例のブロック配置工程101の
実行結果を示す図
実行結果を示す図
【図3】本発明の一実施例の階層展開工程103の実行
結果を示す図
結果を示す図
【図4】本発明の一実施例のクロック配線工程104の
実行結果を示す図
実行結果を示す図
【図5】本発明の一実施例のクロック配線情報抽出工程
105の実行結果を示す図
105の実行結果を示す図
【図6】本発明の一実施例のブロック内再配線工程10
6の実行結果を示す図
6の実行結果を示す図
【図7】本発明の一実施例実行結果を示す図
【図8】従来の技術において広く使用される半導体装置
の同期回路レイアウト設計方法のフロー図
の同期回路レイアウト設計方法のフロー図
【図9】図8のフロー図に従いレイアウトを実行した結
果を示す図
果を示す図
101 ブロック配置工程 102 ブロック内配置配線工程 103 階層展開工程 104 クロック配線工程 105 クロック配線情報抽出工程 106 ブロック内再配線工程 107 ブロック間配線工程
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H01L 21/822 H01L 21/82 W 27/04 A
Claims (1)
- 【請求項1】ブロックとブロック間の配線チャネルの大
きさや形状を見積もり、ブロックの配置処理を行なうブ
ロック配置工程と、 前記ブロック配置工程後に、予め設計されたマクロブロ
ックを除く各ブロック内部のセルの配置と配線処理を行
なうブロック内配置配線工程と、 前記ブロック内配置配線工程後に、すべてのブロックの
階層を展開する階層展開工程と、 前記階層展開工程後に、クロック入力を必要とするクロ
ック端子の位置や負荷などの情報を抽出し、クロック発
生源から各クロック端子までのスキューが最小になるよ
うにクロックの配線のみを行なうクロック配線工程と、 クロック配線工程後に、敷設されたクロック配線の情報
を抽出するクロック配線抽出工程と、 クロック配線情報抽出工程後に、抽出されたクロック配
線情報を制約条件としたブロック内部の配線処理を行な
うブロック内再配線工程と、 ブロック内再配線工程後に、再配線された各ブロック間
の配線チャネルを前記クロック配線情報抽出工程で抽出
されたクロック配線情報を制約条件とし、ブロック間の
配線を行なうブロック間配線工程を含むことを特徴とす
るマスクレイアウト設計方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6268697A JPH08129576A (ja) | 1994-11-01 | 1994-11-01 | 半導体装置のマスクレイアウト設計方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6268697A JPH08129576A (ja) | 1994-11-01 | 1994-11-01 | 半導体装置のマスクレイアウト設計方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08129576A true JPH08129576A (ja) | 1996-05-21 |
Family
ID=17462125
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6268697A Pending JPH08129576A (ja) | 1994-11-01 | 1994-11-01 | 半導体装置のマスクレイアウト設計方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH08129576A (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008090695A (ja) * | 2006-10-04 | 2008-04-17 | Fujitsu Ltd | 集積回路設計方法、集積回路設計装置及び集積回路設計プログラム |
| US7479825B2 (en) | 2005-10-25 | 2009-01-20 | Renesas Technology Corp. | Clock forming method for semiconductor integrated circuit and program product for the method |
| US7757192B2 (en) | 2007-01-30 | 2010-07-13 | Fujitsu Limited | Integrated circuit designing device, integrated circuit designing method, and integrated circuit designing program |
| JP2011203906A (ja) * | 2010-03-25 | 2011-10-13 | Fujitsu Ltd | レイアウト設計装置、レイアウト設計方法、及びレイアウト設計プログラム |
| JP2016505931A (ja) * | 2012-11-28 | 2016-02-25 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 3d集積回路のためのクロック分配ネットワーク |
-
1994
- 1994-11-01 JP JP6268697A patent/JPH08129576A/ja active Pending
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7479825B2 (en) | 2005-10-25 | 2009-01-20 | Renesas Technology Corp. | Clock forming method for semiconductor integrated circuit and program product for the method |
| JP2008090695A (ja) * | 2006-10-04 | 2008-04-17 | Fujitsu Ltd | 集積回路設計方法、集積回路設計装置及び集積回路設計プログラム |
| US7757188B2 (en) | 2006-10-04 | 2010-07-13 | Fujitsu Limited | Method and apparatus for designing integrated circuit |
| US7757192B2 (en) | 2007-01-30 | 2010-07-13 | Fujitsu Limited | Integrated circuit designing device, integrated circuit designing method, and integrated circuit designing program |
| JP2011203906A (ja) * | 2010-03-25 | 2011-10-13 | Fujitsu Ltd | レイアウト設計装置、レイアウト設計方法、及びレイアウト設計プログラム |
| JP2016505931A (ja) * | 2012-11-28 | 2016-02-25 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 3d集積回路のためのクロック分配ネットワーク |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2695078B2 (ja) | データ処理装置クロック信号の分配方法 | |
| JP3076410B2 (ja) | 半導体集積回路の設計方法 | |
| US4613941A (en) | Routing method in computer aided customization of a two level automated universal array | |
| US6308309B1 (en) | Place-holding library elements for defining routing paths | |
| US8001517B2 (en) | Layout design method of semiconductor integrated circuit cell to adjust distances inside cell between diffusion layers and borders of cell | |
| US20050151258A1 (en) | Method for reducing wiring congestion in a VLSI chip design | |
| JP3271602B2 (ja) | 半導体集積回路装置およびその設計方法 | |
| CN115758980A (zh) | 一种基于自动串链脚本的低功耗物理设计布局方法 | |
| JPH08129576A (ja) | 半導体装置のマスクレイアウト設計方法 | |
| JPH0714927A (ja) | 自動配置設計方法および自動配置設計装置 | |
| JP3251686B2 (ja) | 集積回路の自動配線方法 | |
| US6523160B2 (en) | Method for dividing a terminal in automatic interconnect routing processing, a computer program for implementing same, and an automatic interconnect routing processor using the method | |
| JPH0830655A (ja) | 半導体装置の同期回路レイアウト設計方法 | |
| US6477692B1 (en) | Method and apparatus for channel-routing of an electronic device | |
| JP3433025B2 (ja) | モジュール配置方法 | |
| JP3182244B2 (ja) | 半導体集積回路における信号伝播遅延時間の最適化方法 | |
| WO2011083919A2 (ko) | 자동화된 칩 면적 최적화를 위한 블록 패킹방법 및 표준 셀 패킹 방법 | |
| JP3877698B2 (ja) | 半導体集積回路の設計方法 | |
| JP2910730B2 (ja) | 階層レイアウト設計方法および階層レイアウト設計装置 | |
| JP2000331051A (ja) | 半導体集積回路の配線方法 | |
| JP4867708B2 (ja) | 半導体集積回路の設計方法および設計装置 | |
| JPH0945779A (ja) | 半導体装置のマスクレイアウト設計方法 | |
| JP2001189386A (ja) | 半導体集積回路のレイアウト方法 | |
| JP2982516B2 (ja) | 半導体集積回路のレイアウト方式 | |
| JPH06216249A (ja) | Icチップ自動レイアウト設計システム |