JP2010160598A - 集積回路設計装置、設計方法およびプログラム - Google Patents

集積回路設計装置、設計方法およびプログラム Download PDF

Info

Publication number
JP2010160598A
JP2010160598A JP2009001368A JP2009001368A JP2010160598A JP 2010160598 A JP2010160598 A JP 2010160598A JP 2009001368 A JP2009001368 A JP 2009001368A JP 2009001368 A JP2009001368 A JP 2009001368A JP 2010160598 A JP2010160598 A JP 2010160598A
Authority
JP
Japan
Prior art keywords
scan path
scan
wiring length
macro
terminal
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
JP2009001368A
Other languages
English (en)
Other versions
JP5431737B2 (ja
Inventor
Takashi Goto
崇 後藤
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 JP2009001368A priority Critical patent/JP5431737B2/ja
Priority to US12/630,619 priority patent/US8365126B2/en
Publication of JP2010160598A publication Critical patent/JP2010160598A/ja
Application granted granted Critical
Publication of JP5431737B2 publication Critical patent/JP5431737B2/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/39Circuit design at the physical level

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】 スキャンパスの端子位置として、スキャンパス総配線長を短縮するための最適な配置位置を得られない。
【解決手段】 レイアウト情報を参照して各マクロのスキャンイン端子およびスキャンアウト端子の仮配置位置の決定を行い、当該決定に基づいてレイアウト情報を更新し、スキャンイン外部端子および複数のマクロについて、更新されたレイアウト情報とスキャンパス接続情報とを参照して、スキャンイン外部端子を始点に順次最も近い距離に配置されているマクロを接続するようにスキャンパス接続情報を更新し、更新されたレイアウト情報と更新されたスキャンパス接続情報とを参照して、スキャンパス総配線長が最も短くなるようにスキャンパス接続順の決定を行い、当該決定に基づいて更新されたスキャンパス接続情報をさらに更新するスキャンパス付替部とを有する。
【選択図】 図1

Description

本発明は集積回路設計装置、設計方法およびプログラムに関し、特に、配線長の最適化に係る集積回路設計装置、設計方法およびプログラムに関する。
例えばLSI(Large Scale Integration)などの大規模な集積回路のレイアウト設計において、チップをマクロ(ブロックとも呼ばれる)という設計単位に分割し、各マクロのレイアウト処理を並列的に行う階層レイアウト設計を行うことにより設計期間を短縮する方法が広く用いられている。
階層レイアウト設計の処理手順として、まずチップデータの階層構造を決定したのち、マクロブロックのLSI上での位置や大きさ、マクロブロックの端子位置を決定し(フロアプラン処理)、この決定された端子位置に従ってのトップレイアウト(マクロブロック間の配線処理)、およびマクロブロック内のレイアウト処理と配線処理とを行うといった、トップダウン的な手順が広く用いられている。
このようなLSIのレイアウト設計において、マクロブロックの端子位置は各マクロの接続関係や大きさ、相対位置関係を元にして、なるべくマクロ間の配線経路が最短となるよう決定される。
例えば、階層レイアウト設計の関連技術が特許文献1に記載されている。特許文献1に記載された自動配置配線処理方法は、上述した階層レイアウト設計により得られるマクロブロック内の配置配線結果を参照し、改めてマクロ端子位置を再決定する過程により、マクロ間配線の迂回を抑制するものである。
また、レイアウト設計の関連技術が特許文献2に記載されている。特許文献2に記載されたレイアウト設計方法は、スキャンパス長を考慮したスキャンフリップフロップの接続順序の決定とスキャンパス間のノードの交換とを行うステップにより、総スキャンパス長を削減するものである。
以上説明した技術の具体例について、図25および図26を用いて説明する。
図25はLSIのレイアウト時におけるスキャンパス接続順および端子位置を示している。
LSIレイアウト対象となるマクロA、B、CおよびDがLSI内に配置されており、LSIの外部スキャンイン端子SIとLSIのスキャンアウト外部端子SOとがLSI外周に配置されている。
各マクロA〜Dもそれぞれスキャンイン端子SIA〜SIDとスキャンアウト端子SOA〜SODとを有しており、マクロA、マクロB、マクロCおよびマクロDの外周にそれぞれスキャンイン端子SIAとスキャンアウト端子SOA、スキャンイン端子SIBとスキャンアウト端子SOB、スキャンイン端子SICとスキャンアウト端子SOCおよびスキャンイン端子SIDとスキャンアウト端子SODが配置されている。
スキャンパス接続順はフロアプランを行う前の論理設計の段階で決定され、各マクロのスキャンイン端子は、必ず外部スキャンイン端子あるいは別のマクロのスキャンアウト端子のどれか1つのみに接続される。また、スキャンアウト端子は、必ず外部スキャンアウト端子あるいは別のマクロのスキャンイン端子のどれか1つのみに接続される。
図25の例ではスキャンパスはスキャンイン端子SIを始点として、マクロC→マクロD→マクロA→マクロB→スキャンアウト端子SOの順に接続されている。以下、マクロ間のスキャンパス接続順ついては、例えば「スキャンイン端子SI→マクロC→マクロD→マクロA→マクロB→スキャンアウト端子SO」を「SI−C−D−A−B−SO」のように簡略化して表記する。
ここで、各マクロのスキャンイン端子SIA、SIB、SIC、SIDや、スキャンアウト端子SOA、SOB、SOC、SODの位置は、その他の端子と同様、端子間の距離が最短となるような位置に配置されている。
次に、図25のフロアプランを基にスキャン付け替えを実施した後のレイアウトを図26に示す。スキャンパスは、それ自身の特徴として、パス中の全てのシフトレジスタ(およびそれを内包するマクロ)が一筆書き状に接続されていれば良く、その接続順については特に制約されないことが多い。このようなケースにおいて、スキャンパスは、位置が確定したマクロ端子やシフトレジスタの配置位置を考慮して、スキャンパス総配線長が短くなるように接続順の付け替え(スキャン付け替え)を行うことが可能であり、自動化による付け替え処理が一般的に行われている。
付け替え処理により、スキャンパスは、図26に示すようにSI−A−B−C−D−SOの順に接続される。これが、本レイアウトにおける最適な接続順であり、スキャンパス総配線長の最適解である。
特開平07−147324号公報 特開平09−305642号公報
しかしながら、上述した特許文献1あるいは2に記載された技術では、スキャンパスに接続する端子がスキャンパス最適化前の論理接続情報を参照して決定されること、即ちフロアプラン処理前の論理設計時点で決定されることへの対処ができなかった。このため、スキャンパスの端子位置として、スキャンパス総配線長を短縮するための最適な配置位置を得られない、即ちここで得られるスキャンパス総配線長の最適解は、スキャンパス総配線長を更に短縮する余地を残したものとなる場合があるという問題があった。
具体的な例として、図26を参照すると、スキャンイン外部端子SIとマクロAのスキャンイン端子SIAとの間およびスキャンアウト外部端子SOとマクロDのスキャンアウト端子SODとの間は必ずしも最短距離ではないことが判る。
本発明の目的は上述の問題点を解決し、配線長の最適化を可能とした集積回路設計装置、設計方法およびプログラムを提供することにある。
本発明の集積回路設計装置は、集積回路内のレイアウトを示すレイアウト情報を記憶するレイアウト情報記憶部と、
集積回路内のスキャンパス情報を示すスキャンパス接続情報を記憶するスキャンパス接続情報記憶部と、
前記レイアウト情報を参照して各マクロのスキャンイン端子およびスキャンアウト端子の仮配置位置の決定を行い、当該決定に基づいて前記レイアウト情報を更新するマクロ信号端子位置決定部と、
スキャンイン外部端子および複数の前記マクロについて、前記マクロ信号端子位置決定部により更新されたレイアウト情報と前記スキャンパス接続情報とを参照して、前記スキャンイン外部端子を始点に順次最も近い距離に配置されている前記マクロを接続するように前記スキャンパス接続情報を更新する初期スキャンパス経路決定部と、
前記マクロ信号端子位置決定部により更新されたレイアウト情報と前記初期スキャンパス経路決定部により更新されたスキャンパス接続情報とを参照して、スキャンパス総配線長が最も短くなるようにスキャンパス接続順の決定を行い、当該決定に基づいて前記初期スキャンパス経路決定部により更新されたスキャンパス接続情報を更新するスキャンパス付替部とを有する。
本発明の設計方法は、集積回路内のレイアウトを示すレイアウト情報を参照して各マクロのスキャンイン端子およびスキャンアウト端子の仮配置位置の決定を行い、当該決定に基づいて前記レイアウト情報の第1更新を実施し、
スキャンイン外部端子および複数の前記マクロについて、前記第1更新されたレイアウト情報および集積回路内のスキャンパス情報を示すスキャンパス接続情報を参照して、前記スキャンイン外部端子を始点に順次最も近い距離に配置されている各前記マクロを接続するようにスキャンパス接続情報の第1更新を実施し、
前記第1更新されたレイアウト情報と前記第1更新されたスキャンパス接続情報とを参照して、スキャンパス総配線長が最も短くなるようにスキャンパス接続順の決定を行い、当該決定に基づいて前記第1更新されたスキャンパス接続情報の第2更新を実施する。
本発明のプログラムは、集積回路内のレイアウトを示すレイアウト情報を参照して各マクロのスキャンイン端子およびスキャンアウト端子の仮配置位置の決定を行い、当該決定に基づいて前記レイアウト情報の第1更新を実施し、
スキャンイン外部端子および複数の前記マクロについて、前記第1更新されたレイアウト情報および集積回路内のスキャンパス情報を示すスキャンパス接続情報を参照して、前記スキャンイン外部端子を始点に順次最も近い距離に配置されている各前記マクロを接続するようにスキャンパス接続情報の第1更新を実施し、
前記第1更新されたレイアウト情報と前記第1更新されたスキャンパス接続情報とを参照して、スキャンパス総配線長が最も短くなるようにスキャンパス接続順の決定を行い、当該決定に基づいて前記第1更新されたスキャンパス接続情報の第2更新を実施する処理 をコンピュータに実行させる。
本発明には、スキャンパス総配線長を更に短縮する余地を低減したスキャンパス総配線長の最適解を導出するスキャンパス接続情報を得ることができるという効果がある。
本発明の第1の実施形態の構成を示すブロック図である。 本発明の第1および第2の実施形態における処理対象LSI例の論理的な接続を示す図である。 本発明の第1および第2の実施形態における論理接続情報の構造を示す図である。 本発明の第1および第2の実施形態における処理対象LSI例の物理的な構造を示す図である。 本発明の第1および第2の実施形態におけるレイアウト情報の構造を示す図である。 本発明の第1および第2の実施形態におけるスキャンパス接続情報の構造を示す図である。 本発明の第1の実施形態のマクロ信号端子位置決定部により決定されたマクロのスキャンイン、スキャンアウト端子位置を示す図である。 本発明の第1の実施形態のマクロ信号端子位置決定部により更新されたレイアウト情報の端子レイアウト情報を示す図である。 本発明の第1および第2の実施形態における処理対象LSI例の物理的な構造を各部分の距離を含めて示す図である。 本発明の第1および第2の実施形態における接続距離テーブルの構造を示す図である。 本発明の第1の実施形態の全体の動作を示すフローチャートである。 本発明の第1および第2の実施形態の初期スキャンパス経路決定部により変更されたスキャンパス接続情報を示す図である。 本発明の第1および第2の実施形態の初期スキャンパス経路決定部により変更されたスキャンパス接続情報に基づいたスキャンパスの接続イメージである。 本発明の第1および第2の実施形態のスキャンパス付け替えにより変更されたスキャンパス接続情報を示す図である。 本発明の第1および第2の実施形態のスキャンパス付け替えにより変更されたスキャンパス接続情報に基づいたスキャンパスの接続イメージである。 本発明の第2の実施形態の実施形態の構成を示すブロック図である。 本発明の第2の実施形態のマクロ信号端子位置決定部により決定されたマクロのスキャンイン、スキャンアウト端子位置を示す図である。 本発明の第2の実施形態のマクロ信号端子位置決定部により更新されたレイアウト情報の端子レイアウト情報を示す図である。 本発明の第1および第2の実施形態の論理接続情報更新部により、スキャンパス付け替え部により更新されたスキャンパス接続情報の内容に基づいてスキャンパスを接続するように、更新された処理対象LSI例の論理的な接続を示す図である。 本発明の第1および第2の実施形態の論理接続情報更新部により更新された論理接続情報を示す図である。 本発明の第1および第2の実施形態のマクロスキャン端子位置決定部により、スキャンイン端子およびスキャンアウト端子を移動された、処理対象LSI例のレイアウトを示す図である。 本発明の第1および第2の実施形態のマクロスキャン端子位置決定部により、更新されたレイアウト情報の端子レイアウト情報を示す図である。 本発明の第2の実施形態の実施形態の全体の動作を示すフローチャートである。 本発明の第2の実施形態のスキャンパス付替部の構成を示すブロック図である。 背景技術における、LSIレイアウト時の、スキャンパス接続順、および端子位置を示す図である。 背景技術における、LSIレイアウト時の、スキャンパス接続順、および端子位置を示す図である。
次に、本発明の実施形態について図面を参照して詳細に説明する。
以下の説明では、例えば図2に示すような論理的な接続を有し、例えば図4に示すような物理的な構造を有する、スキャンイン外部端子SI、スキャンアウト外部端子SO、マクロA、マクロB、マクロCおよびマクロDからなるLSIを例にして説明する。尚、本実施形態は、対象とするLSIのマクロの数、論理的な接続、物理的な配置、マクロ以外のその他一般セル、IOセルおよびそれらの端子などについて、上記の例によって限定されるものではない。
図1は、本発明の第1の実施形態を示すブロック図である。図1を参照すると本発明の第1の実施形態は、マクロ信号端子位置決定部103、初期スキャンパス経路決定部104、スキャンパス付替部105、レイアウト情報記憶部122およびスキャンパス接続情報記憶部123から構成されている。
ここで、各構成要素の説明の前に、各構成要素が参照、生成、更新するデータの構造について説明する。
レイアウト情報202は、例えば、図4に示すようなスキャンイン外部端子SI、スキャンアウト外部端子SOおよびマクロA〜Dのレイアウトに関する情報を、図5に示すようなデジタル情報に変換したものである。
図5に示す例では、レイアウト情報202は、LSIレイアウト情報2021、マクロレイアウト情報2022、端子レイアウト情報2023とからなる。そして、LSIレイアウト情報2021は、LSIの位置および大きさの情報を含む。また、マクロレイアウト情報2022は、マクロA〜Dの位置および大きさの情報を含む。また、端子レイアウト情報2023は、スキャンイン外部端子SIとスキャンアウト外部端子SO、マクロA〜Dのスキャンイン端子SIA〜SID、スキャンアウト端子SOA〜SOD、一般信号端子DIA、一般信号端子DIB、一般信号端子DICおよび一般信号端子DODそれぞれの端子位置情報および配置状態とを含む。
スキャンパス接続情報203は、図6に示すように、マクロ名/スキャン外部端子名と、各マクロ名に対応するスキャンイン端子名およびスキャンアウト端子名と、これらのマクロ名/スキャン外部端子名で示されるマクロA〜D/スキャンイン外部端子SI、スキャンアウト外部端子SOの接続順とを含む。
接続距離テーブル204は、図10に示すように、スキャンイン外部端子SI、スキャンアウト外部端子SOおよびマクロA〜D間の互いの距離の情報を含む。
マクロ信号端子位置決定部103は、レイアウト情報202を参照し、スキャンイン端子SIA〜SID、スキャンアウト端子SOA〜SODの仮配置位置の決定を行い、この決定に基づいてレイアウト情報202を更新する。
初期スキャンパス経路決定部104は、マクロ信号端子位置決定部103により更新されたレイアウト情報202とスキャンパス接続情報203とに基づいて、互いの距離が近いマクロA〜Dを接続するようにスキャンパスの接続経路の決定を行い、この決定に基づいてスキャンパス接続情報203を更新する。
スキャンパス付替部105は、初期スキャンパス経路決定部104により更新されたスキャンパス接続情報203とマクロ信号端子位置決定部103により更新されたレイアウト情報202とに基づいて、スキャンパス総配線長(スキャンイン外部端子SI、スキャンアウト外部端子SOおよび各マクロA〜Dの辺間のスキャンパス経路の合計距離)が最も短くなるようにスキャンパス接続順の決定を行い、この決定に基づいてスキャンパス接続情報203を更新する。
レイアウト情報記憶部122およびスキャンパス接続情報記憶部123は、それぞれレイアウト情報202およびスキャンパス接続情報203を記憶する。尚、レイアウト情報記憶部122およびスキャンパス接続情報記憶部123のうちのいずれか一つ以上は、マクロ信号端子位置決定部103、初期スキャンパス経路決定部104またはスキャンパス付替部105のいずれかに含まれるように構成されていてもよい。あるいは、レイアウト情報記憶部122およびスキャンパス接続情報記憶部123のうちのいずれか一つ以上は、図示しない記憶部に纏めて含まれるように構成されていてもよい。
次に本実施形態の動作を、図1〜15を参照し、具体的な例を示して更に詳細に説明する。
図11は、本実施形態の全体の動作を示すフローチャートである。
前提として、レイアウト情報202およびスキャンパス接続情報203は、それぞれ図5および図6に示す内容が格納されているものとする。
尚、図5に示す初期状態のレイアウト情報202において、LSIおよびマクロA〜Dの位置および大きさとスキャンイン外部端子SIとスキャンアウト外部端子SOの端子位置とには決定された内容が格納されている。そして、マクロA〜Dのスキャンイン端子SIA〜SIDとスキャンアウト端子SOA〜SOD端子位置とはまだ決定されていない状態であるため、有効な内容が格納されておらず、配置状態には「配置未」が格納されている。
また、図6に示す初期状態のスキャンパス接続情報203において、接続順は図2に示すLSIの論理的な接続を反映したものであり、図4に示すLSIの物理的な構造は考慮されていない状態である。
まず、マクロ信号端子位置決定部103は、レイアウト情報202を参照し、スキャンイン端子SIA〜SID、スキャンアウト端子SOA〜SODの仮配置の決定を行い、この決定に基づいてレイアウト情報202を更新する(ステップS302)。
マクロ信号端子位置決定部103により決定されたマクロA〜Dのスキャンイン、スキャンアウト端子位置を図7に示す。スキャンイン端子SIA〜SID、スキャンアウト端子SOA〜SODはそれぞれのマクロA〜Dの重心上に仮配置されている。尚、図7では、スキャンイン端子SIAとスキャンアウト端子SOAは、識別可能とするために部分的に重なって(部分的にずれて)記載されているが、実際には、同じ重心位置に重なって配置されている。また、マクロ信号端子位置決定部103により更新されたレイアウト情報202の端子レイアウト情報2023を図8に示す。
次に初期スキャンパス経路決定部104は、スキャンパス接続情報203とマクロ信号端子位置決定部103により変更されたレイアウト情報202とを参照し、互いの距離が近いマクロA〜D同士が接続されるようにスキャンパスの接続の決定を行い、この決定に基づいてスキャンパス接続情報203を更新する(ステップS304)。
詳細な手順について一例を示すと、まず、マクロA〜D、スキャンイン外部端子SIおよびスキャンアウト外部端子SO間の互いの距離それぞれについて、最短距離の値を算出し、初期スキャンパス経路決定部104内の接続距離テーブル204に格納する。図9に示すレイアウトにおいては、スキャンイン外部端子SIからマクロAの辺までの最短距離は「1」が登録され、マクロBまでの最短距離は「6」が登録される。他の端子間の最短距離についても同様にして登録される。
初期スキャンパス経路決定部104により登録された接続距離テーブル204を図10に示す。
続けて、初期スキャンパス経路決定部104は、接続距離テーブル204を参照して、スキャンイン外部端子SIから順に一番近い距離のマクロA〜Dを1つずつ選択する。その際、初期スキャンパス経路決定部104は、マクロA〜Dが既に選択済みのものがある場合、まだ選択されていないマクロA〜Dで一番距離が近いものを選択し、全てのマクロA〜Dが選択済みの場合、スキャンアウト外部端子SOを選択する。この選択によって決定した順番に対応するようにスキャンパス接続情報203の接続順を更新する(ステップS306)。
例えば、図10の接続距離テーブル204において、スキャンイン外部端子SIに一番近いマクロA(距離「1」)がまず選択され、次に、マクロAからみて一番近いマクロBか、もしくはマクロD(ともに距離「1」)が選択される。ここではマクロDが選択されるものとする。マクロDについてはマクロAかマクロCが最短距離であるが、既にマクロAは選択済みであるため、次に近いマクロC(距離「1」)が選択される。以後同様な処理を行い、変更されたスキャンパス接続情報203を図12に示す。本実施形態の例ではSI−A−D−C−B−SOの順に接続が変更されている。図12に示すスキャンパス接続情報203に基づいて接続されたスキャンパスの接続は、図13に示すスキャンパスの接続イメージのようにマクロBからスキャンアウト外部端子SOの距離が大きく、スキャンパス総配線長は「15」であることが判る。
次に、スキャンパス付替部105は、初期スキャンパス経路決定部104により更新されたスキャンパス接続情報203と、マクロ信号端子位置決定部103により変更されたレイアウト情報202を参照し、スキャンパス総配線長が短くなるようにスキャンパス接続順の入れ替えを行い、この入れ替えたスキャンパス接続順に基づいてスキャンパス接続情報203を更新する(ステップS308)。
スキャンパス総配線長の計算においては初期スキャンパス経路決定部104と同様、マクロA〜D同士を結ぶ辺間の距離で最短となるものを求め、それらの総和として算出する。
付け替え処理の具体的な方法については、組み合わせ最適化問題の1つである巡回セールスマン問題に対する解法として存在しており、一例としては、始終点を除く任意の2点、もしくは3点を逐次的に入れ替え(例えばSI−A−C−D−B−SOの順番をSI−C−A−D−B−SOに変更し)、総配線長が変更前より短くなれば採用するといった処理を、総配線長が最初の長さの一定の割合以下になるか、繰り返し回数が一定値を超えるまで繰り返すなどがある。
スキャンパス付替部105により変更されたスキャンパス接続情報203を図14に示す。図14に示すスキャンパス接続情報203に基づいて接続されたスキャンパスの接続は、図15に示すスキャンパスの接続イメージのように全て最短距離で接続されており、スキャンパス総配線長は「5」であることが判る。
尚、付け替え可能なスキャンパス経路の組み合わせ数はマクロ数をnとするとn!となる。本実施形態の例では、マクロ数を4として、組み合わせは4!=24通りであり、全てのスキャンパス経路の組み合わせを総当たり的に試すことにより、経路としての最適解(この場合はSI−A−B−C−D−SOであり、関連技術で引用したものと同じ経路)を求めることができる。しかし、nが数十の値であって、全ての組み合わせを試すことが実用的でない場合は、上述したように実用的な時間内で求められる近似解を最適解と見做すこととしてもよい。
上述した本実施形態における効果は、スキャンパス総配線長の最適解として、スキャンパス総配線長を更に短縮する余地を低減するスキャンパス接続情報を得ることができる点である。その理由は、スキャンパス接続情報とレイアウト情報とを参照し、スキャンパス総配線長が短くなるようにスキャンパス接続順を入れ替えて、スキャンパス接続情報を更新するようにしたからである。
即ち、LSIなどのレイアウト設計において、階層分割設計を行う場合の階層マクロのスキャンイン、スキャンアウト端子位置を一旦マクロの重心位置に仮配置をした後、スキャンパス経路の最適化処理をマクロ間の最短距離、もしくは仮配置された端子間の最短距離を考慮して行うようにしたことで、スキャンパス総配線長の最適解として、スキャンパス総配線長を更に短縮する余地を低減したスキャンパス接続情報を得ることができる効果がある。
次に、本発明の第2の実施形態について図面を参照して詳細に説明する。
図16は、本発明の第2の実施形態を示すブロック図である。図16を参照すると本発明の第2の実施形態は、入力部101、一般信号端子位置決定部102、論理接続情報更新部106、マクロスキャン端子位置決定部107および出力部108を有する点と、レイアウト情報記憶部122およびスキャンパス接続情報記憶部123に替えて記憶部200を有する点において、第1の実施形態と異なっている。また、本発明の第2の実施形態は、マクロ信号端子位置決定部103の動作が、第1の実施形態と異なっている。
ここで、各構成要素の説明の前に、各構成要素が参照、生成、更新するデータの構造について説明する。
論理接続情報201は、例えば、図2に示すようなスキャンイン外部端子SI、スキャンアウト外部端子SO、マクロA〜D間の論理的な接続を、図3に示すようにデジタル情報に変換したものである。
図3に示す例では、論理接続情報201は、スキャンイン外部端子SIとスキャンアウト外部端子SOとマクロA〜Dのスキャンイン端子SIA、SIB、SIC、SIDとマクロA〜Dのスキャンアウト端子SOA、SOB、SOC、SODとの接続関係、および一般信号端子DIA〜DIDの接続関係をfrom(ある接続の一方の端子)とto(from側の端子に対応するもう一方の端子)として示す情報を含む。
入力部101は、論理接続情報201、レイアウト情報202、スキャンパス接続情報203を入力する。
記憶部200は、論理接続情報201、レイアウト情報202、スキャンパス接続情報203および接続距離テーブル204を記憶する。
一般信号端子位置決定部102は、論理接続情報201およびレイアウト情報202を参照し、各マクロA〜D間の接続関係と位置関係とに基づいて、マクロA〜Dの全ての一般信号端子DIA〜DIDについて、端子間の接続配線長が最短となる端子位置の決定を行い、この決定に基づいてレイアウト情報202を更新する。
マクロ信号端子位置決定部103は、スキャンイン端子SIA〜SID、スキャンアウト端子SOA〜SODについてマクロA〜Dのマクロ内であって信号端子位置ではない位置(例えば、重心位置または中心位置であってよい)に仮配置するようにレイアウト情報202を更新する。
論理接続情報更新部106は、スキャンパス付替部105により更新されたスキャンパス接続情報203に基づいて、論理接続情報201を更新する。
マクロスキャン端子位置決定部107は、スキャンパス付替部105により更新されたスキャンパス接続情報203を参照し、マクロA〜Dのスキャンイン端子SIA〜SID、スキャンアウト端子SOA〜SODを、接続されるスキャンイン端子SIA〜SID、スキャンアウト端子SOA〜SOD間の距離が最短となる位置の決定を行い、この決定に基づいてレイアウト情報202を更新する。
出力部108は、論理接続情報更新部106により更新された論理接続情報201、マクロスキャン端子位置決定部107により更新されたレイアウト情報202、およびスキャンパス付替部105により更新されたスキャンパス接続情報203を出力する。
次に本実施形態の動作を、図2〜6、図9、図10、図12〜24を参照して詳細に説明する。
図23は、本実施形態の全体の動作を示すフローチャートである。
まず、入力部101は、図3に示すような論理接続情報201、図5に示すようなレイアウト情報202、図6に示すようなスキャンパス接続情報203を入力し、これらを記憶部200に記憶させる(ステップS402)。
入力部101への入力は、例えば、キーボードなどからの入力するようにしてもよいし、ネットワークで接続されたコンピュータ等から入力するようにしてもよい。
次に、一般信号端子位置決定部102は、論理接続情報201およびレイアウト情報202を参照し、各マクロA〜D間の接続関係と位置関係とに基づいて、マクロA〜Dの全ての一般信号端子DIA〜DIDについては端子間の接続配線長が最短となる端子位置の決定を行い、この決定に基づいてレイアウト情報202を更新する(ステップS404)。
次に、マクロ信号端子位置決定部103は、スキャンイン端子SIA〜SID、スキャンアウト端子SOA〜SODについてはマクロ重心上に仮配置するようの決定を行い、この決定に基づいてレイアウト情報202を更新する(ステップS406)。
一般信号端子位置決定部102およびマクロ信号端子位置決定部103により決定されたマクロA〜Dの端子位置を図7に示す。一般信号端子DIA、DODと一般信号端子DOB、DICがそれぞれマクロA〜D辺上に最短となる位置で配置されているが、スキャンイン端子SIA〜SID、スキャンアウト端子SOA〜SODはそれぞれのマクロA〜Dの重心上に仮配置されている。尚、図7では、スキャンイン端子SIAとスキャンアウト端子SOAは、識別可能とするために部分的に重なって(部分的にずれて)記載されているが、実際には、同じ重心位置に重なって配置されている。また、マクロ信号端子位置決定部103により更新されたレイアウト情報202の端子レイアウト情報2023を図8に示す。
ステップS304からステップS308の動作は、第1の実施形態と同様であるため説明を省略する。
次に、論理接続情報更新部106は、スキャンパス付替部105により更新されたスキャンパス接続情報203の内容に基づいてスキャンパスを接続するように論理接続情報201を更新する(ステップS408)。
接続の具体的な方法としては、スキャンイン外部端子SIとその直後のマクロA〜Dのスキャンイン端子SIA〜SIDを接続し、スキャンアウト外部端子SOと、その直前のマクロA〜Dのスキャンアウト端子SOA〜SODを接続する。その他のマクロA〜Dはスキャンアウト端子SOA〜SODと直後のマクロA〜Dのスキャンイン端子SIA〜SIDを接続する。本手段により更新されたLSIの論理的な接続を図19に示す。また、論理接続情報201は、図20に示すように更新される。
次に、マクロスキャン端子位置決定部107は、スキャンパス付替部105により更新されたスキャンパス接続情報203を参照し、マクロA〜Dのスキャンイン端子SIA〜SID、スキャンアウト端子SOA〜SODを、マクロ信号端子位置決定部103によって仮配置された位置から、接続されるスキャンイン端子SIA〜SID、スキャンアウト端子SOA〜SOD間の距離が最短となる位置になるよう移動し、この移動した位置に基づいてレイアウト情報202を更新する(ステップS410)。
その際、マクロ信号端子位置決定部103で決定された、一般信号端子DIA〜DIDと重ならないように移動する。本手段によりスキャンイン端子SIA〜SID、スキャンアウト端子SOA〜SODが移動された状態のレイアウトを図21に示す。また、レイアウト情報202は、端子レイアウト情報2023が図22に示すように更新される。
次に、出力部108は、論理接続情報更新部106により更新された論理接続情報201、マクロスキャン端子位置決定部107により更新されたレイアウト情報202、およびスキャンパス付替部105により更新されたスキャンパス接続情報203を図示しない出力先へ出力する(ステップS412)。
図示しない出力先は、例えば、表示装置やプリンタであってもよいし、ネットワークで接続されたコンピュータ等であってもよい。
次に、スキャンパス付替部105の、実施形態の一例を説明する。図24は、スキャンパス付替部105の構成を示すブロック図である。図24を参照すると、スキャンパス付替部105は、総配線長算出部151と総配線長選択部152とを含む。
総配線長算出部151は、初期スキャンパス経路決定部104により決定されたスキャンパス接続情報203に基づいて第1スキャンパス総配線長を算出する。また、総配線長算出部151は、初期スキャンパス経路決定部104により決定されたスキャンパス接続情報203のうちの任意のマクロA〜Dのスキャンパス接続順を入れ替えた場合の第3スキャンパス総配線長を算出する。
総配線長選択部152は、第1スキャンパス総配線長を第2スキャンパス総配線長として採用する。また、総配線長選択部152は、第2スキャンパス総配線長と第3スキャンパス総配線長とのうちの短いほうを新たな第2スキャンパス総配線長として採用する。
更に、総配線長選択部152は、総配線長算出部151が算出した第3スキャンパス総配線長が第1スキャンパス総配線長の所定の割合以下である場合のスキャンパス接続順をスキャンパス総配線長が最も短くなるスキャンパス接続順であると決定する。
あるいは、総配線長選択部152は、総配線長算出部151が第3スキャンパス総配線長の算出を所定の回数実行した場合の新たな第2スキャンパス総配線長に対応するスキャンパス接続順をスキャンパス総配線長が最も短くなるスキャンパス接続順であると決定するようにしてもよい。
上述した本実施形態における効果は、スキャンパス総配線長の最適解として、スキャンパス総配線長を更に短縮する余地を低減する端子レイアウト情報を得ることができる点である。その理由は、スキャンパス接続情報を論理接続情報とレイアウト情報とを参照し、スキャンパス総配線長が短くなるようにスキャンパス接続順を入れ替えて更新したスキャンパス接続情報に基づいて、スキャンイン/アウト端子の位置を決定するようにしたからである。
即ち、LSIなどのレイアウト設計において、階層分割設計を行う場合の階層マクロのスキャンイン、スキャンアウト端子位置を一旦マクロの重心位置に仮配置をした後、スキャンパス経路の最適化処理をマクロ間の最短距離、もしくは仮配置された端子間の最短距離を考慮して行い、これに基づいてスキャンイン/アウト端子の位置を決定するようにしたことで、スキャンパス総配線長の最適解として、スキャンパス総配線長を更に短縮する余地を低減した端子レイアウト情報を得ることができる効果がある。
以上の各実施形態で説明した各構成要素は、例えば、プログラムにより所定の処理をコンピュータに実行させてもよい。
以上の各実施形態で説明した各構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が1個のモジュールとして実現されたり、一つの構成要素が複数のモジュールで実現されたり、ある構成要素が他の構成要素の一部であったり、ある構成要素の一部と他の構成要素の一部とが重複していたり、といったような構成であってもよい。
また、以上説明した各実施形態では、複数の動作をフローチャートの形式で順番に記載してあるが、その記載の順番は複数の動作を実行する順番を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の順番は内容的に支障しない範囲で変更することができる。
更に、以上説明した各実施形態では、複数の動作は個々に相違するタイミングで実行されることに限定されない。例えば、ある動作の実行中に他の動作が発生したり、ある動作の実行タイミングと他の動作の実行タイミングとの一部乃至全部が重複していたりしていてもよい。
尚、以上説明した各実施形態における各構成要素は、必要に応じ可能であれば、ハードウェアで実現されても良いし、ソフトウェアで実現されても良いし、ハードウェアとソフトウェアの混在により実現されても良い。
本発明は、集積回路のレイアウト設計支援装置、集積回路のレイアウト設計支援方法などに適用できる。例えば、LSIの大規模化、高速化、およびプロセスの微細化に起因して、LSIのテスト時間やテストの消費電力の増加が問題となってきており、1本のスキャンパスでLSI全体を一括してテストすることは適切でなくなってきている。このため、数十もしくは数百本のスキャンパスがLSI内に存在することも珍しくなく、スキャンパスの配線長増加がLSI全体の配線性に影響を与える影響も無視できなくなってきている。本発明は、以上のような背景を有するスキャンパスのレイアウト設計にも適用できる。
101 入力部
103 マクロ信号端子位置決定部
104 初期スキャンパス経路決定部
105 スキャンパス付替部
106 論理接続情報更新部
107 マクロスキャン端子位置決定部
108 出力部
122 レイアウト情報記憶部
123 スキャンパス接続情報記憶部
151 総配線長算出部
152 総配線長選択部
200 記憶部
201 論理接続情報
202 レイアウト情報
2021 LSIレイアウト情報
2022 マクロレイアウト情報
2023 端子レイアウト情報
203 スキャンパス接続情報
204 接続距離テーブル
A マクロ
B マクロ
C マクロ
D マクロ
SI スキャンイン外部端子
SIA スキャンイン端子
SIB スキャンイン端子
SIC スキャンイン端子
SID スキャンイン端子
SO スキャンアウト外部端子
SOA スキャンアウト端子
SOB スキャンアウト端子
SOC スキャンアウト端子
SOD スキャンアウト端子
DIA 一般信号端子
DOB 一般信号端子
DIC 一般信号端子
DOD 一般信号端子

Claims (24)

  1. 集積回路内のレイアウトを示すレイアウト情報を記憶するレイアウト情報記憶部と、
    集積回路内のスキャンパス情報を示すスキャンパス接続情報を記憶するスキャンパス接続情報記憶部と、
    前記レイアウト情報を参照して各マクロのスキャンイン端子およびスキャンアウト端子の仮配置位置の決定を行い、当該決定に基づいて前記レイアウト情報を更新するマクロ信号端子位置決定部と、
    スキャンイン外部端子および複数の前記マクロについて、前記マクロ信号端子位置決定部により更新されたレイアウト情報と前記スキャンパス接続情報とを参照して、前記スキャンイン外部端子を始点に順次最も近い距離に配置されている前記マクロを接続するように前記スキャンパス接続情報を更新する初期スキャンパス経路決定部と、
    前記マクロ信号端子位置決定部により更新されたレイアウト情報と前記初期スキャンパス経路決定部により更新されたスキャンパス接続情報とを参照して、スキャンパス総配線長が最も短くなるようにスキャンパス接続順の決定を行い、当該決定に基づいて前記初期スキャンパス経路決定部により更新されたスキャンパス接続情報を更新するスキャンパス付替部と
    を有することを特徴とする集積回路設計装置。
  2. 前記マクロのスキャンイン端子およびスキャンアウト端子を仮配置する位置は、各前記マクロ内の当該マクロの重心位置である
    ことを特徴とする請求項1記載の集積回路設計装置。
  3. 前記マクロのスキャンイン端子およびスキャンアウト端子を仮配置する位置は、各前記マクロ内の当該マクロの中心位置である
    ことを特徴とする請求項1記載の集積回路設計装置。
  4. 前記初期スキャンパス経路決定部は、前記スキャンイン外部端子、前記スキャンアウト外部端子および各前記マクロ間の互いの距離についてそれぞれ最短距離の値を算出し、算出した最短距離の値に基づいて、最初に前記スキャンイン外部端子から最も近い前記マクロを選択し、前記選択したマクロから一番近くかつ未選択の前記マクロを順次選択し、前記スキャンイン外部端子、前記選択された順の各前記マクロおよび前記スキャンアウト外部端子をこれらの順に接続するようにスキャンパス接続情報を更新する
    ことを特徴とする請求項1乃至3のいずれかに記載の集積回路設計装置。
  5. スキャンパス付替部は、前記初期スキャンパス経路決定部により決定されたスキャンパス接続情報に基づいて第1スキャンパス総配線長を算出する総配線長算出部と、
    当該第1スキャンパス総配線長を第2スキャンパス総配線長として採用する総配線長選択部とを含み、
    前記総配線長算出部は、更に前記スキャンパス接続情報のうちの任意の前記マクロのスキャンパス接続順を入れ替えた場合の第3スキャンパス総配線長を算出し、
    前記総配線長選択部は、更に前記第2スキャンパス総配線長と前記第3スキャンパス総配線長とのうちの短いほうを新たな第2スキャンパス総配線長として採用し、
    算出した前記第3スキャンパス総配線長が前記第1スキャンパス総配線長の所定の割合以下である場合の前記スキャンパス接続順をスキャンパス総配線長が最も短くなるスキャンパス接続順であると決定する
    ことを特徴とする請求項1乃至4のいずれかに記載の集積回路設計装置。
  6. スキャンパス付替部は、前記初期スキャンパス経路決定部により決定されたスキャンパス接続情報に基づいて第1スキャンパス総配線長を算出する総配線長算出部と、
    当該第1スキャンパス総配線長を第2スキャンパス総配線長として採用する総配線長選択部とを含み、
    前記総配線長算出部は、更に前記スキャンパス接続情報のうちの任意の前記マクロのスキャンパス接続順を入れ替えた場合の第3スキャンパス総配線長を算出し、
    前記総配線長選択部は、更に前記第2スキャンパス総配線長と前記第3スキャンパス総配線長とのうちの短いほうを新たな第2スキャンパス総配線長として採用し、
    前記第3スキャンパス総配線長の算出を所定の回数実行した場合の前記新たな第2スキャンパス総配線長に対応する前記スキャンパス接続順をスキャンパス総配線長が最も短くなるスキャンパス接続順であると決定する
    ことを特徴とする請求項1乃至4のいずれかに記載の集積回路設計装置。
  7. 集積回路内の論理接続を示す論理接続情報を記憶する論理接続情報記憶部と、
    前記論理接続情報および前記レイアウト情報を参照して、各前記マクロの全ての一般信号端子について端子間の接続配線長が最短となる端子位置の決定を行い、当該決定に基づいて前記レイアウト情報を更新する一般信号端子位置決定部と
    を有することを特徴とする請求項1乃至6のいずれかに記載の集積回路設計装置。
  8. 前記スキャンパス付替部により更新されたスキャンパス接続情報に基づいて、前記論理接続情報を更新する論理接続情報更新部と、
    前記スキャンパス付替部により更新されたスキャンパス接続情報および前記論理接続情報更新部により更新された論理接続情報を参照して、前記マクロの他の信号が使用してない端子位置であってかつ接続される前記スキャンイン端子と前記スキャンアウト端子との距離が最短となるように前記マクロのスキャンイン端子およびスキャンアウト端子の位置をそれぞれ決定し、当該決定した位置に基づいて前記一般信号端子位置決定部により更新されたレイアウト情報を更新するマクロスキャン端子位置決定部と
    を有することを特徴とする請求項7記載の集積回路設計装置。
  9. 集積回路内のレイアウトを示すレイアウト情報を参照して各マクロのスキャンイン端子およびスキャンアウト端子の仮配置位置の決定を行い、当該決定に基づいて前記レイアウト情報の第1更新を実施し、
    スキャンイン外部端子および複数の前記マクロについて、前記第1更新されたレイアウト情報および集積回路内のスキャンパス情報を示すスキャンパス接続情報を参照して、前記スキャンイン外部端子を始点に順次最も近い距離に配置されている各前記マクロを接続するようにスキャンパス接続情報の第1更新を実施し、
    前記第1更新されたレイアウト情報と前記第1更新されたスキャンパス接続情報とを参照して、スキャンパス総配線長が最も短くなるようにスキャンパス接続順の決定を行い、当該決定に基づいて前記第1更新されたスキャンパス接続情報の第2更新を実施する
    ことを特徴とする設計方法。
  10. 前記マクロのスキャンイン端子およびスキャンアウト端子を仮配置する位置は、各前記マクロ内の当該マクロの重心位置である
    ことを特徴とする請求項9記載の設計方法。
  11. 前記マクロのスキャンイン端子およびスキャンアウト端子を仮配置する位置は、各前記マクロ内の当該マクロの中心位置である
    ことを特徴とする請求項9記載の設計方法。
  12. 前記スキャンパス接続情報の第1更新の実施は、前記スキャンイン外部端子、前記スキャンアウト外部端子および各前記マクロ間の互いの距離についてそれぞれ最短距離の値を算出し、算出した最短距離の値に基づいて、最初に前記スキャンイン外部端子から最も近い前記マクロを選択し、前記選択したマクロから一番近くかつ未選択の前記マクロを順次選択し、前記スキャンイン外部端子、前記選択された順の各前記マクロおよび前記スキャンアウト外部端子をこれらの順に接続する
    ことであることを特徴とする請求項9乃至11のいずれかに記載の設計方法。
  13. 前記スキャンパス接続情報の第2更新の実施は、前記第1更新により決定されたスキャンパス接続情報に基づいて第1スキャンパス総配線長を算出し、
    当該第1スキャンパス総配線長を第2スキャンパス総配線長として採用し、
    前記スキャンパス接続情報のうちの任意の前記マクロのスキャンパス接続順を入れ替えた場合の第3スキャンパス総配線長を算出し、
    前記第2スキャンパス総配線長と前記第3スキャンパス総配線長とのうちの短いほうを新たな第2スキャンパス総配線長として採用し、
    算出した前記第3スキャンパス総配線長が前記第1スキャンパス総配線長の所定の割合以下である場合の前記スキャンパス接続順をスキャンパス総配線長が最も短くなるスキャンパス接続順であると決定する
    ことであることを特徴とする請求項9乃至12のいずれかに記載の設計方法。
  14. 前記スキャンパス接続情報の第2更新の実施は、前記第1更新により決定されたスキャンパス接続情報に基づいて第1スキャンパス総配線長を算出し、
    当該第1スキャンパス総配線長を第2スキャンパス総配線長として採用し、
    前記スキャンパス接続情報のうちの任意の前記マクロのスキャンパス接続順を入れ替えた場合の第3スキャンパス総配線長を算出し、
    前記第2スキャンパス総配線長と前記第3スキャンパス総配線長とのうちの短いほうを新たな第2スキャンパス総配線長として採用し、
    前記第3スキャンパス総配線長の算出を所定の回数実行した場合の前記新たな第2スキャンパス総配線長に対応する前記スキャンパス接続順をスキャンパス総配線長が最も短くなるスキャンパス接続順であると決定する
    ことであることを特徴とする請求項9乃至12のいずれかに記載の設計方法。
  15. 集積回路内の論理接続を示す論理接続情報および前記レイアウト情報を参照して、各前記マクロの全ての一般信号端子について端子間の接続配線長が最短となる端子位置の決定を行い、当該決定に基づいて前記レイアウト情報の第2更新を実施する
    ことを特徴とする請求項9乃至14のいずれかに記載の設計方法。
  16. 前記第2更新を実施されたスキャンパス接続情報に基づいて、前記論理接続情報を更新し、
    前記第2更新を実施されたスキャンパス接続情報および前記更新された論理接続情報を参照して、前記マクロの他の信号が使用してない端子位置であってかつ接続される前記スキャンイン端子と前記スキャンアウト端子との距離が最短となるように前記マクロのスキャンイン端子およびスキャンアウト端子の位置をそれぞれ決定し、当該決定した位置に基づいて前記第2更新を実施されたレイアウト情報を更新する
    ことを特徴とする請求項15記載の設計方法。
  17. 集積回路内のレイアウトを示すレイアウト情報を参照して各マクロのスキャンイン端子およびスキャンアウト端子の仮配置位置の決定を行い、当該決定に基づいて前記レイアウト情報の第1更新を実施し、
    スキャンイン外部端子および複数の前記マクロについて、前記第1更新されたレイアウト情報および集積回路内のスキャンパス情報を示すスキャンパス接続情報を参照して、前記スキャンイン外部端子を始点に順次最も近い距離に配置されている各前記マクロを接続するようにスキャンパス接続情報の第1更新を実施し、
    前記第1更新されたレイアウト情報と前記第1更新されたスキャンパス接続情報とを参照して、スキャンパス総配線長が最も短くなるようにスキャンパス接続順の決定を行い、当該決定に基づいて前記第1更新されたスキャンパス接続情報の第2更新を実施する処理
    をコンピュータに実行させることを特徴とするプログラム。
  18. 前記マクロのスキャンイン端子およびスキャンアウト端子を仮配置する位置は、各前記マクロ内の当該マクロの重心位置である
    ことを特徴とする請求項17記載のプログラム。
  19. 前記マクロのスキャンイン端子およびスキャンアウト端子を仮配置する位置は、各前記マクロ内の当該マクロの中心位置である
    ことを特徴とする請求項17記載のプログラム。
  20. 前記スキャンパス接続情報の第1更新の実施は、前記スキャンイン外部端子、前記スキャンアウト外部端子および各前記マクロ間の互いの距離についてそれぞれ最短距離の値を算出し、算出した最短距離の値に基づいて、最初に前記スキャンイン外部端子から最も近い前記マクロを選択し、前記選択したマクロから一番近くかつ未選択の前記マクロを順次選択し、前記スキャンイン外部端子、前記選択された順の各前記マクロおよび前記スキャンアウト外部端子をこれらの順に接続する処理
    をコンピュータに実行させることであることを特徴とする請求項17乃至19のいずれかに記載のプログラム。
  21. 前記スキャンパス接続情報の第2更新の実施は、前記第1更新により決定されたスキャンパス接続情報に基づいて第1スキャンパス総配線長を算出し、
    当該第1スキャンパス総配線長を第2スキャンパス総配線長として採用し、
    前記スキャンパス接続情報のうちの任意の前記マクロのスキャンパス接続順を入れ替えた場合の第3スキャンパス総配線長を算出し、
    前記第2スキャンパス総配線長と前記第3スキャンパス総配線長とのうちの短いほうを新たな第2スキャンパス総配線長として採用し、
    算出した前記第3スキャンパス総配線長が前記第1スキャンパス総配線長の所定の割合以下である場合の前記スキャンパス接続順をスキャンパス総配線長が最も短くなるスキャンパス接続順であると決定する処理
    をコンピュータに実行させることであることを特徴とする請求項17乃至20のいずれかに記載のプログラム。
  22. 前記スキャンパス接続情報の第2更新の実施は、前記第1更新により決定されたスキャンパス接続情報に基づいて第1スキャンパス総配線長を算出し、
    当該第1スキャンパス総配線長を第2スキャンパス総配線長として採用し、
    前記スキャンパス接続情報のうちの任意の前記マクロのスキャンパス接続順を入れ替えた場合の第3スキャンパス総配線長を算出し、
    前記第2スキャンパス総配線長と前記第3スキャンパス総配線長とのうちの短いほうを新たな第2スキャンパス総配線長として採用し、
    前記第3スキャンパス総配線長の算出を所定の回数実行した場合の前記新たな第2スキャンパス総配線長に対応する前記スキャンパス接続順をスキャンパス総配線長が最も短くなるスキャンパス接続順であると決定する処理
    をコンピュータに実行させることであることを特徴とする請求項17乃至20のいずれかに記載のプログラム。
  23. 集積回路内の論理接続を示す論理接続情報および前記レイアウト情報を参照して、各前記マクロの全ての一般信号端子について端子間の接続配線長が最短となる端子位置の決定を行い、当該決定に基づいて前記レイアウト情報の第2更新を実施する処理
    をコンピュータに実行させることを特徴とする請求項17乃至22のいずれかに記載のプログラム。
  24. 前記第2更新を実施されたスキャンパス接続情報に基づいて、前記論理接続情報を更新し、
    前記第2更新を実施されたスキャンパス接続情報および前記更新された論理接続情報を参照して、前記マクロの他の信号が使用してない端子位置であってかつ接続される前記スキャンイン端子と前記スキャンアウト端子との距離が最短となるように前記マクロのスキャンイン端子およびスキャンアウト端子の位置をそれぞれ決定し、当該決定した位置に基づいて前記第2更新を実施されたレイアウト情報を更新する処理
    をコンピュータに実行させることを特徴とする請求項23記載のプログラム。
JP2009001368A 2009-01-07 2009-01-07 集積回路設計装置、設計方法およびプログラム Expired - Fee Related JP5431737B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009001368A JP5431737B2 (ja) 2009-01-07 2009-01-07 集積回路設計装置、設計方法およびプログラム
US12/630,619 US8365126B2 (en) 2009-01-07 2009-12-03 Method and apparatus for scan path connection routing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009001368A JP5431737B2 (ja) 2009-01-07 2009-01-07 集積回路設計装置、設計方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2010160598A true JP2010160598A (ja) 2010-07-22
JP5431737B2 JP5431737B2 (ja) 2014-03-05

Family

ID=42312542

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009001368A Expired - Fee Related JP5431737B2 (ja) 2009-01-07 2009-01-07 集積回路設計装置、設計方法およびプログラム

Country Status (2)

Country Link
US (1) US8365126B2 (ja)
JP (1) JP5431737B2 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01302850A (ja) * 1988-05-31 1989-12-06 Toshiba Corp テスト容易化半導体集積回路の製造方法
JPH07147324A (ja) * 1993-11-24 1995-06-06 Nippon Steel Corp Cad装置による自動配置配線処理方法
JP2000215223A (ja) * 1999-01-25 2000-08-04 Nec Corp スキャンパス接続装置
JP2004104039A (ja) * 2002-09-12 2004-04-02 Sharp Corp 集積回路の自動配置配線設計方法、その自動配置配線設計装置、その自動配置配線設計システム、制御プログラムおよび可読記録媒体
JP2004199625A (ja) * 2002-12-20 2004-07-15 Renesas Technology Corp 自動配置配線装置
JP2008217365A (ja) * 2007-03-02 2008-09-18 Nec Corp 集積回路のレイアウト設計支援装置、方法、プログラム、及びデータ構造
JP2008305333A (ja) * 2007-06-11 2008-12-18 Fujitsu Microelectronics Ltd モジュール配置方法、モジュール配置プログラム、及びlsi設計装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6378123B1 (en) * 1998-02-20 2002-04-23 Lsi Logic Corporation Method of handling macro components in circuit design synthesis
US6681356B1 (en) * 2000-09-29 2004-01-20 International Business Machines Corporation Scan chain connectivity
US6957408B1 (en) * 2002-01-22 2005-10-18 Cadence Design Systems, Inc. Method and apparatus for routing nets in an integrated circuit layout
JP2003167935A (ja) * 2001-12-03 2003-06-13 Fujitsu Ltd 配線経路決定装置、グループ決定装置、配線経路決定プログラム、およびグループ決定プログラム
US7013451B1 (en) * 2002-01-22 2006-03-14 Cadence Design Systems, Inc. Method and apparatus for performing routability checking
JP2004185427A (ja) * 2002-12-04 2004-07-02 Renesas Technology Corp スキャンパスタイミング最適化装置
JP3842228B2 (ja) * 2003-02-27 2006-11-08 Necエレクトロニクス株式会社 半導体集積回路装置と設計自動化装置及び方法並びにプログラム
JP2005147324A (ja) 2003-11-18 2005-06-09 Shimonishi Giken Kogyo Kk ヒンジ
JP2007305642A (ja) 2006-05-09 2007-11-22 Murata Mfg Co Ltd 多層回路基板及び電子装置
US7900163B2 (en) * 2007-02-21 2011-03-01 Marvell Israel (M.I.S.L.) Ltd. Method and apparatus for identifying redundant scan elements
JP2009038072A (ja) * 2007-07-31 2009-02-19 Nec Electronics Corp 半導体集積回路及びその開発方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01302850A (ja) * 1988-05-31 1989-12-06 Toshiba Corp テスト容易化半導体集積回路の製造方法
JPH07147324A (ja) * 1993-11-24 1995-06-06 Nippon Steel Corp Cad装置による自動配置配線処理方法
JP2000215223A (ja) * 1999-01-25 2000-08-04 Nec Corp スキャンパス接続装置
JP2004104039A (ja) * 2002-09-12 2004-04-02 Sharp Corp 集積回路の自動配置配線設計方法、その自動配置配線設計装置、その自動配置配線設計システム、制御プログラムおよび可読記録媒体
JP2004199625A (ja) * 2002-12-20 2004-07-15 Renesas Technology Corp 自動配置配線装置
JP2008217365A (ja) * 2007-03-02 2008-09-18 Nec Corp 集積回路のレイアウト設計支援装置、方法、プログラム、及びデータ構造
JP2008305333A (ja) * 2007-06-11 2008-12-18 Fujitsu Microelectronics Ltd モジュール配置方法、モジュール配置プログラム、及びlsi設計装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNJ201010056014; 中村和史、外3名: 'スキャンパスの線長最適化とホールドタイム補償の一手法' 情報処理学会第52回(平成8年前期)全国大会講演論文集(6) , 19960306, pp.6-27〜6-28, 社団法人情報処理学会 *
JPN6012067777; 中村和史、外3名: 'スキャンパスの線長最適化とホールドタイム補償の一手法' 情報処理学会第52回(平成8年前期)全国大会講演論文集(6) , 19960306, pp.6-27〜6-28, 社団法人情報処理学会 *

Also Published As

Publication number Publication date
JP5431737B2 (ja) 2014-03-05
US20100175039A1 (en) 2010-07-08
US8365126B2 (en) 2013-01-29

Similar Documents

Publication Publication Date Title
JP2009038072A (ja) 半導体集積回路及びその開発方法
US7996805B2 (en) Method of stitching scan flipflops together to form a scan chain with a reduced wire length
US7778790B2 (en) Semiconductor integrated circuit device and delay fault testing method
JP2006343151A (ja) スキャンテスト回路及びその配置方法
JP5431737B2 (ja) 集積回路設計装置、設計方法およびプログラム
JP4736822B2 (ja) 半導体集積回路の設計支援装置、設計支援方法および設計支援プログラム
US20060080576A1 (en) Test point insertion method
US7958482B2 (en) Stitched circuitry region boundary identification for stitched IC chip layout
EP2624000A1 (en) Integrated circuit
JP2008224238A (ja) 半導体集積回路、半導体集積回路設計支援装置、及び半導体集積回路製造方法
JP2012146865A (ja) 半導体集積回路、スキャンテスト回路設計方法
JP2006220433A (ja) 半導体装置およびリーク電流低減化方法
US20090276739A1 (en) Ic chip and design structure including stitched circuitry region boundary identification
JP2011055224A (ja) フリップフロップ回路
JP2005257366A (ja) 半導体回路装置及び半導体回路に関するスキャンテスト方法
JP4888376B2 (ja) 半導体集積回路
JP2012156868A (ja) 半導体集積回路
JP3190821B2 (ja) テスト容易化半導体集積回路のレイアウト設計方法および設計装置
JP2011047771A (ja) 半導体集積回路
JP2013036960A (ja) 遅延スキャンテスト方法、半導体装置及び半導体装置の設計方法
JP5447209B2 (ja) スキャンチェーン形成方法、プログラム及び設計支援装置
CN109002570B (zh) 用于单元放置的方法以及执行该方法的计算机系统
JP2008226069A (ja) 論理回路、半導体設計支援装置および半導体設計支援方法
JP5515757B2 (ja) スキャンフリップフロップ追加システム及びスキャンフリップフロップ追加方法
JP2007034918A (ja) 半導体集積回路設計装置および半導体集積回路設計方法

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20110706

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130305

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130409

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131205

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5431737

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees