JP2003223479A - 回路設計装置 - Google Patents

回路設計装置

Info

Publication number
JP2003223479A
JP2003223479A JP2002356336A JP2002356336A JP2003223479A JP 2003223479 A JP2003223479 A JP 2003223479A JP 2002356336 A JP2002356336 A JP 2002356336A JP 2002356336 A JP2002356336 A JP 2002356336A JP 2003223479 A JP2003223479 A JP 2003223479A
Authority
JP
Japan
Prior art keywords
unit
pin
path
delay value
design
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
Application number
JP2002356336A
Other languages
English (en)
Inventor
Hiroyuki Sugiyama
広行 杉山
Taisuke Abe
泰典 阿部
Naomi Bizen
直美 備前
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2002356336A priority Critical patent/JP2003223479A/ja
Publication of JP2003223479A publication Critical patent/JP2003223479A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

(57)【要約】 【課題】早い時点で論理設計の不具合のチェックを可能
にし、設計工数を削減して回路設計に要する時間の短縮
をはかる。 【解決手段】論理設計部1による論理設計後に、設計対
象の全てのセルに単位ディレイ値を割り付けるとともに
該セルの相互間の全てのネットにディレイ値として0を
割り付けた状態で、論理設計部1による論理設計結果に
対してパストレース部4Aによるパストレースを行ない
ながらディレイ値算出部6により積算ディレイ値の最大
値または最小値を算出させ、その積算ディレイ値の最大
値または最小値に基づいて、設計対象回路における順序
回路セル間もしくは入出力ピンと順序回路セルとの間の
ゲート段数を算出するゲート段数算出部11をそなえて
構成する。

Description

【発明の詳細な説明】
【0001】(目次) 発明の属する技術分野 従来の技術(図14) 発明が解決しようとする課題 課題を解決するための手段(図1〜図5) 発明の実施の形態(図6〜図13) 発明の効果
【0002】
【発明の属する技術分野】本発明は、近年、微細化に伴
い大規模化し且つ複雑化してきているLSIの回路設計
に用いて好適の装置に関する。
【0003】
【従来の技術】一般に、LSIの設計は、図14に示す
ような手順で行なわれる。即ち、まず、設計対象回路
(LSI)についての論理設計を行なってから(ステッ
プS1)、その論理設計結果に基づいてセル(回路素
子)の配置を行ない(ステップS2)、その配置結果に
対してタイミングのチェックを行なう(ステップS
3)。
【0004】タイミングのチェックに際しては、セルの
配置結果に対してパストレースを行ないながら、各パス
のディレイ値を算出し、タイミング制約を満たすか否か
を判断する。この時点では、セル相互間の配線は未だ決
まっていないので、マンハッタン長などにより、セル相
互間の配線(ネット)によるディレイ値を見積もって各
パスのディレイ値を算出する。
【0005】タイミングチェックを行なった結果、タイ
ミング制約を満たさないエラーパスが存在する場合に
は、再度、セルの配置を行なう(ステップS4のNOル
ートからステップS2)。セルの再配置処理(配置改
善)は、エラーパスが無くなるまで(ステップS4でY
ES判定となるまで)繰り返し行なわれる。一方、セル
の配置結果がタイミング制約を満たす場合(ステップS
4でYES判定の場合)、ステップS2で配置されたセ
ル相互間の配線を行ない(ステップS5)、その配線結
果に対しても、前述と同様のタイミングのチェックを行
なう(ステップS6)。
【0006】このタイミングのチェックに際しては、セ
ル相互間の配線結果に対してパストレースを行ないなが
ら、実際の配線長に基づいて各パスのディレイ値を算出
し、タイミング制約を満たすか否かを判断する。タイミ
ングチェックを行なった結果、タイミング制約を満たさ
ないエラーパスが存在する場合には、再度、セル相互間
の配線を行なう(ステップS7のNOルートからステッ
プS5)。この再配線処理(配線改善)は、エラーパス
が無くなるまで(ステップS7でYES判定となるま
で)繰り返し行なわれる。そして、セルの配置結果がタ
イミング制約を満たす場合(ステップS7でYES判定
の場合)は、設計を終了する。
【0007】なお、再配置や再配線を何度行なってもタ
イミング制約を満たさない場合(ステップS4やS7で
YES判定とならない場合)には、ステップS1に戻っ
て論理設計からやり直すことになる。
【0008】
【発明が解決しようとする課題】ところで、近年、LS
Iの微細化に伴い、LSIは、その回路規模が非常に大
きくなるとともに複雑化している。さらに、この複雑化
した回路に対して百数十万規模のフリップフロップ(順
序回路セル;以下、FFという)間のデータタイミング
問題を解決しなければならない。
【0009】従って、何の指標もなく単にセルの配置や
セル相互間の配線を行なっていてはエラーパスの発生を
招きやすいため、配置や配線の指標となるものを用い
て、出来るだけエラーパスを発生させることなく、効率
よく配置や配線を行なえるようにすることが望まれてい
る。配置や配線の改善に際しても、単にエラーパスの改
善を行なうのではなく、改善の指標となるものを用いて
効率よくエラーパスの解消(修正)を行なえるようにす
ることが望まれている。
【0010】また、回路規模が極めて大きく且つ複雑化
している場合に、論理合成などにより論理設計を自動で
行なうと、FF間のゲート段数が、設計者の予想外のも
のになってしまう場合がある。このような場合、設計者
は、FF間に予想外のゲート段数をもつパス(多段パス
等)を、配置や配線の後に行なわれるタイミングチェッ
ク(ディレイ解析)によって、初めて、クリティカルパ
ス(短すぎるパスもしくは長すぎるパス)として認識す
ることになる。この時点でクリティカルパスを認識して
も、このクリティカルパスを再配置や再配線で解消する
ことは難しく、再び、論理設計を行なわなければなら
ず、多大な工数がかかってしまう。従って、論理設計の
段階で、予期しない多段パスなどが生じないように注意
する必要がある。
【0011】さらに、回路規模が大きい場合に、前述の
ように配置や配線の改善を行なっていくと、実装設計
(配置や配線)の終盤近くでは、配置や配線の変更の自
由度が極めて小さくなり変更が難しくなる。着目した箇
所を改善すべくその箇所について配置や配線を変更する
と、他の箇所に悪影響を及ぼすことがあり、最悪の場
合、再度、論理設計を行なわなければならなくなり、や
はり多くの設計工数を要することがある。
【0012】本発明は、このような課題に鑑み創案され
たもので、早い時点で論理設計の不具合のチェックを可
能にし、設計工数を削減して回路設計に要する時間の短
縮をはかった、回路設計装置を提供することを目的とし
ている。
【0013】
【課題を解決するための手段】図1は本発明の関連技術
の原理ブロック図で、この図1に示す回路設計装置は、
設計対象回路についての論理設計を行なう論理設計部1
と、この論理設計部1による論理設計結果に基づいてセ
ルの配置を行なう配置部2と、この配置部2により配置
されたセル相互間の配線を行なう配線部3と、論理設計
部1による論理設計結果に対して1以上のトレース開始
ピンからパストレースを行なうパストレース部4と、こ
のパストレース部4によるパストレース時に配置対象セ
ルの各ピンをパスが通過した回数をピン毎に計数する通
過回数計数部5とをそなえて構成されている。
【0014】このとき、配置部2が、通過回数計数部5
による計数結果に基づく優先順位に従ってセルの配置を
行ない、配線部3が、通過回数計数部5による計数結果
に基づく優先順位に従ってセル相互間の配線を行なう。
また、回路設計に必要な情報を表示する表示部と、この
表示部の表示状態を制御する表示制御部とをそなえ、こ
の表示制御部により、配置部2によりセルの配置を行な
う際に通過回数計数部5による計数結果に基づく優先順
位に応じて表示部の表示状態を制御してもよいし、配線
部3によりセルの相互間の配線を行なう際に通過回数計
数部5による計数結果に基づく優先順位に応じて表示部
の表示状態を制御してもよい。従って、論理設計後にパ
ストレースを行なって各ピンをパスが通過する回数(静
的な信号伝播密度)を求め、これを配置や配線の指標と
して用いることが可能になる。
【0015】図2は本発明の関連技術の原理ブロック図
で、この図2に示す回路設計装置は、前述と同様の論理
設計部1,配置部2および配線部3をそなえるほか、配
置部2による配置結果もしくは配線部3による配線結果
に対して1以上のトレース開始ピンからパストレースを
行なうパストレース部4Aと、このパストレース部4A
によるパストレース時に1以上のトレース開始ピンから
パスが通過した配置対象セルの各ピンまでの積算ディレ
イ値の最大値または最小値を算出するディレイ値算出部
6と、このディレイ値算出部6により算出された積算デ
ィレイ値の最大値または最小値に基づいて各ピンまでの
到達時間とそのピンまでの基準到達時間との差に応じた
エラー重要度を算出するエラー重要度算出部7と、この
エラー重要度算出部7により算出されたエラー重要度を
ピン毎に積算してエラー寄与度を算出するエラー寄与度
算出部8と、回路設計に必要な情報を表示する表示部9
と、エラー寄与度算出部8により算出された各ピンにつ
いてのエラー寄与度に応じて表示部9の表示状態を制御
する表示制御部10とをそなえて構成されている。従っ
て、配置後や配線後にパストレースを行なって各ピンに
おけるエラー寄与度を求め、これを改善の指標として用
いることが可能になる。
【0016】図3は本発明の原理ブロック図で、この図
3に示す本発明の回路設計装置(請求項1)は、前述と
同様の論理設計部1,配置部2,配線部3,パストレー
ス部4Aおよびディレイ値算出部6をそなえるほか、ゲ
ート段数算出部11をそなえて構成されている。このゲ
ート段数算出部11は、論理設計部1による論理設計後
に、設計対象の全てのセルに単位ディレイ値を割り付け
るとともに該セルの相互間の全てのネットにディレイ値
として0を割り付けた状態で、論理設計部1による論理
設計結果に対してパストレース部4Aによるパストレー
スを行ないながらディレイ値算出部6により積算ディレ
イ値の最大値または最小値を算出させ、その積算ディレ
イ値の最大値または最小値に基づいて、設計対象回路に
おける順序回路セル間もしくは入出力ピンと順序回路セ
ルとの間のゲート段数を算出するものである。
【0017】このとき、ゲート段数算出部11により算
出されたゲート段数と規定ゲート段数とを比較してゲー
ト段数のチェックを行なうゲート段数チェック部をそな
えてもよいし(請求項2)、回路設計に必要な情報を表
示する表示部と、この表示部の表示状態を制御する表示
制御部とをそなえ、この表示制御部により、ゲート段数
算出部11により算出されたゲート段数に応じて表示部
の表示状態を制御してもよいし(請求項3)、ゲート段
数チェック部によるチェック結果を表示部に表示するよ
うにこの表示部の表示状態を制御してもよい(請求項
4)。
【0018】従って、論理設計直後に最小ゲート段数と
最大ゲート段数のチェックが可能になり、早い時点で論
理設計の不具合をチェックすることが可能になり、大規
模化したLSI等の設計初期段階で設計回路におけるタ
イミング的に問題のあるパスを早期に発見することがで
きる(請求項1〜4)。
【0019】図4は本発明の関連技術の原理ブロック図
で、この図4に示す回路設計装置は、前述と同様の論理
設計部1,配置部2,配線部3,パストレース部4A,
ディレイ値算出部6,表示部9および表示制御部10を
そなえているが、本発明では、表示制御部10が、ディ
レイ値算出部6により算出された各ピンにおける積算デ
ィレイ値の最大値または最小値と、1以上のトレース開
始ピンから目標ピンに到達するまでに配置され且つ複数
の入力ピンをもつゲートにおける各入力ピンと出力ピン
との間のパスディレイ値と、セル相互間のネットディレ
イ値とを、目標ピンまでの積算ディレイ値が最大または
最小のワーストパスとともに表示部9に表示するよう
に、この表示部9の表示状態を制御する。
【0020】従って、配置や配線の変更の自由度が極め
て小さくなった場合でも、タイミングエラーの解消が可
能な、入力ピンの繋ぎ換えに関する情報が設計者等に対
して表示され、設計者等の判断により、再論理設計を行
なうことなくタイミングエラーを解消することが可能に
なる。
【0021】図5は本発明の関連技術の原理ブロック図
で、この図5に示す回路設計装置は、前述と同様の論理
設計部1,配置部2,配線部3,パストレース部4Aお
よびディレイ値算出部6をそなえるほか、タイミングチ
ェック部12および入力ピン交換部13をそなえて構成
されている。
【0022】ここで、タイミングチェック部12は、デ
ィレイ値算出部6により算出された積算ディレイ値の最
大値または最小値に基づいて、配置部2による配置結果
もしくは配線部3による配線結果のタイミングチェック
を行なうものである。また、入力ピン交換部13は、タ
イミングチェック部12によるチェックの結果、目標ピ
ンまでの積算ディレイ値が最大または最小のワーストパ
スが所定のタイミング制約を満たさない場合、ディレイ
値算出部6により算出された各ピンにおける積算ディレ
イ値の最大値または最小値と、1以上のトレース開始ピ
ンから目標ピンに到達するまでに配置され且つ複数の入
力ピンをもつゲートにおける各入力ピンと出力ピンとの
間のパスディレイ値と、セルの相互間のネットディレイ
値とに基づいて、目標ピンに到達する全てのパスがタイ
ミング制約を満たすように、前記複数の入力ピンをもつ
ゲートの少なくとも1つにおいて、ワーストパスの入力
ピンを他のパスの入力ピンと入れ換えるものである。
【0023】従って、配置や配線の変更の自由度が極め
て小さくなった場合でも、入力ピンの繋ぎ換えという最
小限の実装データの変更が自動的に行なわれ、再論理設
計を行なうことなくタイミングエラーを解消(修正)す
ることが可能になる。
【0024】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態を説明する。図6は本発明の一実施形態として
の回路設計装置の機能的な構成を示すブロック図であ
り、この図6に示すように、ディスプレイ(表示部)2
1と入力部22としてのキーボード22aおよびマウス
22bとを付設された処理装置20が、本実施形態の回
路設計装置として機能する。
【0025】ディスプレイ21は、処理装置20による
回路設計に必要な情報や回路設計経過を表示するもので
あり、キーボード22aおよびマウス22bは、設計者
(オペレータ)によって操作され、回路設計に関する各
種情報を入力するためのものである。従って、設計者
は、ディスプレイ21における表示を参照しながら、キ
ーボード22aおよびマウス22bを操作して各種情報
を入力することにより、会話形式で回路設計(論理設
計,配置,配線)を行なえるようになっている。
【0026】また、処理装置20は、CPU20aおよ
びメモリ20bを有して構成されている。CPU20a
は、メモリ20bに格納されているプログラムや各種デ
ータに基づいて、回路設計を行なうものである。このC
PU20aによる回路設計経過は、後述する表示制御部
34を介してディスプレイ21に随時表示される一方、
キーボード22aおよびマウス22bからの入力情報
は、CPU20aへ入力され、回路設計に反映される。
メモリ20bは、CPU20aが回路設計を行なう際に
ワークメモリとしても機能し、図9にて後述するよう
な、各ピンについてのテーブルデータ等を保持する。
【0027】さらに、処理装置20には、データベース
23が接続されている。このデータベース23には、設
計対象回路に実装されるセル(FFや各種ゲート)に関
する情報(例えばディレイ値情報)が予め格納されてい
る。そして、上述した処理装置20におけるCPU20
aにより実現される本実施形態の回路設計装置の機能構
成について、図6により説明する。この図4に示すよう
に、本実施形態の回路素子配置装置、つまりCPU20
aは、論理設計部31,配置部32,配線部33,表示
制御部34,パストレース部35,ディレイ値算出部3
6,タイミングチェック部37,通過回数計数部38,
エラー重要度算出部39,エラー寄与度算出部40,ゲ
ート段数算出部41,ゲート段数チェック部42および
入力ピン交換部43としての機能を有している。
【0028】ここで、論理設計部31は、設計対象回路
(例えばLSI)についての論理設計を行なうものであ
り、配置部32は、論理設計部31による論理設計結果
に基づいてセル(FFや各種ゲート)の配置を行なうも
のであり、配線部33は、配置部32により配置された
セル相互間の配線を行なうものである。表示制御部34
は、後で詳述するごとくディスプレイ21の表示状態を
制御するものである。
【0029】パストレース部35は、論理設計部31に
よる論理設計結果,配置部32による配置結果もしくは
配線部33による配線結果に対して、図8(a),
(b)にて後述するごとく1以上のトレース開始ピンか
らパストレースを行なうものである。ディレイ値算出部
36は、パストレース部35によるパストレース時に、
図10に示すフローチャート(後述)に従って、1以上
のトレース開始ピンからパスが通過した配置対象セルの
各ピンまでの積算ディレイ値の最大値または最小値を算
出するものである。積算ディレイ値の最大値または最小
値の算出に際しては、ピン毎にそなえられた図9に示す
テーブル(後述)が用いられる。なお、ディレイ値の算
出に必要な各セルのディレイ値情報等は、データベース
23から読み出される。
【0030】タイミングチェック部37は、ディレイ値
算出部36により算出された積算ディレイ値の最大値ま
たは最小値に基づいて、配置部32による配置結果もし
くは配線部33による配線結果のタイミングチェックを
行なう、つまりタイミング制約を満たさないエラーパス
の発生を検出するものである。通過回数計数部38は、
論理設計後のパストレース部35によるパストレース時
に、図11に示すフローチャート(後述)に従って、配
置対象セルの各ピンをパスが通過した回数をピン毎に計
数するものである。パス通過回数の計数に際しては、ピ
ン毎にそなえられた図9に示すテーブル(後述;信号通
過カウンタ)が用いられる。また、本実施形態では、配
置部32は、通過回数計数部38による計数結果に基づ
く優先順位に従ってセルの配置を行ない、配線部33
は、通過回数計数部38による計数結果に基づく優先順
位に従ってセル相互間の配線を行なうようになってい
る。
【0031】エラー重要度算出部39は、配置部32に
よる配置結果もしくは配線部33による配線結果に対し
てパストレース部35によるパストレースを行ないなが
らディレイ値算出部36により各ピンまでの積算ディレ
イ値の最大値または最小値を算出する際に、このディレ
イ値算出部36により算出された積算ディレイ値の最大
値または最小値に基づいて、各ピンまでの到達時間とそ
のピンまでの基準到達時間との差に応じたエラー重要度
を後述の式により算出するものである。
【0032】エラー寄与度算出部40は、エラー重要度
算出部39により算出されたエラー重要度をピン毎に積
算してエラー寄与度を算出するものである。エラー寄与
度の算出に際しては、ピン毎にそなえられた図9に示す
テーブル(後述;エラー寄与度カウンタ)が用いられ
る。ゲート段数算出部41は、論理設計部31による論
理設計後に、設計対象の全てのセルに単位ディレイ値を
割り付けるとともに該セルの相互間の全てのネットにデ
ィレイ値として0を割り付けた状態で、図10に示すフ
ローチャート(後述)に従って、論理設計部31による
論理設計結果に対してパストレース部35によるパスト
レースを行ないながらディレイ値算出部36により積算
ディレイ値の最大値または最小値を算出させ、その積算
ディレイ値の最大値または最小値に基づいて、設計対象
回路におけるFF(順序回路セル)間もしくは入出力ピ
ンとFFとの間のゲート段数を算出するものである。
【0033】ゲート段数チェック部42は、ゲート段数
算出部41により算出されたゲート段数と規定ゲート段
数とを比較してゲート段数のチェックを行なうものであ
る。入力ピン交換部43は、タイミングチェック部37
によるチェックの結果、目標ピンまでの積算ディレイ値
が最大または最小のワーストパスが所定のタイミング制
約を満たさない場合、ディレイ値算出部36により算出
された各ピンにおける積算ディレイ値の最大値または最
小値と、1以上のトレース開始ピンから目標ピンに到達
するまでに配置され且つ複数の入力ピンをもつゲート
(多入力ゲート)における各入力ピンと出力ピンとの間
のパスディレイ値と、セルの相互間のネットディレイ値
とに基づいて、目標ピンに到達する全てのパスがタイミ
ング制約を満たすように、前記複数の入力ピンをもつゲ
ートの少なくとも1つにおいて、ワーストパスの入力ピ
ンを他のパスの入力ピンと入れ換えるものである。な
お、この入力ピン交換部43による入力ピンの交換動作
については、後で図13を参照しながら詳述する。ま
た、パスディレイ値やネットディレイ値に関する情報
は、データベース23から読み出される。
【0034】一方、本実施形態の表示制御部34は、以
下のような表示制御機能〜を有している。 配置部32によりセルの配置を行なう際に、通過回数
計数部38による計数結果に基づく優先順位に応じてデ
ィスプレイ21の表示状態を制御する。例えば、優先的
に配置すべきセルのリストを通過回数(つまり配置優先
順位)に従ってソートして表示したり、優先的に配置す
べきセルを、その表示色を変えるなどして強調的に表示
したりする。
【0035】配線部33によりセル相互間の配線を行
なう際に、通過回数計数部38による計数結果に基づく
優先順位に応じてディスプレイ21の表示状態を制御す
る。例えば、優先的に配線すべきセルやネットのリスト
を通過回数(つまり配線優先順位)に従ってソートして
表示したり、優先的に配線すべきセルやネットを、その
表示色を変えるなどして強調的に表示したりする。
【0036】タイミングチェック部37によりエラー
パスの発生を検出し、配置部32による配置改善もしく
は配線部33による配線改善を行なう際に、エラー寄与
度算出部40により算出された各ピンについてのエラー
寄与度に応じてディスプレイ21の表示状態を制御す
る。例えば、エラー寄与度の高いピンのリストを、その
エラー寄与度の高い順にソートして表示したり、エラー
寄与度の高いつまり改善優先順位の高いピンやそれに付
随するネットを、その表示色を変えるなどして強調的に
表示したりする。
【0037】ゲート段数算出部41により算出された
ゲート段数に応じてディスプレイ21の表示状態を制御
する。例えば、算出されたゲート段数をソートしリスト
表示やグラフ表示する。 ゲート段数チェック部42によるチェック結果をディ
スプレイ21に表示するようにこのディスプレイ21の
表示状態を制御する。例えば、違反パスのリスト、つま
り、規定ゲート段数に満たないパスや規定ゲート段数を
超えた多段パスのリストを、そのゲート段数順にソート
して表示する。
【0038】ディレイ値算出部36により算出された
各ピンにおける積算ディレイ値の最大値または最小値
と、1以上のトレース開始ピンから目標ピンに到達する
までに配置され且つ多入力ゲートにおける各入力ピンと
出力ピンとの間のパスディレイ値と、セル相互間のネッ
トディレイ値とを、目標ピンまでの積算ディレイ値が最
大または最小のワーストパスとともにディスプレイ21
に表示するように、このディスプレイ21の表示状態を
制御する。なお、パスディレイ値やネットディレイ値に
関する情報は、データベース23から読み出される。ま
た、その表示例を図12(後述)に示す。
【0039】次に、上述のごとく構成された本実施形態
の回路設計装置の基本的な動作について、図7に示すフ
ローチャート(ステップS11〜S24)に従って簡単
に説明する。まず、論理設計部31により、設計対象回
路(例えばLSI)についての論理設計を例えば論理合
成により行なった後(ステップS11)、ゲート段数算
出部41により、FF間もしくは入出力ピンとFFとの
間のゲート段数を求め(ステップS12)、ゲート段数
チェック部42により、そのゲート段数のチェックを行
なう(ステップS13)。
【0040】このとき、設計対象の全てのセルに単位デ
ィレイ値を割り付けるとともに該セルの相互間の全ての
ネットにディレイ値として0を割り付けた状態で、図1
0に示すフローチャート(後述)に従って、論理設計部
31による論理設計結果に対してパストレース部35に
よるパストレースを行ないながらディレイ値算出部36
により積算ディレイ値の最大値または最小値を算出す
る。そして、ゲート段数算出部41により、その積算デ
ィレイ値の最大値または最小値に基づいて、設計対象回
路におけるFF間もしくは入出力ピンとFFとの間のゲ
ート段数が算出される。
【0041】この後、ゲート段数チェック部42によ
り、違反パス(規定ゲート段数に満たないパスや規定ゲ
ート段数を超えた多段パス)が存在すると判定された場
合(ステップS13でNO判定の場合)には、ステップ
S11に戻り、再度、論理設計を行なう。違反パスが存
在しなかった場合(ステップS13でYES判定の場
合)には、通過回数計数部38により、パス通過回数
(信号通過回数)の計数を行なう(ステップS14)。
つまり、図11に示すフローチャート(後述)に従っ
て、論理設計後にパストレース部35によりパストレー
スを行ない、配置対象セルの各ピンをパスが通過した回
数(信号の通過回数)がピン毎に計数され各ピンについ
てのテーブル(図9参照)の信号通過カウンタに保持さ
れる。
【0042】ついで、配置部32により、論理設計結果
に基づいてセル(FFや各種ゲート)の配置を行なう
(ステップS15)。このとき、ステップS14で計数
された信号通過回数に基づく優先順位に従ってセルの配
置が行なわれる。配置終了後、図10に示すフローチャ
ート(後述)に従って、配置結果に対してパストレース
部35によりパストレースを行ないながら、ディレイ値
算出部36により配置結果における各パスのディレイ値
を算出する。この時点では、セル相互間の配線は未だ決
まっていないので、マンハッタン長などにより、セル相
互間の配線(ネット)によるディレイ値を見積もって各
パスのディレイ値を算出する。そして、そのディレイ値
に基づいて、配置部32による配置結果のタイミングチ
ェックを行ない(ステップS16)、タイミング制約を
満たさないエラーパスが存在するか否かを判定する(ス
テップS17)。
【0043】エラーパスが存在する場合(ステップS1
7でNO判定の場合)、入力ピン交換(ステップS1
8)もしくはエラー寄与度の算出および表示(ステップ
S23)を行なう。ここで、これらのステップS18,
S23の処理のいずれか一方のみが実行されてもよい
し、初めはステップS23によるエラー寄与度の算出お
よび表示の処理を行ない、ステップS15による配置改
善を所定回数行なっても、ステップS16でのタイミン
グチェックの結果がOKにならない場合に、ステップS
18による入力ピン交換を行なうようにしてもよい。
【0044】ステップS18による入力ピン交換は、設
計者により、ディスプレイ21に表示された、各ピンに
おける積算ディレイ値の最大値または最小値(ステップ
S16でのタイミングチェック時に算出された値)と、
多入力ゲートにおける各入力ピンと出力ピンとの間のパ
スディレイ値と、セル相互間のネットディレイ値とを参
照ながら、図12にて後述するごとく手動で行なっても
よいし、図13にて後述するごとく入力ピン交換部43
の機能により自動で行なってもよい。いずれにしても、
入力ピンの交換を行なうことにより、他のパスへの影響
を最小限に抑えながら、タイミング制約を満たすように
ディレイ改善を行なう。入力ピンの交換後には、ステッ
プS16で再度タイミングチェックを行なう。
【0045】ステップS23では、配置部32による配
置結果に対してパストレース部35によるパストレース
を行ないながらディレイ値算出部36により各ピンまで
の積算ディレイ値の最大値または最小値を算出し、その
際に、エラー重要度算出部39により、積算ディレイ値
の最大値または最小値に基づいて各ピンまでの到達時間
tとそのピンまでの基準到達時間Tとの差に応じたエラ
ー重要度Yが後述の式により算出される。
【0046】そして、エラー寄与度算出部40により、
エラー重要度Yがピン毎に積算され各ピンについてのテ
ーブル(図9参照)のエラー寄与度カウンタに保持され
る。そのエラー寄与度は、表示制御部34の機能(前述
の項目の機能)によりディスプレイ34に表示され、
設計者は、そのエラー寄与度を参考にしながら、ステッ
プS15での配置改善を行なう。
【0047】一方、ステップS17でエラーパスが存在
しないと判定された場合(YES判定の場合)、配線部
33により、ステップS15で配置されたセルの相互間
の配線を行なう(ステップS19)。このとき、ステッ
プS14で計数された信号通過回数に基づく優先順位に
従ってセル相互間の配線が行なわれる。配線終了後に
は、前述したステップS16〜S18,S23と同様の
処理が行なわれる。
【0048】即ち、図10に示すフローチャート(後
述)に従って、配線結果に対してパストレース部35に
よりパストレースを行ないながら、ディレイ値算出部3
6により、実際の配線長に基づいて配線結果における各
パスのディレイ値を算出する。そして、そのディレイ値
に基づいて、配線部33による配線結果のタイミングチ
ェックを行ない(ステップS20)、タイミング制約を
満たさないエラーパスが存在するか否かを判定する(ス
テップS21)。
【0049】エラーパスが存在する場合(ステップS2
1でNO判定の場合)、前述と同様の入力ピン交換(ス
テップS22)もしくはエラー寄与度の算出および表示
(ステップS24)を行なう。ここでも、これらのステ
ップS22,S24の処理のいずれか一方のみが実行さ
れてもよいし、初めはステップS24によるエラー寄与
度の算出および表示の処理を行ない、ステップS19に
よる配線改善を所定回数行なっても、ステップS20で
のタイミングチェックの結果がOKにならない場合に、
ステップS22による入力ピン交換を行なうようにして
もよい。
【0050】ステップS22による入力ピン交換は、前
述したステップS18と全く同様であるので、その説明
は省略する。入力ピンの交換後には、ステップS16で
再度タイミングチェックを行なう。また、ステップS2
3とほぼ同様に、ステップS24では、配線部33によ
る配線結果に対してパストレース部35によるパストレ
ースを行ないながらディレイ値算出部36により各ピン
までの積算ディレイ値の最大値または最小値を算出し、
その際に、エラー重要度算出部39により、積算ディレ
イ値の最大値または最小値に基づいて各ピンまでの到達
時間tとそのピンまでの基準到達時間Tとの差に応じた
エラー重要度Yが後述の式により算出される。
【0051】そして、エラー寄与度算出部40により、
エラー重要度Yがピン毎に積算され各ピンについてのテ
ーブル(図9参照)のエラー寄与度カウンタに保持され
る。そのエラー寄与度は、表示制御部34の機能(前述
の項目の機能)によりディスプレイ34に表示され、
設計者は、そのエラー寄与度を参考にしながら、ステッ
プS19での配線改善を行なう。
【0052】最終的に、ステップS21でエラーパスが
存在しないと判定されると、回路設計を終了する。ただ
し、配置改善/配線改善や入力ピン交換を何度行なって
も、ステップS17もしくはS21でYES判定となら
ない場合(エラーパスが解消されない場合)には、従来
と同様、ステップS11に戻って論理設計からやり直す
ことになる。
【0053】次に、図8〜図13を参照しながら、本実
施形態の回路設計装置の詳細な機能や動作について説明
する。 (1)パストレース手法およびディレイ値算出手法につ
いて まず、図8〜図10により、本実施形態でのパストレー
ス手法およびディレイ値算出手法について説明する。
【0054】本実施形態におけるパストレース部35で
は、設計対象回路であるLSI内の任意のピンからパス
トレースを行なうことが可能で、さらにパストレースの
スタートポイントが任意の箇所から同時に行なうことが
可能である。例えば、1つのピンからトレースを開始す
る場合は、図8(a)に示すように、1つのピンについ
て複数のパスを見つけることができる。また、n個のピ
ンから同時にトレースを開始し図8(b)に示すように
m個のエンドピンが見つかった場合は、m本のパスが見
つけられ、各エンドピンに対するワースト値(後述する
ディレイ値の最大値もしくは最小値)を得ることができ
る。
【0055】また、設計対象回路に配置されるセル(F
F,RAM,各種ゲート)のピン毎に、図9に示すよう
なテーブルがそなえられている。このテーブルは、パス
トレース部35によるパストレースを行ないながら得ら
れた各種パストレースデータを保持するものである。そ
のテーブルの内容は、例えば下記〜の7種類のデー
タである。
【0056】データベースのピンへのポインタ:この
テーブルが、設計対象回路におけるどのピンのためのも
のであるかを示す情報である。 前段ピンへのバックワードリンク:このピンに至る前
段のピンがどのピンであるかを示す情報、つまり、パス
がどのピンからこのピン至ったから示す情報である。
【0057】イベントフラグ:テーブルに、このピン
までの積算ディレイ値(後述するディレイ up およびデ
ィレイ down)が書き込まれている場合に設定されるフラ
グである。 ディレイ up :トレース開始ピンからこのピンまでの
積算ディレイ値の最大値または最小値で、特に、立ち上
がり信号のディレイ値である。
【0058】ディレイ down :トレース開始ピンから
このピンまでの積算ディレイ値の最大値または最小値
で、特に、立ち下がり信号のディレイ値である。 信号通過カウンタ:このピンをパストレースによって
パス(信号)が通過した回数を保持する領域で、図11
にて後述するごとく、パストレース部35によるパスト
レースを行なう際に、このピンをパスが通過する度に、
この領域における値が、通過回数計数部38により1ず
つカウントアップされるようになっている(図7のステ
ップS14参照)。
【0059】エラー寄与度カウンタ:このピンをエラ
ーパスが通過している場合に、パストレースしながらエ
ラー重要度算出部39およびエラー寄与度算出部40に
より得られた、このピンのエラー寄与度を保持する領域
である(図7のステップS23およびS24参照)。こ
のエラー寄与度については、下記項目(3)において後
述する。
【0060】なお、以下では、説明を簡単にするため
に、2種類のディレイ値(ディレイ up およびディレイ
down )のうちの一方(例えばディレイ up )のみを取
り扱っているものとする。
【0061】次に、図10に示すフローチャート(ステ
ップS31〜S46)を参照しながら、本実施形態にお
けるパストレース手法およびディレイ値算出手法につい
て説明する。この図10に示す手法は、ゲート段数算出
(図7のステップS12参照),タイミングチェック
(図7のステップS16,S20参照),エラー寄与度
算出(図7のステップS23,S24)を行なう際に用
いられるもので、この手法に従って、パストレース部3
5が、論理設計結果,配置結果もしくは配線結果に対し
て1以上のトレース開始ピンからパストレースを行ない
ながら、ディレイ値算出部36が、その1以上のトレー
ス開始ピンから、パスが通過した配置対象セルの各ピン
までの積算ディレイ値の最大値または最小値を算出し
て、その積算ディレイ値を各ピンのテーブル(図9の
または参照)に登録する。
【0062】つまり、図10に示すように、まず、パス
トレース部35は、トレースを開始すべきトレーススタ
ートピンのデータを得ると(ステップS31)、そのス
タートピンのアドレスを全てイベントテーブル"EVTB1"
にセットする(ステップS32)。
【0063】そして、パストレース部35は、イベント
テーブル"EVTB1" にセットされたアドレスデータ(ピ
ン)を指定する変数"EX"を設定する(ステップS3
3)。イベントテーブル"EVTB1" にセットされた全ての
アドレスデータ(ピン)に対して後述するステップS3
4〜S44の処理を行なうべく、この変数"EX"は、1つ
のピンに対してステップS34〜S44を行なう度に1
ずつインクリメントされ、1から、イベントテーブル"E
VTB1" にセットされたアドレスデータの数nまでインク
リメントされる。
【0064】ディレイ値算出部36は、この変数"EX"に
より指定されるアドレスデータ"EVTB1[EX]" をピンアド
レス"PINAD" として読み出し(ステップS34)、この
ピンアドレス"PINAD" に関する次段のピンまでのディレ
イ値をその次段のピンのアドレスとともにデータベース
23から取り出し(ステップS35)、積算ディレイ値
を計算するとともに(ステップS36)、パストレース
部35は、次段のピンのアドレスを、ピンアドレス"PIN
X"として登録する(ステップS37)。
【0065】また、ディレイ値算出部36は、次段のピ
ンアドレス"PINX"の指すピンのテーブルにおけるイベン
トフラグ(図9の参照)を参照して、このイベントフ
ラグがONかOFFかを認識する(ステップS38)。
イベントフラグがOFFである場合には、そのテーブル
には未だディレイ値がセットされていないので、ステッ
プS36で新たに計算されたディレイ値をそのテーブル
にセットする(ステップS39)。
【0066】一方、イベントフラグがONである場合に
は、ディレイ値算出部36は、ステップS36で新たに
計算された積算ディレイ値とピンアドレス"PINX"の指す
ピンのテーブルに既にセットされている積算ディレイ値
とを比較し(ステップS40)、新規計算ディレイ値の
方が悪い値である場合に、その値を、テーブルにセット
されている積算ディレイ値と置き換える(ステップS4
1)。既にテーブルにセットされている値の方が悪い値
である場合には、ステップS44へ移行する。
【0067】このとき、本実施形態のパストレースで
は、MAXモードとMINモードとの2つのトレースモ
ードがある。MAX(maximum)モードでは、後述する図
10のステップS40において新規計算ディレイ値(積
算ディレイ値)が既にテーブルにセットされているディ
レイ値よりも大きいと判断された場合、その新規計算デ
ィレイ値がワースト値としてテーブルに書き込まれる
(ステップS41)。この場合、積算ディレイ値の最大
値が算出されることになる。逆に、MIN(minimum)モ
ードでは、新規計算ディレイ値が既にテーブルにセット
されているディレイよりも小さいと判断された場合、そ
の新規計算ディレイ値がワーストとしてテーブルに書き
込まれる(ステップS41)。この場合、積算ディレイ
値の最小値が算出されることになる。
【0068】ステップS39で積算ディレイ値を新たに
テーブルにセットした後、もしくは、ステップS41で
テーブルの積算ディレイ値を書き換えた後、パストレー
ス部35は、そのピンアドレス"PINX"の指すピンのテー
ブルにおけるバックワードリンク(図9の参照)とし
て、ピンアドレス"PINAD" をセットする(ステップS4
2)。
【0069】そして、パストレース部35は、次段のピ
ンのアドレス"PINX"をイベントテーブル"EVTB2" に登録
してから(ステップS43)、ループエンドになったか
否か、つまり、変数"EX"がイベントテーブル"EVTB1" に
セットされたアドレスデータの数nであるか否か(LOOP
END)を判断し(ステップS44)、未だnに達していな
い場合には、ステップS33に戻り、変数"EX"がnであ
る場合には、イベントテーブル"EVTB2" に登録されたア
ドレスデータの数が0か否かを判定する(ステップS4
5)。そのデータ数が0であればパストレースを終了す
る一方、0でなければ、イベントテーブル"EVTB2" をイ
ベントテーブル"EVTB1" に置き換えてから(ステップS
46)、再び、ステップS33に戻り、新たなイベント
テーブル"EVTB1" に対して、前述と同様のステップS3
3〜S44の処理を行なう。
【0070】このようにして、1以上のトレース開始ピ
ンから同時にパストレースを行ないながら、その1以上
のトレース開始ピンから、パスが通過した各ピンまでの
積算ディレイ値の最大値または最小値が算出され、その
積算ディレイ値が各ピンのテーブルに登録される。
【0071】(2)信号通過回数計数手法について 次に、図11に示すフローチャート(ステップS31〜
S35,S37,S50,S43〜S46)を参照しな
がら、本実施形態における信号通過回数(パス通過回
数)の計数手法について説明する。この図11に示す手
法は、図7のステップS14で用いられるもので、図1
0により前述したパストレース手法を利用している。即
ち、本実施形態において、図11に示す手法は、図10
におけるステップS36,S38〜S42をパスすると
ともにステップS37とS43との間で新たなステップ
S50を実行するように外部パラメータにより設定する
ことで実現されている。
【0072】この図11に示す手法に従って、通過回数
計数部38が、パストレース部35と協働し、論理設計
後にパストレースを行ないながら各ピンをパスが通過し
た回数をピン毎に計数して、その計数結果を各ピンのテ
ーブルの信号通過カウンタ(図9の参照)に登録す
る。
【0073】信号通過回数を計数する際には、まず、L
SI内の全てのピンに対応するテーブル内の信号通過カ
ウンタを0クリアしてから、LSIの入力ピン,FFや
RAMのクロック入力ピンの全てに対し、図10でも説
明したパストレース手法と同様にして各々のピンからパ
ストレースを行なう(図11のステップS31〜S3
5,S37)。
【0074】パストレース部35が、ステップS35
で、データベース23から読み出された次段のピンのア
ドレスをピンアドレス"PINX"として登録すると、通過回
数計数部38は、ピンアドレス"PINAD" の指すピンのテ
ーブルにおける信号通過カウンタの値を1だけカウント
アップする(ステップS50)。この後、図10と全く
同様のステップS43〜S46の処理が行なわれる。な
お、ステップS35でデータベース23から読み出され
た、ピンアドレス"PINAD" に関する次段のピンまでのデ
ィレイ値は、信号通過回数の計数時には利用されること
はない。
【0075】このようにしてLSIの入力ピンやFF,
RAM等のクロックピンから、各々のピンへのパストレ
ースを行なうことにより、LSI内部のゲートの各ピン
のテーブルにおける信号通過カウンタでパス(信号)の
通過回数が計数され、各々のピンにおける信号伝播密
度、即ちLSI内の信号通過頻度を知ることが可能にな
る。
【0076】この計数データは、信号の通過回数につい
てソートされ、LSIの配置/配線フェイズ(図7のス
テップS15,S19)に渡され、自動配置や自動配線
の優先順位決定の目安として使用される。また、計数デ
ータは、前述した表示制御部34の機能により、配置/
配線フェイズでネットやゲートを表示するディスプレイ
21のウィンドウ上で、リスト表示される。リスト表示
以外に、計数データ(つまり配置優先順位)に従って優
先的に配置/配線処理すべきセルがその表示色を変える
などして強調的に表示することもできる。いずれにして
も、設計者に対して配置/配線処理の優先順位情報が提
供される。
【0077】上述のように論理設計後にパストレースを
行なって各ピンをパスが通過する回数(静的な信号伝播
密度)を求め、これを配置や配線の指標とすることによ
り、エラーパスをできるだけ発生させることなく、極め
て効率よく配置や配線を行なうことができる。また、配
置部32による配置処理や配線部33による配線処理に
際して、パス通過回数の多いセルの処理優先順位を高く
することにより、クリティカルパスの削減や設計後期に
おける配置/配線によるタイミング改善が難しい場合で
も、極めて容易にタイミング改善を行なうことが可能に
なり、設計品質の向上に大いに寄与する。
【0078】(3)エラー寄与度の算出手法(計数手
法)について 次に、本実施形態におけるエラー寄与度の算出手法につ
いて説明する。この手法は図7のステップS23および
S24で用いられるもので、配置部32による配置結果
や配線部33による配線結果に対してタイミングチェッ
ク(図7のステップS16,S20参照)を行なった結
果、パス上の信号が規定時間内に到達しない場合あるい
は到達時間が早すぎる場合(エラーパスが存在する場
合)、このエラー寄与度算出手法に従って、エラー重要
度算出部39およびエラー寄与度算出部40が、パスト
レース部35と協働し、パストレースを行ないながら、
各ピンのエラー重要度を算出して、その算出結果を各ピ
ンのテーブルのエラー寄与度カウンタ(図9の参照)
に積算して登録する。
【0079】エラー寄与度を算出する際には、まず、L
SI内の全てのピンに対応するテーブル内のエラー寄与
度カウンタを0クリアしてから、LSIの入力ピン,F
FやRAMのクロック入力ピンの全てに対し、図10で
も説明したパストレース手法と同様にして各々のピンか
らパストレースを行なう。
【0080】このとき、ディレイ値算出部36により算
出された積算ディレイ値の最大値または最小値に基づい
て、エラー重要度算出部39により、各ピンまでの到達
時間tとそのピンまでの基準到達時間Tとの差分(t−
T)に応じたエラー重要度Yが算出される。この差分
(t−T)をXとすると、エラー重要度Yは、下式によ
り定義される。
【0081】Y=(X・α)+β ただし、α,βは設計者によって与えられる定数であ
る。エラー重要度算出部39により算出された各ピンに
ついてのエラー重要度Yは、エラー寄与度算出部40に
より、そのパス上の各ピンのテーブルにおけるエラー寄
与度カウンタの値に一律に積算される。
【0082】このような処理を全パスに対して行なうこ
とにより、各ピンのエラー寄与度が計算される。このエ
ラー寄与度が大きいピンは、その配置位置等に問題があ
り、エラーパスの発生に大きく寄与していることにな
る。このようにして算出されたエラー寄与度は、配置部
32による配置改善もしくは配線部33による配線改善
を行なう際に、前述した表示制御部34の表示機能によ
り、ディスプレイ21上で、エラー寄与度の高い順にソ
ートされたリストとして表示される。リスト表示以外
に、エラー寄与度の高いつまり改善優先順位の高いピン
やそれに付随するネットを、その表示色を変えるなどし
て強調的に表示することもできる。
【0083】いずれにしても、設計者に対して配置/配
線改善処理の優先順位情報が提供され、設計者にピン
(またはそれに付随するネット)の修正の重要度を知ら
せることができ、設計者は、このエラー寄与度順に修正
を行なうことにより、効率よく修正作業を進めることが
可能になる。なお、上述したエラー重要度Yの定義式に
おいて、例えば、αを0、βを1とすれば、カウンタで
積算されるエラー寄与度は単純にエラーパス通過回数に
なる。従って、信号通過カウンタとエラー寄与度カウン
タとを兼用することも可能である。
【0084】(4)ゲート段数の算出手法について 次に、本実施形態におけるゲート段数の算出手法につい
て説明する。この手法は図7のステップS12で用いら
れるもので、そのゲート段数算出手法に従って、ゲート
段数算出部41が、パストレース部35およびディレイ
値算出部36と協働して、論理設計部31による論理設
計結果におけるFF間もしくは入出力ピンとFFとの間
のゲート段数を算出する。
【0085】本来、予め計算された各ゲートや各ネット
のディレイ値は実数値としてデータベース23に保存さ
れており、前述した通り、ディレイ値算出部36は、デ
ータベース23に保存されたディレイ値を読み出しなが
ら、各ピンまでの積算ディレイ値を算出している。本実
施形態では、ゲート段数算出部41によりFF間もしく
は入出力ピンとFFとの間のゲート段数を求める際に
も、パストレース部35およびディレイ値算出部36の
機能を用いている。
【0086】つまり、論理設計部31による論理設計後
に、通常のディレイ値の割り付けに代えて、設計対象の
全てのゲート(セル)に単位ディレイ値1を割り付ける
とともに該セルの相互間の全てのネットにディレイ値と
して0を割り付ける。このような割り付けを行なった状
態で、パストレース部35およびディレイ値算出部36
により、図10に示したパストレース手法と全く同様に
して、全てのFFのクロックピンから同時にパストレー
スを行ないながら、各ピンにおける積算ディレイ値を算
出する。
【0087】この結果として得られる積算ディレイ値
は、FFからのゲートの通過段数となり、その通過段数
は、ゲート段数算出部41によりソートされる。そし
て、そのソート結果は、前述した表示制御部34の機能
により、ディスプレイ21上でリスト表示もしくはグラ
フ表示される。また、ゲート段数チェック部42におい
て、ゲート段数算出部41により算出されたゲート段数
と予め設定されたゲート段数とを比較し、違反パス(規
定ゲート段数に満たないパスや規定ゲート段数を超えた
多段パス)を見つけ出し、前述した表示制御部34の機
能により、その違反パスを、ディスプレイ21上で、ゲ
ート段数順にソートしてリスト表示する。
【0088】このようにして、論理設計段階で、最小ゲ
ート段数と最大ゲート段数のチェックが可能になり、早
い時点で論理設計の不具合をチェックできるので、大規
模化したLSIの設計初期段階で設計回路におけるタイ
ミング的に問題のあるパスを早期に発見することができ
る。従って、配置後や配線後に再論理設計を行なう必要
がなくなり、設計工数を大幅に削減して回路設計に要す
る時間を大幅に短縮することができる。
【0089】なお、本実施形態では、図10に従ってパ
ストレースを行ないながらディレイ値を算出する際に、
MINモードを選択することにより、FF間もしくは入
出力ピンとFFとの間の最小段数を算出してチェックす
ることが可能である。つまり、ゲート段数が指定の範囲
内であるかどうかをチェックすることができる。また、
上述した例では、全てのゲートに一律に単位ディレイ値
1を割り付けているが、複合ゲートなどに対しては、そ
の複合ゲート内の段数分の重みを付けたディレイ値を単
位ディレイ値として割り付けることにより、より適切な
ゲート段数を算出することもできる。
【0090】(5)入力ピンを交換するための情報の表
示について ところで、前述したように、LSIの設計においては、
実装設計とタイミングチェックとを繰り返し行ないなが
ら、タイミングの不具合を修正し配置/配線を決定して
いく。しかし、前述した通り、実装変更が、ある程度進
むと、配置/配線の変更の自由度が小さくなり、それ以
上の変更が困難になる。最悪の場合には論理の変更を余
儀なくされる場合もある。
【0091】本実施形態では、このような場合にも論理
設計の変更を行なうことなく、表示制御部34の機能
や、次の項目(6)で説明する入力ピン交換部43の機
能により、多入力ゲートにおいて同一論理の入力ピンを
繋ぎ換え(入力ピンスワッピング)るだけでタイミング
の改善を行なえるようにしている。この処理は、図7の
ステップS18やS22で行なわれる。
【0092】一般に、多入力ゲートでは、その内部の構
造等により、各入力ピンから出力ピンまでに至るパス
に、50〜100ps(ピコ秒)程度のディレイ差が存在
している。この各入力ピンから出力ピンまでに至るパス
のディレイ値は、既知のもので、従来よりデータベース
23には予め登録されている。そこで、本発明では、こ
のディレイ差を利用し、入力ピンの交換を行なっても論
理が変わらない場合、入力ピンの交換によってタイミン
グの改善を行なう。
【0093】まず、図10にて前述した手法に従って、
全てのLSIの入力ピンおよびFF,RAM等のクロッ
ク入力ピンから同時にパストレースを開始し、各ピンで
の積算ディレイ値の最大値もしくは最小値を算出し、各
ピンに対応するテーブル内のディレイ up とディレイ d
own との領域にその積算ディレイ値をセットする。そし
て、この積算ディレイ値を、表示制御部34の機能によ
り、多入力ゲートにおける各入力ピンと出力ピンとの間
のパスディレイ値と、ゲート間のネットディレイ値とと
もにディスプレイ21に表示する。このとき、その積算
ディレイ値は、ピンまでの積算ディレイ値が最大または
最小のワーストパスを示す回路図上で、対応するピンの
近傍、もしくは、指定されたデータ受け側FFに対する
ワーストケース経路のリスト上に表示され、これによ
り、設計者は、どのピンを繋ぎ換えればよいかを知るこ
とが可能になる。
【0094】なお、多入力ゲート内のパスディレイ値
は、例えば、そのゲートを示すブロック内に表示され、
ゲート間のネットディレイ値は、例えば、そのネットの
近傍に表示される。次に、入力ピン交換を可能にする表
示例を、より具体的に図12に示す。この図12では、
データ送り側のFF−A,FF−B,FF−C,FF−
Dからパストレースを開始し、データ受け側のFF−K
の入力ピンxまでのパスが示されている。ここでは、デ
ータ送り側のFF−A,FF−B,FF−C,FF−D
とデータ受け側のFF−Kとの間に、ゲートE〜Jが存
在し、A−E−H−J−Kがワーストパスになってい
る。
【0095】そして、前述したように、各ピンの近傍に
は積算ディレイ値が表示され、ゲートE〜Jの表示ブロ
ック内には、各入力ピンから出力ピンまでのパスディレ
イ値が表示され、FF−A〜D,KやゲートE〜J間の
ネットディレイ値が、対応するネットの近傍に表示され
る。この設計対象回路では全てのFF間のパスのディレ
イが例えば30以下で動作しなければならないとする
と、図12に示すような表示を参照することにより、F
F−Kの入力ピンxにおいて積算ディレイ値が31であ
り、1だけオーバしていることが分かる。
【0096】そこで、ゲートJに着目すると、パスb→
zとc→zとがあり、パスc→zのディレイの方が、パ
スb→zのディレイよりも2だけ小さいので、ピンbと
ピンcとの入力ネットを入れ換えると、A−E−H−J
(c→z)−Kのパスのディレイは29で、D−G−I
−J(b→z)−Kのパスのディレイは26となり、両
方ともタイミング制約(30以下であること)を満足す
ることになる。
【0097】従って、配置や配線の変更の自由度が極め
て小さくなった場合でも、タイミングエラーの解消が可
能な、入力ピンの繋ぎ換えに関する情報が、ディスプレ
イ21上で設計者等に対して表示され、設計者は、ディ
スプレイ21上における表示を参照しながら、どのピン
を繋ぎ換えればタイミングの改善を行なうことができる
かを判断することができる。
【0098】これにより、入力ピンの繋ぎ換えという最
小限の実装データの変更により、再論理設計を行なうこ
となくタイミングエラーを極めて簡易に解消できるの
で、設計工数が大幅に削減され回路設計時間を大幅に短
縮することができる。 (6)入力ピンの自動交換手法について 次に、図13を参照しながら、入力ピン交換部43によ
る入力ピンの自動交換手法について説明する。この入力
ピン交換部43では、図12にて前述したように表示さ
れる各種データに基づき、与えられたタイミング制約に
応じたネットの繋ぎ換えを多入力ゲートで自動的に行な
い、タイミングを改善している。
【0099】最初に、図10にて前述した手法により、
全てのLSIの入力ピンおよびFF,RAM等のクロッ
ク入力ピンから同時にパストレースを行ない、各ピンで
の積算ディレイ値の計算を行なう。次に、タイミング制
約に応じてFF間等のディレイのチェックを行なう。そ
のチェックの結果エラーになったワーストパスについ
て、入力ピン交換43により以下の処理〜を行な
う。
【0100】各ピン毎に設けられたテーブルにおける
前段ピンへのバックワードリンク(図9の参照)を参
照して、パスの受け側のピンから逆上り(バックトレー
スし)、ワーストパスのルートを見つける。 終点から一段毎に逆上り、以下の処理〜を繰り返
し行なう。 前段ピンからの終点までの逆積算ディレイ値を計算す
る。
【0101】バックトレースにより多入力ゲートの出
力ピンから入力ピンへ逆上った場合、その多入力ゲート
のパスディレイ値の中でワーストパス以外で且つ小さい
パスディレイ値のものを探す。 そのパスの入力ピンでの積算値に逆積算ディレイ値を
加えたものが、タイミング制約以下であればネットの繋
ぎ換えを行なう。
【0102】交換したパスの積算ディレイ値により、
変更後の逆積算値ディレイ値を計算する。 タイミング制約に対する余裕値を計算する。 余裕値が0以上であれば処理を終える。 より具体的に、図13に示す回路(ゲートA〜D)に対
し、入力ピン交換部43により、自動的に入力ネットの
繋ぎ換えを行なう際の手順を以下に説明する。ただし、
ここではタイミング制約を20以下とする。
【0103】ステップ1:タイミング制約が20以下で
あるので、ゲートDの入力ピンd1に対して、余裕値と
して−3をセット。 ステップ2:ゲートDからゲートCまでのネットディレ
イ値が2であるので、ゲートD前段のゲートCの出力ピ
ンxに対して、逆積算ディレイ値として2をセットす
る。この出力ピンxでの余裕値は−3と変わらない。
【0104】ステップ3:ゲートCにおいて、入力ピン
c3から出力ピンxへのパスディレイ値は3であるの
で、入力ピンc1に接続されたワーストパスのネット
を、入力ピンc3に繋ぎ代えることは可能である。しか
し、入力ピンc3での積算ディレイ値が17であるた
め、入力ピンc1とc3とのネットを交換すると、入力
ピンc3を経由して終点に至るパスのディレイ値は、1
7+8+2=27となり、タイミング制約20をオーバ
してしまう。従って、この交換は行なえない。
【0105】同様に、今度は入力ピンc2を経由して終
点に至るパスのディレイ値を見ると、10+8+2=2
0となり、入力ピンの交換は可能である。そこで、入力
ピンc1とc2とのネットを入れ換える。そして、ゲー
トCの入力ピンc2に対して、変更後の逆積算ディレイ
値値として6+2=8をセットするとともに、余裕値と
して−3+2=−1をセットする。
【0106】ステップ4:ゲートCから前段のゲートB
までのネットディレイ値が2であるので、ゲートBの出
力ピンxに対して、逆積算ディレイ値として8+2=1
0をセットする。この出力ピンxでの余裕値は−1と変
わらない。 ステップ5:ゲートBにおいて入力ピンb1とb2との
ネットの交換を考えると、入力ピンb2での積算ディレ
イ値は5、入力ピンb1から出力ピンxへのパスディレ
イ値が4、出力ピンxでの逆積算値が10であるので、
入力ピンb2を経由していたパスが入力ピン交換により
入力ピンb1を経由してゲートDに至った場合のディレ
イ値は、5+4+10=19となり、交換可能である。
【0107】そこで、入力ピンb2とb1とのネットを
交換すると、入力ピンb1での積算ディレイ値が7、入
力ピンb2から出力ピンxへのパスディレイ値が3、出
力ピンxでの逆積算ディレイ値が10であるので、ゲー
トAの入力ピンa1から入力ピンb2を経由してゲート
Dの入力ピンd1に至るパスのディレイ値は、7+3+
10=20となり、タイミング制約を満たすことにな
る。入力ピン交換によるパスディレイの差分は4−3=
1であるので、入力ピンb2での余裕値は−1+1=0
になる。
【0108】以上のようにして、ゲートBとCとにおい
て、入力ピンの交換を行なうことにより、他のパスへの
影響を最小限に抑えながら、タイミング制約を満たすよ
うにディレイ改善を行なうことができる。このように、
配置や配線の変更の自由度が極めて小さくなった場合で
も、入力ピン交換部43により、入力ピンの繋ぎ換えと
いう最小限の実装データの変更が自動的に行なわれ、再
論理設計を行なうことなくタイミングエラーを極めて簡
易に解消(修正)できるので、設計工数が大幅に削減さ
れ回路設計時間が大幅に短縮されることになる。
【0109】なお、上述した実施形態では、論理設計部
31,配置部32,配線部33等を1つのCPU20a
で実現している場合について説明しているが、本発明は
これに限定されず、これらの論理設計部31,配置部3
2,配線部33の機能を別々の処理装置で実現し、符号
35〜43を付して示す各部の機能を有する処理装置を
用いて、各処理装置で得られた論理設計結果や配置結果
や配線結果に対し上述のような各種処理を施すように構
成してもよい。この場合も、上述した実施形態と同様の
作用効果が得られることはいうまでもない。
【0110】また、上述した実施形態では、LSIを設
計する場合について説明しているが、本発明は、これに
限定されるものではなく、プリント配線板等の電子回路
の設計にも適用され、上述と同様の作用効果を得ること
ができる。
【0111】
【発明の効果】以上詳述したように、本発明の回路設計
装置によれば、論理設計直後に最小ゲート段数と最大ゲ
ート段数のチェックが可能になり、早い時点で論理設計
の不具合をチェックできるので、大規模化したLSI等
の設計初期段階で設計回路におけるタイミング的に問題
のあるパスを早期に発見することができる。従って、配
置後や配線後に再論理設計を行なう必要がなくなり、設
計工数を大幅に削減して回路設計に要する時間を大幅に
短縮することができる。
【図面の簡単な説明】
【図1】本発明の関連技術の原理ブロック図である。
【図2】本発明の関連技術の原理ブロック図である。
【図3】本発明の原理ブロック図である。
【図4】本発明の関連技術の原理ブロック図である。
【図5】本発明の関連技術の原理ブロック図である。
【図6】本発明の一実施形態としての回路設計装置の機
能的な構成を示すブロック図である。
【図7】本実施形態の回路設計装置の基本的な動作を説
明するためのフローチャートである。
【図8】(a),(b)はいずれも本実施形態における
パストレース手法を説明するための図である。
【図9】本実施形態においてピン毎にそなえられ各ピン
についてのパストレースデータを保持するテーブルの内
容を示す図である。
【図10】本実施形態におけるパストレース手法および
ディレイ値算出手法を説明するためのフローチャートで
ある。
【図11】本実施形態において各ピンでのパス通過回数
を計数する手法を説明するためのフローチャートであ
る。
【図12】本実施形態において入力ピン交換を可能にす
る表示例を示す図である。
【図13】本実施形態において入力ピン交換を自動的に
行なう際の手順を説明するための図である。
【図14】一般的な回路設計手順を説明するためのフロ
ーチャートである。
【符号の説明】
1 論理設計部 2 配置部 3 配線部 4,4A パストレース部 5 通過回数計数部 6 ディレイ値算出部 7 エラー重要度算出部 8 エラー寄与度算出部 9 表示部 10 表示制御部 11 ゲート段数算出部 12 タイミングチェック部 13 入力ピン交換部 20 処理装置 20a CPU 20b メモリ 21 ディスプレイ(表示部) 22 入力部 22a キーボード 22b マウス 23 データベース(DB) 31 論理設計部 32 配置部 33 配線部 34 表示制御部 35 パストレース部 36 ディレイ値算出部 37 タイミングチェック部 38 通過回数計数部 39 エラー重要度算出部 40 エラー寄与度算出部 41 ゲート段数算出部 42 ゲート段数チェック部 43 入力ピン交換部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 備前 直美 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 Fターム(参考) 5B046 AA08 BA03 CA04 GA01 JA05 KA05 5F064 BB19 HH06 HH10

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 設計対象回路についての論理設計を行な
    う論理設計部と、 該論理設計部による論理設計結果に基づいてセルの配置
    を行なう配置部と、 該配置部により配置された該セルの相互間の配線を行な
    う配線部と、 該配置部による配置結果もしくは該配線部による配線結
    果に対して1以上のトレース開始ピンからパストレース
    を行なうパストレース部と、 該パストレース部によるパストレース時に、該1以上の
    トレース開始ピンから、パスが通過した配置対象セルの
    各ピンまでの積算ディレイ値の最大値または最小値を算
    出するディレイ値算出部と、 該論理設計部による論理設計後に、設計対象の全てのセ
    ルに単位ディレイ値を割り付けるとともに該セルの相互
    間の全てのネットにディレイ値として0を割り付けた状
    態で、該論理設計部による論理設計結果に対して該パス
    トレース部によるパストレースを行ないながら該ディレ
    イ値算出部により積算ディレイ値の最大値または最小値
    を算出させ、その積算ディレイ値の最大値または最小値
    に基づいて、該設計対象回路における順序回路セル間も
    しくは入出力ピンと順序回路セルとの間のゲート段数を
    算出するゲート段数算出部とをそなえたことを特徴とす
    る、回路設計装置。
  2. 【請求項2】 該ゲート段数算出部により算出された該
    ゲート段数と規定ゲート段数とを比較して該ゲート段数
    のチェックを行なうゲート段数チェック部をそなえたこ
    とを特徴とする、請求項1記載の回路設計装置。
  3. 【請求項3】 回路設計に必要な情報を表示する表示部
    と、 該ゲート段数算出部により算出された該ゲート段数に応
    じて該表示部の表示状態を制御する表示制御部とをそな
    えたことを特徴とする、請求項1記載の回路設計装置。
  4. 【請求項4】 回路設計に必要な情報を表示する表示部
    と、 該ゲート段数チェック部によるチェック結果を該表示部
    に表示するように該表示部の表示状態を制御する表示制
    御部とをそなえたことを特徴とする、請求項2記載の回
    路設計装置。
JP2002356336A 2002-12-09 2002-12-09 回路設計装置 Pending JP2003223479A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002356336A JP2003223479A (ja) 2002-12-09 2002-12-09 回路設計装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002356336A JP2003223479A (ja) 2002-12-09 2002-12-09 回路設計装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP9005780A Division JPH10207920A (ja) 1997-01-16 1997-01-16 回路設計方法および装置

Publications (1)

Publication Number Publication Date
JP2003223479A true JP2003223479A (ja) 2003-08-08

Family

ID=27751482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002356336A Pending JP2003223479A (ja) 2002-12-09 2002-12-09 回路設計装置

Country Status (1)

Country Link
JP (1) JP2003223479A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007199951A (ja) * 2006-01-25 2007-08-09 Nec Corp 半導体集積回路の設計支援装置、設計支援方法および設計支援プログラム
US8074198B2 (en) 2007-08-29 2011-12-06 Nec Corporation Apparatus and method for circuit layout using longest path and shortest path search elements

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007199951A (ja) * 2006-01-25 2007-08-09 Nec Corp 半導体集積回路の設計支援装置、設計支援方法および設計支援プログラム
JP4736822B2 (ja) * 2006-01-25 2011-07-27 日本電気株式会社 半導体集積回路の設計支援装置、設計支援方法および設計支援プログラム
US8074198B2 (en) 2007-08-29 2011-12-06 Nec Corporation Apparatus and method for circuit layout using longest path and shortest path search elements

Similar Documents

Publication Publication Date Title
US7082584B2 (en) Automated analysis of RTL code containing ASIC vendor rules
US8745560B1 (en) Methods for generating a user interface for timing budget analysis of integrated circuit designs
US20140089880A1 (en) Method and system to fix early mode slacks in a circuit design
JPH10207920A (ja) 回路設計方法および装置
KR100704577B1 (ko) 타이밍 버지트 설계 방법
US20090254875A1 (en) Proactive routing system and method
JP2003223479A (ja) 回路設計装置
JP2003248706A (ja) 回路設計装置
JP2005149273A (ja) 半導体集積回路のフロアプラン装置及びフロアプラン方法
US20050251776A1 (en) Integrated circuit design system
US7290183B2 (en) Method of testing semiconductor apparatus
US7962877B2 (en) Port assignment in hierarchical designs by abstracting macro logic
JP2006190062A (ja) 半導体集積回路のフロアプラン方法および計算機システム
US7191416B2 (en) System and method for modifying integrated circuit hold times
JP2003228598A (ja) 回路設計装置
JP3230937B2 (ja) 電子回路最適設計支援装置及びその方法
JP5287540B2 (ja) 回路設計装置および回路設計プログラム
JP3422645B2 (ja) 回路素子配置装置
JP2009205449A (ja) マクロ内端子配線を考慮したネットリストによって信号の遅延時間を予測する設計方法、及び、プログラム
JPH09232436A (ja) 論理合成方法及び装置並びに半導体集積回路設計方法
JP3410698B2 (ja) 検査回路挿入方法
JPH08288395A (ja) 配置処理方法及び配置処理装置
JPH1027194A (ja) クロストークエラー抑制方式
JP2014170575A (ja) 回路設計装置および回路設計プログラム
JPH11110428A (ja) 論理回路の面積予測方法と装置および論理回路の面積予測プログラムを記憶した記憶媒体

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060801

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061002

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061031