JP2010181984A - Program and device for supporting circuit design - Google Patents

Program and device for supporting circuit design Download PDF

Info

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
Application number
JP2009023211A
Other languages
Japanese (ja)
Inventor
Hiroshi Sato
浩志 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2009023211A priority Critical patent/JP2010181984A/en
Publication of JP2010181984A publication Critical patent/JP2010181984A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To verify whether or not failure occurs in a path when operating a product during scan test. <P>SOLUTION: A circuit design support device 1 functions as a first storage means 2, a second storage means 3, and a circuit arrangement means 4 by this circuit design support program. The first storage means 2 stores circuit design information (e.g. a net list) having a plurality of order circuits. The second circuit storage means 3 stores information between the order circuits having a condition causing timing restriction violation by inserting a failure-detecting clock (a scan clock) of the circuit design information. The circuit arrangement means 4 virtually arranges a circuit outputting an output signal of a tip order circuit to a subsequent-stage order circuit between the order circuits of the information stored by the second storage means 3 of the circuit design information only when logic of a signal input to the tip order circuit between the order circuits and a signal output by the tip order circuit does not change. <P>COPYRIGHT: (C)2010,JPO&INPIT

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 PLL circuit 92 from the input terminal 91 for inputting the clock CLK is frequency-divided by the frequency dividing circuits 93 and 94 and supplied to the D flip-flops FF91 to FF94.

この回路90において、スキャンテスト時には、スキャンクロックSCAN_CK1を挿入する入力端子95およびスキャンクロックSCAN_CK2を挿入する入力端子96がスキャンテスト用に設けられる。   In this circuit 90, at the time of a scan test, an input terminal 95 for inserting the scan clock SCAN_CK1 and an input terminal 96 for inserting the scan clock SCAN_CK2 are provided for the scan test.

また、分周回路93、94の後段には、それぞれ、これらスキャンクロックSCAN_CK1を選択するセレクタ97およびスキャンクロックSCAN_CK2を選択するセレクタ98がスキャンテスト用に設けられる。   Further, a selector 97 for selecting the scan clock SCAN_CK1 and a selector 98 for selecting the scan clock SCAN_CK2 are provided for the scan test at the subsequent stage of the frequency dividing circuits 93 and 94, respectively.

デザインの中で、スキャンクロック入力端子の数が多くなると、生成されるテストパターンの数が多くなり、テスト時間も長くなる。そのため、スキャン設計時は、クロックをまとめることを行っている。よって、「製品を動作させるときのクロック」が「スキャンテスト時のクロック」に一致しない場合がある。   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”).

特開2002−131387号公報JP 2002-131387 A

しかしながら、経路を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.

実施の形態の回路設計支援装置の概要を示す図である。It is a figure which shows the outline | summary of the circuit design support apparatus of embodiment. 回路設計支援装置のハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of a circuit design support apparatus. 回路設計支援装置の機能を示すブロック図である。It is a block diagram which shows the function of a circuit design support apparatus. ATPG処理部の機能を示すブロック図である。It is a block diagram which shows the function of an ATPG process part. 回路設計支援装置の処理を示すフローチャートである。It is a flowchart which shows the process of a circuit design support apparatus. ATPG処理を示すフローチャートである。It is a flowchart which shows an ATPG process. ATPG処理の具体例を示す図である。It is a figure which shows the specific example of an ATPG process. ネットリスト修正回路を配置した回路を示す図である。It is a figure which shows the circuit which has arrange | positioned the net list correction circuit. 故障表の一例を示す図である。It is a figure which shows an example of a failure table. スキャンテスト用にスキャンクロック入力端子を配置した例を示す図である。It is a figure which shows the example which has arrange | positioned the scan clock input terminal for a scan test.

以下、実施の形態を、図面を参照して詳細に説明する。
まず、実施の形態の回路設計支援装置の概要について説明し、その後、実施の形態をより具体的に説明する。
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 design support device 1 functions as a first storage unit 2, a second storage unit 3, and a circuit placement unit 4 by a circuit design support program.
The first storage unit 2 stores circuit design information (for example, a net list) including a plurality of sequential circuits.

図1では、回路設計情報の一例として、システムクロック#1が入力されるDフリップフロップFF1の入力側に、セレクタ7が挿入されている。また、システムクロック#2が入力されるDフリップフロップFF2の入力側に、セレクタ8が挿入されている。これを故障検出用信号で故障検出用クロックに切り替えられるようにすることで、スキャン・デザインルールを満足させる回路構成を形成している。   In FIG. 1, as an example of circuit design information, a selector 7 is inserted on the input side of the D flip-flop FF1 to which the system clock # 1 is input. A selector 8 is inserted on the input side of the D flip-flop FF2 to which the system clock # 2 is input. A circuit configuration that satisfies the scan design rule is formed by switching this to a failure detection clock using a failure detection signal.

また、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 combinational circuit 5 arranged between these flip-flops is associated with the D flip-flop FF1 and the D flip-flop FF2 that have a condition that causes a timing constraint violation by inserting a failure detection clock. Stored.

回路配置手段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 design support device 1, 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, the output signal of the D flip-flop FF1 is changed to the D flip-flop FF2. Output to. That is, the output signal of the D flip-flop FF1 is output to the D flip-flop FF2 only when there is no timing constraint violation between the D flip-flops FF1 and FF2. As a result, it is possible to provide circuit information capable of detecting a failure when the timing constraint is not violated.

また、回路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 graphic processing device 104, an input interface 105, an external auxiliary storage device 106, and a communication interface 107 are connected to the CPU 101 via a bus 108. Yes.

RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。また、HDD103内には、プログラムファイルが格納される。   The RAM 102 temporarily stores at least part of an OS (Operating System) program and application programs to be executed by the CPU 101. The RAM 102 stores various data necessary for processing by the CPU 101. The HDD 103 stores an OS and application programs. A program file is stored in the HDD 103.

グラフィック処理装置104には、モニタ104aが接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ104aの画面に表示させる。入力インタフェース105には、キーボード105aとマウス105bとが接続されている。入力インタフェース105は、キーボード105aやマウス105bから送られてくる信号を、バス108を介してCPU101に送信する。   A monitor 104 a is connected to the graphic processing device 104. The graphic processing device 104 displays an image on the screen of the monitor 104a in accordance with a command from the CPU 101. A keyboard 105 a and a mouse 105 b are connected to the input interface 105. The input interface 105 transmits a signal transmitted from the keyboard 105 a and the mouse 105 b to the CPU 101 via the bus 108.

外部補助記憶装置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 auxiliary storage device 106 reads information written on the recording medium and writes information on the recording medium. Examples of the recording medium that can be read and written by the external auxiliary storage device 106 include a magnetic recording device, an optical disc, 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 (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only Memory), and a CD-R (Recordable) / RW (ReWritable). Examples of the magneto-optical recording medium include MO (Magneto-Optical disk).

通信インタフェース107は、ネットワーク30に接続されている。通信インタフェース107は、ネットワーク30を介して、他のコンピュータとの間でデータの送受信を行う。   The communication interface 107 is connected to the network 30. The communication interface 107 transmits and receives data to and from other computers via the network 30.

以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、このようなハードウェア構成のシステムにおいて回路設計支援を行うために、回路設計支援装置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 netlist storage unit 110, a DFT (Design For Test) insertion unit 120, a layout processing execution unit 130, a timing constraint storage unit 140, an SDF (Standard Delay Format) storage unit 150, Timing analysis unit 160, scan PIPO (Primary In Primary Out) mode timing constraint storage unit 170, error list storage unit 180, ATPG (Automatic Test Pattern Generator) processing unit 190, failure table storage unit 200, test pattern A storage unit 210 and a simulation execution unit 220 are included.

ネットリスト格納部110は、電子回路(例えば、製品となる電子回路)のネットリストを格納している。このネットリストは、回路設計支援装置100が備える各部によって参照され、処理が施され、更新される。   The net list storage unit 110 stores a net list of an electronic circuit (for example, an electronic circuit to be a product). The net list is referred to by each unit included in the circuit design support apparatus 100, processed, and updated.

DFT挿入部120は、ネットリスト格納部110に格納されているネットリストに、テストパターン用のデザインを挿入する。具体的には、ネットリストのフリップフロップを、スキャンフリップフロップに置き換えてスキャンチェーンを作成したり、スキャンテスト用のクロックを設定したりする。これにより、新たなネットリストが作成される。DFT挿入部120は、作成された新たなネットリストをネットリスト格納部110に格納する。   The DFT insertion unit 120 inserts a test pattern design into the netlist stored in the netlist storage unit 110. Specifically, the scan flip-flop is replaced with a scan flip-flop to create a scan chain, or a scan test clock is set. As a result, a new netlist is created. The DFT insertion unit 120 stores the created new netlist in the netlist storage unit 110.

レイアウト処理実行部130は、タイミング制約格納部140に格納されたタイミング制約情報に基づいて、ネットリスト格納部110に格納されているネットリストに、レイアウト処理を実行する。具体的には、配置・配線をしたり、クロックツリーを挿入したり、タイミングの最適化等を行う。   The layout processing execution unit 130 executes layout processing on the netlist stored in the netlist storage unit 110 based on the timing constraint information stored in the timing constraint storage unit 140. Specifically, placement and wiring, clock tree insertion, timing optimization, and the like are performed.

タイミング制約情報としては、例えば、製品動作時のタイミング制約や、スキャンシフト時のタイミング制約等が挙げられる。なお、スキャン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 process execution unit 130 stores the created new netlist in the netlist storage unit 110. Further, the created SDF information is stored in the SDF storage unit 150.

タイミング解析部160は、タイミング制約格納部140に格納されたタイミング制約情報と、SDF格納部150に格納されたSDF情報とネットリスト格納部110に格納されたネットリストを参照する。そして、ネットリスト格納部110に格納されているネットリストの静的なタイミング(セットアップタイミング、ホールドタイミング等)を解析し、タイミングエラーの有無を判断する。   The timing analysis unit 160 refers to the timing constraint information stored in the timing constraint storage unit 140, the SDF information stored in the SDF storage unit 150, and the netlist stored in the netlist storage unit 110. Then, the static timing (setup timing, hold timing, etc.) of the netlist stored in the netlist storage unit 110 is analyzed to determine whether there is a timing error.

そして、タイミングエラーが存在しなければ、スキャン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 constraint storage unit 170 is referred to. Then, a list of hold timings (error list) violating the scan PIPO mode timing constraint information is generated and stored in the error list storage unit 180.

このエラーリストには、例えば、スタート側(先端側)のフリップフロップとエンド側のフリップフロップと、これらフリップフロップ間に配置された組み合わせ回路とが記載されている。   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 ATPG processing unit 190 generates a test pattern and a failure table based on the net list stored in the net list storage unit 110 and the error list stored in the error list storage unit 180. Here, the test pattern is a pattern for propagating a failure signal to the external output terminal.

そして、生成した故障表を故障表格納部200に格納する。また、生成したテストパターンをテストパターン格納部210に格納する。
シミュレーション実行部220は、ネットリスト格納部110に格納されているネットリストとテストパターン格納部210に格納されているテストパターンとに基づいて、シミュレーションを実行する。
Then, the generated failure table is stored in the failure table storage unit 200. The generated test pattern is stored in the test pattern storage unit 210.
The simulation execution unit 220 executes a simulation based on the net list stored in the net list storage unit 110 and the test pattern stored in the test pattern storage unit 210.

次に、ATPG処理部190の機能を詳しく説明する。
図4は、ATPG処理部の機能を示すブロック図である。
ATPG処理部190は、ネットリスト修正部191と、ATPG用ネットリスト格納部192と、ATPG処理実行部193と、故障表一時格納部194と、補正処理実行部195とを有している。
Next, the function of the ATPG processing unit 190 will be described in detail.
FIG. 4 is a block diagram illustrating functions of the ATPG processing unit.
The ATPG processing unit 190 includes a net list correction unit 191, an ATPG net list storage unit 192, an ATPG process execution unit 193, a failure table temporary storage unit 194, and a correction process execution unit 195.

ネットリスト修正部191は、ネットリスト格納部110に格納されているネットリストとエラーリスト格納部180に格納されているエラーリストとに基づいてネットリストを修正し、ATPG用ネットリスト格納部192に格納する。なお、修正方法については、後に詳述する。   The net list correction unit 191 corrects the net list based on the net list stored in the net list storage unit 110 and the error list stored in the error list storage unit 180, and stores the net list in the ATPG net list storage unit 192. Store. The correction method will be described in detail later.

ATPG処理実行部193は、ATPG用ネットリスト格納部192に格納されたネットリストに基づいてATPG処理を実行し、対象とする一つの故障を活性化させるテストパターンと故障表とを生成する。   The ATPG processing execution unit 193 executes ATPG processing based on the net list stored in the ATPG net list storage unit 192, and generates a test pattern and a failure table for activating one target failure.

ここで、故障を活性化させるとは、対象とする故障が存在するときと存在しないときで、その故障が存在する信号線の値が異なる値になるようにさせることをいう。
そして、生成したテストパターンをテストパターン格納部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 pattern storage unit 210, and the generated failure table is stored in the failure table temporary storage unit 194.

この故障表には、ネットリストに含まれる論理回路毎に、故障が検出されたか否かを示す情報が格納されている。
補正処理実行部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 processing execution unit 195 corrects the net list corrected by the net list correction unit 191 from the failure table stored in the failure table temporary storage unit 194 to the original net list, and stores the corrected net list in the failure table storage unit 200.

次に、回路設計支援装置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 DFT insertion unit 120 inserts a DFT based on the net list stored in the net list storage unit 110 (step S1). Then, the net list with the DFT inserted is stored in the net list storage unit 110.

次に、レイアウト処理実行部130が、ネットリスト格納部110に格納されているネットリストに対し、レイアウト処理を実行する(ステップS2)。そして、レイアウト処理により生成されたネットリストをネットリスト格納部110に格納する。また、レイアウト処理により生成されたSDF情報をSDF格納部150に格納する。   Next, the layout process execution unit 130 executes a layout process for the net list stored in the net list storage unit 110 (step S2). Then, the net list generated by the layout process is stored in the net list storage unit 110. In addition, the SDF information generated by the layout process is stored in the SDF storage unit 150.

次に、タイミング解析部160が、タイミング制約格納部140に格納されているタイミング制約条件に基づいて、ネットリスト格納部110に格納されているネットリストのタイミングを解析する(ステップS3)。   Next, the timing analysis unit 160 analyzes the timing of the netlist stored in the netlist storage unit 110 based on the timing constraint condition stored in the timing constraint storage unit 140 (step S3).

タイミングを解析した結果、タイミングエラーが存在するか否かを判断する(ステップ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 constraint storage unit 170 Based on the above, the timing of the net list stored in the net list storage unit 110 is analyzed (step S5). Then, the obtained error list is stored in the error list storage unit 180.

次に、ATPG処理部190が、エラーリスト格納部180に格納されているエラーリストに基づいて、ネットリスト格納部110に格納されているネットリストに対し、ATPG処理を実行する(ステップS6)。そして、得られたテストパターンをテストパターン格納部210に格納し、得られた故障表を故障表格納部200に格納する。   Next, the ATPG processing unit 190 performs ATPG processing on the net list stored in the net list storage unit 110 based on the error list stored in the error list storage unit 180 (step S6). Then, the obtained test pattern is stored in the test pattern storage unit 210, and the obtained failure table is stored in the failure table storage unit 200.

次に、シミュレーション実行部220が、テストパターン格納部210に格納されているテストパターンを用いてシミュレーションを実行する(ステップS7)。
以上で回路設計支援装置100の処理の説明を終了する。
Next, the simulation execution unit 220 executes a simulation using the test pattern stored in the test pattern storage unit 210 (step S7).
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 list correction unit 191 corrects the net list based on the net list stored in the net list storage unit 110 and the error list stored in the error list storage unit 180, and stores it in the ATPG net list storage unit 192. Store (step S11).

次に、ATPG処理実行部193が、ATPG用ネットリスト格納部192に格納されたネットリストに基づいてATPG処理を実行し、テストパターンと故障表とを作成する。そして、作成したテストパターンをテストパターン格納部210に格納し、作成した故障表を故障表一時格納部194に格納する(ステップS12)。   Next, the ATPG process execution unit 193 executes the ATPG process based on the net list stored in the ATPG net list storage unit 192 to create a test pattern and a failure table. Then, the created test pattern is stored in the test pattern storage unit 210, and the created failure table is stored in the failure table temporary storage unit 194 (step S12).

次に、補正処理実行部195が、故障表一時格納部194に格納された故障表から、ネットリスト修正部191によって修正されたネットリストを元のネットリストに補正し、故障表格納部200に格納する(ステップS13)。   Next, the correction processing execution unit 195 corrects the net list corrected by the net list correction unit 191 from the failure table stored in the failure table temporary storage unit 194 to the original net list, and stores it in the failure table storage unit 200. Store (step S13).

次に、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 processing execution unit 130, and that satisfies timing constraints other than the scan PIPO mode. It is.

この回路10は、スタート側のフリップフロップFF11と、エンド側のフリップフロップFF12と、組み合わせ回路11、12とを有している。
組み合わせ回路11は、フリップフロップFF11に信号を出力する。また、フリップフロップFF11の出力信号を受け取る場合もある。
The circuit 10 includes a start-side flip-flop FF 11, an end-side flip-flop FF 12, and combinational circuits 11 and 12.
The combinational circuit 11 outputs a signal to the flip-flop FF11. In some cases, the output signal of the flip-flop FF11 is received.

組み合わせ回路12は、フリップフロップFF11の出力信号を受け取る。また、フリップフロップFF12に信号を出力する。
この回路10には、DFT挿入部120によって挿入されたセレクタ13とセレクタ14とスキャンテスト信号出力回路15とスキャンフリップフロップ16とが設けられている。
The combinational circuit 12 receives the output signal of the flip-flop FF11. In addition, a signal is output to the flip-flop FF12.
The circuit 10 is provided with a selector 13, a selector 14, a scan test signal output circuit 15, and a scan flip-flop 16 inserted by the DFT insertion unit 120.

セレクタ13は、スキャンテスト時にシステムクロック#1とスキャンクロックとのいずれか一方を選択してフリップフロップFF11に出力する。また、セレクタ14は、システムクロック#2とスキャンクロックとのいずれか一方を選択してフリップフロップFF12に出力する。   The selector 13 selects either the system clock # 1 or the scan clock and outputs it to the flip-flop FF11 during the scan test. The selector 14 selects either the system clock # 2 or the scan clock and outputs it to the flip-flop FF12.

スキャンテスト信号出力回路15は、セレクタ13およびセレクタ14にスキャンテスト用のセレクト信号を出力する。スキャンテスト信号出力回路15が出力するセレクト信号は、スキャンテスト時に論理「1」または論理「0」の固定値となる信号である。   The scan test signal output circuit 15 outputs a select signal for scan test to the selector 13 and the selector 14. The select signal output from the scan test signal output circuit 15 is a signal having a fixed value of logic “1” or logic “0” during the scan test.

さらに、フリップフロップFF11の出力信号は、スキャン・パスによってスキャンフリップフロップ16に導かれる。
この回路10において、スキャンテストを行った結果、スタート側のフリップフロップFF11とエンド側のフリップフロップFF12には、スキャンテスト時のみ、ホールドタイミング違反が発生するものとする。
Further, the output signal of the flip-flop FF11 is guided to the scan flip-flop 16 by the scan path.
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 list correction unit 191 extracts the start-side flip-flop FF11 and the end-side flip-flop FF12 of the circuit 10.
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-flop FF 11 and the combinational circuit 12 is disconnected, and the output side of the flip-flop FF11 is connected to the input side of the combinational circuit 12 via the net list correction circuit 20.

ネットリスト修正回路20は、論理「X」を発生する論理X発生回路21と、XOR回路22と、セレクタ23とを有している。
XOR回路22の一方の入力端子は、フリップフロップFF11の入力端子に接続され、他方の入力端子は、フリップフロップFF11の出力端子に接続されている。
The netlist correction circuit 20 includes a logic X generation circuit 21 that generates a logic “X”, an XOR circuit 22, and a selector 23.
One input terminal of the XOR circuit 22 is connected to the input terminal of the flip-flop FF11, and the other input terminal is connected to the output terminal of the flip-flop FF11.

セレクタ23は、XOR回路22が出力した信号の論理によって、論理X発生回路21の出力信号とフリップフロップFF11の出力信号のいずれか一方を選択する。そして、選択された信号を組み合わせ回路12に出力する。   The selector 23 selects either the output signal of the logic X generation circuit 21 or the output signal of the flip-flop FF11 according to the logic of the signal output from the XOR circuit 22. Then, the selected signal is output to the combinational circuit 12.

具体的には、XOR回路22が出力した信号の論理が「0」であれば、フリップフロップFF11の出力信号を選択し、出力した信号の論理が「1」であれば、論理X発生回路21の出力信号を選択する。   Specifically, if the logic of the signal output from the XOR circuit 22 is “0”, the output signal of the flip-flop FF11 is selected. If the logic of the output signal is “1”, the logic X generation circuit 21 is selected. Select the output signal.

この結果、ネットリスト修正回路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 combinational circuit 12 under a condition that causes a hold timing violation (a condition in which the Q of the flip-flop FF11 changes) in the path from the flip-flop FF11 to the flip-flop FF12. On the other hand, under a condition that does not cause a hold timing violation (a condition in which the Q of the flip-flop FF11 does not change), a signal having the same logic as the output signal of the flip-flop FF11 is output to the combinational circuit 12.

これにより、タイミング制約違反とならない条件では、故障検出可能な回路情報を提供することができる。
また、タイミング制約違反となる条件であっても、故障検出の対象外指定をしなくてもよいので、フリップフロップ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 processing execution unit 193 reads this circuit and generates a test pattern that can detect a failure of the flip-flop FF12 from the flip-flop FF11.
The configuration of the logic X generation circuit 21 is not limited to that shown in the figure.

次に、ステップ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 temporary storage unit 194 includes identification information (for example, instance names of logic circuits) of all circuit data stored in the net list storage unit 110, and The test result of the scan test for each input / output terminal name of the logic circuit is described.

以下、フリップフロップ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 selector 23 is “MUX”. Further, it is assumed that the instance name of the XOR circuit 22 is “EOR”. Further, it is assumed that the instance name of the D flip-flop of the logic X generation circuit 21 is “FF”.

図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 selector 23 of the netlist correction circuit 20, “◯” indicating that a failure has been detected, or that no failure has been detected. “X” shown is set. For each logic of the signals input to the A terminal and B terminal of the XOR circuit 22, “◯” indicating that a failure has been detected or “X” indicating that no failure has been detected is set. In addition, “Δ” indicating that a failure of the D terminal, CK terminal, and Q terminal of “FF” of the logic X generation circuit 21 cannot be detected (undetectable) is set.

補正処理においては、補正処理実行部195が、故障表194aのネットリスト修正回路20に対応する部分、すなわち、インスタンス名が「DUMMY1」の欄を削除する補正を行う。   In the correction processing, the correction processing execution unit 195 performs correction to delete the part corresponding to the net list correction circuit 20 in the failure table 194a, that is, the column whose instance name is “DUMMY1”.

これにより、仮想的に配置したネットリスト修正回路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 table storage unit 200 is information indicating the failure rate of the product.

以上述べたように、回路設計支援装置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 table storage unit 200. By obtaining the failure detection rate using the failure table stored in the failure table storage unit 200, the product failure detection rate can be easily obtained.

なお、回路設計支援装置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 design support apparatus 2 1st storage means 3 2nd storage means 4 Circuit arrangement means 5, 11, 12 Combination circuit 6 Circuit 7, 8, 13, 14, 23 Selector 10, 10a Circuit 15 Scan test signal Output circuit 16 Scan flip-flop 20 Netlist modification circuit 21 Logic X generation circuit 22 XOR circuit 110 Netlist storage unit 120 DFT insertion unit 130 Layout processing execution unit 140 Timing constraint storage unit 150 SDF storage unit 160 Timing analysis unit 170 Scan PIPO mode Timing constraint storage unit 180 Error list storage unit 190 ATPG processing unit 191 Netlist modification unit 192 ATPG netlist storage unit 193 ATPG processing execution unit 194 Failure table temporary storage unit 194a Failure table 195 Execution of correction processing Unit 200 failure table storage unit 210 test pattern storage unit 220 simulation execution unit FF1, FF2 D flip-flop FF11, FF12 flip-flop

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
前記コンピュータを、さらに、前記回路配置手段により配置された回路を含む前記回路設計情報からテストパターンを生成するテストパターン生成手段として機能させることを特徴とする請求項1記載の回路設計支援プログラム。   2. The circuit design support program according to claim 1, further causing the computer to function as test pattern generation means for generating a test pattern from the circuit design information including the circuit arranged by the circuit arrangement means. 前記テストパターン生成手段は、さらに、前記回路設計情報に含まれる論理回路毎に、故障が検出されたか否かを示す情報を生成し、
前記コンピュータを、さらに、生成された前記情報のうち、仮想的に配置した前記回路に関する前記論理回路を削除する削除手段として機能させることを特徴とする請求項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記載の回路設計支援プログラム。   The virtually arranged circuit has an indefinite logic in the succeeding sequential circuit under the condition that the logic of the signal input to the leading sequential circuit between the sequential circuits and the signal output from the leading sequential circuit changes. The circuit design support program according to claim 1, wherein the circuit design support program is output. 前記第1の格納手段に格納されている回路設計情報は、故障検出用のクロックを挿入することによりタイミング制約違反となる条件以外のタイミング制約条件を満たしていることを特徴とする請求項1記載の回路設計支援プログラム。   2. The circuit design information stored in the first storage means satisfies a timing constraint condition other than a condition causing a timing constraint violation by inserting a failure detection clock. Circuit design support program. 非同期クロックで動作する順序回路間の故障を検出する回路設計支援装置において、
複数の順序回路を備える回路設計情報を格納する第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:
JP2009023211A 2009-02-04 2009-02-04 Program and device for supporting circuit design Pending JP2010181984A (en)

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)

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