説明

テスト回路、テスト回路の制御方法

【課題】論理回路の論理検証において、不要な遅延を生じさせる要因を排除する。
【解決手段】テスト回路は、外部端子から入力された入力データを論理回路および比較回路に出力し、該入力データの出力後に、該外部端子から入力された、該入力データに対する所定の演算の結果に相当する期待値データを論理回路および比較回路に出力するデータ線と、前記データ線から前記入力データが出力されたとき、該入力データを使用して前記演算を実行し、該演算の結果である演算結果データを前記比較回路へ出力する論理回路と、前記データ線から前記期待値データが出力されたとき、該期待値データと、前記論理回路から出力された前記演算結果データとを比較し、比較した結果である比較結果データを出力する比較回路と、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、論理回路をテストする技術に関する。
【背景技術】
【0002】
近年のLSI(Large Scale Integration)の高集積化、高速化に伴い、論理回路の処理は複雑化し高性能化の一途をたどっている。このため、適用が容易で確実性の高い論理検証方法が望まれており、通常動作と同一速度(at speed)でのテストが、より重要視されている。
【0003】
ここで、論理回路のテストにおいて、論理回路以外に、テストを容易にするための回路の実装を要することがあった。しかし、At speedでのテストにおいて、必要な論理回路以外の余分な回路の実装は、遅延を生じさせるので、望ましくない。このため、装置は、なるべく小規模の回路で論理検証を行う必要がある。
【0004】
特許文献1に記載されたテスト装置は、通常データと、テストデータとが入力されるセレクタを備え、セレクタは、これらのデータを切り替えて検査対象回路に出力している。検査対象回路は、テストデータを使用して論理検証を行う。
【0005】
特許文献2に記載された半導体装置には、内部回路が生成した内部信号と対応する期待値を入力するための外部端子が設けられる。この半導体装置は、外部端子から入力された期待値と、自身が生成した内部信号の値とを比較することにより内部回路の論理検証を行う。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006−30079号公報
【特許文献2】特開2008−304355号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、特許文献1や2に記載された装置では、論理回路の論理検証・実機評価のためのテスト回路の実装によって、遅延が大きくなりやすいという問題があった。
【0008】
特許文献1に記載された装置では、セレクタ回路自体のゲート遅延が大きい。また、特許文献2に記載された装置でも、期待値入力用の外部端子と外部機器との間の接続不良などに起因して、遅延が生じうる。この外部端子を、他の端子と共用にした場合には、他の端子と接続された回路等の遅延により、更に遅延が大きくなる。
【0009】
これらの遅延によりat speedでのテストに支障が生じることがあった。また、遅延が生じる箇所が複数ある場合、どこで遅延が生じているかの検証は高集積、高速なLSI/FPGA(Field Programmable Gate Array)であるほど時間がかかり、解決が容易でなかった。
【0010】
本発明は、論理回路の論理検証において、不要な遅延を生じさせる要因を排除するための技術を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記目的を達成するために、本発明のテスト回路は、外部端子から入力された入力データを論理回路および比較回路に出力し、該入力データの出力後に、該外部端子から入力された、該入力データに対する所定の演算の結果に相当する期待値データを論理回路および比較回路に出力するデータ線と、前記データ線から前記入力データが出力されたとき、該入力データを使用して前記演算を実行し、該演算の結果である演算結果データを前記比較回路へ出力する論理回路と、前記データ線から前記期待値データが出力されたとき、該期待値データと、前記論理回路から出力された前記演算結果データとを比較し、比較した結果である比較結果データを出力する比較回路と、を有する。
【0012】
本発明のテスト回路の制御方法は、入力データを信号線から論理回路及び比較回路に入力し、該入力データを入力した後、該入力データに対する所定の論理演算の結果として期待されるデータである期待値データを該信号線から該論理回路及び該比較回路に入力し、論理回路が、前記入力データが入力されたとき、該入力データを使用して前記論理演算を実行し、前記論理回路が、該論理演算の結果を示す演算結果データを前記比較回路に入力し、比較回路が、前記期待値データが入力されたとき、該期待値データと、前記論理回路により出力された前記演算結果データとを比較し、前記比較回路が、比較した結果を示す比較結果データを出力する、テスト回路の制御方法である。
【発明の効果】
【0013】
本発明によれば、データ線から入力データが入力された場合、論理回路が論理演算を行い、同じ信号線から期待値データが入力されたとき、比較回路が、論理演算の結果と期待値データを比較する。テスト回路は、期待値データのみを入力するための外部端子やセレクタを要しないので、不要な遅延が生じることがなくなる。
【図面の簡単な説明】
【0014】
【図1】本発明の第1の実施形態のテスト装置の一構成例を示すブロック図である。
【図2】本発明の第1の実施形態のテスト回路の一構成例を示すブロック図である。
【図3】本発明の第1の実施形態のテスト回路の動作の一例を示すタイミングチャートである。
【図4】本発明の第1の実施形態のテスト回路の動作の一例を示すタイミングチャートである。
【図5】本発明の第2の実施形態のテスト回路の一構成例を示すブロック図である。
【図6】本発明の第2の実施形態の論理回路ブロックの動作を説明するための表である。
【図7】本発明の第2の実施形態のテスト比較回路の動作を説明するための表である。
【図8】本発明の第2の実施形態のテスト結果出力回路の動作を説明するための表である。
【図9】本発明の第2の実施形態のテスト制御データの示す内容をまとめた表である。
【図10】本発明の第2の実施形態のテスト回路の動作の一例を示すタイミングチャートである。
【図11】本発明の第3の実施形態のテスト回路の一構成例を示すブロック図である。
【図12】本発明の第3の実施形態のテスト比較回路の一構成例を示すブロック図である。
【図13】本発明の第3の実施形態のカウンタ比較回路の動作の一例を示すフローチャートである。
【図14】本発明の第3の実施形態のRS−FFの動作を説明するための表である。
【図15】本発明の第3の実施形態の結果比較回路の動作を説明するための表である。
【図16】本発明の第3の実施形態のテスト回路の動作の一例を示すタイミングチャートである。
【発明を実施するための形態】
【0015】
(第1の実施形態)
本発明を実施するための第1の実施形態について図面を参照して詳細に説明する。図1は、本実施形態のテスト装置の構成を示す図である。同図を参照すると、テスト装置は、信号発生部2、およびテスト回路1を有する。信号発生部2には、プログラムを格納するためのメモリと、そのプログラムにしたがって処理を実行するCPU(Central Processing Unit)が設けられている。信号発生部2は、プログラムに従って、所定のタイミングでテスト回路1が使用する信号を生成し、テスト回路1へ送信する。信号発生部2は、通常入力データ、期待値データ、データイネーブル信号DE101、DE111を生成する。これらの信号の詳細については、図2で後述する。各信号を送信するタイミングについては、図3、4で後述する。
【0016】
なお、信号発生部1は、所定のタイミングで種々のデータを出力する回路であればCPU、およびプログラムに限らず、専用の回路であってもよい。
【0017】
図2は、テスト回路1の一構成例を示すブロック図である。テスト回路1は、論理回路の検証、評価を行うための回路である。同図を参照すると、テスト回路1は、論理回路ブロック10、テスト比較回路11、データ線101、111、および各回路にデータイネーブル信号を入力するための信号線を有する。
【0018】
外部端子から通常入力データが入力され、そのデータは、データ線101から論理回路ブロック10およびテスト比較回路11へ出力される。外部端子は図1において省略されている。
【0019】
次いで、通常入力データの入力時から所定の期間が経過したときに、同じデータ線101から、期待値データが、論理回路ブロック10およびテスト比較回路11出力される。この期間は、論理回路ブロック10の論理演算におけるレイテンシと予想される時間以上の値に設定される。
【0020】
つまり、通常入力データを入力するパス(信号線101)は、期待値データを入力するパスとしても使用される。
【0021】
データ線111は、論理回路ブロック10の出力端子とテスト比較回路11の入力端子とを接続している。
【0022】
通常入力データは、論理回路ブロック10における論理演算の処理対象となるデータである。期待値データは、その論理演算の結果として期待されるデータである。
【0023】
論理回路ブロック10は、処理単位にブロック化した、1以上の論理回路から構成される回路ブロックである。論理回路ブロック10には、データイネーブル信号DE101と、通常入力データまたは期待値データとが入力される。
【0024】
データイネーブル信号DE101は、データ線101からの入力データ(通常入力データ、または期待値データ)を論理回路ブロック10において有効または無効にするための制御信号である。本実施形態では、データイネーブル信号DE101は、入力データを有効にする場合、ハイレベルに設定され、入力データを無効にする場合、ローレベルに設定される。
【0025】
そして、データイネーブル信号DE101は、信号線101から通常入力データが出力されたときハイレベルに設定される。そして、データイネーブル信号DE101は、ハイレベルとなってからレイテンシ以上の時間が経過して、期待値データが出力されるタイミングでローレベルに設定される。
【0026】
データイネーブル信号DE101がハイレベルの場合、論理回路ブロック10は、信号線101からの入力データに対して、所定の論理演算を実行する。論理回路ブロック10は、論理演算の結果を示す通常処理データを、データ線111を介してテスト比較回路11へ出力する。論理回路ブロック10に通常入力データが入力されてから、論理演算後、通常処理データが出力されるまでには、一定の遅延時間(レイテンシ)が生じる。
【0027】
データイネーブル信号DE101がローレベルの場合、論理回路ブロック10において、入力データは無効となり、論理演算は実行されない。
【0028】
テスト比較回路11には、通常処理データと、データイネーブル信号DE111と、通常入力データまたは期待値データとが入力される。
【0029】
データイネーブル信号DE111は、データ線111からの通常処理データを論理回路ブロック10において有効または無効にするための制御信号である。本実施形態では、データイネーブル信号DE111は、通常処理データを有効にする場合、ハイレベルに設定され、通常処理データを無効にする場合、ローレベルに設定される。
【0030】
そして、データイネーブル信号DE111は、データ線111から通常入力データが出力されたときハイレベルに設定される。そして、データイネーブル信号DE111は、ハイレベルとなってからレイテンシ以上の時間が経過して、期待値データが出力されるタイミングでローレベルに設定される。
【0031】
データイネーブル信号DE111がハイレベルの場合、テスト比較回路11は、データ線111からの通常処理データと、データ線101からの期待値データとを比較する。テスト比較回路11は、比較した結果を示す比較結果データを出力する。例えば、テスト比較回路11は、通常処理データと期待値データが一致した場合、パスしたことを示し、一致しない場合、フェイルしたことを示す比較結果データを出力する。
【0032】
データイネーブル信号DE111がローレベルの場合、テスト比較回路11において、通常処理データは無効となり、比較結果データは生成されない。
【0033】
次に、本実施形態のテスト回路1の動作手順を説明する。図3は、テスト回路1の動作を示すタイミングチャートである。同図に示すように、CPU等は、論理回路ブロック10の論理演算におけるレイテンシの期間だけ、ハイレベルのデータイネーブル信号DE101を論理回路ブロック10に入力する。次いで、CPU等は、ローレベルのデータイネーブル信号DE101を論理回路ブロック10に入力する。
【0034】
また、CPU等は、DE101をハイレベルとしたときから、論理回路ブロック10のレイテンシが経過するまで、データ線101から通常処理データを出力する。次いで、CPU等は、そのデータ線101から期待値データを出力する。
【0035】
CPU等は、DE101をハイレベルからローレベルに切り替えた後、所定期間だけ、ハイレベルのデータイネーブル信号DE111を論理回路ブロック10およびテスト比較回路11に入力する。
【0036】
論理回路ブロック10は、データイネーブル信号DE101がハイレベルになったとき、データ線101からの入力データ(通常処理データ)に対して論理演算を実行する。論理回路ブロック10の論理演算におけるレイテンシが経過したとき、データ線111から通常処理データが出力される。
【0037】
テスト比較回路11は、データイネーブル信号DE111がハイレベルになったとき、データ線101からの入力データ(期待値データ)と、データ線111からの通常処理データとを比較し、比較結果データを出力する。
【0038】
なお、本実施形態では、CPU等が、データ線101を介して通常入力データを出力してから、レイテンシが経過した後、期待値データを出力しているが、図4に示すように、レイテンシが経過するたびに、通常入力データ、期待値データを交互に複数回出力する構成としてもよい。繰り返し、比較を行うことにより、論理検証の信頼性が向上する。
【0039】
本実施形態の通常入力データが本発明の入力データに相当し、本実施形態の論理回路ブロックが本発明の論理回路に相当する。本実施形態のテスト比較回路は、本発明の比較回路に相当する。
【0040】
以上説明したように、本実施形態によれば、入力データがデータ線から出力されている間、論理回路が論理演算を行い、同じデータ線から期待値データが出力されたとき、比較回路が、論理演算の結果と期待値データを比較する。テスト回路は、期待値データのみを入力するための外部端子やセレクタを要しないので、外部端子等によって不要な遅延が生じることがなくなる。
【0041】
想定したレイテンシが経過してから、CPU等が期待値データを送信するので、テスト回路は、比較結果データに基づいて、実際のレイテンシが想定した時間より長いか否かを検証することができる。例えば、比較結果データが、パスしたことを示す場合、実際のレイテンシは、想定した時間以下であるが、フェイルしたことを示す場合、テスト回路は、実際のレイテンシは想定した時間より長いと判断できる。テスト対象の論理回路ブロックの処理レイテンシは処理性能のパラメータのひとつであり、仕様通りに設計されているかを検証することは重要である。
【0042】
これに対して、特許文献1、2に記載された装置では、入力データ、期待値データを異なるパスから同時に入力している。このため、期待値比較は可能であるが、テスト対象の処理性能を正確に検証することができない。これらの装置は、テスト対象の処理に関して処理レイテンシなどの要求仕様がある場合に、通常処理動作のシミュレーション時間や実機動作での時間を計測することでは要求仕様通りであることが正確には検証できない。
【0043】
また、データイネーブル信号をレイテンシの周期でハイレベル、ローレベルに制御することで、テストを複数回行う場合であっても、入力データ、期待値データの出力タイミングを容易に合わせることができる。
【0044】
更に、本実施形態によれば、テスト回路は、論理検証と実機評価においてテスト対象の機能を同条件で検証することができる。詳細には、期待値データを通常入力のデータパスから入力するため、テスト回路は、外部機器によるキャプチャやテスト用の内部メモリに一時保存することなく機能テストが可能であり、実機評価において内蔵回路によるAt speedでの機能テストを容易に実現することができる。このため、論理検証と同条件でのテストが可能となる。
【0045】
これに対して、特許文献1に記載の構成では、論理検証において出力データを保存して期待値データと比較をする方法はRTL(Register Transfer Level)シミュレーションでのみ有効であり、実機評価においては論理検証時のテスト構成をそのまま活用することができない。LSIテスタにおいてはファンクションテストにて出力端子の期待値比較をすることが可能であるが、実機評価においては、特許文献1に記載された装置は、期待値比較のために外部機器によってデータをキャプチャして保存したり、テスト対象の内蔵メモリに一時保存して外部インタフェースからの読み出しをしたりする必要がある。
【0046】
(第2の実施形態)
本発明の第2の実施形態について説明する。本実施形態のテスト回路は、複数段の論理回路ブロックの動作を検証する点で第1の実施形態と異なる。なお、本実施形態のテスト回路について、図2で説明した構成と同様な構成の詳細な説明を省略し、第1の実施形態と異なる点について詳しく説明する。
【0047】
図5は、本実施形態のテスト回路1aの一構成例を示すブロック図である。同図を参照すると、テスト回路1aは、論理回路ブロック10a、12、13と、テスト比較回路11a、14と、テスト結果出力回路15と、テスト制御回路20と、データ線101、111、121、131、141、151、201、211、212、213、214、215と、各回路に制御信号およびデータイネーブル信号を入力するための信号線とを有する。
【0048】
テスト比較回路11aは、論理回路ブロック10aの論理検証を行う回路であり、テスト比較回路14は、論理回路ブロック12、13の論理検証を行う回路である。
【0049】
また、テスト回路1aには、論理回路ブロック10a、12、13と、テスト比較回路11a、14とのそれぞれにデータイネーブル信号を入力するための信号線が設けられている。これらの信号線は、図4において省略されている。
【0050】
図6を参照して、論理回路ブロック10aの動作について説明する。同図は、論理回路ブロック10aの動作を説明するための表である。論理回路ブロック12、13の動作も論理回路ブロック10aと同様である。論理回路ブロック10aには、データ線101からの入力データと、スルー動作制御信号と、データイネーブル信号DE101とが入力される。
【0051】
スルー動作制御信号は、テスト制御回路20が論理回路ブロック10aにスルー動作、または論理演算の実行を指示するための制御信号である。本実施形態では、スルー動作制御信号は、論理回路ブロック10aにスルー動作させる場合にハイレベル、論理演算を実行させる場合はローレベルに設定される。
【0052】
データイネーブル信号DE101は、前述したように、データ線101からの入力データを論理回路ブロック10aにおいて有効または無効にするための制御信号である。
【0053】
図6に示すように、スルー動作制御信号、データイネーブル信号DE101がともにハイレベル(「1」)である場合、論理回路ブロック10aは、データ線101からの入力データを、そのまま出力する。このスルー動作におけるレイテンシは、論理演算におけるレイテンシより小さい。
【0054】
スルー動作制御信号がローレベル(「0」)で、データイネーブル信号DE101がハイレベル(「1」)である場合、論理回路ブロック10aは、データ線101からの入力データに対して、論理演算を実行し、演算結果データを出力する。
【0055】
データイネーブル信号DE101がローレベル(「0」)である場合、論理回路ブロック10aにおいて、データ線101からの入力データが無効になり、スルー動作出力、論理演算は実行されない。
【0056】
図7を参照して、テスト比較回路11aの動作について説明する。同図は、テスト比較回路11aの動作を説明するための表である。テスト比較回路14の動作もテスト比較回路11aと同様である。テスト比較回路11aには、データ線101、111からの入力データと、比較動作制御信号と、データイネーブル信号DE111とが入力される。
【0057】
比較動作制御信号は、テスト制御回路20が論理回路ブロック10aに比較動作、またはスルー動作を指示するための制御信号である。本実施形態では、比較動作制御信号は、テスト比較回路11aに比較動作させる場合にハイレベル、スルー動作させる場合はローレベルに設定される。
【0058】
図7に示すように、比較動作制御信号、データイネーブル信号DE111がともにハイレベル(「1」)である場合、テスト比較回路11aは、データ線111からの通常処理データと、データ線101からの期待値データとを比較し、比較結果データを出力する。
【0059】
比較動作制御信号がローレベル(「0」)で、データイネーブル信号DE101がともにハイレベル(「1」)である場合、論理回路ブロック10aは、データ線111からの入力データを、そのまま出力する。
【0060】
データイネーブル信号DE111がローレベル(「0」)である場合、テスト比較回路11aにおいて、データ線101からの入力データが無効になり、スルー動作出力、比較動作は行われない。
【0061】
図8を参照して、テスト結果出力回路15の動作について説明する。同図は、テスト結果出力回路15の動作を説明するための表である。テスト結果出力回路15には、データ線151からの比較結果データと、テスト結果出力制御信号とが入力される。
【0062】
テスト結果出力制御信号は、テスト制御回路20がテスト結果出力回路15に、外部出力する否かを指示するための制御信号である。本実施形態では、テスト結果出力制御信号は、テスト結果出力回路15に外部出力させる場合にハイレベル、そうでない場合はローレベルに設定される。
【0063】
図8に示すように、テスト結果出力制御信号がハイレベル(「1」)である場合、テスト結果出力回路15は、データ線151からの比較結果データを内部出力するとともに外部出力する。
【0064】
テスト結果出力制御信号がローレベル(「0」)である場合、テスト結果出力回路15は、データ線151からの比較結果データを、テスト回路1aを実装した装置の内部にのみ出力する。
【0065】
図9を参照して、テスト制御回路20の動作について説明する。テスト制御回路20には、テスト制御データが入力される。テスト制御データは、テスト制御回路20が、論理回路ブロック、テスト比較回路、およびテスト結果出力回路のそれぞれを制御するためのデータである。テスト制御回路20は、このテスト制御データをデコードし、テスト制御データの示す内容に従って、論理回路ブロック、テスト比較回路、テスト結果出力回路のそれぞれに、スルー動作制御信号、比較動作制御信号、テスト結果出力制御信号を出力する。
【0066】
図9は、テスト制御回路20に入力されるテスト制御データの示す内容をまとめた表である。同図を参照すると、テスト制御データにおいて、1以上の「テスト対象回路」が設定される。「テスト対象回路」は、論理検証の対象となる論理回路ブロックである。
【0067】
例えば、「論理回路ブロック10a」、「論理回路ブロック12」、「論理回路ブロック13」、および「論理回路ブロック12、13」がテスト対象回路として設定される。
【0068】
そして、テスト対象回路ごとに、「スルー動作制御信号」、「比較動作制御信号」、および「外部出力」が設定される。
【0069】
「スルー動作制御信号」は、論理回路ブロックが、それぞれスルー動作すべきか否かを示す信号である。各論理回路ブロックについて、スルー動作すべき場合、「1」が設定され、そうでない場合「0」が設定される。
【0070】
「比較動作制御信号」は、テスト比較回路が、それぞれ比較動作すべきか否かを示す信号である。各テスト比較回路について、比較動作すべき場合、「1」が設定され、そうでない場合「0」が設定される。
【0071】
「外部出力」は、「テスト対象回路」についての比較結果データを外部出力すべきか否かを示す信号である。各テスト対象回路について、外部出力すべき場合、「1」が設定され、そうでない場合「0」が設定される。テスト制御回路20は、「外部出力」に設定された内容の外部出力制御信号をテスト結果出力回路15へ出力する。
【0072】
例えば、論理回路ブロック10aについて、論理検証が必要で、その結果を外部出力すべき場合について考える。この場合、論理回路ブロック10aに対応する「スルー動作制御信号」には「0」が設定され、それ以外の論理回路ブロック12、13に対応する「スルー動作制御信号」には「1」が設定される。
【0073】
また、テスト比較回路11aに対応する「比較動作制御信号」には「1」が設定され、テスト比較回路14に対応する「比較動作制御信号」には「0」が設定される。「外部出力」には、「1」が設定される。
【0074】
この設定により、論理回路ブロック10aは、演算処理を行ってテスト結果データを出力し、テスト比較回路11aは、比較結果データを出力する。そして、論理回路ブロック12、13およびテスト比較回路14は、比較結果データをスルー出力する。
【0075】
図10を参照して、テスト回路1aの動作結果の一例について説明する。同図は、テスト回路1aの動作結果の一例を示すタイミングチャートである。
【0076】
テスト制御データとして、論理回路ブロック10aを「テスト対象回路」とするデータが入力された場合について考える。
【0077】
この場合、CPU等は、論理回路ブロック10aの論理演算におけるレイテンシの間、ハイレベルのデータイネーブル信号DE101を論理回路ブロック10aに入力する。そして、CPU等は、同じ期間の間、ローレベルのデータイネーブル信号DE101を論理回路ブロック10aに入力する。CPU等は、この動作を所定回数繰り返す。
【0078】
CPU等は、DE101をハイレベルにしたときから論理回路ブロック10のレイテンシの間、データ線101から、通常入力データを論理回路ブロック10aおよびテスト比較回路11aに入力する。そして、CPU等は、同じ期間の間、期待値データを論理回路ブロック10aおよびテスト比較回路11aに入力する。CPU等は、この動作を所定回数繰り返す。
【0079】
CPU等は、DE101をハイレベルからローレベルに切り替えたときから論理回路ブロック10のレイテンシが経過するまで、ハイレベルのデータイネーブル信号DE111をテスト比較回路11aに入力する。そして、CPU等は、同じ期間の間、ローレベルのデータイネーブル信号DE111をテスト比較回路11aに入力する。CPU等は、この動作を所定回数繰り返す。
【0080】
論理回路ブロック10aは、データイネーブル信号DE101がハイレベルならば、通常入力データに対する論理演算を実行し、レイテンシ経過後に、データ線111から通常処理データを出力する。
【0081】
CPU等は、ハイレベルのスルー動作出力制御信号(不図示)を論理回路ブロック12に入力する。また、CPU等は、DE111と同じタイミングで、ハイレベル、ローレベルのデータイネーブル信号DE121を論理回路ブロック12に入力する。
【0082】
論理回路ブロック12は、データイネーブル信号DE121がハイレベルならば、データ線121から、比較結果データを論理回路ブロック13へスルー出力する。論理回路ブロック13も論理回路ブロック12と同様にスルー出力動作を行う。
【0083】
CPU等は、ハイレベルのスルー動作出力制御信号(不図示)をテスト比較回路14に入力する。また、CPU等は、DE121をハイレベルにした時点から、論理回路ブロック12、13のスルー動作におけるレイテンシが経過したとき、論理回路ブロック10aのレイテンシの期間だけ、ハイレベルのデータイネーブル信号DE141をテスト比較回路14に入力する。
【0084】
テスト比較回路14は、データイネーブル信号DE141がハイレベルであるとき比較結果データをテスト結果出力回路15へスルー出力する。
【0085】
なお、本実施形態では、テスト比較回路14が、2つの論理回路ブロック(12、13)をまとめて論理検証する構成としているが、論理回路ブロック1つに対してテスト比較回路を1つ設ける構成としてもよい。
【0086】
論理回路ブロックごとに、テスト比較回路を設けることにより、テスト回路は、その論理回路ブロックの論理演算におけるレイテンシを個別に検証することができる。
【0087】
一方、本実施形態のように、1つのテスト比較回路で複数の論理回路ブロックをまとめて論理検証する構成とすれば、配線数やテスト比較回路の個数が少なくて済み、コストが低減する。
【0088】
本実施形態では、テスト制御回路がスルー動作制御信号、テスト結果制御信号を出力する構成としているが、CPU等が通常処理データ、期待値データ、またはデータイネーブル信号に加えて、スルー動作制御信号、テスト結果制御信号を出力する構成としてもよい。
【0089】
逆に、テスト制御回路が、スルー動作制御信号、テスト結果制御信号に加えて、通常処理データ、期待値データ、またはデータイネーブル信号を出力する構成としてもよい。
【0090】
以上説明したように、本実施形態によれば、複数の論理回路ブロックを1つの比較回路でまとめて論理検証するので、テスト比較回路の実装数が少なくて済み、コストが低減する。
【0091】
また、各論理回路ブロック、テスト比較回路をスルー出力制御するので、論理回路ブロック、テスト比較回路の組を、複数個設けて、それらを直列に接続できる。このため、各組を並列に設ける構成に比較して、配線数が減少し、実装が容易となる。
【0092】
(第3の実施形態)
本発明の第3の実施形態について説明する。本実施形態のテスト回路は、SRAM(Static Random Access Memory)を内蔵し、テスト比較回路にカウンタ回路を設ける点で第2の実施形態と異なる。なお、本実施形態のテスト回路について、図5で説明した構成と同様な構成の詳細な説明を省略し、第2の実施形態と異なる点について詳しく説明する。
【0093】
図11は、本実施形態のテスト回路1bの一構成例を示すブロック図である。同図を参照すると、テスト回路1bは、論理回路ブロック12の代わりに、内蔵SRAM12aを備え、テスト比較回路14の代わりに、テスト比較回路14bを備える点以外は、第2の実施形態のテスト回路1aと同様である。
【0094】
内蔵SRAM12bには、ライトイネーブル信号WE、リードイネーブル信号RE、テスト比較回路11aからのデータが入力される。
【0095】
内蔵SRAM12bは、ライトイネーブル信号WEがハイレベルとなったとき、テスト比較回路11aからのデータを保持する。そして、リードイネーブル信号REがハイレベルになったとき、保持したデータを論理回路ブロック13へ出力する。
【0096】
CPU等は、テスト比較回路14bに、比較動作またはスルー動作をさせる場合、ハイレベル、比較動作およびスルー動作のいずれも停止させる場合、ローレベルのデータイネーブル信号DE141を入力する。
【0097】
テスト比較回路14bは、データイネーブル信号DE141がハイレベルになっている間、論理回路ブロック13の論理演算のレイテンシの周期で、比較動作とスルー動作とを交互に行う。
【0098】
図12は、テスト比較回路14bの一構成例を示すブロック図である。同図を参照すると、テスト比較回路14bは、カウンタ回路145、RS−FF(Reset Set Flip Flop)146、および結果比較回路147を有する。
【0099】
カウンタ回路145には、データイネーブル信号DE141が入力される。カウンタ回路145は、データイネーブル信号DE141がハイレベルであれば、カウント動作を開始し、ローレベルであれば、RS−FF146をリセットするとともにカウント動作を停止する。
【0100】
カウント動作において、カウンタ回路145は、所定値に達するまで数値を計数し、所定値になったとき、数値を初期値に設定(リセット)するとともにRS−FF146をセットする動作を繰り返す。計数開始から、数値のリセットまでの時間は、論理回路ブロック13の論理演算のレイテンシとなるように設定される。
【0101】
RS−FF146は、レイテンシマスク信号をRS−FF146は、リセットされたとき、ローレベルのレイテンシマスク信号を結果比較回路147へ出力し、セットされるたびに、前回値を反転させたレイテンシマスク信号を出力する。
【0102】
結果比較回路147には、データ線141、131が接続される。レイテンシマスク信号がハイレベルの場合、結果比較回路147は、データ線141からの通常処理データと、データ線131からの期待値データとを比較し、比較結果データを出力する。レイテンシマスク信号がローレベルの場合、結果比較回路147は、比較動作を停止する。
【0103】
図13を参照して、カウンタ回路145の動作について詳細に説明する。同図は、カウンタ回路145の動作の一例を示すフローチャートである。この動作は、ハイレベルのデータイネーブル信号DE141がカウンタ回路145に入力されたときに開始する。
【0104】
図13を参照すると、カウンタ回路145は、カウンタ値を初期値「0」に設定(プリセット)し、RS−FF146をリセットする(ステップS1)。
【0105】
カウンタ回路145は、カウンタ値を「1」だけカウントアップする(ステップS2)。カウンタ回路145は、カウンタ値が3」に達したか否かを判断する(ステップS3)。カウンタ値が「3」未満であれば(ステップS3:NO)、カウンタ回路145は、ステップS2に戻る。
【0106】
カウンタ値が「3」であれば(ステップS3:YES)、カウンタ回路145は、データイネーブル信号DE141がハイレベル(オン)であるか否かを判断する(ステップS4)。
【0107】
データイネーブル信号DE141がオンであれば(ステップS4:YES)、カウンタ回路145は、カウンタ値を初期値に戻し(リセットし)、RS−FF146をセットする(ステップS5)。ステップS5の後、カウンタ回路145は、ステップS2に戻る。
【0108】
データイネーブル信号DE141がローレベルであれば(ステップS3:NO)、カウンタ回路145は、動作を終了する。
【0109】
図14を参照して、RS−FF146の動作について説明する。同図は、RS−FF146の動作の一例を示す真理値表である。
【0110】
図14において、「Q」は、レイテンシマスク信号の前回値であり、「Qn」は、RS−FF146が出力するレイテンシマスク信号の値である。同図に示すように、RS−FF146は、リセットされた場合、ローレベル(「0」)のレイテンシマスク信号を出力する。RS−FF146は、セットされるたびに、前回値を反転させた値のレイテンシマスク信号を出力する。
【0111】
図15を参照して、結果比較回路147の動作について説明する。同図は、結果比較回路147の動作を説明するための表である。同図に示すように、比較動作制御信号がハイレベル(「1」)、レイテンシマスク信号がローレベル(「0」)である場合、結果比較回路147は、データ線141からの通常処理データと、データ線131からの期待値データとを比較し、比較結果データを出力する。
【0112】
比較動作制御信号、レイテンシマスク信号DE141がともにローレベル(「0」)である場合、結果比較回路147は、データ線141からの入力データを、そのまま出力する。
【0113】
レイテンシマスク信号がハイレベル(「0」)である場合、結果比較回路147において、データ線141からの入力データが無効になり、スルー動作出力、比較動作は行われない。
【0114】
図16を参照して、テスト回路1bの動作結果の一例について説明する。同図は、テスト回路1bの動作結果の一例を示すタイミングチャートである。
【0115】
テスト制御データとして、論理回路ブロック13を「テスト対象回路」とするデータが入力された場合について考える。
【0116】
この場合、CPU等は、ハイレベルのスルー動作出力制御信号(不図示)を論理回路ブロック10aに入力する。また、論理回路ブロック13の論理演算におけるレイテンシの整数倍の期間だけ、ハイレベルのデータイネーブル信号DE101を論理回路ブロック10aに入力する。そして、CPU等は、データイネーブル信号DE101をローレベルにする。
【0117】
CPU等は、DE101をハイレベルにしたときから、論理回路ブロック13の論理演算におけるレイテンシの期間が経過するまで、データ線101から、通常入力データを論理回路ブロック10aおよびテスト比較回路11aに入力する。そして、CPU等は、同じ期間の間、期待値データを論理回路ブロック10aおよびテスト比較回路11aに入力する。CPU等は、この動作を所定回数繰り返す。
【0118】
論理回路ブロック10aは、データイネーブル信号DE101がハイレベルならば、データ線101を介して入力されたデータを、データ線111からスルー出力する。テスト比較回路11aも、論理回路ブロック10aからのデータをスルー出力する。
【0119】
CPU等は、DE101をハイレベルにした時点から論理回路ブロック10aおよびテスト比較回路11aのスルー動作におけるレイテンシが経過したとき、ハイレベルのライトイネーブル信号WEを内蔵SRAM12bに入力する。
【0120】
内蔵SRAM12bは、ライトイネーブル信号WEがハイレベルならば、データ線111からの通常入力データまたは期待値データを保持する。
【0121】
CPU等は、ライトイネーブル信号WEをハイレベルにした時点から、内蔵SRAM12bの書き込み動作におけるレイテンシが経過したとき、ハイレベルのリードイネーブル信号REを内蔵SRAM12bに入力する。
【0122】
内蔵SRAM12bは、リードイネーブル信号REがハイレベルならば、データ線131を介して、保持しているデータを論理回路ブロック13へ出力する。
【0123】
CPU等は、REをハイレベルにしたときから、論理回路ブロック13のレイテンシが経過するまで、ハイレベルのデータイネーブル信号DE131(不図示)を論理回路ブロック13に入力する。そして、CPU等は、同じ期間の間、ローレベルのデータイネーブル信号DE131を論理回路ブロック13に入力する。CPU等は、この動作を所定回数繰り返す。
【0124】
CPU等は、REをハイレベルにした時点から論理回路ブロック13のレイテンシが経過したとき、ハイレベルのデータイネーブル信号141をテスト比較回路14bに入力する。
【0125】
論理回路ブロック13は、データイネーブル信号DE131がハイレベルならば、データ線131からの入力データ(通常入力データ)に対して論理演算を実行し、レイテンシが経過したとき、データ線141から通常処理データを出力する。
【0126】
テスト比較回路14bにおいて、データイネーブル信号DE141がハイレベルになったとき、カウンタ回路145はカウントを開始し、RS−FF146をリセットする。データイネーブル信号DE141がハイレベルである間、カウンタ回路145は、論理回路ブロック13のレイテンシの周期が経過するたびに、カウンタ値をリセットし、RS−FF146をセットする。
【0127】
テスト比較回路14bにおいて、RS−FF146は、セットされるたびに、レイテンシマスク信号を反転させる。
【0128】
テスト比較回路14bにおいて、結果比較回路147は、レイテンシマスク信号がローレベルであるとき、データ線141からの通常処理データと、データ線131からの期待値データとを比較し、比較結果データをデータ線151から出力する。
【0129】
なお、本実施形態では、テスト比較回路14bは、カウンタ回路を用いてレイテンシ周期を計時しているが、タイマを使用して、レイテンシ周期を計時してもよい。
【0130】
また、本実施形態では、テスト比較回路14bは、カウンタ回路、RS−FFを用いてレイテンシマスク信号を生成しているが、レイテンシ周期ごとに、反転するレイテンシマスク信号を生成できるのであれば、他の回路を使用してもよいのは勿論である。
【0131】
以上説明したように、本実施形態によれば、テスト回路は、SRAMを内蔵するので、テスト結果データを保持する回路を外部に接続する必要がなくなる。
【0132】
また、テスト結果比較回路14bは、カウンタ回路を内蔵し、カウンタ回路がカウンタ値リセットしたとき、比較動作を行うので、CPU等は、レイテンシ周期ごとにデータイネーブル信号DE141のオンオフを切り替えなくて済む。
【符号の説明】
【0133】
1、1a、1b テスト回路
2 信号発生部
10、10a、12、13、12b 論理回路ブロック
11、11a、14、14b テスト比較回路
15 テスト結果出力回路
20 デコーダ
145 カウンタ回路
146 RS−FF
147 結果比較回路
101、111、121、131、141、151、201、210、211、212、213、214、215 データ線

【特許請求の範囲】
【請求項1】
外部端子から入力された入力データを論理回路および比較回路に出力し、該入力データの出力後に、該外部端子から入力された、該入力データに対する所定の演算の結果に相当する期待値データを論理回路および比較回路に出力するデータ線と、
前記データ線から前記入力データが出力されたとき、該入力データを使用して前記演算を実行し、該演算の結果である演算結果データを前記比較回路へ出力する論理回路と、
前記データ線から前記期待値データが出力されたとき、該期待値データと、前記論理回路から出力された前記演算結果データとを比較し、比較した結果である比較結果データを出力する比較回路と、
を有するテスト回路。
【請求項2】
前記期待値データは、前記データ線から前記入力データを入力してから所定時間が経過したときに入力され、
前記比較回路は、前記入力データが出力されてから前記所定時間が経過したとき、前記論理回路から出力されたデータと、前記期待値データとを比較する、請求項1に記載のテスト回路。
【請求項3】
前記所定時間は、前記論理回路の前記論理演算におけるレイテンシ以上の時間に設定された時間である、請求項2に記載のテスト回路。
【請求項4】
前記比較回路は、
前記入力データが出力された時点から計時を開始する計時手段と、
前記計時手段により所定時間が計時されたとき、前記論理回路から出力されたデータと、前記期待値データとを比較する結果比較回路と、
を有する、請求項2又は3に記載のテスト回路。
【請求項5】
前記テスト回路は、
前記データ線から前記入力データが出力されたとき、該データ線から出力されたデータを前記論理回路において有効にする旨を指示し、前記期待値データが出力されたとき、前記データ線から出力されたデータを該演算回路において無効にする旨を指示する論理回路用制御信号を該論理回路へ出力する第1の信号線を更に有し、
前記論理回路は、第1の信号線から出力された前記論理回路用制御信号に従って、前記データ線から出力されたデータを有効又は無効にし、有効にした該データに対して前記演算を実行する、請求項1乃至4のいずれか1項に記載のテスト回路。
【請求項6】
前記テスト回路は
前記入力データが出力されたとき、前記データ線から出力されたデータを前記比較回路において無効にする旨を指示し、前記期待値データが出力されたとき、該データ線から出力されたデータを該比較回路において有効にする旨を指示する比較回路用制御信号を該比較回路へ出力する第2の信号線を更に有し、
前記比較回路は、前記第2の信号線から出力された前記比較回路用制御信号に従って、前記データ線から出力されたデータを有効又は無効にし、有効にした該データと前記演算結果データとを比較する、請求項1乃至5のいずれか1項に記載のテスト回路。
【請求項7】
複数段の前記論理回路を有し、
前記データ線は、それぞれの論理回路に対応する入力データ又は期待値データを、1段目の前記論理回路と前記比較回路とへ出力し、
それぞれの前記論理回路は、自身に対応するデータ入力データ又は期待値データが出力された場合、前記論理演算を実行し、他の論理回路に対応する入力データ、演算結果データ又は期待値データが出力された場合、該入力データ、該演算結果データ又は該期待値データを、自身より後段の回路へスルー出力する、請求項1乃至6のいずれか1項に記載のテスト回路。
【請求項8】
それぞれの前記論理回路に、該論理回路以外の論理回路に対応する入力データ、演算結果データ又は期待値データが入力されたとき、該入力データ、該演算結果データ又は該期待値データをスルー出力するように、該論理回路に指示する制御回路を更に有し、
それぞれの前記論理回路は、前記制御手段によりスルー出力するように指示されたとき、前記入力データ、前記演算結果データ又は前記期待値データを、自身より後段の回路へスルー出力する、請求項7に記載のテスト回路。
【請求項9】
複数段の前記比較回路を有し、
前記データ線は、それぞれの論理回路に対応する入力データ及び期待値データを、1段目の論理回路と1段目の前記比較回路とへ出力し、
それぞれの前記比較回路は、自身が論理検証する論理回路に対応する入力データ及び演算結果データが入力された場合、該期待値データと、該演算結果データとを比較し、自身が論理検証しない論理回路に対応する入力データ、期待値データ、演算結果データ、又は比較結果データが入力された場合、該入力データ、該期待値データ、該演算結果データ、又は比較結果データを、自身より後段の回路へスルー出力する、請求項8に記載のテスト回路。
【請求項10】
前記制御回路は、それぞれの前記比較回路に、該比較回路以外の比較回路に対応する該入力データ、該期待値データ、該演算結果データ、又は比較結果データが入力されたとき、該入力データ、該期待値データ、該演算結果データ、又は比較結果データをスルー出力するように、該比較回路に指示し、
それぞれの前記比較回路は、前記制御手段によりスルー出力するように指示されたとき、前記入力データ、前記期待値データ、前記演算結果データ、又は前記比較結果データを、自身より後段の回路へスルー出力する、請求項9に記載のテスト回路。
【請求項11】
入力された入力データを論理回路及び比較回路へデータ線から出力し、
前記入力データの出力後に、該入力データに対する所定の演算の結果に相当する期待値データを前記データ線から該論理回路及び該比較回路に出力し、
論理回路が、前記入力データが出力されたとき、該入力データを使用して前記演算を実行し、
前記論理回路が、該演算の結果である演算結果データを前記比較回路へ出力し、
前記期待値データが出力されたとき、比較回路が、該期待値データと、前記論理回路により出力された前記演算結果データとを比較し、
前記比較回路が、比較した結果である比較結果データを出力する、テスト回路の制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2011−33458(P2011−33458A)
【公開日】平成23年2月17日(2011.2.17)
【国際特許分類】
【出願番号】特願2009−179528(P2009−179528)
【出願日】平成21年7月31日(2009.7.31)
【出願人】(390001395)NECシステムテクノロジー株式会社 (438)
【Fターム(参考)】