JP2006004056A - レイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体 - Google Patents

レイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体 Download PDF

Info

Publication number
JP2006004056A
JP2006004056A JP2004178107A JP2004178107A JP2006004056A JP 2006004056 A JP2006004056 A JP 2006004056A JP 2004178107 A JP2004178107 A JP 2004178107A JP 2004178107 A JP2004178107 A JP 2004178107A JP 2006004056 A JP2006004056 A JP 2006004056A
Authority
JP
Japan
Prior art keywords
net
wiring length
length information
cell
extracted
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
JP2004178107A
Other languages
English (en)
Other versions
JP4530731B2 (ja
Inventor
Kazuyuki Kosugi
一之 小杉
Ikuko Murakawa
郁子 村川
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 JP2004178107A priority Critical patent/JP4530731B2/ja
Priority to US11/024,482 priority patent/US7367005B2/en
Publication of JP2006004056A publication Critical patent/JP2006004056A/ja
Application granted granted Critical
Publication of JP4530731B2 publication Critical patent/JP4530731B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods

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

Abstract

【課題】クロストークエラーの検出を簡単かつ効率的におこなってTATまたは作業工数を短縮化することにより、レイアウト設計の作業効率の向上を図ること。
【解決手段】レイアウト設計装置700は、任意のネットリストを入力するネットリスト入力部704と、入力されたネットリストから得られるセルをLSIチップ上に配置する配置部706と、配置されたセルの集合の中から検査対象となる任意のネットを抽出するネット抽出部707と、回路モデル200の回路シミュレーションをおこなった結果発生したクロストークによって生じる遅延時間に基づいて作成された相関テーブル500に基づいて、抽出されたネット内のセルの内部抵抗値RDと相関関係のある配線長情報Lを抽出する配線長情報抽出部708と、抽出された配線長情報Lに基づいて、クロストーク遅延時間を抑制する遅延時間抑制セルをネットに挿入する挿入部711と、を備える。
【選択図】 図7

Description

この発明は、クロストークによって発生する遅延時間を抑制してLSIチップのレイアウト設計をおこなうレイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体に関する。
LSI設計では、従来から設計期間の短縮による作業効率化が要求されており、特に、大規模化、高機能化、高速化および低消費電力化が要求されているLSIについては、高品質を維持するためにもこの設計作業の効率化は重要である。
このため、LSIチップのレイアウト設計においては、配置配線終了後に隣接配線しているネットのクロストーク量を計算して解析をおこない、クロストークエラーがあるネットに対しバッファを挿入することにより、クロストークエラーの修正をおこなっていた(従来技術1)。
また、上記従来技術1において、バッファ挿入によってクロストークエラーの修正をおこなうかわりに、平行配線となった個所を再配線することにより、クロストークエラーの修正をおこなっていた(従来技術2)。
また、クロストークエラーを起こしそうな配線長の長いネットを発生しないように、あらかじめ人手で配置配線を適宜工夫し、論理設計時に過剰に中継バッファを挿入しておいて、クロストークの影響を受けにくいような配線長にするようにしていた(従来技術3)。
また、下記特許文献1のように、自動配置後にセル配置データを取得し、セル間自動配線前に同一ノードのセル端子間にマンハッタン長経路の仮配線を接続してできる並行配線の長さが所定値以上であるクロストークエラーを検出し、クロストークエラーが検出された仮配線に接続されている所定値以内の間隔に接近したセルの移動をおこなったり、バッファを挿入して、該当するクロストークエラーの修正をおこなったりしていた(従来技術4)。
特開2003−281212号公報
しかしながら、上述した従来技術1では、自動配置配線後に、クロストークエラーを検出し、該当個所のクロストークエラー改善のためにバッファ挿入をしている。したがって、バッファを挿入する個所において、当該バッファを配置するためのスペースがない場合、最初から配置配線をやり直す必要があり、TAT(Turn Around Time)が増大するという問題点があった。
また、上述した従来技術2においては、自動配置配線後に、クロストークエラーを検出し、該当箇所のクロストークエラー改善のために再配線をおこなっている。したがって、該当箇所の周辺がすでに配線混雑している場合、他の配線済み経路とショートしてしまうため、配線をはじめからやり直さないといけなくなり、TATが増大するという問題点があった。
さらに、上述した従来技術3においては、クロストークエラーを起こさないようにあらかじめ人手で配置配線設計を工夫することが要求され、そのための多大な作業工数が必要になるという問題点があった。また、論理設計段階からあらかじめフロアプランを意識する必要があり、その設計制約が足かせとなって設計の混雑さが増大し、所要工数が増大するという問題点があった。
また、上述した従来技術4においては、自動配置後に、クロストークエラー箇所を発見して、クロストークエラーを改善している。したがって、配線が混雑している場合や配置スペースがない場合、バッファの挿入や配置されたセルの再移動をおこなうことができないため、結局、セルの配置をはじめからやり直す必要があり、TATが増大するという問題点があった。
また、バッファの挿入やセルの移動により、該当箇所のクロストークエラーを改善することができたとしても、バッファの挿入やセルの移動によって相互接続されている他のネットにおいて、遅延時間が悪化したり、レイアウト収容性が悪化したりするという問題点があった。
このため、遅延時間やレイアウト収容性が悪化したかどうかのチェック処理をおこなったり、悪化した場合に自動配置をやり直したりする必要が生じ、TATが増大するという問題点があった。このように、TATの増大や作業工数の増大によって、レイアウト設計期間が増大し、作業効率が低下するという問題点があった。
この発明は、上述した従来技術による問題点を解消するため、クロストークエラーの検出を簡単かつ効率的におこなってTATまたは作業工数を短縮化することにより、レイアウト設計の作業効率の向上を図ることができるレイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体を提供することを目的とする。
上述した課題を解決し、目的を達成するため、この発明にかかるレイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体は、任意のネットリストを入力し、入力されたネットリストから得られるセルをLSIチップ上に配置し、配置されたセルの集合の中から、検査対象となる任意のネットを抽出し、所定の回路モデルの回路シミュレーションをおこなった結果発生したクロストークによって生じる遅延時間に基づいて作成された、前記回路モデルに含まれている各セルの駆動能力に関する情報と、当該セルどうしを接続する配線の配線長情報との相関関係を示す相関情報に基づいて、抽出されたネット内のセルの駆動能力に関する情報と相関関係のある配線長情報を抽出し、抽出された配線長情報に基づいて、前記遅延時間を抑制する遅延時間抑制セルを前記ネットに挿入することを特徴とする。
この発明によれば、回路モデルを用いることにより、クロストークが発生するターゲットネットに遅延時間抑制セルを挿入して、クロストークの発生を未然に防止することができる。
また、上記発明において、抽出された配線長情報に基づいて、抽出されたネットがクロストークを発生するかどうかを判定し、この判定結果に基づいて、前記遅延時間抑制セルを前記ネットに挿入することとしてもよい。
この発明によれば、検査対象となる任意のネット(ターゲットネット)ごとに、クロストークが発生するかどうかの判定結果を得るため、平行配線となる箇所の特定のための検索処理や、その箇所に対するクロストーク遅延時間の計算をおこなう必要がなく、自動配置処理の効率化を図ることができる。
特に、上記発明において、前記ネット内のドライバセルとレシーバセルとの間に配線される配線の配線長情報を算出し、抽出された配線長情報と、算出された配線長情報とに基づいて、抽出されたネットがクロストークを発生するかどうかを判定することとしてもよい。
この発明によれば、検査対象となる任意のネット(ターゲットネット)ごとに、クロストークが発生するかどうかの判定を、配線長情報の比較によっておこなうことができ、自動配置処理の効率化を、より高速に実現することができる。
本発明にかかるレイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体によれば、クロストークエラーの検出を簡単かつ効率的におこなってTATまたは作業工数の短縮化を図ることができるという効果を奏する。またこれにより、レイアウト設計の作業効率の向上を図ることができるという効果を奏する。
以下に添付図面を参照して、この発明にかかるレイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体の好適な実施の形態を詳細に説明する。なお、下記の実施の形態にかかるレイアウト設計装置およびレイアウト設計方法は、たとえば、この実施の形態にかかるレイアウト設計プログラムが記録された記録媒体を備えるCADによって実現することができる。
(実施の形態)
(レイアウト設計装置のハードウェア構成)
まず、この発明の実施の形態にかかるレイアウト設計装置のハードウェア構成について説明する。図1は、この発明の実施の形態にかかるレイアウト設計装置のハードウェア構成を示すブロック図である。
図1において、レイアウト設計装置は、CPU101と、ROM102と、RAM103と、HDD(ハードディスクドライブ)104と、HD(ハードディスク)105と、FDD(フレキシブルディスクドライブ)106と、着脱可能な記録媒体の一例としてのFD(フレキシブルディスク)107と、ディスプレイ108と、I/F(インターフェース)109と、キーボード110と、マウス111と、スキャナ112と、プリンタ113と、を備えている。また、各構成部はバス100によってそれぞれ接続されている。
ここで、CPU101は、レイアウト設計装置の全体の制御を司る。ROM102は、ブートプログラムなどのプログラムを記憶している。RAM103は、CPU101のワークエリアとして使用される。HDD104は、CPU101の制御にしたがってHD105に対するデータのリード/ライトを制御する。HD105は、HDD104の制御で書き込まれたデータを記憶する。
FDD106は、CPU101の制御にしたがってFD107に対するデータのリード/ライトを制御する。FD107は、FDD106の制御で書き込まれたデータを記憶したり、FD107に記憶されたデータをレイアウト設計装置に読み取らせたりする。
また、着脱可能な記録媒体として、FD107のほか、CD−ROM(CD−R、CD−RW)、MO、DVD(Digital Versatile Disk)、メモリーカードなどであってもよい。ディスプレイ108は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ108は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F109は、通信回線を通じてインターネットなどのネットワーク114に接続され、このネットワーク114を介して他の装置に接続される。そして、I/F109は、ネットワーク114と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F109には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード110は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス111は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ112は、画像を光学的に読み取り、レイアウト設計装置内に画像データを取り込む。なお、スキャナ112は、OCR機能を持たせてもよい。また、プリンタ113は、画像データや文書データを印刷する。プリンタ113には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
(相関情報の内容)
つぎに、この発明の実施の形態にかかるレイアウト設計装置に用いられる相関情報の内容について説明する。図2は、クロストークが発生する回路モデルを示すブロック図である。図2において、回路モデル200は、アグレッサネット201とビクティムネット211とを有している。ここで、アグレッサネット201とは、クロストークを発生するネットであり、ビクティムネット211とは、発生したクロストークによって影響を受けるネットである。
アグレッサネット201は、ドライバセル202とレシーバセル203と負荷容量204とが直列接続されて構成されている。ドライバセル202には一例としてインバータが採用されており、レシーバセル203に伝送信号を出力する。レシーバセル203も一例としてインバータが採用されており、ドライバセル202からの伝送信号を入力する。負荷容量204は接地されている。ドライバセル202とレシーバセル203との間には、伝送信号が伝送される所定配線長のアグレッサライン205が配線されており、ドライバセル202の出力端子とレシーバセル203の入力端子とを接続する。
また、ビクティムネット211も、アグレッサネット201と同様、ドライバセル212とレシーバセル213と負荷容量214とが直列接続されて構成されている。ドライバセル212には一例としてインバータが採用されており、レシーバセル213に伝送信号を出力する。レシーバセル213も一例としてインバータが採用されており、ドライバセル212からの伝送信号を入力する。負荷容量214は接地されている。ドライバセル212とレシーバセル213との間には、伝送信号が伝送される所定配線長のビクティムライン215が配線されており、ドライバセル212の出力端子とレシーバセル213の入力端子とを接続する。なお、ビクティムライン215の配線長は、アグレッサライン205の配線長と同一配線長とする。
また、アグレッサネット201とビクティムネット211との間には、アグレッサライン205とビクティムライン215の配線間隔Sに応じて隣接間容量210が発生し、アグレッサネット201から発生するクロストークの原因となる。また、図2に示した波形は、アグレッサネットに伝送信号を与えたときに、ビクティムネット211のドライバセル212に発生するノイズ信号221と、ビクティムネット211のレシーバセル213に発生するノイズ信号222である。
このノイズ信号221、222の立ち上がりと立ち下りの急峻を示す値が、各セル212、213のスルーレートとなり、ビクティムネット211のドライバセル212に発生するノイズ信号221の立ち上がりからビクティムネット211のレシーバセル213に発生するノイズ信号222の立ち下がりまでの時間間隔Tが、アグレッサネット201が発生したクロストークによって生じる遅延時間(以下、「クロストーク遅延時間」という。)となる。したがって、このクロストーク遅延時間は、アグレッサネット201のドライバセル202の駆動能力と、隣接間容量210の値と、配線間隔Sと、ビクティムライン215の配線長(アグレッサライン205の配線長でも同じ。)と、スルーレートによって決定することができる。
つぎに、図2に示した回路モデルの回路シミュレーションをおこなった結果発生したクロストーク遅延時間と回路モデル200内のセル212、213の入力端子への入力波形を示すスルーレートとの相関関係の一例について説明する。図3は、回路モデル200のクロストークによって生じる遅延時間と回路モデル200内のセル212、213の入力端子への入力波形を示すスルーレートとの相関関係の一例を示すグラフである。
図3において、横軸は、ビクティムネット211内のセル212、213の入力端子に入力された入力波形から得られるスルーレートであり、縦軸は、ビクティムネット211から得られるクロストーク遅延時間である。図3では、アグレッサネット201のドライバセル202の駆動能力を示す内部抵抗値RDを300[Ω]、600[Ω]、1200[Ω]とした場合の相関関係を示している。なお、プロットした点の間は線形補間を施している。
つぎに、図2に示した回路モデル200内のセル202の内部抵抗値RDと当該セル202、203間を接続する配線長との相関関係の一例について説明する。図4は、回路モデル200内のセル202の内部抵抗値と当該セル202、203間を接続する配線長との相関関係の一例を示すグラフである。
図4において、横軸は、アグレッサネット201のドライバセル202の駆動能力を示す内部抵抗値RDであり、縦軸は、アグレッサライン205の配線長である。図4では、ビクティムネット211のスルーレートSLEWを100[psec]、200[psec]、300[psec]とした場合の相関関係を示している。なお、プロットした点の間は線形補間を施している。
つぎに、クロストーク遅延時間に基づいて作成された、アグレッサネット201のドライバセル202の内部抵抗値RD、アグレッサライン205の配線長(情報)L、およびビクティムネット211のスルーレートSLEWの相関関係をあらわす相関テーブルについて説明する。図5は、クロストーク遅延時間に基づいて作成された、アグレッサネット201のドライバセル202の内部抵抗値RD、アグレッサライン205の配線長(情報)L、およびビクティムネット211のスルーレートSLEWの相関関係をあらわす相関テーブルを示す説明図である。この相関テーブル500は、図3および図4に示したグラフに基づいて作成される。
ここで、相関テーブル500を用いたバッファの挿入例について説明する。図6は、相関テーブル500を用いたバッファの挿入例を示す説明図である。図6において、ドライバセル601と、レシーバセル602と、ドライバセル601およびレシーバセル602を接続する配線ライン610と、によって構成されたターゲットネット600が示されている。
ここで、たとえば、レイアウト設計において許容されるクロストーク遅延時間を、50[psec]以下とする。ドライバセル601の内部抵抗値RDを1200[Ω]とすると、図3に示したグラフおよび図5に示した相関テーブル500から、スルーレート200[psec]を得る。また、図4に示したグラフおよび図5に示した相関テーブル500から、スルーレート200[psec]でかつドライバセル601の内部抵抗値1200[Ω]の場合の配線長0.5[mm]を得る。
この配線長0.5[mm]が、レイアウト設計において許容されるクロストーク遅延時間を満足する配線長となる。そして、相関テーブル500から得られた配線長と、ターゲットネット600の配線ライン610の配線長とを比較し、配線ライン610の配線長が、相関テーブル500から得られた配線長よりも長い場合は、ターゲットネット600のドライバセル601から、相関テーブル500から得られた配線長0.5[mm]離れた配線ライン610上の位置に、バッファ603を挿入する。
このときのバッファ603の駆動能力となる内部抵抗値RDは、相関テーブル500から得られた配線長0.5[mm]に対応する内部抵抗値1200[Ω]とし、またバッファ603のスルーレートSLEWも、相関テーブル500から得られた配線長0.5[mm]に対応するスルーレート200[psec]とする。
(レイアウト設計装置の機能的構成)
つぎに、この発明の実施の形態にかかるレイアウト設計装置の機能的構成について説明する。図7は、この発明の実施の形態にかかるレイアウト設計装置の機能的構成を示すブロック図である。
図7において、レイアウト設計装置700は、ネットリスト記憶部701と、セル記憶部702と、相関情報記憶部703と、ネットリスト入力部704と、セル抽出部705と、配置部706と、ネット抽出部707と、配線長情報抽出部708と、配線長情報算出部709と、判定部710と、挿入部711と、検出部712と、削除部713と、変更部714と、解析部715と、論理最適化部716と、から構成されている。
ネットリスト記憶部701は、ユーザから提供されたネットリストが記憶されている。ネットリストは、たとえば、EDIF(Electronic Design Interchange Format)と呼ばれる標準テキスト形式で表現された回路接続を示している。
セル記憶部702は、LSIチップに配置するセルを記憶する。このセル記憶部702は、具体的には、セルライブラリによって構成される。セルライブラリに記憶されているセルとしては、たとえば、AND回路、OR回路、インバータ、バッファ、FFや、RAMやPLLなどのマクロセルなどが挙げられる。そして、各セルには、入力や出力などの端子の属性や端子数などの端子情報、内部抵抗値、スルーレートなどの情報を有している。
相関情報記憶部703は、クロストークが発生する回路モデルの回路シミュレーションをおこなった結果発生したクロストーク遅延時間に基づいて作成された、回路モデル200に含まれている各セルの駆動能力に関する情報と、当該セルどうしを接続する配線の配線長情報との相関関係を示す相関情報を記憶する。この相関情報は、図5に示した相関テーブル500であり、図2に示した回路モデル200の回路シミュレーションをおこなった結果発生したクロストーク遅延時間に基づいて作成された、回路モデル200に含まれている各セル202、203、212、213の内部抵抗値RDと、当該セル202、203、212、213どうしを接続する配線ライン205、215の配線長情報Lとの相関関係を示している。
また、上述したネットリスト記憶部701、セル記憶部702、および相関情報記憶部703は、具体的には、たとえば、図1に示したRAM103、HD105、FD107などの読み書き可能な記録媒体によってその機能を実現する。
また、ネットリスト入力部704は、ネットリスト受信部717と、ネットリスト抽出部718とによって構成されている。ネットリスト受信部717は、図1に示したネットワーク114を介して、図示しない外部記憶装置からネットリストを受信する。また、ネットリスト抽出部718は、図1に示したキーボード110やマウス111を操作してネットリスト記憶部701からネットリストを抽出する。これにより、任意のネットリストを入力することができる。
また、セル抽出部705は、セル記憶部702から、ネットリスト入力部704によって入力されたネットリストの記述内容に合致するセルを抽出する。具体的には、ネットリストにはセル名と端子接続情報とが記述されているので、このセル名および端子接続情報に合致するセルを、セルライブラリであるセル記憶部702から抽出する。また、セル抽出部705は、挿入部711からのセル取得要求があった場合、取得要求に合致するセルをセル記憶部702から抽出する。この場合の抽出例は、後述する。
また、配置部706は、ネットリスト入力部704によって入力されたネットリストから得られるセルをLSIチップ上に配置する。具体的には、セルの配置は、ネットリストによる接続関係にしたがっておこなわれる。より具体的には、LSIチップを複数の格子に分割して格子ごとにセルのグローバル配置をおこない、その後に、各格子内のセルの詳細配置をおこなう。
ネット抽出部707は、配置部706によって配置されたセルの集合の中から、検査対象となる任意のネットを抽出する。この抽出されたネットがターゲットネットであり、ドライバセルとレシーバセルとの組み合わせによって構成される。
配線長情報抽出部708は、相関情報記憶部703に記憶された相関情報から、ネット抽出部707によって抽出されたネット内のセルの駆動能力に関する情報と相関関係のある配線長情報を抽出する。具体的には、図5に示した相関テーブル500から、ターゲットネット内のセルの駆動能力に関する情報である内部抵抗値RDと相関関係のある配線長情報Lを抽出する。たとえば、このドライバセルは、図6に示したドライバセル601であり、レシーバセルは、図6に示したレシーバセル602である。そして、図6において説明した手法によって、ターゲットネット600内のドライバセル601の配線長情報Lを抽出する。
また、配線長情報算出部709は、ターゲットネット内のドライバセルとレシーバセルとの間に配線される配線の配線長情報を算出する。具体的には、LSIチップ上におけるドライバセルの出力端子の座標位置とレシーバセルの入力端子の座標位置とに基づいて算出する。LSIチップ上の配線は、直交しあうX軸およびY軸に沿っておこなわれる。ここで、配線長情報算出部709による配線長情報の算出例について説明する。図8および図9は、配線長情報算出部709による配線長情報の算出例を示す説明図である。
まず、図8では、ドライバセル801の出力端子Doの座標値は(x1,y1)であり、レシーバセル802の入力端子Riの座標値は(x2,y1)である。したがって、Y座標の値が同一であるため、配線ライン803の配線長情報Lは、ドライバセル801の出力端子DoのX座標値とレシーバセル802の入力端子RiのX座標値の差分として算出される。
一方、図9では、ドライバセル901とレシーバセル902とを接続する配線ライン903は、X軸またはY軸に沿った一直線とはならず、ドライバセル901の出力端子Do(x1,y1)からレシーバセル902の入力端子Ri(x3,y2)までの配線ライン903は、点P(x2,y1)および点Q(x2,y2)で屈曲している。したがって、配線ライン903の配線長情報Lは、点Doと点Pとの距離、点Pと点Qとの距離、および、点Qと点Riとの距離の合計値として算出される。
また、図7において、判定部710は、配線長情報抽出部708によって抽出された配線長情報に基づいて、ネット抽出部707によって抽出されたネットがクロストークを発生するかどうかを判定する。具体的には、図5に示した相関テーブル500から抽出された配線長情報と、配線長情報算出部709によって算出されたターゲットネットの配線長情報とに基づいて、ネット抽出部707によって抽出されたネットがクロストークを発生するかどうかを判定する。
たとえば、図6に示したターゲットネット600の配線長を、配線長情報算出部709によって算出された配線長情報Lbとすると、相関テーブル500から抽出された配線長情報Laが、ターゲットネット600の配線長情報Lbよりも小さい場合、ターゲットネット600はクロストークを発生すると判定する。一方、相関テーブル500から抽出された配線長情報Laが、ターゲットネット600の配線長情報Lb以上の場合、ターゲットネット600はクロストークを発生しないと判定する。
また、検出部712は、ネット抽出部707によって抽出されたネットに、あらかじめバッファやインバータなどの遅延時間抑制セルが含まれているかどうかを検出する。具体的には、ドライバセルとレシーバセルとの間に、遅延時間抑制セルとなるバッファやインバータが配置されているかどうかを検出する。より具体的には、配置されたセルのセル名によって検出する。
そして、削除部713は、検出部712によって遅延時間抑制セルが含まれていることが検出された場合、遅延時間抑制セルをネットから削除する。図10は、検出部712によって遅延時間抑制セルが含まれていることが検出されたターゲットネットと、遅延時間抑制セルが削除されたターゲットネットとを示す説明図である。
図10において、検出部712によって検出されたバッファ1012やインバータ1011、1013は、削除部713によって削除される。この場合、上述した配線長情報算出部709は、削除部713によってバッファ1012やインバータ1011、1013が削除されたターゲットネット1000内において、ドライバセル1001とレシーバセル1002との間の配線ライン1003の配線長情報Lを算出する。
また、変更部714は、ネット抽出部707によって抽出されたネット内のドライバセルの駆動能力が高くなるように、当該駆動能力に関する情報を変更する。具体的には、ドライバセルの駆動能力に関する情報として、たとえば、ドライバセルの内部抵抗値RDを用いる。内部抵抗値RDが高ければ駆動能力は低くなり、内部抵抗値RDが低ければ駆動能力は高くなる。
変更部714は、ドライバセルの内部抵抗値RDが所定値以上であるかどうかを判定する。そして、内部抵抗値RDが所定値以上であると判定された場合、内部抵抗値RDが高くなるように変更する。この変更処理としては、たとえば、内部抵抗値RDを1/2倍にすることにより、駆動能力を2倍にアップする。
ここで、所定値が1000[Ω]で、ターゲットネットの配線長情報Lを0.8[mm]とすると、ドライバセルの内部抵抗値RDが1200[Ω]の場合、図5の相関テーブル500から抽出される配線長情報Lは、0.5[mm]となり、ターゲットネットの配線長情報Lである0.8[mm]以下となるため、バッファを挿入する必要がある。ここで、変更部714により、ドライバセルの内部抵抗値RDを1/2倍して600[Ω]に変更すると、相関テーブル500から抽出される配線長情報Lは、1.0[mm]となり、ネットの配線長である0.8[mm]より大きくなり、バッファを挿入する必要がない。
挿入部711は、配線長情報抽出部708によって抽出された配線長情報に基づいて、クロストーク遅延時間を抑制するバッファまたはインバータなどの遅延時間抑制セルを、ネット抽出部707によって抽出されたネットに挿入する。具体的には、図6に示したように、相関テーブル500から得られた配線長情報L(La)と、ターゲットネット600の配線ライン610の配線長情報L(Lb)とを比較し、相関テーブル500から得られた配線長情報Laが、ターゲットネット600の配線ライン610の配線長情報Lbよりも小さい場合は、ターゲットネット600のドライバセル601から、相関テーブル500から得られた配線長情報La分離れた配線ライン610上の位置に、バッファ603を挿入する。
また、解析部715は、挿入部711によって遅延時間抑制セルが挿入されたターゲットネットのタイミング解析をおこなう。具体的には、解析部715は、遅延モデルを用いてタイミング解析をおこなう。図11は、タイミング解析に用いられる遅延モデルを示すブロック図である。遅延モデル1100は、ドライバセル(NAND回路)1101と、レシーバセル(AND回路)1102とが、配線ライン1103によって接続されて構成されている。また、配線ライン1103は、配線抵抗Rと配線容量Cとを有する。
タイミング解析では、図11に示した遅延モデル1100に従い、それぞれのセル1101、1102のもつ固有な遅延値、出力端子に接続された負荷容量の遅延値、入力スルーレートに依存した遅延値、配線ライン1103による遅延値などを計算する。そして、計算された遅延値が、タイミング制約を満たしているかを解析する。
タイミング解析には、遅延計算に必要なパラメータが、遅延ライブラリに定義されている必要があり、定義されたパラメータと遅延計算式を用いてタイミング計算をおこなう。たとえば、ドライバセル1101の入力端子Aから出力端子Xを通る遅延値Daxは、下記式(1)のように、(a)〜(d)の4つの遅延値の加算によってあらわされる。
Dax=(a)+(b)+(c)+(d)・・・(1)
ここで、(a)は入力スルーレート遅延の遅延値であり、入力波形の傾きによる遅延をあらわしている。(b)はセル内固有遅延の遅延値であり、セルが持つ固有の遅延で、セルにネットが接続されていない無負荷での遅延をあらわしている。また、(c)は負荷容量遅延の遅延値であり、出力端子のドライブと負荷容量の影響による遅延をあらわしている。(d)は配線遅延の遅延値であり、配線ライン1103上を伝送信号が伝播する際に発生する遅延をあらわしている。
ここでは、配線抵抗Rと配線容量Cの積で表したエルモアディレイモデルでの遅延を用いており、大規模で複雑なタイミングでのLSIでは、式(1)のような単純な遅延式では表現できず、実際には複雑な計算式が使用される。また、上述した遅延特性ライブラリにおいて、式(1)の値を、例えば、2次元テーブルとして登録することで、遅延モデル1100を表現することができる。なお、遅延ライブラリには、この他にセル名、ピン名、パス名、駆動能力値、パワータイプ、ピン容量などの遅延計算に必要なパラメータも格納されており、遅延値の算出に用いることができる。
図12は、遅延ライブラリに記憶されている2次元テーブルを示す説明図である。この2次元テーブルを用いることにより、ターゲットネットの入力スルーレートと出力負荷容量を与えることで、ターゲットネットの(b)セル内固有遅延値を得ることができる。
たとえば、図11において、入力端子Aから出力端子Xを経由しレシーバセル1102の入力端子Eまでの遅延値は、入力端子Aに入力される伝送信号の入力スルーレートと出力端子Xにつながる負荷容量から、図12の2次元テーブルを参照して得られたドライバセル1101内の遅延値に、エルモアディレイによるR×Cの配線遅延値を加算した値となる。
解析部715は、上述のようにして算出された遅延値から、ターゲットネットにタイミングエラーが生じているかどうかを解析する。また、論理最適化部716は、解析部715によって解析された解析結果に基づいて、ターゲットネットの論理最適化をおこなう。図13は、タイミングエラーが発生したターゲットネットを示す説明図であり、図14は、図13に示したターゲットネットを論理最適化した説明図である。
解析部715のタイミング解析により、ターゲットネット1300のレシーバセル1302、1303の入力端子1302a、1303aごとに、この入力端子1302a、1303aに到達する到達時刻AAT(Actual Arrival Time)と、入力端子に到達してほしい要求時刻RAT(Required Arrival Time)を算出する。そして、要求時刻RATから到達時刻AATを減算してslackを算出する。
算出されたslackが、ネガティブな値、すなわち負の値をとる場合、ターゲットネット1300にタイミングエラーが発生したことを意味する。たとえば、図13において、セル1301と、負荷の値が「1」であるセル1302との間のパス1304が、slackが−0.4[ns]となるクリティカルパスとすると、このパス1304においてタイミングエラーが発生していることとなる。
また、セル1301と、負荷の値が「5」であるセル1303との間のパス1305のslackが−0.2[ns]とすると、このパス1305においてもタイミングエラーが発生していることとなる。なお、セル1301をドライバセルとした場合の総負荷は、セル1302の負荷の値「1」とセル1303の負荷の値「5」を加算して「6」となる。
そして、パス1304、1305に発生したタイミングエラーを解消するため、負荷の値「1」のバッファ1310を、セル1301とセル1303のパス1305の間に挿入する。図14に示したように、このバッファ1310の挿入により、セル1301をドライバセルとした場合の総負荷は、セル1302の負荷の値「1」とバッファ1310の負荷の値「1」を加算して「2」となる。
この総負荷の減少により、セル1301およびセル1302間のslackが−0.4[ns]から+0.1[ns]というポジティブな値となる。また、図13において、セル1301とセル1303間のslackは−0.2[ns]であるが、バッファ1310の挿入により、図14において、セル1301とバッファ1310間のパス1306のslackは+0.3[ns]というポジティブslackに改善され、タイミングエラーが消去される。同様に、バッファ1310とセル1303間のパス1307のslackも+0.4[ns]というポジティブslackに改善され、タイミングエラーが消去される。
なお、上述したネットリスト入力部704、セル抽出部705、配置部706、ネット抽出部707、配線長情報抽出部708、配線長情報算出部709、判定部710、挿入部711、検出部712、削除部713、変更部714、解析部715、および論理最適化部716は、具体的には、たとえば、図1に示したROM102、RAM103、HD105、FD107等に記録されたプログラムを、CPU101が実行することによってその機能を実現する。
(レイアウト設計処理手順)
つぎに、この発明の実施の形態にかかるレイアウト設計処理手順の一例について説明する。図15は、この発明の実施の形態にかかるレイアウト設計処理手順の一例を示すフローチャートである。なお、許容されるクロストーク遅延時間は、あらかじめ所定のクロストーク遅延時間に設定されているものとする。
図15において、まず、ネットリストが入力された場合(ステップS1501:Yes)、このネットリストに記述されているセルをセル記憶部702(セルライブラリ)から抽出する(ステップS1502)。そして、抽出されたセルを、ネットリストの接続関係にしたがってLSIチップに配置する(ステップS1503)。
つぎに、LSIチップに配置されたセルの集合の中から、ターゲットネットを抽出する(ステップS1504)。このターゲットネットに含まれているセルのスルーレート、内部抵抗値、およびあらかじめ設定されているクロストーク遅延時間を用いて、相関テーブル500から配線長情報Laを抽出する(ステップS1505)。一方、抽出されたターゲットネットの配線長情報Lbを算出する(ステップS1506)。
つぎに、ターゲットネットが、クロストークを発生するかどうかを判定する。すなわち、相関テーブル500から抽出された配線長情報Laが、ターゲットネットの配線長情報Lb以上であるかどうかを判定する(ステップS1507)。相関テーブル500から抽出された配線長情報Laが、ターゲットネットの配線長情報Lb以上の場合(ステップS1507:Yes)、ターゲットネットはクロストークを発生しないこととなり、ステップS1512に移行する。
一方、相関テーブル500から抽出された配線長情報Laが、算出されたターゲットネットの配線長情報Lbよりも小さい場合(ステップS1507:No)、ターゲットネットはクロストークを発生することとなり、図6に示したように、バッファまたはインバータを挿入する(ステップS1508)。このあと、図13に示したように、タイミング解析をおこなう(ステップS1509)。ターゲットネットにタイミングエラーが発生していない場合(ステップS1510:No)、ステップS1512に移行する。
一方、ターゲットネットにタイミングエラーが発生した場合(ステップS1510:Yes)、図14に示したように、論理最適化をおこない(ステップS1511)、タイミングエラーを消去する。そして、LSIチップ上に配置されたセルの集合の中に、未チェックのネットがあるかどうかを検出する(ステップS1512)。未チェックのネットがある場合(ステップS1512:Yes)、ステップS1504に移行して、ターゲットネットとして抽出する。
一方、未チェックのネットがない場合(ステップS1512:No)、LSIチップ上に配置されていないセルがあるかどうかを検出する(ステップS1513)。配置されていないセルがある場合(ステップS1513:Yes)、ステップS1503に移行して、LSIチップ上にセルを配置する。一方、配置されていないセルがない場合(ステップS1513:No)、一連の処理を終了する。
このレイアウト設計処理手順によれば、配線長によって一律にターゲットネットがクロストークを発生するかどうかを判定しているため、セルの自動配置において、平行配線となる箇所の特定のための検索処理や、その箇所に対するクロストーク遅延時間の計算を行う必要がなく、自動配置処理の高速化を図ることができる。
つぎに、この発明の実施の形態にかかるレイアウト設計処理手順の他の例について説明する。図16は、この発明の実施の形態にかかるレイアウト設計処理手順の他の例を示すフローチャートである。この図16に示す処理ステップS1601〜S1604は、図15に示したステップS1505に置き換わる処理ステップである。したがって、図15に示した処理手順については、この処理手順でおこなわれる処理手順と同一であるため説明を省略する。
図15に示したステップS1504によりターゲットネットを抽出した後、図16において、ターゲットネット内のドライバセルの内部抵抗値が所定値以上かどうかを判定する(ステップS1601)。所定値以上でない場合(ステップS1601:No)、相関テーブル500から配線長情報Laを抽出する(ステップS1602)。このあと、図15に示したステップS1506に移行して、配線長情報Lbを算出する。
一方、ターゲットネット内のドライバセルの内部抵抗値が所定値以上である場合(ステップS1601:Yes)、変更部714によって、ドライバセルの駆動能力が上昇するように、内部抵抗値を変更する(ステップS1603)。具体的には、内部抵抗値を1/2倍して駆動能力を2倍にする。そして、相関テーブル500から、変更後の内部抵抗値と相関関係のある配線長情報Laを抽出する(ステップS1604)。このあと、図15に示したステップS1506に移行して、配線長情報Lbを算出する。
このレイアウト設計処理手順によれば、クロストークの発生を判定する前に、ターゲットネットのドライバセルの内部抵抗値を変更するため、ドライバセルの低駆動能力が原因で発生するクロストークを未然に防止することができる。またこれにより、バッファやインバータの挿入数の減少を図ることができ、LSIチップの製造時における部品点数の減少および製造期間の短縮を図ることができる。
つぎに、この発明の実施の形態にかかるレイアウト設計処理手順の別の例について説明する。図17は、この発明の実施の形態にかかるレイアウト設計処理手順の別の例を示すフローチャートである。この図17に示す処理ステップS1701、S1702は、図15に示したステップS1504とステップS1505との間でおこなわれる処理ステップである。したがって、図15に示した処理手順については、この処理手順でおこなわれる処理手順と同一であるため説明を省略する。
図15に示したステップS1504によりターゲットネットを抽出した後、図17において、バッファ(またはインバータ)が含まれているかどうかを検出する(ステップS1701)。ターゲットネット内にバッファ(またはインバータ)が含まれていない場合(ステップS1701:No)、図15に示したステップS1505に移行して、配線長情報Laを抽出する。
一方、ターゲットネット内にバッファ(またはインバータ)が含まれている場合(ステップS1701:Yes)、バッファ(またはインバータ)を削除する(ステップS1702)。このあと、図15に示したステップS1505に移行して、配線長情報Laを抽出する。なお、削除した後にクロストークが発生すると判定された場合(ステップS1507:Yes)でも、ステップS1508においてバッファ(またはインバータ)が挿入されるため、クロストークが発生しないレイアウト設計をおこなうことができる。
このレイアウト設計処理手順によれば、クロストーク遅延時間の抑制に関係のない不要なバッファ(またはインバータ)を、配線長情報Laの抽出前に削除することができるため、バッファやインバータの挿入数の減少を図ることができ、LSIチップの製造時における部品点数の減少および製造期間の短縮を図ることができる。
以上説明したように、この実施の形態にかかるレイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体によれば、LSIチップの詳細配線前に、クロストーク遅延時間の変動を抑制することができるため、詳細配線後にクロストーク遅延時間の変動を低減することができる。その結果、詳細配線後のクロストークによるバイオレーションを調整するためのバッファの挿入や、配線間隔を広げるなどの作業の低減化を図ることができ、TATの短縮化を実現することができる。
また、自動配置の段階で、許容されるクロストーク遅延時間を設定し、そのクロストーク遅延時間を満たす配線長を相関テーブル500から参照し、適切な位置へのバッファ挿入を瞬時におこなうことができ、クロストークの遅延解析による膨大な演算時間を浪費せずに、クロストーク遅延時間の抑制を図ることができる。
なお、本実施の形態で説明したレイアウト設計方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション、CAD等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
(付記1)任意のネットリストの入力を受け付けるネットリスト入力手段と、
前記ネットリスト入力手段によって入力されたネットリストから得られるセルをLSIチップ上に配置する配置手段と、
前記配置手段によって配置されたセルの集合の中から、検査対象となる任意のネットを抽出するネット抽出手段と、
所定の回路モデルの回路シミュレーションをおこなった結果発生したクロストークによって生じる遅延時間に基づいて作成された、前記回路モデルに含まれている各セルの駆動能力に関する情報と、当該セルどうしを接続する配線の配線長情報との相関関係を示す相関情報を記憶する記憶手段と、
前記記憶手段に記憶された相関情報に基づいて、前記ネット抽出手段によって抽出されたネット内のセルの駆動能力に関する情報と相関関係のある配線長情報を抽出する配線長情報抽出手段と、
前記配線長情報抽出手段によって抽出された配線長情報に基づいて、前記遅延時間を抑制する遅延時間抑制セルを前記ネットに挿入する挿入手段と、
を備えることを特徴とするレイアウト設計装置。
(付記2)前記配線長情報抽出手段によって抽出された配線長情報に基づいて、前記ネット抽出手段によって抽出されたネットがクロストークを発生するかどうかを判定する判定手段を備え、
前記挿入手段は、
前記判定手段によって判定された判定結果に基づいて、前記遅延時間抑制セルを前記ネットに挿入することを特徴とする付記1に記載のレイアウト設計装置。
(付記3)前記ネット内のドライバセルとレシーバセルとの間に配線される配線の配線長情報を算出する配線長情報算出手段を備え、
前記判定手段は、
前記配線長情報抽出手段によって抽出された配線長情報と、前記配線長情報算出手段によって算出された配線長情報とに基づいて、前記ネット抽出手段によって抽出されたネットがクロストークを発生するかどうかを判定することを特徴とする付記2に記載のレイアウト設計装置。
(付記4)前記ネット抽出手段によって抽出されたネットに、あらかじめ前記遅延時間抑制セルが含まれているかどうかを検出する検出手段と、
前記検出手段によって遅延時間抑制セルが含まれていることが検出された場合、当該遅延時間抑制セルを前記ネットから削除する削除手段と、を備え、
前記配線長情報算出手段は、
前記削除手段によって遅延時間抑制セルが削除されたネット内における、ドライバセルとレシーバセルとの間に配線される配線の配線長情報を算出することを特徴とする付記3に記載のレイアウト設計装置。
(付記5)前記挿入手段は、
前記判定手段によってクロストークが発生すると判定された場合にのみ、前記遅延時間抑制セルを前記ネットに挿入することを特徴とする付記1〜4のいずれか一つに記載のレイアウト設計装置。
(付記6)前記ネット抽出手段によって抽出されたネット内のドライバセルの駆動能力が高くなるように、当該駆動能力に関する情報を変更する変更手段を備え、
前記配線長情報抽出手段は、
前記相関情報に基づいて、前記変更手段によって変更されたセルの駆動能力に関する情報と相関関係のある配線長情報を抽出することを特徴とする付記1〜5のいずれか一つに記載のレイアウト設計装置。
(付記7)前記遅延時間抑制セルは、バッファまたはインバータのうち少なくともいずれか一方を含むことを特徴とする付記1〜6のいずれか一つに記載のレイアウト設計装置。
(付記8)前記挿入手段によって前記遅延時間抑制セルが挿入されたネットのタイミング解析をおこなう解析手段と、
前記解析手段によってタイミング解析された解析結果に基づいて、前記ネットの論理最適化をおこなう論理最適化手段と、
を備えることを特徴とする付記1〜7のいずれか一つに記載のレイアウト設計装置。
(付記9)任意のネットリストを入力するネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストから得られるセルをLSIチップ上に配置する配置工程と、
前記配置工程によって配置されたセルの集合の中から、検査対象となる任意のネットを抽出するネット抽出工程と、
所定の回路モデルの回路シミュレーションをおこなった結果発生したクロストークによって生じる遅延時間に基づいて作成された、前記回路モデルに含まれている各セルの駆動能力に関する情報と、当該セルどうしを接続する配線の配線長情報との相関関係を示す相関情報に基づいて、前記ネット抽出工程によって抽出されたネット内のセルの駆動能力に関する情報と相関関係のある前記配線長情報を抽出する配線長情報抽出工程と、
前記配線長情報抽出工程によって抽出された配線長情報に基づいて、前記遅延時間を抑制する遅延時間抑制セルを前記ネットに挿入する挿入工程と、
を含んだことを特徴とするレイアウト設計方法。
(付記10)前記配線長情報抽出工程によって抽出された配線長情報に基づいて、前記ネット抽出工程によって抽出されたネットがクロストークを発生するかどうかを判定する判定工程を含み、
前記挿入工程は、
前記判定工程によって判定された判定結果に基づいて、前記遅延時間抑制セルを前記ネットに挿入することを特徴とする付記9に記載のレイアウト設計方法。
(付記11)前記ネット内のドライバセルとレシーバセルとの間に配線される配線の配線長情報を算出する配線長情報算出工程を含み、
前記判定工程は、
前記配線長情報抽出工程によって抽出された配線長情報と、前記配線長情報算出工程によって算出された配線長情報とに基づいて、前記ネット抽出工程によって抽出されたネットがクロストークを発生するかどうかを判定することを特徴とする付記10に記載のレイアウト設計方法。
(付記12)任意のネットリストを入力させるネットリスト入力工程と、
前記ネットリスト入力工程によって入力されたネットリストから得られるセルをLSIチップ上に配置させる配置工程と、
前記配置工程によって配置されたセルの集合の中から、検査対象となる任意のネットを抽出させるネット抽出工程と、
所定の回路モデルの回路シミュレーションをおこなった結果発生したクロストークによって生じる遅延時間に基づいて作成された、前記回路モデルに含まれている各セルの駆動能力に関する情報と、当該セルどうしを接続する配線の配線長情報との相関関係を示す相関情報に基づいて、前記ネット抽出工程によって抽出されたネット内のセルの駆動能力に関する情報と相関関係のある前記配線長情報を抽出させる配線長情報抽出工程と、
前記配線長情報抽出工程によって抽出された配線長情報に基づいて、前記遅延時間を抑制する遅延時間抑制セルを前記ネットに挿入させる挿入工程と、
をコンピュータに実行させることを特徴とするレイアウト設計プログラム。
(付記13)前記配線長情報抽出工程によって抽出された配線長情報に基づいて、前記ネット抽出工程によって抽出されたネットがクロストークを発生するかどうかを判定させる判定工程を含み、
前記挿入工程は、
前記判定工程によって判定された判定結果に基づいて、前記遅延時間抑制セルを前記ネットに挿入させることを特徴とする付記12に記載のレイアウト設計プログラム。
(付記14)前記ネット内のドライバセルとレシーバセルとの間に配線される配線の配線長情報を算出させる配線長情報算出工程を含み、
前記判定工程は、
前記配線長情報抽出工程によって抽出された配線長情報と、前記配線長情報算出工程によって算出された配線長情報とに基づいて、前記ネット抽出工程によって抽出されたネットがクロストークを発生するかどうかを判定させることを特徴とする付記13に記載のレイアウト設計プログラム。
(付記15)付記12〜14のいずれか一つに記載のレイアウト設計プログラムを記録したコンピュータ読み取り可能な記録媒体。
以上のように、本発明にかかるレイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体は、LSIチップのレイアウト設計に有用であり、特に、CADを用いたレイアウト設計に適している。
この発明の実施の形態にかかるレイアウト設計装置のハードウェア構成を示すブロック図である。 クロストークが発生する回路モデルを示すブロック図である。 回路モデルのクロストークによって生じる遅延時間と回路モデル内のセルの入力端子への入力波形を示すスルーレートとの相関関係の一例を示すグラフである。 回路モデル内のセルの内部抵抗値と当該セル間を接続する配線長との相関関係の一例を示すグラフである。 クロストーク遅延時間に基づいて作成された、アグレッサネットのドライバセルの内部抵抗値、アグレッサラインの配線長(情報)、およびビクティムネットのスルーレートの相関関係をあらわす相関テーブルを示す説明図である。 相関テーブルを用いたバッファの挿入例を示す説明図である。 この発明の実施の形態にかかるレイアウト設計装置の機能的構成を示すブロック図である。 配線長情報算出部による配線長情報の一算出例を示す説明図である。 配線長情報算出部による配線長情報の他の算出例を示す説明図である。 検出部によって遅延時間抑制セルが含まれていることが検出されたターゲットネットと、遅延時間抑制セルが削除されたターゲットネットとを示す説明図である。 タイミング解析に用いられる遅延モデルを示すブロック図である。 遅延ライブラリに記憶されている2次元テーブルを示す説明図である。 タイミングエラーが発生したターゲットネットを示す説明図である。 図13に示したターゲットネットを論理最適化した説明図である。 この発明の実施の形態にかかるレイアウト設計処理手順の一例を示すフローチャートである。 この発明の実施の形態にかかるレイアウト設計処理手順の他の例を示すフローチャートである。 この発明の実施の形態にかかるレイアウト設計処理手順の別の例を示すフローチャートである。
符号の説明
200 回路モデル
500 相関テーブル
700 レイアウト設計装置
703 相関情報記憶部
704 ネットリスト入力部
706 配置部
707 ネット抽出部
708 配線長情報抽出部
709 配線長情報算出部
710 判定部
711 挿入部
712 検出部
713 削除部
714 変更部
715 解析部
716 論理最適化部

Claims (10)

  1. 任意のネットリストの入力を受け付けるネットリスト入力手段と、
    前記ネットリスト入力手段によって入力されたネットリストから得られるセルをLSIチップ上に配置する配置手段と、
    前記配置手段によって配置されたセルの集合の中から、検査対象となる任意のネットを抽出するネット抽出手段と、
    所定の回路モデルの回路シミュレーションをおこなった結果発生したクロストークによって生じる遅延時間に基づいて作成された、前記回路モデルに含まれている各セルの駆動能力に関する情報と、当該セルどうしを接続する配線の配線長情報との相関関係を示す相関情報を記憶する記憶手段と、
    前記記憶手段に記憶された相関情報に基づいて、前記ネット抽出手段によって抽出されたネット内のセルの駆動能力に関する情報と相関関係のある配線長情報を抽出する配線長情報抽出手段と、
    前記配線長情報抽出手段によって抽出された配線長情報に基づいて、前記遅延時間を抑制する遅延時間抑制セルを前記ネットに挿入する挿入手段と、
    を備えることを特徴とするレイアウト設計装置。
  2. 前記配線長情報抽出手段によって抽出された配線長情報に基づいて、前記ネット抽出手段によって抽出されたネットがクロストークを発生するかどうかを判定する判定手段を備え、
    前記挿入手段は、
    前記判定手段によって判定された判定結果に基づいて、前記遅延時間抑制セルを前記ネットに挿入することを特徴とする請求項1に記載のレイアウト設計装置。
  3. 前記ネット内のドライバセルとレシーバセルとの間に配線される配線の配線長情報を算出する配線長情報算出手段を備え、
    前記判定手段は、
    前記配線長情報抽出手段によって抽出された配線長情報と、前記配線長情報算出手段によって算出された配線長情報とに基づいて、前記ネット抽出手段によって抽出されたネットがクロストークを発生するかどうかを判定することを特徴とする請求項2に記載のレイアウト設計装置。
  4. 任意のネットリストを入力するネットリスト入力工程と、
    前記ネットリスト入力工程によって入力されたネットリストから得られるセルをLSIチップ上に配置する配置工程と、
    前記配置工程によって配置されたセルの集合の中から、検査対象となる任意のネットを抽出するネット抽出工程と、
    所定の回路モデルの回路シミュレーションをおこなった結果発生したクロストークによって生じる遅延時間に基づいて作成された、前記回路モデルに含まれている各セルの駆動能力に関する情報と、当該セルどうしを接続する配線の配線長情報との相関関係を示す相関情報に基づいて、前記ネット抽出工程によって抽出されたネット内のセルの駆動能力に関する情報と相関関係のある前記配線長情報を抽出する配線長情報抽出工程と、
    前記配線長情報抽出工程によって抽出された配線長情報に基づいて、前記遅延時間を抑制する遅延時間抑制セルを前記ネットに挿入する挿入工程と、
    を含んだことを特徴とするレイアウト設計方法。
  5. 前記配線長情報抽出工程によって抽出された配線長情報に基づいて、前記ネット抽出工程によって抽出されたネットがクロストークを発生するかどうかを判定する判定工程を含み、
    前記挿入工程は、
    前記判定工程によって判定された判定結果に基づいて、前記遅延時間抑制セルを前記ネットに挿入することを特徴とする請求項4に記載のレイアウト設計方法。
  6. 前記ネット内のドライバセルとレシーバセルとの間に配線される配線の配線長情報を算出する配線長情報算出工程を含み、
    前記判定工程は、
    前記配線長情報抽出工程によって抽出された配線長情報と、前記配線長情報算出工程によって算出された配線長情報とに基づいて、前記ネット抽出工程によって抽出されたネットがクロストークを発生するかどうかを判定することを特徴とする請求項5に記載のレイアウト設計方法。
  7. 任意のネットリストを入力させるネットリスト入力工程と、
    前記ネットリスト入力工程によって入力されたネットリストから得られるセルをLSIチップ上に配置させる配置工程と、
    前記配置工程によって配置されたセルの集合の中から、検査対象となる任意のネットを抽出させるネット抽出工程と、
    所定の回路モデルの回路シミュレーションをおこなった結果発生したクロストークによって生じる遅延時間に基づいて作成された、前記回路モデルに含まれている各セルの駆動能力に関する情報と、当該セルどうしを接続する配線の配線長情報との相関関係を示す相関情報に基づいて、前記ネット抽出工程によって抽出されたネット内のセルの駆動能力に関する情報と相関関係のある前記配線長情報を抽出させる配線長情報抽出工程と、
    前記配線長情報抽出工程によって抽出された配線長情報に基づいて、前記遅延時間を抑制する遅延時間抑制セルを前記ネットに挿入させる挿入工程と、
    をコンピュータに実行させることを特徴とするレイアウト設計プログラム。
  8. 前記配線長情報抽出工程によって抽出された配線長情報に基づいて、前記ネット抽出工程によって抽出されたネットがクロストークを発生するかどうかを判定させる判定工程を含み、
    前記挿入工程は、
    前記判定工程によって判定された判定結果に基づいて、前記遅延時間抑制セルを前記ネットに挿入させることを特徴とする請求項7に記載のレイアウト設計プログラム。
  9. 前記ネット内のドライバセルとレシーバセルとの間に配線される配線の配線長情報を算出させる配線長情報算出工程を含み、
    前記判定工程は、
    前記配線長情報抽出工程によって抽出された配線長情報と、前記配線長情報算出工程によって算出された配線長情報とに基づいて、前記ネット抽出工程によって抽出されたネットがクロストークを発生するかどうかを判定させることを特徴とする請求項8に記載のレイアウト設計プログラム。
  10. 請求項7〜9のいずれか一つに記載のレイアウト設計プログラムを記録したコンピュータ読み取り可能な記録媒体。

JP2004178107A 2004-06-16 2004-06-16 レイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体 Expired - Fee Related JP4530731B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004178107A JP4530731B2 (ja) 2004-06-16 2004-06-16 レイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体
US11/024,482 US7367005B2 (en) 2004-06-16 2004-12-30 Method and apparatus for designing a layout, and computer product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004178107A JP4530731B2 (ja) 2004-06-16 2004-06-16 レイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体

Publications (2)

Publication Number Publication Date
JP2006004056A true JP2006004056A (ja) 2006-01-05
JP4530731B2 JP4530731B2 (ja) 2010-08-25

Family

ID=35482020

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004178107A Expired - Fee Related JP4530731B2 (ja) 2004-06-16 2004-06-16 レイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体

Country Status (2)

Country Link
US (1) US7367005B2 (ja)
JP (1) JP4530731B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017135347A (ja) * 2016-01-29 2017-08-03 キヤノン株式会社 半導体装置および電子機器

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007294015A (ja) * 2006-04-25 2007-11-08 Matsushita Electric Ind Co Ltd 半導体集積回路、及びbist回路設計方法
US7614023B2 (en) * 2006-10-25 2009-11-03 Infineon Technologies Ag System for estimating a terminal capacitance and for characterizing a circuit
JP4437824B2 (ja) * 2007-02-13 2010-03-24 富士通株式会社 遅延解析結果表示プログラム
US7904861B2 (en) * 2007-06-13 2011-03-08 International Business Machines Corporation Method, system, and computer program product for coupled noise timing violation avoidance in detailed routing
JP5060991B2 (ja) * 2008-02-22 2012-10-31 株式会社日立製作所 集積回路の設計支援装置、集積回路の設計支援方法、集積回路の設計支援プログラム、及びこのプログラムが記録された記録媒体
US8458640B2 (en) * 2009-08-31 2013-06-04 Synopsys, Inc. Routing using a dynamic grid
US8370782B2 (en) * 2010-06-25 2013-02-05 International Business Machines Corporation Buffer-aware routing in integrated circuit design
US8448123B2 (en) * 2010-10-22 2013-05-21 International Business Machines Corporation Implementing net routing with enhanced correlation of pre-buffered and post-buffered routes
US8667441B2 (en) 2010-11-16 2014-03-04 International Business Machines Corporation Clock optimization with local clock buffer control optimization
US8725483B2 (en) * 2011-01-19 2014-05-13 International Business Machines Corporation Minimizing the maximum required link capacity for three-dimensional interconnect routing
JPWO2012124117A1 (ja) * 2011-03-17 2014-07-17 富士通株式会社 タイミングエラー除去方法、設計支援装置、及びプログラム
US8856495B2 (en) 2011-07-25 2014-10-07 International Business Machines Corporation Automatically routing super-compute interconnects
US9405880B2 (en) * 2014-05-16 2016-08-02 Taiwan Semiconductor Manufacturing Company Limited Semiconductor arrangement formation

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6123388A (ja) * 1984-07-11 1986-01-31 日本電気株式会社 配線経路探索装置
JPH09147009A (ja) * 1995-11-24 1997-06-06 Hitachi Ltd クロストークディレイ決定方法及び平行配線長制限方法
JPH1140677A (ja) * 1997-07-18 1999-02-12 Nec Corp クロストークエラー改善方式及び方法
JP2002259477A (ja) * 2001-03-06 2002-09-13 Mitsubishi Electric Corp 半導体回路設計変更方法
JP2004151929A (ja) * 2002-10-30 2004-05-27 Fujitsu Ltd 半導体装置の設計方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2882359B2 (ja) * 1996-04-27 1999-04-12 日本電気株式会社 レイアウト設計装置
US6832180B1 (en) * 1999-10-29 2004-12-14 Sun Microsystems, Inc. Method for reducing noise in integrated circuit layouts
US7013253B1 (en) * 2000-04-03 2006-03-14 Magma Design Automation, Inc. Method and apparatus for calculation of crosstalk noise in integrated circuits
US6907590B1 (en) * 2001-10-02 2005-06-14 Lsi Logic Corporation Integrated circuit design system and method for reducing and avoiding crosstalk
US6907586B1 (en) * 2001-10-02 2005-06-14 Lsi Logic Corporation Integrated design system and method for reducing and avoiding crosstalk
US6754877B1 (en) * 2001-12-14 2004-06-22 Sequence Design, Inc. Method for optimal driver selection
JP4224541B2 (ja) 2002-03-20 2009-02-18 富士通マイクロエレクトロニクス株式会社 自動配置配線方法、装置及びプログラム
JP2004185374A (ja) * 2002-12-04 2004-07-02 Matsushita Electric Ind Co Ltd クロストークチェック方法
US7073140B1 (en) * 2002-08-30 2006-07-04 Cadence Design Systems, Inc. Method and system for performing crosstalk analysis
US7137093B2 (en) * 2003-08-08 2006-11-14 Cadence Design Systems, Inc. Post-placement timing optimization of IC layout

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6123388A (ja) * 1984-07-11 1986-01-31 日本電気株式会社 配線経路探索装置
JPH09147009A (ja) * 1995-11-24 1997-06-06 Hitachi Ltd クロストークディレイ決定方法及び平行配線長制限方法
JPH1140677A (ja) * 1997-07-18 1999-02-12 Nec Corp クロストークエラー改善方式及び方法
JP2002259477A (ja) * 2001-03-06 2002-09-13 Mitsubishi Electric Corp 半導体回路設計変更方法
JP2004151929A (ja) * 2002-10-30 2004-05-27 Fujitsu Ltd 半導体装置の設計方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017135347A (ja) * 2016-01-29 2017-08-03 キヤノン株式会社 半導体装置および電子機器

Also Published As

Publication number Publication date
US20050283750A1 (en) 2005-12-22
JP4530731B2 (ja) 2010-08-25
US7367005B2 (en) 2008-04-29

Similar Documents

Publication Publication Date Title
JP4530731B2 (ja) レイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体
JP4501728B2 (ja) クロストークエラー制御装置、クロストークエラー制御方法およびクロストークエラー制御プログラム
US20090293033A1 (en) System and method for layout design of integrated circuit
JP4706738B2 (ja) 遅延解析装置、遅延解析方法、及びプログラム
US7552414B2 (en) Layout design apparatus, layout design method, and computer product
JP5359655B2 (ja) 生成方法
JP5167740B2 (ja) 設計支援プログラム、設計支援装置、および設計支援方法
JP2005149273A (ja) 半導体集積回路のフロアプラン装置及びフロアプラン方法
US20060236279A1 (en) Design supporting apparatus, design supporting method, and computer product
US7945882B2 (en) Asynchronous circuit logical verification method, logical verification apparatus, and computer readable storage medium
JP4985323B2 (ja) レイアウト支援プログラム、該プログラムを記録した記録媒体、レイアウト支援装置、およびレイアウト支援方法
JP2008020986A (ja) クロストーク解析方法
JP5136371B2 (ja) 設計支援方法
JP2006344165A (ja) レイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体
US7299437B2 (en) Method and apparatus for detecting timing exception path and computer product
US20080209368A1 (en) Layout design method, layout design apparatus, and computer product
JP4924136B2 (ja) ノイズ解析プログラム、該プログラムを記録した記録媒体、ノイズ解析装置およびノイズ解析方法
JP4946655B2 (ja) 設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置および設計支援方法
JP5050865B2 (ja) セルライブラリ検証プログラム、該プログラムを記録した記録媒体、セルライブラリ検証装置、およびセルライブラリ検証方法
JP4783712B2 (ja) レイアウト設計方法、レイアウト設計プログラムおよびレイアウト設計装置
JP5287540B2 (ja) 回路設計装置および回路設計プログラム
JP4825905B2 (ja) レイアウト設計装置、レイアウト設計プログラム、および記録媒体
JP5565493B2 (ja) 回路設計装置および回路設計プログラム
JP2001290863A (ja) 半導体回路の遅延解析方法及び設計支援装置
JPWO2004079598A1 (ja) 回路配置設計方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070518

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080730

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090902

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091106

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100423

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100511

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: 20100601

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: 20100608

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130618

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140618

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees