JPH10207920A - 回路設計方法および装置 - Google Patents

回路設計方法および装置

Info

Publication number
JPH10207920A
JPH10207920A JP9005780A JP578097A JPH10207920A JP H10207920 A JPH10207920 A JP H10207920A JP 9005780 A JP9005780 A JP 9005780A JP 578097 A JP578097 A JP 578097A JP H10207920 A JPH10207920 A JP H10207920A
Authority
JP
Japan
Prior art keywords
pin
unit
path
delay value
cells
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9005780A
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 JP9005780A priority Critical patent/JPH10207920A/ja
Priority to US08/874,506 priority patent/US6308305B1/en
Publication of JPH10207920A publication Critical patent/JPH10207920A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level

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)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

(57)【要約】 【課題】 微細化に伴い大規模化し且つ複雑化してきて
いるLSI等の回路設計に際し、配置や配線の指標とな
るものを用いて、エラーパスを発生させることなく、効
率よく配置や配線を行なえるようにする。 【解決手段】 設計対象回路についての論理設計を行な
う論理設計部1と、この論理設計部1による論理設計結
果に基づいてセルの配置を行なう配置部2と、この配置
部2により配置されたセル相互間の配線を行なう配線部
3と、論理設計部1による論理設計結果に対して1以上
のトレース開始ピンからパストレースを行なうパストレ
ース部4と、このパストレース部4によるパストレース
時に配置対象セルの各ピンをパスが通過した回数をピン
毎に計数する通過回数計数部5とをそなえて構成する。

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】本発明はこのような課題に鑑み創案された
もので、本発明の第1の目的は、配置や配線の指標とな
るものを用いて、エラーパスを発生させることなく、効
率よく配置や配線を行なえるようにした、回路設計方法
および装置を提供することであり、本発明の第2の目的
は、配置や配線の改善に際して、単にエラーパスの改善
を行なうのではなく、改善の指標となるものを用いて、
効率よくエラーパスの解消を行なえるようにした、回路
設計方法および装置を提供することである。
【0013】また、本発明の第3の目的は、早い時点で
論理設計の不具合のチェックを可能にし、設計工数を削
減して回路設計に要する時間の短縮をはかった、回路設
計方法および装置を提供することであり、本発明の第4
の目的は、配置や配線の変更の自由度が極めて小さくな
った場合でも、最小限の実装データの変更により、再論
理設計を行なうことなくタイミングエラーを解消できる
ようにして、設計工数の削減ひいては回路設計時間の短
縮を実現した、回路設計方法および装置を提供すること
である。
【0014】
【課題を解決するための手段】上記目的を達成するため
に、本発明の回路設計方法(請求項1)は、設計対象回
路についての論理設計を行ない、その論理設計結果に基
づいてセルの配置を行なってから、配置されたセル相互
間の配線を行なう際に、論理設計の結果に対して1以上
のトレース開始ピンからパストレースを行ない、そのパ
ストレース時に配置対象セルの各ピンをパスが通過した
回数をピン毎に計数することを特徴としている。
【0015】このとき、ピン毎に計数された回数に基づ
く優先順位に従ってセルの配置を行なってもよいし(請
求項2)、ピン毎に計数された回数に基づく優先順位に
従ってセル相互間の配線を行なってもよい(請求項
3)。また、セルの配置を行なう際に、ピン毎に計数さ
れた回数に基づく優先順位に応じた表示を表示部で行な
ったり(請求項4)、セルの相互間の配線を行なう際
に、ピン毎に計数された回数に基づく優先順位に応じた
表示を表示部で行なったりしてもよい(請求項5)。
【0016】図1は本発明の原理ブロック図で、この図
1に示す本発明の回路設計装置(請求項13)は、上述
した本発明の回路設計方法(請求項1〜5)を実施する
ためのもので、設計対象回路についての論理設計を行な
う論理設計部1と、この論理設計部1による論理設計結
果に基づいてセルの配置を行なう配置部2と、この配置
部2により配置されたセル相互間の配線を行なう配線部
3と、論理設計部1による論理設計結果に対して1以上
のトレース開始ピンからパストレースを行なうパストレ
ース部4と、このパストレース部4によるパストレース
時に配置対象セルの各ピンをパスが通過した回数をピン
毎に計数する通過回数計数部5とをそなえて構成されて
いる。
【0017】このとき、配置部2が、通過回数計数部5
による計数結果に基づく優先順位に従ってセルの配置を
行ない(請求項14)、配線部3が、通過回数計数部5
による計数結果に基づく優先順位に従ってセル相互間の
配線を行なう(請求項15)。また、回路設計に必要な
情報を表示する表示部と、この表示部の表示状態を制御
する表示制御部とをそなえ、この表示制御部により、配
置部2によりセルの配置を行なう際に通過回数計数部5
による計数結果に基づく優先順位に応じて表示部の表示
状態を制御してもよいし(請求項16)、配線部3によ
りセルの相互間の配線を行なう際に通過回数計数部5に
よる計数結果に基づく優先順位に応じて表示部の表示状
態を制御してもよい(請求項17)。
【0018】従って、論理設計後にパストレースを行な
って各ピンをパスが通過する回数(静的な信号伝播密
度)を求め、これを配置や配線の指標として用いること
が可能になる(請求項1〜5,13〜17)。また、本
発明の回路設計方法(請求項6)は、設計対象回路につ
いての論理設計を行ない、その論理設計結果に基づいて
セルの配置を行なってから、配置されたセル相互間の配
線を行なう際に、配置結果もしくは配線結果に対して1
以上のトレース開始ピンからパストレースを行ないなが
ら、1以上のトレース開始ピンから、パスが通過した配
置対象セルの各ピンまでの積算ディレイ値の最大値また
は最小値を算出し、積算ディレイ値の最大値または最小
値に基づいて、各ピンまでの到達時間とそのピンまでの
基準到達時間との差に応じたエラー重要度を算出し、エ
ラー重要度をピン毎に積算してエラー寄与度を算出し、
各ピンについて得られた該エラー寄与度に応じた表示を
表示部で行なうことを特徴としている。
【0019】図2は本発明の原理ブロック図で、この図
2に示す本発明の回路設計装置(請求項18)は、上述
した本発明の回路設計方法(請求項6)を実施するため
のもので、前述と同様の論理設計部1,配置部2および
配線部3をそなえるほか、配置部2による配置結果もし
くは配線部3による配線結果に対して1以上のトレース
開始ピンからパストレースを行なうパストレース部4A
と、このパストレース部4Aによるパストレース時に1
以上のトレース開始ピンからパスが通過した配置対象セ
ルの各ピンまでの積算ディレイ値の最大値または最小値
を算出するディレイ値算出部6と、このディレイ値算出
部6により算出された積算ディレイ値の最大値または最
小値に基づいて各ピンまでの到達時間とそのピンまでの
基準到達時間との差に応じたエラー重要度を算出するエ
ラー重要度算出部7と、このエラー重要度算出部7によ
り算出されたエラー重要度をピン毎に積算してエラー寄
与度を算出するエラー寄与度算出部8と、回路設計に必
要な情報を表示する表示部9と、エラー寄与度算出部8
により算出された各ピンについてのエラー寄与度に応じ
て表示部9の表示状態を制御する表示制御部10とをそ
なえて構成されている。
【0020】従って、配置後や配線後にパストレースを
行なって各ピンにおけるエラー寄与度を求め、これを改
善の指標として用いることが可能になる(請求項6,1
8)。さらに、本発明の回路設計方法(請求項7)は、
設計対象回路についての論理設計を行ない、その論理設
計結果に基づいてセルの配置を行なってから、配置され
たセル相互間の配線を行なう際に、論理設計の後に、設
計対象の全てのセルに単位ディレイ値を割り付けるとと
もに該セルの相互間の全てのネットにディレイ値として
0を割り付けた状態で、パストレースを行ないながら、
1以上のトレース開始ピンから、パスが通過した配置対
象セルの各ピンまでの積算ディレイ値の最大値または最
小値を算出し、その積算ディレイ値の最大値または最小
値に基づいて、設計対象回路における順序回路セル間も
しくは入出力ピンと順序回路セルとの間のゲート段数を
算出することを特徴としている。
【0021】このとき、ゲート段数と規定ゲート段数と
を比較してゲート段数のチェックを行なってもよいし
(請求項8)、ゲート段数に応じた表示を表示部で行な
ったり(請求項9)、ゲート段数のチェック結果を表示
部に表示したりしてもよい(請求項10)。図3は本発
明の原理ブロック図で、この図3に示す本発明の回路設
計装置(請求項19)は、上述した本発明の回路設計方
法(請求項7〜10)を実施するためのもので、前述と
同様の論理設計部1,配置部2,配線部3,パストレー
ス部4Aおよびディレイ値算出部6をそなえるほか、ゲ
ート段数算出部11をそなえて構成されている。このゲ
ート段数算出部11は、論理設計部1による論理設計後
に、設計対象の全てのセルに単位ディレイ値を割り付け
るとともに該セルの相互間の全てのネットにディレイ値
として0を割り付けた状態で、論理設計部1による論理
設計結果に対してパストレース部4Aによるパストレー
スを行ないながらディレイ値算出部6により積算ディレ
イ値の最大値または最小値を算出させ、その積算ディレ
イ値の最大値または最小値に基づいて、設計対象回路に
おける順序回路セル間もしくは入出力ピンと順序回路セ
ルとの間のゲート段数を算出するものである。
【0022】このとき、ゲート段数算出部11により算
出されたゲート段数と規定ゲート段数とを比較してゲー
ト段数のチェックを行なうゲート段数チェック部をそな
えてもよいし(請求項20)、回路設計に必要な情報を
表示する表示部と、この表示部の表示状態を制御する表
示制御部とをそなえ、この表示制御部により、ゲート段
数算出部11により算出されたゲート段数に応じて表示
部の表示状態を制御してもよいし(請求項21)、ゲー
ト段数チェック部によるチェック結果を表示部に表示す
るようにこの表示部の表示状態を制御してもよい(請求
項22)。
【0023】従って、論理設計直後に最小ゲート段数と
最大ゲート段数のチェックが可能になり、早い時点で論
理設計の不具合をチェックすることが可能になり、大規
模化したLSI等の設計初期段階で設計回路におけるタ
イミング的に問題のあるパスを早期に発見することがで
きる(請求項7〜10,19〜22)。一方、本発明の
回路設計方法(請求項11)は、設計対象回路について
の論理設計を行ない、その論理設計結果に基づいてセル
の配置を行なってから、配置されたセル相互間の配線を
行なう際に、配置結果もしくは配線結果に対して1以上
のトレース開始ピンからパストレースを行ないながら、
1以上のトレース開始ピンから、パスが通過した配置対
象セルの各ピンまでの積算ディレイ値の最大値または最
小値を算出し、各ピンにおける積算ディレイ値の最大値
または最小値と、1以上のトレース開始ピンから目標ピ
ンに到達するまでに配置され且つ複数の入力ピンをもつ
ゲートにおける各入力ピンと出力ピンとの間のパスディ
レイ値と、セルの相互間のネットディレイ値とを、目標
ピンまでの積算ディレイ値が最大または最小のワースト
パスとともに表示部に表示することを特徴としている。
【0024】図4は本発明の原理ブロック図で、この図
4に示す本発明の回路設計装置(請求項23)は、上述
した本発明の回路設計方法(請求項11)を実施するた
めのもので、前述と同様の論理設計部1,配置部2,配
線部3,パストレース部4A,ディレイ値算出部6,表
示部9および表示制御部10をそなえているが、本発明
では、表示制御部10が、ディレイ値算出部6により算
出された各ピンにおける積算ディレイ値の最大値または
最小値と、1以上のトレース開始ピンから目標ピンに到
達するまでに配置され且つ複数の入力ピンをもつゲート
における各入力ピンと出力ピンとの間のパスディレイ値
と、セル相互間のネットディレイ値とを、目標ピンまで
の積算ディレイ値が最大または最小のワーストパスとと
もに表示部9に表示するように、この表示部9の表示状
態を制御する。
【0025】従って、配置や配線の変更の自由度が極め
て小さくなった場合でも、タイミングエラーの解消が可
能な、入力ピンの繋ぎ換えに関する情報が設計者等に対
して表示され、設計者等の判断により、再論理設計を行
なうことなくタイミングエラーを解消することが可能に
なる(請求項11,23)。そして、本発明の回路設計
方法(請求項12)は、設計対象回路についての論理設
計を行ない、その論理設計結果に基づいてセルの配置を
行なってから、配置されたセル相互間の配線を行なう際
に、配置結果もしくは配線結果に対して1以上のトレー
ス開始ピンからパストレースを行ないながら、1以上の
トレース開始ピンから、パスが通過した配置対象セルの
各ピンまでの積算ディレイ値の最大値または最小値を算
出し、その積算ディレイ値の最大値または最小値に基づ
いて配置結果もしくは配線結果のタイミングチェックを
行ない、そのタイミングチェックの結果、目標ピンまで
の積算ディレイ値が最大または最小のワーストパスが所
定のタイミング制約を満たさない場合、各ピンにおける
積算ディレイ値の最大値または最小値と、1以上のトレ
ース開始ピンから目標ピンに到達するまでに配置され且
つ複数の入力ピンをもつゲートにおける各入力ピンと出
力ピンとの間のパスディレイ値と、セルの相互間のネッ
トディレイ値とに基づいて、目標ピンに到達する全ての
パスがタイミング制約を満たすように、前記複数の入力
ピンをもつゲートの少なくとも1つにおいて、該ワース
トパスの入力ピンを他のパスの入力ピンと入れ換えるこ
とを特徴としている。
【0026】図5は本発明の原理ブロック図で、この図
5に示す本発明の回路設計装置(請求項24)は、上述
した本発明の回路設計方法(請求項12)を実施するた
めのもので、前述と同様の論理設計部1,配置部2,配
線部3,パストレース部4Aおよびディレイ値算出部6
をそなえるほか、タイミングチェック部12および入力
ピン交換部13をそなえて構成されている。
【0027】ここで、タイミングチェック部12は、デ
ィレイ値算出部6により算出された積算ディレイ値の最
大値または最小値に基づいて、配置部2による配置結果
もしくは配線部3による配線結果のタイミングチェック
を行なうものである。また、入力ピン交換部13は、タ
イミングチェック部12によるチェックの結果、目標ピ
ンまでの積算ディレイ値が最大または最小のワーストパ
スが所定のタイミング制約を満たさない場合、ディレイ
値算出部6により算出された各ピンにおける積算ディレ
イ値の最大値または最小値と、1以上のトレース開始ピ
ンから目標ピンに到達するまでに配置され且つ複数の入
力ピンをもつゲートにおける各入力ピンと出力ピンとの
間のパスディレイ値と、セルの相互間のネットディレイ
値とに基づいて、目標ピンに到達する全てのパスがタイ
ミング制約を満たすように、前記複数の入力ピンをもつ
ゲートの少なくとも1つにおいて、ワーストパスの入力
ピンを他のパスの入力ピンと入れ換えるものである。
【0028】従って、配置や配線の変更の自由度が極め
て小さくなった場合でも、入力ピンの繋ぎ換えという最
小限の実装データの変更が自動的に行なわれ、再論理設
計を行なうことなくタイミングエラーを解消(修正)す
ることが可能になる(請求項12,24)。
【0029】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態を説明する。図6は本発明の一実施形態として
の回路設計装置の機能的な構成を示すブロック図であ
り、この図6に示すように、ディスプレイ(表示部)2
1と入力部22としてのキーボード22aおよびマウス
22bとを付設された処理装置20が、本実施形態の回
路設計装置として機能する。
【0030】ディスプレイ21は、処理装置20による
回路設計に必要な情報や回路設計経過を表示するもので
あり、キーボード22aおよびマウス22bは、設計者
(オペレータ)によって操作され、回路設計に関する各
種情報を入力するためのものである。従って、設計者
は、ディスプレイ21における表示を参照しながら、キ
ーボード22aおよびマウス22bを操作して各種情報
を入力することにより、会話形式で回路設計(論理設
計,配置,配線)を行なえるようになっている。
【0031】また、処理装置20は、CPU20aおよ
びメモリ20bを有して構成されている。CPU20a
は、メモリ20bに格納されているプログラムや各種デ
ータに基づいて、回路設計を行なうものである。このC
PU20aによる回路設計経過は、後述する表示制御部
34を介してディスプレイ21に随時表示される一方、
キーボード22aおよびマウス22bからの入力情報
は、CPU20aへ入力され、回路設計に反映される。
メモリ20bは、CPU20aが回路設計を行なう際に
ワークメモリとしても機能し、図9にて後述するよう
な、各ピンについてのテーブルデータ等を保持する。
【0032】さらに、処理装置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としての機能を有している。
【0033】ここで、論理設計部31は、設計対象回路
(例えばLSI)についての論理設計を行なうものであ
り、配置部32は、論理設計部31による論理設計結果
に基づいてセル(FFや各種ゲート)の配置を行なうも
のであり、配線部33は、配置部32により配置された
セル相互間の配線を行なうものである。表示制御部34
は、後で詳述するごとくディスプレイ21の表示状態を
制御するものである。
【0034】パストレース部35は、論理設計部31に
よる論理設計結果,配置部32による配置結果もしくは
配線部33による配線結果に対して、図8(a),
(b)にて後述するごとく1以上のトレース開始ピンか
らパストレースを行なうものである。ディレイ値算出部
36は、パストレース部35によるパストレース時に、
図10に示すフローチャート(後述)に従って、1以上
のトレース開始ピンからパスが通過した配置対象セルの
各ピンまでの積算ディレイ値の最大値または最小値を算
出するものである。積算ディレイ値の最大値または最小
値の算出に際しては、ピン毎にそなえられた図9に示す
テーブル(後述)が用いられる。なお、ディレイ値の算
出に必要な各セルのディレイ値情報等は、データベース
23から読み出される。
【0035】タイミングチェック部37は、ディレイ値
算出部36により算出された積算ディレイ値の最大値ま
たは最小値に基づいて、配置部32による配置結果もし
くは配線部33による配線結果のタイミングチェックを
行なう、つまりタイミング制約を満たさないエラーパス
の発生を検出するものである。通過回数計数部38は、
論理設計後のパストレース部35によるパストレース時
に、図11に示すフローチャート(後述)に従って、配
置対象セルの各ピンをパスが通過した回数をピン毎に計
数するものである。パス通過回数の計数に際しては、ピ
ン毎にそなえられた図9に示すテーブル(後述;信号通
過カウンタ)が用いられる。また、本実施形態では、配
置部32は、通過回数計数部38による計数結果に基づ
く優先順位に従ってセルの配置を行ない、配線部33
は、通過回数計数部38による計数結果に基づく優先順
位に従ってセル相互間の配線を行なうようになってい
る。
【0036】エラー重要度算出部39は、配置部32に
よる配置結果もしくは配線部33による配線結果に対し
てパストレース部35によるパストレースを行ないなが
らディレイ値算出部36により各ピンまでの積算ディレ
イ値の最大値または最小値を算出する際に、このディレ
イ値算出部36により算出された積算ディレイ値の最大
値または最小値に基づいて、各ピンまでの到達時間とそ
のピンまでの基準到達時間との差に応じたエラー重要度
を後述の式により算出するものである。
【0037】エラー寄与度算出部40は、エラー重要度
算出部39により算出されたエラー重要度をピン毎に積
算してエラー寄与度を算出するものである。エラー寄与
度の算出に際しては、ピン毎にそなえられた図9に示す
テーブル(後述;エラー寄与度カウンタ)が用いられ
る。ゲート段数算出部41は、論理設計部31による論
理設計後に、設計対象の全てのセルに単位ディレイ値を
割り付けるとともに該セルの相互間の全てのネットにデ
ィレイ値として0を割り付けた状態で、図10に示すフ
ローチャート(後述)に従って、論理設計部31による
論理設計結果に対してパストレース部35によるパスト
レースを行ないながらディレイ値算出部36により積算
ディレイ値の最大値または最小値を算出させ、その積算
ディレイ値の最大値または最小値に基づいて、設計対象
回路におけるFF(順序回路セル)間もしくは入出力ピ
ンとFFとの間のゲート段数を算出するものである。
【0038】ゲート段数チェック部42は、ゲート段数
算出部41により算出されたゲート段数と規定ゲート段
数とを比較してゲート段数のチェックを行なうものであ
る。入力ピン交換部43は、タイミングチェック部37
によるチェックの結果、目標ピンまでの積算ディレイ値
が最大または最小のワーストパスが所定のタイミング制
約を満たさない場合、ディレイ値算出部36により算出
された各ピンにおける積算ディレイ値の最大値または最
小値と、1以上のトレース開始ピンから目標ピンに到達
するまでに配置され且つ複数の入力ピンをもつゲート
(多入力ゲート)における各入力ピンと出力ピンとの間
のパスディレイ値と、セルの相互間のネットディレイ値
とに基づいて、目標ピンに到達する全てのパスがタイミ
ング制約を満たすように、前記複数の入力ピンをもつゲ
ートの少なくとも1つにおいて、ワーストパスの入力ピ
ンを他のパスの入力ピンと入れ換えるものである。な
お、この入力ピン交換部43による入力ピンの交換動作
については、後で図13を参照しながら詳述する。ま
た、パスディレイ値やネットディレイ値に関する情報
は、データベース23から読み出される。
【0039】一方、本実施形態の表示制御部34は、以
下のような表示制御機能〜を有している。 配置部32によりセルの配置を行なう際に、通過回数
計数部38による計数結果に基づく優先順位に応じてデ
ィスプレイ21の表示状態を制御する。例えば、優先的
に配置すべきセルのリストを通過回数(つまり配置優先
順位)に従ってソートして表示したり、優先的に配置す
べきセルを、その表示色を変えるなどして強調的に表示
したりする。
【0040】配線部33によりセル相互間の配線を行
なう際に、通過回数計数部38による計数結果に基づく
優先順位に応じてディスプレイ21の表示状態を制御す
る。例えば、優先的に配線すべきセルやネットのリスト
を通過回数(つまり配線優先順位)に従ってソートして
表示したり、優先的に配線すべきセルやネットを、その
表示色を変えるなどして強調的に表示したりする。
【0041】タイミングチェック部37によりエラー
パスの発生を検出し、配置部32による配置改善もしく
は配線部33による配線改善を行なう際に、エラー寄与
度算出部40により算出された各ピンについてのエラー
寄与度に応じてディスプレイ21の表示状態を制御す
る。例えば、エラー寄与度の高いピンのリストを、その
エラー寄与度の高い順にソートして表示したり、エラー
寄与度の高いつまり改善優先順位の高いピンやそれに付
随するネットを、その表示色を変えるなどして強調的に
表示したりする。
【0042】ゲート段数算出部41により算出された
ゲート段数に応じてディスプレイ21の表示状態を制御
する。例えば、算出されたゲート段数をソートしリスト
表示やグラフ表示する。 ゲート段数チェック部42によるチェック結果をディ
スプレイ21に表示するようにこのディスプレイ21の
表示状態を制御する。例えば、違反パスのリスト、つま
り、規定ゲート段数に満たないパスや規定ゲート段数を
超えた多段パスのリストを、そのゲート段数順にソート
して表示する。
【0043】ディレイ値算出部36により算出された
各ピンにおける積算ディレイ値の最大値または最小値
と、1以上のトレース開始ピンから目標ピンに到達する
までに配置され且つ多入力ゲートにおける各入力ピンと
出力ピンとの間のパスディレイ値と、セル相互間のネッ
トディレイ値とを、目標ピンまでの積算ディレイ値が最
大または最小のワーストパスとともにディスプレイ21
に表示するように、このディスプレイ21の表示状態を
制御する。なお、パスディレイ値やネットディレイ値に
関する情報は、データベース23から読み出される。ま
た、その表示例を図12(後述)に示す。
【0044】次に、上述のごとく構成された本実施形態
の回路設計装置の基本的な動作について、図7に示すフ
ローチャート(ステップS11〜S24)に従って簡単
に説明する。まず、論理設計部31により、設計対象回
路(例えばLSI)についての論理設計を例えば論理合
成により行なった後(ステップS11)、ゲート段数算
出部41により、FF間もしくは入出力ピンとFFとの
間のゲート段数を求め(ステップS12)、ゲート段数
チェック部42により、そのゲート段数のチェックを行
なう(ステップS13)。
【0045】このとき、設計対象の全てのセルに単位デ
ィレイ値を割り付けるとともに該セルの相互間の全ての
ネットにディレイ値として0を割り付けた状態で、図1
0に示すフローチャート(後述)に従って、論理設計部
31による論理設計結果に対してパストレース部35に
よるパストレースを行ないながらディレイ値算出部36
により積算ディレイ値の最大値または最小値を算出す
る。そして、ゲート段数算出部41により、その積算デ
ィレイ値の最大値または最小値に基づいて、設計対象回
路におけるFF間もしくは入出力ピンとFFとの間のゲ
ート段数が算出される。
【0046】この後、ゲート段数チェック部42によ
り、違反パス(規定ゲート段数に満たないパスや規定ゲ
ート段数を超えた多段パス)が存在すると判定された場
合(ステップS13でNO判定の場合)には、ステップ
S11に戻り、再度、論理設計を行なう。違反パスが存
在しなかった場合(ステップS13でYES判定の場
合)には、通過回数計数部38により、パス通過回数
(信号通過回数)の計数を行なう(ステップS14)。
つまり、図11に示すフローチャート(後述)に従っ
て、論理設計後にパストレース部35によりパストレー
スを行ない、配置対象セルの各ピンをパスが通過した回
数(信号の通過回数)がピン毎に計数され各ピンについ
てのテーブル(図9参照)の信号通過カウンタに保持さ
れる。
【0047】ついで、配置部32により、論理設計結果
に基づいてセル(FFや各種ゲート)の配置を行なう
(ステップS15)。このとき、ステップS14で計数
された信号通過回数に基づく優先順位に従ってセルの配
置が行なわれる。配置終了後、図10に示すフローチャ
ート(後述)に従って、配置結果に対してパストレース
部35によりパストレースを行ないながら、ディレイ値
算出部36により配置結果における各パスのディレイ値
を算出する。この時点では、セル相互間の配線は未だ決
まっていないので、マンハッタン長などにより、セル相
互間の配線(ネット)によるディレイ値を見積もって各
パスのディレイ値を算出する。そして、そのディレイ値
に基づいて、配置部32による配置結果のタイミングチ
ェックを行ない(ステップS16)、タイミング制約を
満たさないエラーパスが存在するか否かを判定する(ス
テップS17)。
【0048】エラーパスが存在する場合(ステップS1
7でNO判定の場合)、入力ピン交換(ステップS1
8)もしくはエラー寄与度の算出および表示(ステップ
S23)を行なう。ここで、これらのステップS18,
S23の処理のいずれか一方のみが実行されてもよい
し、初めはステップS23によるエラー寄与度の算出お
よび表示の処理を行ない、ステップS15による配置改
善を所定回数行なっても、ステップS16でのタイミン
グチェックの結果がOKにならない場合に、ステップS
18による入力ピン交換を行なうようにしてもよい。
【0049】ステップS18による入力ピン交換は、設
計者により、ディスプレイ21に表示された、各ピンに
おける積算ディレイ値の最大値または最小値(ステップ
S16でのタイミングチェック時に算出された値)と、
多入力ゲートにおける各入力ピンと出力ピンとの間のパ
スディレイ値と、セル相互間のネットディレイ値とを参
照ながら、図12にて後述するごとく手動で行なっても
よいし、図13にて後述するごとく入力ピン交換部43
の機能により自動で行なってもよい。いずれにしても、
入力ピンの交換を行なうことにより、他のパスへの影響
を最小限に抑えながら、タイミング制約を満たすように
ディレイ改善を行なう。入力ピンの交換後には、ステッ
プS16で再度タイミングチェックを行なう。
【0050】ステップS23では、配置部32による配
置結果に対してパストレース部35によるパストレース
を行ないながらディレイ値算出部36により各ピンまで
の積算ディレイ値の最大値または最小値を算出し、その
際に、エラー重要度算出部39により、積算ディレイ値
の最大値または最小値に基づいて各ピンまでの到達時間
tとそのピンまでの基準到達時間Tとの差に応じたエラ
ー重要度Yが後述の式により算出される。
【0051】そして、エラー寄与度算出部40により、
エラー重要度Yがピン毎に積算され各ピンについてのテ
ーブル(図9参照)のエラー寄与度カウンタに保持され
る。そのエラー寄与度は、表示制御部34の機能(前述
の項目の機能)によりディスプレイ34に表示され、
設計者は、そのエラー寄与度を参考にしながら、ステッ
プS15での配置改善を行なう。
【0052】一方、ステップS17でエラーパスが存在
しないと判定された場合(YES判定の場合)、配線部
33により、ステップS15で配置されたセルの相互間
の配線を行なう(ステップS19)。このとき、ステッ
プS14で計数された信号通過回数に基づく優先順位に
従ってセル相互間の配線が行なわれる。配線終了後に
は、前述したステップS16〜S18,S23と同様の
処理が行なわれる。
【0053】即ち、図10に示すフローチャート(後
述)に従って、配線結果に対してパストレース部35に
よりパストレースを行ないながら、ディレイ値算出部3
6により、実際の配線長に基づいて配線結果における各
パスのディレイ値を算出する。そして、そのディレイ値
に基づいて、配線部33による配線結果のタイミングチ
ェックを行ない(ステップS20)、タイミング制約を
満たさないエラーパスが存在するか否かを判定する(ス
テップS21)。
【0054】エラーパスが存在する場合(ステップS2
1でNO判定の場合)、前述と同様の入力ピン交換(ス
テップS22)もしくはエラー寄与度の算出および表示
(ステップS24)を行なう。ここでも、これらのステ
ップS22,S24の処理のいずれか一方のみが実行さ
れてもよいし、初めはステップS24によるエラー寄与
度の算出および表示の処理を行ない、ステップS19に
よる配線改善を所定回数行なっても、ステップS20で
のタイミングチェックの結果がOKにならない場合に、
ステップS22による入力ピン交換を行なうようにして
もよい。
【0055】ステップS22による入力ピン交換は、前
述したステップS18と全く同様であるので、その説明
は省略する。入力ピンの交換後には、ステップS16で
再度タイミングチェックを行なう。また、ステップS2
3とほぼ同様に、ステップS24では、配線部33によ
る配線結果に対してパストレース部35によるパストレ
ースを行ないながらディレイ値算出部36により各ピン
までの積算ディレイ値の最大値または最小値を算出し、
その際に、エラー重要度算出部39により、積算ディレ
イ値の最大値または最小値に基づいて各ピンまでの到達
時間tとそのピンまでの基準到達時間Tとの差に応じた
エラー重要度Yが後述の式により算出される。
【0056】そして、エラー寄与度算出部40により、
エラー重要度Yがピン毎に積算され各ピンについてのテ
ーブル(図9参照)のエラー寄与度カウンタに保持され
る。そのエラー寄与度は、表示制御部34の機能(前述
の項目の機能)によりディスプレイ34に表示され、
設計者は、そのエラー寄与度を参考にしながら、ステッ
プS19での配線改善を行なう。
【0057】最終的に、ステップS21でエラーパスが
存在しないと判定されると、回路設計を終了する。ただ
し、配置改善/配線改善や入力ピン交換を何度行なって
も、ステップS17もしくはS21でYES判定となら
ない場合(エラーパスが解消されない場合)には、従来
と同様、ステップS11に戻って論理設計からやり直す
ことになる。
【0058】次に、図8〜図13を参照しながら、本実
施形態の回路設計装置の詳細な機能や動作について説明
する。 (1)パストレース手法およびディレイ値算出手法につ
いて まず、図8〜図10により、本実施形態でのパストレー
ス手法およびディレイ値算出手法について説明する。
【0059】本実施形態におけるパストレース部35で
は、設計対象回路であるLSI内の任意のピンからパス
トレースを行なうことが可能で、さらにパストレースの
スタートポイントが任意の箇所から同時に行なうことが
可能である。例えば、1つのピンからトレースを開始す
る場合は、図8(a)に示すように、1つのピンについ
て複数のパスを見つけることができる。また、n個のピ
ンから同時にトレースを開始し図8(b)に示すように
m個のエンドピンが見つかった場合は、m本のパスが見
つけられ、各エンドピンに対するワースト値(後述する
ディレイ値の最大値もしくは最小値)を得ることができ
る。
【0060】また、設計対象回路に配置されるセル(F
F,RAM,各種ゲート)のピン毎に、図9に示すよう
なテーブルがそなえられている。このテーブルは、パス
トレース部35によるパストレースを行ないながら得ら
れた各種パストレースデータを保持するものである。そ
のテーブルの内容は、例えば下記〜の7種類のデー
タである。
【0061】データベースのピンへのポインタ:この
テーブルが、設計対象回路におけるどのピンのためのも
のであるかを示す情報である。 前段ピンへのバックワードリンク:このピンに至る前
段のピンがどのピンであるかを示す情報、つまり、パス
がどのピンからこのピン至ったから示す情報である。
【0062】イベントフラグ:テーブルに、このピン
までの積算ディレイ値(後述するディレイ up およびデ
ィレイ down)が書き込まれている場合に設定されるフラ
グである。 ディレイ up :トレース開始ピンからこのピンまでの
積算ディレイ値の最大値または最小値で、特に、立ち上
がり信号のディレイ値である。
【0063】ディレイ down :トレース開始ピンから
このピンまでの積算ディレイ値の最大値または最小値
で、特に、立ち下がり信号のディレイ値である。 信号通過カウンタ:このピンをパストレースによって
パス(信号)が通過した回数を保持する領域で、図11
にて後述するごとく、パストレース部35によるパスト
レースを行なう際に、このピンをパスが通過する度に、
この領域における値が、通過回数計数部38により1ず
つカウントアップされるようになっている(図7のステ
ップS14参照)。
【0064】エラー寄与度カウンタ:このピンをエラ
ーパスが通過している場合に、パストレースしながらエ
ラー重要度算出部39およびエラー寄与度算出部40に
より得られた、このピンのエラー寄与度を保持する領域
である(図7のステップS23およびS24参照)。こ
のエラー寄与度については、下記項目(3)において後
述する。
【0065】なお、以下では、説明を簡単にするため
に、2種類のディレイ値(ディレイ up およびディレイ
down )のうちの一方(例えばディレイ up )のみを取
り扱っているものとする。次に、図10に示すフローチ
ャート(ステップS31〜S46)を参照しながら、本
実施形態におけるパストレース手法およびディレイ値算
出手法について説明する。この図10に示す手法は、ゲ
ート段数算出(図7のステップS12参照),タイミン
グチェック(図7のステップS16,S20参照),エ
ラー寄与度算出(図7のステップS23,S24)を行
なう際に用いられるもので、この手法に従って、パスト
レース部35が、論理設計結果,配置結果もしくは配線
結果に対して1以上のトレース開始ピンからパストレー
スを行ないながら、ディレイ値算出部36が、その1以
上のトレース開始ピンから、パスが通過した配置対象セ
ルの各ピンまでの積算ディレイ値の最大値または最小値
を算出して、その積算ディレイ値を各ピンのテーブル
(図9のまたは参照)に登録する。
【0066】つまり、図10に示すように、まず、パス
トレース部35は、トレースを開始すべきトレーススタ
ートピンのデータを得ると(ステップS31)、そのス
タートピンのアドレスを全てイベントテーブル"EVTB1"
にセットする(ステップS32)。そして、パストレー
ス部35は、イベントテーブル"EVTB1" にセットされた
アドレスデータ(ピン)を指定する変数"EX"を設定する
(ステップS33)。イベントテーブル"EVTB1" にセッ
トされた全てのアドレスデータ(ピン)に対して後述す
るステップS34〜S44の処理を行なうべく、この変
数"EX"は、1つのピンに対してステップS34〜S44
を行なう度に1ずつインクリメントされ、1から、イベ
ントテーブル"EVTB1" にセットされたアドレスデータの
数nまでインクリメントされる。
【0067】ディレイ値算出部36は、この変数"EX"に
より指定されるアドレスデータ"EVTB1[EX]" をピンアド
レス"PINAD" として読み出し(ステップS34)、この
ピンアドレス"PINAD" に関する次段のピンまでのディレ
イ値をその次段のピンのアドレスとともにデータベース
23から取り出し(ステップS35)、積算ディレイ値
を計算するとともに(ステップS36)、パストレース
部35は、次段のピンのアドレスを、ピンアドレス"PIN
X"として登録する(ステップS37)。
【0068】また、ディレイ値算出部36は、次段のピ
ンアドレス"PINX"の指すピンのテーブルにおけるイベン
トフラグ(図9の参照)を参照して、このイベントフ
ラグがONかOFFかを認識する(ステップS38)。
イベントフラグがOFFである場合には、そのテーブル
には未だディレイ値がセットされていないので、ステッ
プS36で新たに計算されたディレイ値をそのテーブル
にセットする(ステップS39)。
【0069】一方、イベントフラグがONである場合に
は、ディレイ値算出部36は、ステップS36で新たに
計算された積算ディレイ値とピンアドレス"PINX"の指す
ピンのテーブルに既にセットされている積算ディレイ値
とを比較し(ステップS40)、新規計算ディレイ値の
方が悪い値である場合に、その値を、テーブルにセット
されている積算ディレイ値と置き換える(ステップS4
1)。既にテーブルにセットされている値の方が悪い値
である場合には、ステップS44へ移行する。
【0070】このとき、本実施形態のパストレースで
は、MAXモードとMINモードとの2つのトレースモ
ードがある。MAX(maximum)モードでは、後述する図
10のステップS40において新規計算ディレイ値(積
算ディレイ値)が既にテーブルにセットされているディ
レイ値よりも大きいと判断された場合、その新規計算デ
ィレイ値がワースト値としてテーブルに書き込まれる
(ステップS41)。この場合、積算ディレイ値の最大
値が算出されることになる。逆に、MIN(minimum)モ
ードでは、新規計算ディレイ値が既にテーブルにセット
されているディレイよりも小さいと判断された場合、そ
の新規計算ディレイ値がワーストとしてテーブル書き込
まれる(ステップS41)。この場合、積算ディレイ値
の最小値が算出されることになる。
【0071】ステップS39で積算ディレイ値を新たに
テーブルにセットした後、もしくは、ステップS41で
テーブルの積算ディレイ値を書き換えた後、パストレー
ス部35は、そのピンアドレス"PINX"の指すピンのテー
ブルにおけるバックワードリンク(図9の参照)とし
て、ピンアドレス"PINAD" をセットする(ステップS4
2)。
【0072】そして、パストレース部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の処理を行なう。
【0073】このようにして、1以上のトレース開始ピ
ンから同時にパストレースを行ないながら、その1以上
のトレース開始ピンから、パスが通過した各ピンまでの
積算ディレイ値の最大値または最小値が算出され、その
積算ディレイ値が各ピンのテーブルに登録される。 (2)信号通過回数計数手法について 次に、図11に示すフローチャート(ステップS31〜
S35,S37,350,S43〜S46)を参照しな
がら、本実施形態における信号通過回数(パス通過回
数)の計数手法について説明する。この図11に示す手
法は、図7のステップS14で用いられるもので、図1
0により前述したパストレース手法を利用している。即
ち、本実施形態において、図11に示す手法は、図10
におけるステップS36,S38〜S42をパスすると
ともにステップS37とS43との間で新たなステップ
S50を実行するように外部パラメータにより設定する
ことで実現されている。
【0074】この図11に示す手法に従って、通過回数
計数部38が、パストレース部35と協働し、論理設計
後にパストレースを行ないながら各ピンをパスが通過し
た回数をピン毎に計数して、その計数結果を各ピンのテ
ーブルの信号通過カウンタ(図9の参照)に登録す
る。信号通過回数を計数する際には、まず、LSI内の
全てのピンに対応するテーブル内の信号通過カウンタを
0クリアしてから、LSIの入力ピン,FFやRAMの
クロック入力ピンの全てに対し、図10でも説明したパ
ストレース手法と同様にして各々のピンからパストレー
スを行なう(図11のステップS31〜S35,S3
7)。
【0075】パストレース部35が、ステップS35
で、データベース23から読み出された次段のピンのア
ドレスをピンアドレス"PINX"として登録すると、通過回
数計数部38は、ピンアドレス"PINAD" の指すピンのテ
ーブルにおける信号通過カウンタの値を1だけカウント
アップする(ステップS50)。この後、図10と全く
同様のステップS43〜S46の処理が行なわれる。な
お、ステップS35でデータベース23から読み出され
た、ピンアドレス"PINAD" に関する次段のピンまでのデ
ィレイ値は、信号通過回数の計数時には利用されること
はない。
【0076】このようにしてLSIの入力ピンやFF,
RAM等のクロックピンから、各々のピンへのパストレ
ースを行なうことにより、LSI内部のゲートの各ピン
のテーブルにおける信号通過カウンタでパス(信号)の
通過回数が計数され、各々のピンにおける信号伝播密
度、即ちLSI内の信号通過頻度を知ることが可能にな
る。
【0077】この計数データは、信号の通過回数につい
てソートされ、LSIの配置/配線フェイズ(図7のス
テップS15,S19)に渡され、自動配置や自動配線
の優先順位決定の目安として使用される。また、計数デ
ータは、前述した表示制御部34の機能により、配置/
配線フェイズでネットやゲートを表示するディスプレイ
21のウィンドウ上で、リスト表示される。リスト表示
以外に、計数データ(つまり配置優先順位)に従って優
先的に配置/配線処理すべきセルがその表示色を変える
などして強調的に表示することもできる。いずれにして
も、設計者に対して配置/配線処理の優先順位情報が提
供される。
【0078】上述のように論理設計後にパストレースを
行なって各ピンをパスが通過する回数(静的な信号伝播
密度)を求め、これを配置や配線の指標とすることによ
り、エラーパスをできるだけ発生させることなく、極め
て効率よく配置や配線を行なうことができる。また、配
置部32による配置処理や配線部33による配線処理に
際して、パス通過回数の多いセルの処理優先順位を高く
することにより、クリティカルパスの削減や設計後期に
おける配置/配線によるタイミング改善が難しい場合で
も、極めて容易にタイミング改善を行なうことが可能に
なり、設計品質の向上に大いに寄与する。
【0079】(3)エラー寄与度の算出手法(計数手
法)について 次に、本実施形態におけるエラー寄与度の算出手法につ
いて説明する。この手法は図7のステップS23および
S24で用いられるもので、配置部32による配置結果
や配線部33による配線結果に対してタイミングチェッ
ク(図7のステップS16,S20参照)を行なった結
果、パス上の信号が規定時間内に到達しない場合あるい
は到達時間が早すぎる場合(エラーパスが存在する場
合)、このエラー寄与度算出手法に従って、エラー重要
度算出部39およびエラー寄与度算出部40が、パスト
レース部35と協働し、パストレースを行ないながら、
各ピンのエラー重要度を算出して、その算出結果を各ピ
ンのテーブルのエラー寄与度カウンタ(図9の参照)
に積算して登録する。
【0080】エラー寄与度を算出する際には、まず、L
SI内の全てのピンに対応するテーブル内のエラー寄与
度カウンタを0クリアしてから、LSIの入力ピン,F
FやRAMのクロック入力ピンの全てに対し、図10で
も説明したパストレース手法と同様にして各々のピンか
らパストレースを行なう。このとき、ディレイ値算出部
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】
【発明の効果】以上詳述したように、本発明の回路設計
方法および装置によれば、以下のような効果ないし利点
を得ることができる。 (1)論理設計後にパストレースを行なって各ピンをパ
スが通過する回数(静的な信号伝播密度)を求め、これ
を配置や配線の指標とすることにより、エラーパスをで
きるだけ発生させることなく、極めて効率よく配置や配
線を行なうことができる。また、配置処理や配線処理に
際して、パス通過回数の多いセルの処理優先順位を高く
することにより、クリティカルパスの削減や設計後期に
おける配置/配線によるタイミング改善が難しい場合で
も、極めて容易にタイミング改善を行なうことが可能に
なり、設計品質の向上に寄与するところが大きい(請求
項1〜5,13〜17)。
【0112】(2)配置や配線の改善に際して単にエラ
ーパスの改善を行なうのではなく、配置後や配線後にパ
ストレースを行なって各ピンにおけるエラー寄与度を求
め、これを改善の指標とすることにより、極めて効率よ
くエラーパスの解消(修正)を行なうことができる(請
求項6,18)。 (3)論理設計直後に最小ゲート段数と最大ゲート段数
のチェックが可能になり、早い時点で論理設計の不具合
をチェックできるので、大規模化したLSI等の設計初
期段階で設計回路におけるタイミング的に問題のあるパ
スを早期に発見することができる。従って、配置後や配
線後に再論理設計を行なう必要がなくなり、設計工数を
大幅に削減して回路設計に要する時間を大幅に短縮する
ことができる(請求項7〜10,19〜22)。
【0113】(4)配置や配線の変更の自由度が極めて
小さくなった場合でも、入力ピンの繋ぎ換えという最小
限の実装データの変更により、再論理設計を行なうこと
なくタイミングエラーを極めて簡易に解消(修正)でき
るので、設計工数の削減ひいては回路設計時間の大幅な
短縮を実現することができる(請求項11,12,2
3,24)。
【図面の簡単な説明】
【図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 入力ピン交換部

Claims (24)

    【特許請求の範囲】
  1. 【請求項1】 設計対象回路についての論理設計を行な
    い、その論理設計結果に基づいてセルの配置を行なって
    から、配置された該セルの相互間の配線を行なう回路設
    計方法において、 前記論理設計の結果に対して1以上のトレース開始ピン
    からパストレースを行ない、そのパストレース時に配置
    対象セルの各ピンをパスが通過した回数をピン毎に計数
    することを特徴とする、回路設計方法。
  2. 【請求項2】 該ピン毎に計数された回数に基づく優先
    順位に従って該セルの配置を行なうことを特徴とする、
    請求項1記載の回路設計方法。
  3. 【請求項3】 該ピン毎に計数された回数に基づく優先
    順位に従って該セルの相互間の配線を行なうことを特徴
    とする、請求項1記載の回路設計方法。
  4. 【請求項4】 該セルの配置を行なう際に、該ピン毎に
    計数された回数に基づく優先順位に応じた表示を表示部
    で行なうことを特徴とする、請求項2記載の回路設計方
    法。
  5. 【請求項5】 該セルの相互間の配線を行なう際に、該
    ピン毎に計数された回数に基づく優先順位に応じた表示
    を表示部で行なうことを特徴とする、請求項3記載の回
    路設計方法。
  6. 【請求項6】 設計対象回路についての論理設計を行な
    い、その論理設計結果に基づいてセルの配置を行なって
    から、配置された該セルの相互間の配線を行なう回路設
    計方法において、 配置結果もしくは配線結果に対して1以上のトレース開
    始ピンからパストレースを行ないながら、該1以上のト
    レース開始ピンから、パスが通過した配置対象セルの各
    ピンまでの積算ディレイ値の最大値または最小値を算出
    し、 該積算ディレイ値の最大値または最小値に基づいて、各
    ピンまでの到達時間とそのピンまでの基準到達時間との
    差に応じたエラー重要度を算出し、 該エラー重要度をピン毎に積算してエラー寄与度を算出
    し、 各ピンについて得られた該エラー寄与度に応じた表示を
    表示部で行なうことを特徴とする、回路設計方法。
  7. 【請求項7】 設計対象回路についての論理設計を行な
    い、その論理設計結果に基づいてセルの配置を行なって
    から、配置された該セルの相互間の配線を行なう回路設
    計方法において、 該論理設計の後に、設計対象の全てのセルに単位ディレ
    イ値を割り付けるとともに該セルの相互間の全てのネッ
    トにディレイ値として0を割り付けた状態で、パストレ
    ースを行ないながら、1以上のトレース開始ピンから、
    パスが通過した配置対象セルの各ピンまでの積算ディレ
    イ値の最大値または最小値を算出し、 その積算ディレイ値の最大値または最小値に基づいて、
    該設計対象回路における順序回路セル間もしくは入出力
    ピンと順序回路セルとの間のゲート段数を算出すること
    を特徴とする、回路設計方法。
  8. 【請求項8】 該ゲート段数と規定ゲート段数とを比較
    して該ゲート段数のチェックを行なうことを特徴とす
    る、請求項7記載の回路設計方法。
  9. 【請求項9】 該ゲート段数に応じた表示を表示部で行
    なうことを特徴とする、請求項7記載の回路設計方法。
  10. 【請求項10】 該ゲート段数のチェック結果を表示部
    に表示することを特徴とする、請求項8記載の回路設計
    方法。
  11. 【請求項11】 設計対象回路についての論理設計を行
    ない、その論理設計結果に基づいてセルの配置を行なっ
    てから、配置された該セルの相互間の配線を行なう回路
    設計方法において、 配置結果もしくは配線結果に対して1以上のトレース開
    始ピンからパストレースを行ないながら、該1以上のト
    レース開始ピンから、パスが通過した配置対象セルの各
    ピンまでの積算ディレイ値の最大値または最小値を算出
    し、 各ピンにおける積算ディレイ値の最大値または最小値
    と、該1以上のトレース開始ピンから目標ピンに到達す
    るまでに配置され且つ複数の入力ピンをもつゲートにお
    ける各入力ピンと出力ピンとの間のパスディレイ値と、
    該セルの相互間のネットディレイ値とを、該目標ピンま
    での積算ディレイ値が最大または最小のワーストパスと
    ともに表示部に表示することを特徴とする、回路設計方
    法。
  12. 【請求項12】 設計対象回路についての論理設計を行
    ない、その論理設計結果に基づいてセルの配置を行なっ
    てから、配置された該セルの相互間の配線を行なう回路
    設計方法において、 配置結果もしくは配線結果に対して1以上のトレース開
    始ピンからパストレースを行ないながら、該1以上のト
    レース開始ピンから、パスが通過した配置対象セルの各
    ピンまでの積算ディレイ値の最大値または最小値を算出
    し、 該積算ディレイ値の最大値または最小値に基づいて、前
    記配置結果もしくは前記配線結果のタイミングチェック
    を行ない、 そのタイミングチェックの結果、目標ピンまでの積算デ
    ィレイ値が最大または最小のワーストパスが所定のタイ
    ミング制約を満たさない場合、各ピンにおける積算ディ
    レイ値の最大値または最小値と、該1以上のトレース開
    始ピンから目標ピンに到達するまでに配置され且つ複数
    の入力ピンをもつゲートにおける各入力ピンと出力ピン
    との間のパスディレイ値と、該セルの相互間のネットデ
    ィレイ値とに基づいて、該目標ピンに到達する全てのパ
    スが該タイミング制約を満たすように、前記複数の入力
    ピンをもつゲートの少なくとも1つにおいて、該ワース
    トパスの入力ピンを他のパスの入力ピンと入れ換えるこ
    とを特徴とする、回路設計方法。
  13. 【請求項13】 設計対象回路についての論理設計を行
    なう論理設計部と、 該論理設計部による論理設計結果に基づいてセルの配置
    を行なう配置部と、 該配置部により配置された該セルの相互間の配線を行な
    う配線部と、 該論理設計部による論理設計結果に対して1以上のトレ
    ース開始ピンからパストレースを行なうパストレース部
    と、 該パストレース部によるパストレース時に、配置対象セ
    ルの各ピンをパスが通過した回数をピン毎に計数する通
    過回数計数部とをそなえたことを特徴とする、回路設計
    装置。
  14. 【請求項14】 該配置部が、該通過回数計数部による
    計数結果に基づく優先順位に従って該セルの配置を行な
    うことを特徴とする、請求項13記載の回路設計装置。
  15. 【請求項15】 該配線部が、該通過回数計数部による
    計数結果に基づく優先順位に従って該セルの相互間の配
    線を行なうことを特徴とする、請求項13記載の回路設
    計装置。
  16. 【請求項16】 回路設計に必要な情報を表示する表示
    部と、 該配置部により該セルの配置を行なう際に、該通過回数
    計数部による計数結果に基づく優先順位に応じて該表示
    部の表示状態を制御する表示制御部とをそなえたことを
    特徴とする、請求項14記載の回路設計装置。
  17. 【請求項17】 回路設計に必要な情報を表示する表示
    部と、 該配線部により該セルの相互間の配線を行なう際に、該
    通過回数計数部による計数結果に基づく優先順位に応じ
    て該表示部の表示状態を制御する表示制御部とをそなえ
    たことを特徴とする、請求項15記載の回路設計装置。
  18. 【請求項18】 設計対象回路についての論理設計を行
    なう論理設計部と、 該論理設計部による論理設計結果に基づいてセルの配置
    を行なう配置部と、 該配置部により配置された該セルの相互間の配線を行な
    う配線部と、 該配置部による配置結果もしくは該配線部による配線結
    果に対して1以上のトレース開始ピンからパストレース
    を行なうパストレース部と、 該パストレース部によるパストレース時に、該1以上の
    トレース開始ピンから、パスが通過した配置対象セルの
    各ピンまでの積算ディレイ値の最大値または最小値を算
    出するディレイ値算出部と、 該ディレイ値算出部により算出された該積算ディレイ値
    の最大値または最小値に基づいて、各ピンまでの到達時
    間とそのピンまでの基準到達時間との差に応じたエラー
    重要度を算出するエラー重要度算出部と、 該エラー重要度算出部により算出された該エラー重要度
    をピン毎に積算してエラー寄与度を算出するエラー寄与
    度算出部と、 回路設計に必要な情報を表示する表示部と、 該エラー寄与度算出部により算出された各ピンについて
    の該エラー寄与度に応じて該表示部の表示状態を制御す
    る表示制御部とをそなえたことを特徴とする、回路設計
    装置。
  19. 【請求項19】 設計対象回路についての論理設計を行
    なう論理設計部と、 該論理設計部による論理設計結果に基づいてセルの配置
    を行なう配置部と、 該配置部により配置された該セルの相互間の配線を行な
    う配線部と、 該配置部による配置結果もしくは該配線部による配線結
    果に対して1以上のトレース開始ピンからパストレース
    を行なうパストレース部と、 該パストレース部によるパストレース時に、該1以上の
    トレース開始ピンから、パスが通過した配置対象セルの
    各ピンまでの積算ディレイ値の最大値または最小値を算
    出するディレイ値算出部と、 該論理設計部による論理設計後に、設計対象の全てのセ
    ルに単位ディレイ値を割り付けるとともに該セルの相互
    間の全てのネットにディレイ値として0を割り付けた状
    態で、該論理設計部による論理設計結果に対して該パス
    トレース部によるパストレースを行ないながら該ディレ
    イ値算出部により積算ディレイ値の最大値または最小値
    を算出させ、その積算ディレイ値の最大値または最小値
    に基づいて、該設計対象回路における順序回路セル間も
    しくは入出力ピンと順序回路セルとの間のゲート段数を
    算出するゲート段数算出部とをそなえたことを特徴とす
    る、回路設計装置。
  20. 【請求項20】 該ゲート段数算出部により算出された
    該ゲート段数と規定ゲート段数とを比較して該ゲート段
    数のチェックを行なうゲート段数チェック部をそなえた
    ことを特徴とする、請求項19記載の回路設計装置。
  21. 【請求項21】 回路設計に必要な情報を表示する表示
    部と、 該ゲート段数算出部により算出された該ゲート段数に応
    じて該表示部の表示状態を制御する表示制御部とをそな
    えたことを特徴とする、請求項19記載の回路設計装
    置。
  22. 【請求項22】 回路設計に必要な情報を表示する表示
    部と、 該ゲート段数チェック部によるチェック結果を該表示部
    に表示するように該表示部の表示状態を制御する表示制
    御部とをそなえたことを特徴とする、請求項20記載の
    回路設計装置。
  23. 【請求項23】 設計対象回路についての論理設計を行
    なう論理設計部と、 該論理設計部による論理設計結果に基づいてセルの配置
    を行なう配置部と、 該配置部により配置された該セルの相互間の配線を行な
    う配線部と、 該配置部による配置結果もしくは該配線部による配線結
    果に対して1以上のトレース開始ピンからパストレース
    を行なうパストレース部と、 該パストレース部によるパストレース時に、該1以上の
    トレース開始ピンから、パスが通過した配置対象セルの
    各ピンまでの積算ディレイ値の最大値または最小値を算
    出するディレイ値算出部と、 回路設計に必要な情報を表示する表示部と、 該表示部の表示状態を制御する表示制御部とをそなえ、 該表示制御部が、該ディレイ値算出部により算出された
    各ピンにおける積算ディレイ値の最大値または最小値
    と、該1以上のトレース開始ピンから目標ピンに到達す
    るまでに配置され且つ複数の入力ピンをもつゲートにお
    ける各入力ピンと出力ピンとの間のパスディレイ値と、
    該セルの相互間のネットディレイ値とを、該目標ピンま
    での積算ディレイ値が最大または最小のワーストパスと
    ともに該表示部に表示するように該表示部の表示状態を
    制御することを特徴とする、回路設計装置。
  24. 【請求項24】 設計対象回路についての論理設計を行
    なう論理設計部と、 該論理設計部による論理設計結果に基づいてセルの配置
    を行なう配置部と、 該配置部により配置された該セルの相互間の配線を行な
    う配線部と、 該配置部による配置結果もしくは該配線部による配線結
    果に対して1以上のトレース開始ピンからパストレース
    を行なうパストレース部と、 該パストレース部によるパストレース時に、該1以上の
    トレース開始ピンから、パスが通過した配置対象セルの
    各ピンまでの積算ディレイ値の最大値または最小値を算
    出するディレイ値算出部と、 該ディレイ値算出部により算出された該積算ディレイ値
    の最大値または最小値に基づいて、該配置部による配置
    結果もしくは該配線部による配線結果のタイミングチェ
    ックを行なうタイミングチェック部と、 該タイミングチェック部によるチェックの結果、目標ピ
    ンまでの積算ディレイ値が最大または最小のワーストパ
    スが所定のタイミング制約を満たさない場合、該ディレ
    イ値算出部により算出された各ピンにおける積算ディレ
    イ値の最大値または最小値と、該1以上のトレース開始
    ピンから目標ピンに到達するまでに配置され且つ複数の
    入力ピンをもつゲートにおける各入力ピンと出力ピンと
    の間のパスディレイ値と、該セルの相互間のネットディ
    レイ値とに基づいて、該目標ピンに到達する全てのパス
    が該タイミング制約を満たすように、前記複数の入力ピ
    ンをもつゲートの少なくとも1つにおいて、該ワースト
    パスの入力ピンを他のパスの入力ピンと入れ換える入力
    ピン交換部とをそなえたことを特徴とする、回路設計装
    置。
JP9005780A 1997-01-16 1997-01-16 回路設計方法および装置 Pending JPH10207920A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP9005780A JPH10207920A (ja) 1997-01-16 1997-01-16 回路設計方法および装置
US08/874,506 US6308305B1 (en) 1997-01-16 1997-06-13 Method and apparatus for circuit designing of an LSI circuit without error paths

Applications Claiming Priority (1)

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

Related Child Applications (3)

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

Publications (1)

Publication Number Publication Date
JPH10207920A true JPH10207920A (ja) 1998-08-07

Family

ID=11620633

Family Applications (1)

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

Country Status (2)

Country Link
US (1) US6308305B1 (ja)
JP (1) JPH10207920A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008077490A (ja) * 2006-09-22 2008-04-03 Nec Corp 回路設計支援システム、回路設計支援方法及びプログラム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000322460A (ja) 1999-05-11 2000-11-24 Fujitsu Ltd タイミングエラー情報管理方法および装置
JP2001273341A (ja) * 2000-03-27 2001-10-05 Toshiba Corp 回路設計装置、回路設計方法、回路設計プログラムを格納したコンピュータ読取り可能な記録媒体および回路製造方法
JP2002366605A (ja) * 2001-06-11 2002-12-20 Hitachi Ltd 遅延時間表示方法
JP2003076734A (ja) * 2001-09-03 2003-03-14 Fujitsu Ltd 集積回路設計装置及び集積回路設計方法並びにプログラム
JP2007311535A (ja) * 2006-05-18 2007-11-29 Matsushita Electric Ind Co Ltd セル配置方法
US8296704B1 (en) * 2010-07-09 2012-10-23 Altera Corporation Method and apparatus for simultaneous switching noise optimization
US9310433B2 (en) 2014-04-18 2016-04-12 Breker Verification Systems Testing SOC with portable scenario models and at different levels
US11301606B1 (en) 2021-05-11 2022-04-12 Windbond Electronics Corp. Counting method for counting the stage number passing through a signal path on a graphical user interface
WO2023039211A1 (en) * 2021-09-10 2023-03-16 Synopsys, Inc. Optical path tracing in an optical circuit design

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63293678A (ja) 1987-05-27 1988-11-30 Hitachi Ltd 信号遅延時間算定方法
US5452231A (en) * 1988-10-05 1995-09-19 Quickturn Design Systems, Inc. Hierarchically connected reconfigurable logic assembly
JP3351651B2 (ja) * 1995-04-07 2002-12-03 富士通株式会社 会話型回路設計装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008077490A (ja) * 2006-09-22 2008-04-03 Nec Corp 回路設計支援システム、回路設計支援方法及びプログラム

Also Published As

Publication number Publication date
US6308305B1 (en) 2001-10-23

Similar Documents

Publication Publication Date Title
US7082584B2 (en) Automated analysis of RTL code containing ASIC vendor rules
US20090271750A1 (en) Timing constraint merging in hierarchical soc designs
JP6995451B2 (ja) 回路適正化装置及び回路適正化方法
US8127263B2 (en) Improving routability of integrated circuit design without impacting the design area
JPH10207920A (ja) 回路設計方法および装置
US5650947A (en) Logic simulation method and logic simulator
KR100704577B1 (ko) 타이밍 버지트 설계 방법
JP2004102703A (ja) レジスタ転送レベル設計支援装置
US20050251776A1 (en) Integrated circuit design system
JP2003223479A (ja) 回路設計装置
JP2003248706A (ja) 回路設計装置
US7962877B2 (en) Port assignment in hierarchical designs by abstracting macro logic
US20040148583A1 (en) Integrated circuit design system and method
CN112149370A (zh) 芯片老化的静态时序分析方法、装置和电子设备
JPH11219382A (ja) 遅延算出装置、遅延算出方法および遅延算出用プログラムを記録した記録媒体
JP2003228598A (ja) 回路設計装置
JP3422645B2 (ja) 回路素子配置装置
JP3102408B2 (ja) 信号遅延低減方法及び装置
JPH09232436A (ja) 論理合成方法及び装置並びに半導体集積回路設計方法
JP2630218B2 (ja) 回路設計装置
JP3410698B2 (ja) 検査回路挿入方法
JP3693846B2 (ja) 論理合成システムならびに同システムにおける遅延最適化方法
JPH05266123A (ja) 論理シミュレーション方法及び論理シミュレータ
JPH0736960A (ja) 配置配線の最適設計方法
CN111563355A (zh) 考虑多输入切换的操作时序分析装置和方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030415