JP4501728B2 - クロストークエラー制御装置、クロストークエラー制御方法およびクロストークエラー制御プログラム - Google Patents

クロストークエラー制御装置、クロストークエラー制御方法およびクロストークエラー制御プログラム Download PDF

Info

Publication number
JP4501728B2
JP4501728B2 JP2005064629A JP2005064629A JP4501728B2 JP 4501728 B2 JP4501728 B2 JP 4501728B2 JP 2005064629 A JP2005064629 A JP 2005064629A JP 2005064629 A JP2005064629 A JP 2005064629A JP 4501728 B2 JP4501728 B2 JP 4501728B2
Authority
JP
Japan
Prior art keywords
net
crosstalk
noise source
error
signal level
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005064629A
Other languages
English (en)
Other versions
JP2006251933A (ja
Inventor
伸一 加藤
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2005064629A priority Critical patent/JP4501728B2/ja
Priority to US11/368,467 priority patent/US7367004B2/en
Publication of JP2006251933A publication Critical patent/JP2006251933A/ja
Application granted granted Critical
Publication of JP4501728B2 publication Critical patent/JP4501728B2/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
    • 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
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K1/00Printed circuits
    • H05K1/02Details
    • H05K1/0213Electrical arrangements not otherwise provided for
    • H05K1/0216Reduction of cross-talk, noise or electromagnetic interference

Description

本発明は、LSI(LargeScale Integrated circuit)やPWB(Printed Wiring Board)等の論理回路(あるいは、論理回路の論理接続関係)のレイアウト設計を行うレイアウト方式に関し、特にクロストークエラーを抑制するククロストークエラー制御装置、クロストークエラー制御方法およびクロストークエラー制御プログラムに関するものである。
LSIやPWB等の論理回路(あるいは、論理回路の論理接続関係)のレイアウト設計において、配線ピッチが大きい場合には、隣接配線によるクロストークの影響を考慮する必要がない。
しかしながら、LSIやPWB等の配線パターンの微細化に伴い、配線ピッチが小さくなり、配線ピッチが小さくなると、クロストークの影響を無視することができなくなる。このため、近年では、LSIやPWB等の論理回路(あるいは、論理回路の論理接続関係)のレイアウト設計においても、クロストークの影響を考慮する必要があり、以下に示すようなクロストークエラーの抑制制御が行われていた。
例えば、第1のクロストークエラーの抑制制御としては、配線パターンの配置が終了した際に、その配線パターンの配置結果を基にクロストークの解析処理(隣接配線間によるクロストーク量の計算等)を行い、そのクロストークの解析結果を基に、クロストークエラーが発生しているネット、または、クロストークエラーの発生原因となっているネットの配線パターンを修正し、クロストークエラーの発生を抑制する制御が行われていた。
また、第2のクロストークエラーの抑制制御としては、配線パターンの設計において、各ネットの配線経路が、ある一定線長以上直線的に配線されないように線長制御を行い、クロストークエラーの発生を抑制する制御が行われていた。
なお、本発明より先に出願された技術文献として、各々、駆動セルと被駆動セルとがセル間配線により接続されてなる複数のネットを有する半導体集積回路のタイミング検証に当り、相隣る前記配線間において各信号が同時に遷移するときに発生するクロストークを回避するようにしたクロストーク回避方法であって、前記ネットに関する情報を有するネットリストと、前記各駆動セルの出力信号の立上り及び立下り情報を有するタイミング情報と、前記配線同士が隣接するネット間での駆動セルの駆動能力比基準値を有する基準値情報とを入力とし前記タイミング情報に基づき、クロストークが発生するヴィクティム(クロストークが発生しているネット)及びアグレッサ(クロストークを発生させる原因となるネット)の候補ネットワークを前記ネットリストから抽出する抽出ステップと、前記抽出ステップにおいて抽出された前記候補ネットワークのヴィクティム及びアグレッサの各駆動セルの出力信号波形を計算する計算ステップと、前記計算ステップにおいて得られたヴィクティム及びアグレッサの各駆動セルの出力信号波形に基づいて該両駆動セル間の駆動能力比を計算するとともに、該駆動能力比を是正する必要があるか否かを前記基準値との比較により判定する判定ステップと、前記判定ステップにおいて前記駆動能力比の是正が必要であると判定されたときに、前記駆動能力比が前記基準値を満たすように前記ヴィクティム及び前記アグレッサの各駆動セルの駆動能力を決定する是正ステップとを備え、ヴィクティムの駆動セルの駆動能力変更だけでは最適解の得られないような場合でも、最適な駆動能力を自動的に設定してクロストークによる遅延変動を最小限に抑えられるようにするクロストーク回避方法が開示された文献がある(例えば、特許文献1参照)。
また、被検証レイアウトパターンを規定したレイアウトパターンデータを付与する第1の付与手段と、前記被検証レイアウトパターンに関するデザインルールを付与する第2の付与手段と、クロストークの影響を与え易いトランジスタのサイズに関する第1の基準とクロストークの影響を受け易いトランジスタのサイズに関する第2の基準とを記憶する第1の記憶手段と、前記第1,第2の付与手段及び前記第1の記憶手段に接続され、前記デザインルール及び前記第1,第2の基準を参照しつつ前記レイアウトパターンデータを処理することにより、前記被検証レイアウトパターン中のトランジスタのうち前記第1の基準を満たすトランジスタと前記第2の基準を満たすトランジスタの出力配線パターンのデータを前記レイアウトパターンデータから抽出する第1の抽出手段と、クロストークノイズの大きさに関する第3の基準を記憶する第2の記憶手段と、前記第1の抽出手段及び前記第2の記憶手段に接続され、前記出力配線パターンのデータに基づき、前記第1の基準を満たすトランジスタの出力配線と前記第2の基準を満たすトランジスタの出力配線との重なり/平行部分の配線間容量を算出し、該配線間容量に基づき、前記第2の基準を満たすトランジスタの出力信号の立ち上がり時及び立ち下がり時に生じるクロストークノイズの大きさを求め、該クロストークノイズの大きさが前記第3の基準を越えると、前記重なり/平行部分をエラー箇所として抽出する第2の抽出手段と、前記第2の抽出手段に接続され、前記エラー箇所を目視可能に表示する表示手段とを備え、自動的にクロストークの発生危険箇所の有無の検証を行うことができるクロストーク検証装置が開示された文献がある(例えば、特許文献2参照)。
また、半導体集積回路の出力回路において、電源供給端子と接地端子間に内部ロッジクを挿入し、かつこの内部ロジックと並列にPチャンネルMOSトランジスタおよびNチャンネルMOSトランジスタを接続し、前記内部ロジックの出力側に前記PチャンネルMOSトランジスタおよびNチャンネルMOSトランジスタの双方のゲート電極を接続し、前記PチャンネルMOSトランジスタの電源供給ラインに降圧用の複数のダイオードをそれぞれが順方向で且つ直列に接続し、CMOS ICの出力回路のハイレベル出力電圧を下げ、放射ノイズ、クロストークノイズの発生を抑制する半導体集積回路が開示された文献がある(例えば、特許文献3参照)。
特開2002−259480号公報 特開平5−342305号公報 特開平7−154231号公報
しかしながら、上述した第1のクロストークエラーの抑制制御は、クロストークエラーを発生しているネット、または、そのクロストークエラーを発生しているネットに隣接する隣接ネット(クロストークエラーの発生原因となっているネット)の配線混雑の度合いによっては、配線修正だけではクロストークエラーを除去・抑制しきれない場合がある。また、大幅に配線変更を行う場合には、他配線のクロストークノイズ、パス遅延に影響を与える虞があり、再度、配線を修正しなければいけない場合がある。
また、第2のクロストークエラーの抑制制御は、配線パターンの設計において、各ネットの配線経路がある一定線長以上隣接して直線的に配線されないように線長制御を行う場合には、配線混雑の度合いによっては、クロストークエラーを除去・抑制しきれない場合があり、必要以上に配線の折れ曲がりや迂回を発生させ配線のレイアウトを悪化させてしまう虞がある。
なお、上記特許文献1は、ヴィクティム(クロストークが発生しているネット)及びアグレッサ(クロストークを発生させる原因となるネット)の各駆動セルの駆動能力を是正することで、ヴィクティム側の出力信号波形の波形変動量を低減し、クロストークに起因する遅延変動によるタイミングエラーを回避するものであるが、アグレッサ(クロストークを発生させる原因となるネット)の信号レベルの制御については何ら考慮されたものではない。
また、上記特許文献2は、自動的にクロストークの発生危険箇所の有無の検証を行うことを主眼としたものであるため、クロストークエラーの抑制については何ら考慮されたものではない。
また、上記特許文献3は、出力端子の出力電圧が電源電圧より低下しているCMOS ICがクロストークノイズを抑制するものではあるが、上記特許文献3も特許文献2と同様に、クロストークエラーの抑制については何ら考慮されたものではない。
本発明は上記事情に鑑みてなされたものであり、配線混雑度が高い場合でもクロストークエラーを抑制することが可能なクロストークエラー制御装置、クロストークエラー制御方法およびクロストークエラー制御プログラムを提供することを目的とするものである。
かかる目的を達成するために、本発明は以下の特徴を有することとする。
本発明にかかるクロストークエラー制御装置は、
クロストークエラーを発生しているクロストークエラーネットを検出するクロストーク解析手段と、
前記検出したクロストークエラーネットのノイズ源となるノイズ源ネットを検出するノイズ源ネット検出手段と、
前記検出したノイズ源ネットの信号レベルを降下する降下手段と、
前記降下手段により信号レベルを降下した前記ノイズ源ネット周辺の再配線処理を行う配置配線手段と、
前記ノイズ源ネットの信号レベルの降下により影響を受けることになるネットにおいて、パスの遅延エラーが発生するか否かを判定する遅延解析手段と、
前記信号レベルを降下した前記ノイズ源ネットにおいてクロストークエラーが発生するか否かを判定する解析手段と、を有し、
前記配置配線手段は、
前記遅延解析手段において前記パスの遅延エラーが発生していないと判定し、且つ、前記解析手段において前記クロストークエラーが発生していないと判定した場合に、前記信号レベルを降下した前記ノイズ源ネット周辺の再配線処理を行うことを特徴とする。
本発明にかかるフクロストークエラー制御装置は、
クロストークエラーを発生しているクロストークエラーネットを検出するクロストーク解析手段と、
前記検出したクロストークエラーネットのノイズ源となるノイズ源ネットを検出するノイズ源ネット検出手段と、
前記検出したノイズ源ネットの信号レベルを降下する降下手段と、
前記降下手段により信号レベルを降下した前記ノイズ源ネットの信号レベルを元の信号レベルに戻す降下解除手段と、
前記ノイズ源ネットの信号レベルの降下により影響を受けることになるネットにおいて、パスの遅延エラーが発生するか否かを判定する遅延解析手段と、
前記信号レベルを降下した前記ノイズ源ネットにおいてクロストークエラーが発生するか否かを判定する解析手段と、を有し、
前記降下解除手段は、
前記遅延解析手段において前記パスの遅延エラーが発生していると判定した場合と、前記解析手段において前記クロストークエラーが発生していると判定した場合と、の少なくとも1つの場合に、前記降下手段により信号レベルを降下した前記ノイズ源ネットの信号レベルを元の信号レベルに戻すことを特徴とする。
本発明にかかるクロストークエラー制御方法は、
クロストークエラーの制御を行う情報処理装置において行うクロストークエラー制御方法であって、
クロストークエラーを発生しているクロストークエラーネットを検出するクロストーク解析工程と、
前記検出したクロストークエラーネットのノイズ源となるノイズ源ネットを検出するノイズ源ネット検出工程と、
前記検出したノイズ源ネットの信号レベルを降下する降下工程と、
前記降下工程により信号レベルを降下した前記ノイズ源ネット周辺の再配線処理を行う配置配線工程と、
前記ノイズ源ネットの信号レベルの降下により影響を受けることになるネットにおいて、パスの遅延エラーが発生するか否かを判定する遅延解析工程と、
前記信号レベルを降下した前記ノイズ源ネットにおいてクロストークエラーが発生するか否かを判定する解析工程と、を、前記情報処理装置が行い、
前記配置配線工程は、
前記遅延解析工程において前記パスの遅延エラーが発生していないと判定し、且つ、前記解析工程において前記クロストークエラーが発生していないと判定した場合に、前記信号レベルを降下した前記ノイズ源ネット周辺の再配線処理を行うことを特徴とする。
本発明にかかるクロストークエラー制御方法は、
クロストークエラーの制御を行う情報処理装置において行うクロストークエラー制御方法であって、
クロストークエラーを発生しているクロストークエラーネットを検出するクロストーク解析工程と、
前記検出したクロストークエラーネットのノイズ源となるノイズ源ネットを検出するノイズ源ネット検出工程と、
前記検出したノイズ源ネットの信号レベルを降下する降下工程と、
前記降下工程により信号レベルを降下した前記ノイズ源ネットの信号レベルを元の信号レベルに戻す降下解除工程と、
前記ノイズ源ネットの信号レベルの降下により影響を受けることになるネットにおいて、パスの遅延エラーが発生するか否かを判定する遅延解析工程と、
前記信号レベルを降下した前記ノイズ源ネットにおいてクロストークエラーが発生するか否かを判定する解析工程と、を、前記情報処理装置が行い、
前記降下解除工程は、
前記遅延解析工程において前記パスの遅延エラーが発生していると判定した場合と、前記解析工程において前記クロストークエラーが発生していると判定した場合と、の少なくとも1つの場合に、前記降下工程により信号レベルを降下した前記ノイズ源ネットの信号レベルを元の信号レベルに戻すことを特徴とする。
本発明にかかるクロストークエラー制御プログラムは、
クロストークエラーの制御を行う情報処理装置において実行させるクロストークエラー制御プログラムであって、
クロストークエラーを発生しているクロストークエラーネットを検出するクロストーク解析処理と、
前記検出したクロストークエラーネットのノイズ源となるノイズ源ネットを検出するノイズ源ネット検出処理と、
前記検出したノイズ源ネットの信号レベルを降下する降下処理と、
前記降下処理により信号レベルを降下した前記ノイズ源ネット周辺の再配線処理を行う配置配線処理と、
前記ノイズ源ネットの信号レベルの降下により影響を受けることになるネットにおいて、パスの遅延エラーが発生するか否かを判定する遅延解析処理と、
前記信号レベルを降下した前記ノイズ源ネットにおいてクロストークエラーが発生するか否かを判定する解析処理と、を、前記情報処理装置において実行させ、
前記配置配線処理は、
前記遅延解析処理において前記パスの遅延エラーが発生していないと判定し、且つ、前記解析処理において前記クロストークエラーが発生していないと判定した場合に、前記信号レベルを降下した前記ノイズ源ネット周辺の再配線処理を行うことを特徴とする。
本発明にかかるクロストークエラー制御プログラムは、
クロストークエラーの制御を行う情報処理装置において実行させるクロストークエラー制御プログラムであって、
クロストークエラーを発生しているクロストークエラーネットを検出するクロストーク解析処理と、
前記検出したクロストークエラーネットのノイズ源となるノイズ源ネットを検出するノイズ源ネット検出処理と、
前記検出したノイズ源ネットの信号レベルを降下する降下処理と、
前記降下処理により信号レベルを降下した前記ノイズ源ネットの信号レベルを元の信号レベルに戻す降下解除処理と、
前記ノイズ源ネットの信号レベルの降下により影響を受けることになるネットにおいて、パスの遅延エラーが発生するか否かを判定する遅延解析処理と、
前記信号レベルを降下したノイズ源ネットにおいてクロストークエラーが発生するか否かを判定する解析処理と、を、前記情報処理装置において実行させ、
前記降下解除処理は、
前記遅延解析処理において前記パスの遅延エラーが発生していると判定した場合と、前記解析処理において前記クロストークエラーが発生していると判定した場合と、の少なくとも1つの場合に、前記降下処理により信号レベルを降下した前記ノイズ源ネットの信号レベルを元の信号レベルに戻すことを特徴とする。
本発明によれば配線混雑度が高い場合でもクロストークエラーを抑制することが可能となる。
まず、図1を参照しながら、本実施形態におけるクロストークエラー制御装置について説明する。
本実施形態におけるクロストークエラー制御装置は、少なくとも、クロストークエラーを発生しているクロストークエラーネットを検出するクロストーク解析手段(105)と、そのクロストーク解析手段(105)において検出したクロストークエラーネットのノイズ源となるノイズ源ネットを検出するノイズ源ネット検出手段(106)と、そのノイズ源ネット検出手段(105)において検出したノイズ源ネットの信号レベルを降下するファンクションブロック仮変更手段(降下手段)(107)と、を有し、クロストークエラーネットのクロストークエラーを抑制することを特徴とするものである。これにより、配線混雑度が高い場合でもクロストークエラーを抑制することが可能となる。以下、添付図面を参照しながら、本実施形態におけるクロストークエラー制御装置について説明する。
まず、図1を参照しながら、本実施形態におけるクロストークエラー制御装置について説明する。なお、図1は、本実施形態におけるクロストークエラー制御装置の構成を示すブロック図である。
本実施形態におけるクロストークエラー制御装置は、制御手段(101)と、論理/ライブラリ/配置配線結果入力手段(102)と、クロストーク量制限値入力手段(103)と、遅延制限値入力手段(104)と、クロストーク解析手段(105)と、ノイズ源ネット検出手段(106)と、ファンクションブロック仮変更手段(107)と、遅延解析手段(108)と、ファンクションブロック変更手段(109)と、インクリメンタル配置配線手段(110)と、配置配線結果出力手段(111)と、を有し、論理接続情報(112),物理情報(113),クロストーク解析用ライブラリ情報(114),遅延解析用ライブラリ情報(115),クロストーク量制限値情報(116),遅延制限値情報(117),ファンクションブロック情報(118),配置配線結果情報(119),を取り扱うことになる。
なお、論理接続情報(112)は、ブロック間の論理接続関係を示す情報であり、例えば、図2に示すゲート(201)と、ゲート(202)と、が接続されることを示す論理接続関係を示す情報である。物理情報(115)は、各ゲートの配置位置やゲート接続間の配線位置等を示す情報であり、例えば、図3に示すゲートの配置位置やゲート接続間のネットの配線位置等を示す情報である。クロストーク解析用ライブラリ情報(114)は、クロストーク解析処理の際に用いられる情報である。遅延解析用ライブラリ情報(115)は、遅延解析処理の際に用いられる情報である。クロストーク量制限値情報(116)は、クロストークエラーが発生したネットを検出する際に用いられる情報であり、論理回路の各ネットのクロストーク量制限値を示す情報である。遅延制限値情報(117)は、遅延エラーが発生したネットを検出する際に用いられる情報であり、論理回路の各パスの遅延制限値を示す情報である。ファンクションブロック情報(118)は、ファンクションブロックの変更を行う際に用いられる情報である。配置配線結果情報(119)は、例えば、図3に示すようなレイアウトされた配線の配置結果を示す情報である。
制御手段(101)は、論理/ライブラリ/配置配線結果入力手段(102)と、クロストーク量制限値入力手段(103)と、遅延制限値入力手段(104)と、クロストーク解析手段(105)と、ノイズ源ネット検出手段(106)と、ファンクションブロック仮変更手段(107)と、遅延解析手段(108)と、ファンクションブロック変更手段(109)と、インクリメンタル配置配線手段(110)と、配置配線結果出力手段(111)と、の各手段の統括的な制御を行うものである。
論理/ライブラリ/配置配線結果入力手段(102)は、論理接続情報(112)と、物理情報(113)と、クロストーク解析用ライブラリ情報(114)と、遅延解析用ライブラリ情報(115)と、ファンクションブロック情報(118)と、配置配置結果情報(119)と、を入力するものである。
クロストーク量制限値入力手段(103)は、各ネットのクロストーク量制限値を示すクロストーク量制限値情報(116)を入力するものである。
遅延制限値入力手段(104)は、各パスの遅延制限値を示す遅延制限値情報(117)を入力するものである。
クロストーク解析手段(105)は、論理/ライブラリ/配置配線結果入力手段(102)により入力された配置配線結果情報(119)に存在する全ネット、あるいは、特定のネットに対してクロストーク解析用ライブラリ情報(114)を用いてクロストーク量を算出し、該算出したクロストーク量と、クロストーク量制限値入力手段(103)により入力されたクロストーク量制限値情報(116)と、を比較し、クロストークエラーを発生しているネットを検出するものである。
ノイズ源ネット検出手段(106)は、クロストーク解析手段(105)により解析されたクロストークエラーを発生しているネットに対するノイズ源となっているノイズ源ネットを検出するものである。
ファンクションブロック仮変更手段(107)は、ノイズ源ネット検出手段(106)により検出されたノイズ源ネットに対してクロストークエラーの抑制に適したレベルシフト付きファンクションブロックを、論理/ライブラリ/配置配線結果入力手段(102)により入力されたファンクションブロック情報の中から選択し、該選択したファンクションブロックを、ノイズ源ネットを構成するファンクションブロックとして仮に置き換えるものである。
遅延解析手段(108)は、論理/ライブラリ/配置配線結果入力手段(102)により入力された遅延解析用ライブラリ情報(115)を用いて、論理/ライブラリ/配置配線結果入力手段(102)により入力された配置配線結果情報(119)に存在する全パス、あるいは、特定のネットを通るパスにおけるパスの遅延値を算出し、該算出したパス遅延値と、遅延値入力手段(103)により入力された遅延制限値情報(117)と、を比較し、遅延エラーを発生しているパスを検出するものである。
ファンクションブロック変更手段(109)は、ファンクションブロック仮変更手段(107)により仮に置き換えられたファンクションブロックに変更するか、または、その仮に置き換えられたファンクションブロックを解除するか決定するものである。例えば、ファンクションブロック変更手段(109)は、ファンクションブロック仮変更手段(107)によりファンクションブロックが仮に置き換えられたノイズ源ネット、および、その仮に置き換えられたノイズ源ネットがクロストークノイズの影響を与えることになる周囲のネットを含むパスや個々のネットに対して、インクリメンタルな遅延解析処理を行った結果、新たな遅延エラーが検出されるか、もしくは、クロストーク解析手段(105)によりインクリメンタルなクロストーク解析処理を行った結果、新たなクロストークエラーが検出されたネットがある場合には、ファンクションブロック仮変更手段(107)により仮に置き換えられたファンクションブロックを解除することになる。また、ファンクションブロック変更手段(109)は、上記遅延解析処理を行った結果、遅延エラーが検出されず、尚且つ、クロストーク解析処理を行った結果、クロストークエラーが検出されるネットが無くなるか、クロストーク量が削減された場合に、ファンクションブロック仮変更手段(107)により仮に置き換えられたファンクションブロックに正式に変更する(仮変更から本変更に確定する)ことになる。
インクリメンタル配置配線手段(110)は、ファンクションブロック変更手段(109)により正式に変更になったファンクションブロックに繋がるネットの配線、および、そのファンクションブロックの変更により影響を受ける他のファンクションブロックの変更やネットの配線について再配線処理を行うものである。
配置配線結果出力手段(111)は、ファンクションブロック変更手段(109)、および、インクリメンタル配置配線手段(110)による再配線処理の結果を反映させて論理/ライブラリ/配置配線結果入力手段(102)により入力された配置配線結果情報(119)を更新し、その更新した配置配線結果情報(119)を外部の出力機器に出力するものである。
次に、図2〜図6を参照しながら、本実施形態のクロストークエラー制御装置における制御動作について説明する。なお、図6は、本実施形態のクロストークエラー制御装置の制御動作を示すフロチャートである。また、図2〜図5は、本実施形態のクロストークエラー制御装置における制御動作を説明するためのレイアウト図である。
本実施形態のクロストークエラー制御装置は、制御手段(101)の制御の下で図6に示す制御動作(論理/ライブラリ/配置配線結果入力手段(102)と、クロストーク量制限値入力手段(103)と、遅延制限値入力手段(104)と、クロストーク解析手段(105)と、ノイズ源ネット検出手段(106)と、ファンクションブロック仮変更手段(107)と、遅延解析手段(108)と、ファンクションブロック変更手段(109)と、インクリメンタル配置配線手段(110)と、配置配線結果出力手段(111)と、の処理に基づく動作)を実行することになる。
これにより、本実施形態におけるクロストークエラー制御装置は、図6に示すように、論理接続情報(112)、物理情報(113)、クロストーク解析用ライブラリ情報(114)、遅延解析用ライブラリ情報(115)、ファンクションブロック情報(118)、配置配線結果情報(119)等を入力する情報入力工程(S601)と、クロストーク量制限値情報を入力するクロストーク量制限値情報入力工程(S602)と、遅延制限値情報を入力する遅延制限値情報入力工程(S603)と、クロストークエラーを発生しているネットを検出するクロストークエラーネット検出工程(S604)と、クロストークエラーを発生しているネットのノイズ源となるノイズ源ネットを検出するノイズ源ネット検出工程(S605)と、ノイズ源ネットのファンクションブロックの仮変更を行うファンクションブロック仮変更工程(S606)と、ノイズ源ネットのファンクションブロックの変更に伴い影響を受けるネットにおけるパスの遅延エラーを検出するノイズ源ネット遅延エラー検出工程(S607)と、ノイズ源ネット及びノイズ源ネットのファンクションブロックの変更に伴い影響を受けるネットにおけるクロストークエラーの発生を検出するノイズ源ネットクロストークエラー検出工程(S608)と、ノイズ源ネット遅延エラー検出工程においてパスの遅延エラーを検出したか否かを判定する遅延エラー検出判定工程(S609)、ノイズ源ネットクロストークエラー検出工程においてクロストークエラーの発生を検出したか否かを判定するクロストークエラー検出判定工程(S610)と、ノイズ源ネットのファンクションブロックの変更を行うファンクションブロック変更工程(S611)と、ファンクションブロックの変更を行ったノイズ源ネット周辺の配線の再配置を行う変更ブロック周辺ネット再配線工程(S612)と、クロストークエラーの抑制が完了したか否かを判定するクロストークエラー抑制判定工程(S613)と、ノイズ源ネット周辺の配線の再配置を行った配置配線結果情報の更新及び出力を行う配置配線結果情報更新・出力工程(S614)と、を行うことになる。以下、本実施形態におけるクロストークエラー制御装置の制御動作について詳細に説明する。なお、以下に示すクロストークエラー制御装置における制御動作は、図2に示す、ゲート(201)のブロックと、ゲート(202)のブロックと、ゲート(201)〜(202)のブロックに接続しているネット(203)〜(205)と、からなる論理接続関係の一部分に関するクロストークエラーの抑制制御を例にとり説明する。なお、図2に示す論理接続関係は、一部分のみの配線パターンの配置を示しているが、実際の配線パターンの配置処理は、全ての論理接続関係について行うことになる。
まず、論理/ライブラリ/配置配線結果入力手段(102)は、ゲート間の論理接続関係を示す論理接続情報(112)と、ゲートの配置情報やゲート間接続の配線情報等を示す物理情報(113)と、クロストーク解析処理に用いられるクロストーク解析用ライブラリ情報(114)と、遅延解析処理に用いられる遅延解析用ライブラリ情報(115)と、ファンクションブロックの変更に用いられるファンクションブロック情報(118)と、ゲートの配置配線結果を示す配置配線結果情報(例えば、図3に示す配置配線結果を含む情報)(119)と、を入力することになる(ステップ601)。なお、上記ステップS601において入力された各情報は、図1に示す各手段(101〜111)により参照/更新することになる。
次に、制御手段(101)は、論理/ライブラリ/配置配線結果入力手段(102)により入力された論理接続情報(112)と、物理情報(113)と、を基に、図2に示すゲート(201)のブロックと、ゲート(202)のブロックと、に関する配線パターンの配置処理を行い、図3に示すような配線パターンの配置結果を得ることになる。
即ち、制御手段(101)は、論理接続情報(112)を基に、図3に示すように、ゲート(201)と、ゲート(202)と、が接続されると判断し、ゲート(305)と、ゲート(306)と、が接続されると判断し、ゲート(307)と、ゲート(308)と、が接続されると判断することになる。
また、制御手段(101)は、物理接続情報(113)を基に、図3に示すように、ネット(204、302、303)がハードマクロ(309、310)の間に配置されると判断し、ネット(301)が、ゲート(201)とゲート(202)との間を接続し、ネット(302)が、ゲート(305)とゲート(306)との間を接続し、ネット(303)が、ゲート(307)とゲート(308)との間を接続し、ネット(304)がゲート(305)とゲート(201)との間に配置されると判断することになる。
次に、クロストーク量制限値入力手段(103)は、各ネットのクロストーク量の制限値を示すクロストーク量制限値情報(116)を入力する(ステップ602)。
また、遅延制限値入力手段(104)は、各ネットのパス遅延制限値を示す遅延制限値情報(117)を入力する(ステップ603)。
次に、クロストーク解析手段(105)は、論理/ライブラリ/配置配線結果入力手段(102)により入力されたクロストーク解析用ライブラリ情報(114)を用いて全てのネットについてクロストーク解析処理を行い、クロストークエラーを発生しているネットを検出することになる(ステップ604)。
例えば、クロストーク解析手段(105)は、クロストーク解析用ライブラリ情報(114)を基に、図3に示すネットについてクロストーク解析処理を行い、その解析処理を行ったネットのクロストーク量の値が、クロストーク量制限値入力手段(103)により入力されたクロストーク量制限値情報(116)に示されるクロストーク量制限値を超えているか否かを判断することになる。そして、クロストーク解析手段(105)は、クロストーク解析処理を行ったネットのクロストーク量の値がクロストーク量制限値を超えていると判断した場合は、そのクロストーク量制限値を超えているネットにおいてクロストークエラーが発生していると判断することになり、クロストーク解析処理を行ったネットのクロストーク量の値がクロストーク量制限値を超えていないと判断した場合は、そのクロストーク量制限値を超えていないネットにおいてクロストークエラーが発生していないと判断することになる。これにより、クロストーク解析手段(105)は、クロストークエラーを発生しているネットを検出することになる。
なお、任意のネット(N)のクロストーク量(VN)は、以下の式(1)に示すように、任意のネット(N)と、その任意のネット(N)に隣接するネット(j:jは複数存在するものとする)と、の間のクロストークノイズ量(Zj)の総和で表される(但し、総和記号のΣは、全てのjについての総和を示す)。
VN=ΣZj・・・式(1)
ここで、任意のネット(N)と、その任意のネット(N)に隣接するネット(j)と、の間のクロストーク量(Zj)は、以下の式(2)に示すように、任意のネット(N)と、その任意のネット(N)に隣接するネット(j)と、の間の配線間容量(Cj)に対して単調増加し、尚且つ、その隣接するネット(j)の電圧レベル(Vj)に対して単調増加する関数f(x)となる。
Zj=f(Vj,Cj)・・・式(2)
さらに、任意のネット(N)と、その任意のネット(N)に隣接するネット(j)と、の間の配線間容量(Cj)は、以下の式(3)に示すように、任意のネット(N)と、その任意のネット(N)に隣接するネット(j)と、の隣接間距離(Wj)に対して単調減少する関数g(x)となる。
Cj=g(Wj)・・・式(3)
従って、ある任意のネット(N)のクロストーク量を減少させるためには、任意のネット(N)と、その任意のネット(N)に隣接するネット(j)と、の隣接間距離(Wj)を長くすること、または、その任意のネット(N)に隣接するネット(j)の電圧レベル(Vj)を低くすることが、必要となる。
なお、図3に示すレイアウトの場合において、ネット(301)のクロストークノイズ量を求める場合には、はハードマクロ(309)と、ハードマクロ(310)と、の間を通すことになるため、配線混雑度が高く、ネット(301)のクロストークエラーの発生源となる隣接配線(302、303)との隣接間距離(Wj)を長くすることは困難となる。このため、本実施形態におけるクロストークエラー制御装置は、ある任意のネット(N)のクロストーク量を減少させるために、その任意のネット(N)に隣接するネット(j)の電圧レベル(Vj)を低減させることとする。
なお、以下の説明を簡単にするために、式(2)の関数f(x)、および、式(3)の関数g(x)を、以下に示す単純な式で近似することにする。
f(Vj,Cj)=β・Vj・Cj(但し、βは、正の係数)
g(Wj)=γ/Wj(但し、γは、正の係数)
すなわち、式(2)は、Zj=β・Vj・Cj・・・式(4)となり、式(3)は、Cj=γ/Wj・・・式(5)となる。
従って、式(4)より、Zjは、VjとCjとに比例することになり、式(5)より、Cjは、Wjに反比例することになる。
これにより、クロストーク量を示すVNは、式(1)・・・VN=ΣZjに、式(4)、式(5)を代入し、以下の式(6)となる。
VN=ΣZj=Σ(β・Vj・Cj)=Σ(β・Vj・γ/Wj)=Σ(β・γ・Vj/Wj)=α・Σ(Vj/Wj)・・・式(6)(但し、αはα=β・γの関係を有する正の係数)
なお、ネット(301)が隣接配線(302)から被るクロストーク量(V302)を30αV/Wとし、ネット(301)が隣接配線(303)から被るクロストーク量(V303)を25αV/Wとすると、ネット(301)が被るクロストークノイズ量(V301)は、各隣接配線(302)と、(303)と、のクロストーク量の総和となり、以下のようになる(但し、V,Wは、電圧レベル(Vj)と隣接間距離(Wj)の単位電圧、単位長とする)。
V301=V302+V303=30αV/W+25αV/W=55αV/W
ここで、クロストーク量制限値入力手段(103)により入力されるクロストーク量制限値情報(116)に示されるネット(301)のクロストーク量制限値が、50αV/Wと仮定すると、ネット(301)が被るクロストークノイズ量(V301=55αV/W)は、クロストーク量制限値入力手段(103)により入力されるクロストーク量制限値情報(116)に示されるネット(301)のクロストーク量制限値(50αV/W)より大きくなるため(55αV/W>50αV/W)、クロストーク解析手段(105)は、ネット(301)においてクロストークエラーが発生していると判断することになる。
このため、クロストーク解析手段(105)は、図3に示すレイアウトの場合には、クロストークエラーを発生しているネットとしてネット(301)を検出することになる。
次に、ノイズ源ネット検出手段(106)は、クロストーク解析手段(105)により検出された「クロストークエラーを発生しているネット(301)」のノイズ源となっているノイズ源ネット(クロストークエラーの発生源となるネット)のうち、クロストーク量の値が最も高いノイズ源ネットを検出することになる(ステップ605)。
例えば、ノイズ源ネット検出手段(106)は、図3に示すレイアウトの場合には、クロストーク量の値が30αV/Wであるネット(302)と、クロストーク量の値が25αV/Wであるネット(303)と、を、「クロストークエラーを発生しているネット(301)」のノイズ源ネットとして検出することになり、クロストーク量が30αV/W>25αV/Wであるため、ノイズ源ネット検出手段(106)は、クロストーク量の値が多いネット(302)を、「クロストークエラーを発生しているネット(301)のノイズ源となっているノイズ源ネットのうち、クロストーク量の値が最も高いネット」として検出することになる。
次に、ファンクションブロック仮変更手段(107)は、ノイズ源ネット検出手段(106)により検出された「クロストークエラーを発生しているネット(301)のノイズ源ネットのうち、クロストーク量の最も高いネット(302)」のドライバとレシーバとに対し、ファンクションブロック情報(118)に含まれるファンクションブロック種類(ファンクションブロック種類とは、ファンクションブロックの機能名を示す)を基に、そのファンクションブロック種類の中から電圧レベルを最も降下させるファンクションブロックと、電圧レベルを降下させた後に元の電圧レベルに戻すためのファンクションブロックと、をそれぞれ選択し、該選択した電圧レベルを最も降下させるファンクションブロックを、クロストーク量の最も高いネット(302)のドライバとレシーバとのファンクションブロックとして仮変更することになる(ステップ606)。なお、ファンクションブロックの一種類として、終端抵抗をドライバに直列挿入することでも電圧レベルを降下させることは可能である。
例えば、ファンクションブロック仮変更手段(107)は、図3に示すレイアウトの場合には、クロストークエラーを発生しているネット(301)のノイズ源ネットのうち、クロストーク量の最も高いネット(302)のドライバとなるゲート(305)とレシーバとなるゲート(306)と、を、ファンクションブロック情報(118)に含まれるファンクション種類の中から選択したファンクションブロックに仮変更し、図4に示すように、ネット(302)のドライバとなるゲート(305)を20%だけレベルシフトさせるレベルシフト付きファンクションブロックであるドライバとなるゲート(401)と、ネット(302)のレシーバとなるゲート(306)を20%だけレベルシフトさせるレベルシフト付きファンクションブロックであるレシーバとなるゲート(402)と、に仮変更することになる。
次に、遅延解析手段(108)は、「クロストークエラーを発生しているネット(301)のノイズ源ネットのうち、クロストーク量の最も高いネット(302)」を、ファンクションブロック仮変更手段(107)により仮変更を行ったことに伴い影響を受けることになる全てのネットを通るパスについて、遅延解析用ライブラリ情報(115)を基に、インクリメンタルに遅延解析処理を行い、ノイズ源ネット(302)の仮変更に伴い影響を受けることになる全てのネットを通るパスの遅延値を算出し、該算出したパスの遅延値が、遅延制限値入力手段(103)により入力された遅延制限値情報(117)に示される遅延制限値を超えているか否かを判断し、その遅延解析処理を行い算出したパスの遅延値が、遅延制限値を超えていると判断した場合には、遅延解析処理を行ったネットにおいて遅延エラーが発生していると判断し、その遅延解析処理を行い算出したパスの遅延値が、遅延制限値を超えていないと判断した場合には、遅延解析処理を行ったネットにおいて遅延エラーが発生していないと判断し、遅延解析手段(108)は、ノイズ源ネット(302)をファンクションブロック仮変更手段(107)により仮変更したことに伴い影響を受けることになる全てのネットの中から遅延エラーを発生しているネットを検出することになる(ステップ607)。
次に、クロストーク解析手段(105)は、ファンクションブロック仮変更手段(107)により仮変更を行ったノイズ源ネット(302)、および、ノイズ源ネット(302)の仮変更に伴い影響を受けることになる全てのネットにおいてクロストークエラーの検出処理を行うことになる(ステップ608)。
まず、クロストーク解析手段(105)は、ファンクションブロック仮変更手段(107)により仮変更を行ったノイズ源ネット(302)、および、ノイズ源ネット(302)の仮変更に伴い影響を受けることになる全てのネットに対し、クロストーク解析用ライブラリ情報(114)を基に、インクリメンタルにクロストーク解析処理を行い、該解析処理を行ったクロストーク量の値が、クロストーク量制限値入力手段(103)により入力されたクロストーク量制限値情報(114)により示されるクロストーク量制限値を超えているか否かを判断し、該解析処理を行ったクロストーク量の値が、クロストーク量制限値を超えていると判断した場合には、クロストークエラーが発生したと判断し、該解析処理を行ったクロストーク量の値が、クロストーク量制限値を超えていないと判断した場合には、クロストークエラーが発生しないと判断し、仮変更を行ったノイズ源ネット(302)、および、ノイズ源ネット(302)の仮変更に伴い影響を受けることになる全てのネットに対し、クロストークエラーの検出処理を行うことになる。
次に、ファンクションブロック変更手段(109)は、ステップS607において、遅延解析手段(108)が、ノイズ源ネット(302)のファンクションブロック変更に伴い影響を受けることになる全てのネットの中から遅延エラーを発生しているネットを検出したと判断した場合(ステップS609/Yes)、または、ステップS608において、クロストーク解析手段(105)が、仮変更を行ったノイズ源ネット(302)、および、ノイズ源ネット(302)の仮変更に伴い影響を受けることになるネットの中からクロストークエラーを発生しているネットを検出したと判断した場合(ステップS610/Yes)は、ファンクションブロック変更手段(109)は、ノイズ源ネット(302)に対するファンクションブロックの仮変更を解除することになる。
そして、ファンクションブロック変更手段(109)は、他のファンクションブロック種類の候補があるか否かを判断し(ステップS615)、他のファンクションブロック種類の候補があると判断した場合は(ステップS615/Yes)、ファンクションブロック仮変更手段(107)が、上記仮変更の解除を行ったファンクションブロック種類を除いた他のファンクションブロック種類の中から、再度、別のファンクションブロック種類を選択し、該選択したファンクションブロック種類を基に、ノイズ源ネット(302)に対するファンクションブロックの仮変更を行い(ステップS606)、上述したステップS607〜ステップS610までの処理を再度行うことになる。
また、ファンクションブロック変更手段(109)は、他のファンクションブロック種類の候補が無いと判断した場合には(ステップS615/No)、クロストークエラーを発生しているネット(301)のノイズ源ネットのうち、クロストーク量の最も高いネット(302)」以外のノイズ源ネットが存在するか否かを判断し(ステップS616)、ノイズ源ネット(302)以外のノイズ源ネットが存在すると判断した場合には(ステップS616/Yes)、ノイズ源ネット検出手段(106)は、ノイズ源ネット(302)以外で最もクロストーク量の高い第2のノイズ源ネットを選択し(ステップS605)、該選択した第2のノイズ源ネットを基に、上述したステップS606〜ステップS610までの処理を再度行うことになる。
また、ファンクションブロック変更手段(109)は、ステップS607において、遅延解析手段(108)が、ノイズ源ネット(302)のファンクションブロック変更に伴い影響を受けることになる全てのネットの中から遅延エラーを発生しているネットを検出せず(ステップS609/No)、尚且つ、ステップS608において、クロストーク解析手段(105)が、仮変更を行ったノイズ源ネット(302)、および、ノイズ源ネット(302)の仮変更に伴い影響を受けることになるネットの中からクロストークエラーを発生しているネットを検出しなかったと判断した場合は(ステップS610/No)、ファンクションブロック変更手段(109)は、ファンクションブロック仮変更手段(107)により仮変更したファンクションブロックを確定変更することになる(ステップ611)。
例えば、ファンクションブロック変更手段(109)は、図4に示すレイアウトにおいて、クロストークエラーを発生しているネット(301)のノイズ源ネットのうち、クロストーク量の最も高いノイズ源ネット(302)のドライバとなるゲート(305)と、レシーバとなるゲート(306)と、を、ファンクションブロック仮変更手段(107)により仮変更を行ったファンクションブロックであるドライバとなるゲート(401)とレシーバとなるゲート(402)とに確定変更することになる。
次に、インクリメンタル配線手段(110)は、ファンクションブロック変更手段(109)によるファンクションブロックの確定変更により影響を受けることになる周辺ネットの再配線処理を行い(ステップS612)、クロストークエラーが抑制された配線結果を得ることになる。
例えば、インクリメンタル配線手段(110)は、クロストークエラーを発生しているネット(301)のノイズ源ネットのうち、クロストーク量の最も高いノイズ源ネット(302)をネット(501)に修正し、クロストーク量の最も高いネット(302)の周辺ネット(304)をネット(502)に修正することになる。
このように、インクリメンタル配線手段(110)は、初期のレイアウト結果に対するインクリメンタルな配線処理(実際の配置配線結果を基にファンクションブロックの変更と付随するネットの配線処理)を行うことになる。
次に、クロストークエラーを発生しているネット(301)に対するクロストークエラーの抑制が完了したか否かを判定し(ステップS613)、クロストークエラーを発生しているネット(301)に対するクロストークエラーの抑制が完了していないと判定した場合は(ステップS613/No)、クロストークエラーを発生しているネット(301)のノイズ源ネット(302)のうち、他のノイズ源ネットが存在するか否かを判断し(ステップS616)、ノイズ源ネット(302)以外のノイズ源ネットが存在すると判断した場合には(ステップS616/Yes)、ノイズ源ネット検出手段(106)は、ノイズ源ネット(302)以外で最もクロストーク量の高い第2のノイズ源ネットを選択し(ステップS605)、該選択した第2のノイズ源ネットを基に、上述したステップS606〜ステップS612までの処理を再度行うことになる。
これにより、ノイズ源ネット(302)のファンクションブロックの変更後も、「クロストークエラーを発生しているネット(301)」にてクロストークエラーが検出され、クロストークエラーの抑制が完了していないと判定した場合は、クロストークエラーを発生しているネット(301)のノイズ源ネットのうち、クロストーク量の最も高いネット(302)」以外で最もクロストーク量の高い第2のノイズ源ネット(303)を選択し、該選択した第2のノイズ源ネット(303)を基に、上記ステップS610〜ステップS612までの処理を再度試行することになる。
以上の処理により、例えば、図5に示すファンクションブロック変更結果である、ネット(302)のドライバとなるゲート(305)を20%だけレベルシフトさせるレベルシフト付きファンクションブロックであるドライバとなるゲート(401)と、ネット(302)のレシーバとなるゲート(306)を20%だけレベルシフトさせるレベルシフト付きファンクションブロックであるレシーバとなるゲート(402)と、を用いてノイズ源ネット(302)のファンクションブロック変更後のネット(501)のクロストーク量(V501)と、ネット(301)のクロストーク量(V301)と、を求め直すと以下のようになる。
V501=30・(1−0.2)・V/W=24・V/W
V301=V501+V303=24αV/W+25αV/W=49αV/W
このように、ノイズ源ネット(302)のファンクションブロック変更後のネット(501)のクロストーク量(V501)は、ノイズ源ネット(302)のクロストーク量(V302)よりも低減された結果、ネット(301)のクロストーク量(V301)がクロストーク量制限値50αV/W未満となり、クロストークエラーが抑制されることになる。また、ノイズ源ネット(302)のファンクションブロック変更後のネット(501)のクロストーク量(V501)によっても、ネット(301)のクロストークエラーが抑制されなかった場合には、ネット(303)についてもネット(302)と同様な処理を行い、ファンクションブロックの仮変更を行い、ネット(303)のクロストーク量(V303)を低減し、ネット(301)のクロストーク量(V301)を更に抑制し、クロストーク量制限値未満となるように制御することになる。
最後に、クロストークエラーを発生しているネット(301)に対するクロストークエラーの抑制が完了したと判定した場合は(ステップS613/Yes)、配置配線結果出力手段(111)は、ファンクションブロック変更手段(109)によるファンクションブロックの確定変更による再配線処理結果を反映させて(ファンクションブロックの確定変更による再配線処理結果を得るように)、論理/ライブラリ/配置配線結果入力手段(102)により入力された配置配線結果情報(119)を更新し、その更新した配置配線結果情報(119)を外部の出力機器に出力することになる(ステップ611)。
このように、本実施形態におけるクロストークエラー制御装置は、クロストーク解析手段(105)がクロストークエラーを発生しているネットを検出し(ステップS604)、ノイズ源ネット検出手段(106)が、クロストーク解析手段(105)により検出したクロストークエラーを発生しているネットのノイズ源となるノイズ源ネットを検出し、該検出したノイズ源ネットのうち、最もノイズ量が高いノイズ源ネットを検出し(ステップS605)、ファンクションブロック仮変更手段(107)が、ノイズ源ネット検出手段(106)により検出されたノイズ源ネットのファンクションブロックの仮変更を行い、ノイズ源ネットの信号レベルを降下し(ステップS606)、遅延解析手段(108)が、仮変更を行ったノイズ源ネットの信号レベルを降下したことで影響を受けることになるネットを通る全てのパスで遅延エラーが発生しないことを確認し(ステップS609)、クロストーク解析手段(105)が、仮変更を行ったノイズ源ネットにおいてクロストークエラーが発生しないことを確認し(ステップS610)、ファンクションブロック変更手段(109)が、仮変更を行ったノイズ源ネットのファンクションブロックの確定変更を行い(ステップS611)、インクリメンタル配置配線手段(110)が、ファンクションブロックの確定変更に伴う再配線処理の微修正を行うことで(ステップS612)、クロストークエラーを抑制(望ましくは「除去」)した配線結果を得ることが可能となる。
また、本実施形態におけるクロストークエラー制御装置は、クロストークエラーを抑制した配線結果を得るために行われる抑制制御が、ノイズ源ネットに対するファンクションブロックの変更処理と、そのファンクションブロックの変更に伴うブロック周辺の微少な再配線処理と、の2つの処理のみとなるため、クロストークエラーを抑制する際の変更量を低減させることが可能となり、配線混雑度が高い場合でもクロストークエラーの抑制制御を行うことが可能となる。
これは、ネットの配線経路修正のみでクロストークエラーを改善しようとしても、修正するネットの配線長そのものが長い場合には配線混雑の度合いによってはクロストークエラーの除去または抑制が十分でない場合が考えられるのに対し、本実施形態におけるクロストークエラー制御装置は、ドライバとレシーバとのファンクションブロックの変更処理を行うため、配線混雑領域の配線パターンを変えずにクロストークエラーの抑制を行うことが可能となるためである。
また、本実施形態におけるクロストークエラー制御装置は、初期のレイアウト結果(従来手法によるレイアウト結果)に対するインクリメンタルな再配線処理(実際の配置配線結果情報を基に、ファンクションブロックの変更処理と、そのファンクションブロックの変更に伴う微少な再配線処理)を行うことになるため、クロストークエラーを抑制する際に要する時間を短縮することが可能となる。また、ファンクションブロックの変更処理の際に、クロストークエラーと、遅延エラーと、が発生するか否かを判定しているため、新たなクロストークエラーの発生、もしくは、遅延エラーの発生を低減することが可能となる。
なお、上述する実施形態は、本発明の好適な実施形態であり、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。例えば、上述した実施形態におけるクロストークエラー制御装置における制御処理は、コンピュータプログラムにより実行することも可能であり、また、上記のプログラムは、光記録媒体、磁気記録媒体、光磁気記録媒体、または半導体等の記録媒体に記録し、その記録媒体からプログラムを情報処理装置に読み込ませることで、上述した制御処理を情報処理装置において実行させることも可能である。また、所定のネットワークを介して接続されている外部機器からプログラムを情報処理装置に読み込ませることで、上述した制御処理を情報処理装置において実行させることも可能である。
本発明にかかるクロストークエラー制御装置は、CAD(Computer Aided Design)を用いた、LSI(LargeScale Integrated circuit)やPWB(Printed Wiring Board)等の論理回路(あるいは、論理回路の論理接続関係)のレイアウト設計に適用可能である。
本実施形態におけるクロストークエラー制御装置の構成を示すブロック図である。 図1に示すクロストークエラー制御装置の具体的な処理動作を説明するための第1の図である。 図1に示すクロストークエラー制御装置の具体的な処理動作を説明するための第2の図である。 図1に示すクロストークエラー制御装置の具体的な処理動作を説明するための第3の図である。 図1に示すクロストークエラー制御装置の具体的な処理動作を説明するための第4の図である。 本実施形態におけるクロストークエラー制御装置の制御処理を示すフロチャートである。
符号の説明
101 制御手段
102 論理/ライブラリ/配置配線結果入力手段
103 クロストーク量制限値入力手段
104 遅延制限値入力手段
105 クロストーク解析手段(全/特定ネット)
106 ノイズ源ネット検出手段
107 ファンクションブロック仮変更手段
108 遅延解析手段
109 ファンクションブロック変更手段
110 インクリメンタル配置配線手段
111 配置配線結果出力手段
112 論理接続情報
113 物理情報
114 クロストーク解析用ライブラリ情報
115 遅延解析用ライブラリ情報
116 クロストーク量制限値情報
117 遅延制限値情報
118 ファンクションブロック情報
119 配置配線結果情報

Claims (21)

  1. クロストークエラーを発生しているクロストークエラーネットを検出するクロストーク解析手段と、
    前記検出したクロストークエラーネットのノイズ源となるノイズ源ネットを検出するノイズ源ネット検出手段と、
    前記検出したノイズ源ネットの信号レベルを降下する降下手段と、
    前記降下手段により信号レベルを降下した前記ノイズ源ネット周辺の再配線処理を行う配置配線手段と、
    前記ノイズ源ネットの信号レベルの降下により影響を受けることになるネットにおいて、パスの遅延エラーが発生するか否かを判定する遅延解析手段と、
    前記信号レベルを降下した前記ノイズ源ネットにおいてクロストークエラーが発生するか否かを判定する解析手段と、を有し、
    前記配置配線手段は、
    前記遅延解析手段において前記パスの遅延エラーが発生していないと判定し、且つ、前記解析手段において前記クロストークエラーが発生していないと判定した場合に、前記信号レベルを降下した前記ノイズ源ネット周辺の再配線処理を行うことを特徴とするクロストークエラー制御装置。
  2. クロストークエラーを発生しているクロストークエラーネットを検出するクロストーク解析手段と、
    前記検出したクロストークエラーネットのノイズ源となるノイズ源ネットを検出するノイズ源ネット検出手段と、
    前記検出したノイズ源ネットの信号レベルを降下する降下手段と、
    前記降下手段により信号レベルを降下した前記ノイズ源ネットの信号レベルを元の信号レベルに戻す降下解除手段と、
    前記ノイズ源ネットの信号レベルの降下により影響を受けることになるネットにおいて、パスの遅延エラーが発生するか否かを判定する遅延解析手段と、
    前記信号レベルを降下した前記ノイズ源ネットにおいてクロストークエラーが発生するか否かを判定する解析手段と、を有し、
    前記降下解除手段は、
    前記遅延解析手段において前記パスの遅延エラーが発生していると判定した場合と、前記解析手段において前記クロストークエラーが発生していると判定した場合と、の少なくとも1つの場合に、前記降下手段により信号レベルを降下した前記ノイズ源ネットの信号レベルを元の信号レベルに戻すことを特徴とするクロストークエラー制御装置。
  3. 前記ノイズ源ネット検出手段は、
    前記検出したノイズ源ネットの中から、最もノイズ量が高いノイズ源ネットから順に検出することを特徴とする請求項1または2記載のクロストークエラー制御装置。
  4. 前記降下手段は、前記検出したノイズ源ネットのファンクションブロックの仮変更を行い、前記検出したノイズ源ネットの信号レベルを降下することを特徴とする請求項1から3の何れか1項に記載のクロストークエラー制御装置。
  5. 前記遅延解析手段は、
    前記ノイズ源ネットの信号レベルの降下により影響を受けるネットにおけるパスの遅延値が所定の遅延制限値を超えているか否かを判断し、前記ネットにおけるパスの遅延値が所定の遅延制限値を超えていると判断した際に、前記ネットにおいて、前記パスの遅延エラーが発生したと判定することを特徴とする請求項1から4の何れか1項に記載のクロストークエラー制御装置。
  6. 前記クロストーク解析手段は、
    ネットを解析して得られたクロストーク量の値が、所定のクロストーク量制限値を超えていると判定した際に、前記ネットにおいてクロストークエラーが発生していると判定し、前記クロストークエラーを発生しているクロストークエラーネットを検出することを特徴とする請求項1から5の何れか1項に記載のクロストークエラー制御装置。
  7. 前記解析手段は、
    前記ノイズ源ネットを解析して得られたクロストーク量の値が、所定のクロストーク量制限値を超えていないと判定した際に、前記ノイズ源ネットにおいてクロストークエラーが発生していないと判定することを特徴とする請求項1から6の何れか1項に記載のクロストークエラー制御装置。
  8. クロストークエラーの制御を行う情報処理装置において行うクロストークエラー制御方法であって、
    クロストークエラーを発生しているクロストークエラーネットを検出するクロストーク解析工程と、
    前記検出したクロストークエラーネットのノイズ源となるノイズ源ネットを検出するノイズ源ネット検出工程と、
    前記検出したノイズ源ネットの信号レベルを降下する降下工程と、
    前記降下工程により信号レベルを降下した前記ノイズ源ネット周辺の再配線処理を行う配置配線工程と、
    前記ノイズ源ネットの信号レベルの降下により影響を受けることになるネットにおいて、パスの遅延エラーが発生するか否かを判定する遅延解析工程と、
    前記信号レベルを降下した前記ノイズ源ネットにおいてクロストークエラーが発生するか否かを判定する解析工程と、を、前記情報処理装置が行い、
    前記配置配線工程は、
    前記遅延解析工程において前記パスの遅延エラーが発生していないと判定し、且つ、前記解析工程において前記クロストークエラーが発生していないと判定した場合に、前記信号レベルを降下した前記ノイズ源ネット周辺の再配線処理を行うことを特徴とするクロストークエラー制御方法。
  9. クロストークエラーの制御を行う情報処理装置において行うクロストークエラー制御方法であって、
    クロストークエラーを発生しているクロストークエラーネットを検出するクロストーク解析工程と、
    前記検出したクロストークエラーネットのノイズ源となるノイズ源ネットを検出するノイズ源ネット検出工程と、
    前記検出したノイズ源ネットの信号レベルを降下する降下工程と、
    前記降下工程により信号レベルを降下した前記ノイズ源ネットの信号レベルを元の信号レベルに戻す降下解除工程と、
    前記ノイズ源ネットの信号レベルの降下により影響を受けることになるネットにおいて、パスの遅延エラーが発生するか否かを判定する遅延解析工程と、
    前記信号レベルを降下した前記ノイズ源ネットにおいてクロストークエラーが発生するか否かを判定する解析工程と、を、前記情報処理装置が行い、
    前記降下解除工程は、
    前記遅延解析工程において前記パスの遅延エラーが発生していると判定した場合と、前記解析工程において前記クロストークエラーが発生していると判定した場合と、の少なくとも1つの場合に、前記降下工程により信号レベルを降下した前記ノイズ源ネットの信号レベルを元の信号レベルに戻すことを特徴とするクロストークエラー制御方法。
  10. 前記ノイズ源ネット検出工程は、
    前記検出したノイズ源ネットの中から、最もノイズ量が高いノイズ源ネットから順に検出することを特徴とする請求項8または9記載のクロストークエラー制御方法。
  11. 前記降下工程は
    前記検出したノイズ源ネットのファンクションブロックの仮変更を行い、前記検出したノイズ源ネットの信号レベルを降下することを特徴とする請求項8から10の何れか1項に記載のクロストークエラー制御方法。
  12. 前記遅延解析工程は、
    前記ノイズ源ネットの信号レベルの降下により影響を受けるネットにおけるパスの遅延値が所定の遅延制限値を超えているか否かを判断し、前記ネットにおけるパスの遅延値が所定の遅延制限値を超えていると判断した際に、前記ネットにおいて、前記パスの遅延エラーが発生したと判定することを特徴とする請求項8から11の何れか1項に記載のクロストークエラー制御方法。
  13. 前記クロストーク解析工程は、
    ネットを解析して得られたクロストーク量の値が、所定のクロストーク量制限値を超えていると判定した際に、前記ネットにおいてクロストークエラーが発生していると判定し、前記クロストークエラーを発生しているクロストークエラーネットを検出することを特徴とする請求項8から12の何れか1項に記載のクロストークエラー制御方法。
  14. 前記解析工程は、
    前記ノイズ源ネットを解析して得られたクロストーク量の値が、所定のクロストーク量制限値を超えていないと判定した際に、前記ノイズ源ネットにおいてクロストークエラーが発生していないと判定することを特徴とする請求項8から13の何れか1項に記載のクロストークエラー制御方法。
  15. クロストークエラーの制御を行う情報処理装置において実行させるクロストークエラー制御プログラムであって、
    クロストークエラーを発生しているクロストークエラーネットを検出するクロストーク解析処理と、
    前記検出したクロストークエラーネットのノイズ源となるノイズ源ネットを検出するノイズ源ネット検出処理と、
    前記検出したノイズ源ネットの信号レベルを降下する降下処理と、
    前記降下処理により信号レベルを降下した前記ノイズ源ネット周辺の再配線処理を行う配置配線処理と、
    前記ノイズ源ネットの信号レベルの降下により影響を受けることになるネットにおいて、パスの遅延エラーが発生するか否かを判定する遅延解析処理と、
    前記信号レベルを降下した前記ノイズ源ネットにおいてクロストークエラーが発生するか否かを判定する解析処理と、を、前記情報処理装置において実行させ、
    前記配置配線処理は、
    前記遅延解析処理において前記パスの遅延エラーが発生していないと判定し、且つ、前記解析処理において前記クロストークエラーが発生していないと判定した場合に、前記信号レベルを降下した前記ノイズ源ネット周辺の再配線処理を行うことを特徴とするクロストークエラー制御プログラム。
  16. クロストークエラーの制御を行う情報処理装置において実行させるクロストークエラー制御プログラムであって、
    クロストークエラーを発生しているクロストークエラーネットを検出するクロストーク解析処理と、
    前記検出したクロストークエラーネットのノイズ源となるノイズ源ネットを検出するノイズ源ネット検出処理と、
    前記検出したノイズ源ネットの信号レベルを降下する降下処理と、
    前記降下処理により信号レベルを降下した前記ノイズ源ネットの信号レベルを元の信号レベルに戻す降下解除処理と、
    前記ノイズ源ネットの信号レベルの降下により影響を受けることになるネットにおいて、パスの遅延エラーが発生するか否かを判定する遅延解析処理と、
    前記信号レベルを降下したノイズ源ネットにおいてクロストークエラーが発生するか否かを判定する解析処理と、を、前記情報処理装置において実行させ、
    前記降下解除処理は、
    前記遅延解析処理において前記パスの遅延エラーが発生していると判定した場合と、前記解析処理において前記クロストークエラーが発生していると判定した場合と、の少なくとも1つの場合に、前記降下処理により信号レベルを降下した前記ノイズ源ネットの信号レベルを元の信号レベルに戻すことを特徴とするクロストークエラー制御プログラム。
  17. 前記ノイズ源ネット検出処理は、
    前記検出したノイズ源ネットの中から、最もノイズ量が高いノイズ源ネットから順に検出することを特徴とする請求項15または16記載のクロストークエラー制御プログラム。
  18. 前記降下処理は
    前記検出したノイズ源ネットのファンクションブロックの仮変更を行い、前記検出したノイズ源ネットの信号レベルを降下することを特徴とする請求項15から17の何れか1項に記載のクロストークエラー制御プログラム。
  19. 前記遅延解析処理は、
    前記ノイズ源ネットの信号レベルの降下により影響を受けるネットにおけるパスの遅延値が所定の遅延制限値を超えているか否かを判断し、前記ネットにおけるパスの遅延値が所定の遅延制限値を超えていると判断した際に、前記ネットにおいて、前記パスの遅延エラーが発生したと判定することを特徴とする請求項15から18の何れか1項に記載のクロストークエラー制御プログラム。
  20. 前記クロストーク解析処理は、
    ネットを解析して得られたクロストーク量の値が、所定のクロストーク量制限値を超えていると判定した際に、前記ネットにおいてクロストークエラーが発生していると判定し、前記クロストークエラーを発生しているクロストークエラーネットを検出することを特徴とする請求項15から19の何れか1項に記載のクロストークエラー制御プログラム。
  21. 前記解析処理は、
    前記ノイズ源ネットを解析して得られたクロストーク量の値が、所定のクロストーク量制限値を超えていないと判定した際に、前記ノイズ源ネットにおいてクロストークエラーが発生していないと判定することを特徴とする請求項15から20の何れか1項に記載のクロストークエラー制御プログラム。
JP2005064629A 2005-03-08 2005-03-08 クロストークエラー制御装置、クロストークエラー制御方法およびクロストークエラー制御プログラム Expired - Fee Related JP4501728B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005064629A JP4501728B2 (ja) 2005-03-08 2005-03-08 クロストークエラー制御装置、クロストークエラー制御方法およびクロストークエラー制御プログラム
US11/368,467 US7367004B2 (en) 2005-03-08 2006-03-07 Crosstalk error control apparatus, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005064629A JP4501728B2 (ja) 2005-03-08 2005-03-08 クロストークエラー制御装置、クロストークエラー制御方法およびクロストークエラー制御プログラム

Publications (2)

Publication Number Publication Date
JP2006251933A JP2006251933A (ja) 2006-09-21
JP4501728B2 true JP4501728B2 (ja) 2010-07-14

Family

ID=36972473

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005064629A Expired - Fee Related JP4501728B2 (ja) 2005-03-08 2005-03-08 クロストークエラー制御装置、クロストークエラー制御方法およびクロストークエラー制御プログラム

Country Status (2)

Country Link
US (1) US7367004B2 (ja)
JP (1) JP4501728B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7852325B2 (en) * 2007-01-05 2010-12-14 Apple Inc. RF pulse synchronization for data acquisition operations
JP2008210858A (ja) * 2007-02-23 2008-09-11 Fujitsu Ltd 半導体集積回路の設計方法、設計装置及びcadプログラム
US8418046B2 (en) * 2008-02-13 2013-04-09 Apple Inc. Data signal handling circuitry and methods with error analysis capabilities
JP5287540B2 (ja) * 2009-06-24 2013-09-11 富士通株式会社 回路設計装置および回路設計プログラム
JP2011086267A (ja) * 2009-10-19 2011-04-28 Fujitsu Ltd 設計支援プログラム、設計支援装置、および設計支援方法
CN102346787B (zh) * 2010-07-29 2015-04-08 中山市云创知识产权服务有限公司 信号线串扰信息检查系统及方法
TWI490719B (zh) * 2010-08-03 2015-07-01 Hon Hai Prec Ind Co Ltd 訊號線串擾資訊檢查系統及方法
TWI417755B (zh) * 2010-10-19 2013-12-01 Inventec Corp 電路圖重新佈線方法
US9442597B2 (en) 2012-10-19 2016-09-13 Apple Inc. Sensor-based ESD detection
JP6277697B2 (ja) * 2013-12-09 2018-02-14 富士通株式会社 設計支援装置、入力ベクタ生成方法、および入力ベクタ生成プログラム
US9811204B2 (en) 2014-06-23 2017-11-07 Apple Inc. Time multiplexed touch detection and power charging
US10169523B2 (en) * 2015-08-27 2019-01-01 International Business Machines Corporation Timing constraints formulation for highly replicated design modules
KR102475816B1 (ko) 2016-03-17 2022-12-09 에스케이하이닉스 주식회사 집적회로
US10078723B1 (en) * 2016-09-30 2018-09-18 Cadence Design Systems, Inc. Method and apparatus for design rules driven interactive violation display

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002259480A (ja) * 2001-03-02 2002-09-13 Matsushita Electric Ind Co Ltd クロストーク回避方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2824361B2 (ja) 1992-06-09 1998-11-11 三菱電機株式会社 クロストーク検証装置
JP2707956B2 (ja) * 1993-11-25 1998-02-04 日本電気株式会社 半導体集積回路
JP3175653B2 (ja) * 1997-07-18 2001-06-11 日本電気株式会社 クロストークエラー改善方式及び方法
US6971076B2 (en) * 2001-12-18 2005-11-29 Cadence Design Systems, Inc. Method for estimating peak crosstalk noise based on separate crosstalk model
JP2004021766A (ja) * 2002-06-19 2004-01-22 Fujitsu Ltd 電子回路設計方法及びコンピュータプログラム
JP3974081B2 (ja) * 2003-06-20 2007-09-12 株式会社東芝 ノイズ解析システム、及びノイズ解析方法
JP2006155120A (ja) * 2004-11-29 2006-06-15 Fujitsu Ltd 配線方法、プログラム及び装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002259480A (ja) * 2001-03-02 2002-09-13 Matsushita Electric Ind Co Ltd クロストーク回避方法

Also Published As

Publication number Publication date
JP2006251933A (ja) 2006-09-21
US7367004B2 (en) 2008-04-29
US20060206844A1 (en) 2006-09-14

Similar Documents

Publication Publication Date Title
JP4501728B2 (ja) クロストークエラー制御装置、クロストークエラー制御方法およびクロストークエラー制御プログラム
US5724250A (en) Method and apparatus for performing drive strength adjust optimization in a circuit design
US20110145775A1 (en) Cell library, layout method, and layout apparatus
US8316339B2 (en) Zone-based leakage power optimization
KR100545748B1 (ko) 반도체 집적회로 장치의 설계 방법 및 설계 장치
KR20090077692A (ko) 반도체 장치의 제조 방법, 반도체 장치의 제조 프로그램 및반도체 장치의 제조 시스템
EP3239865A1 (en) Method for analyzing ir drop and electromigration of ic
JP2009237972A (ja) 半導体装置、その設計方法及び設計装置
US7367005B2 (en) Method and apparatus for designing a layout, and computer product
US6584607B2 (en) Method of performing timing-driven layout
US20080148213A1 (en) Routing method for reducing coupling between wires of an electronic circuit
JP2004185374A (ja) クロストークチェック方法
JP2005149273A (ja) 半導体集積回路のフロアプラン装置及びフロアプラン方法
US8006208B2 (en) Reducing coupling between wires of an electronic circuit
US20080209368A1 (en) Layout design method, layout design apparatus, and computer product
US7191416B2 (en) System and method for modifying integrated circuit hold times
JP2003281212A (ja) 自動配置配線方法、装置及びプログラム
JP5309538B2 (ja) 半導体集積回路の設計方法
JP2008250583A (ja) レイアウト設計装置及びレイアウト方法
JP5056650B2 (ja) 電圧変動量見積方法、装置、半導体装置動作検証装置、半導体装置設計方法、プリント板設計方法、及びプログラム
US7509603B2 (en) Semiconductor integrated circuit and design method thereof
JP2011077426A (ja) 半導体装置の製造方法及び半導体装置
JP4778339B2 (ja) 自動配置方法、装置、及びプログラム
JP2008123458A (ja) 半導体集積回路の設計方法
JP2004096103A (ja) 半導体集積回路装置の設計方法および設計装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100119

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100303

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

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

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130430

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140430

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees