JP2009128985A - 回路設計支援装置、回路設計支援方法、回路設計支援プログラム及び記録媒体 - Google Patents

回路設計支援装置、回路設計支援方法、回路設計支援プログラム及び記録媒体 Download PDF

Info

Publication number
JP2009128985A
JP2009128985A JP2007300367A JP2007300367A JP2009128985A JP 2009128985 A JP2009128985 A JP 2009128985A JP 2007300367 A JP2007300367 A JP 2007300367A JP 2007300367 A JP2007300367 A JP 2007300367A JP 2009128985 A JP2009128985 A JP 2009128985A
Authority
JP
Japan
Prior art keywords
terminal
information
circuit
unit
buffer
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.)
Granted
Application number
JP2007300367A
Other languages
English (en)
Other versions
JP5117170B2 (ja
Inventor
Yoshinori Kumano
義則 熊野
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2007300367A priority Critical patent/JP5117170B2/ja
Priority to US12/274,742 priority patent/US8365134B2/en
Publication of JP2009128985A publication Critical patent/JP2009128985A/ja
Application granted granted Critical
Publication of JP5117170B2 publication Critical patent/JP5117170B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

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

【課題】集積回路のレイアウト設計において、各部の入力信号の制約を満たしたレイアウト設計を容易化すること。
【解決手段】集積回路の回路設計支援装置1であって、集積回路のネットリストを取得するネットリスト読込部101と、ハードマクロの端子を選択端子として指定する端子選択部103と選択端子と当該端子に接続されたセルとの接続関係に関する情報である走査情報を生成する端子接続走査部と、生成された走査情報に基づいて選択端子に緩衝回路を接続することを決定し若しくは選択端子に接続された緩衝回路の変更を決定するバッファ追加/変更決定部107とを有することを特徴とする。
【選択図】図1

Description

本発明は、回路設計支援装置、回路設計支援方法、回路設計支援プログラム及び記録媒体に関し、特に集積回路内部の信号制約を満たした回路設計に関する。
LSI(Large Scale Integration:大規模集積回路)等の半導体集積回路の設計において、RAM(Random Access Memory)、ROM(Read Only Memory)、CPU(Central Processing Unit)、PHY(physical layer)等のハードマクロを搭載するチップの設計においては、搭載するハードマクロがスペック通りの動作を実行するように回路を設計する必要がある。これは、半導体集積回路の設計に際しては、既存のハードマクロを使用することが一般的であることによる。
半導体集積回路の設計に際して具体的に考慮すべき事項としては、ハードマクロの入力端子のスペックにおいて想定されている遷移時間よりも短い遷移時間の信号が入力される必要がある。また、ハードマクロの出力端子のスペックにおいて想定されている負荷容量よりも小さい負荷容量の回路(セル)が接続されている必要がある。このような要求に対して、従来の回路設計支援ツールにおいては、ハードマクロのスペック情報として、入力端子が許容可能な最大の遷移時間や出力端子がドライブ可能な負荷容量の最大値等、ハードマクロの搭載に関する設計制約情報を記述しておき、その制約が満たされるように設計が実行される。
回路設計支援ツールの例としては、ネットリスト及び配線の重み付け係数に基づいて出力したレイアウトデータからスキャンチェーンデータの配線長を算出し、算出した配線長に基づいてスキャンチェーン配線の重み付け係数を変化させる方法が提案されている(例えば特許文献1参照)。特許文献1に開示された技術は、スキャンチェーン配線の短縮を目的とするものであり、本発明とはその目的が異なる。
特開2006−323638号公報
上述した回路設計支援ツールを用いても、全ての該当箇所で制約を満たす結果が得られない場合がある。例えば、ハードマクロとしてRAMを用いる場合に、複数のRAMを隣接させて配置する場合があり得る。このような場合、セル配置スペースの制約により、RAMの端子と同電位に接続されるセルとの配線が長くなり、その結果、制約を満たすことが不可能となる可能性がある。このような課題に対して、回路設計支援ツールによるレイアウト前に、上記課題の発生し得る端子にバッファセルを挿入することによる解決手法が用いられている。具体的な手法としては、上記課題の発生し得る端子に、適切なドライブ能力を有するバッファセルを接続する。そして、回路設計支援ツールによるレイアウトを行なう際には、上記接続したバッファセルが、可能な限り対象となるハードマクロの端子に近い位置に配置されるようにレイアウトを実行する。
このような手法により、上記課題を解決することができるが、バッファセルを挿入したネットリストの作成や、ハードマクロの端子と強制的に近傍に配置すべきバッファセルとの対応付けリストの作成等の作業は、オペレータによる手作業が必要となる。従って、ハードマクロの数やハードマクロに設けられた端子の数が膨大になると、上記作業に要する時間も膨大となってしまう。また、人的なミスの可能性も高くなり、作業結果の確認にも更に膨大な時間を要する。
本発明は、上述した実情を考慮してなされたもので、集積回路のレイアウト設計において、各部の入力信号の制約を満たしたレイアウト設計を容易化することを目的とする。
上記の課題を解決するために、請求項1に記載の発明は、複数のセルが接続されて構成される集積回路の回路設計支援装置であって、前記集積回路に含まれる前記セルの接続関係を示す接続情報を取得する接続情報取得部と、前記集積回路において複数のセルの集合により所定の機能を実現する回路モジュールの端子を指定する端子指定部と、前記指定された端子と当該端子に接続されたセルとの接続関係に関する情報である端子接続情報を前記取得した接続情報に基づいて生成する端子接続情報生成部と、前記生成した端子接続情報に基づいて前記指定された端子に緩衝回路を接続することを決定し若しくは前記指定された端子に接続された緩衝回路の変更を決定する緩衝回路設定部とを有することを特徴とする。
また、請求項2に記載の発明は、請求項1に記載の回路設計支援装置において、前記回路モジュールの端子に入力され若しくは当該端子が出力する信号の強度が満たすべき条件に関する制約情報を取得する制約情報取得部をさらに有し、前記端子指定部は、前記取得した制約情報において前記条件が設定されている端子を指定することを特徴とする。
また、請求項3に記載の発明は、請求項1に記載の回路設計支援装置において、オペレータが前記回路設計支援装置を操作する操作情報を入力する操作部を更に有し、前記端子指定部は、前記入力された操作情報に基づいて前記回路モジュールの端子を指定することを特徴とする。
また、請求項4に記載の発明は、請求項1に記載の回路設計支援装置において、前記端子指定部は、前記取得した接続情報に基づき、前記回路モジュールの端子のうちセルが接続された端子を指定することを特徴とする。
また、請求項5に記載の発明は、請求項1乃至4いずれか1項に記載の回路設計支援装置において、前記回路モジュールの端子に入力され若しくは当該端子が出力する信号が満たすべき条件に関する制約情報を取得する制約情報取得部と、前記取得した接続情報に基づいて前記集積回路の回路図を表示する回路図表示部とを更に有し、前記回路図表示部は、前記制約情報に基づき、前記表示する回路図において前記回路モジュールの端子と当該端子の制約情報とを関連付けて表示することを特徴とする。
また、請求項6に記載の発明は、請求項1乃至5いずれか1項に記載の回路設計支援装置において、前記接続することを決定した緩衝回路若しくは前記変更を決定した緩衝回路と前記指定された端子とを接続する配線を所定の長さ以下とすることを示す配線長限定情報を生成する配線長限定情報生成を更に有することを特徴とする。
また、請求項7に記載の発明は、請求項1乃至6いずれか1項に記載の回路設計支援装置において、前記緩衝回路設定部による決定に基づき、前記取得した設定情報に前記緩衝回路の接続若しくは変更を反映して前記接続情報を再構成する接続情報再構成部を更に有することを特徴とする。
また、請求項8に記載の発明は、請求項7に記載の回路設計支援装置において、前記再構成された接続情報である再構成接続情報を取得する再構成接続情報取得部と、前記再構成接続情報に基づいて回路配置を実行して出力されたレイアウト情報を取得するレイアウト情報取得部と、前記回路モジュールの端子に入力され若しくは当該端子が出力する信号の強度が満たすべき条件に関する制約情報を取得する制約情報取得部と、前記取得したレイアウト情報に基づいて前記回路モジュールの端子に入力され若しくは当該端子が出力する信号の強度に関する情報を取得する信号強度情報取得部と、前記取得した信号の強度に関する情報と前記取得した制約情報に基づいて前記信号の強度が前記制約情報において指定された条件を満たすか否かを示す検証結果情報を生成する制約検証部とを有することを特徴とする。
また、請求項9に記載の発明は、請求項8に記載の回路設計支援装置において、前記信号強度情報取得部は、前記回路モジュールの端子に入力される信号の遷移時間に関する情報を取得し、前記制約情報取得部は、前記回路モジュールの端子に入力される信号の遷移時間が所定期間以内でなければならないことを示す情報を取得することを特徴とする。
また、請求項10に記載の発明は、請求項8または9に記載の回路設計支援装置において、前記信号強度情報取得部は、前記回路モジュールの端子が出力する信号が励起する静電容量に関する情報を取得し、前記制約情報取得部は、前記回路モジュールの端子が出力する信号が所定時間以内に励起可能な静電容量に関する情報を取得することを特徴とする。
また、請求項11に記載の発明は、複数のセルが接続されて構成される集積回路の回路設計支援方法であって、前記集積回路に含まれる前記セルの接続関係を示す接続情報を取得し、前記集積回路において複数のセルの集合により所定の機能を実現する回路モジュールの端子を指定し、前記指定された端子と当該端子に接続されたセルとの接続関係に関する情報である端子接続情報を前記取得した接続情報に基づいて生成し、前記生成した端子接続情報に基づいて前記指定された端子に緩衝回路を接続することを決定し若しくは前記指定された端子に接続された緩衝回路の変更を決定することを特徴とする。
また、請求項12に記載の発明は、回路設計支援プログラムであって、請求項11に記載の回路設計支援方法を情報処理装置に実行させることを特徴とする。
また、請求項13に記載の発明は、記録媒体であって、請求項12に記載の回路設計支援プログラムを情報処理装置が読み取り可能な形式で記録したことを特徴とする。
本発明によれば、集積回路のレイアウト設計において、各部の入出力信号の制約を満たしたレイアウト設計を容易化することが可能となる。
以下、図面を参照して、本発明の実施形態を詳細に説明する。
実施の形態1.
本実施形態においては、集積回路の接続関係を示すネットリストと集積回路各部の端子の入出力信号制約を示す制約情報とに基づき、各部の端子にバッファを挿入し若しくはバッファの種類を変更してネットリストを再構成する回路設計支援装置を例として説明する。また、本実施形態に係る回路設計支援装置は、変更対象となった端子と再構成によって挿入若しくは変更されたバッファとを近接配置することを示す情報も生成する。本実施形態に係る回路設計支援装置は、PC(Personal Computer)等の情報処理端末に専用のハードウェアが搭載され、若しくは専用のソフトウェア・プログラムがインストールされることにより構成される。
図1は、本実施形態に係る回路設計支援装置1を示すブロック図である。図1に示すように、本実施形態に係る回路設計支援装置1は、コントローラ100、入力装置110、表示装置120、近傍配置リスト記憶部130、ネットリスト記憶部140及び制約情報記憶部150を有する。また、コントローラ100は、ネットリスト読込部101、制約情報読込部102、端子選択部103、回路図表示部104及び再構成処理部105を有する。再構成処理部105は、端子接続走査部106、バッファ追加/変更決定部107、ネットリスト構築部108、近傍配置リスト生成部109を有する。
入力装置110は、オペレータが回路設計支援装置1に情報を入力するためのユーザインタフェースであり、キーボードやマウス等により構成される。表示装置120は、クライアント装置1が情報を視覚的に表示するユーザインタフェースであり、ディスプレイモニタ等によって構成される。近傍配置リスト記憶部130、ネットリスト記憶部140及び制約情報記憶部150は、夫々、近傍配置リスト、ネットリスト及び制約情報を記憶している記憶部であり、HDD(Hard Disk Drive)やEEPROM(Erasable Programmable Read Only Memory)等の不揮発性記憶媒体により構成される。各記憶部に記憶される情報については、後に詳述する。
コントローラ100は、ソフトウェアとハードウェアとの組み合わせによって構成される。具体的には、ROM(Read Only Memory)や不揮発性メモリ並びにHDDや光学ディスク等の不揮発性記憶媒体に格納されたファームウェア等の制御プログラムが、DRAM(Dynamic Random Access Memory)等の揮発性メモリ(以下、メモリ)にロードされ、CPU(Central Processing Unit)の制御に従って構成されるソフトウェア制御部と集積回路などのハードウェアとによってコントローラ100が構成される。コントローラ100は、回路設計支援装置1全体を制御する制御部として機能する。
ネットリスト読込部101は、回路設計支援装置1がネットリストの再構成を実行する元になるネットリストを取得する。ネットリスト読込部101は、オペレータによる入力装置110からの情報入力若しくはネットリスト記憶部140から情報を読み込むことにより、再構成対象のネットリストを取得する。ネットリスト取得部101は、取得したネットリストを回路図表示部104及び再構成処理部105に入力する。
制約情報読込部102は、再構成対象のネットリストに含まれる端子各部の入出力信号の制約に関する情報(以降、制約情報とする)を取得する。制約情報は、回路設計支援装置1がネットリストを再構成する際に、満たすべき条件として参照する情報である。制約情報読込部102は、オペレータによる入力装置110からの情報入力若しくは制約情報記憶部150から情報を読み込むことにより、制約情報を取得する。制約情報読込部102は、取得した制約情報を回路図表示部104及び再構成処理部105に入力する。
端子選択部103は、回路設計支援装置1がネットリストの再構成を行なう際に、制約情報を適用してバッファの挿入若しくは変更の可否を判断する端子を決定する。端子選択部103は、オペレータによる入力装置110からの情報入力に応じて、対象となる端子を決定し、決定した端子に関する情報(以降、選択端子情報とする)を再構成処理部105に入力する。回路図表示部104は、ネットリスト読込部101が読み込んだネットリスト及び制約情報読込部102が読み込んだ制約情報に基づき、各部の端子に制約情報の表示された回路図情報を生成する。回路図表示部104によって生成された回路図情報は、表示装置120に表示される。
再構成処理部105は、ネットリスト読込部101、制約情報読込部102及び端子選択部103から入力された情報に基づき、ネットリストの再構成を実行する。また、再構成処理部105は、ネットリストの再構成において挿入若しくは変更したバッファを、可能な限り対象となる端子の近傍に配置すべきことを示す近傍配置リストを生成する。図1に示すように、再構成処理部105は、夫々の機能を担う構成部が連動して動作することにより、ネットリストの再構成及び近傍配置リストの生成を実行する。
端子接続走査部106は、ネットリスト読込部101から入力されたネットリストを走査し、端子選択部103から入力された選択端子情報において指定されている端子の接続状況を解析する。端子接続走査部106は、上記解析の結果、選択された端子の接続状況を示す情報(以降、接続走査情報とする)を生成し、バッファ追加/変更決定部107に入力する。また、端子接続走査部106は、制約情報読込部102から入力された制約情報をバッファ追加/変更決定部107に転送する。
バッファ追加/変更決定部107は、端子接続走査部106から取得した接続走査情報に基づいて、各端子に入力される信号の遷移時間若しくは、各端子から出力される信号がドライブしなければならない容量を算出する。また、バッファ追加/変更決定部107は、取得した制約情報と上記算出した情報とに基づき、制約を満たすために必要なバッファの挿入若しくは変更を決定する。ネットリスト構築部108は、バッファ追加/変更決定部107により決定されたバッファの挿入/変更に基づき、ネットリスト読込部101が取得した元のネットリストを構築しなおす。即ち、ネットリスト構築部108がネットリストの再構成を実行する。ネットリスト構築部108は、再構成結果のネットリストをネットリスト記憶部140に格納すると共に、表示装置120に表示する。
近傍配置リスト生成部109は、ネットリスト構築部108による再構成後のネットリストに基づき、挿入若しくは変更されたバッファと対象となる端子とが近傍に配置されることを示す近傍配置リストを生成する。近傍配置リスト生成部109は、生成した近傍配置リストを近傍配置リスト記憶部130に格納すると共に、表示装置120に表示する。
次に、図2を参照して、本実施形態に係る回路設計支援装置1の動作について説明する。図2は、本実施形態に係る回路設計支援装置の動作を示すシーケンス図である。図2の説明においては、図3に示すような集積回路を示すネットリストを再構成する場合を例としている。図3は、ハードマクロとしてのSRAM300を含む集積回路を示す回路図である。ハードマクロとは、集積回路において複数のセルの集合により構成される回路ブロックであり、所定の機能を実現する回路モジュールである。図3に示す集積回路の詳細については、後に詳述する。
まず、ユーザが入力装置110を操作することにより、ネットリスト読込部101が再構成対象のネットリストを取得する(S201)。また、ネットリスト読込部101は、取得したネットリストを回路図表示部104及び端子接続走査部106に送信する(S201)。このとき、ユーザが直接入力装置110を操作してネットリストの情報を入力しても良いし、ネットリスト記憶部140に記憶されているネットリストを指定してネットリスト読込部101に読み込ませても良い。
図4に本実施形態に係るネットリストの情報例を示す。図4は、図3に示す回路構成を示すネットリストの情報例である。本実施形態に係るネットリストの情報は、NLD(Net List Description)言語によって記述される。例えば、図4の“A”の行の記述は、図3の端子A0を定義する記述である。“def−pin”は、端子を定義することを示す記述であり、“A0”は、端子の識別子として“A0”を付与することを示す記述であり、“type output”は、出力端子であることを示す記述である。尚、図3に示す端子A0は、SRAM300にとっては入力端子であり、図3に示す回路にとってはSRAM300へ信号を入力するための出力端子である。
また、図4の“I”の行の記述は、図3の論理和回路U376を定義する記述である。“def−comp”は、セルを定義することを示す記述であり、“or−X1”は、定義するセルとして、一般的な部品の種類として定義されている“or−X1”を用いることを示す記述であり、“U376”は、定義するセルの識別子として“U376”を付与することを示す記述である。即ち、“I”行の記述は、既に定義された部品である“or−X1”を“U376”というセルとして用いることを示す。尚、本実施形態に係る部品の定義において、“or−X1”は、論理和回路であり、“buf−X1”は、低ドライブバッファであり、“buf−X20”は、高ドライブバッファである。
また、図4の“S”行の記述は、図3の論理和回路U376と端子A0との接続を定義する記述である。“def−net”は接続を定義することを示す記述であり、“A0”は、接続の一方を、“U376.out”は接続の他方を夫々示している。ここで、端子A0は、出力端子であるため、接続すべき箇所が一箇所しかなく、単に“A0”と記述されるが、論理和回路U376は、複数の入力及び出力を含むため、“U376.out”のように、どの部位を接続するかまでが記述される。即ち、図4の“S”行は、端子A0と論理和回路U376の出力端子を接続することを示す記述である。このように、ネットリストとは、主席回路に含まれる複数のセル及びそれらの接続関係を示す接続情報である。従って、ネットリスト読込部101は、接続情報取得部として機能する。
ネットリストの取得処理と同様に、ユーザが入力装置110を操作することにより、制約情報読込部102が制約情報を取得する(S202)。また、制約情報読込部102は、取得した制約情報を回路図表示部104及び端子接続走査部106に送信する(S202)。このとき、ユーザが直接入力装置110を操作して制約情報を入力しても良いし、制約情報記憶部150に記憶されているネットリストを指定して制約情報読込部102に読み込ませても良い。
図5に本実施形態に係る制約情報の例を示す。本実施形態に係る制約情報は、ハードマクロであるSRAM300の入出力信号の制約に関する情報である。図5の例においては、例えば、端子A0に出力する信号(端子A0に対応するSRAM300の端子に入力する信号)は、0.5(ps)の遷移時間以下に制限されることを示している。また、端子DO0がドライブ可能な容量は、0.15(pF)以下であることを示している。即ち、本実施形態に係る制約情報は、ハードマクロの入力端子に入力され若しくは出力端子が出力信号の強度が満たすべき条件に関する情報を有する。
回路図表示部104は、ネットリスト読込部101、制約情報読込部102から夫々ネットリストの情報、制約情報を取得すると、対応する端子に制約情報が記載された回路図を生成して表示装置120に表示する(S203)。S203において表示装置120に表示される回路図を図6に示す。図6に示すように、回路図表示部104によって表示される回路図は、図3に示した元となるネットリストの回路図に、夫々の端子に課せられた信号制約の情報が追加された状態となっている。このように、夫々の端子の近傍に、その端子の入出信号の制約に関する情報を表示することにより、オペレータは、集積回路に含まれる端子と、当該端子に課せられる信号制約との関連を容易に理解することができ、再構成の対象とする端子の選択を容易にすることができる。
回路図表示部104によって図6に示した回路図が表示装置120に表示されると、オペレータが入力装置110を操作することにより、バッファの挿入若しくは変更の要否を判断する端子(以降、選択端子とする)を選択する。端子選択部103は、入力装置110から入力された選択端子に関する情報を、端子選択情報として端子接続走査部106に送信する(S204)。即ち、入力装置110及び端子選択部103が端子指定部として機能する。ネットリストの情報、制約情報を夫々ネットリスト読込部101、制約情報読込部102から取得し、更に選択端子情報を端子選択部103から取得した端子接続走査部106は、ネットリストを解析し、選択端子情報において指定されている端子の接続状態を検出する(S205)。
例えば、端子A0が選択されている場合、図4に示すネットリストの“def−net”記述のうち“A0”を含む行を抽出する。本実施形態において、端子接続走査部106は、“S”行の記述を抽出する。次に、“def−net”記述において端子A0と接続されているセルに関する情報を抽出する。本実施形態において、端子接続走査部106は、“S”行の記述より、“U376.out”の記述に注目し、“def−comp”記述のうち、“U376”を定義している記述、即ち“I”行の記述を抽出する。そして、端子接続走査部106は、“I”行の記述より、“U376”として定義されたセルには“or−X1”として定義された部品が用いられていることを認識する。これらの処理により、端子接続走査部106は、選択端子である端子A0には、論理和回路U376の出力端子が接続されていることを認識する。端子接続走査部106は、選択端子に接続されたセルの情報を走査情報として生成し、走査情報をバッファ追加/変更決定部107に入力する。即ち、端子接続走査部106が、選択端子と当該端子に接続されたセルとの接続関係に関する情報を生成する端子接続情報生成部として機能する。
走査情報を受信したバッファ追加/変更決定部107は、走査情報に基づき、選択端子へのバッファの追加若しくは選択端子に接続されたバッファの変更を決定する。本実施形態に係るバッファの追加若しくは変更の具体例について、図7を参照して説明する。図3においても説明したように、端子A0の場合、接続されているセルは論理和回路U376である。論理和回路のような多入力セルの場合、各入力をドライブしているセルが広範囲に散らばっている可能性がある。そのような場合に自動レイアウトを行なうと、各入力をドライブしているセルとの接続関係が考慮され、論理和回路U376と端子A0との配線長が長くなる可能性がある。このような場合に、論理和回路U376を強制的に端子A0の近傍に配置すると、論理和回路U376の入力側のタイミングに影響を与える可能性が高い。従って、この場合、図7に示すように、バッファ追加/変更決定部107は、論理和回路U376の出力と端子A0との間に高ドライブバッファU386の追加を決定する。
端子DI0の場合、接続されているセルは低ドライブの低ドライブバッファU377の出力である。低ドライブバッファは、その特性上、入力される信号の遷移時間が長い場合、出力信号の遷移時間も長いまま改善されない可能性がある。その結果、端子DI0の信号制約を満たせない可能性がある。従って、この場合、バッファ追加/変更決定部107は、図7に示すように、低ドライブバッファU377から高ドライブバッファU387への変更を決定する。端子DI4の場合、接続されているセルは高ドライブバッファU378の出力である。この場合、端子DI0の処理後の状態と同様であるため、バッファ追加/変更決定部107は、バッファの追加若しくは変更は不要であると判断する。
端子CKの場合、接続されているセルは、高ドライブバッファU379の出力及び低ドライブバッファU380の入力である。即ち、高ドライブバッファU379のファインアウトが2つある。ファインアウトが多数ある場合、高ドライブバッファであっても、出力信号の遷移時間が長くなる可能性がある。従って、この場合、バッファ追加/変更決定部107は、図7に示すように、高ドライブバッファU379と端子CKとの間の配線において、低ドライブバッファU380の入力への分岐点よりも端子CKに近い位置に高ドライブバッファU388の追加を決定する。
端子DO0の場合、接続されているセルは、論理和回路U381の入力である。端子A0の場合と同様の理由により、論理和回路U381を端子DO0の近傍に強制的に配置することは好ましくない。従って、この場合、バッファ追加/変更決定部107は、図7に示すように、論理和回路U381の入力と端子DO0との間に低ドライブバッファU389を追加する。端子DO2の場合、接続されているセルは、高ドライブバッファU382の入力である。高ドライブバッファは、その特性上、入力のゲート容量が大きい。その結果、端子DO2の信号制約、即ち端子DO2が適正にドライブ可能な負荷容量を超えてしまう可能性がある。従って、この場合、バッファ追加/変更決定部107は、図7に示すように、端子DO2と高ドライブバッファU382の入力との間への低ドライブバッファU390の追加を決定する。端子DO3の場合、接続されているセルは、低ドライブバッファU383の入力である。この場合、端子DO2の処理後の状態と同様であるため、バッファ追加/変更決定部107は、バッファの追加若しくは変更は不要であると判断する。
端子DO4の場合、接続されているセルは、低ドライブバッファU384の入力及び低ドライブバッファU385の入力である。端子DO4に接続されているのはいずれも低ドライブバッファであるが、セルの数に従って負荷容量も増大する。その結果、端子DO4の信号制約、即ち端子DO4が適正にドライブ可能な負荷容量を超えてしまう可能性がある。この場合、端子DO4の出力配線が低ドライブバッファU384側と低ドライブバッファU385側とに分岐する前に、低ドライブバッファを追加することが考えられる。しかしながら、追加した低ドライブバッファのファインアウトが多数となるため、追加した低ドライブバッファのドライブ能力が不十分である可能性がある。従って、バッファ追加変更決定部107は、図7に示すように、端子DO4の出力配線が低ドライブバッファU384側と低ドライブバッファU385側とに分岐する前に、低ドライブバッファU391、高ドライブバッファU392の順番での、2つのバッファの追加を決定する。
このように、本実施形態に係るバッファ追加/変更決定部107は、ハードマクロの入出力端子とその端子に接続されるセルとの信号を緩衝する緩衝回路として、低ドライブバッファ若しくは高度ライブバッファの挿入若しくは変更を決定することにより、ハードマクロの入出力端子に接続された緩衝回路を設定する。即ち、本実施形態に係るバッファ追加/変更決定部107は、緩衝回路設定部として機能する。
このような処理により、バッファ追加/変更決定部107は、バッファの追加若しくは変更を決定する。バッファ追加/変更決定部107は、上記決定したバッファの追加若しくは変更の決定に係る情報(以降、バッファ追加/変更決定情報とする)を、ネットリスト構築部108及び近傍配置リスト109に入力する(S206)。ネットリスト構築部108は、バッファ追加/変更決定部107からバッファ追加/変更決定情報を受信すると、その情報に基づいて、バッファの追加若しくは変更後のネットリストを生成し、近傍配置リスト生成部109に送信する(S207)。換言すると、ネットリスト構築部108は、上記バッファ追加/変更決定情報に基づき、上記バッファの追加若しくは変更を反映してネットリストを再構成する。即ち、ネットリスト構築部108は、接続情報再構成部として機能する。尚、図7において説明した追加若しくは変更に係るバッファ(高ドライブバッファU386、高ドライブバッファU387等)の、“U386”、“U387”等の識別情報は、ネットリスト構築部108によるネットリストの再構築において付与される。
ネットリスト構築部108は、近傍配置リスト性西部109に変更後のネットリストを送信した後、変更後のネットリストをネットリスト記憶部140に格納する(S208)。また、ネットリスト構築部108は、変更後のネットリストに基づく回路図を表示装置120に表示する(S208)。図8は、S208における変更後のネットリストの表示例を示す図である。
バッファ追加/変更決定部107からバッファ追加/変更決定情報を、ネットリスト構築部108から変更後のネットリスト情報を夫々受信した近傍配置リスト生成部109は、バッファ追加/変更決定部107によって追加若しくは変更が決定されたバッファと、対象となる端子とを近傍に配置することを示す近傍配置リストを生成する(S209)。換言すると、近傍配置リスト生成部は、上記追加若しくは変更が決定されたバッファと対象となる端子とを接続する配線が諸低長以下に限定することを示す情報を生成する。即ち、近傍配置リスト生成部は、配線長限定情報生成部として機能する。
S209において生成される近傍配置リストの情報の例を図9に示す。図9に示すように、近傍配置リストにおいては、ハードマクロであるSRAM300の端子と、その端子の近傍に接続されるバッファとが対応付けられて記録されている。近傍配置リスト生成部109は、S209において近傍配置リストを生成した後、生成した近傍配置リストを近傍配置リスト記憶部130に格納すると共に、表示装置120に表示する(S210)。
このような処理により、再構成対象のネットリストについて、選択された端子の信号制約を満たすためにバッファの挿入若しくは変更が施されたネットリストが生成される。また、再構成後のネットリストについて、挿入若しくは変更したバッファと、当該バッファが信号制約を緩和する対象の端子との関連付けを示す近傍配置リストが生成される。これらの生成された情報に基づき、レイアウトツールを用いてセルの配置及び配線を自動的に実行することにより、信号制約を満たしたレイアウトが実行される。
以上説明したように、本実施形態に係る回路設計支援装置においては、集積回路に含まれる端子のうち、対象となる端子の接続状態及び当該端子の信号制約に関する情報に基づいて、バッファの追加若しくは接続されているバッファの変更を決定する。そして、上記バッファの追加若しくは変更後の回路のネットリストを自動的に生成すると共に、上記挿入若しくは変更したバッファと対象となる端子とを近傍に配置すべきことを示す対応付けの情報を生成する。これにより、集積回路のレイアウト設計において、各部の入出力信号の制約を満たしたレイアウト設計を容易化することが可能となる。また、指定された端子へのバッファの追加若しくは変更は自動的に判断されるため、人的ミスの発生を防ぐことが可能となる。
尚、上記の説明においては、図7の端子DI0の説明において、低ドライブバッファU377を高ドライブバッファU387に変更する例を説明した。この場合、端子DI0の遷移時間の制約に対応することは可能となるが、U387に入力される信号のドライブ能力によっては、正しく動作しない可能性もある。これに対して、低ドライブバッファU377を高ドライブバッファU387に変更するのではなく、低ドライブバッファU377と端子DI0との間に高ドライブバッファU387を追加するようにしても良い。この場合、必要となるセルの数が増えるが、低ドライブバッファU377の入力側に影響を与えることなく、端子I0に入力される信号の遷移時間を改善することが可能となる。
また、上記の説明においては、図4において説明したように、ネットリストを示す言語としてNLD言語を用いる例を説明した。この他、集積回路の接続関係を示す情報であれば他の形式の情報であっても使用可能である。
また、上記の説明においては、図6において説明したように、各端子の入出力信号の制約情報を、夫々の端子に関連付けて表示するために、制約情報を用いる例を説明した。この他、バッファの挿入若しくは変更を判断する端子の選択において、上記制約情報を用いても良い。例えば、上記の説明においては、オペレータが入力装置110を操作して選択した端子のみ、制約情報を参照して、バッファの挿入/変更を判断する例を説明した。これに対して、制約情報において、入出力信号の制約が規定されている端子のみ適用するようにしても良い。これにより、オペレータによる端子選択の手間を省略すると共に、制約の課された端子に対しては、バッファの追加若しくは変更が必要か否かを判断することが可能となる。
バッファの挿入/変更を判断する端子の決定に際しては、上記した例の他、例えば、ネットリスト読込部101が読み込んだネットリストに含まれるハードマクロの入出力端子のすべてにおいて、本実施形態を適用するようにしても良い。また、ハードマクロの全ての端子にセルが接続されているとは限らない。このような場合、例えば端子接続走査部106がネットリストを参照し、ハードマクロの端子のうちセルが接続された端子を選択端子として決定しても良い。
実施の形態2.
実施の形態1においては、レイアウトツールによる自動レイアウトの実行前に、レイアウト対象のネットリストを解析し、端子の制約情報に基づいてバッファの追加/変更を判断する例を説明した。本実施形態においては、レイアウトツールによる自動レイアウトの後、レイアウト後の集積回路に含まれるハードマクロの各端子が、入出力信号の制約を満たしているか否かを確認する回路設計支援装置について説明する。尚、実施の形態1と同様の符号を付す構成については実施の形態1と同一又は相当部を示し、説明を省略する。
図10は、レイアウトツールによる自動レイアウト結果の例を示す図である。レイアウトツールは、ネットリストに基づいて図10に示すようにセル配置を決定し、セル間の配線を決定する。セル間の配線が決定されることにより、各ハードマクロへの入力端子の遷移時間が算出可能となり、レイアウトツールによって遷移時間情報が生成される。また、セル間の配線が決定されることにより、各ハードマクロからの出力端子に接続された配線の容量が算出可能となり、レイアウトツールによって配線容量情報が生成される。上記生成された遷移時間情報及び配線容量情報がレイアウト情報として記憶される。レイアウト情報に含まれる各情報の例は後に詳述する。
図11は、本実施形態に係る回路設計支援装置2を示すブロック図である。本実施形態に係る回路設計支援装置2は、実施の形態1の場合と同様に、PC等の情報処理端末に専用のハードウェアが搭載され、若しくは専用のソフトウェア・プログラムがインストールされることにより構成される。図11に示すように、本実施形態に係る回路設計支援装置2は、コントローラ200、入力装置210、表示装置220、ネットリスト記憶部230、レイアウト情報記憶部240、セルライブラリ記憶部250、レポートファイル記憶部260及び制約情報記憶部270を有する。また、コントローラ200は、ネットリスト読込部201、遷移時間読込部202、配線容量読込部203、セルライブラリ204、端子接続走査部205、入力側処理部206、出力側処理部207、レポートファイル構築部208及び制約情報読込部209を有する。また、入力側処理部206は、遷移時間走査部211及び制約検証部212を有する。また、出力側処理部207は、配線容量走査部221、入力ゲート容量走査部222、入力ゲート容量合算部223、容量合算部224及び制約検証部225を有する。
入力装置210、表示装置210、ネットリスト記憶部230及び制約情報記憶部270は、夫々実施の形態1における入力装置110、表示装置120、ネットリスト記憶部140及び制約情報記憶部150と同等である。レイアウト情報記憶部240、セルライブラリ記憶部250及びレポートファイル記憶部260は、夫々、レイアウト情報、セルライブラリの情報及びレポートファイルの情報を記憶している記憶部であり、HDDやEEPROM等の不揮発性記憶媒体により構成される。各記憶部に記憶される情報については、後に詳述する。
コントローラ200は、実施の形態1のコントローラ100と同様に、ソフトウェアとハードウェアとの組み合わせによって構成され、回路設計支援装置2全体を制御する制御部として機能する。ネットリスト読込部201は、回路設計支援装置2がレイアウト結果を検証する回路のネットリストを取得する。ネットリスト読込部201は、オペレータによる入力装置210の操作に基づき、ネットリスト記憶部230から情報を読み込むことにより、ネットリストを取得する。
遷移時間読込部202は、レイアウト情報記憶部240に記憶されたレイアウト情報のうち、ハードマクロへの入力端子、即ち集積回路における出力端子の遷移時間に関する情報(以降、遷移時間情報とする)を取得する。遷移時間読込部202は、オペレータによる入力装置210の操作に基づき、レイアウト情報記憶部240から情報を読み込むことにより、遷移時間情報を取得する。配線容量読込部203は、レイアウト情報記憶部240に記憶されたレイアウト情報のうち、セルとセルを接続する配線の静電容量に関する情報(以降、配線容量情報とする)を取得する。配線容量読込部203は、オペレータによる入力装置210の操作に基づき、レイアウト情報記憶部240から情報を読み込むことにより、配線容量情報を取得する。
セルライブラリ読込部204は、セルライブラリ記憶部250に記憶されたSルライブラリの情報を取得する。セルライブラリ読込部204は、オペレータによる入力装置210の操作に基づき、セルライブラリ記憶部250から情報を読み込むことにより、セルライブラリの情報を取得する。端子接続走査部205は、レイアウト結果の検証を行なう集積回路に含まれる端子であって、オペレータが入力装置210を介して指定したハードマクロの端子に接続されたセルの接続状況を、ネットリスト読込部201が読み込んだネットリストを解析して抽出する。
入力側処理部206は、レイアウト結果の情報に基づき、ハードマクロへ入力される信号の遷移時間を抽出する。そして、当該抽出した遷移時間と各端子に課せられる遷移時間の制約との比較を行ない、制約を満たすか否かを検証する。出力側処理部207は、レイアウト結果の情報に基づき、ハードマクロから出力される信号がドライブする必要のある要領を算出する。そして、当該算出した容量と各端子がドライブ可能な容量の制約との比較を行ない、制約を満たすか否かを検証する。入力側処理部206及び出力側処理部207内部の各部の詳細な動作については後に詳述する。
レポートファイル構築部208は、入力側処理部206が生成した検証結果の情報と、出力側処理部207が生成した検証結果の情報とに基づき、検証結果を示すレポートファイル情報を生成する。また、レポートファイル構築部209は、上記生成したレポートファイル情報を表示装置220及びレポートファイル記憶部260に出力する。制約情報読込部209は、回路設計支援装置2がレイアウト結果を検証する回路に含まれる各端子の制約情報を取得する。制約情報読込部209は、オペレータによる入力装置210の操作に基づき、制約情報記憶部270から情報を読み込むことにより、制約情報を取得する。
次に、本実施形態に係る回路設計支援装置2の動作について、図12に示すシーケンス図を用いて説明する。本実施形態においては、実施の形態1において図8に示すように再構成された回路のネットリスト及び当該ネットリストに基づいて自動レイアウトされた回路のレイアウト情報に基づいてレポート情報を生成する例を説明する。ネットリスト読込部201は、ユーザによる入力装置210の操作に基づき、ネットリスト記憶部230からネットリスト情報を取得する(S1201)。ネットリスト読込部201は、取得したネットリスト情報を端子接続走査部205に送信する(S1201)。本実施形態において取得するネットリスト情報は、図8に示す回路を示すネットリストである。
遷移時間読込部202は、ユーザによる入力装置210の操作に基づき、レイアウト情報記憶部240から遷移時間情報を取得し、入力側処理部206に送信する(S1202)。ここで、図13を参照して、遷移時間読込部202がS1202において取得及び送信する遷移時間情報について説明する。図13に示すように、本実施形態に係る遷移時間情報は、ハードマクロであるSRAM300の端子と当該端子に入力される信号の遷移時間とが関連付けられて格納されている。上述したように、この遷移時間情報は、レイアウトツールによる自動レイアウトの実行後、各端子の接続関係に基づいてレイアウトツールによって算出される。
配線容量読込部203は、ユーザによる入力装置210の操作に基づき、レイアウト情報情報記憶部240から配線容量情報を取得し、出力側処理部207に送信する(S1203)。ここで、図14を参照して、配線容量読込部203がS1203において取得及び送信する配線容量情報について説明する。図14に示すように、本実施形態に係る配線容量情報においては、端子とセルとを指定することにより配線を指定し、指定された配線の容量が関連付けて記憶されている。例えば、図14においては、“DO0 U389”という記述により、端子DO0と低ドライブバッファU389とを接続する配線であることが指定され、その配線の容量が0.003(pF)であることが示されている。遷移時間情報と同様に、この配線容量情報は、レイアウトツールによる自動レイアウトの実行後、各端子の接続関係に基づいてレイアウトツールによって算出される。
セルライブラリ読込部204は、ユーザによる入力装置210の操作に基づき、セルライブラリ記憶部250からセルライブラリの情報を取得し、出力側処理部207に送信する(S1204)。ここで、図15を参照して、セルライブラリ読込部204がS1204において取得及び送信するセルライブラリ情報について説明する。図15に示すように、本実施形態に係るセルライブラリ情報は、セルの識別を指定し、指定されたセルの入力ゲート容量が関連付けて記憶されている。例えば、図15においては、“U389”という記述により、低ドライブバッファU389が指定され、その入力ゲートの容量が0.009(pF)であることが示されている。セルライブラリ情報は、レイアウトツールによるレイアウトに際して用いられる情報である。
端子接続走査部205は、ネットリスト読込部201からネットリストの情報を取得した後、オペレータによる入力装置210の操作によってレイアウト結果を検証する端子が選択される(S1205)。端子接続走査部205は、オペレータによって選択された端子の接続状態を検出し、走査情報を生成する(S1206)。S1206における端子接続走査部205の処理は、実施の形態1における端子接続走査部106の処理と同様である。端子接続走査部205は、生成した走査情報を入力側処理部206及び出力側処理部207に送信する。
入力側処理部206は、遷移時間情報及び走査情報を夫々取得すると、遷移時間の走査を行なう(S1207)。具体的には、入力側処理部206において、遷移時間走査部211が、走査情報において指定されている端子の遷移時間を遷移時間情報から抽出する。そして、入出力処理部206は、S1207において抽出した遷移時間情報と、指定された端子に課せられた遷移時間の制約とを比較することにより、レイアウト結果が制約を満たすか否か検証する(S1208)。具体的には、制約検証部212が遷移時間走査部211から上記抽出した遷移時間の情報を受信すると共に、制約情報読込部209から制約情報を取得し、対応する端子の遷移時間と制約情報とを比較することにより行なう。入力側処理部206は、S1208における検証の結果をレポートファイル構築部208に送信する(S1209)。
出力側処理部207は、配線容量情報、セルライブラリ情報、及び走査情報を夫々取得すると、配線容量及び入力ゲート容量の走査を行なう(S1210)。具体的には、出力側処理部207において、配線容量走査部221が、走査情報において指定されている端子が含まれる配線の容量を配線容量情報から抽出する。また、入力ゲート容量走査部222が、走査情報において指定されている端子が接続されているセルの入力ゲートの容量をセルライブラリ情報から抽出する。この時、指定された端子に複数のセルが接続されている場合もある。このような場合、入力ゲート容量走査部222は、一の端子に接続された複数のセルの入力ゲート容量をセルライブラリ情報から抽出し、入力ゲート容量合算部223に送信する。入力ゲート容量合算部223は、一の端子に接続された複数のセルの入力ゲート容量を合算する。
出力側処理部207は、配線容量及び入力ゲート容量の走査を完了すると、走査情報において指定された夫々の端子において、上記抽出した配線容量と入力ゲート容量とを合算する(S1211)。具体的には、出力側処理部207において、容量合算部224が、配線容量走査部221、入力ゲート容量合算部223から、夫々配線容量情報、入力ゲート容量を取得し、夫々の端子について、配線容量と入力ゲート容量とを合算する。例えば、図8に示す端子DO0が指定されている場合、配線容量としては、図14に示す“DO0 U389”にて指定されている配線容量が抽出されている。また、入力ゲート容量としては、図15に示す“U389”にて指定されている入力ゲート容量が抽出されている。容量合算部224は、それら夫々の情報を取得して合算する。これにより、端子DO0がドライブすることになる容量が算出される。
そして、出力側制御部207は、S1211において、夫々の端子について合算された容量と、夫々の端子に課せられた容量の制約とを比較することにより、レイアウト結果が制約を満たすか否か検証する(S1212)。具体的には、制約検証部225が容量合算部224から合算結果の情報を取得すると共に、制約情報読込部209から制約情報を取得し、対応する端子の容量と制約情報とを比較することにより行なう。出力側処理部207は、S1212における検証の結果をレポートファイル構築部208に送信する(S1213)。
レポートファイル構築部208は、入力側処理部206及び出力側処理部207から受信した検証結果に基づき、レポートファイルを生成する(S1214)。図16を参照して、本実施形態に係るレポートファイルに含まれる情報の例を示す。図16に示すように、本実施形態に係るレポートファイルには、走査情報において指定されている端子の識別情報、夫々の端子が出力端子であるか入力端子であるかの別、各端子に接続されたセルを識別する情報、ハードマクロの各端子に入力される信号の遷移時間に関する情報、ハードマクロから出力される信号がドライブする容量に関する情報及び夫々の端子が制約を満たすか否かの判定結果の情報が含まれる。また、ハードマクロの入力端子に入力される信号の遷移時間に関する情報には、各端子に入力される信号の遷移時間の実力値、各端子に入力される信号の遷移時間の制約値及びそれらの単位に関する情報が含まれる。また、ハードマクロから出力される信号がドライブする容量に関する情報は、各端子がドライブする容量の実力値、各端子がドライブ可能な容量の制約値及びそれらの単位に関する情報が含まれる。
図16について更に説明する。例えば、端子A0に注目した場合、端子A0は、集積回路としては出力端子、即ち、ハードマクロへの入力端子である。端子A0に入力される信号の遷移時間の実力値は、0.315(ps)であり、制約値は、0.5(ps)であるので、制約を満たすことがわかる。また、端子DO0に注目した場合、端子DO0は、集積回路としては、入力端子、即ち、ハードマクロからの出力端子である。端子DO0がドライブする容量の実力値は、0.012(pF)であり、制約値は、0.15(pF)であるので、制約を満たすことがわかる。
レポートファイル構築部208は、図16に示すようなレポートファイルを生成した後、表示装置220へのレポートファイルの表示や、レポートファイル記憶部260へのレポートファイルの格納など、レポートファイルの出力処理を実行する。ユーザは表示装置220に表示されたレポートファイルを確認し若しくはレポートファイル記憶部260に格納されたレポートファイルを参照することにより、指定した端子が制約を満たすようにレイアウトが行われているか否かを容易に確認することが可能となる。
以上説明したように、本実施形態に係る回路設計支援装置によれば、集積回路に含まれるハードマクロの各端子が信号の制約を満たすようにレイアウトが行なわれているか否かを容易に確認することができる。
尚、上記の説明においては、オペレータが入力装置210を操作して選択した端子のみ、制約を満たすか否かの判断を行なう例を説明した。これに対して、制約情報読込部において、入出力信号の制約が規定されている端子のみ適用するようにしても良い。これにより、オペレータによる端子選択の手間を省略すると共に、制約の課された端子に対しては、レイアウト結果の検証を行なうことが可能となる。
また、上記の説明においては、入力側処理部206及び出力側処理部207が動作する例を説明した。即ち、ハードマクロへの信号入力端子に入力される信号の遷移時間と、ハードマクロからの信号出力端子から出力される信号がドライブする容量との双方について信号制約を満たすか否かを検証する例を説明した。この他、どちらか一方のみを行なうようにしても良いし、入力側処理部206と出力側処理部207とを異なる装置で実現しても良い。
その他の実施形態.
実施の形態2においては、実施の形態1においてバッファの挿入若しくは変更が判断された後のネットリストに基づいてレイアウトツールによる自動レイアウトを実行し、そのレイアウト結果を検証する例を説明した。これにより、実施の形態1によるバッファの挿入若しくは変更動作によって、集積回路に含まれるハードマクロの端子の制約が満たされたか否かを検証することが可能となる。この他、例えば実施の形態1のバッファ挿入/変更処理を適用するまえの元のネットリストに対して実施の形態2の検証方法を適用しても良い。そして、その結果、図16において説明したレポートファイルにおいて制約が満たされないと判定された端子に、実施の形態1に係るバッファの挿入/変更処理を適用するようにしても良い。これにより、元から制約の満たされている端子に不要なバッファを挿入することを避け、バッファの挿入が必要な端子にのみバッファを挿入することが可能となる。
更には、実施の形態1に係るバッファの挿入/変更処理を適用した結果、対象とした端子の制約が満たされたものの、バッファの挿入/変更によりレイアウトが変化し、対象としていない端子の制約が満たされなくなる場合もあり得る。そのような場合、実施の形態1に係るバッファの挿入/変更処理と実施の形態2に係るレイアウトの検証処理を交互に繰り返することにより、全ての端子について制約を満たしたネットリストの生成及びレイアウトを実行することが可能となる。
本発明の実施形態に係る回路設計支援装置を示すブロック図である。 本発明の実施形態に係る回路設計支援装置の動作を示すシーケンス図である。 本発明の実施形態に係る集積回路の一部を示す図である。 本発明の実施形態に係るネットリスト情報の例を示す図である。 本発明の実施形態に係る制約情報の例を示す図である。 本発明の実施形態に係る集積回路の一部を示す図である。 本発明の実施形態に係る制約情報の例を示す図である。 本発明の実施形態に係る制約情報の例を示す図である。 本発明の実施形態に係る近傍配置リストの例を示す図である。 本発明の他の実施形態に係るレイアウトツールによるレイアウト結果の例を示す図である。 本発明の実施形態に係る回路設計支援装置の動作を示すシーケンス図である。 本発明の実施形態に係る回路設計支援装置の動作を示すシーケンス図である。 本発明の実施形態に係る遷移時間情報の例を示す図である。 本発明の実施形態に係る配線容量の情報の例を示す図である。 本発明の実施形態に係るセルライブラリの情報の例を示す図である。 本発明の実施形態に係るレポートファイルに含まれる情報の例を示す図である。
符号の説明
1、2 回路設計支援装置
100 コントローラ
101 ネットリスト読込部
102 制約情報読込部
103 端子選択部
104 回路図表示部
105 再構成処理部
106 端子接続走査部
107 バッファ追加/変更決定部
108 ネットリスト構築部
109 近傍配置リスト生成部
110 入力装置
120 表示装置
130 近傍配置リスト記憶部
140 ネットリスト記憶部
150 制約情報記憶部
200 コントローラ
201 ネットリスト読込部
202 遷移時間読込部
203 配線容量読込部
204 セルライブラリ読込部
205 端子接続走査部
206 入力側処理部
207 出力側処理部
208 レポートファイル構築部
209 制約情報読込部
210 入力装置
211 遷移時間走査部
212 制約検証部
220 表示装置
221 配線容量走査部
222 入力ゲート容量走査部
223 入力ゲート容量合算部
224 容量合算部
225 制約検証部
230 ネットリスト記憶部
240 レイアウト情報記憶部
250 セルライブラリ記憶部
260 レポートファイル記憶部
270 制約情報記憶部

Claims (13)

  1. 複数のセルが接続されて構成される集積回路の回路設計支援装置であって、
    前記集積回路に含まれる前記セルの接続関係を示す接続情報を取得する接続情報取得部と、
    前記集積回路において複数のセルの集合により所定の機能を実現する回路モジュールの端子を指定する端子指定部と、
    前記指定された端子と当該端子に接続されたセルとの接続関係に関する情報である端子接続情報を前記取得した接続情報に基づいて生成する端子接続情報生成部と、
    前記生成した端子接続情報に基づいて前記指定された端子に緩衝回路を接続することを決定し若しくは前記指定された端子に接続された緩衝回路の変更を決定する緩衝回路設定部とを有することを特徴とする、回路設計支援装置。
  2. 前記回路モジュールの端子に入力され若しくは当該端子が出力する信号の強度が満たすべき条件に関する制約情報を取得する制約情報取得部をさらに有し、
    前記端子指定部は、前記取得した制約情報において前記条件が設定されている端子を指定することを特徴とする、請求項1に記載の回路設計支援装置。
  3. オペレータが前記回路設計支援装置を操作する操作情報を入力する操作部を更に有し、
    前記端子指定部は、前記入力された操作情報に基づいて前記回路モジュールの端子を指定することを特徴とする、請求項1に記載の回路設計支援装置。
  4. 前記端子指定部は、前記取得した接続情報に基づき、前記回路モジュールの端子のうちセルが接続された端子を指定することを特徴とする、請求項1に記載の回路設計支援装置。
  5. 前記回路モジュールの端子に入力され若しくは当該端子が出力する信号が満たすべき条件に関する制約情報を取得する制約情報取得部と、
    前記取得した接続情報に基づいて前記集積回路の回路図を表示する回路図表示部とを更に有し、
    前記回路図表示部は、前記制約情報に基づき、前記表示する回路図において前記回路モジュールの端子と当該端子の制約情報とを関連付けて表示することを特徴とする、請求項1乃至4いずれか1項に記載の回路設計支援装置。
  6. 前記接続することを決定した緩衝回路若しくは前記変更を決定した緩衝回路と前記指定された端子とを接続する配線を所定の長さ以下とすることを示す配線長限定情報を生成する配線長限定情報生成を更に有することを特徴とする、請求項1乃至5いずれか1項に記載の回路設計支援装置。
  7. 前記緩衝回路設定部による決定に基づき、前記取得した設定情報に前記緩衝回路の接続若しくは変更を反映して前記接続情報を再構成する接続情報再構成部を更に有することを特徴とする、請求項1乃至6いずれか1項に記載の回路設計支援装置。
  8. 前記再構成された接続情報である再構成接続情報を取得する再構成接続情報取得部と、
    前記再構成接続情報に基づいて回路配置を実行して出力されたレイアウト情報を取得するレイアウト情報取得部と、
    前記回路モジュールの端子に入力され若しくは当該端子が出力する信号の強度が満たすべき条件に関する制約情報を取得する制約情報取得部と、
    前記取得したレイアウト情報に基づいて前記回路モジュールの端子に入力され若しくは当該端子が出力する信号の強度に関する情報を取得する信号強度情報取得部と、
    前記取得した信号の強度に関する情報と前記取得した制約情報に基づいて前記信号の強度が前記制約情報において指定された条件を満たすか否かを示す検証結果情報を生成する制約検証部とを有することを特徴とする、請求項7に記載の回路設計支援装置。
  9. 前記信号強度情報取得部は、前記回路モジュールの端子に入力される信号の遷移時間に関する情報を取得し、
    前記制約情報取得部は、前記回路モジュールの端子に入力される信号の遷移時間が所定期間以内でなければならないことを示す情報を取得することを特徴とする、請求項8に記載の回路設計支援装置。
  10. 前記信号強度情報取得部は、前記回路モジュールの端子が出力する信号が励起する静電容量に関する情報を取得し、
    前記制約情報取得部は、前記回路モジュールの端子が出力する信号が所定時間以内に励起可能な静電容量に関する情報を取得することを特徴とする、請求項8または9に記載の回路設計支援装置。
  11. 複数のセルが接続されて構成される集積回路の回路設計支援方法であって、
    前記集積回路に含まれる前記セルの接続関係を示す接続情報を取得し、
    前記集積回路において複数のセルの集合により所定の機能を実現する回路モジュールの端子を指定し、
    前記指定された端子と当該端子に接続されたセルとの接続関係に関する情報である端子接続情報を前記取得した接続情報に基づいて生成し、
    前記生成した端子接続情報に基づいて前記指定された端子に緩衝回路を接続することを決定し若しくは前記指定された端子に接続された緩衝回路の変更を決定することを特徴とする、回路設計支援方法。
  12. 請求項11に記載の回路設計支援方法を情報処理装置に実行させることを特徴とする、回路設計支援プログラム。
  13. 請求項12に記載の回路設計支援プログラムを情報処理装置が読み取り可能な形式で記録したことを特徴とする、記録媒体。
JP2007300367A 2007-11-20 2007-11-20 回路設計支援装置、回路設計支援方法、回路設計支援プログラム及び記録媒体 Expired - Fee Related JP5117170B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007300367A JP5117170B2 (ja) 2007-11-20 2007-11-20 回路設計支援装置、回路設計支援方法、回路設計支援プログラム及び記録媒体
US12/274,742 US8365134B2 (en) 2007-11-20 2008-11-20 Circuit design assisting apparatus, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007300367A JP5117170B2 (ja) 2007-11-20 2007-11-20 回路設計支援装置、回路設計支援方法、回路設計支援プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2009128985A true JP2009128985A (ja) 2009-06-11
JP5117170B2 JP5117170B2 (ja) 2013-01-09

Family

ID=40643304

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007300367A Expired - Fee Related JP5117170B2 (ja) 2007-11-20 2007-11-20 回路設計支援装置、回路設計支援方法、回路設計支援プログラム及び記録媒体

Country Status (2)

Country Link
US (1) US8365134B2 (ja)
JP (1) JP5117170B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9792399B2 (en) 2013-01-07 2017-10-17 Nxp Usa, Inc. Integrated circuit hierarchical design tool apparatus and method of hierarchically designing an integrated circuit

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0415874A (ja) * 1990-05-09 1992-01-21 Hitachi Ltd 論理回路図出力方法
JPH0423347A (ja) * 1990-05-14 1992-01-27 Hitachi Ltd 半導体集積回路及びその配置配線方法
JPH05160374A (ja) * 1991-12-10 1993-06-25 Fujitsu Ltd ゲートアレイのレイアウト方法
JP2000200834A (ja) * 1999-01-06 2000-07-18 Matsushita Electric Ind Co Ltd 論理セル、マスクレイアウト方法および半導体装置
JP2002149730A (ja) * 2000-11-09 2002-05-24 Fujitsu Ltd 回路設計装置,回路設計方法及びタイミング配分装置
JP2002313920A (ja) * 2001-04-17 2002-10-25 Nec Microsystems Ltd 半導体集積回路のレイアウト方法
JP2004086772A (ja) * 2002-08-28 2004-03-18 Matsushita Electric Ind Co Ltd 半導体集積回路設計装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3616212B2 (ja) 1996-09-25 2005-02-02 株式会社リコー メガセルテスト支援装置
US6499125B1 (en) * 1998-11-24 2002-12-24 Matsushita Electric Industrial Co., Ltd. Method for inserting test circuit and method for converting test data
JP2001034652A (ja) * 1999-07-22 2001-02-09 Hitachi Ltd 論理分割方法及びプログラムを格納した記録媒体及び論理分割システム
US6591407B1 (en) * 2000-03-01 2003-07-08 Sequence Design, Inc. Method and apparatus for interconnect-driven optimization of integrated circuit design
KR100466627B1 (ko) * 2001-02-27 2005-01-15 삼성에스디아이 주식회사 멀티 디스플레이장치
JP3860812B2 (ja) * 2002-04-17 2006-12-20 富士通株式会社 Asicとプログラマブル・ロジックデバイスのコンカレント開発支援プログラム、開発支援方法及び開発支援装置
JP2006155524A (ja) * 2004-12-01 2006-06-15 Nec Electronics Corp 半導体集積回路の検証方法、検証装置および検証プログラム
JP4481155B2 (ja) * 2004-12-08 2010-06-16 パナソニック株式会社 セルの入力端子容量の算出方法、および遅延算出方法
JP2006301837A (ja) * 2005-04-19 2006-11-02 Nec Electronics Corp マクロ内配線を考慮したネットリストを用いて遅延計算を行う設計方法及びそのネットリストの作成プログラム
US7451424B1 (en) * 2006-08-11 2008-11-11 Xilinx, Inc. Determining programmable connections through a switchbox of a programmable logic device
US7451425B1 (en) * 2006-08-11 2008-11-11 Xilinx, Inc. Determining controlling pins for a tile module of a programmable logic device
JP4805779B2 (ja) * 2006-10-04 2011-11-02 富士通株式会社 集積回路設計方法、集積回路設計装置及び集積回路設計プログラム
JP4872635B2 (ja) * 2006-12-06 2012-02-08 日本電気株式会社 電子回路用プリント基板の設計方法とシステム
JP4526596B2 (ja) * 2007-03-28 2010-08-18 富士通セミコンダクター株式会社 信号遅延評価プログラム、信号遅延評価方法、および信号遅延評価装置
JP2008283093A (ja) * 2007-05-14 2008-11-20 Nec Electronics Corp 半導体集積回路の検証方法及び設計プログラム
US20090199143A1 (en) * 2008-02-06 2009-08-06 Mentor Graphics, Corp. Clock tree synthesis graphical user interface
JP5060991B2 (ja) * 2008-02-22 2012-10-31 株式会社日立製作所 集積回路の設計支援装置、集積回路の設計支援方法、集積回路の設計支援プログラム、及びこのプログラムが記録された記録媒体

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0415874A (ja) * 1990-05-09 1992-01-21 Hitachi Ltd 論理回路図出力方法
JPH0423347A (ja) * 1990-05-14 1992-01-27 Hitachi Ltd 半導体集積回路及びその配置配線方法
JPH05160374A (ja) * 1991-12-10 1993-06-25 Fujitsu Ltd ゲートアレイのレイアウト方法
JP2000200834A (ja) * 1999-01-06 2000-07-18 Matsushita Electric Ind Co Ltd 論理セル、マスクレイアウト方法および半導体装置
JP2002149730A (ja) * 2000-11-09 2002-05-24 Fujitsu Ltd 回路設計装置,回路設計方法及びタイミング配分装置
JP2002313920A (ja) * 2001-04-17 2002-10-25 Nec Microsystems Ltd 半導体集積回路のレイアウト方法
JP2004086772A (ja) * 2002-08-28 2004-03-18 Matsushita Electric Ind Co Ltd 半導体集積回路設計装置

Also Published As

Publication number Publication date
US20090132986A1 (en) 2009-05-21
JP5117170B2 (ja) 2013-01-09
US8365134B2 (en) 2013-01-29

Similar Documents

Publication Publication Date Title
JP4217220B2 (ja) 検証支援プログラムおよび検証支援装置
US20060010429A1 (en) Method, system and program for model based software development with test case generation and evaluation
US8584062B2 (en) Tool suite for RTL-level reconfiguration and repartitioning
US7765501B2 (en) Settings and constraints validation to enable design for operations
CN111831564A (zh) 一种回归测试方法、装置及计算设备
US20050229045A1 (en) Method and device for managing software error
US20080216035A1 (en) Method and computer program for configuring an integrated circuit design for static timing analysis
JP6801460B2 (ja) 情報処理装置、プログラム、および情報処理方法
US7856608B2 (en) Method and apparatus for generating current source noise model for creating semiconductor device model used in power supply noise analysis
JP4654203B2 (ja) デジタルシステムのhdl記述ファイルを作成する方法、および得られるシステム
US8312400B2 (en) Verification supporting system
US8510708B2 (en) Method for optimizing a control program for actuators
JP5117170B2 (ja) 回路設計支援装置、回路設計支援方法、回路設計支援プログラム及び記録媒体
US8024158B2 (en) Management system and management method of CAD data used for a structural analysis
JP2007004563A (ja) ライブラリ作成装置、ライブラリ作成プログラムおよびライブラリ作成方法
US7559042B2 (en) Layout evaluating apparatus
KR102024275B1 (ko) 스크립트를 활용한 시험 프로그램 개발 시스템 및 그 방법
JP4870956B2 (ja) 組み込み用プログラム生成方法、組み込み用プログラム開発システム、及び情報テーブル部
CN115629815A (zh) 可验证emmc用户接口的fpga原型验证平台
JP7318704B2 (ja) テスト装置、テスト方法及びプログラム
JP4897359B2 (ja) メモリ管理装置及びメモリ管理方法及びプログラム
CN111566625B (zh) 测试用例生成装置、测试用例生成方法和计算机能读取的记录介质
JP5310397B2 (ja) 動作合成検証補助装置、動作合成検証補助方法、プログラム、及び記録媒体
JP5262678B2 (ja) 動作合成システム、動作合成方法、及び動作合成用プログラム
JP2930087B2 (ja) 論理設計支援システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100823

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100903

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100903

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120313

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120703

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120831

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120925

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121017

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151026

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees