JP2993239B2 - 階層間ディレイ配分方法 - Google Patents
階層間ディレイ配分方法Info
- Publication number
- JP2993239B2 JP2993239B2 JP3314301A JP31430191A JP2993239B2 JP 2993239 B2 JP2993239 B2 JP 2993239B2 JP 3314301 A JP3314301 A JP 3314301A JP 31430191 A JP31430191 A JP 31430191A JP 2993239 B2 JP2993239 B2 JP 2993239B2
- Authority
- JP
- Japan
- Prior art keywords
- path
- delay
- layer
- input
- lsi
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/12—Timing analysis or timing optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
【0001】
【産業上の利用分野】本発明は階層的に実装設計される
電子装置において、複数の階層間にまたがるパスのディ
レイ基準値を各階層に配分する階層間ディレイ配分方法
に関する。
電子装置において、複数の階層間にまたがるパスのディ
レイ基準値を各階層に配分する階層間ディレイ配分方法
に関する。
【0002】
【従来の技術】LSI等の電子装置のレイアウト設計で
は、あらかじめ論理情報に基づいて信号のディレイ時間
の計算を行ない、その結果を配置配線で利用するという
ことがしばしば行なわれている。例えば、アイ・イー・
イー・イー、トランザクションオン コンピュータ エイ
ディッドデザイン、ボリューム8(1989年)第86
0頁から第874頁(IEEE Trans. on CAD, Vol. 8, 19
89, pp. 860-874)には、信号が入力ピンからある点に
到達する時刻と、ディレイ基準値を守りながら、その点
から出力ピンに到達することができるための時刻との差
であるスラック、という概念を用いてパスの余裕度をネ
ットに与え、これを利用してディレイ制約違反のない配
置配線を行なう方法が記載されている。この方法は、1
つの階層内に適用できる設計方法である。
は、あらかじめ論理情報に基づいて信号のディレイ時間
の計算を行ない、その結果を配置配線で利用するという
ことがしばしば行なわれている。例えば、アイ・イー・
イー・イー、トランザクションオン コンピュータ エイ
ディッドデザイン、ボリューム8(1989年)第86
0頁から第874頁(IEEE Trans. on CAD, Vol. 8, 19
89, pp. 860-874)には、信号が入力ピンからある点に
到達する時刻と、ディレイ基準値を守りながら、その点
から出力ピンに到達することができるための時刻との差
であるスラック、という概念を用いてパスの余裕度をネ
ットに与え、これを利用してディレイ制約違反のない配
置配線を行なう方法が記載されている。この方法は、1
つの階層内に適用できる設計方法である。
【0003】
【発明が解決しようとする課題】論理回路において、フ
リップフロップからフリップフロップに至る信号経路を
パスと呼ぶ。信号がこのパスを伝播するのに要する時間
をパスディレイと呼ぶ。それぞれのパスには、始点と終
点のフリップフロップに入力されるクロック信号のタイ
ミングに応じて、パスディレイ値に対する最大許容値及
び最小許容値が決まっている。実装を行なう際には、パ
スディレイ値がこれらの基準値を満足していることが要
請される。これが、パスディレイ制約である。以下で
は、この最大値に対するパスディレイ制約を例にとって
説明する。
リップフロップからフリップフロップに至る信号経路を
パスと呼ぶ。信号がこのパスを伝播するのに要する時間
をパスディレイと呼ぶ。それぞれのパスには、始点と終
点のフリップフロップに入力されるクロック信号のタイ
ミングに応じて、パスディレイ値に対する最大許容値及
び最小許容値が決まっている。実装を行なう際には、パ
スディレイ値がこれらの基準値を満足していることが要
請される。これが、パスディレイ制約である。以下で
は、この最大値に対するパスディレイ制約を例にとって
説明する。
【0004】電子装置の実装設計では、装置内の全ての
パスについて、パスディレイ制約を満足するように、装
置内の全部品の配置及び配線を行なわなければならな
い。
パスについて、パスディレイ制約を満足するように、装
置内の全部品の配置及び配線を行なわなければならな
い。
【0005】しかし、装置の規模が大きくなると、LS
I、モジュールあるいはボード等の実装を階層化する必
要がある。これに対応して、その設計においても、まず
装置全体の論理を階層的に分割し、各階層内の部品の実
装設計が並行して行なわれる。例えば、モジュール上に
は複数のLSIが搭載されるが、これらLSIはそれぞ
れ独立に並行して配置配線の設計がなされる。
I、モジュールあるいはボード等の実装を階層化する必
要がある。これに対応して、その設計においても、まず
装置全体の論理を階層的に分割し、各階層内の部品の実
装設計が並行して行なわれる。例えば、モジュール上に
は複数のLSIが搭載されるが、これらLSIはそれぞ
れ独立に並行して配置配線の設計がなされる。
【0006】この様に、階層設計がなされた装置では、
複数の階層間にまたがるパスが必ず存在する。このよう
なパスは1つの階層全体の一部である。パスに対するデ
ィレイの基準値はパス全体に対してのみ与えられている
が、この部分パスに対するディレイ基準値は与えられて
いなかった。
複数の階層間にまたがるパスが必ず存在する。このよう
なパスは1つの階層全体の一部である。パスに対するデ
ィレイの基準値はパス全体に対してのみ与えられている
が、この部分パスに対するディレイ基準値は与えられて
いなかった。
【0007】2つのLSIが搭載されたモジュールにお
いて、1つのLSI内から始まって、モジュール上の配
線を通過し、別のLSI内で終るパスがあったとする。
2つのLSIは独立に配置配線が行なわれるため、従来
は、各LSI内の部分パスに、例えばマシンサイクルの
1/3という厳しい基準値を仮に与えて、配置配線を行
なっていた。
いて、1つのLSI内から始まって、モジュール上の配
線を通過し、別のLSI内で終るパスがあったとする。
2つのLSIは独立に配置配線が行なわれるため、従来
は、各LSI内の部分パスに、例えばマシンサイクルの
1/3という厳しい基準値を仮に与えて、配置配線を行
なっていた。
【0008】しかし、電子装置に要求される性能が高く
なるにつれ、このように、部分パスに一様に厳しいディ
レイ制約条件を課したのではこれを守ることが困難にな
る。また、一様なディレイ制約条件を与えた場合、ゲー
ト段数が少なくディレイ値に余裕がある部分パスに対し
ては、厳しい制約は無駄になることが多い。すなわち、
部分パスに応じてディレイ基準値を設定しないと、効果
的な実装を行なうことができない。
なるにつれ、このように、部分パスに一様に厳しいディ
レイ制約条件を課したのではこれを守ることが困難にな
る。また、一様なディレイ制約条件を与えた場合、ゲー
ト段数が少なくディレイ値に余裕がある部分パスに対し
ては、厳しい制約は無駄になることが多い。すなわち、
部分パスに応じてディレイ基準値を設定しないと、効果
的な実装を行なうことができない。
【0009】本発明の目的は、階層的に設計される電子
装置の階層内の部分パスにディレイの基準値を与える階
層間ディレイ配分方法を提供し、部分パスのディレイ値
の余裕度に応じて配置配線の優先度を変えてより効果的
な実装を行なうことにある。
装置の階層内の部分パスにディレイの基準値を与える階
層間ディレイ配分方法を提供し、部分パスのディレイ値
の余裕度に応じて配置配線の優先度を変えてより効果的
な実装を行なうことにある。
【0010】
【課題を解決するための手段】上記目的を達成するため
に、実装を行なう第1の階層と、第1の階層の部品が複
数搭載される第2の階層からなる実装構造において、
(1)あらかじめ第2の階層でパスディレイを計算し、
その階層内のクローズドパスに関して、第1の階層との
信号の入出力端子位置でのディレイ値を求め、(2)上
記クローズドパスの基準値を、このディレイ値に応じて
第1の階層との信号の入出力端子に比例配分することに
よって基準値を計算し、(3)これをディレイ制約条件
として出力する。
に、実装を行なう第1の階層と、第1の階層の部品が複
数搭載される第2の階層からなる実装構造において、
(1)あらかじめ第2の階層でパスディレイを計算し、
その階層内のクローズドパスに関して、第1の階層との
信号の入出力端子位置でのディレイ値を求め、(2)上
記クローズドパスの基準値を、このディレイ値に応じて
第1の階層との信号の入出力端子に比例配分することに
よって基準値を計算し、(3)これをディレイ制約条件
として出力する。
【0011】
【作用】本発明では、あらかじめ第2の階層においてデ
ィレイ計算を行うので、各々独立に実装を行う第1の階
層の部品内だけからは得られない情報を利用できる。第
1の階層の部分パスの始点または終点となる信号の入出
力端子に信号の通過目標時刻を与えることにより、これ
らの部分パスに対しても終点の時刻から始点の時刻を差
し引くことによって実装時に守るべきディレイ基準値が
与えられる。
ィレイ計算を行うので、各々独立に実装を行う第1の階
層の部品内だけからは得られない情報を利用できる。第
1の階層の部分パスの始点または終点となる信号の入出
力端子に信号の通過目標時刻を与えることにより、これ
らの部分パスに対しても終点の時刻から始点の時刻を差
し引くことによって実装時に守るべきディレイ基準値が
与えられる。
【0012】
【実施例】以下に述べる本発明の一実施例では、ディレ
イ計算を行なう第2の階層をモジュールとし、実装を行
なう第1の階層をLSIとして説明する。図1に階層間
ディレイ配分方法の処理手順の一例を示す。図2は、階
層間ディレイ配分方法を実施する装置の構成を示してい
る。図5は、階層間ディレイ配分の入力データであるモ
ジュール内クローズドパスのディレイ解析結果テーブル
204の作成方法を示す。図6は、階層間ディレイ配分
方法の出力データであるディレイ配分情報テーブル20
5を利用したLSI配置配線処理の概要を示す。
イ計算を行なう第2の階層をモジュールとし、実装を行
なう第1の階層をLSIとして説明する。図1に階層間
ディレイ配分方法の処理手順の一例を示す。図2は、階
層間ディレイ配分方法を実施する装置の構成を示してい
る。図5は、階層間ディレイ配分の入力データであるモ
ジュール内クローズドパスのディレイ解析結果テーブル
204の作成方法を示す。図6は、階層間ディレイ配分
方法の出力データであるディレイ配分情報テーブル20
5を利用したLSI配置配線処理の概要を示す。
【0013】図7を用いて、階層間にまたがるパスの概
念とモジュール上のLSIの実装状態を説明する。図7
では、上位階層であるモジュール701上に下位の階層
であるLSI702〜705が搭載されている。図7
は、フリップフロップ706〜708から始まりフリッ
プフロップ709〜711で終了し、階層間にまたがる
パス(LSI内のフリップフロップから始まり、モジュ
ール上の配線を通過した後再びLSI内のフリップフロ
ップで終るパス。)が合計4つある場合を示している。
モジュールの階層は、下位の階層であるLSI702〜
705とそれらを結ぶ結線720〜723とから構成さ
れる。モジュールの階層とLSIの階層の境界は信号入
出力端子712〜719である。下位の階層である各L
SIには、フリップフロップ706〜711と論理ゲー
ト724〜741があり、これらは相互に結線されてい
る。
念とモジュール上のLSIの実装状態を説明する。図7
では、上位階層であるモジュール701上に下位の階層
であるLSI702〜705が搭載されている。図7
は、フリップフロップ706〜708から始まりフリッ
プフロップ709〜711で終了し、階層間にまたがる
パス(LSI内のフリップフロップから始まり、モジュ
ール上の配線を通過した後再びLSI内のフリップフロ
ップで終るパス。)が合計4つある場合を示している。
モジュールの階層は、下位の階層であるLSI702〜
705とそれらを結ぶ結線720〜723とから構成さ
れる。モジュールの階層とLSIの階層の境界は信号入
出力端子712〜719である。下位の階層である各L
SIには、フリップフロップ706〜711と論理ゲー
ト724〜741があり、これらは相互に結線されてい
る。
【0014】第1のパスは、フリップフロップ706か
ら始まり、ゲ−ト724〜726、出力端子712、配
線720、入力端子713、ゲ−ト733〜735を順
に経て、フリップフロップ709で終わる(パス1)。
第2のパスは、フリップフロップ707から始まり、ゲ
−ト727、728、出力端子712、配線720、入
力端子713、ゲ−ト733〜735を経て、フリップ
フロップ709で終わる(パス2)。第1のパスと第2
のパスは、共通ピン712と713を持つ。第3のパス
は、フリップフロップ708から始まり、ゲ−ト729
〜731、出力端子714、配線721、入力端子71
5、ゲ−ト736、737を経て、フリップフロップ7
10で終わる(パス3)。第4のパスは、フリップフロ
ップ708から始まり、ゲ−ト729、732、出力端
子716、配線722、入力端子717、ゲ−ト738
〜740、出力端子718、配線723、入力端子71
9、ゲ−ト741を経てフリップフロップ711で終わ
る(パス4)。
ら始まり、ゲ−ト724〜726、出力端子712、配
線720、入力端子713、ゲ−ト733〜735を順
に経て、フリップフロップ709で終わる(パス1)。
第2のパスは、フリップフロップ707から始まり、ゲ
−ト727、728、出力端子712、配線720、入
力端子713、ゲ−ト733〜735を経て、フリップ
フロップ709で終わる(パス2)。第1のパスと第2
のパスは、共通ピン712と713を持つ。第3のパス
は、フリップフロップ708から始まり、ゲ−ト729
〜731、出力端子714、配線721、入力端子71
5、ゲ−ト736、737を経て、フリップフロップ7
10で終わる(パス3)。第4のパスは、フリップフロ
ップ708から始まり、ゲ−ト729、732、出力端
子716、配線722、入力端子717、ゲ−ト738
〜740、出力端子718、配線723、入力端子71
9、ゲ−ト741を経てフリップフロップ711で終わ
る(パス4)。
【0015】下位の階層である一つのLSIの範囲内で
は、上記の4つのパスはいずれも、始点と終点両方にフ
リップフロップを持つクローズドパスにはなっておら
ず、クローズドパスの一部分である部分パスになってい
る。部分パスのうち、始点にフリップフロップを持つも
のを出力オープンパス、終点にフリップフロップを持つ
ものを入力オープンパス、始点にも終点にもフリップフ
ロップを持たないものをスルーパスと呼ぶ。
は、上記の4つのパスはいずれも、始点と終点両方にフ
リップフロップを持つクローズドパスにはなっておら
ず、クローズドパスの一部分である部分パスになってい
る。部分パスのうち、始点にフリップフロップを持つも
のを出力オープンパス、終点にフリップフロップを持つ
ものを入力オープンパス、始点にも終点にもフリップフ
ロップを持たないものをスルーパスと呼ぶ。
【0016】LSI702では、(1)フリップフロッ
プ706から始まってゲ−ト724〜726を経て出力
端子712で終わる部分パス、(2)フリップフロップ
707から始まってゲ−ト727、728を経て出力端
子712で終わる部分パス、(3)フリップフロップ7
08から始まってゲ−ト729〜731を経て出力端子
714で終わる部分パス、及び、(4)フリップフロッ
プ708から始まってゲ−ト729、732を経て出力
端子716で終わる部分パスという4つの出力オープン
パスがある。
プ706から始まってゲ−ト724〜726を経て出力
端子712で終わる部分パス、(2)フリップフロップ
707から始まってゲ−ト727、728を経て出力端
子712で終わる部分パス、(3)フリップフロップ7
08から始まってゲ−ト729〜731を経て出力端子
714で終わる部分パス、及び、(4)フリップフロッ
プ708から始まってゲ−ト729、732を経て出力
端子716で終わる部分パスという4つの出力オープン
パスがある。
【0017】LSI703では、(1)入力端子713
から始まってゲ−ト733〜735を経てフリップフロ
ップ709で終わる部分パス、及び、(2)入力端子7
15から始まってゲ−ト736、737を経てフリップ
フロップ710で終わる部分パスという2つの入力オー
プンパスがある。
から始まってゲ−ト733〜735を経てフリップフロ
ップ709で終わる部分パス、及び、(2)入力端子7
15から始まってゲ−ト736、737を経てフリップ
フロップ710で終わる部分パスという2つの入力オー
プンパスがある。
【0018】LSI704には、入力端子717から始
まってゲ−ト738〜740を経て出力端子718で終
わるスルーパスがある。
まってゲ−ト738〜740を経て出力端子718で終
わるスルーパスがある。
【0019】LSI705には、入力端子719から始
まってゲ−ト741を経てフリップフロップ711に終
わる入力オープンパスがある。
まってゲ−ト741を経てフリップフロップ711に終
わる入力オープンパスがある。
【0020】階層間ディレイ配分処理に先立って、モジ
ュール内クローズドパスのディレイ計算処理504によ
りモジュール内クローズドパスのディレイ解析結果テー
ブル204が作成される。図5に示すように、モジュー
ル内クローズドパスのディレイ計算処理504は、モジ
ュール上に搭載されている各LSIの論理ファイル50
1、各LSI同志の結線関係を記述するモジュール論理
ファイル502、及びディレイ計算に必要な定数を記述
したディレイ定数ライブラリ503を入力し、モジュー
ル上の各クローズドパスについてディレイ計算を行な
い、その結果をモジュール内クローズドパスのディレイ
解析結果テーブル204を出力する。パスの数が膨大に
なると、モジュール上の全てのクローズドパスについて
ディレイ計算を行なうことは困難である。そのため、モ
ジュール内クローズドパスのディレイ計算処理504で
は以下の処理を行なう。
ュール内クローズドパスのディレイ計算処理504によ
りモジュール内クローズドパスのディレイ解析結果テー
ブル204が作成される。図5に示すように、モジュー
ル内クローズドパスのディレイ計算処理504は、モジ
ュール上に搭載されている各LSIの論理ファイル50
1、各LSI同志の結線関係を記述するモジュール論理
ファイル502、及びディレイ計算に必要な定数を記述
したディレイ定数ライブラリ503を入力し、モジュー
ル上の各クローズドパスについてディレイ計算を行な
い、その結果をモジュール内クローズドパスのディレイ
解析結果テーブル204を出力する。パスの数が膨大に
なると、モジュール上の全てのクローズドパスについて
ディレイ計算を行なうことは困難である。そのため、モ
ジュール内クローズドパスのディレイ計算処理504で
は以下の処理を行なう。
【0021】モジュールよりも下位の階層であるLSI
内で閉じているクローズドパスについては、モジュール
上のディレイ計算の対象から除外する。残りのLSIと
モジュールとにまたがるクローズドパスに関しては、モ
ジュール内の始点と終点であるフリップフロップのペア
の組合せについて、クリティカルパストレース法を用い
てパスディレイを計算し、同一の始点及び終点を持つパ
スの中で最もディレイ値の大きいパス(クリティカルパ
ス)をパスディレイとする。計算結果は、パスごとにモ
ジュール内クローズドパスのディレイ解析結果テーブル
204に格納される。ディレイ解析結果テーブル204
のデ−タの格納形式を図3に示す。
内で閉じているクローズドパスについては、モジュール
上のディレイ計算の対象から除外する。残りのLSIと
モジュールとにまたがるクローズドパスに関しては、モ
ジュール内の始点と終点であるフリップフロップのペア
の組合せについて、クリティカルパストレース法を用い
てパスディレイを計算し、同一の始点及び終点を持つパ
スの中で最もディレイ値の大きいパス(クリティカルパ
ス)をパスディレイとする。計算結果は、パスごとにモ
ジュール内クローズドパスのディレイ解析結果テーブル
204に格納される。ディレイ解析結果テーブル204
のデ−タの格納形式を図3に示す。
【0022】図3の204aに示すように、ディレイ解
析結果テーブル204には、対象パスの始点フリップフ
ロップ名301、終点フリップフロップ名302、始点
及び終点のフリップフロップに入るクロック信号の相名
303、304、及びパスディレイ値305がそれぞれ
記録される。また、対象パスの全ディレイ値だけではな
く、途中にあるLSIの入出力ピンにおけるディレイ値
も記録される。このLSIの入出力ピン数はパス毎に異
なるため、図3に示す詳細ディレイ値テーブル204b
には、パス上のLSI入出力ピン名308及びそのピン
におけるディレイ値309を記録し、204aには、詳
細ディレイ値テーブルへのエントリ306とパス上のL
SI入出力ピン数307を記録する。
析結果テーブル204には、対象パスの始点フリップフ
ロップ名301、終点フリップフロップ名302、始点
及び終点のフリップフロップに入るクロック信号の相名
303、304、及びパスディレイ値305がそれぞれ
記録される。また、対象パスの全ディレイ値だけではな
く、途中にあるLSIの入出力ピンにおけるディレイ値
も記録される。このLSIの入出力ピン数はパス毎に異
なるため、図3に示す詳細ディレイ値テーブル204b
には、パス上のLSI入出力ピン名308及びそのピン
におけるディレイ値309を記録し、204aには、詳
細ディレイ値テーブルへのエントリ306とパス上のL
SI入出力ピン数307を記録する。
【0023】実装を行なう前の状態では、LSI及びモ
ジュールの論理情報からLSI内のフリップフロップ及
びゲート間の配線長を推定してディレイ計算を行なう
が、実装を行なった後には、その配置配線結果602を
使ってより精度の高いディレイ計算を行なうことができ
る。
ジュールの論理情報からLSI内のフリップフロップ及
びゲート間の配線長を推定してディレイ計算を行なう
が、実装を行なった後には、その配置配線結果602を
使ってより精度の高いディレイ計算を行なうことができ
る。
【0024】図2に示す階層間ディレイ配分処理を行な
う装置の構成を説明する。装置は、本発明の処理方法を
記録したプログラムファイル202、処理の入力及び出
力データを格納するデータファイル203、及び処理を
実行するCPU(中央処理装置)201からなる。CP
U201は、プログラムファイル202に格納されてい
る階層間ディレイ配分処理101〜111に従って、デ
ータファイル203中のモジュール内クローズドパスの
ディレイ解析結果テーブル204を入力としてディレイ
配分情報を計算し、その結果をデータファイル203に
ディレイ配分情報テーブル205に出力する。このディ
レイ配分情報テーブル205は、図4に示すようにモジ
ュール上のクリティカルパスが通過したLSI入出力ピ
ン名401とそのピンの信号通過目標時刻402からな
る。
う装置の構成を説明する。装置は、本発明の処理方法を
記録したプログラムファイル202、処理の入力及び出
力データを格納するデータファイル203、及び処理を
実行するCPU(中央処理装置)201からなる。CP
U201は、プログラムファイル202に格納されてい
る階層間ディレイ配分処理101〜111に従って、デ
ータファイル203中のモジュール内クローズドパスの
ディレイ解析結果テーブル204を入力としてディレイ
配分情報を計算し、その結果をデータファイル203に
ディレイ配分情報テーブル205に出力する。このディ
レイ配分情報テーブル205は、図4に示すようにモジ
ュール上のクリティカルパスが通過したLSI入出力ピ
ン名401とそのピンの信号通過目標時刻402からな
る。
【0025】図6に示すLSI配置配線処理601は、
LSI論理ファイル501とディレイ配分情報テーブル
205とを入力して配置配線処理を行ない、LSI配置
配線結果602を出力する。このとき、LSI内のクロ
ーズドパスに対しては、始点と終点のクロック相からパ
スに対するディレイの基準値を求めることができる。一
方、オープンパス及びスルーパスの場合には、始点又は
終点がLSI入出力ピンであるため、従来はディレイの
基準値を求めることができなかったが、ディレイ配分情
報テーブル205の信号通過目標時刻402の値を使う
ことにより、この様な部分パスに対しても基準値を与え
ることが可能になる。この様に、クローズドパスだけで
なくオープンパス及びスルーパスにもディレイの基準値
を与え、LSI配置配線処理601で、これらの基準値
を守った処理を行なうことにより実装の基準値を守った
LSI配置配線結果602を得ることができる。
LSI論理ファイル501とディレイ配分情報テーブル
205とを入力して配置配線処理を行ない、LSI配置
配線結果602を出力する。このとき、LSI内のクロ
ーズドパスに対しては、始点と終点のクロック相からパ
スに対するディレイの基準値を求めることができる。一
方、オープンパス及びスルーパスの場合には、始点又は
終点がLSI入出力ピンであるため、従来はディレイの
基準値を求めることができなかったが、ディレイ配分情
報テーブル205の信号通過目標時刻402の値を使う
ことにより、この様な部分パスに対しても基準値を与え
ることが可能になる。この様に、クローズドパスだけで
なくオープンパス及びスルーパスにもディレイの基準値
を与え、LSI配置配線処理601で、これらの基準値
を守った処理を行なうことにより実装の基準値を守った
LSI配置配線結果602を得ることができる。
【0026】図1のPAD図を用いて、階層間ディレイ
配分の処理手順の概要を説明する。 1)モジュール内クローズドパスのディレイ解析結果テ
ーブル入力処理101の後、このモジュール内クローズ
ドパスのディレイ解析結果テーブル204に含まれる全
クローズドパス(103)の順位付け102を行なう。
この過程は、ディレイ解析結果テーブル204に格納さ
れている全てのパスについて、パスの始点クロック相名
303と終点クロック相名304及びパスディレイ値3
05から、ラッチタイミングの推定を行なうラッチタイ
ミングの推定処理104と、このラッチタイミングの値
とパスディレイ値305とからパスのシビアリティ(=
ディレイ値/ラッチタイミング)を計算し、このシビア
リティの大きい順に204の全クローズドパスを順位付
けするパス優先順位の算出処理105とからなる。 2)ディレイ解析結果テーブル204を基に、パスが通
過したLSIの入出力ピンについて信号通過目標時刻の
決定処理106を行なう。この過程では、さきほど決め
たパス優先順位の高いパスから順に全てのパスについて
(107)、以下に示す(1)から(3)の処理を行な
う。(1)これまでに処理されたパスが通過するLSI
入出力ピンと、現在対象としているパスが通過するLS
I入出力ピンとの間の共通ピンを調べる、パスの共通ピ
ンチェック108を行なう。(2)この共通ピンにより
現在対象としているパスを分断して細分化する、パスの
細分化109を行なう。(3)細分化されたそれぞれの
パスについて、始点と終点の信号通過目標時刻の差を求
め、この値を204bのLSI入出力ピンでのディレイ
値309を使って、LSI入出力ピンの間で比例配分す
ることによって、細分化されたパスのLSI入出力ピン
の信号通過目標時刻を求めるディレイ基準値の配分処理
110を行なう。
配分の処理手順の概要を説明する。 1)モジュール内クローズドパスのディレイ解析結果テ
ーブル入力処理101の後、このモジュール内クローズ
ドパスのディレイ解析結果テーブル204に含まれる全
クローズドパス(103)の順位付け102を行なう。
この過程は、ディレイ解析結果テーブル204に格納さ
れている全てのパスについて、パスの始点クロック相名
303と終点クロック相名304及びパスディレイ値3
05から、ラッチタイミングの推定を行なうラッチタイ
ミングの推定処理104と、このラッチタイミングの値
とパスディレイ値305とからパスのシビアリティ(=
ディレイ値/ラッチタイミング)を計算し、このシビア
リティの大きい順に204の全クローズドパスを順位付
けするパス優先順位の算出処理105とからなる。 2)ディレイ解析結果テーブル204を基に、パスが通
過したLSIの入出力ピンについて信号通過目標時刻の
決定処理106を行なう。この過程では、さきほど決め
たパス優先順位の高いパスから順に全てのパスについて
(107)、以下に示す(1)から(3)の処理を行な
う。(1)これまでに処理されたパスが通過するLSI
入出力ピンと、現在対象としているパスが通過するLS
I入出力ピンとの間の共通ピンを調べる、パスの共通ピ
ンチェック108を行なう。(2)この共通ピンにより
現在対象としているパスを分断して細分化する、パスの
細分化109を行なう。(3)細分化されたそれぞれの
パスについて、始点と終点の信号通過目標時刻の差を求
め、この値を204bのLSI入出力ピンでのディレイ
値309を使って、LSI入出力ピンの間で比例配分す
ることによって、細分化されたパスのLSI入出力ピン
の信号通過目標時刻を求めるディレイ基準値の配分処理
110を行なう。
【0027】3)モジュール内クローズドパスのディレ
イ解析結果テーブル204に格納されたパスが通過する
LSIの全ての入出力ピンについて、LSI入出力ピン
名401と、これまでの処理で求めたピンの信号通過目
標時刻402とをディレイ配分情報テーブル205に出
力する、ディレイ配分情報テーブル出力処理111を行
なう。
イ解析結果テーブル204に格納されたパスが通過する
LSIの全ての入出力ピンについて、LSI入出力ピン
名401と、これまでの処理で求めたピンの信号通過目
標時刻402とをディレイ配分情報テーブル205に出
力する、ディレイ配分情報テーブル出力処理111を行
なう。
【0028】以下では、論理回路の具体例を用いて、上
記の階層間ディレイ配分の処理手順の詳細を説明する。
記の階層間ディレイ配分の処理手順の詳細を説明する。
【0029】まず、図7及び図8を用いてラッチタイミ
ングの推定処理104を説明する。同期式論理回路のフ
リップフロップはクロックと呼ばれる一定時間間隔でオ
ンオフを繰り返す信号を基準にして動作する。フリップ
フロップに記憶されている値はクロック信号と同期して
出力され、フリップフロップへの入力信号の値はクロッ
ク信号と同期して記憶される。同期式論理回路では、パ
スの始点のフリップフロップからクロック信号と同期し
て出力された信号は、パスを伝播した後、クロック信号
が入るまでに終点のフリップフロップに到達しなければ
ならない。ここでは、終点のフリップフロップで信号が
記憶される時刻から、始点のフリップフロップから信号
が出力された時刻を差し引いた時間をラッチタイミング
と呼ぶ。 一般に、クロック信号として、同一の周波数
を持ち位相が異なる、何種類かの信号が供給される。図
7及び図8では、基準となるクロック信号T0と、この
T0に対し1/4周期位相が遅れているT1、1/2周
期位相が遅れているT2、3/4周期位相が遅れている
T3、という合計4種類の位相の異なるクロックが供給
されている場合を想定している。
ングの推定処理104を説明する。同期式論理回路のフ
リップフロップはクロックと呼ばれる一定時間間隔でオ
ンオフを繰り返す信号を基準にして動作する。フリップ
フロップに記憶されている値はクロック信号と同期して
出力され、フリップフロップへの入力信号の値はクロッ
ク信号と同期して記憶される。同期式論理回路では、パ
スの始点のフリップフロップからクロック信号と同期し
て出力された信号は、パスを伝播した後、クロック信号
が入るまでに終点のフリップフロップに到達しなければ
ならない。ここでは、終点のフリップフロップで信号が
記憶される時刻から、始点のフリップフロップから信号
が出力された時刻を差し引いた時間をラッチタイミング
と呼ぶ。 一般に、クロック信号として、同一の周波数
を持ち位相が異なる、何種類かの信号が供給される。図
7及び図8では、基準となるクロック信号T0と、この
T0に対し1/4周期位相が遅れているT1、1/2周
期位相が遅れているT2、3/4周期位相が遅れている
T3、という合計4種類の位相の異なるクロックが供給
されている場合を想定している。
【0030】モジュール上のクローズドパスには、始点
と終点のフリップフロップにクロック相名のみが与えら
れている。従って、ラッチタイミングには、クロック周
期Tclockの整数倍の不定性が生じてしまう。図7のパ
ス1を例にとると、このパスはT0のクロックで信号が
出力されてパスを伝播していくが、終点のフリップフロ
ップで信号が取り込まれるのが1周期遅れのT0なの
か、あるいは、2周期以上遅れたT0なのかは、クロッ
ク相名だけからは決まらず、不定性が残る。ラッチタイ
ミングの推定処理104はこの不定性を取り除き、ラッ
チタイミングをユニークに決めるための処理である。
と終点のフリップフロップにクロック相名のみが与えら
れている。従って、ラッチタイミングには、クロック周
期Tclockの整数倍の不定性が生じてしまう。図7のパ
ス1を例にとると、このパスはT0のクロックで信号が
出力されてパスを伝播していくが、終点のフリップフロ
ップで信号が取り込まれるのが1周期遅れのT0なの
か、あるいは、2周期以上遅れたT0なのかは、クロッ
ク相名だけからは決まらず、不定性が残る。ラッチタイ
ミングの推定処理104はこの不定性を取り除き、ラッ
チタイミングをユニークに決めるための処理である。
【0031】まず、始点と終点のクロック相名から決ま
る最小のラッチタイミングTmin(>0)を求める。こ
れを図8を例にとって説明すると、図8のパスのうち第
1と第2のパスは、始点と終点のクロックが同相T0で
あるからTminはクロック周期Tclockと等しくなる(8
01、802)。第3のパスは始点がT2、終点がT0
であるからTminは(1/2)Tclockとなる(80
3)。第4のパスは、始点がT2、終点がT1であるか
らTminは(3/4)Tclockとなる(804)。次にモ
ジュール内クローズドパスのディレイ解析結果テーブル
204中のパスディレイ値305をTdとし、この値と
Tminとから、次式(1)を満たす最小の非負の整数n
を求める。 Td < Tmin + n × Tclock + C × Tclock (1) このnは、ラッチタイミングのTminからのずれをクロ
ック周期を単位として表した値である。ただし、定数C
は、実装が完了するまでのパスディレイ値が必ずしもラ
ッチタイミング内に入っているとは限らないために設け
るマージンであり、通常0.1〜0.3の値を取る。この
ようにして求めたnを用いて、次式(2)によってラッ
チタイミングTlatchが計算される。 Tlatch = Tmin + n × Tclock (2) ここでは、LSI論理ファイル501及びモジュール論
理ファイル502中にパスのラッチタイミングが格納さ
れていない場合に、パスディレイ値305から、ラッチ
タイミングを推定する方法を述べたが、パスにラッチタ
イミングすなわちパスの転送サイクルが格納されている
場合には、それを使って論理設計者が意図したラッチタ
イミングを推定する。
る最小のラッチタイミングTmin(>0)を求める。こ
れを図8を例にとって説明すると、図8のパスのうち第
1と第2のパスは、始点と終点のクロックが同相T0で
あるからTminはクロック周期Tclockと等しくなる(8
01、802)。第3のパスは始点がT2、終点がT0
であるからTminは(1/2)Tclockとなる(80
3)。第4のパスは、始点がT2、終点がT1であるか
らTminは(3/4)Tclockとなる(804)。次にモ
ジュール内クローズドパスのディレイ解析結果テーブル
204中のパスディレイ値305をTdとし、この値と
Tminとから、次式(1)を満たす最小の非負の整数n
を求める。 Td < Tmin + n × Tclock + C × Tclock (1) このnは、ラッチタイミングのTminからのずれをクロ
ック周期を単位として表した値である。ただし、定数C
は、実装が完了するまでのパスディレイ値が必ずしもラ
ッチタイミング内に入っているとは限らないために設け
るマージンであり、通常0.1〜0.3の値を取る。この
ようにして求めたnを用いて、次式(2)によってラッ
チタイミングTlatchが計算される。 Tlatch = Tmin + n × Tclock (2) ここでは、LSI論理ファイル501及びモジュール論
理ファイル502中にパスのラッチタイミングが格納さ
れていない場合に、パスディレイ値305から、ラッチ
タイミングを推定する方法を述べたが、パスにラッチタ
イミングすなわちパスの転送サイクルが格納されている
場合には、それを使って論理設計者が意図したラッチタ
イミングを推定する。
【0032】パス優先順位の算出処理105では、先程
求めたラッチタイミングTlatchとパスディレイ値Td
(305)の比を取って、次式(3)に示すシビアリテ
ィSが計算される。 S(シビアリティ) = Td / Tlatch (3) このシビアリティの値が大きいほど、そのパスに課せら
れるディレイの基準値が厳しいことを表わす。モジュー
ル内クローズドパスのディレイ解析結果テーブル204
に格納されている全てのパスをこのシビアリティの降順
にソートしておく。
求めたラッチタイミングTlatchとパスディレイ値Td
(305)の比を取って、次式(3)に示すシビアリテ
ィSが計算される。 S(シビアリティ) = Td / Tlatch (3) このシビアリティの値が大きいほど、そのパスに課せら
れるディレイの基準値が厳しいことを表わす。モジュー
ル内クローズドパスのディレイ解析結果テーブル204
に格納されている全てのパスをこのシビアリティの降順
にソートしておく。
【0033】以上でモジュール内全パスの順位付け処理
102の説明を終り、次にLSI入出力ピンの信号通過
目標時刻の決定処理106を説明する。
102の説明を終り、次にLSI入出力ピンの信号通過
目標時刻の決定処理106を説明する。
【0034】最初に、図9を用いて基本的な信号通過目
標時刻の決定方法を説明する。図9に示すモジュール9
01上にはLSI902及び903が搭載され、一つの
パスが、フリップフロップ904から始まり、LSI出
力オープンパス905、出力ピン906、モジュール上
の配線907、LSI903の入力ピン908及び入力
オープンパス909を順に通過してフリップフロップ9
10で終っている。(図9では、パスの途中にあるゲー
トは省略されている。)出力ピン906に対応するLS
I入出力ピン名308によって、モジュール内クローズ
ドパスのディレイ解析結果テーブル204bを検索し、
そのピンにおけるディレイ値309を求め、この値をL
SI902の出力オープンパス905のディレイ値t1
とする。同様に、入力ピン908におけるディレイ値3
09を求め、この値からt1を差し引いた値をt2とす
る。t2は、モジュール上の配線907を信号が伝播す
るのにかかる時間を表す。最後に、パスディレイ値30
5からt1とt2を差し引いた値をLSI903の入力
オープンパス909のディレイ値t3とする。
標時刻の決定方法を説明する。図9に示すモジュール9
01上にはLSI902及び903が搭載され、一つの
パスが、フリップフロップ904から始まり、LSI出
力オープンパス905、出力ピン906、モジュール上
の配線907、LSI903の入力ピン908及び入力
オープンパス909を順に通過してフリップフロップ9
10で終っている。(図9では、パスの途中にあるゲー
トは省略されている。)出力ピン906に対応するLS
I入出力ピン名308によって、モジュール内クローズ
ドパスのディレイ解析結果テーブル204bを検索し、
そのピンにおけるディレイ値309を求め、この値をL
SI902の出力オープンパス905のディレイ値t1
とする。同様に、入力ピン908におけるディレイ値3
09を求め、この値からt1を差し引いた値をt2とす
る。t2は、モジュール上の配線907を信号が伝播す
るのにかかる時間を表す。最後に、パスディレイ値30
5からt1とt2を差し引いた値をLSI903の入力
オープンパス909のディレイ値t3とする。
【0035】上記のラッチタイミングの推定処理104
で求めたラッチタイミングをTlatchとし、クロックス
キュー及びプロセスばらつきなどを見込んだマージンを
Tmarginとする。このモジュール内クローズドパスに関
する実装時に守るべき真のディレイの基準値はTlatch
−Tmarginである。t1、t2及びt3を用いて、この
時間(Tlatch−Tmargin)を比例配分することによ
り、オープンパス905、909のディレイ値の基準時
間が計算される。ここで、実装の対象としているのはL
SIの階層であるから、変化し得るのはt1とt3であ
り、t2は固定値であると考えて、Tlatch−Tmargin
を比例配分すると、出力オープンパスのディレイ値の基
準時間Toutは、次式(4)で与えられる。 Tout=(Tlatch−Tmargin−t2)・t1/(t1+t3) (4) 入力オープンパス909のディレイ値の基準時間Tin
は、次式(5)で与えられる。 Tin=(Tlatch−Tmargin−t2)・t3/(t1+t3) (5) 次に、この時間を使い、T0のクロック信号が立ち上が
る時刻を基準時刻0にとってLSIピンの信号通過目標
時刻を計算する。このパスの始点のフリップフロップの
クロックはT0であるから、信号は時刻0にフリップフ
ロップから出力され、出力オープンパス905を通過し
た後の出力ピンの信号通過目標時刻Togは、次式(6)
で与えられる。 Tog=(Tlatch−Tmargin−t2)・t1/(t1+t3) (6) さらに、モジュール上の配線を通過した後の入力ピン9
08の信号通過目標時刻Tigは、次式(7)で与えられ
る。 Tig=(Tlatch−Tmargin−t2)・t1/(t1+t3)+t2 (7 ) 本実施例では、2つのLSIにわたるパスについて述べ
たが、3つ以上のLSIにわたるスルーパスの場合も同
様に計算できる。
で求めたラッチタイミングをTlatchとし、クロックス
キュー及びプロセスばらつきなどを見込んだマージンを
Tmarginとする。このモジュール内クローズドパスに関
する実装時に守るべき真のディレイの基準値はTlatch
−Tmarginである。t1、t2及びt3を用いて、この
時間(Tlatch−Tmargin)を比例配分することによ
り、オープンパス905、909のディレイ値の基準時
間が計算される。ここで、実装の対象としているのはL
SIの階層であるから、変化し得るのはt1とt3であ
り、t2は固定値であると考えて、Tlatch−Tmargin
を比例配分すると、出力オープンパスのディレイ値の基
準時間Toutは、次式(4)で与えられる。 Tout=(Tlatch−Tmargin−t2)・t1/(t1+t3) (4) 入力オープンパス909のディレイ値の基準時間Tin
は、次式(5)で与えられる。 Tin=(Tlatch−Tmargin−t2)・t3/(t1+t3) (5) 次に、この時間を使い、T0のクロック信号が立ち上が
る時刻を基準時刻0にとってLSIピンの信号通過目標
時刻を計算する。このパスの始点のフリップフロップの
クロックはT0であるから、信号は時刻0にフリップフ
ロップから出力され、出力オープンパス905を通過し
た後の出力ピンの信号通過目標時刻Togは、次式(6)
で与えられる。 Tog=(Tlatch−Tmargin−t2)・t1/(t1+t3) (6) さらに、モジュール上の配線を通過した後の入力ピン9
08の信号通過目標時刻Tigは、次式(7)で与えられ
る。 Tig=(Tlatch−Tmargin−t2)・t1/(t1+t3)+t2 (7 ) 本実施例では、2つのLSIにわたるパスについて述べ
たが、3つ以上のLSIにわたるスルーパスの場合も同
様に計算できる。
【0036】LSIの入出力ピンの信号通過目標時刻
は、基本的には上記の考え方で決められるが、複数のパ
スが同一のLSIの入出力ピンを通る場合には、そのピ
ンの信号通過目標時刻がパスによって異なり一意的には
求まらない。このパスの競合の解消にシビアリティによ
るパスの優先順位付けを使う。この競合の解消の手続き
が図1のステップ107〜110(LSI入出力ピンの
信号通過目標時刻決定処理106)である。これらにつ
いて順に説明する。ディレイ解析結果テーブル204に
格納されている全てのパスについて、優先順位の高いパ
スから順に(107)以下の108〜110の処理を繰
り返す。 (1)パスの共通ピンのチェック処理108を行う。す
なわち、現在対象としているパスに含まれるLSI入出
力ピンと、このパスよりも優先順位が高く既に処理され
たパスに含まれるLSI入出力ピンとの間に共通ピンが
あるかどうかをチェックする。共通ピンがある場合に
は、優先順位が高いパスによって決まったLSI入出力
ピンの信号通過目標時刻を採用して、パスの競合を避け
る。 (2)パスの細分化処理109では、現在の対象パスを
処理108で見い出したi個の共通ピンによってi+1
個の部分パスに細分化する。 (3)上記i+1個の部分パスそれぞれについて、ディ
レイ値の配分処理110を行う。すなわち、始点または
終点が共通ピンである場合には、すでに決まっているピ
ンの信号通過目標時刻を優先して用い、始点と終点の間
の時刻未決定のピンの信号通過目標時刻を、図9に示し
た方法で決定する。
は、基本的には上記の考え方で決められるが、複数のパ
スが同一のLSIの入出力ピンを通る場合には、そのピ
ンの信号通過目標時刻がパスによって異なり一意的には
求まらない。このパスの競合の解消にシビアリティによ
るパスの優先順位付けを使う。この競合の解消の手続き
が図1のステップ107〜110(LSI入出力ピンの
信号通過目標時刻決定処理106)である。これらにつ
いて順に説明する。ディレイ解析結果テーブル204に
格納されている全てのパスについて、優先順位の高いパ
スから順に(107)以下の108〜110の処理を繰
り返す。 (1)パスの共通ピンのチェック処理108を行う。す
なわち、現在対象としているパスに含まれるLSI入出
力ピンと、このパスよりも優先順位が高く既に処理され
たパスに含まれるLSI入出力ピンとの間に共通ピンが
あるかどうかをチェックする。共通ピンがある場合に
は、優先順位が高いパスによって決まったLSI入出力
ピンの信号通過目標時刻を採用して、パスの競合を避け
る。 (2)パスの細分化処理109では、現在の対象パスを
処理108で見い出したi個の共通ピンによってi+1
個の部分パスに細分化する。 (3)上記i+1個の部分パスそれぞれについて、ディ
レイ値の配分処理110を行う。すなわち、始点または
終点が共通ピンである場合には、すでに決まっているピ
ンの信号通過目標時刻を優先して用い、始点と終点の間
の時刻未決定のピンの信号通過目標時刻を、図9に示し
た方法で決定する。
【0037】以下、図10から図12に示す具体例を用
いてLSI入出力ピンの信号通過目標時刻決定処理10
6を詳細に説明する。これらの図は、6個のLSI10
02が搭載されたモジュール1001に、階層間にまた
がるクローズドパスと、それらが通過するLSIの入出
力ピンとを示したものである(LSI内のフリップフロ
ップ以外のゲートは省略してある)。ゲ−ト1003〜
1008はフリップフロップであり、LSI入出力ピン
1009〜1020の信号通過目標時刻が以下の処理に
よって決定される。図10から図12では、信号通過目
標時刻が既に決定されたピンを黒丸で示し、未決定のピ
ンを白抜きの丸で示す。
いてLSI入出力ピンの信号通過目標時刻決定処理10
6を詳細に説明する。これらの図は、6個のLSI10
02が搭載されたモジュール1001に、階層間にまた
がるクローズドパスと、それらが通過するLSIの入出
力ピンとを示したものである(LSI内のフリップフロ
ップ以外のゲートは省略してある)。ゲ−ト1003〜
1008はフリップフロップであり、LSI入出力ピン
1009〜1020の信号通過目標時刻が以下の処理に
よって決定される。図10から図12では、信号通過目
標時刻が既に決定されたピンを黒丸で示し、未決定のピ
ンを白抜きの丸で示す。
【0038】モジュール内全パスの順位付け処理102
により、このモジュール1001上のパスのうち優先順
位の高い上位3パスが以下に示すパスであるとする。 (1)フリップフロップ1003から始まり、ピン10
09、1010、1011、1012を順に通過してフ
リップフロップ1004で終るパス(パス1)(2)フ
リップフロップ1005から始まり、ピン1013、1
014、1015、1020を順に通過してフリップフ
ロップ1006で終るパス(パス2)(3)フリップフ
ロップ1007から始まり、ピン1018、1019、
1015、1016、1011、1017を順に通過し
てフリップフロップ1008で終るパス(パス3)ま
ず、図10の状態で、パス優先順位の最も高いパス1に
ついて、ステップ108から110の処理を行なう。パ
ス1よりも優先順位の高いパスはないので、ステップ1
08及び109の処理は実際は何も行なわれない。従っ
て、ピン1009〜1012の信号通過目標時刻は、図
9で説明した手続きを実行するステップ110で決定さ
れる。
により、このモジュール1001上のパスのうち優先順
位の高い上位3パスが以下に示すパスであるとする。 (1)フリップフロップ1003から始まり、ピン10
09、1010、1011、1012を順に通過してフ
リップフロップ1004で終るパス(パス1)(2)フ
リップフロップ1005から始まり、ピン1013、1
014、1015、1020を順に通過してフリップフ
ロップ1006で終るパス(パス2)(3)フリップフ
ロップ1007から始まり、ピン1018、1019、
1015、1016、1011、1017を順に通過し
てフリップフロップ1008で終るパス(パス3)ま
ず、図10の状態で、パス優先順位の最も高いパス1に
ついて、ステップ108から110の処理を行なう。パ
ス1よりも優先順位の高いパスはないので、ステップ1
08及び109の処理は実際は何も行なわれない。従っ
て、ピン1009〜1012の信号通過目標時刻は、図
9で説明した手続きを実行するステップ110で決定さ
れる。
【0039】この段階で図11の状態に移り、パス2に
ついてパス1と同様の処理を行う。まず、ステップ10
8では、パス1との共通ピンのチェックを行なう。パス
2はパス1と共通ピンを持たないので、パスの細分化処
理109は行なわれず、そのままステップ110の処理
によりピン1013〜1015及び1020の信号通過
目標時刻が決定される。
ついてパス1と同様の処理を行う。まず、ステップ10
8では、パス1との共通ピンのチェックを行なう。パス
2はパス1と共通ピンを持たないので、パスの細分化処
理109は行なわれず、そのままステップ110の処理
によりピン1013〜1015及び1020の信号通過
目標時刻が決定される。
【0040】この後、図12の状態になり、パス3につ
いてパス1と同様の処理を行う。まず、ステップ108
では、パス1との共通ピン1011、パス2との共通ピ
ン1015が見い出される。ステップ109では、パス
3をこれらのピン1011及び1015により3つの部
分パスに細分化する。その結果、パス3は以下の3つの
部分パスに分かれる。 (1)フリップフロップ1007から始まり、ピン10
18及び1019を通過してピン1015で終る部分パ
ス1。 (2)ピン1015から始まり、ピン1016を通過し
て、共通ピン1011で終る部分パス2。 (3)共通ピン1011から始まり、ピン1017を通
過して、フリップフロップ1008で終る部分パス3。
いてパス1と同様の処理を行う。まず、ステップ108
では、パス1との共通ピン1011、パス2との共通ピ
ン1015が見い出される。ステップ109では、パス
3をこれらのピン1011及び1015により3つの部
分パスに細分化する。その結果、パス3は以下の3つの
部分パスに分かれる。 (1)フリップフロップ1007から始まり、ピン10
18及び1019を通過してピン1015で終る部分パ
ス1。 (2)ピン1015から始まり、ピン1016を通過し
て、共通ピン1011で終る部分パス2。 (3)共通ピン1011から始まり、ピン1017を通
過して、フリップフロップ1008で終る部分パス3。
【0041】ステップ110では、これらの部分パスに
ついて、図9に示したディレイ基準値の配分処理を行な
う。部分パス1では、ピン1018とピン1019の信
号通過目標時刻が決定される。この際、部分パスの終点
がフリップフロップではないので、計算時にTmarginは
0とする。部分パス2でも同様にして、ピン1016の
信号通過目標時刻が決定される。ラッチタイミングは、
クロック相ではなく、部分パス1及び部分パス2で決定
されたピン1015及び1011の信号通過目標時刻を
使う。最後に、部分パス3についてステップ110の処
理を行ない、ピン1017の信号通過目標時刻を決定す
る。
ついて、図9に示したディレイ基準値の配分処理を行な
う。部分パス1では、ピン1018とピン1019の信
号通過目標時刻が決定される。この際、部分パスの終点
がフリップフロップではないので、計算時にTmarginは
0とする。部分パス2でも同様にして、ピン1016の
信号通過目標時刻が決定される。ラッチタイミングは、
クロック相ではなく、部分パス1及び部分パス2で決定
されたピン1015及び1011の信号通過目標時刻を
使う。最後に、部分パス3についてステップ110の処
理を行ない、ピン1017の信号通過目標時刻を決定す
る。
【0042】以上の手順により、モジュール内クローズ
ドパスのディレイ解析結果テーブル204に格納されて
いるパスが通過するLSIの入出力ピンについて、信号
通過目標時刻が決定される。
ドパスのディレイ解析結果テーブル204に格納されて
いるパスが通過するLSIの入出力ピンについて、信号
通過目標時刻が決定される。
【0043】
【発明の効果】本発明によれば、階層的に設計される電
子装置において、階層間にまたがるパスに関しても、実
装を行なう階層内の部分パスにディレイの基準値が与え
られる。従って、階層内のクローズドパスだけでなくオ
ープンパスやスルーパスについても、パスディレイがこ
のディレイ基準値以下になるように実装を行なえるの
で、装置全体のディレイ値を基準値以下にできる。
子装置において、階層間にまたがるパスに関しても、実
装を行なう階層内の部分パスにディレイの基準値が与え
られる。従って、階層内のクローズドパスだけでなくオ
ープンパスやスルーパスについても、パスディレイがこ
のディレイ基準値以下になるように実装を行なえるの
で、装置全体のディレイ値を基準値以下にできる。
【0044】また、パスディレイが基準値を越える違反
をなくすという目的だけでなく、基準値に対してディレ
イ値に余裕のあるパスに関わるゲートについては、ゲー
トの速さを犠牲にしてゲートの消費電力を抑えることに
より、装置全体として消費電力を押えた実装設計を行な
うことができる。
をなくすという目的だけでなく、基準値に対してディレ
イ値に余裕のあるパスに関わるゲートについては、ゲー
トの速さを犠牲にしてゲートの消費電力を抑えることに
より、装置全体として消費電力を押えた実装設計を行な
うことができる。
【図1】本発明でディレイ計算を行なう階層をモジュー
ルとし、実装を行なう階層をLSIとした場合の階層間
ディレイ配分の処理手順の一例を示すPAD図である。
ルとし、実装を行なう階層をLSIとした場合の階層間
ディレイ配分の処理手順の一例を示すPAD図である。
【図2】階層間ディレイ配分処理を行なう装置の構成を
示した図である。
示した図である。
【図3】階層間ディレイ配分処理の入力データの仕様を
説明する図である。
説明する図である。
【図4】階層間ディレイ配分処理の出力データの仕様を
説明する図である。
説明する図である。
【図5】階層間ディレイ配分処理の入力データの作成方
法について説明した図である。
法について説明した図である。
【図6】階層間ディレイ配分の出力結果を利用して実装
を行う方法について説明した図である。
を行う方法について説明した図である。
【図7】モジュールとLSI及び、それらにまたがるパ
スの概念を示した図である。
スの概念を示した図である。
【図8】ラッチタイミングの推定処理について説明した
図である。
図である。
【図9】基本的な信号通過目標時刻の決定方法を示す図
である。
である。
【図10】複数パス(3つのパス)が共通ピンを有する
場合に、このピンの信号通過目標時刻を決定するための
パス競合の解消方法を説明するための具体例の図であ
り、パス1の場合を示した図である。
場合に、このピンの信号通過目標時刻を決定するための
パス競合の解消方法を説明するための具体例の図であ
り、パス1の場合を示した図である。
【図11】図10と同様に、パス2の場合を示した図で
ある。
ある。
【図12】図10と同様に、パス3の場合を示した図で
あり、一つのパスを3つの部分パスに細分化する具体例
を示した図である。
あり、一つのパスを3つの部分パスに細分化する具体例
を示した図である。
101〜111…階層間ディレイ配分の処理手順を示す
ためのPAD図、201…中央処理装置、202…プロ
グラムファイル、203…データファイル、204…モ
ジュール内クローズドパスのディレイ解析結果テーブ
ル、205…ディレイ配分情報テーブル、301〜30
9…入力データテーブル204内の各フィールド、40
1〜402…出力データテーブル205内の各フィール
ド、501…LSI論理ファイル、502…モジュール
論理ファイル、503…ディレイ定数ライブラリ、50
4…ディレイ計算処理、601…LSI配置配線処理、
602…LSI配置配線結果、701…モジュール、7
02〜705…モジュールに搭載されたLSI、706
〜711…フリップフロップ、712〜719…LSI
入出力ピン、720〜723…モジュール上配線、72
4〜741…LSI内論理ゲート、801〜804…各
パスの最小ラッチタイミング、901…モジュール、9
02〜903…モジュール上搭載LSI、904、91
0…フリップフロップ、905…LSI出力オープンパ
ス、906…LSI出力ピン、907…モジュール上配
線、908…LSI入力ピン、909…LSI入力オー
プンパス、1001…モジュール、1002…モジュー
ル上搭載LSI、1003〜1008…フリップフロッ
プ、1009〜1020…LSI入出力ピン。
ためのPAD図、201…中央処理装置、202…プロ
グラムファイル、203…データファイル、204…モ
ジュール内クローズドパスのディレイ解析結果テーブ
ル、205…ディレイ配分情報テーブル、301〜30
9…入力データテーブル204内の各フィールド、40
1〜402…出力データテーブル205内の各フィール
ド、501…LSI論理ファイル、502…モジュール
論理ファイル、503…ディレイ定数ライブラリ、50
4…ディレイ計算処理、601…LSI配置配線処理、
602…LSI配置配線結果、701…モジュール、7
02〜705…モジュールに搭載されたLSI、706
〜711…フリップフロップ、712〜719…LSI
入出力ピン、720〜723…モジュール上配線、72
4〜741…LSI内論理ゲート、801〜804…各
パスの最小ラッチタイミング、901…モジュール、9
02〜903…モジュール上搭載LSI、904、91
0…フリップフロップ、905…LSI出力オープンパ
ス、906…LSI出力ピン、907…モジュール上配
線、908…LSI入力ピン、909…LSI入力オー
プンパス、1001…モジュール、1002…モジュー
ル上搭載LSI、1003〜1008…フリップフロッ
プ、1009〜1020…LSI入出力ピン。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 17/50 H01L 21/82
Claims (3)
- 【請求項1】少なくとも複数の電子部品からなる第1の
階層と、前記階層の部品を複数搭載し、前記階層の入出
力端子を相互に接続することにより構成される第2の階
層からなる実装構造において、第2の階層であらかじめ
パスディレイ計算を行ない、この結果に基づいて、第1
の階層と第2の階層にまたがるパスについて、第1の階
層内の該パスの部分パスに対するディレイの基準値を計
算し、第1の階層の実装時に利用し得る形式で、この基
準値を出力することを特徴とする階層間ディレイ配分方
法。 - 【請求項2】請求項1記載のディレイ基準値の出力にお
いて、前記第1の階層の入出力端子毎に、信号が前記入
出力端子を通過する目標時刻をディレイの基準値として
出力することを特徴とする階層間ディレイ配分方法。 - 【請求項3】請求項2記載の前記部分パスのディレイの
基準値の計算方法は、 (1)第2の階層内のクローズドパスを、ディレイ計算
結果のパスディレイ値の基準値に対する余裕度によって
優先順位付けするステップ、 (2)優先順位の高いパスから始めて全てのパスについ
て、 (a)現在対象としているパスが通過する第1の階層の
信号入出力端子と現在対象としているパスよりも優先順
位の高いパスの信号入出力端子との共通端子を見い出す
処理、 (b)共通端子によって現在対象としているパスを細分
化する処理、 (c)細分化した部分パスそれぞれについて、部分パス
の始点と終点の信号通過目標時刻の差を、パスディレイ
計算結果の端子におけるディレイ値に応じて各端子に比
例配分することにより、部分パス内の端子の信号通過目
標時刻を計算する処理、を繰り返すステップとからなる
ことを特徴とする階層間ディレイ配分方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3314301A JP2993239B2 (ja) | 1991-11-28 | 1991-11-28 | 階層間ディレイ配分方法 |
US07/980,397 US5452228A (en) | 1991-11-28 | 1992-11-23 | Path delay allocation method in the physical hierarchy |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3314301A JP2993239B2 (ja) | 1991-11-28 | 1991-11-28 | 階層間ディレイ配分方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05151303A JPH05151303A (ja) | 1993-06-18 |
JP2993239B2 true JP2993239B2 (ja) | 1999-12-20 |
Family
ID=18051714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3314301A Expired - Fee Related JP2993239B2 (ja) | 1991-11-28 | 1991-11-28 | 階層間ディレイ配分方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5452228A (ja) |
JP (1) | JP2993239B2 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0793386A (ja) * | 1993-09-28 | 1995-04-07 | Fujitsu Ltd | Lsi実装設計システム |
JPH07114580A (ja) * | 1993-10-18 | 1995-05-02 | Fujitsu Ltd | 論理装置の遅延時間解析システム |
JP3210172B2 (ja) * | 1994-05-13 | 2001-09-17 | 富士通株式会社 | ディレイ・レーシング・エラーリスト出力装置 |
US5774371A (en) * | 1994-08-03 | 1998-06-30 | Matsushita Electric Industrial Co., Ltd. | Semiconductor integrated circuit and layout designing method for the same |
JP3459481B2 (ja) * | 1994-11-17 | 2003-10-20 | 富士通株式会社 | 論理回路設計用パス解析表示装置 |
US5831869A (en) * | 1995-12-15 | 1998-11-03 | Unisys Corporation | Method of compacting data representations of hierarchical logic designs used for static timing analysis |
US5892981A (en) * | 1996-10-10 | 1999-04-06 | Hewlett-Packard Company | Memory system and device |
JP2872217B1 (ja) * | 1998-02-27 | 1999-03-17 | 北陸日本電気ソフトウェア株式会社 | 論理回路の遅延経路探索方法及びその装置並びにプログラムを記録した機械読み取り可能な記録媒体 |
JP2001142914A (ja) * | 1999-11-10 | 2001-05-25 | Fujitsu Ltd | 経路探索方法及び記憶媒体 |
JP2001290855A (ja) * | 2000-04-10 | 2001-10-19 | Nec Corp | 階層化設計の遅延計算方法 |
US7010767B2 (en) * | 2000-11-01 | 2006-03-07 | Cadence Design Systems, Inc. | Insertion of repeaters without timing constraints |
US7437695B1 (en) | 2004-03-03 | 2008-10-14 | Xilinx, Inc. | Method of memory and run-time efficient hierarchical timing analysis in programmable logic devices |
US7120892B1 (en) * | 2004-03-03 | 2006-10-10 | Xilinx, Inc. | Process for adjusting data structures of a floorplan upon changes occurring |
US7073149B2 (en) | 2004-03-03 | 2006-07-04 | Xilinx, Inc. | System for representing the logical and physical information of an integrated circuit |
JP4389701B2 (ja) * | 2004-07-09 | 2009-12-24 | 日本電気株式会社 | 集積回路階層設計システム及び集積回路階層設計プログラム |
JP4644142B2 (ja) * | 2006-02-24 | 2011-03-02 | 富士通セミコンダクター株式会社 | クリティカルパス推定プログラム、推定装置、推定方法、および集積回路設計プログラム。 |
CN101682410B (zh) * | 2007-04-18 | 2012-12-05 | 蔚蓝公司 | 单频网络的基站同步 |
US10089431B2 (en) * | 2016-11-18 | 2018-10-02 | Arch Systems Inc. | Tool for modular circuitboard design |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01274277A (ja) * | 1988-04-26 | 1989-11-02 | Hitachi Ltd | 負荷分配方式 |
US5062067A (en) * | 1989-03-15 | 1991-10-29 | Vlsi Technology, Inc. | Levelized logic simulator with fenced evaluation |
US5068812A (en) * | 1989-07-18 | 1991-11-26 | Vlsi Technology, Inc. | Event-controlled LCC stimulation |
US5077676A (en) * | 1990-03-30 | 1991-12-31 | International Business Machines Corporation | Reducing clock skew in large-scale integrated circuits |
US5235521A (en) * | 1990-03-30 | 1993-08-10 | International Business Machines Corporation | Reducing clock skew in large-scale integrated circuits |
US5109168A (en) * | 1991-02-27 | 1992-04-28 | Sun Microsystems, Inc. | Method and apparatus for the design and optimization of a balanced tree for clock distribution in computer integrated circuits |
-
1991
- 1991-11-28 JP JP3314301A patent/JP2993239B2/ja not_active Expired - Fee Related
-
1992
- 1992-11-23 US US07/980,397 patent/US5452228A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5452228A (en) | 1995-09-19 |
JPH05151303A (ja) | 1993-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2993239B2 (ja) | 階層間ディレイ配分方法 | |
US5751596A (en) | Automated system and method for identifying critical timing paths in integrated circuit layouts for use with automated circuit layout system | |
JP2874628B2 (ja) | 論理回路の最適化装置及びその方法 | |
US6442739B1 (en) | System and method for timing abstraction of digital logic circuits | |
US20070276645A1 (en) | Power modelling in circuit designs | |
US8769452B2 (en) | Parasitic extraction in an integrated circuit with multi-patterning requirements | |
Wu et al. | Laddering wave in serpentine delay line | |
US6782520B1 (en) | IC layout system having separate trial and detailed routing phases | |
WO2008106369A2 (en) | Method and system for evaluating statistical sensitivity credit in path-based hybrid multi-conrner static timing analysis | |
JPH10207937A (ja) | レイアウト・クリティカルなネット用のタイミング・エラー限界値をフィルタリングすることにより、マイクロエレクトロニクス回路のレイアウト後検証を実行する方法、装置およびコンピュータ・プログラム製品 | |
US8271929B2 (en) | Method for clock load alignment during standard cell optimization | |
US6622290B1 (en) | Timing verification method employing dynamic abstraction in core/shell partitioning | |
JP2000268080A (ja) | 静的・動的タイミング検証方法及び記憶媒体 | |
Lalgudi et al. | DELAY: An efficient tool for retiming with realistic delay modeling | |
JP3005538B1 (ja) | 機能ブロックのモデル作成によるlsi設計システム及びそのlsi設計方法 | |
US5963730A (en) | Method for automating top-down design processing for the design of LSI functions and LSI mask layouts | |
CN117907812B (zh) | 电路检测方法及装置、电子设备、存储介质、程序产品 | |
JP3953756B2 (ja) | タイミングバジェット設計方法 | |
US8671374B2 (en) | Information processing apparatus | |
US20030036894A1 (en) | Method and apparatus for amortizing critical path computations | |
JP2000099561A (ja) | 半導体装置の電源電圧変動解析装置 | |
JP2007226686A (ja) | クリティカルパス推定プログラム、推定装置、推定方法、および集積回路設計プログラム。 | |
Raj et al. | Balanced wrapper design to test the embedded core partitioned into multiple layer for 3d SOC targeting power and number of TSVs | |
Priyadarshi | System and gate-level dynamic electrothermal simulation of three dimensional integrated circuits | |
Golshan | Design Verification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |