JP2010181984A - Program and device for supporting circuit design - Google Patents
Program and device for supporting circuit design Download PDFInfo
- Publication number
- JP2010181984A JP2010181984A JP2009023211A JP2009023211A JP2010181984A JP 2010181984 A JP2010181984 A JP 2010181984A JP 2009023211 A JP2009023211 A JP 2009023211A JP 2009023211 A JP2009023211 A JP 2009023211A JP 2010181984 A JP2010181984 A JP 2010181984A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- circuit design
- sequential
- information
- storage unit
- 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.)
- Pending
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
Abstract
Description
本発明は回路設計支援プログラムおよび回路設計支援装置に関する。 The present invention relates to a circuit design support program and a circuit design support apparatus.
近年、LSI(Large Scale Integration)に搭載できるゲート数が増え、LSI内部のクロックも複数化・複雑化している。
このため、製造工程で物理的な欠陥が発生していないことを確認するために、出荷前のテストが一般的に行われている。具体的には、例えば、回路設計情報にスキャン(Scan)デザインを行って、ATPG(Auto Test Pattern Generation)処理によってテストパターンを生成することにより、内部ノードの故障検出を行う。
In recent years, the number of gates that can be mounted on an LSI (Large Scale Integration) has increased, and the number of clocks inside the LSI has become more and more complex.
For this reason, in order to confirm that a physical defect does not occur in the manufacturing process, a test before shipment is generally performed. Specifically, for example, a scan design is performed on the circuit design information, and a test pattern is generated by an ATPG (Auto Test Pattern Generation) process to detect a failure of the internal node.
スキャンデザインにおいては、フリップフロップ(順序回路)を動作させるクロック入力端子が必要である。できれば、製品を動作させるときに使用するクロック入力端子と同じクロック入力端子を使用したいが、最近のデザインでは、PLL(Phase Lock Loop)の出力信号や、分周信号をクロックとして使うケースが多く存在する。その場合、スキャンテスト用に、別途、スキャンクロック入力端子が必要となる。 In the scan design, a clock input terminal for operating a flip-flop (sequential circuit) is required. If possible, I want to use the same clock input terminal as the clock input terminal used to operate the product. However, in recent designs, there are many cases where the output signal of PLL (Phase Lock Loop) or the division signal is used as the clock. To do. In that case, a separate scan clock input terminal is required for the scan test.
図10は、スキャンテスト用にスキャンクロック入力端子を配置した例を示す図である。
図10に示す回路90は、クロックCLKを入力する入力端子91からPLL回路92に入力されたクロックCLKが、分周回路93、94によって分周され、DフリップフロップFF91〜FF94に供給される。
FIG. 10 is a diagram illustrating an example in which scan clock input terminals are arranged for a scan test.
In the circuit 90 shown in FIG. 10, the clock CLK input to the
この回路90において、スキャンテスト時には、スキャンクロックSCAN_CK1を挿入する入力端子95およびスキャンクロックSCAN_CK2を挿入する入力端子96がスキャンテスト用に設けられる。
In this circuit 90, at the time of a scan test, an
また、分周回路93、94の後段には、それぞれ、これらスキャンクロックSCAN_CK1を選択するセレクタ97およびスキャンクロックSCAN_CK2を選択するセレクタ98がスキャンテスト用に設けられる。
Further, a
デザインの中で、スキャンクロック入力端子の数が多くなると、生成されるテストパターンの数が多くなり、テスト時間も長くなる。そのため、スキャン設計時は、クロックをまとめることを行っている。よって、「製品を動作させるときのクロック」が「スキャンテスト時のクロック」に一致しない場合がある。 As the number of scan clock input terminals in the design increases, the number of test patterns generated increases and the test time also increases. For this reason, clocks are grouped together during scan design. Therefore, the “clock for operating the product” may not match the “clock for scan test”.
また、生成されるテストパターンの数を減らすために、複数のスキャンクロック端子を1つのグループとして、同期扱いにするケースもある。この場合、本来、非同期だったクロック間のパスでも、スキャンテスト時のみ同期の扱いとなる。 Further, in order to reduce the number of test patterns to be generated, there are cases where a plurality of scan clock terminals are grouped as one group and are handled synchronously. In this case, even a path between clocks that was originally asynchronous is handled as a synchronization only during a scan test.
製品を動作させるときのクロック経路とスキャンテスト時のクロック経路とが異なる場合、製品を動作させるときはタイミングエラーが無くても、スキャンテスト時にホールドタイミングエラーが発生することがある。 If the clock path for operating the product differs from the clock path for the scan test, a hold timing error may occur during the scan test even if there is no timing error when operating the product.
ホールドタイミングエラーが発生する要因の一つとして、セットアップタイムマージンが確保できないことが挙げられる。セットアップタイムマージンが確保できなければ、その経路を故障検出の対象外(以下、「NOATG」と言う)に指定することが行われている。 One of the factors that cause a hold timing error is that a setup time margin cannot be secured. If the setup time margin cannot be ensured, the route is designated as a failure detection target (hereinafter referred to as “NOATG”).
しかしながら、経路をNOATGに指定してしまうと、その経路間の故障検出ができない。このため、スキャンテスト時において、製品を動作させるときに、その経路に故障が発生するか否かを検証することができないという問題があった。 However, if a route is designated as NOATG, failure detection between the routes cannot be performed. For this reason, there is a problem in that it is impossible to verify whether or not a failure occurs in the path when the product is operated during the scan test.
本発明はこのような点に鑑みてなされたものであり、スキャンテスト時において、製品を動作させるときに、その経路に故障が発生するか否かを検証することができる回路設計支援プログラムおよび回路設計支援装置を提供することを目的とする。 The present invention has been made in view of such points, and a circuit design support program and a circuit capable of verifying whether or not a failure occurs in the path when operating a product during a scan test. An object is to provide a design support apparatus.
上記目的を達成するために、非同期クロックで動作する順序回路間の故障を検出する回路設計支援プログラムが提供される。この回路設計支援プログラムは、コンピュータを、第1の格納手段、第2の格納手段および回路配置手段として機能させる。 In order to achieve the above object, a circuit design support program for detecting a failure between sequential circuits operating with an asynchronous clock is provided. This circuit design support program causes a computer to function as first storage means, second storage means, and circuit arrangement means.
第1の格納手段は、複数の順序回路を備える回路設計情報を格納する。
第2の格納手段は、回路設計情報の、故障検出用のクロックを挿入することによりタイミング制約違反となる条件を有する順序回路間の情報を格納する。
The first storage means stores circuit design information including a plurality of sequential circuits.
The second storage means stores information between sequential circuits having a condition that causes a timing constraint violation by inserting a failure detection clock in the circuit design information.
回路配置手段は、回路設計情報の第2の格納手段により格納された情報の順序回路間に、この順序回路間の先端の順序回路に入力される信号とこの先端の順序回路が出力する信号の論理が変化しない場合のみ先端の順序回路の出力信号を後段の順序回路に出力する回路を仮想的に配置する。 The circuit arrangement means includes a signal input to a sequential circuit at the front end between the sequential circuits and a signal output from the sequential circuit at the front end between the sequential circuits of information stored by the second storage means for circuit design information. Only when the logic does not change, a circuit that outputs the output signal of the leading sequential circuit to the subsequent sequential circuit is virtually arranged.
このような回路設計支援プログラムによれば、回路配置手段により、第1の格納手段によって格納されている回路設計情報の、第2の格納手段により格納された情報の順序回路間に、この順序回路間の先端の順序回路に入力される信号とこの先端の順序回路が出力する信号の論理が変化しない場合のみ先端の順序回路の出力信号を後段の順序回路に出力する回路が仮想的に配置される。 According to such a circuit design support program, this sequential circuit is arranged between the sequential circuits of the information stored in the second storage means by the circuit placement means in the circuit design information stored in the first storage means. A circuit that outputs the output signal of the leading sequential circuit to the subsequent sequential circuit is virtually arranged only when the logic of the signal input to the leading sequential circuit and the signal output by the leading sequential circuit does not change. The
開示の回路設計支援プログラムによれば、タイミング制約違反とならない条件で、故障検出が可能なテストパターン生成が可能となる。 According to the disclosed circuit design support program, it is possible to generate a test pattern capable of detecting a failure under a condition that does not cause a timing constraint violation.
以下、実施の形態を、図面を参照して詳細に説明する。
まず、実施の形態の回路設計支援装置の概要について説明し、その後、実施の形態をより具体的に説明する。
Hereinafter, embodiments will be described in detail with reference to the drawings.
First, an outline of the circuit design support apparatus of the embodiment will be described, and then the embodiment will be described more specifically.
図1は、実施の形態の回路設計支援装置の概要を示す図である。
回路設計支援装置(コンピュータ)1は、非同期クロックで動作する順序回路間の故障を検出する回路設計支援プログラムを実行可能な装置である。
FIG. 1 is a diagram illustrating an outline of a circuit design support apparatus according to an embodiment.
The circuit design support apparatus (computer) 1 is an apparatus capable of executing a circuit design support program for detecting a failure between sequential circuits operating with an asynchronous clock.
回路設計支援装置1は、回路設計支援プログラムにより、第1の格納手段2と、第2の格納手段3と、回路配置手段4として機能する。
第1の格納手段2は、複数の順序回路を備える回路設計情報(例えば、ネットリスト)を格納する。
The circuit
The
図1では、回路設計情報の一例として、システムクロック#1が入力されるDフリップフロップFF1の入力側に、セレクタ7が挿入されている。また、システムクロック#2が入力されるDフリップフロップFF2の入力側に、セレクタ8が挿入されている。これを故障検出用信号で故障検出用クロックに切り替えられるようにすることで、スキャン・デザインルールを満足させる回路構成を形成している。
In FIG. 1, as an example of circuit design information, a
また、DフリップフロップFF1とDフリップフロップFF2との間には、組み合わせ回路(内部にレジスタ/フリップフロップをもたない回路)5が設けられている。
第2の格納手段3は、回路設計情報の、故障検出用のクロック(スキャンクロック)を挿入することによりタイミング制約違反となる条件を有する順序回路間の情報を格納する。
Further, a combinational circuit (a circuit having no register / flip-flop) 5 is provided between the D flip-flop FF1 and the D flip-flop FF2.
The second storage means 3 stores information between sequential circuits having a condition that violates a timing constraint by inserting a failure detection clock (scan clock) in the circuit design information.
図1では、一例として、故障検出用クロックを挿入することによりタイミング制約違反となる条件を有するDフリップフロップFF1とDフリップフロップFF2に、これらフリップフロップ間に配置された組み合わせ回路5が関連づけられて格納されている。
In FIG. 1, as an example, the
回路配置手段4は、回路設計情報の第2の格納手段3により格納された情報の順序回路間に、この順序回路間の先端の順序回路に入力される信号と、この先端の順序回路が出力する信号の論理が変化しない場合のみ、先端の順序回路の出力信号を後段の順序回路に出力する回路を仮想的に配置する。 The circuit arrangement means 4 outputs a signal inputted to the sequential circuit at the front end between the sequential circuits and the output from the sequential circuit at the front end between the sequential circuits of the information stored by the second storage means 3 of the circuit design information. Only when the logic of the signal to be changed does not change, a circuit for outputting the output signal of the sequential circuit at the front end to the subsequent sequential circuit is virtually arranged.
図1では、DフリップフロップFF1に入力される信号とDフリップフロップFF1が出力する信号の論理が変化しない場合のみ、DフリップフロップFF1の出力信号をDフリップフロップFF2に出力する回路6が配置されている。 In FIG. 1, a circuit 6 for outputting the output signal of the D flip-flop FF1 to the D flip-flop FF2 is arranged only when the logic of the signal input to the D flip-flop FF1 and the signal output from the D flip-flop FF1 does not change. ing.
このような回路設計支援装置1によれば、DフリップフロップFF1に入力される信号とDフリップフロップFF1が出力する信号の論理が変化しない場合のみ、DフリップフロップFF1の出力信号をDフリップフロップFF2に出力するようにした。すなわち、DフリップフロップFF1、FF2間がタイミング制約違反とならない場合のみ、DフリップフロップFF1の出力信号をDフリップフロップFF2に出力するようにした。これにより、タイミング制約違反とならない場合に、故障検出可能な回路情報を提供することができる。
According to such a circuit
また、回路6は、DフリップフロップFF1に入力される信号とDフリップフロップFF1が出力する信号の論理が変化する場合は、後段の順序回路に不定の論理を出力するのが好ましい。これにより、故障検出の対象外としなくてもよいので、DフリップフロップFF1とDフリップフロップFF2との間の故障検出可能な回路情報を提供することができる。 In addition, when the logic of the signal input to the D flip-flop FF1 and the signal output from the D flip-flop FF1 change, the circuit 6 preferably outputs indefinite logic to the subsequent sequential circuit. As a result, since it is not necessary to exclude the target of failure detection, it is possible to provide circuit information capable of detecting a failure between the D flip-flop FF1 and the D flip-flop FF2.
以下、実施の形態をより具体的に説明する。
図2は、回路設計支援装置のハードウェア構成例を示す図である。
回路設計支援装置100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス108を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、外部補助記憶装置106および通信インタフェース107が接続されている。
Hereinafter, the embodiment will be described more specifically.
FIG. 2 is a diagram illustrating a hardware configuration example of the circuit design support apparatus.
The entire circuit design support apparatus 100 is controlled by a CPU (Central Processing Unit) 101. A random access memory (RAM) 102, a hard disk drive (HDD) 103, a
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。また、HDD103内には、プログラムファイルが格納される。
The
グラフィック処理装置104には、モニタ104aが接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ104aの画面に表示させる。入力インタフェース105には、キーボード105aとマウス105bとが接続されている。入力インタフェース105は、キーボード105aやマウス105bから送られてくる信号を、バス108を介してCPU101に送信する。
A
外部補助記憶装置106は、記録媒体に書き込まれた情報を読み取ったり、記録媒体に情報を書き込んだりする。外部補助記憶装置106で読み書きが可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記録装置としては、例えば、HDD、フレキシブルディスク(FD)、磁気テープ等が挙げられる。光ディスクとしては、例えば、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等が挙げられる。光磁気記録媒体としては、例えば、MO(Magneto-Optical disk)等が挙げられる。
The external
通信インタフェース107は、ネットワーク30に接続されている。通信インタフェース107は、ネットワーク30を介して、他のコンピュータとの間でデータの送受信を行う。
The
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、このようなハードウェア構成のシステムにおいて回路設計支援を行うために、回路設計支援装置100内には、以下のような機能が設けられる。 With the hardware configuration as described above, the processing functions of the present embodiment can be realized. In order to perform circuit design support in a system having such a hardware configuration, the following functions are provided in the circuit design support apparatus 100.
図3は、回路設計支援装置の機能を示すブロック図である。
回路設計支援装置100は、ネットリスト格納部110と、DFT(Design For Test)挿入部120と、レイアウト処理実行部130と、タイミング制約格納部140と、SDF(Standard Delay Format)格納部150と、タイミング解析部160と、スキャンPIPO(Primary In Primary Out)モードタイミング制約格納部170と、エラーリスト格納部180と、ATPG(Automatic Test Pattern Generator)処理部190と、故障表格納部200と、テストパターン格納部210と、シミュレーション実行部220とを有している。
FIG. 3 is a block diagram illustrating functions of the circuit design support apparatus.
The circuit design support apparatus 100 includes a
ネットリスト格納部110は、電子回路(例えば、製品となる電子回路)のネットリストを格納している。このネットリストは、回路設計支援装置100が備える各部によって参照され、処理が施され、更新される。
The net
DFT挿入部120は、ネットリスト格納部110に格納されているネットリストに、テストパターン用のデザインを挿入する。具体的には、ネットリストのフリップフロップを、スキャンフリップフロップに置き換えてスキャンチェーンを作成したり、スキャンテスト用のクロックを設定したりする。これにより、新たなネットリストが作成される。DFT挿入部120は、作成された新たなネットリストをネットリスト格納部110に格納する。
The
レイアウト処理実行部130は、タイミング制約格納部140に格納されたタイミング制約情報に基づいて、ネットリスト格納部110に格納されているネットリストに、レイアウト処理を実行する。具体的には、配置・配線をしたり、クロックツリーを挿入したり、タイミングの最適化等を行う。
The layout
タイミング制約情報としては、例えば、製品動作時のタイミング制約や、スキャンシフト時のタイミング制約等が挙げられる。なお、スキャンPIPOモードのタイミング制約情報は、ここには含まれていない。 Examples of timing constraint information include timing constraints during product operation, timing constraints during scan shift, and the like. Note that the timing constraint information of the scan PIPO mode is not included here.
これにより、新たなネットリストとSDF情報(遅延情報)とが作成される。レイアウト処理実行部130は、作成された新たなネットリストをネットリスト格納部110に格納する。また、作成されたSDF情報をSDF格納部150に格納する。
As a result, a new netlist and SDF information (delay information) are created. The layout
タイミング解析部160は、タイミング制約格納部140に格納されたタイミング制約情報と、SDF格納部150に格納されたSDF情報とネットリスト格納部110に格納されたネットリストを参照する。そして、ネットリスト格納部110に格納されているネットリストの静的なタイミング(セットアップタイミング、ホールドタイミング等)を解析し、タイミングエラーの有無を判断する。
The
そして、タイミングエラーが存在しなければ、スキャンPIPOモードタイミング制約格納部170に格納されているスキャンPIPOモードタイミング制約情報を参照する。そして、スキャンPIPOモードタイミング制約情報に違反しているホールドタイミングのリスト(エラーリスト)を生成し、エラーリスト格納部180に格納する。
If there is no timing error, the scan PIPO mode timing constraint information stored in the scan PIPO mode timing
このエラーリストには、例えば、スタート側(先端側)のフリップフロップとエンド側のフリップフロップと、これらフリップフロップ間に配置された組み合わせ回路とが記載されている。 In this error list, for example, a start side (front end side) flip-flop, an end side flip-flop, and a combinational circuit arranged between these flip-flops are described.
ATPG処理部190は、ネットリスト格納部110に格納されているネットリストとエラーリスト格納部180にされたエラーリストとに基づいて、テストパターンおよび故障表を生成する。ここで、テストパターンは、故障信号を外部出力端子に伝搬させるパターンである。
The
そして、生成した故障表を故障表格納部200に格納する。また、生成したテストパターンをテストパターン格納部210に格納する。
シミュレーション実行部220は、ネットリスト格納部110に格納されているネットリストとテストパターン格納部210に格納されているテストパターンとに基づいて、シミュレーションを実行する。
Then, the generated failure table is stored in the failure
The
次に、ATPG処理部190の機能を詳しく説明する。
図4は、ATPG処理部の機能を示すブロック図である。
ATPG処理部190は、ネットリスト修正部191と、ATPG用ネットリスト格納部192と、ATPG処理実行部193と、故障表一時格納部194と、補正処理実行部195とを有している。
Next, the function of the
FIG. 4 is a block diagram illustrating functions of the ATPG processing unit.
The
ネットリスト修正部191は、ネットリスト格納部110に格納されているネットリストとエラーリスト格納部180に格納されているエラーリストとに基づいてネットリストを修正し、ATPG用ネットリスト格納部192に格納する。なお、修正方法については、後に詳述する。
The net
ATPG処理実行部193は、ATPG用ネットリスト格納部192に格納されたネットリストに基づいてATPG処理を実行し、対象とする一つの故障を活性化させるテストパターンと故障表とを生成する。
The ATPG
ここで、故障を活性化させるとは、対象とする故障が存在するときと存在しないときで、その故障が存在する信号線の値が異なる値になるようにさせることをいう。
そして、生成したテストパターンをテストパターン格納部210に格納し、生成した故障表を故障表一時格納部194に格納する。
Here, activating the failure means that the value of the signal line where the failure exists is different between when the target failure exists and when it does not exist.
The generated test pattern is stored in the test
この故障表には、ネットリストに含まれる論理回路毎に、故障が検出されたか否かを示す情報が格納されている。
補正処理実行部195は、故障表一時格納部194に格納された故障表から、ネットリスト修正部191によって修正されたネットリストを元のネットリストに補正し、故障表格納部200に格納する。
This failure table stores information indicating whether or not a failure has been detected for each logic circuit included in the net list.
The correction
次に、回路設計支援装置100の処理を説明する。
図5は、回路設計支援装置の処理を示すフローチャートである。
まず、DFT挿入部120が、ネットリスト格納部110に格納されているネットリストに基づいて、DFTを挿入する(ステップS1)。そして、DFTを挿入したネットリストをネットリスト格納部110に格納する。
Next, processing of the circuit design support apparatus 100 will be described.
FIG. 5 is a flowchart showing processing of the circuit design support apparatus.
First, the
次に、レイアウト処理実行部130が、ネットリスト格納部110に格納されているネットリストに対し、レイアウト処理を実行する(ステップS2)。そして、レイアウト処理により生成されたネットリストをネットリスト格納部110に格納する。また、レイアウト処理により生成されたSDF情報をSDF格納部150に格納する。
Next, the layout
次に、タイミング解析部160が、タイミング制約格納部140に格納されているタイミング制約条件に基づいて、ネットリスト格納部110に格納されているネットリストのタイミングを解析する(ステップS3)。
Next, the
タイミングを解析した結果、タイミングエラーが存在するか否かを判断する(ステップS4)。
タイミングエラーが存在する場合(ステップS4のYes)、ステップS2に移行し、ステップS2以降の処理を引き続き行う。
As a result of analyzing the timing, it is determined whether or not a timing error exists (step S4).
When there is a timing error (Yes in step S4), the process proceeds to step S2, and the processes after step S2 are continued.
一方、タイミングエラーが存在しない場合、すなわち、スキャンPIPOモードのタイミング制約条件以外のタイミング制約条件をクリアした場合(ステップS4のNo)、スキャンPIPOモードタイミング制約格納部170に格納されているタイミング制約条件に基づいて、ネットリスト格納部110に格納されているネットリストのタイミングを解析する(ステップS5)。そして、得られたエラーリストをエラーリスト格納部180に格納する。
On the other hand, when there is no timing error, that is, when timing constraint conditions other than the timing constraint conditions of the scan PIPO mode are cleared (No in step S4), the timing constraint conditions stored in the scan PIPO mode timing
次に、ATPG処理部190が、エラーリスト格納部180に格納されているエラーリストに基づいて、ネットリスト格納部110に格納されているネットリストに対し、ATPG処理を実行する(ステップS6)。そして、得られたテストパターンをテストパターン格納部210に格納し、得られた故障表を故障表格納部200に格納する。
Next, the
次に、シミュレーション実行部220が、テストパターン格納部210に格納されているテストパターンを用いてシミュレーションを実行する(ステップS7)。
以上で回路設計支援装置100の処理の説明を終了する。
Next, the
Above, description of the process of the circuit design support apparatus 100 is complete | finished.
次に、ステップS6のATPG処理について詳しく説明する。
図6は、ATPG処理を示すフローチャートである。
まず、ネットリスト修正部191が、ネットリスト格納部110に格納されたネットリストとエラーリスト格納部180に格納されたエラーリストとに基づいてネットリストを修正し、ATPG用ネットリスト格納部192に格納する(ステップS11)。
Next, the ATPG process in step S6 will be described in detail.
FIG. 6 is a flowchart showing ATPG processing.
First, the net
次に、ATPG処理実行部193が、ATPG用ネットリスト格納部192に格納されたネットリストに基づいてATPG処理を実行し、テストパターンと故障表とを作成する。そして、作成したテストパターンをテストパターン格納部210に格納し、作成した故障表を故障表一時格納部194に格納する(ステップS12)。
Next, the ATPG
次に、補正処理実行部195が、故障表一時格納部194に格納された故障表から、ネットリスト修正部191によって修正されたネットリストを元のネットリストに補正し、故障表格納部200に格納する(ステップS13)。
Next, the correction
次に、ATPG処理の具体例を説明する。
図7は、ATPG処理の具体例を示す図である。
図7に示す回路10は、レイアウト処理実行部130によって、レイアウト処理が行われたネットリストが有している回路情報により実現される回路であって、スキャンPIPOモード以外のタイミング制約を満たした回路である。
Next, a specific example of ATPG processing will be described.
FIG. 7 is a diagram illustrating a specific example of ATPG processing.
The circuit 10 shown in FIG. 7 is a circuit that is realized by circuit information included in a netlist that has been subjected to layout processing by the layout
この回路10は、スタート側のフリップフロップFF11と、エンド側のフリップフロップFF12と、組み合わせ回路11、12とを有している。
組み合わせ回路11は、フリップフロップFF11に信号を出力する。また、フリップフロップFF11の出力信号を受け取る場合もある。
The circuit 10 includes a start-side flip-
The
組み合わせ回路12は、フリップフロップFF11の出力信号を受け取る。また、フリップフロップFF12に信号を出力する。
この回路10には、DFT挿入部120によって挿入されたセレクタ13とセレクタ14とスキャンテスト信号出力回路15とスキャンフリップフロップ16とが設けられている。
The
The circuit 10 is provided with a
セレクタ13は、スキャンテスト時にシステムクロック#1とスキャンクロックとのいずれか一方を選択してフリップフロップFF11に出力する。また、セレクタ14は、システムクロック#2とスキャンクロックとのいずれか一方を選択してフリップフロップFF12に出力する。
The
スキャンテスト信号出力回路15は、セレクタ13およびセレクタ14にスキャンテスト用のセレクト信号を出力する。スキャンテスト信号出力回路15が出力するセレクト信号は、スキャンテスト時に論理「1」または論理「0」の固定値となる信号である。
The scan test
さらに、フリップフロップFF11の出力信号は、スキャン・パスによってスキャンフリップフロップ16に導かれる。
この回路10において、スキャンテストを行った結果、スタート側のフリップフロップFF11とエンド側のフリップフロップFF12には、スキャンテスト時のみ、ホールドタイミング違反が発生するものとする。
Further, the output signal of the flip-flop FF11 is guided to the scan flip-
As a result of performing a scan test in this circuit 10, it is assumed that a hold timing violation occurs in the start flip-flop FF11 and the end flip-flop FF12 only during the scan test.
ネットリスト修正部191は、この回路10のスタート側のフリップフロップFF11とエンド側のフリップフロップFF12を抽出する。
そして、抽出したフリップフロップFF11とエンド側のフリップフロップFF12との間に、ネットリスト修正回路を配置する。
The net
Then, a net list correction circuit is arranged between the extracted flip-flop FF11 and the end flip-flop FF12.
なお、同一クロックドメインに戻るパス(図7では、フリップフロップFF11から組み合わせ回路11に至るパス)に関しては、製品動作時の動作と同じになるため、ホールドタイミング違反は発生しないように設計される。 Note that the path returning to the same clock domain (in FIG. 7, the path from the flip-flop FF11 to the combinational circuit 11) is the same as the operation at the time of product operation, and is therefore designed not to cause a hold timing violation.
また、異なるクロック間でもホールドタイミング違反が発生しなければ、ネットリスト修正回路を追加する必要はない。
図8は、ネットリスト修正回路を配置した回路を示す図である。
Further, if a hold timing violation does not occur between different clocks, it is not necessary to add a net list correction circuit.
FIG. 8 is a diagram showing a circuit in which a net list correction circuit is arranged.
回路10aは、回路10に対しネットリスト修正回路20が配置された回路である。この回路10aは、フリップフロップFF11と組み合わせ回路12との接続が切り離され、フリップフロップFF11の出力側は、ネットリスト修正回路20を介して組み合わせ回路12の入力側に接続されている。
The circuit 10 a is a circuit in which a net list correction circuit 20 is arranged with respect to the circuit 10. In this circuit 10 a, the connection between the flip-
ネットリスト修正回路20は、論理「X」を発生する論理X発生回路21と、XOR回路22と、セレクタ23とを有している。
XOR回路22の一方の入力端子は、フリップフロップFF11の入力端子に接続され、他方の入力端子は、フリップフロップFF11の出力端子に接続されている。
The netlist correction circuit 20 includes a logic
One input terminal of the
セレクタ23は、XOR回路22が出力した信号の論理によって、論理X発生回路21の出力信号とフリップフロップFF11の出力信号のいずれか一方を選択する。そして、選択された信号を組み合わせ回路12に出力する。
The
具体的には、XOR回路22が出力した信号の論理が「0」であれば、フリップフロップFF11の出力信号を選択し、出力した信号の論理が「1」であれば、論理X発生回路21の出力信号を選択する。
Specifically, if the logic of the signal output from the
この結果、ネットリスト修正回路20は、フリップフロップFF11のD端子に入力される信号の論理と、Q端子から出力する信号の論理とが一致する場合に、Q端子から出力する信号を組み合わせ回路12に出力する。 As a result, the netlist correction circuit 20 combines the signal output from the Q terminal when the logic of the signal input to the D terminal of the flip-flop FF11 matches the logic of the signal output from the Q terminal. Output to.
換言すれば、フリップフロップFF11からフリップフロップFF12へのパスで、ホールドタイミング違反となる条件(フリップフロップFF11のQが変化する条件)では、組み合わせ回路12に不定(X)を出力する。一方、ホールドタイミング違反とならない条件(フリップフロップFF11のQが変化しない条件)では、フリップフロップFF11の出力信号と同じ論理の信号を組み合わせ回路12に出力する。
In other words, indefinite (X) is output to the
これにより、タイミング制約違反とならない条件では、故障検出可能な回路情報を提供することができる。
また、タイミング制約違反となる条件であっても、故障検出の対象外指定をしなくてもよいので、フリップフロップFF11とフリップフロップFF12との間の故障を検出することができる。
As a result, it is possible to provide circuit information capable of detecting a failure under a condition that does not cause a timing constraint violation.
Further, even if the condition is a timing constraint violation, it is not necessary to designate the failure detection target, so that a failure between the flip-flop FF11 and the flip-flop FF12 can be detected.
ATPG処理実行部193は、この回路を読み込んで、フリップフロップFF11からフリップフロップFF12の故障を検出できるテストパターン生成を行う。
なお、論理X発生回路21の構成は、図示のものに限定されない。
The ATPG
The configuration of the logic
次に、ステップS13の処理の具体例を説明する。
図9は、故障表の一例を示す図である。
故障表一時格納部194に格納された(補正前の)故障表194aには、ネットリスト格納部110に格納されている全ての回路データの識別情報(例えば、論理回路のインスタンス名)と、その論理回路の入出力端子名毎のスキャンテストのテスト結果が記載されている。
Next, a specific example of the process in step S13 will be described.
FIG. 9 is a diagram illustrating an example of a failure table.
The failure table 194a (before correction) stored in the failure table
以下、フリップフロップFF11のインスタンス名が「AAAA」であるものとする。また、ネットリスト修正回路20のインスタンス名が「DUMMY1」であるものとする。また、セレクタ23のインスタンス名が「MUX」であるものとする。また、XOR回路22のインスタンス名が「EOR」であるものとする。また、論理X発生回路21のDフリップフロップのインスタンス名が「FF」であるものとする。
Hereinafter, it is assumed that the instance name of the flip-flop FF11 is “AAAA”. Further, it is assumed that the instance name of the netlist correction circuit 20 is “DUMMY1”. Further, it is assumed that the instance name of the
図9では、フリップフロップFF11のD端子、CK端子、Q端子に入出力される信号の論理毎に、故障を検出した(detected)ことを示す「○」、または、故障を検出していない(undetected)ことを示す「×」が設定されている。 In FIG. 9, “◯” indicating that a failure has been detected (detected) for each logic of signals input to and output from the D terminal, CK terminal, and Q terminal of the flip-flop FF11, or no failure has been detected ( undetected) is set.
また、ネットリスト修正回路20のセレクタ23のA端子、B端子、S端子に入力される信号の論理毎に、故障を検出したことを示す「○」、または、故障を検出していないことを示す「×」が設定されている。XOR回路22のA端子、B端子に入力される信号の論理毎に、故障を検出したことを示す「○」、または、故障を検出していないことを示す「×」が設定されている。また、論理X発生回路21の「FF」のD端子、CK端子、Q端子の故障が、検出不可能な故障(undetectable)を示す「△」が設定されている。
In addition, for each logic of signals input to the A terminal, the B terminal, and the S terminal of the
補正処理においては、補正処理実行部195が、故障表194aのネットリスト修正回路20に対応する部分、すなわち、インスタンス名が「DUMMY1」の欄を削除する補正を行う。
In the correction processing, the correction
これにより、仮想的に配置したネットリスト修正回路20の情報が、故障表194aから除外されるため、故障表格納部200に格納される故障表は、製品の故障率を示す情報となる。
As a result, the information on the virtually arranged netlist correction circuit 20 is excluded from the failure table 194a, so the failure table stored in the failure
以上述べたように、回路設計支援装置100によれば、ATPG処理時に、ネットリスト修正回路20を仮想的に配置し、この回路を付加したテストパターンを用いてスキャンテストを行うようにした。すなわち、スキャンテスト時にのみ(製品には実装されない)回路を追加してスキャンテストを行うようにした。これにより、製品に不要な回路が実装されないため、製品のゲート数および消費電力の増大を抑制することができる。 As described above, according to the circuit design support apparatus 100, during the ATPG processing, the netlist correction circuit 20 is virtually arranged, and the scan test is performed using the test pattern to which this circuit is added. That is, the scan test is performed by adding a circuit (not mounted on the product) only during the scan test. Thereby, since an unnecessary circuit is not mounted on the product, it is possible to suppress an increase in the number of gates and power consumption of the product.
また、システム動作モード時とSCANテストモード時とで、クロック経路が異なり、両方のタイミングを満足できない場合、これまでは、そのパスは故障検出対象外指定(NOATG)が必要だったが、回路設計支援装置100によれば、このような指定が不要になり、そのパスの故障検出が可能になる。その結果、故障検出率向上による品質の向上を図ることができる。 Also, if the clock path is different between the system operation mode and the SCAN test mode, and both timings cannot be satisfied, the path had previously been designated as not subject to failure detection (NOATG), but the circuit design According to the support device 100, such designation is unnecessary, and failure detection of the path becomes possible. As a result, it is possible to improve quality by improving the failure detection rate.
また、例えば、タイミング解析処理で、故障検出用のクロックを挿入することにより発生するタイミング制約違反が解消されるまで繰り返しタイミング解析を行う場合に比べ、その処理を省略することができるため、開発期間を短縮することができる。 In addition, for example, the timing analysis process can be omitted as compared with the case where the timing analysis violation is repeated until the timing constraint violation that occurs by inserting the failure detection clock is eliminated. Can be shortened.
また、仮想的に追加したネットリスト修正回路20は実存しないため、故障表194aからネットリスト修正回路20を削除して、故障表格納部200に格納するようにした。故障表格納部200に格納された故障表を用いて故障検出率を求めることで、容易に製品の故障検出率を得ることができる。
In addition, since the virtually added netlist correction circuit 20 does not exist, the netlist correction circuit 20 is deleted from the failure table 194 a and stored in the failure
なお、回路設計支援装置100が行った処理が、複数の装置によって分散処理されるようにしてもよい。例えば、1つの装置が、ATPG処理までを行ってテストパターンを生成しておき、他の装置が、そのテストパターンを用いてシミュレーションを行うようにしてもよい。 Note that the processing performed by the circuit design support device 100 may be distributed by a plurality of devices. For example, one device may perform a process up to ATPG processing to generate a test pattern, and another device may perform simulation using the test pattern.
以上、本発明の回路設計支援プログラムおよび回路設計支援装置を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。 The circuit design support program and the circuit design support apparatus of the present invention have been described based on the illustrated embodiment. However, the present invention is not limited to this, and the configuration of each unit has the same function. Any configuration can be substituted. Moreover, other arbitrary structures and processes may be added to the present invention.
また、本発明は、前述した実施の形態のうちの、任意の2以上の構成(特徴)を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、回路設計支援装置100が有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記録装置としては、例えば、HDD、フレキシブルディスク(FD)、磁気テープ等が挙げられる。光ディスクとしては、例えば、DVD、DVD−RAM、CD−ROM、CD−R/RW等が挙げられる。光磁気記録媒体としては、例えば、MO等が挙げられる。
In addition, the present invention may be a combination of any two or more configurations (features) of the above-described embodiments.
The above processing functions can be realized by a computer. In that case, a program describing the processing contents of the functions of the circuit design support apparatus 100 is provided. By executing the program on a computer, the above processing functions are realized on the computer. The program describing the processing contents can be recorded on a computer-readable recording medium. Examples of the computer-readable recording medium include a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory. Examples of the magnetic recording device include an HDD, a flexible disk (FD), and a magnetic tape. Examples of the optical disc include a DVD, a DVD-RAM, a CD-ROM, and a CD-R / RW. Examples of the magneto-optical recording medium include MO.
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。 When distributing the program, for example, a portable recording medium such as a DVD or a CD-ROM in which the program is recorded is sold. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.
回路設計支援プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。 A computer that executes a circuit design support program stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. In addition, each time the program is transferred from the server computer, the computer can sequentially execute processing according to the received program.
1、100 回路設計支援装置
2 第1の格納手段
3 第2の格納手段
4 回路配置手段
5、11、12 組み合わせ回路
6 回路
7、8、13、14、23 セレクタ
10、10a 回路
15 スキャンテスト信号出力回路
16 スキャンフリップフロップ
20 ネットリスト修正回路
21 論理X発生回路
22 XOR回路
110 ネットリスト格納部
120 DFT挿入部
130 レイアウト処理実行部
140 タイミング制約格納部
150 SDF格納部
160 タイミング解析部
170 スキャンPIPOモードタイミング制約格納部
180 エラーリスト格納部
190 ATPG処理部
191 ネットリスト修正部
192 ATPG用ネットリスト格納部
193 ATPG処理実行部
194 故障表一時格納部
194a 故障表
195 補正処理実行部
200 故障表格納部
210 テストパターン格納部
220 シミュレーション実行部
FF1、FF2 Dフリップフロップ
FF11、FF12 フリップフロップ
DESCRIPTION OF SYMBOLS 1,100 Circuit
Claims (6)
コンピュータを、
複数の順序回路を備える回路設計情報を格納する第1の格納手段、
前記回路設計情報の、故障検出用のクロックを挿入することによりタイミング制約違反となる条件を有する前記順序回路間の情報を格納する第2の格納手段、
前記回路設計情報の前記第2の格納手段により格納された情報の前記順序回路間に、前記順序回路間の先端の順序回路に入力される信号と前記先端の順序回路が出力する信号の論理が変化しない場合のみ前記先端の順序回路の出力信号を後段の順序回路に出力する回路を仮想的に配置する回路配置手段、
として機能させることを特徴とする回路設計支援プログラム。 In a circuit design support program for detecting a failure between sequential circuits operating with an asynchronous clock,
Computer
First storage means for storing circuit design information comprising a plurality of sequential circuits;
Second storage means for storing information between the sequential circuits having a condition that causes a timing constraint violation by inserting a failure detection clock in the circuit design information;
Between the sequential circuits of the information stored by the second storage means of the circuit design information, the logic of the signal input to the sequential circuit at the leading end between the sequential circuits and the signal output from the sequential circuit at the leading end are Circuit arrangement means for virtually arranging a circuit that outputs an output signal of the sequential circuit at the leading end to a subsequent sequential circuit only when it does not change,
Circuit design support program characterized by functioning as
前記コンピュータを、さらに、生成された前記情報のうち、仮想的に配置した前記回路に関する前記論理回路を削除する削除手段として機能させることを特徴とする請求項2記載の回路設計支援プログラム。 The test pattern generation means further generates information indicating whether a failure is detected for each logic circuit included in the circuit design information,
The circuit design support program according to claim 2, further causing the computer to function as a deletion unit that deletes the logic circuit related to the virtually arranged circuit among the generated information.
複数の順序回路を備える回路設計情報を格納する第1の格納部と、
前記回路設計情報の、故障検出用のクロックを挿入することによりタイミング制約違反となる条件を有する前記順序回路間の情報を格納する第2の格納部と、
前記回路設計情報の前記第2の格納部により格納された情報の前記順序回路間に、前記順序回路間の先端の順序回路に入力される信号と前記先端の順序回路が出力する信号の論理が変化しない場合のみ前記先端の順序回路の出力信号を後段の順序回路に出力する回路を仮想的に配置する回路配置部と、
を有することを特徴とする回路設計支援装置。 In a circuit design support device for detecting a failure between sequential circuits operating with an asynchronous clock,
A first storage unit that stores circuit design information including a plurality of sequential circuits;
A second storage unit for storing information between the sequential circuits having a condition that causes a timing constraint violation by inserting a failure detection clock in the circuit design information;
Between the sequential circuits of the information stored by the second storage unit of the circuit design information, the logic of the signal input to the sequential circuit at the leading end between the sequential circuits and the signal output from the sequential circuit at the leading end are A circuit arrangement unit that virtually arranges a circuit that outputs an output signal of the sequential circuit at the front end to a sequential circuit at a subsequent stage only when it does not change;
A circuit design support apparatus comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009023211A JP2010181984A (en) | 2009-02-04 | 2009-02-04 | Program and device for supporting circuit design |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009023211A JP2010181984A (en) | 2009-02-04 | 2009-02-04 | Program and device for supporting circuit design |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010181984A true JP2010181984A (en) | 2010-08-19 |
Family
ID=42763544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009023211A Pending JP2010181984A (en) | 2009-02-04 | 2009-02-04 | Program and device for supporting circuit design |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010181984A (en) |
-
2009
- 2009-02-04 JP JP2009023211A patent/JP2010181984A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20050216247A1 (en) | Method and program for verifying logic circuit having asynchronous interface | |
WO2012124117A1 (en) | Timing error elimination method, design assistance device, and program | |
JP5040758B2 (en) | Simulation apparatus, simulation method, and program | |
JP4763629B2 (en) | Verification device, verification method, and program | |
JP2007142094A (en) | Flip-flop functional element, semiconductor integrated circuit and method and device for designing the same | |
US7945882B2 (en) | Asynchronous circuit logical verification method, logical verification apparatus, and computer readable storage medium | |
JP2018197969A (en) | Design verification support apparatus for semiconductor device, design verification support program for semiconductor device, and design verification support method for semiconductor device | |
JP2008293088A (en) | Semiconductor integrated circuit and design method | |
US7389488B2 (en) | Method of finding driving strength and computer accessible record medium to store program thereof | |
JP2009116497A (en) | Method and apparatus for verifying synchronization circuit | |
JP5146369B2 (en) | Circuit design program, circuit design method, and circuit design apparatus | |
JP2010181984A (en) | Program and device for supporting circuit design | |
JPWO2006025412A1 (en) | Logic verification method, logic module data, device data, and logic verification apparatus | |
JP7069608B2 (en) | Semiconductor design support device, semiconductor design support method and program | |
JP2013019694A (en) | Scan test circuit and generation method of scan test circuit | |
JP2003216672A (en) | Semiconductor circuit design support system and method, and semiconductor circuit design support program | |
JP4886559B2 (en) | Semiconductor design support apparatus, semiconductor design support method, and semiconductor design support program | |
JP2008153489A (en) | Method and program for designing semiconductor integrated circuit | |
WO2010101029A1 (en) | Device for designing semiconductor integrated circuit, method for designing semiconductor integrated circuit, and program for designing semiconductor integrated circuit | |
JP2002073714A (en) | Timing analysis device, net list changing method and recording medium | |
JP6051548B2 (en) | Automatic placement and routing apparatus and automatic placement and routing method | |
JP4983642B2 (en) | Design verification program, design verification method, and design verification apparatus | |
JP2007241836A (en) | Multi-cycle path verification method | |
US20090292837A1 (en) | Propagation path specifying device, propagation path specifying method and computer program product | |
JP2008198160A (en) | Redundant circuit detecting method and program |