JP2012003471A - Scan chain formation method, program and design support device - Google Patents
Scan chain formation method, program and design support device Download PDFInfo
- Publication number
- JP2012003471A JP2012003471A JP2010137214A JP2010137214A JP2012003471A JP 2012003471 A JP2012003471 A JP 2012003471A JP 2010137214 A JP2010137214 A JP 2010137214A JP 2010137214 A JP2010137214 A JP 2010137214A JP 2012003471 A JP2012003471 A JP 2012003471A
- Authority
- JP
- Japan
- Prior art keywords
- scan
- data holding
- holding circuit
- ffs
- calculating
- 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
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
Description
本発明は、スキャンチェーン形成方法、プログラム及び設計支援装置に関するものである。 The present invention relates to a scan chain forming method, a program, and a design support apparatus.
従来、LSIのテスト容易化設計(Design For Testability:DFT)の一つとして、スキャンテスト法が知られている(例えば、特許文献1参照)。このスキャンテスト法では、論理回路中のフリップフロップ(FF)を外部から制御・観測するための経路(スキャンチェーン)が形成される。すなわち、論理回路中のFFがスキャンFFに置き換えられ、動作試験時には複数のスキャンFFが直列に接続されてスキャンチェーンが形成される。このスキャンチェーンの入力端子から試験信号を入力して順次この値をシフトすることによって、試験対象とする組み合わせ回路に所定の入力値を設定する。次に、設定された入力値によって得られた組み合わせ回路の出力値は再びスキャンチェーンによってシフトされて出力端子から出力される。そして、この出力された値を検証することで、試験対象の組み合わせ回路が正常に動作しているか否かを検証することができる。このようにして、複雑な回路で構成される集積回路の不良箇所を容易に特定することができる。 Conventionally, a scan test method is known as one of LSI design for testability (DFT) (see, for example, Patent Document 1). In this scan test method, a path (scan chain) for controlling and observing a flip-flop (FF) in a logic circuit from outside is formed. That is, the FFs in the logic circuit are replaced with scan FFs, and a plurality of scan FFs are connected in series during an operation test to form a scan chain. By inputting a test signal from the input terminal of the scan chain and sequentially shifting this value, a predetermined input value is set in the combinational circuit to be tested. Next, the output value of the combinational circuit obtained by the set input value is shifted again by the scan chain and output from the output terminal. Then, by verifying this output value, it is possible to verify whether or not the combinational circuit to be tested is operating normally. In this way, it is possible to easily identify a defective portion of an integrated circuit composed of complicated circuits.
ところで、従来のスキャンチェーンは、スキャンFFの配置情報に基づいて各スキャンFFのスキャン端子間の配線長が最短となるように接続順序が決定されて形成される。但し、この場合には、スキャンFF間の信号伝搬時間が短すぎてホールドエラーが発生する場合があった。このようなホールドエラーは、スキャン端子間に遅延素子を挿入して信号伝搬を遅延させてホールド時間を確保することで改善することができる。しかし、この方法では、ホールドエラー数が増加するに連れて遅延素子数が増加し、回路の複雑化や消費電力の増大といった問題を招く。 By the way, the conventional scan chain is formed by determining the connection order based on the arrangement information of the scan FFs so that the wiring length between the scan terminals of each scan FF is the shortest. However, in this case, the signal propagation time between the scan FFs is too short and a hold error may occur. Such a hold error can be improved by inserting a delay element between the scan terminals to delay the signal propagation and secure a hold time. However, with this method, the number of delay elements increases as the number of hold errors increases, causing problems such as circuit complexity and increased power consumption.
また、各スキャンFFのスキャン端子間の配線長が一定の距離以上になれば、スキャンFF間の信号伝搬に長い時間を要するため、上記ホールドエラーは発生しない。しかし、スキャンFF間の信号伝搬時間が長くなりすぎると、セットアップエラーが発生する。このようなセットアップエラーは、各スキャンFFに入力されるクロック信号の周波数を低くすることで改善することができる。しかし、この方法では、試験時間が長くなり試験コストが増大するという問題がある。 In addition, if the wiring length between the scan terminals of each scan FF exceeds a certain distance, the signal propagation between the scan FFs takes a long time, so the hold error does not occur. However, if the signal propagation time between the scan FFs becomes too long, a setup error occurs. Such a setup error can be improved by lowering the frequency of the clock signal input to each scan FF. However, this method has a problem that the test time is increased and the test cost is increased.
本発明の一観点によれば、複数のデータ保持回路のうちタイミングエラーの発生した第1のデータ保持回路を基準としてタイミングエラーの発生しない第1の範囲を算出する算出工程と、前記第1の範囲内に配置されたデータ保持回路の中から、前記各データ保持回路のスキャン端子間の配線長が最短となるように形成されたスキャンチェーンのつなぎ順を保持するように1つのデータ保持回路を選択する選択工程と、前記選択したデータ保持回路と前記第1のデータ保持回路とを接続するようにつなぎ順を変更するリオーダー工程と、を含む。 According to one aspect of the present invention, a calculation step of calculating a first range in which a timing error does not occur with reference to a first data holding circuit in which a timing error has occurred among a plurality of data holding circuits, and the first step One data holding circuit is arranged so as to hold the connecting order of the scan chains formed so that the wiring length between the scan terminals of each data holding circuit is the shortest among the data holding circuits arranged in the range. A selection step of selecting, and a reordering step of changing a connection order so as to connect the selected data holding circuit and the first data holding circuit.
本発明の一観点によれば、タイミングエラーを解消しつつも、遅延素子の増加及び試験コストの増大を抑制することができるという効果を奏する。 According to one aspect of the present invention, it is possible to suppress an increase in delay elements and an increase in test cost while eliminating timing errors.
以下、一実施形態を図面に従って説明する。図1は、本実施形態のレイアウト設計装置の概略構成図である。
図1に示すように、設計支援装置10は、例えば一般的な設計支援装置(CAD:Computer Aided Design)である。この設計支援装置10は、中央処理装置(CPU)11と、メモリ12と、記憶装置13と、表示装置14と、入力装置15と、ドライブ装置16とを含む。これら各装置11,13,14,15,16及びメモリ12は、バス17を介して相互に接続されている。
Hereinafter, an embodiment will be described with reference to the drawings. FIG. 1 is a schematic configuration diagram of a layout design apparatus according to the present embodiment.
As shown in FIG. 1, the
CPU11は、メモリ12を利用してプログラムを実行し、スキャンチェーンを形成するのに必要な処理(スキャンチェーンのリオーダー処理等)を実現する。メモリ12には、スキャンチェーン形成の機能を提供するために必要なプログラムとデータが格納される。このメモリ12としては、通常、キャッシュ・メモリ、システム・メモリ及びディスプレイ・メモリ等を含む。
The
表示装置14は、レイアウト表示、パラメータ入力画面等の表示に用いられる。この表示装置14としては、例えばCRT,LCD,PDP等(図示略)が用いられる。入力装置15は、ユーザからの要求や指示、パラメータの入力に用いられる。この入力装置15としては、例えばキーボード及びマウス装置等が用いられる。
The
記憶装置13は、通常、磁気ディスク装置、光ディスク装置、光磁気ディスク装置等を含む。この記憶装置13には、スキャンチェーンを形成するためのプログラム(以下、プログラム)及び各種のデータファイル(以下、ファイル)が格納される。CPU11は、入力装置15による指示に応答してプログラムや各種ファイルに格納されるデータを適宜メモリ12へ転送し、それを逐次実行する。なお、記憶装置13は、データベースとしても使用される。
The
CPU11が実行するプログラムは、記憶媒体18にて提供される。ドライブ装置16は、記憶媒体18を駆動し、その記憶内容にアクセスする。CPU11は、ドライブ装置16を介して記憶媒体18からプログラムを読み出し、それを記憶装置13にインストールする。
A program executed by the
記憶媒体18としては、メモリカード、フレキシブルディスク、光ディスク(例えばCD−ROM,DVD−ROMなど)、光磁気ディスク(例えばMO,MDなど)等、任意のコンピュータ読取り可能な記憶媒体を使用することができる。この記憶媒体18に、上述のプログラムを格納しておき、必要に応じて、メモリ12にロードして使用することもできる。
As the
なお、記憶媒体18には、通信媒体を介してアップロード又はダウンロードされたプログラムを記録した媒体、ディスク装置を含む。さらに、コンピュータによって直接実行可能なプログラムを記録した記憶媒体だけでなく、一旦他の記憶媒体(ハードディスク等)にインストールすることによって実行可能となるようなプログラムを記録した記憶媒体や、暗号化されたり、圧縮されたりしたプログラムを記録した記憶媒体も含む。
The
図2は、スキャンチェーンの一例を示すブロック図である。
図2(a)に示すスキャンチェーン上には、スキャンフリップフロップ(スキャンFF)1a〜1fが含まれる。これら各スキャンFF1a〜1fは、スキャンイン端子SI及びスキャンアウト端子SO(総称して「スキャン端子」ともいう。)を備えている。また、各スキャンFF1a〜1fは、動作試験時において、各スキャンFFのスキャンアウト端子SOがスキャン配線を通じて次段のスキャンFFのスキャンイン端子SIに接続され、多数のスキャンFFが直列に接続されている。具体的には、図2(a)に示すスキャンチェーンでは、多数のスキャンFF1a〜1fが、入力端子Tiから出力端子Toに向かってスキャンFF1a→1b→1c→1d→1e→1fの順に直列に接続されている。そして、動作試験時には、各スキャンFF1a〜1fは、クロック端子(図示略)に入力されるクロック信号に基づいて、スキャンイン端子SIに入力されるデータをラッチしてスキャンアウト端子SOから出力することにより、シフトレジスタとして動作する。
FIG. 2 is a block diagram illustrating an example of a scan chain.
On the scan chain shown in FIG. 2A, scan flip-flops (scan FFs) 1a to 1f are included. Each of the scan FFs 1a to 1f includes a scan-in terminal SI and a scan-out terminal SO (also collectively referred to as “scan terminals”). In the operation test, each scan FF 1a to 1f has a scan-out terminal SO of each scan FF connected to a scan-in terminal SI of the next-stage scan FF through a scan wiring, and a number of scan FFs connected in series. Yes. Specifically, in the scan chain shown in FIG. 2A, a large number of scan FFs 1a to 1f are serially arranged in the order of scan FFs 1a → 1b → 1c → 1d → 1e → 1f from the input terminal Ti to the output terminal To. It is connected. At the time of the operation test, each of the scan FFs 1a to 1f latches the data input to the scan-in terminal SI based on the clock signal input to the clock terminal (not shown) and outputs the data from the scan-out terminal SO. Therefore, it operates as a shift register.
なお、通常動作時には、各スキャンFF1a〜1fに設けられる切換機能により、スキャンイン端子SIとスキャンアウト端子SOとの接続が遮断され、各スキャンFF1a〜1fがそれぞれ他の論理回路と接続される。 During normal operation, the connection between the scan-in terminal SI and the scan-out terminal SO is cut off by the switching function provided in each of the scan FFs 1a to 1f, and each of the scan FFs 1a to 1f is connected to another logic circuit.
ここで、図2(b)は、図2(a)に示すスキャンチェーンにおけるスキャンFF1c,1d間で発生するホールドエラーを解消するために、スキャンチェーンのリオーダー処理(つなぎ順の変更処理)を行った後のスキャンチェーンを示すものである。すなわち、リオーダー処理後のスキャンチェーンでは、図2(a)に示すつなぎ順を、入力端子Tiから出力端子Toに向かってスキャンFF1a→1c→1b→1d→1e→1fとなるようにつなぎ替えてホールドエラーを解消している。
Here, FIG. 2B shows a scan chain reorder process (link order change process) in order to eliminate a hold error occurring between the
次に、このようなホールドエラーやセットアップエラーを解消しつつスキャンチェーンを形成する方法の概略を図3に従って説明する。
まず、CPU11は、論理回路の配置及び配線を実行し、論理回路中のスキャンFFの配置情報に基づいて各スキャンFF1a〜1fのスキャン端子間の配線長が最短となるようにスキャンチェーンを形成する(ステップS1)。なお、図2(a)に示すスキャンチェーンは、このステップS1で形成されたスキャンチェーンである。
Next, an outline of a method for forming a scan chain while eliminating such hold errors and setup errors will be described with reference to FIG.
First, the
続いて、CPU11は、ステップS1で形成したスキャンチェーンに対してタイミング解析処理(例えば、Static timing analysis:STA)を実行する(ステップS2)。このタイミング解析処理でスキャンチェーン内にタイミングエラー(ホールドエラー又はセットアップエラー)が発生した場合には(ステップS3でYES)、CPU11は、スキャンチェーンのリオーダー処理を実行する(ステップS4)。
Subsequently, the
次に、CPU11は、リオーダー処理後のスキャンチェーンに対してタイミング解析処理を再度実行する(ステップS5)。このタイミング解析処理でスキャンチェーン内にタイミングエラーが発生した場合には(ステップS6でYES)、CPU11は、予め設定された所定回数だけリオーダー処理を実行したか否かを判定する(ステップS7)。このとき、リオーダー処理の回数が所定回数に達していない場合には(ステップS7でNO)、上記ステップS4〜S6の処理が繰り返し実行される。一方、リオーダー処理の回数が所定回数に達した場合には(ステップS7でYES)、スキャンチェーンのレイアウト処理を終了する。
Next, the
なお、タイミング解析処理でスキャンチェーン内にタイミングエラーが発生していない場合には(ステップS3,S6でNO)、ホールドタイミング及びセットアップタイミングが正常なタイミングに収束したものとしてスキャンチェーンのレイアウト処理を終了する。 If no timing error has occurred in the scan chain in the timing analysis process (NO in steps S3 and S6), it is determined that the hold timing and the setup timing have converged to normal timing, and the scan chain layout process is terminated. To do.
次に、上記ステップS4におけるスキャンチェーンのリオーダー処理の具体的処理を図4及び図5に従って説明する。はじめに、図6及び図7に示す第1の適用例(図2(a)に示すスキャンチェーンから図2(b)に示すスキャンチェーンに変更する適用例)を併せ参照して説明する。 Next, a specific process of the scan chain reorder process in step S4 will be described with reference to FIGS. First, the first application example shown in FIGS. 6 and 7 (application example in which the scan chain shown in FIG. 2A is changed to the scan chain shown in FIG. 2B) will be described.
まず、CPU11は、リオーダー処理前のスキャンチェーン上の各スキャンFFに対して、入力側から出力側に向かって順番(昇順)に番号を付与する(ステップS11:番号付与工程)。具体的には、図6(a)に示すリオーダー処理前のスキャンチェーンでは、先の図2(a)と同様に、各スキャンFF1a〜1fが入力端子Tiから出力端子Toに向かって、スキャンFF1a→1b→1c→1d→1e→1fという順序で接続されている。このため、この場合には、スキャンFF1a,1b,1c,1d,1e,1fにそれぞれ「1」、「2」、「3」、「4」、「5」、「6」という番号が付与される(図6(a)の各スキャンFF内の数字参照)。なお、このリオーダー処理前のスキャンチェーンに対して付与された初期番号情報は、記憶装置13に記憶される。
First, the
次に、CPU11は、上記タイミング解析処理でタイミングエラーが発生したスキャンFFのうち任意の1つのスキャンFFを、リオーダー処理の対象となる対象スキャンFF(第1のデータ保持回路)として選択する(ステップS12)。本例では、CPU11は、出力側のスキャンFFからタイミングエラーが発生したか否かを判定し、はじめにタイミングエラーの発生したスキャンFFを選択する。具体的には、CPU11は、スキャンFF1f→1e→1d→1c→1b→1aの順番でタイミングエラーが発生したか否かを判定する。この場合には、スキャンFF1c,1d間でタイミングエラー(ホールドエラー)が発生しているため(図6(a)の破線矢印参照)、スキャンFF1dが対象スキャンFFとして選択されることになる。
Next, the
続いて、CPU11は、対象スキャンFF1dを基点(基準)として、ホールドエラーが発生しない最小伝搬遅延時間Dminを算出する(ステップS13)。ここで、この最小伝搬遅延時間Dminは、スキャンFFのホールドタイムをThとし、クロックスキューをCsとすると、
Dmin=Th+Cs
によって算出することができる。すなわち、スキャンFF内部の信号遅延DinとスキャンFF間の配線遅延Dlineとの合計値が最小伝搬遅延時間Dmin(=Th+Cs)よりも小さいときにホールドエラーが発生する。次いで、CPU11は、算出した最小伝搬遅延時間DminをスキャンFF間距離(具体的には、スキャンFFのスキャン端子間距離)に換算する(ステップS14)。この換算したスキャンFF間距離よりも離れた座標に配置されたスキャンFFと対象スキャンFF1dとがスキャン配線で接続される際には、ホールドエラーが発生しない。すなわち、これらステップS13,S14において、対象スキャンFF1dを基点(中心)とした、ホールドエラーの発生しない座標の集合X1(第1の座標の集合)を得ることができる。
Subsequently, the
Dmin = Th + Cs
Can be calculated. That is, a hold error occurs when the total value of the signal delay Din inside the scan FF and the wiring delay Dline between the scan FFs is smaller than the minimum propagation delay time Dmin (= Th + Cs). Next, the
次に、CPU11は、対象スキャンFF1dを基点(基準)として、セットアップエラーが発生しない最大伝搬遅延時間Dmaxを算出する(ステップS14)。ここで、この最大伝搬遅延時間Dmaxは、クロック周期をTとし、スキャンFFのセットアップタイムをTsとすると、
Dmax=T−Ts+Cs
によって算出することができる。すなわち、スキャンFF内部の信号遅延DinとスキャンFF間の配線遅延Dlineとの合計値が最大伝搬遅延時間Dmaxよりも大きいときにセットアップエラーが発生する。続いて、CPU11は、算出した最大伝搬遅延時間DmaxをスキャンFF間距離(具体的には、スキャンFFのスキャン端子間距離)に換算する。この換算したスキャンFF間距離よりも近い座標に配置されたスキャンFFと対象スキャンFF1dとがスキャン配線で接続される際には、セットアップエラーが発生しない。すなわち、これらステップS15,S16において、対象スキャンFF1dを基点(中心)とした、セットアップエラーの発生しない座標の集合X2(第2の座標の集合)を得ることができる。これにより、ホールドエラーの発生しない座標の集合X1とセットアップエラーの発生しない座標の集合X2との双方に含まれる座標の集合X3、すなわち対象スキャンFF1dを中心とした、タイミングエラーの発生しない座標の集合X3を得ることができる。ここで、本例のようにスキャン配線の配線角が任意の角度を取る場合には、図6に示すように、座標集合X3が円形となる。なお、第2の適用例のようにスキャン配線の配線角が直角のみの場合には、図8に示すように、座標集合X3がひし形となる。このような座標集合X3内に配置されるスキャンFFが、対象スキャンFF1dにとってスキャン配線を接続した際にタイミングエラーが発生しないスキャンFFの選択候補となる。なお、スキャンFF間距離及び基点は、スキャンFFのスキャン端子やスキャンFFの配置座標から考える。また、上記最小伝搬遅延時間Dminや最大伝搬遅延時間Dmaxの算出に必要な各パラメータ(クロックスキューCs等)の数値は、設計に使用されるテクノロジやレイアウトなどによって変わる。
Next, the
Dmax = T−Ts + Cs
Can be calculated. That is, a setup error occurs when the total value of the signal delay Din inside the scan FF and the wiring delay Dline between the scan FFs is larger than the maximum propagation delay time Dmax. Subsequently, the
次に、図5のステップS17において、CPU11は、対象スキャンFF1dのつなぎ先の選択候補となるスキャンFFが存在するか否かを判定する。具体的には、本例では上記ステップS12で出力側のスキャンFFからタイミングエラーが発生しているか否かを判定しているため、スキャンFF1dよりも入力側のスキャンFF1a〜1cの中に選択候補となるスキャンFFが存在するか否かを判定する。ここでは、図6(a)に示すように、座標集合X3(第1の範囲)内にスキャンFF1bが配置されているため、選択候補となるスキャンFFが存在すると判定される(ステップS17でYES)。続いて、本例では座標集合X3の適用によるリオーダー処理が出力側から実行されているため(ステップS18でYES)、ステップS19に移る。このステップS19において、CPU11は、選択候補のスキャンFFのうち、対象スキャンFF1dから入力側に向かって最大番号の選択候補スキャンFF(ここでは、スキャンFF1b)を選択する(選択工程)。ここで、対象スキャンFF1dから入力側に向かって最も近い番号の選択候補スキャンFFを選択するのは、上記ステップS1で形成されたスキャンチェーンのつなぎ順をできる限り保持した状態でリオーダー処理を実行するためである。
Next, in step S <b> 17 of FIG. 5, the
次に、CPU11は、対象スキャンFF1dとステップS19で選択した選択候補スキャンFF1bとを接続するようにスキャンFFのつなぎ順を変更する、つまり対象スキャンFF1dのリオーダー処理を実行する(ステップS20:リオーダー工程)。すなわち、CPU11は、図6(b)に示すように、スキャンFF1dのスキャンイン端子のつなぎ先を、スキャンFF1cからスキャンFF1bのスキャンアウト端子に変更する。これにより、出力側からスキャンFF1f→1e→1d→1bの順番でつなぎ順が確定される。さらに、CPU11は、上記つなぎ順の変更に伴って、スキャンFF1a〜1cのつなぎ順を、上記ステップS1で形成されたスキャンチェーンのつなぎ順をできる限り保持するように変更する(変更工程)。すなわち、CPU11は、スキャンFF1a,1b,1cのつなぎ順を、つなぎ順が未確定のスキャンFF1a,1cについて初期番号が入力側から小さい順となるように、つまりスキャンFF1a→1c→1bとなるように変更する。なお、図6(b)においては、上述のようにリオーダー処理に伴って接続が変更された配線、すなわちリオーダー候補の配線を破線矢印で示している。
Next, the
次に、CPU11は、つなぎ順の変更された全てのスキャンFF(ここでは、スキャンFF1a〜1d)に座標集合X3を適用してリオーダー処理を実行した否かを判定する(ステップS21)。ここでは、スキャンFF1a〜1cについては、未だ座標集合X3が適用されていないため(ステップS21でNO)、ステップS11に戻り、それらスキャンFF1a〜1cに対して座標集合X3を適用する。すなわち、上記ステップS20でつなぎ順の変更された全てのスキャンFF1a〜1c(リオーダー候補の配線)についてタイミングエラーが発生しないことを確認する。
Next, the
具体的には、CPU11は、ステップS11において、つなぎ順の変更された後のスキャンチェーンの各スキャンFFに対して、入力端子Ti側から出力端子To側に向かって順番に番号を付与する。ここでは、図7(a)に示すように、スキャンFF1a,1c,1b,1d,1e,1fにそれぞれ「1」、「2」、「3」、「4」、「5」、「6」という番号が付与される。なお、図7以降の図面におけるスキャンFF中に示された括弧内の数字は、上記ステップS1で形成されたスキャンチェーンに対して付与された初期番号である。
Specifically, in step S11, the
次に、CPU11は、つなぎ順の変更されたスキャンFF1a〜1cのうち、最も出力側のスキャンFF1bを対象スキャンFF1bとして選択する(ステップS12)。その後、CPU11は、このスキャンFF1bを中心とした、タイミングエラーの発生しない座標集合X3を算出する(ステップS13〜S16:算出工程)。この座標集合X3内に配置されたスキャンFFのうち、対象スキャンFF1bよりも入力側のスキャンFF1a,1cが選択候補となる(ステップS17でYES)。CPU11は、これら選択候補スキャンFF1a,1cのうち最大番号の付与されたスキャンFF1cをつなぎ先のスキャンFFとして選択する(ステップS19)。このように、対象スキャンFF1bのリオーダー候補の配線のつなぎ先であるスキャンFF1cがつなぎ先のスキャンFFとして選択されたことにより、これらスキャンFF1b,1cではタイミングエラーが発生しないと判断することができる。そして、CPU11は、図7(a)に示すように、対象スキャンFF1bのスキャンイン端子のつなぎ先を、スキャンFF1cのスキャンアウト端子に確定する(ステップS20)。
Next, the
同様に、スキャンFF1cについても座標集合X3の適用を実施し(ステップS11〜S20)、図7(b)に示すように、対象スキャンFF1cのスキャンイン端子のつなぎ先を、スキャンFF1aのスキャンアウト端子に確定する。
Similarly, the coordinate set X3 is also applied to the
このように、つなぎ順の変更された全てのスキャンFFに対して座標集合X3の適用が終了すると(ステップS21でYES)、CPU11は、タイミングエラーの発生した全てのスキャンFFに対して座標集合X3の適用が終了したかを判定する(ステップS22)。ここでは、タイミングエラーの発生した全てのスキャンFF1c,1dに対して座標集合X3の適用が終了しているため(ステップS22でYES)、スキャンチェーンのリオーダー処理を終了する。
As described above, when the application of the coordinate set X3 is completed for all the scan FFs whose connection order has been changed (YES in step S21), the
このようなリオーダー処理によって、図6(a)に示すリオーダー処理前のつなぎ順(スキャンFF1a→1b→1c→1d→1e→1f)が、図7(b)に示すつなぎ順(スキャンFF1a→1c→1b→1d→1e→1f)に変更される。このとき、つなぎ順が変更されたスキャンFF1a,1b,1c,1dでは、タイミングエラー(ホールドエラー及びセットアップエラー)の発生しない座標集合X3を適用させてつなぎ先が確定されているため、タイミングエラーが解消されている。したがって、このリオーダー処理により、ホールドエラー及びセットアップエラーの解消されたスキャンチェーンが形成される。換言すると、スキャンFF間に遅延素子を挿入することなく、スキャンFF間のつなぎ順を変更するのみで、ホールドエラー及びセットアップエラーを解消することができる。
By such reorder processing, the connection order (scan
なお、上記リオーダー処理後のスキャンチェーンに対するタイミング解析処理でタイミングエラーが発生する場合には、リオーダー処理回数が所定回数に達するまでは上述と同様のリオーダー処理が繰り返し実行される。 When a timing error occurs in the timing analysis process for the scan chain after the reorder process, the same reorder process as described above is repeatedly executed until the number of reorder processes reaches a predetermined number.
次に、第2の適用例におけるスキャンチェーンのリオーダー処理を図8〜図10に従って説明する。なお、図8(a)は、図3のステップS1で形成されたリオーダー処理前のスキャンチェーンを示している。このスキャンチェーンでは、各スキャンFF2a〜2gが入力端子Tiから出力端子Toに向かって、スキャンFF2a→2b→2c→2d→2e→2f→2gという順序で接続されており、スキャンFF2b,2c間でホールドエラーが発生している。
Next, the scan chain reordering process in the second application example will be described with reference to FIGS. FIG. 8A shows the scan chain before reorder processing formed in step S1 of FIG. In this scan chain, the
まず、CPU11は、図8(a)に示すように、スキャンFF2a,2b,2c,2d,2e,2f,2gにそれぞれ「1」、「2」、「3」、「4」、「5」、「6」、「7」という初期番号を付与する(ステップS11)。なお、このリオーダー処理前のスキャンチェーンに対して付与された初期番号情報は、記憶装置13に記憶される。
First, as shown in FIG. 8A, the
次に、CPU11は、タイミングエラーが発生したスキャンFFのうち任意の1つのスキャンFFを対象スキャンFFとして選択する(ステップS12)。本例では、CPU11は、入力側のスキャンFFからタイミングエラーが発生しているか否かを判定し、はじめにタイミングエラーの発生しているスキャンFFを選択する。具体的には、CPU11は、スキャンFF2a→2b→2c→2d→2e→2f→2gの順番でタイミングエラーが発生しているか否かを判定する。この場合には、スキャンFF2b,2c間でホールドエラーが発生しているため(破線矢印参照)、スキャンFF2bが対象スキャンFFとして選択されることになる。
Next, the
続いて、対象スキャンFF2bを中心とした、ホールドエラーの発生しない座標集合X1とセットアップエラーの発生しない座標集合X2を算出することにより、タイミングエラーの発生しない座標集合X3を算出する(ステップS13〜S16)。 Subsequently, by calculating a coordinate set X1 that does not cause a hold error and a coordinate set X2 that does not cause a setup error centered on the target scan FF2b, a coordinate set X3 that does not cause a timing error is calculated (steps S13 to S16). ).
次に、CPU11は、対象スキャンFF2bのつなぎ先の選択候補となるスキャンFFが存在するか否かを判定する(ステップS17)。具体的には、本例では上記ステップS12で入力側のスキャンFFからタイミングエラーが発生しているか否かを判定しているため、スキャンFF2bよりも出力側のスキャンFF2c〜2gの中に選択候補スキャンFFが存在するか否かを判定する。ここでは、図8(a)に示すように、座標集合X3内にスキャンFF2fが配置されているため、選択候補となるスキャンFFが存在すると判定される(ステップS17でYES)。続いて、本例では座標集合X3の適用によるリオーダー処理が入力側から実行されているため(ステップS18でNO)、CPU11は、選択候補スキャンFFのうち、対象スキャンFF2bから出力側に向かって最小番号の選択候補スキャンFF(ここでは、スキャンFF2f)を選択する(ステップS23)。ここで、対象スキャンFF2bから出力側に向かって最も近い番号の選択候補スキャンFFを選択するのは、上記ステップS1で形成されたスキャンチェーンのつなぎ順をできる限り保持した状態でリオーダー処理を実行するためである。
Next, the
次に、CPU11は、対象スキャンFF2bと上記ステップS19で選択した選択候補スキャンFF2fとを接続するように、スキャンFFのつなぎ順を変更する(ステップS20)。すなわち、CPU11は、図8(b)に示すように、スキャンFF2bのスキャンアウト端子のつなぎ先を、スキャンFF2cからスキャンFF2fのスキャンイン端子に変更する。この変更に伴って、スキャンFF2c〜2gのつなぎ順が、つなぎ順の未確定なスキャンFF2c〜2e,2gについて初期番号が入力側から小さい順となるように、つまりスキャン2f→2c→2d→2e→2gとなるように変更される(変更箇所は破線矢印参照)。なお、このときのつなぎ順の変更は、上記タイミング解析処理でタイミングエラーの発生が検出されていないスキャン配線(スキャンパス)は極力修正しないように実行される、とも言える。
Next, the
次に、CPU11は、つなぎ順の変更されたスキャンFF2fに対して座標集合X3を適用することにより、スキャンFF2f,2c間でタイミングエラーが発生しないことを確認する。具体的には、図8(b)に示すスキャンチェーン上のスキャンFF2a,2b,2f,2c,2d,2e,2gに対して、「1」、「2」、「3」、「4」、「5」、「6」、「7」という番号を付与する(図9(a)参照)。続いて、スキャンFF2fを中心とした座標集合X3を算出し、スキャンFF2fのつなぎ先であるスキャンFF2cが座標集合X3内に配置されているか否かを確認する(ステップS12〜S17)。しかし、ここでは、スキャンFF2cが座標集合X3内に配置されていないため、スキャンFF2f,2c間ではホールドエラーが発生すると判定される。そこで、CPU11は、座標集合X3内に配置された選択候補スキャンFF2eを、対象スキャンFF2fのつなぎ先のスキャンFFとして選択する。
Next, the
続いて、CPU11は、図9(a)に示すように、スキャンFF2fのスキャンアウト端子のつなぎ先を、スキャンFF2cからスキャンFF2eのスキャンイン端子に変更する。この変更に伴って、スキャンFF2c〜2e,2gのつなぎ順が、つなぎ順の未確定なスキャンFF2c,2d,2gについて初期番号が入力側から小さい順となるように、つまりスキャンFF2e→2c→2d→2gとなるように変更される(変更箇所は破線矢印参照)。
Subsequently, as illustrated in FIG. 9A, the
次に、CPU11は、つなぎ順の変更されたスキャンFF2eに対して座標集合X3を適用することにより、スキャンFF2e,2c間でタイミングエラーが発生しないことを確認する(ステップS11〜S19)。ここでは、図9(b)に示すように、スキャンFF2eを中心とした座標集合X3内にスキャンFF2cが含まれるため、CPU11は、スキャンFF2eのスキャンアウト端子のつなぎ先を、スキャンFF2cのスキャンイン端子に確定する(ステップS20)。同様に、CPU11は、スキャンFF2dに対して座標集合X3を適用し、図10に示すように、スキャンFF2dのスキャンアウト端子のつなぎ先を、スキャンFF2gのスキャンイン端子に確定する(ステップS11〜S20)。なお、スキャンFF2c,2d間は、リオーダー処理前からつなぎ順が変更されておらず、リオーダー処理前からタイミングエラーが発生していないため、このスキャンFF2cに対して座標集合X3は適用されない。
Next, the
以上の処理により、つなぎ順が変更された全てのスキャンFF及びタイミングエラーの発生した全てのスキャンFFに対して座標集合X3の適用が終了するため(ステップS21,S22でYES)、CPU11はスキャンチェーンのリオーダー処理を終了する。 As a result of the above processing, the application of the coordinate set X3 is completed for all the scan FFs whose connection order has been changed and all the scan FFs in which the timing error has occurred (YES in steps S21 and S22). End the reorder process.
このようなリオーダー処理によって、スキャンFF2a→2b→2c→2d→2e→2f→2gのつなぎ順(図8(a)参照)が、スキャンFF2a→2b→2f→2e→2c→2d→2g(図10参照)となるように変更される。これにより、ホールドエラー及びセットアップエラーの解消されたスキャンチェーンが形成される。
By such reorder processing, the connecting order of the
最後に、第3の適用例におけるスキャンチェーンのリオーダー処理を図11〜図14に従って説明する。なお、図11(a)は、図3のステップS1で形成されたリオーダー処理前のスキャンチェーンを示している。このスキャンチェーンでは、各スキャンFF3a〜3hが入力端子Tiから出力端子Toに向かって、スキャンFF3a→3b→3c→3d→3e→3f→3g→3hという順序で接続されている。また、このスキャンチェーンでは、スキャンFF3c,3d間及びスキャンFF3f,3g間でホールドエラーが発生している(破線矢印参照)。
Finally, the scan chain reordering process in the third application example will be described with reference to FIGS. FIG. 11A shows the scan chain before reorder processing formed in step S1 of FIG. In this scan chain, the
まず、CPU11は、図11(a)に示すように、スキャンFF3a,3b,3c,3d,3e,3f,3g,3hにそれぞれ「1」、「2」、「3」、「4」、「5」、「6」、「7」、「8」という初期番号を付与する(ステップS11)。なお、このリオーダー処理前のスキャンチェーンに対して付与された初期番号情報は、記憶装置13に記憶される。
First, as shown in FIG. 11A, the
次に、CPU11は、第1の適用例と同様に、出力側のスキャンFFから座標集合X3の適用によるリオーダー処理を実行する。具体的には、CPU11は、スキャンFF3h→3g→3f→3e→3d→3c→3b→3aの順番でタイミングエラーが発生しているか否かを判定する。この場合には、スキャンFF3f,3g間でホールドエラーが発生しているため(破線矢印参照)、CPU11は、スキャンFF3gを対象スキャンFFとして選択する(ステップS12)。
Next, as in the first application example, the
続いて、対象スキャンFF3gを中心とした、ホールドエラーの発生しない座標集合X1とセットアップエラーの発生しない座標集合X2を算出することにより、タイミングエラーの発生しない座標集合X3を算出する(ステップS13〜S16)。
Subsequently, by calculating a coordinate set X1 that does not cause a hold error and a coordinate set X2 that does not cause a setup error centered on the
次に、図11(a)示すように、対象スキャンFF3gよりも入力側のスキャンFF3d,3eが座標集合X3内に配置されているため、選択候補スキャンFFが存在すると判定される(ステップS17でYES)。続いて、本例では座標集合X3の適用が出力側から実行されているため(ステップS18でYES)、選択候補のスキャンFF3d(番号:4)とスキャンFF3e(番号:5)のうち最大番号の選択候補スキャンFF3eを選択する(ステップS23)。
Next, as shown in FIG. 11A, since the
次いで、CPU11は、図11(b)に示すように、対象スキャンFF3gのスキャンイン端子のつなぎ先を、スキャンFF3fからスキャン3eのスキャンアウト端子に変更する。この変更に伴って、スキャンFF3d〜3gのつなぎ順が、つなぎ順の未確定なスキャンFF3d,3fについて初期番号が入力側から小さい順となるように、つまりスキャンFF3d→3f→3e→3gとなるように変更される(破線矢印参照)。
Next, as illustrated in FIG. 11B, the
次に、CPU11は、つなぎ順の変更されたスキャンFF3eに対して座標集合X3を適用することにより、スキャンFF3e,3f間でタイミングエラーが発生しないことを確認する(ステップS11〜S19)。ここでは、図12(a)に示すように、スキャンFF3eを中心とした座標集合X3内にスキャンFF3fが含まれるため、スキャンFF3eのスキャンイン端子のつなぎ先が、スキャンFF3fのスキャンアウト端子に確定される(ステップS20)。同様に、スキャンFF3fに対して座標集合X3が適用され、図12(b)に示されるように、スキャンFF3fのスキャンイン端子のつなぎ先が、スキャンFF3dのスキャンアウト端子に確定される(ステップS11〜S20)。
Next, the
このような処理により、つなぎ順の変更された全てのスキャンFF3e,3fに対して座標集合X3の適用が終了する(ステップS21でYES)。但し、上述したように、本例のスキャンチェーンでは、スキャンFF3c,3d間でもタイミングエラーが発生しているため(ステップS22でNO)、CPU11は、ステップS11に戻ってスキャンFF3c,3d間のリオーダー処理を実行する。
By such processing, application of the coordinate set X3 is completed for all the
まず、CPU11は、図13(a)に示すように、スキャンFF3a,3b,3c,3d,3f,3e,3g,3hにそれぞれ「1」、「2」、「3」、「4」、「5」、「6」、「7」、「8」という番号を付与する(ステップS11)。
First, as shown in FIG. 13A, the
次に、スキャンFF3c,3d間でタイミングエラーが発生しているため(破線矢印参照)、出力側のスキャンFF3dが対象スキャンFFとして選択される(ステップS12)。続いて、CPU11は、対象スキャンFF3dを中心とした座標集合X3を算出する(ステップS13〜S16)。
Next, since a timing error has occurred between the
次に、CPU11は、対象スキャンFF3dのつなぎ先の選択候補となるスキャンFFが存在するか否かを判定する(ステップS17)。このとき、スキャンFF3dよりも入力側のスキャンFF3a〜3cの中で座標集合X3内に配置されているスキャンFFが存在しないため、選択候補となるスキャンFFが存在しないと判定される(ステップS17でNO)。すると、図5に示すステップS24において、CPU11は、スキャンFF3dよりも入力側のスキャンFF3a〜3cの中で座標集合X1の境界線に最も近いスキャンFF(ここでは、スキャンFF3b)をつなぎ先のスキャンFFに選択する。より具体的には、CPU11は、スキャンFF3dよりも入力側のスキャンFF3a〜3cの中で座標集合X1の境界線に最も近く、且つスキャン配線のつなぎ替えが行われていないスキャンFFを選択する。なお、第2の適用例のように入力側のスキャンFFから座標集合X3を適用する場合には、対象スキャンFFよりも出力側のスキャンFFの中で座標集合X1の境界線に最も近く、且つスキャン配線のつなぎ替えが行われていないスキャンFFが選択される。
Next, the
続いて、CPU11は、図13(b)に示すように、対象スキャンFF3dのスキャンイン端子のつなぎ先を、スキャンFF3cからスキャンFF3bのスキャンアウト端子に変更する(ステップS20)。この変更に伴って、スキャンFF3a〜3dのつなぎ順が、つなぎ順の未確定なスキャンFF3a,3cについて初期番号が入力側から小さい順となるように、つまりスキャンFF3a→3c→3b→3dとなるように変更される(破線矢印参照)。
Subsequently, as illustrated in FIG. 13B, the
次に、CPU11は、つなぎ順の変更されたスキャンFF3bに対して座標集合X3を適用することにより、スキャンFF3b,3c間でタイミングエラーが発生しないことを確認する(ステップS11〜S19)。ここでは、図14(a)に示すように、対象スキャンFF3bを中心とした座標集合X3内にスキャンFF3cが含まれるため、スキャンFF3bのスキャンイン端子のつなぎ先が、スキャンFF3cのスキャンアウト端子に確定される(ステップS20)。同様に、スキャンFF3cに対して座標集合X3が適用され、図14(b)に示されるように、スキャンFF3cのスキャンイン端子のつなぎ先が、スキャンFF3aのスキャンアウト端子に確定される(ステップS11〜S20)。
Next, the
以上の処理により、つなぎ順が変更された全てのスキャンFF及びタイミングエラーの発生した全てのスキャンFFに対して座標集合X3の適用が終了するため(ステップS21,S22でYES)、スキャンチェーンのリオーダー処理を終了する。 As a result of the above processing, the application of the coordinate set X3 is completed for all the scan FFs whose connection order has been changed and all the scan FFs in which the timing error has occurred (YES in steps S21 and S22). End the order process.
このようなリオーダー処理によって、スキャンFF3a→3b→3c→3d→3e→3f→3g→3hのつなぎ順(図11(a)参照)が、スキャンFF3a→3c→3b→3d→3f→3e→3g→3hのつなぎ順(図14(b)参照)に変更される。このリオーダー処理後のスキャンチェーンに対するタイミング解析処理(図3のステップS5)でタイミングエラーが発生する場合(例えば、上記スキャンFF3b,3d間でタイミングエラーが発生する場合)には、リオーダー処理回数が所定回数に達するまで上述と同様のリオーダー処理が繰り返し実行される。なお、最小伝搬遅延時間Dminを算出する際にマージンを設定している場合には、スキャンFF3dを中心とした座標集合X3内にスキャンFF3bが配置されていなくとも、タイミング解析処理でタイミングエラーが発生しない場合もある。
By such reorder processing, the connecting order of the
以上説明した本実施形態によれば、以下の効果を奏することができる。
(1)タイミングエラーが発生した対象スキャンFFを中心とした、タイミングエラーの発生しない座標集合X3内に配置されたスキャンFFの中から、リオーダー処理前のスキャンチェーンのつなぎ順を極力保持するように1つのスキャンFFを選択する。そして、その選択したスキャンFFと対象スキャンFFを接続するようにつなぎ順を変更するようにした。これにより、タイミングエラーの発生しない位置に配置されたスキャンFFと対象スキャンFFが接続されるため、対象スキャンFFにおけるタイミングエラーを解消することができる。すなわち、スキャンFF間に遅延素子を挿入することなく、スキャンFF間のつなぎ順を変更するのみでホールドエラーの解消あるいはエラー値の縮小を図ることができる。このとき、ホールドエラーのみならず、セットアップエラーも発生しない位置に配置されたスキャンFFがつなぎ先として選択されるため、スキャンFF間のつなぎ順を変更するのみでセットアップエラーも解消することができる。このため、各スキャンFFに入力されるクロック信号の周波数を低くする必要がなく、試験時間及び試験コストの増大を抑制することができる。
According to this embodiment described above, the following effects can be obtained.
(1) From the scan FFs arranged in the coordinate set X3 where the timing error does not occur, centering on the target scan FF in which the timing error has occurred, the connecting order of the scan chains before the reorder processing is maintained as much as possible. One scan FF is selected. Then, the connection order is changed so that the selected scan FF and the target scan FF are connected. Thereby, since the scan FF and the target scan FF arranged at a position where the timing error does not occur are connected, the timing error in the target scan FF can be eliminated. In other words, it is possible to eliminate the hold error or reduce the error value only by changing the connection order between the scan FFs without inserting a delay element between the scan FFs. At this time, the scan FFs arranged at positions where not only the hold error but also the setup error does not occur are selected as the connection destinations. Therefore, the setup error can be solved only by changing the connection order between the scan FFs. For this reason, it is not necessary to lower the frequency of the clock signal input to each scan FF, and the increase in test time and test cost can be suppressed.
(2)さらに、対象スキャンFFのつなぎ先を、各スキャンFFのスキャン端子間の配線長が最短となるように形成されたリオーダー処理前のスキャンチェーンのつなぎ順を極力保持するように選択するようにした。これにより、つなぎ順の変更処理が進んだ際に、対象スキャンFFから離れた位置(具体的には、対象スキャンFFを中心とした座標の集合X2よりも離れた位置)に配置されたスキャンFFしかつなぎ先として残らない、という状況を回避することができる。したがって、リオーダー処理後のスキャンチェーンでセットアップエラーが発生することを好適に抑制することができる。 (2) Further, the connection destinations of the target scan FFs are selected so that the connection order of the scan chains before the reorder process formed so that the wiring length between the scan terminals of each scan FF is the shortest is maintained as much as possible. I did it. As a result, when the connection order changing process proceeds, the scan FF arranged at a position away from the target scan FF (specifically, a position away from the coordinate set X2 centered on the target scan FF). However, it is possible to avoid the situation where it does not remain as a tip. Therefore, it is possible to suitably suppress the occurrence of a setup error in the scan chain after the reorder process.
(3)第1及び第3の適用例では、出力側のスキャンFFから座標集合X3の適用によるリオーダー処理を実行するようにした。これにより、ホールドエラーを入力側のスキャンFFに送ることができる。このため、入力端子Tiから入力される試験信号のタイミング調整によって上記ホールドエラーを解消することもできる。 (3) In the first and third application examples, the reorder process is executed by applying the coordinate set X3 from the scan FF on the output side. As a result, a hold error can be sent to the scan FF on the input side. For this reason, the hold error can be eliminated by adjusting the timing of the test signal input from the input terminal Ti.
(他の実施形態)
なお、上記実施形態は、これを適宜変更した以下の態様にて実施することもできる。
・上記実施形態におけるステップS7を省略してもよい。この場合には、例えば1回のみリオーダー処理(ステップS4)を実行するようにしてもよい。
(Other embodiments)
In addition, the said embodiment can also be implemented in the following aspects which changed this suitably.
-Step S7 in the above embodiment may be omitted. In this case, for example, the reorder process (step S4) may be executed only once.
・上記実施形態におけるステップS24を省略してもよい。この場合には、例えばステップS17において選択候補となるスキャンFFが存在しないときに、つなぎ順を変更せずに以降の処理を実行するようにしてもよい。 -Step S24 in the above embodiment may be omitted. In this case, for example, when there is no scan FF as a selection candidate in step S17, the subsequent processing may be executed without changing the connection order.
・上記実施形態のステップS11において、スキャンチェーン上の各スキャンFFに対して、入力側から出力側に向かって降順に番号を付与するようにしてもよい。
・上記実施形態において、最小伝搬遅延時間Dminや最大伝搬遅延時間Dmaxを算出する際にマージンを設定するようにしてもよい。
In step S11 of the above embodiment, numbers may be assigned to the scan FFs on the scan chain in descending order from the input side to the output side.
In the above embodiment, a margin may be set when calculating the minimum propagation delay time Dmin and the maximum propagation delay time Dmax.
・上記実施形態において、最小伝搬遅延時間Dminや最大伝搬遅延時間DmaxをスキャンFF間距離に換算せずに、これら各遅延時間Dmin,Dmaxをそのまま選択候補スキャンFFを探索するのに利用してもよい。すなわち、最小伝搬遅延時間Dmin及び最大伝搬遅延時間Dmaxから、対象スキャンFFを中心とした、タイミングエラーの発生しない第1の範囲を算出するようにしてもよい。 In the above embodiment, the minimum propagation delay time Dmin and the maximum propagation delay time Dmax are not converted into the distance between the scan FFs, and these delay times Dmin and Dmax can be used as they are for searching the selection candidate scan FF. Good. That is, a first range in which no timing error occurs centering on the target scan FF may be calculated from the minimum propagation delay time Dmin and the maximum propagation delay time Dmax.
・上記実施形態において、スキャンチェーンのリオーダー処理を実行した後のタイミング解析処理でタイミングエラーが残っている場合に、そのタイミングエラーの発生しているスキャンFF間に遅延素子を挿入するようにしてもよい。これにより、ホールドエラーを解消するために挿入する遅延素子の数を削減しながら、ホールドエラーを解消することができる。 In the above embodiment, when a timing error remains in the timing analysis process after executing the scan chain reorder process, a delay element is inserted between the scan FFs in which the timing error has occurred. Also good. Thereby, it is possible to eliminate the hold error while reducing the number of delay elements to be inserted in order to eliminate the hold error.
・上記実施形態において、フリップフロップ以外のデータ保持回路でスキャンチェーンを形成する場合にも応用可能である。
上記各実施形態に関し、以下の付記を開示する。
In the above embodiment, the present invention can be applied to the case where a scan chain is formed by a data holding circuit other than a flip-flop.
The following notes are disclosed regarding the above embodiments.
(付記1)
設計支援装置の中央処理装置にて実行されるスキャンチェーン形成方法であって、
複数のデータ保持回路のうちタイミングエラーの発生した第1のデータ保持回路を基準としてタイミングエラーの発生しない第1の範囲を算出する算出工程と、
前記第1の範囲内に配置されたデータ保持回路の中から、前記各データ保持回路のスキャン端子間の配線長が最短となるように形成されたスキャンチェーンのつなぎ順を保持するように1つのデータ保持回路を選択する選択工程と、
前記選択したデータ保持回路と前記第1のデータ保持回路とを接続するようにつなぎ順を変更するリオーダー工程と、
を含むことを特徴とするスキャンチェーン形成方法。
(Appendix 1)
A scan chain forming method executed by a central processing unit of a design support device,
A calculating step for calculating a first range in which a timing error does not occur with reference to a first data holding circuit in which a timing error has occurred among a plurality of data holding circuits;
One of the data holding circuits arranged in the first range is held so as to hold the connecting order of the scan chains formed so that the wiring length between the scan terminals of each data holding circuit is the shortest. A selection step of selecting a data holding circuit;
A reordering step for changing a connection order so as to connect the selected data holding circuit and the first data holding circuit;
A scan chain forming method comprising:
(付記2)
前記算出工程の前に、前記スキャンチェーン上の前記複数のデータ保持回路に対して入力側から出力側に向かって順番に番号を付与する番号付与工程を含み、
前記算出工程は、前記複数のデータ保持回路のうち出力側のデータ保持回路から前記第1のデータ保持回路を選択する工程を含み、
前記選択工程は、前記第1の範囲内に配置されたデータ保持回路の中から、前記第1のデータ保持回路よりも入力側であって前記第1のデータ保持回路の番号に最も近い番号の付与されたデータ保持回路を選択する
ことを特徴とする付記1に記載のスキャンチェーン形成方法。
(Appendix 2)
Before the calculating step, including a numbering step of sequentially assigning numbers to the plurality of data holding circuits on the scan chain from the input side toward the output side,
The calculating step includes a step of selecting the first data holding circuit from an output side data holding circuit among the plurality of data holding circuits,
In the selection step, among the data holding circuits arranged in the first range, the number closest to the number of the first data holding circuit on the input side than the first data holding circuit. The scan chain forming method according to
(付記3)
前記算出工程の前に、前記スキャンチェーン上の前記複数のデータ保持回路に対して入力側から出力側に向かって順番に番号を付与する番号付与工程を含み、
前記算出工程は、前記複数のデータ保持回路のうち入力側のデータ保持回路から前記第1のデータ保持回路を選択する工程を含み、
前記選択工程は、前記第1の範囲内に配置されたデータ保持回路の中から、前記第1のデータ保持回路よりも出力側であって前記第1のデータ保持回路の番号に最も近い番号の付与されたデータ保持回路を選択する
ことを特徴とする付記1に記載のスキャンチェーン形成方法。
(Appendix 3)
Before the calculating step, including a numbering step of sequentially assigning numbers to the plurality of data holding circuits on the scan chain from the input side toward the output side,
The calculating step includes a step of selecting the first data holding circuit from an input side data holding circuit among the plurality of data holding circuits,
In the selection step, among the data holding circuits arranged in the first range, the number closest to the number of the first data holding circuit on the output side than the first data holding circuit. The scan chain forming method according to
(付記4)
前記算出工程は、
前記第1のデータ保持回路を中心とした、ホールドエラーの発生しない第1の座標の集合を算出する工程と、
前記第1のデータ保持回路を中心とした、セットアップエラーの発生しない第2の座標の集合を算出する工程と、を含むことを特徴とする付記1〜3のいずれか1つに記載のスキャンチェーン形成方法。
(Appendix 4)
The calculation step includes
Calculating a first set of coordinates centering on the first data holding circuit and causing no hold error;
The scan chain according to any one of
(付記5)
前記選択工程は、
前記第1の範囲内に選択候補となるデータ保持回路が存在しない場合において、
出力側のデータ保持回路から前記第1のデータ保持回路を選択するときには、前記第1のデータ保持回路よりも入力側であって前記第1の座標の集合の境界に最も近いデータ保持回路を選択する、又は、
入力側のデータ保持回路から前記第1のデータ保持回路を選択するときには、前記第1のデータ保持回路よりも出力側であって前記第1の座標の集合の境界に最も近いデータ保持回路を選択する
ことを特徴とする付記4に記載のスキャンチェーン形成方法。
(Appendix 5)
The selection step includes
In the case where there is no data holding circuit as a selection candidate within the first range,
When selecting the first data holding circuit from the data holding circuit on the output side, select the data holding circuit closest to the boundary of the set of the first coordinates on the input side than the first data holding circuit Or
When selecting the first data holding circuit from the data holding circuit on the input side, select the data holding circuit closest to the boundary of the set of the first coordinates on the output side than the first data holding circuit The scan chain forming method according to
(付記6)
前記第1の座標の集合を算出する工程は、
前記第1のデータ保持回路を基点として前記ホールドエラーの発生しない最小伝搬遅延時間を算出する工程と、
前記最小伝搬遅延時間を前記データ保持回路のスキャン端子間距離に換算する工程とを含み、
前記第2の座標の集合を算出する工程は、
前記第1のデータ保持回路を基点として前記セットアップエラーの発生しない最大伝搬遅延時間を算出する工程と、
前記最大伝搬遅延時間を前記データ保持回路のスキャン端子間距離に換算する工程とを含むことを特徴とする付記4に記載のスキャンチェーン形成方法。
(Appendix 6)
Calculating the first set of coordinates comprises:
Calculating a minimum propagation delay time in which the hold error does not occur with the first data holding circuit as a base point;
Converting the minimum propagation delay time into a distance between scan terminals of the data holding circuit,
The step of calculating the second set of coordinates includes:
Calculating a maximum propagation delay time in which the setup error does not occur with the first data holding circuit as a base point;
The scan chain forming method according to
(付記7)
前記リオーダー工程は、
前記選択工程で選択されたデータ保持回路と前記第1のデータ保持回路との接続によってつなぎ順が未確定となるデータ保持回路のつなぎ順を、前記各データ保持回路のスキャン端子間の配線長が最短となるように形成されたスキャンチェーンのつなぎ順をできる限り保持するように変更する変更工程を含むことを特徴とする付記1〜6のいずれか1つに記載のスキャンチェーン形成方法。
(Appendix 7)
The reordering process includes:
The connection order of the data holding circuits in which the connection order is undetermined by the connection between the data holding circuit selected in the selection step and the first data holding circuit, and the wiring length between the scan terminals of each data holding circuit is 7. The scan chain forming method according to any one of
(付記8)
前記変更工程においてつなぎ順の変更されたデータ保持回路について、該データ保持回路を前記第1のデータ保持回路とし、前記第1の範囲を利用して前記タイミングエラーが発生しないことを確認する工程を含むことを特徴とする付記7に記載のスキャンチェーン形成方法。
(Appendix 8)
For the data holding circuit whose connection order has been changed in the changing step, the step of confirming that the timing error does not occur using the first range as the data holding circuit as the first data holding circuit. The scan chain forming method according to
(付記9)
設計支援装置により実行されるプログラムであって、
複数のデータ保持回路のうちタイミングエラーの発生した第1のデータ保持回路を基準としてタイミングエラーの発生しない第1の範囲を算出する算出工程と、
前記第1の範囲内に配置されたデータ保持回路の中から、前記各データ保持回路のスキャン端子間の配線長が最短となるように形成されたスキャンチェーンのつなぎ順を保持するように1つのデータ保持回路を選択する選択工程と、
前記選択したデータ保持回路と前記第1のデータ保持回路とを接続するようにつなぎ順を変更するリオーダー工程と、
を含むことを特徴とするプログラム。
(Appendix 9)
A program executed by the design support device,
A calculating step for calculating a first range in which a timing error does not occur with reference to a first data holding circuit in which a timing error has occurred among a plurality of data holding circuits;
One of the data holding circuits arranged in the first range is held so as to hold the connecting order of the scan chains formed so that the wiring length between the scan terminals of each data holding circuit is the shortest. A selection step of selecting a data holding circuit;
A reordering step for changing a connection order so as to connect the selected data holding circuit and the first data holding circuit;
The program characterized by including.
(付記10)
複数のデータ保持回路のうちタイミングエラーの発生した第1のデータ保持回路を基準としてタイミングエラーの発生しない第1の範囲を算出する算出工程と、
前記第1の範囲内に配置されたデータ保持回路の中から、前記各データ保持回路のスキャン端子間の配線長が最短となるように形成されたスキャンチェーンのつなぎ順を保持するように1つのデータ保持回路を選択する選択工程と、
前記選択したデータ保持回路と前記第1のデータ保持回路とを接続するようにつなぎ順を変更するリオーダー工程と、
を実行することを特徴とする設計支援装置。
(Appendix 10)
A calculating step for calculating a first range in which a timing error does not occur with reference to a first data holding circuit in which a timing error has occurred among a plurality of data holding circuits;
One of the data holding circuits arranged in the first range is held so as to hold the connecting order of the scan chains formed so that the wiring length between the scan terminals of each data holding circuit is the shortest. A selection step of selecting a data holding circuit;
A reordering step for changing a connection order so as to connect the selected data holding circuit and the first data holding circuit;
A design support apparatus characterized by executing
10 設計支援装置
11 中央処理装置
1a〜1f,2a〜2g,3a〜3h スキャンフリップフロップ(データ保持回路)
SI スキャンイン端子(スキャン端子)
SO スキャンアウト端子(スキャン端子)
DESCRIPTION OF
SI Scan-in terminal (Scan terminal)
SO scan-out terminal (scan terminal)
Claims (7)
複数のデータ保持回路のうちタイミングエラーの発生した第1のデータ保持回路を基準としてタイミングエラーの発生しない第1の範囲を算出する算出工程と、
前記第1の範囲内に配置されたデータ保持回路の中から、前記各データ保持回路のスキャン端子間の配線長が最短となるように形成されたスキャンチェーンのつなぎ順を保持するように1つのデータ保持回路を選択する選択工程と、
前記選択したデータ保持回路と前記第1のデータ保持回路とを接続するようにつなぎ順を変更するリオーダー工程と、
を含むことを特徴とするスキャンチェーン形成方法。 A scan chain forming method executed by a central processing unit of a design support device,
A calculating step for calculating a first range in which a timing error does not occur with reference to a first data holding circuit in which a timing error has occurred among a plurality of data holding circuits;
One of the data holding circuits arranged in the first range is held so as to hold the connecting order of the scan chains formed so that the wiring length between the scan terminals of each data holding circuit is the shortest. A selection step of selecting a data holding circuit;
A reordering step for changing a connection order so as to connect the selected data holding circuit and the first data holding circuit;
A scan chain forming method comprising:
前記算出工程は、前記複数のデータ保持回路のうち出力側のデータ保持回路から前記第1のデータ保持回路を選択する工程を含み、
前記選択工程は、前記第1の範囲内に配置されたデータ保持回路の中から、前記第1のデータ保持回路よりも入力側であって前記第1のデータ保持回路の番号に最も近い番号の付与されたデータ保持回路を選択する
ことを特徴とする請求項1に記載のスキャンチェーン形成方法。 Before the calculating step, including a numbering step of sequentially assigning numbers to the plurality of data holding circuits on the scan chain from the input side toward the output side,
The calculating step includes a step of selecting the first data holding circuit from an output side data holding circuit among the plurality of data holding circuits,
In the selection step, among the data holding circuits arranged in the first range, the number closest to the number of the first data holding circuit on the input side than the first data holding circuit. 2. The scan chain forming method according to claim 1, wherein a given data holding circuit is selected.
前記算出工程は、前記複数のデータ保持回路のうち入力側のデータ保持回路から前記第1のデータ保持回路を選択する工程を含み、
前記選択工程は、前記第1の範囲内に配置されたデータ保持回路の中から、前記第1のデータ保持回路よりも出力側であって前記第1のデータ保持回路の番号に最も近い番号の付与されたデータ保持回路を選択する
ことを特徴とする請求項1に記載のスキャンチェーン形成方法。 Before the calculating step, including a numbering step of sequentially assigning numbers to the plurality of data holding circuits on the scan chain from the input side toward the output side,
The calculating step includes a step of selecting the first data holding circuit from an input side data holding circuit among the plurality of data holding circuits,
In the selection step, among the data holding circuits arranged in the first range, the number closest to the number of the first data holding circuit on the output side than the first data holding circuit. 2. The scan chain forming method according to claim 1, wherein a given data holding circuit is selected.
前記第1のデータ保持回路を中心とした、ホールドエラーの発生しない第1の座標の集合を算出する工程と、
前記第1のデータ保持回路を中心とした、セットアップエラーの発生しない第2の座標の集合を算出する工程と、を含むことを特徴とする請求項1〜3のいずれか1つに記載のスキャンチェーン形成方法。 The calculation step includes
Calculating a first set of coordinates centering on the first data holding circuit and causing no hold error;
The method according to claim 1, further comprising: calculating a second set of coordinates centering on the first data holding circuit and causing no setup error. Chain formation method.
前記第1の範囲内に選択候補となるデータ保持回路が存在しない場合において、
出力側のデータ保持回路から前記第1のデータ保持回路を選択するときには、前記第1のデータ保持回路よりも入力側であって前記第1の座標の集合の境界に最も近いデータ保持回路を選択する、又は、
入力側のデータ保持回路から前記第1のデータ保持回路を選択するときには、前記第1のデータ保持回路よりも出力側であって前記第1の座標の集合の境界に最も近いデータ保持回路を選択する
ことを特徴とする請求項4に記載のスキャンチェーン形成方法。 The selection step includes
In the case where there is no data holding circuit as a selection candidate within the first range,
When selecting the first data holding circuit from the data holding circuit on the output side, select the data holding circuit closest to the boundary of the set of the first coordinates on the input side than the first data holding circuit Or
When selecting the first data holding circuit from the data holding circuit on the input side, select the data holding circuit closest to the boundary of the set of the first coordinates on the output side than the first data holding circuit The scan chain forming method according to claim 4, wherein:
複数のデータ保持回路のうちタイミングエラーの発生した第1のデータ保持回路を基準としてタイミングエラーの発生しない第1の範囲を算出する算出工程と、
前記第1の範囲内に配置されたデータ保持回路の中から、前記各データ保持回路のスキャン端子間の配線長が最短となるように形成されたスキャンチェーンのつなぎ順を保持するように1つのデータ保持回路を選択する選択工程と、
前記選択したデータ保持回路と前記第1のデータ保持回路とを接続するようにつなぎ順を変更するリオーダー工程と、
を含むことを特徴とするプログラム。 A program executed by the design support device,
A calculating step for calculating a first range in which a timing error does not occur with reference to a first data holding circuit in which a timing error has occurred among a plurality of data holding circuits;
One of the data holding circuits arranged in the first range is held so as to hold the connecting order of the scan chains formed so that the wiring length between the scan terminals of each data holding circuit is the shortest. A selection step of selecting a data holding circuit;
A reordering step for changing a connection order so as to connect the selected data holding circuit and the first data holding circuit;
The program characterized by including.
前記第1の範囲内に配置されたデータ保持回路の中から、前記各データ保持回路のスキャン端子間の配線長が最短となるように形成されたスキャンチェーンのつなぎ順を保持するように1つのデータ保持回路を選択する選択工程と、
前記選択したデータ保持回路と前記第1のデータ保持回路とを接続するようにつなぎ順を変更するリオーダー工程と、
を実行することを特徴とする設計支援装置。 A calculating step for calculating a first range in which a timing error does not occur with reference to a first data holding circuit in which a timing error has occurred among a plurality of data holding circuits;
One of the data holding circuits arranged in the first range is held so as to hold the connecting order of the scan chains formed so that the wiring length between the scan terminals of each data holding circuit is the shortest. A selection step of selecting a data holding circuit;
A reordering step for changing a connection order so as to connect the selected data holding circuit and the first data holding circuit;
A design support apparatus characterized by executing
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010137214A JP5447209B2 (en) | 2010-06-16 | 2010-06-16 | Scan chain forming method, program, and design support apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010137214A JP5447209B2 (en) | 2010-06-16 | 2010-06-16 | Scan chain forming method, program, and design support apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012003471A true JP2012003471A (en) | 2012-01-05 |
JP5447209B2 JP5447209B2 (en) | 2014-03-19 |
Family
ID=45535382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010137214A Expired - Fee Related JP5447209B2 (en) | 2010-06-16 | 2010-06-16 | Scan chain forming method, program, and design support apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5447209B2 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006258694A (en) * | 2005-03-18 | 2006-09-28 | Fujitsu Ltd | Method for resolving hold error of scan chain |
-
2010
- 2010-06-16 JP JP2010137214A patent/JP5447209B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006258694A (en) * | 2005-03-18 | 2006-09-28 | Fujitsu Ltd | Method for resolving hold error of scan chain |
Also Published As
Publication number | Publication date |
---|---|
JP5447209B2 (en) | 2014-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8701064B2 (en) | Timing error removing method and design support apparatus | |
US20120137263A1 (en) | Timing closure in chip design | |
US7469393B2 (en) | Method and device for supporting verification, and computer product | |
CN113221491A (en) | Integrated circuit design method, device and equipment | |
JP5040758B2 (en) | Simulation apparatus, simulation method, and program | |
JP4736822B2 (en) | Semiconductor integrated circuit design support apparatus, design support method, and design support program | |
JP5447209B2 (en) | Scan chain forming method, program, and design support apparatus | |
JP4473163B2 (en) | How to eliminate scan chain hold errors | |
JP2012146865A (en) | Semiconductor integrated circuit, and scan test circuit design method | |
JPWO2006025412A1 (en) | Logic verification method, logic module data, device data, and logic verification apparatus | |
JP6089853B2 (en) | Wiring inspection apparatus, wiring inspection program, and wiring inspection method | |
JP2013019694A (en) | Scan test circuit and generation method of scan test circuit | |
JP4886559B2 (en) | Semiconductor design support apparatus, semiconductor design support method, and semiconductor design support program | |
US8683399B2 (en) | Timing constraint generating support apparatus and method of supporting generation of timing constraint | |
JP7334580B2 (en) | Automatic placement and routing device, automatic placement and routing method, automatic placement and routing program, storage medium storing automatic placement and routing program, and semiconductor integrated circuit | |
JP2002351939A (en) | Formal verification method | |
JP2019046087A (en) | Semiconductor design assisting device, semiconductor design assisting method, and program | |
JP2006268439A (en) | Semiconductor integrated circuit, design method and design device for semiconductor integrated circuit, and design program for semiconductor integrated circuit | |
JP2006310469A (en) | Method, system, and program for laying out semiconductor integrated circuit devices | |
JP2006106838A (en) | Semiconductor integrated circuit, its designing device, designing method, designing program, test vector verification device, and test vector generation device | |
JP6613971B2 (en) | Information processing apparatus, design support method, and design support program | |
US8782579B2 (en) | Connection verification method, recording medium thereof, and connection verification apparatus | |
JP5431737B2 (en) | Integrated circuit design apparatus, design method and program | |
JP2014142253A (en) | Testing support method, testing support program, and testing support device | |
JP2006302995A (en) | Semiconductor integrated circuit, and circuit layout apparatus, method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130301 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130905 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130910 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131111 |
|
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: 20131203 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131216 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5447209 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |