図面 (/)

技術 テスト回路設計プログラム、テスト回路設計装置およびテスト回路設計方法

出願人 富士通セミコンダクター株式会社
発明者 脇田芳二増田貴裕
出願日 2008年8月1日 (12年6ヶ月経過) 出願番号 2008-199440
公開日 2010年2月18日 (11年0ヶ月経過) 公開番号 2010-039611
状態 未査定
技術分野 CAD 電子回路の試験 デジタル計算機の試験診断
主要キーワード 優先順位高 遅延増大 テスト機構 フォワードトレース 各論理素子 ストラクチャード 修正手順 TEST信号
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2010年2月18日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (17)

課題

遅延を発生させることなく、高精度なテスト用クロックを提供すること。

解決手段

テスト回路設計装置100では、テスト対象回路110の中からテスト対象FF111が指定されると、ネットリスト101を参照して、入力端子クロック入力端子およびクロック制御信号入力端子)からテスト対象FF111までの間に構成されている論理回路を、テスト対象回路110に入力される各クロック(ここでは、クロックA,B)の中から選択されたクロックをテストクロックとしてテスト対象FF111に入力する機構を備えた回路であるテスト用論理回路に修正したテスト対象回路120を構成する。

概要

背景

従来より、LSI設計においては、出荷テスト時に故障検出をより容易にするために「テスト設計」がおこなわれる。この「テスト設計」はDFT(Design For Testability:テスト容易化設計)とも呼ばれている。特に、ASIC(Application Specific IntegratedCircuit)の出荷テストにおいて、製造されたASICの歩留まりを向上するための技術として活用されている。

出荷テストには様々な手法があるが、その中の一つとしてTDT(Transition Delay Test)と呼ばれる手法がある。TDTは、テスト対象となるLSIを実速度に近い速度で動作させて、遅延故障を検出するものである。LSI動作時に遅延故障が発生したパスがある場合、遅延が増大するためLSIは、実速度に合わせて動作させようとすると、要求されるタイミングを満たせない。すなわち、実速度で正常な動作を実現できない場合は、LSI内部にて遅延故障が発生していると検出される。

また、上述のような出荷テストを行う場合には、所定のクロック出力可能LSIテスタを使用して所望する速度でLSIを動作させる。LSIテスタを利用する場合、通常、クロックとして外部から入力できる本数に制限がある。したがって、TDTにてLSIをテストする際、通常動作において使用されているクロック端子に対してクロックを与えることができない場合がある。そこで、制限されたクロック本数の中、テスト設計において各FFが実速度に近い速度でテストできるように、テストモードの際にテスト対象となるLSIに供給する(入力する)クロックを調整する必要がある。

したがって、従来は、テスト設計時において、LSIに供給するクロック(以下、「テストクロック」という)を調整するために、単純に通常動作でのクロックとテストモードでのクロックの切り替えテストモード信号によって制御できるような機構を追加する手法がとられている(たとえば、下記特許文献1,2参照。)。

特開平6−208603号公報
特開2008−9823号公報

概要

遅延を発生させることなく、高精度なテスト用クロックを提供すること。テスト回路設計装置100では、テスト対象回路110の中からテスト対象FF111が指定されると、ネットリスト101を参照して、入力端子クロック入力端子およびクロック制御信号入力端子)からテスト対象FF111までの間に構成されている論理回路を、テスト対象回路110に入力される各クロック(ここでは、クロックA,B)の中から選択されたクロックをテストクロックとしてテスト対象FF111に入力する機構を備えた回路であるテスト用論理回路に修正したテスト対象回路120を構成する。

目的

この発明は、上述した従来技術による問題点を解消するため、遅延を発生させることなく、高精度なテスト用クロックを提供することのできるテスト回路設計プログラム、テスト回路設計装置およびテスト回路設計方法を提供することを目的とする。

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

コンピュータを、テスト対象回路ネットリストの中からテスト対象となるFFフリップフロップ)が指定されると、当該FFから、当該FFへ入力されるクロックの各入力端子までの配線状態をあらわす論理式を抽出する抽出手段、前記各入力端子の中の一の入力端子から入力されるクロックを前記FFのテストクロックとして利用する場合、前記抽出手段によって抽出された論理式と前記ネットリストとを参照して前記一の入力端子から入力されるクロックを前記FFまで透過させるテスト機構を構成する構成手段、前記構成手段によって構成されたテスト機構を前記テスト対象回路のネットリストに追加したテスト用ネットリストを生成する生成手段、前記生成手段によって生成されたテスト用ネットリストを出力する出力手段、として機能させることを特徴とするテスト回路設計プログラム

請求項2

前記構成手段は、前記コンピュータを、前記抽出手段によって抽出された論理式において前記FFへの入力と、前記一の入力端子への入力とが等しくなる条件を算出する算出手段として機能させ、前記算出手段によって算出された条件を満たすための論理素子を含んだ配線状態をテスト機構として構成することを特徴とする請求項1に記載のテスト回路設計プログラム。

請求項3

前記算出手段は、前記論理式にテストモード制御信号を入力するための入力端子を追加し、当該テストモード制御信号が特定の値の場合に、前記一の入力端子から入力されるクロックと前記FFへ入力されるクロックとが等しくなる条件を算出することを特徴とする請求項2に記載のテスト回路設計プログラム。

請求項4

テスト対象回路のネットリストの中からテスト対象となるFF(フリップ・フロップ)が指定されると、当該FFから、当該FFへ入力されるクロックの各入力端子までの配線状態をあらわす論理式を抽出する抽出手段と、前記各入力端子の中の一の入力端子から入力されるクロックを前記FFのテストクロックとして利用する場合、前記抽出手段によって抽出された論理式と前記ネットリストとを参照して前記一の入力端子から入力されるクロックを前記FFまで透過させるテスト機構を構成する構成手段と、前記構成手段によって構成されたテスト機構を前記テスト対象回路のネットリストに追加したテスト用ネットリストを生成する生成手段と、前記生成手段によって生成されたテスト用ネットリストを出力する出力手段と、を備えることを特徴とするテスト回路設計装置

請求項5

コンピュータが、テスト対象回路のネットリストの中からテスト対象となるFF(フリップ・フロップ)が指定されると、当該FFから、当該FFへ入力されるクロックの各入力端子までの配線状態をあらわす論理式を抽出する抽出工程と、前記各入力端子の中の一の入力端子から入力されるクロックを前記FFのテストクロックとして利用する場合、前記抽出工程によって抽出された論理式と前記ネットリストとを参照して前記一の入力端子から入力されるクロックを前記FFまで透過させるテスト機構を構成する構成工程と、前記構成工程によって構成されたテスト機構を前記テスト対象回路のネットリストに追加したテスト用ネットリストを生成する生成工程と、前記生成工程によって生成されたテスト用ネットリストを出力する出力工程と、を実行することを特徴とするテスト回路設計方法

技術分野

0001

この発明は、LSI(Large Scale Integration)の動作テストを実行するためのテスト回路設計プログラムテスト回路設計装置およびテスト回路設計方法に関する。

背景技術

0002

従来より、LSI設計においては、出荷テスト時に故障検出をより容易にするために「テスト設計」がおこなわれる。この「テスト設計」はDFT(Design For Testability:テスト容易化設計)とも呼ばれている。特に、ASIC(Application Specific IntegratedCircuit)の出荷テストにおいて、製造されたASICの歩留まりを向上するための技術として活用されている。

0003

出荷テストには様々な手法があるが、その中の一つとしてTDT(Transition Delay Test)と呼ばれる手法がある。TDTは、テスト対象となるLSIを実速度に近い速度で動作させて、遅延故障を検出するものである。LSI動作時に遅延故障が発生したパスがある場合、遅延が増大するためLSIは、実速度に合わせて動作させようとすると、要求されるタイミングを満たせない。すなわち、実速度で正常な動作を実現できない場合は、LSI内部にて遅延故障が発生していると検出される。

0004

また、上述のような出荷テストを行う場合には、所定のクロック出力可能LSIテスタを使用して所望する速度でLSIを動作させる。LSIテスタを利用する場合、通常、クロックとして外部から入力できる本数に制限がある。したがって、TDTにてLSIをテストする際、通常動作において使用されているクロック端子に対してクロックを与えることができない場合がある。そこで、制限されたクロック本数の中、テスト設計において各FFが実速度に近い速度でテストできるように、テストモードの際にテスト対象となるLSIに供給する(入力する)クロックを調整する必要がある。

0005

したがって、従来は、テスト設計時において、LSIに供給するクロック(以下、「テストクロック」という)を調整するために、単純に通常動作でのクロックとテストモードでのクロックの切り替えテストモード信号によって制御できるような機構を追加する手法がとられている(たとえば、下記特許文献1,2参照。)。

0006

特開平6−208603号公報
特開2008−9823号公報

発明が解決しようとする課題

0007

しかしながら、上述のようにテストモード信号によってテストクロックを調整する場合、通常動作でのクロックとテストモードでのテストクロックとを単純に切り替える機構を実現するために、テスト対象回路セレクタが挿入される。すなわち、従来はこのセレクタをテストモード信号によって制御することによって、テスト対象となるFFへ確実にテストクロックを入力させていた。

0008

たとえば、通常動作のクロックとテストモードのテストクロックとが全く別の場合(周波数が著しく違うなど)には、上述のようなセレクタによる切り替え手法は有効であるが、通常動作のクロックと同等の周波数のクロックをテストモード時のテストクロックとして使用する場合、テストクロックは、本来の論理設計上不必要なセレクタを経由してテスト対象となるFFに入力される。すなわち、FFには、セレクタ分のクロックパスの遅延が増加したテストクロックが入力されることになり、結果としてFFの動作タイミングを悪化させる原因となるという問題があった。

0009

この発明は、上述した従来技術による問題点を解消するため、遅延を発生させることなく、高精度なテスト用クロックを提供することのできるテスト回路設計プログラム、テスト回路設計装置およびテスト回路設計方法を提供することを目的とする。

課題を解決するための手段

0010

上述した課題を解決し、目的を達成するため、このテスト回路設計プログラム、テスト回路設計装置およびテスト回路設計方法は、コンピュータが、テスト対象回路のネットリストの中からテスト対象となるFF(フリップフロップ)が指定されると、当該FFから、当該FFへ入力されるクロックの各入力端子までの配線状態をあらわす論理式を抽出する処理と、前記各入力端子の中の一の入力端子から入力されるクロックを前記FFのテストクロックとして利用する場合、抽出された論理式と前記ネットリストとを参照して前記一の入力端子から入力されるクロックを前記FFまで透過させるテスト機構を構成する処理と、構成されたテスト機構を前記テスト対象回路に追加したネットリストを生成する処理と、生成されたネットリストを前記FFの動作テスト用のネットリストとして出力する処理と、を含むことを要件とする。

0011

このテスト回路設計プログラム、テスト回路設計装置およびテスト回路設計方法によれば、選択された一の入力端子から入力されるクロックを、テスト対象回路内の論理回路に影響されずにFFの動作テストを実行するためのクロックとして利用することができる。

発明の効果

0012

このテスト回路設計プログラム、テスト回路設計装置およびテスト回路設計方法によれば、遅延を発生させることなく、高精度なテスト用クロックの提供を図ることができるという効果を奏する。

発明を実施するための最良の形態

0013

以下に添付図面を参照して、このテスト回路設計プログラム、テスト回路設計装置およびテスト回路設計方法の好適な実施の形態を詳細に説明する。このテスト回路設計プログラム、テスト回路設計装置およびテスト回路設計方法は、テスト対象回路において、外部からのテストクロックの入力を利用することなく、内部供給されているクロックをテストクロックとして活用するためのテスト機構を構成し、テスト機構を含んだテスト対象回路のネットリストを提供するための技術である。

0014

テスト回路設計処理概要
まず、本実施の形態にかかるテスト回路設計処理の概要について説明する。図1は、本実施の形態にかかるテスト回路設計処理の概要を示す説明図である。図1のように、本実施の形態にかかるテスト回路設計処理は、LSI設計工程における、DFTテスト容易化設計に関する処理である。

0015

通常、クロックパス上にある論理素子に入力される信号は、クロックとクロックを制御するための制御信号とに分かれる。クロックは正確なタイミングでも入力が求められるため遅延の悪化を防ぐ必要がある。一方、クロックを制御する制御信号はクロックほど厳しいタイミングは要求されない。したがって、本実施の形態では、テスト対象回路内部に供給されるクロックの構成を解析して、回路内の配線状態をクロックと制御信号に分ける。そして、制御信号に対して論理素子を挿入して、テスト対象回路内部に供給されるクロックをテストクロックとして利用させ、セレクタなどによるクロックの遅延増大を防ぐことができる。

0016

具体的に説明すると、設計者によって論理設計によって設計対象となるLSIのネットリスト101が生成される(ステップS1)。本実施の形態にかかるテスト回路設計装置100では、テスト対象回路110の中からテスト対象FF111が指定されると、ネットリスト101を参照して、入力端子(クロック入力端子およびクロック制御信号入力端子)からテスト対象FF111までの間に構成されている論理回路をテスト用論理回路に修正したテスト対象回路120を構成する。

0017

本実施の形態において、テスト用論理回路とは、テスト対象回路110に入力される各クロック(ここでは、クロックA,B)の中から選択されたクロックをテストクロックとしてテスト対象FF111に入力する機構を備えた回路である。選択されたクロックは、テストクロックとして利用される場合、論理回路を構成する各論理素子の影響を受けずに透過した信号としてテスト対象FF111に入力されなければならない。したがって、テスト用論理回路は、選択されたクロックとテスト対象FF111に入力されるクロックとが等しくなるような論理構成がテスト対象回路110の論理回路に追加された構成となっている。

0018

そして、テスト回路設計装置100は、テスト対象回路120の構成が反映されたテスト用ネットリスト102を生成する。このテスト用ネットリスト102がLSIの実機の構成となるため、以降の処理としてテスト用ネットリスト102を参照したレイアウト設計がおこなわれる(ステップS2)。

0019

このように、本実施の形態にかかるテスト回路設計処理では、テスト対象回路110内部のクロックをテストクロックに利用することが可能なテスト機構を含んだテスト回路を設計することができる。内部のクロックを利用するため、従来のようなセレクタを挿入する必要がなくなり、クロックの遅延を増大させることなく、高精度のテストクロックによって動作テストを実行させることができる。

0020

(テスト回路設計装置のハードウェア構成
まず、テスト回路設計装置100のハードウェア構成について説明する。図2−1は、テスト回路設計装置100のハードウェア構成を示すブロック図である。図2−1において、テスト回路設計装置100は、CPU(Central Processing Unit)201と、ROM(Read‐Only Memory)202と、RAM(Random Access Memory)203と、磁気ディスクドライブ204と、磁気ディスク205と、光ディスクドライブ206と、光ディスク207と、I/F(Interface)208と、入力デバイス209と、出力デバイス210と、を備えている。また、各構成部はバス200によってそれぞれ接続されている。

0021

ここで、CPU201は、テスト回路設計装置100の全体の制御を司る。また、ROM202は、ブートプログラムや、テスト回路設計プログラムなどのプログラムを記憶している。また、テスト回路設計装置100において、テスト回路設計処理のみならず、ステップS1の論理設計やステップS2のレイアウト設計など、LSI設計処理をおこなう場合には、各設計処理に応じたプログラムも記憶されている。RAM203は、CPU201のワークエリアとして使用される。磁気ディスクドライブ204は、CPU201の制御にしたがって磁気ディスク205に対するデータのリードライトを制御する。磁気ディスク205は、磁気ディスクドライブ204の制御で書き込まれたデータを記憶する。

0022

光ディスクドライブ206は、CPU201の制御にしたがって光ディスク207に対するデータのリード/ライトを制御する。光ディスク207は、光ディスクドライブ206の制御で書き込まれたデータを記憶したり、光ディスク207に記憶されたデータをコンピュータに読み取らせたりする。

0023

インターフェース(以下、「I/F」と略する)208は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク211に接続され、このネットワーク211を介して他の装置(ステップS1の論理設計やステップS2のレイアウト設計をおこなう装置など)に接続される。そして、I/F208は、ネットワーク211と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F208には、たとえばモデムLANアダプタなどを採用することができる。

0024

入力デバイス209は、設計者からテスト回路設計装置100への指示を受け付けることができる。入力デバイス209の構成例としては、たとえば、キーボードマウスなどが挙げられる。キーボードであれば、文字数字、各種指示などの入力のためのキーを備え、データの入力をおこなうことができる。また、キーボードは、一般的な鍵盤タイプに限らず、タッチパネル式入力パッドテンキーなどであってもよい。また、マウスであれば、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなうことができる。他にも、ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールジョイスティックなどであってもよい。

0025

出力デバイス210は、テスト回路設計装置100による処理結果を設計者に対して出力することができる。出力デバイスの構成例としては、ディスプレイプリンタが挙げられる。ディスプレイであれば、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示することができる。また、プリンタであれば、生成したテスト用ネットリストに関するデータを印刷することができる。

0026

(テスト回路設計装置の機能的構成
つぎに、テスト回路設計装置100の機能的構成について説明する。図2−2は、テスト回路設計装置の機能的構成を示すブロック図である。テスト回路設計装置100は、抽出部221と、構成部222と、生成部223と、出力部224と、を含む構成である。この制御部となる機能(抽出部221〜出力部224)は、具体的には、たとえば、図2−1に示したROM202、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶されたプログラムをCPU201に実行させることにより、または、I/F208により、その機能を実現する。

0027

抽出部221は、テスト対象回路のネットリスト101の中からテスト対象となるFF(フリップ・フロップ)が指定されると、指定されたFFから、このFFへ入力されるクロックの各入力端子までの配線状態をあらわす論理式を抽出する。具体的には、指定されたFFを起点にテスト対象回路をバックトレースして論理回路を構成する論理素子の種類に応じて論理積もしくは論理和を抽出する。この作業を各入力端子まで遡ることによって、FF〜入力端子の配線状態をあらわす論理式となる。なお、抽出された論理式に関する情報は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。

0028

構成部222は、各入力端子の中の一の入力端子から入力されるクロックを、FFのテストクロックとして利用する場合、抽出部221によって抽出された論理式とネットリスト101とを参照して、各入力端子の中から設定された一の入力端子から入力されるクロックをFFまで透過させるテスト機構を構成する。上述した抽出部221によってFFへ入力されるクロックの各入力端子が抽出されるが、これらの入力端子にそれぞれ入力されているクロックのうち、いずれか一つのクロックがテストクロックに設定される。

0029

テストクロックとして利用するクロックの設定は、抽出された論理式に応じて、設計者がおこなう。また、構成部222に、各入力端子に入力されるクロックの中から、動作テスト用のクロック周波数に最も近い周波数のクロックの入力端子を一の入力端子に設定する設定部を備えて自動的に設定させてもよい。

0030

また、構成部222は、抽出部221によって抽出された論理式においてFFへの入力と、選択された一の入力端子への入力とが等しくなる条件を算出する算出部(不図示)を含み、この算出部によって算出された条件を満たすための論理素子を含んだ配線状態をテスト機構として構成してもよい。なお、いずれの場合も、構成されたテスト機構に関する情報は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。

0031

生成部223は、構成部222によって構成されたテスト機構をテスト対象回路のネットリストに追加したネットリスト、すなわち、テスト用ネットリスト102を生成する。そして、出力部224は、生成部223によって生成されたテスト用ネットリスト102を出力する。ここでも、生成されたテスト用ネットリスト102に関する情報は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。また、出力されたテスト用ネットリスト102は、I/F208や出力デバイス210によって設計者に確認可能な情報として提供される。

0032

(テスト回路設計処理の手順)
つぎに、上述したテスト回路設計装置100によるテスト回路設計処理の手順について説明する。図3は、テスト回路設計処理の手順を示すフローチャートである。また、図4−1は、クロック定義テーブルを示す図表であり、図4−2は、テストクロック定義テーブルを示す図表であり、図4−3は、FFクロックテーブルを示す図表であり、図4−4は、配線属性テーブルを示す図表である。

0033

図1にて説明したように、テスト回路設計装置100には、ネットリスト101が提供されている。このネットリスト101に基づいてSTA・合成ツールを用いることによって図4−1〜図4−4に示すようなテーブルが用意される。そして、テスト回路設計装置100は、これら各テーブルを参照して、テスト回路設計処理をおこなう。

0034

図3のフローチャートにおいて、まず、図4−1のクロック定義テーブル410を参照して、各クロックをテストクロックに振り分ける(ステップS301)。クロック定義テーブル410は、STA・合成ツールなどによってネットリスト101のタイミング制約を読み込むことにより構成される。ステップS301の処理では、クロック定義テーブル410を構成する情報のうち、「クロック名」と「クロックポイント」が読み込まれクロック定義として利用される。

0035

また、図4−1にクロックとして定義されているもののうち、テストクロックとして使用するクロックおよび動作周波数、対象となる元のクロック周波数の上限と下限を定義した情報が、図4−2のテストクロック定義テーブル420である。このテストクロック定義テーブル420にしたがって、図4−1のクロック定義テーブル410に記されているクロック周波数よりテストクロックを割り当てる。ここで割り当てられたテストクロック名が、クロック定義テーブル410に記載されている「テストクロック名」に相当する。また、設計者が直にクロック定義テーブル410の「テストクロック名」に書き込むことにより任意のテストクロックを定義することもできる。

0036

つぎに、クロック定義されたポイントからフォワードトレースして各FFのクロック端子につながっているクロックを定義する(ステップS302)。FFについてはネットリスト101を読み込んで各インスタンスを抽出することによって、図4−3のFFクロックテーブル430に「FF名」として書き込まれる。そして、図4−1のクロック定義テーブル410に定義されている「クロック名」よりフォワードトレースを実行する。

0037

ステップS302におけるフォワードトレースでは、クロックポイントからネットリスト101の記述トレースし、組み合わせ回路以外のセルに到達するまでトレースを実行する処理がおこなわれる。トレースした結果、FFのクロック端子に到達したものについては、図4−3のFFクロックテーブル430の「クロック名」にクロック名を記載する。すでに「クロック名」にクロック名が記載されているときは、図4−1のクロック定義テーブル410より、クロック周波数の高いクロック名に置き換える。

0038

そして、ステップS302におけるクロックの定義より、各FFのテストクロックを定義し(ステップS303)、各配線の属性を設定する(ステップS304)。このステップS304における属性設定では、下記の4つのいずれかに設定される。また、T(優先順位高)→O(優先順位低)の順番で優先順位が設定されており、属性設定の際に参照される。

0039

T:テストクロックに直接つながっている配線
C:テストクロックでないクロックに直接つながっている配線
L:テストクロックに組み合わせ回路を通してつながっている配線
N:テストクロックでないクロックに組み合わせ回路を通してつながっている配線
O:その他の配線

0040

ステップS304において、各配線はまず、初期値である“O”に設定される。そして、各クロックからのフォワードトレースによりFFのクロック端子に接続されたものについて“T”または“C”または“L”に定義される(詳細な属性設定の手順については後述する)。このように定義された配線属性は、図4−4の配線属性テーブル440に書き込まれる。

0041

その後、FFからステップS303において定義されたテストクロックへバックトレースをおこない、論理式を構成する(ステップS305)。ステップS305では、具体的には、バックトレースを実施するときに到達した組み合わせセルより論理式を組み立てている。バックトレースを実施する場合、各配線の属性を調べて、“O”の属性の配線に到達した場合はその場所でバックトレースを打ち切る。“T”または“C”の属性の配線に到達した場合はクロックポイントに到達するので、バックトレースは停止する。“L”の属性の配線の場合はバックトレースを続行する。

0042

そして、ステップS305によって構成された論理式とテスト条件とからテストクロック=FF入力クロックになる条件を算出する(ステップS306)。具体的には、まず、各配線のうち“O”の属性の配線について“0”または“1”に固定する。これで、テストクロック=FFクロック端子の論理式が成り立たない場合は“L”属性の配線を“0”
または“1”に固定する。これをテストクロック=FFクロック端子の論理式が成り立つまで実行する。テストクロック=FFクロック端子の論理式が成り立つ条件を決定したら、テスト信号(TEST=“1”)により各配線を固定する。

0043

さらに、ステップS306によって算出された条件に応じて各配線の属性を変更する(ステップS307)。このステップS307は、ステップS306において、バックトレース上で“L”の属性となっていた配線を“T”に置き換える処理である。これは二重に処理を行うことを防ぐためである。

0044

そして、テスト対象回路110のすべてのFFについてテストクロックを調整したか否かを判断する(ステップS308)。ここで、テストクロックの調整が完了していないFFがある場合には(ステップS308:No)、ステップS305の処理に戻り、他のFFについてステップS305以降の処理をおこなう。

0045

ステップS308において、すべてのFFについてのテストクロック調整が完了したと判断された場合には(ステップS308:Yes)、変更された論理式から修正されたネットリスト、すなわちテスト用ネットリストを作成して(ステップS309)、一連の処理を終了する。

0046

(実施例)
つぎに、上述したテスト回路設計処理の実施例を、具体的なテスト対象回路を例に挙げて説明する。図5は、テスト回路設計前のテスト対象回路を示す回路図である。また、図6は、テスト回路設計後のテスト対象回路を示す回路図である。実施例では、図5の回路500をテスト対象回路とする。そして、回路500に入力されるクロックのうち、クロックA(clockA)をテストクロックとして利用可能なテスト機構が追加された図6の回路600を構成するためのテスト用ネットリスト102の生成手順について説明する。

0047

<論理式の構成>
まず、ネットリストを参照して図5の回路500の論理式を構成する手順について説明する。回路500においてテスト対象FF501を起点に、つぎの論理セルまでバックトレースをおこなうと、OR1までバックトレースされ、下記(1)の論理式が求められる。

0048

wire6=wire4+wire5 …(1)

0049

さらに、wire4と、wire5とをバックトレースする。すると、wire4はAND1、wire5はAND2までバックトレースされ、下記(2)の論理式が求められる。

0050

wire6=(wire0・wire1)+(wire2・wire3) …(2)

0051

ここで、図4−4の配線属性テーブル440から属性“O”となるwire0と、wire2とに対して「1」または「0」と固定された場合にwire6=wire1となる条件を算出する。wire6=wire1となる条件とは、すなわち、クロックA(clockA)の入力がそのまま論理セルを透過して、テスト対象FF501に入力されるような条件である。ここでは、wire0=1かつwire2=0である場合、wire6=wire1になるという条件が導き出される。なお、このような条件の導出は公知技術であるため説明は省略する。

0052

そして、テスト対象FF501へのテストクロックの入力を制御するためにテストモード信号(TEST=1)をwire0と、wire1とに付加する。TEST=1の場合に、クロックA(clockA)がテストクロックとして入力されるように設定するため、wire0+TEST=1かつwire2・TESTの反転値=0と付加される。したがって、回路500は、下記(3)のように変更され、図6の回路600のようなテスト機構601が追加された構成となる。

0053

wire6=((wire0+TEST)・wire1)+((wire2・TESTの反転値)・wire3) …(3)

0054

属性設定処理
つぎに、テスト対象回路を構成する各配線の属性設定について説明する。図7は、配線の属性設定手順を示す回路図である。また、図8−1は、配線の属性設定の初期状態を示す図表である。図7の回路500の各配線(wire0〜wire6)では、初期状態では、図表810のように、すべての配線の属性が“O”に設定されている。

0055

その後、クロックA(clockA)よりフォワードトレースが実施され、図7のルート1の順序にそって、FFに到達するまでのwireの属性が設定される。ここで、図8−2は、クロックAからのフォワードトレースによる配線の属性設定を示す図表である。このとき、クロックAがテストクロックであるとすれば、テーブル820にように、wire1はテストクロック端子に直接つながっているので属性“T”となり(821)、FFに到達するまでに存在する、wire4とwire6は属性“L”となる(822,823)。

0056

次に、クロックB(clock B)からフォワードトレースが実施され、図7のルート2の順序にそってFFに到達するまでのwireの属性が設定される。ここで図8−3は、クロックBからのフォワードトレースによる配線の属性設定を示す図表である。このとき、wire3はテストクロックでないクロック端子に直接つながっているので、テーブル830のように、属性“C”となり(831)、wire5は属性“N”となる(832)。なお属性には上述したように優先順位がついている。そして、優先順位が高い属性のwireは低い属性に切り替わらないので、wire6は属性“L”のままとなる(833)。

0057

そして、図7の場合は2つのクロックが入力されているが、さらにクロックが入力される回路の場合は、クロックを起点としたフォワードトレースを繰り返す。そして、すべてのクロックに対して実施した後に、設定した属性を図4−4の配線属性テーブル440に記録する。図8−4は、ネットリスト修正後の属性設定を示す図表である。図6の回路600のように、テストモード信号の制御によってテストクロックをFFに入力させるか否かを制御できるようにネットリストを修正した場合は、テーブル840のようにテストクロックを直接入力可能なwire4〜6の属性を“T”に変更する(841)。

0058

<ネットリストの修正処理
つぎに、上述した論理式の構成と、属性設定を考慮した上で、ネットリストの修正手順について、実施例の回路500を例に挙げて詳細に説明する。図9は、ネットリスト修正の手順を示すフローチャートである。図9のフローチャートにおいて、まず、FFを起点にバックトレースを開始する(ステップS901)。

0059

つぎに、いずれかの論理セルに到達したか否かを判断する(ステップS902)。ここで、論理セルに到達するまで待ち(ステップS902:Noのループ)、論理セルに到達したと判断されると(ステップS902:Yes)、到達した論理セルから論理式を構成する(ステップS903)。図5の場合、到達した論理セルは、OR1(論理和)であるので wire6=wire4+wire5となる。

0060

つぎに、入力wireの属性がLまたはNか否かを判断する(ステップS904)。ここで、入力wireの属性がLまたはNであった場合(ステップS904:Yes)、到達した論理セルを起点に、さらにバックトレースをおこない(ステップS905)、テストクロックが到達する条件となる論理式を構成する(ステップS906)。なお、ステップS904において、入力wireの属性がLまたはNでなかった場合(ステップS904:No)、バックトレースする必要がないため、そのままステップS907の処理に移行する。

0061

図5の場合、wire4、wire5はそれぞれ属性“L”と“N”となる(図4−4参照)。したがって、wire4=wire0・wire1、wire5=wire2・wire3となるため、wire6=(wire0・wire1)+(wire2・wire3)となる。

0062

つぎに、クロックA(clockA)がテストクロックとなるので、wire6=wire1となる。そして、テストクロックと論理積で括られた項は“1”、テストクロックと論理和で括られた項は“0”に置き換える(ステップS907)。上述のwire0は、wire1と論理積で括られているのでwire0=1となる。そして、(wire2・wire3)はwire1と論理和で括られているので、(wire2・wire3)=0となる。そして、配線属性を確認するとwire2は属性“O”であり、wire3は属性“C”である。したがって、属性“O”のwireをすべて“0”にすると、(0・wire3)=0が成り立つので、wire2=0となる。

0063

その後、信号が固定する箇所をテストモード信号に置き換える(ステップS908)。具体的には、テストモード信号(TEST)への置き換えは、“1”に固定する場合はTEST信号と論理和を取る。また、“0”に固定する場合は、テストモード信号(TEST)の反転との論理積を取る。すなわち、wire0→wire0+TESTとなり、wire1→wire1・TESTの反転値となる。

0064

結果として、wire6=((wire0+TEST)・wire1)+((wire2・TEST)・wire3)となる。すなわち、「(wire0+TEST)」と(wire2・TEST)とが、図6におけるテスト機構601として追加された構成となる。最後に、テストモードにおいて、テストクロックと接続されたwire(wire4、wire6)の属性を“L”から“T”に変更することで(ステップS909)、ネットリストの修正処理が終了する。

0065

以上説明したように、本実施の形態にかかるテスト回路設計処理を適用させることによって、実施例のように、ネットリスト101をあらわす論理式を構成することによって、テスト機構601を含んだ回路600のテスト用ネットリスト102を容易に生成することができる。ここで生成されたテスト用ネットリスト102に基づいて構成したテスト回路によって動作テストをおこなえば、内部のクロックを利用するため、従来のようなセレクタを挿入する必要がなくなり、クロックの遅延を増大させることなく、高精度のテストクロックによって動作テストを実現することができる。

0066

なお、本実施の形態で説明したテスト回路設計方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスクフレキシブルディスクCD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、このプログラムは、インターネットなどのネットワークを介して配布することが可能な媒体であってもよい。

0067

また、本実施の形態で説明したテスト回路設計装置100は、スタンダードセルストラクチャードASIC(Application Specific IntegratedCircuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、たとえば、上述したテスト回路設計装置100の機能(抽出部221〜出力部224)をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、テスト回路設計装置100を製造することができる。

0068

上述した実施の形態に関し、さらに以下の付記を開示する。

0069

(付記1)コンピュータを、
テスト対象回路のネットリストの中からテスト対象となるFF(フリップ・フロップ)が指定されると、当該FFから、当該FFへ入力されるクロックの各入力端子までの配線状態をあらわす論理式を抽出する抽出手段、
前記各入力端子の中の一の入力端子から入力されるクロックを前記FFのテストクロックとして利用する場合、前記抽出手段によって抽出された論理式と前記ネットリストとを参照して前記一の入力端子から入力されるクロックを前記FFまで透過させるテスト機構を構成する構成手段、
前記構成手段によって構成されたテスト機構を前記テスト対象回路のネットリストに追加したテスト用ネットリストを生成する生成手段、
前記生成手段によって生成されたテスト用ネットリストを出力する出力手段、
として機能させることを特徴とするテスト回路設計プログラム。

0070

(付記2)前記構成手段は、前記コンピュータを、
前記抽出手段によって抽出された論理式において前記FFへの入力と、前記一の入力端子への入力とが等しくなる条件を算出する算出手段として機能させ、前記算出手段によって算出された条件を満たすための論理素子を含んだ配線状態をテスト機構として構成することを特徴とする付記1に記載のテスト回路設計プログラム。

0071

(付記3)前記算出手段は、前記論理式にテストモード制御信号を入力するための入力端子を追加し、当該テストモード制御信号が特定の値の場合に、前記一の入力端子から入力されるクロックと前記FFへ入力されるクロックとが等しくなる条件を算出することを特徴とする付記2に記載のテスト回路設計プログラム。

0072

(付記4)前記コンピュータをさらに、
前記各入力端子に入力されるクロックの中から、動作テスト用のクロック周波数に最も近い周波数のクロックの入力端子を前記一の入力端子に設定する設定手段として機能させることを特徴とする付記1〜3のいずれか一つに記載のテスト回路設計プログラム。

0073

(付記5)前記抽出手段は、前記指定されたFFをバックトレースして当該FFから当該FFへ入力されるクロックの各入力端子までの配線状態をあらわす論理式を抽出することを特徴とする付記1〜4のいずれか一つに記載のテスト回路設計プログラム。

0074

(付記6)テスト対象回路のネットリストの中からテスト対象となるFF(フリップ・フロップ)が指定されると、当該FFから、当該FFへ入力されるクロックの各入力端子までの配線状態をあらわす論理式を抽出する抽出手段と、
前記各入力端子の中の一の入力端子から入力されるクロックを前記FFのテストクロックとして利用する場合、前記抽出手段によって抽出された論理式と前記ネットリストとを参照して前記一の入力端子から入力されるクロックを前記FFまで透過させるテスト機構を構成する構成手段と、
前記構成手段によって構成されたテスト機構を前記テスト対象回路のネットリストに追加したテスト用ネットリストを生成する生成手段と、
前記生成手段によって生成されたテスト用ネットリストを出力する出力手段と、
を備えることを特徴とするテスト回路設計装置。

0075

(付記7)コンピュータが、
テスト対象回路のネットリストの中からテスト対象となるFF(フリップ・フロップ)が指定されると、当該FFから、当該FFへ入力されるクロックの各入力端子までの配線状態をあらわす論理式を抽出する抽出工程と、
前記各入力端子の中の一の入力端子から入力されるクロックを前記FFのテストクロックとして利用する場合、前記抽出工程によって抽出された論理式と前記ネットリストとを参照して前記一の入力端子から入力されるクロックを前記FFまで透過させるテスト機構を構成する構成工程と、
前記構成工程によって構成されたテスト機構を前記テスト対象回路のネットリストに追加したテスト用ネットリストを生成する生成工程と、
前記生成工程によって生成されたテスト用ネットリストを出力する出力工程と、
を実行することを特徴とするテスト回路設計方法。

図面の簡単な説明

0076

本実施の形態にかかるテスト回路設計処理の概要を示す説明図である。
テスト回路設計装置のハードウェア構成を示すブロック図である。
テスト回路設計装置の機能的構成を示すブロック図である。
テスト回路設計処理の手順を示すフローチャートである。
クロック定義テーブルを示す図表である。
テストクロック定義テーブルを示す図表である。
FFクロックテーブルを示す図表である。
配線属性テーブルを示す図表である。
テスト回路設計前のテスト対象回路を示す回路図である。
テスト回路設計後のテスト対象回路を示す回路図である。
配線の属性設定手順を示す回路図である。
配線の属性設定の初期状態を示す図表である。
クロックAからのフォワードトレースによる配線の属性設定を示す図表である。
クロックBからのフォワードトレースによる配線の属性設定を示す図表である。
ネットリスト修正後の属性設定を示す図表である。
ネットリスト修正の手順を示すフローチャートである。

符号の説明

0077

100テスト回路設計装置
101ネットリスト
102テスト用ネットリスト
110テスト対象回路
111テスト対象FF(フリップフロップ
120修正したテスト対象回路
221 抽出部
222 構成部
223 生成部
224 出力部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ