(57)【特許請求の範囲】
【請求項１】
演算手段と、レジスタを含む機能ブロックと、前記演算手段及び前記機能ブロックが接続されたバスとを有する集積回路装置における、前記機能ブロックのテストを行うテスト回路であって、
シリアルデータ信号が入力されるシリアルデータ信号入力端子と、
シリアルデータ制御信号が入力されるシリアルデータ制御信号入力端子と、
前記シリアルデータ信号及び前記シリアルデータ制御信号が入力され、前記シリアルデータ制御信号にしたがって前記シリアルデータ信号をパラレルデータ信号に変換するシリアルパラレル変換手段と、
前記バスに接続されたバス制御手段と、
前記バス制御手段から出力されるパラレルデータ信号が入力され、前記パラレルデータ信号をシリアルデータ信号に変換するパラレルシリアル変換手段と、
前記パラレルシリアル変換手段の出力であるシリアルデータ信号を外部に出力するシリアルデータ信号出力端子と、
前記シリアルデータ信号出力端子から出力される前記シリアルデータ信号の状態を示すシリアルデータ状態信号を外部に出力するシリアルデータ状態信号出力端子と、
前記集積回路装置において他のテストを行う他のテスト手段と、
前記パラレルシリアル変換手段から出力される前記シリアルデータ信号及び前記他のテスト手段が出力するテスト結果信号のいずれかを前記シリアルデータ信号出力端子から出力させる選択手段と、
前記選択手段の切換え信号が入力される端子切換信号入力端子と
を有し、
前記バス制御手段は、
前記機能ブロックのレジスタへのデータライト時に、前記シリアルパラレル変換手段の出力を受けてデータライト用のバス制御信号を生成し、前記生成されたデータライト用のバス制御信号を前記バスを介して前記機能ブロックに出力し、
前記機能ブロックのレジスタからのデータリード時に、前記シリアルパラレル変換手段の出力を受けてデータリード用のバス制御信号を生成し、前記生成されたデータリード用のバス制御信号を前記バスを介して前記機能ブロックに出力し、前記機能ブロックから出力される前記パラレルデータ信号を前記パラレルシリアル変換手段に出力すると共に、前記シリアルデータ状態信号出力端子に前記シリアルデータ状態信号を出力する
ことを特徴とする機能ブロックのテスト回路。
【請求項２】
前記機能ブロックのレジスタへのデータライト時に前記シリアルデータ信号入力端子に入力されるシリアルデータは、前記レジスタのアドレスデータと、前記アドレスデータに対応するライトデータとを含み、
前記機能ブロックのレジスタからのデータリード時に前記シリアルデータ信号入力端子に入力されるシリアルデータは、前記レジスタのアドレスデータを含み、
前記機能ブロックのレジスタからのデータリード時に前記シリアルデータ信号出力端子から出力されるシリアルデータは、前記レジスタからのリードデータを含む
ことを特徴とする請求項１に記載の機能ブロックのテスト回路。
【請求項３】
前記他のテスト手段は、ＪＴＡＧ回路であることを特徴とする請求項１又は２に記載の機能ブロックのテスト回路。
【請求項４】
演算手段と、
レジスタを含む機能ブロックと、
前記演算手段及び前記機能ブロックを接続するバスと、
前記バスに接続され、前記機能ブロックのテストを行うテスト回路と
を有する集積回路装置であって、
前記テスト回路は、
シリアルデータ信号が入力されるシリアルデータ信号入力端子と、
シリアルデータ制御信号が入力されるシリアルデータ制御信号入力端子と、
前記シリアルデータ信号及び前記シリアルデータ制御信号が入力され、前記シリアルデータ制御信号にしたがって前記シリアルデータ信号をパラレルデータ信号に変換するシリアルパラレル変換手段と、
前記バスに接続されたバス制御手段と、
前記バス制御手段から出力されるパラレルデータ信号が入力され、前記パラレルデータ信号をシリアルデータ信号に変換するパラレルシリアル変換手段と、
前記パラレルシリアル変換手段の出力であるシリアルデータ信号を外部に出力するシリアルデータ信号出力端子と、
前記シリアルデータ信号出力端子から出力される前記シリアルデータ信号の状態を示すシリアルデータ状態信号を外部に出力するシリアルデータ状態信号出力端子と、
他のテストを行う他のテスト手段と、
前記パラレルシリアル変換手段から出力される前記シリアルデータ信号及び前記他のテスト手段が出力するテスト結果信号のいずれかを前記シリアルデータ信号出力端子から出力させる選択手段と、
前記選択手段の切換え信号が入力される端子切換信号入力端子と
を有し、
前記バス制御手段は、
前記機能ブロックのレジスタへのデータライト時に、前記シリアルパラレル変換手段の出力を受けてデータライト用のバス制御信号を生成し、前記生成されたデータライト用のバス制御信号を前記バスを介して前記機能ブロックに出力し、
前記機能ブロックのレジスタからのデータリード時に、前記シリアルパラレル変換手段の出力を受けてデータリード用のバス制御信号を生成し、前記生成されたデータリード用のバス制御信号を前記バスを介して前記機能ブロックに出力し、前記機能ブロックから出力される前記パラレルデータ信号を前記パラレルシリアル変換手段に出力すると共に、前記シリアルデータ状態信号出力端子に前記シリアルデータ状態信号を出力する
ことを特徴とする集積回路装置。
【請求項５】
前記機能ブロックのレジスタへのデータライト時に前記シリアルデータ信号入力端子に入力されるシリアルデータは、前記レジスタのアドレスデータと、前記アドレスデータに対応するライトデータとを含み、
前記機能ブロックのレジスタからのデータリード時に前記シリアルデータ信号入力端子に入力されるシリアルデータは、前記レジスタのアドレスデータを含み、
前記機能ブロックのレジスタからのデータリード時に前記シリアルデータ信号出力端子から出力されるシリアルデータは、前記レジスタからのリードデータを含む
ことを特徴とする請求項４に記載の集積回路装置。
【請求項６】
前記他のテスト手段は、ＪＴＡＧ回路であることを特徴とする請求項４又は５に記載の集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路装置の機能ブロックのテスト回路、及びテスト回路を備えた集積回路装置に関するものである。
【背景技術】
【０００２】
一般に、集積回路装置において論理回路で構成される機能ブロックには、その機能ブロックに固有のパラメータが設定されるレジスタが備えられている。また、集積回路装置の機能ブロックのテストモードを切換える機能を備えた集積回路装置の提案がある（例えば、特許文献１参照）。この集積回路装置は、機能ブロックと、テストモード設定端子と、テストモード設定用の論理回路とを有し、外部端子から信号を入力して機能ブロック内のレジスタを所定の状態に設定し、テストモード設定端子より論理回路にテストモード設定信号を入力することによって、機能ブロックをテストモードに設定する。
【０００３】
【特許文献１】特開平６−２７２０４号公報（段落０００６及び００１０、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１には、機能ブロック内のレジスタの設定のための外部端子に関する具体的な説明はない。したがって、この集積回路装置において、機能ブロック内のレジスタの設定値を変更可能にするためには、レジスタの数に応じた入力端子が必要になり、レジスタの数に比例して集積回路装置の規模が増大するという問題が生じる。
【０００５】
また、上記特許文献１に開示された集積回路装置には、レジスタの数の増加に応じて回路規模が増大する論理回路が付加されているので、レジスタの数の増加に応じて集積回路装置の規模が増大するという問題がある。
【０００６】
そこで、本発明は、上記従来技術の課題を解決するためになされたものであり、その目的は、集積回路装置の回路規模の増大を抑制しつつ、複数種類の機能ブロックテストを行うことができる機能ブロックのテスト回路及びこのテスト回路を備えた集積回路装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の機能ブロックのテスト回路は、演算手段と、レジスタを含む機能ブロックと、前記演算手段及び前記機能ブロックが接続されたバスとを有する集積回路装置における、前記機能ブロックのテストを行うテスト回路であって、シリアルデータ信号が入力されるシリアルデータ信号入力端子と、シリアルデータ制御信号が入力されるシリアルデータ制御信号入力端子と、前記シリアルデータ信号及び前記シリアルデータ制御信号が入力され、前記シリアルデータ制御信号にしたがって前記シリアルデータ信号をパラレルデータ信号に変換するシリアルパラレル変換手段と、前記バスに接続されたバス制御手段と、前記バス制御手段から出力されるパラレルデータ信号が入力され、前記パラレルデータ信号をシリアルデータ信号に変換するパラレルシリアル変換手段と、前記パラレルシリアル変換手段の出力であるシリアルデータ信号を外部に出力するシリアルデータ信号出力端子と、前記シリアルデータ信号出力端子から出力される前記シリアルデータ信号の状態を示すシリアルデータ状態信号を外部に出力するシリアルデータ状態信号出力端子と、前記集積回路装置において他のテストを行う他のテスト手段と、前記パラレルシリアル変換手段から出力される前記シリアルデータ信号及び前記他のテスト手段が出力するテスト結果信号のいずれかを前記シリアルデータ信号出力端子から出力させる選択手段と、前記選択手段の切換え信号が入力される端子切換信号入力端子とを有し、前記バス制御手段は、前記機能ブロックのレジスタへのデータライト時に、前記シリアルパラレル変換手段の出力を受けてデータライト用のバス制御信号を生成し、前記生成されたデータライト用のバス制御信号を前記バスを介して前記機能ブロックに出力し、前記機能ブロックのレジスタからのデータリード時に、前記シリアルパラレル変換手段の出力を受けてデータリード用のバス制御信号を生成し、前記生成されたデータリード用のバス制御信号を前記バスを介して前記機能ブロックに出力し、前記機能ブロックから出力される前記パラレルデータ信号を前記パラレルシリアル変換手段に出力すると共に、前記シリアルデータ状態信号出力端子に前記シリアルデータ状態信号を出力することを特徴としている。
【０００８】
また、本発明の集積回路装置は、演算手段と、レジスタを含む機能ブロックと、前記演算手段及び前記機能ブロックを接続するバスと、前記バスに接続され、前記機能ブロックのテストを行うテスト回路とを有する集積回路装置であって、前記テスト回路は、シリアルデータ信号が入力されるシリアルデータ信号入力端子と、シリアルデータ制御信号が入力されるシリアルデータ制御信号入力端子と、前記シリアルデータ信号及び前記シリアルデータ制御信号が入力され、前記シリアルデータ制御信号にしたがって前記シリアルデータ信号をパラレルデータ信号に変換するシリアルパラレル変換手段と、前記バスに接続されたバス制御手段と、前記バス制御手段から出力されるパラレルデータ信号が入力され、前記パラレルデータ信号をシリアルデータ信号に変換するパラレルシリアル変換手段と、前記パラレルシリアル変換手段の出力であるシリアルデータ信号を外部に出力するシリアルデータ信号出力端子と、前記シリアルデータ信号出力端子から出力される前記シリアルデータ信号の状態を示すシリアルデータ状態信号を外部に出力するシリアルデータ状態信号出力端子と、他のテストを行う他のテスト手段と、前記パラレルシリアル変換手段から出力される前記シリアルデータ信号及び前記他のテスト手段が出力するテスト結果信号のいずれかを前記シリアルデータ信号出力端子から出力させる選択手段と、前記選択手段の切換え信号が入力される端子切換信号入力端子とを有し、前記バス制御手段は、前記機能ブロックのレジスタへのデータライト時に、前記シリアルパラレル変換手段の出力を受けてデータライト用のバス制御信号を生成し、前記生成されたデータライト用のバス制御信号を前記バスを介して前記機能ブロックに出力し、前記機能ブロックのレジスタからのデータリード時に、前記シリアルパラレル変換手段の出力を受けてデータリード用のバス制御信号を生成し、前記生成されたデータリード用のバス制御信号を前記バスを介して前記機能ブロックに出力し、前記機能ブロックから出力される前記パラレルデータ信号を前記パラレルシリアル変換手段に出力すると共に、前記シリアルデータ状態信号出力端子に前記シリアルデータ状態信号を出力することを特徴としている。
【発明の効果】
【０００９】
本発明によれば、半導体集積回路の機能ブロックのレジスタにおける設定値変更を、シリアルデータ信号及びシリアルデータ制御信号の入力により指定できるので、テスト用レジスタは必要なく、また、テスト用端子数の増大を抑制できる。このため、集積回路装置の回路規模の増大を抑制しつつ、複数種類の機能ブロックテストを行うことができるという効果がある。
【発明を実施するための最良の形態】
【００１０】
実施の形態１．
［集積回路装置１００の構成］
図１は、本発明の実施の形態１に係る集積回路装置１００の構成を概略的に示すブロック図である。
【００１１】
図１に示されるように、実施の形態１に係る集積回路装置１００は、中央演算装置（ＣＰＵ）１１０と、ＣＰＵバス１１１と、レジスタを有する機能ブロック１２０と、テスト回路１３０とを有する。ＣＰＵ１１０、機能ブロック１２０、及びテスト回路１３０は、オンチップバスであるＣＰＵバス１１１により接続されている。
【００１２】
通常使用時においては、機能ブロック１２０は、外部データ入力端子１１２からの外部入力に対して所定の処理を実行し、その処理結果に従って機能ブロック１２０内に持つレジスタの設定値を変更し、その後、ＣＰＵ１１０によって、機能ブロック１２０内のレジスタの値がリードされる（すなわち、読み出される）。
【００１３】
図１に示されるように、機能ブロック１２０は、バススレーブインターフェイス回路１２１と、ＣＰＵレジスタ制御回路１２２と、レジスタＡ（符号１２３）と、レジスタＢ（符号１２４）と、レジスタＣ（符号１２５）と、レジスタＤ（符号１２６）とを有する。ただし、レジスタの数は、図示の数に限定されない。
【００１４】
また、図１に示されるように、テスト回路１３０は、シリアルパラレル変換回路１３１と、パラレルシリアル変換回路１３２と、ＣＰＵバス１１１に接続されたバスマスタインターフェイス回路１３３とを有する。また、テスト回路１３０は、シリアルデータ信号が入力されるシリアルデータ信号入力端子１３４ａと、シリアルデータ制御信号が入力されるシリアルデータ制御信号入力端子１３４ｂと、パラレルシリアル変換回路１３２の出力であるシリアルデータ信号を外部に出力するシリアルデータ信号出力端子１３５ａと、シリアルデータ制御信号出力端子１３５ｂと、シリアルデータ信号出力端子１３５ａから出力されるシリアルデータ信号の状態を示すシリアルデータ状態信号を外部に出力するバスマスタインターフェイス回路ステータス信号出力端子１３６とを有する。シリアルパラレル変換回路１３１は、シリアルデータ信号入力端子１３４ａから入力されるシリアルデータ信号及びシリアルデータ制御信号入力端子１３４ｂから入力されるシリアルデータ制御信号が入力され、シリアルデータ制御信号にしたがってシリアルデータ信号をパラレルデータ信号に変換する。パラレルシリアル変換回路１３２は、バスマスタインターフェイス回路１３３から出力されるパラレルデータ信号が入力され、このパラレルデータ信号をシリアルデータ信号に変換する。
【００１５】
［通常使用時の動作］
次に、集積回路装置１００のＣＰＵ１１０及び機能ブロック１２０の、通常使用時における動作を説明する。
【００１６】
ＣＰＵ１１０は、ＣＰＵバス１１１にマスタとして接続されており、例えば、３２ビット幅を持ち、全アドレス空間は２の３２乗ワード（３２ビット）である。機能ブロック１２０は、ＣＰＵバス１１１にスレーブとして接続され、ある一定のアドレス空間が割り振られている。ＣＰＵ１１０は、ＣＰＵバス１１１を介して、機能ブロック１２０が保有するレジスタＡ、レジスタＢ、及びレジスタＣに対するライト及びリードの動作が可能である。
【００１７】
ＣＰＵバス１１１は、実際には、ライトデータ（ｗｄａｔａ）、リードデータ（ｒｄａｔａ）、それらに付随して入力される制御信号入力、及びそれらに付随して出力される制御信号等のための信号線で構成されている。出力制御信号としては、アドレス信号、アクセス要求信号（リクエスト信号）、及びリードライト制御信号等がある。また、入力制御信号としては、アクセス要求信号に対する返答信号（ＡＣＫ（Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ）信号又はＢＵＳＹ信号）等がある。実施の形態１においては、リードライト制御信号が“０”のときはリード動作を示し、“１”のときはライト動作を示す。
【００１８】
機能ブロック１２０は、その機能を果たす処理を実行する際に、条件やモード等を決定するパラメータＰを設定する必要がある。実施の形態１においては、パラメータＰとしてはレジスタＡに保持する値を使用し、レジスタＢに値“１”を設定することで演算を開始する。また、実施の形態１においては、機能ブロック１２０が動作中である、又は、アイドル状態である、又は、異常終了している等の状態を示すステータス情報Ｓを、レジスタＣに随時ライトし情報を更新する。
【００１９】
実施の形態１においては、レジスタＣに保持される機能ブロック１２０のステータス情報Ｓは、２ビットからなり、下位ビットが“０”のときはアイドル状態を、下位ビットが“１”のときは処理実行状態を、上位ビットが“１”のときは、処理の異常終了を示す。
【００２０】
レジスタＤには、機能ブロック１２０において、外部データ入力端子１１２から入力されるデータに対する処理結果がライトされる。ＣＰＵ１１０は、レジスタＤをリードすることで、機能ブロック１２０による処理結果情報を得ることができる。
【００２１】
通常使用時においては、まず、ＣＰＵ１１０は、機能ブロック１２０に設定されているパラメータＰを確認するために、レジスタＡに対するリクエスト信号を、アドレス信号及びリードライト制御信号とともに、ＣＰＵバス１１１に出力する。このときのリードライト制御信号はリード動作を示す“０”である。
【００２２】
機能ブロック１２０内のバススレーブインターフェイス回路１２１は、ＣＰＵ１１０からのリクエスト信号を受け、レジスタＡに対するリードリクエストであることを判別し、ＣＰＵ１１０からのリードリクエストに応じられる状態であればＡＣＫ信号を、ＣＰＵ１１０からのリードリクエストに応じられない状態であればＢＵＳＹ信号を、ＣＰＵ１１０に返す。バススレーブインターフェイス回路１２１がＣＰＵ１１０に対してＡＣＫ信号を返す動作とともに、ＣＰＵレジスタ制御回路１２２は、レジスタＡが保持している値をバススレーブインターフェイス回路１２１に渡す。これを受け、バススレーブインターフェイス回路１２１は、レジスタＡが保持している値をリードデータとして、ＣＰＵバス１１１に出力する。ＣＰＵ１１０は、先に返されたＡＣＫ信号によりレジスタＡの値が出力されることを判別し、レジスタＡの値をリードデータとして受け取る。
【００２３】
ＣＰＵ１１０は、受け取ったレジスタＡの値が適切かどうかを判断し、変更の必要があればレジスタＡに対して再度リクエスト信号を、アドレス信号及びリードライト制御信号とともに、ＣＰＵバス１１１に出力する。このときのリードライト制御信号はライト動作を示す“１”である。前述のリードアクセスの場合と同様に、バススレーブインターフェイス回路１２１は、ＣＰＵ１１０からのリクエスト信号を受け、レジスタＡに対するライトリクエストであることを判別し、ＣＰＵ１１０からのライトリクエストに応じられる状態であればＡＣＫ信号を、ＣＰＵ１１０からのライトリクエストに応じられない状態であればＢＵＳＹ信号を、ＣＰＵ１１０に返す。ＣＰＵ１１０は、ＡＣＫ信号を受け取るまで、ライトデータをＣＰＵバス１１１にライトデータとして出力し続ける。バススレーブインターフェイス回路１２１は、ライトデータを受け取り、ＣＰＵレジスタ制御回路１２２に渡し、ＣＰＵレジスタ制御回路１２２がレジスタＡの値を書き換える。
【００２４】
次に、ＣＰＵ１１０は、レジスタＢに対するライトリクエスト信号を発生し、レジスタＡに対するライト動作と同様に、レジスタＢに演算開始を示す値“１”を設定する。レジスタＢに値“１”を設定したことを受けて、機能ブロック１２０は、レジスタＡに保持する値を参照しつつ、外部データ入力端子１１２から入力されるデータに対して、機能ブロック１２０による処理を実行し、処理結果の値をレジスタＤにライトする。
【００２５】
このとき、ＣＰＵレジスタ制御回路１２２は、レジスタＣの下位ビットに処理実行状態を示す値“１”をライトし、機能ブロック１２０における処理が正常終了するとレジスタＣの下位ビットにアイドル状態を示す値“０”をライトする。
【００２６】
ＣＰＵ１１０は、機能ブロック１２０からの割込み信号（図示しない）を受ける、又は、ポーリングにより適宜レジスタＣの値をリードすることで、機能ブロック１２０における処理が正常に終了したかどうかを判別し、正常終了していれば、レジスタＤをリードすることで処理結果情報を得る。
【００２７】
以上の動作説明においては、最初に機能ブロック１２０がアイドル状態にあるものと仮定しており、ＣＰＵ１１０が、レジスタＡの書き換えやレジスタＢに値“１”をライトして演算を実行する際に、機能ブロック１２０のステータス等を確認する動作の説明を省略しているが、連続して機能ブロック１２０を動作させる場合には、機能ブロック１２０のステータス等を確認する動作も必要となる。
【００２８】
また、以上の動作説明においては、演算結果はレジスタＤにライトされ、ＣＰＵ１１０がレジスタＤにライトされた演算結果の値をリードする場合を説明しているが、演算結果の値を、外部端子（図示しない）に直接出力するような構成とすることも可能である。
【００２９】
なお、以上の動作説明においては、レジスタＡ乃至Ｄに対するリード動作及びライト動作を個別に行っている場合を説明したが、一般には、一連の動作を連続的に行うプログラムをＣＰＵ１１０に対する命令コードとして用意する。
【００３０】
［テスト回路１３０の動作］
次に、集積回路装置１００において、テスト回路１３０を用いて、機能ブロック１２０をテストするときの動作を説明する。
【００３１】
通常動作では、ＣＰＵ１１０はプログラムに従い、パラメータＰを決定した上で機能ブロック１２０のレジスタＡ乃至Ｄ（以下、総称して「レジスタ群」ともいう。）に対するリード動作及びライト動作を実行するが、機能ブロックのテストに際しては、通常動作では行わないような条件で機能ブロック１２０を動作させる場合があり、その条件に対応するパラメータＰをレジスタ群にライト、又は、レジスタ群の値をリードする。
【００３２】
このとき、必要とされる機能はレジスタ群に対するリード及びライトの動作のみであることから、ＣＰＵ１１０を停止し、その代わりに、テスト回路１３０を使用する。
【００３３】
実施の形態１では、テスト回路１３０における、シリアルデータ信号入力端子１３４ａ及びシリアルデータ信号出力端子１３５ａは、それぞれ１ビット幅である。シリアルデータ制御信号入力端子１３４ｂは、リセット信号ＲＳＴ＿Ｎ用に１ビットである。また、データ入力イネーブル信号ＤＩＮＥＮＡ＿Ｎ用に１ビット、及びライト信号ＷＲ＿Ｎ用に１ビットからなる、合計３ビット幅である。さらに、シリアルデータ制御信号出力端子１３５ｂは、シリアルデータ制御信号ＤＯＵＴＥＮＡ＿Ｎ用に１ビット幅であり、バスマスタインターフェイス回路ステータス信号出力端子１３６は、バスマスタインターフェイス回路ステータス信号ＳＴＡＴ＿Ｎ用に１ビット幅である。
【００３４】
実施の形態１においては、シリアルデータ制御信号入力端子１３４ｂから入力されるリセット信号ＲＳＴ＿Ｎ、データ入力イネーブル信号ＤＩＮＥＮＡ＿Ｎ、及びライト信号ＷＲ＿Ｎのそれぞれは、“０”で有効である。リセット信号ＲＳＴ＿Ｎは、“０”で、シリアルパラレル変換回路１３１内にあるフリップフロップをリセットする。データ入力イネーブル信号ＤＩＮＥＮＡ＿Ｎが“０”の期間には、シリアルデータ信号入力端子１３４ａに入力される信号が有効である。ライト信号ＷＲ＿Ｎが“０”の場合は、レジスタに対するライトアクセスであり、ライト信号ＷＲ＿Ｎが“１”の場合は、レジスタに対するリードアクセスである。
【００３５】
同様に、実施の形態１においては、シリアルデータ制御信号出力端子１３５ｂから出力されるシリアルデータ制御信号ＤＯＵＴＥＮＡ＿Ｎが“０”の期間に、シリアルデータ信号出力端子１３５ａから出力される信号が有効であり、バスマスタインターフェイス回路ステータス信号出力端子１３６から出力されるバスマスタインターフェイス回路ステータス信号ＳＴＡＴ＿Ｎが“０”であれば、バスマスタインターフェイス回路１３３におけるＣＰＵバス１１１を介しての機能ブロック１２０に対するレジスタアクセスが正常終了したことを示す。
【００３６】
［テスト時のライト動作］
図２は、実施の形態１に係る集積回路装置１００のテスト回路１３０によるレジスタライト動作を示すタイミング図である。
【００３７】
図２において、シリアルデータ信号ＤＩＮは、シリアルデータ信号入力端子１３４ａにおける状態を示し、シリアルデータ信号ＤＯＵＴは、シリアルデータ信号出力端子１３５ａにおける状態を示す。また、リセット信号ＲＳＴ＿Ｎ、データ入力イネーブル信号ＤＩＮＥＮＡ＿Ｎ、及びライト信号ＷＲ＿Ｎは、シリアルデータ制御信号入力端子１３４ｂに入力される信号である。さらに、シリアルデータ出力制御信号ＤＯＵＴＥＮＡ＿Ｎは、シリアルデータ制御信号出力端子１３５ｂに出力される信号であり、バスマスタインターフェイス回路ステータス信号ＳＴＡＴ＿Ｎは、バスマスタインターフェイス回路ステータス信号出力端子１３６に出力される信号である。
【００３８】
レジスタＡにデータＤＡをライトする場合、シリアルデータ信号入力端子１３４ａから、レジスタＡのアドレスＡＡ及びデータＤＡの各３２ビットを、ＭＳＢから入力するとともに、シリアルデータ制御信号入力端子１３４ｂに、シリアルデータ制御信号を入力する。ここでは、ライト動作であるため、ライト信号ＷＲ＿Ｎとして“０”を入力する。
【００３９】
シリアルパラレル変換回路１３１は、入力されたアドレスＡＡ及びデータＤＡを並び替え、それぞれ３２ビット幅のパラレルデータ信号に変換し、バスマスタインターフェイス回路１３３に出力する。
【００４０】
バスマスタインターフェイス回路１３３は、アドレスＡＡ及びデータＤＡを受け、ライト信号ＷＲ＿Ｎが“０”であることからライト動作と判別し、通常動作におけるＣＰＵ１１０と同様に、ＣＰＵバス１１１にライトリクエスト等のバス制御信号を出力する。
【００４１】
機能ブロック１２０内のバススレーブインターフェイス回路１２１は、ＣＰＵバス１１１からのバス制御信号を受けて、アドレスＡＡをデコードしてレジスタＡに対するライトリクエストであると判別し、ＣＰＵ１１０に対してＡＣＫ信号を返すとともに、ＣＰＵレジスタ制御回路１２２にアドレスＡＡに対するデータＤＡのライト動作であるという情報を渡す。ＣＰＵレジスタ制御回路１２２は、レジスタＡに対してデータＤＡをライトする。レジスタＡに対するライト動作が正常に終了すれば、バススレーブインターフェイス回路１２１は、ＣＰＵバス１１１にライト動作が正常終了したことを表すステータス信号をバス制御信号として出力する。
【００４２】
テスト回路１３０は、機能ブロック１２０からＣＰＵバス１１１に出力されたバス制御信号から、バスマスタインターフェイス回路１３３でレジスタＡに対するライト動作が正常に行われたことを判別し、バスマスタインターフェイス回路ステータス信号ＳＴＡＴ＿Ｎの値として“０”を出力する。
【００４３】
バスマスタインターフェイス回路ステータス信号ＳＴＡＴ＿Ｎの値は、出力端子１３６に出力されるので、出力端子１３６の状態をモニタすることによって、レジスタＡに対するライト動作が正常に行われたか否かを知ることができる。
【００４４】
［テスト時のリード動作］
図３は、実施の形態１に係る集積回路装置１００のテスト回路１３０によるレジスタリード動作を示すタイミング図である。
【００４５】
ライト動作時と同様にして、シリアルデータ信号入力端子１３４ａからレジスタＣのアドレスＡＣである３２ビットデータをＭＳＢから入力するとともに、シリアルデータ制御信号入力端子１３４ｂに、制御信号を入力する。ただし、リード動作であるため、データは入力せず、ライト信号ＷＲ＿Ｎとしては“１”を入力する。
【００４６】
シリアルパラレル変換回路１３１は、入力されたアドレスＡＣを並び替えて、３２ビット幅のパラレルデータ信号に変換し、バスマスタインターフェイス回路１３３に出力する。
【００４７】
バスマスタインターフェイス回路１３３は、アドレスＡＣに対するリードと判別し、ＣＰＵバス１１１に、リードリクエスト等のバス制御信号を出力する。
【００４８】
機能ブロック１２０内のバススレーブインターフェイス回路１２１は、ＣＰＵバス１１１からのバス制御信号を受けて、アドレスＡＣをデコードして、レジスタＣに対するリードリクエストであると判別し、ＣＰＵ１１０に対してＡＣＫ信号を返すとともに、ＣＰＵレジスタ制御回路１２２にアドレスＡＣに対するリード動作であるという情報を渡し、ＣＰＵレジスタ制御回路１２２はレジスタＣで保持する値をリードする。レジスタＣに対するリード動作が正常に終了すれば、バススレーブインターフェイス回路１２１は、ＣＰＵバス１１１にリードデータ及びリード動作が正常終了したことを表すステータス信号をバス制御信号として出力する。
【００４９】
テスト回路１３０内のバスマスタインターフェイス回路１３３は、機能ブロック１２０からＣＰＵバス１１１に出力されたバス制御信号から、レジスタＣに対するリード動作が正常に行われたことを判別し、バスマスタインターフェイス回路ステータス信号ＳＴＡＴ＿Ｎの値として“０”を出力すると共に、リードデータＤＣをＣＰＵバス１１１から受け取り、パラレルシリアル変換回路１３２に出力する。
【００５０】
パラレルシリアル変換回路１３２は、リードデータＤＣをＭＳＢから順に３２ビット長のシリアルデータ信号に変換し、出力が有効な期間のみシリアルデータ出力制御信号ＤＯＵＴＥＮＡ＿Ｎを“０”としながら、シリアルデータ信号出力端子１３５ａに出力する。シリアルデータ出力制御信号ＤＯＵＴＥＮＡ＿Ｎは、シリアルデータ制御信号出力端子１３５ｂから出力される。
【００５１】
したがって、ライト動作のときと同様に、外部テスト端子１３５ａ，１３５ｂ，１３６の状態をモニタすることで、レジスタＣに対するリード動作が正常に行われ、読み出したリードデータＤＣの値を得ることができる。
【００５２】
以上の説明では、シリアルデータ信号入力端子１３４ａ及びシリアルデータ信号出力端子１３５ａは１ビット幅として説明したが、テスト用に２ビット以上の端子が使用可能であれば、多ビットの入出力とすることも可能である。
【００５３】
また、アドレス空間が限定できる場合には、アドレス情報として３２ビットすべてを設定する必要はなく、対象となるアドレス空間に適合させてアドレスデータの一部の入力を省略し、入力するアドレスデータのビット長を削減することも可能である。
【００５４】
［実施の形態１の効果］
以上に説明したように、実施の形態１によれば、あらかじめテスト用にレジスタ値を切り換えるような仕組みを用意していない機能ブロックについても、少数の外部端子を使用してレジスタアクセスが可能になる。よって、必要となるテスト用端子数もテスト対象となるレジスタの数によらず、一定本数でよく、テストに使用する端子数及び回路規模の増加量はテスト対象となるレジスタの数によらず一定とすることができる。このため、テスト対象となる機能ブロックにおける設定値変更を、テスト入力により指定できるので、テスト用レジスタの追加や、テスト用端子数の増大を抑制でき、集積回路装置の回路規模の増大を抑制しつつ、複数種類の機能ブロックのテストを行うことができる。
【００５５】
また、テストに際してＣＰＵを起動する必要がないため、少ないステップ数での機能ブロック１２０に対するレジスタアクセスが実現できる。
【００５６】
実施の形態２．
［集積回路装置２００の構成］
図４は、本発明の実施の形態２に係る集積回路装置２００の構成を概略的に示すブロック図である。
【００５７】
集積回路装置２００において、図１に示した集積回路装置１００の構成と同一又は対応する構成には、同じ符号を付す。図４に示されるように、実施の形態２に係る集積回路装置２００は、テスト回路２３０の構成が実施の形態１に係る集積回路装置１００のテスト回路１３０の構成と相違する。実施の形態２におけるテスト回路２３０は、集積回路装置２００において他のテストを行う他のテスト手段としてのＪＴＡＧ回路１４０と、パラレルシリアル変換回路１３２から出力されるシリアルデータ信号及びＪＴＡＧ回路１４０が出力するテスト結果信号のいずれかをシリアルデータ信号出力端子から出力させる選択手段としてのマルチプレクサ（ＭＵＸ）１４１ａ及び１４１ｂを有する点が、実施の形態１のものと相違する。ここで、ＪＴＡＧ回路１４０は、端子切換信号入力端子１４２とＣＰＵ１１０をデバッグするための機能を持つ。マルチプレクサ１４１ａ及び１４１ｂは、ＪＴＡＧ回路１４０とテスト回路２３０の出力信号を、端子切換信号入力端子１４２から入力される信号により切り換えるためのものである。なお、実施の形態２に係る集積回路装置における、他の構成は、上記実施の形態１に係る集積回路装置と同じである。
【００５８】
［テスト回路２３０の動作］
実施の形態２においては、端子切換信号入力端子１４２に入力される切換え信号ＳＥＬは１ビットの信号であり、“０”であれば、ＪＴＡＧ回路１４０を使用し、“１”であれば、テスト回路２３０を使用する。ＣＰＵ１１０を起動してテストを行う場合は、テスト回路２３０で使用する外部端子であるシリアルデータ信号入力端子１３４ａ、シリアルデータ制御信号入力端子１３４ｂ、シリアルデータ信号出力端子１３５ａ、及びシリアルデータ制御信号出力端子１３５ｂを、ＪＴＡＧ回路１４０で使用できるように端子切換信号入力端子１４２からの切換え信号ＳＥＬとして“０”を入力する。一方、テスト回路２３０により機能ブロック１２０のテストを行う場合は、端子切換信号入力端子１４２から切換え信号ＳＥＬとして“１”を入力して、マルチプレクサ１４１ａ及び１４１ｂを切り換える。
【００５９】
［実施の形態２の効果］
以上に説明したように、実施の形態２によれば、テスト回路２３０を、機能ブロック１３０のテスト時において使用する外部端子と、ＪＴＡＧ回路１４０によるテスト時において使用する外部端子とを兼用できるので、実際の機能で使用する外部端子と多重せずに、テスト回路２３０を構成することが可能となる。よって、テスト用端子数の増大を抑制でき、集積回路装置の回路規模の増大を抑制することができる。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施の形態１に係る集積回路装置の構成を概略的に示すブロック図である。
【図２】実施の形態１に係る集積回路装置のテスト回路によるレジスタライト動作を示すタイミング図である。
【図３】実施の形態１に係る集積回路装置のテスト回路によるレジスタリード動作を示すタイミング図である。
【図４】本発明の実施の形態２に係る集積回路装置の構成を概略的に示すブロック図である。
【符号の説明】
【００６１】
１００，２００  集積回路装置、  １１０  ＣＰＵ、  １１１  ＣＰＵバス、  １１２  外部データ入力端子、  １２０  機能ブロック、  １２１  バススレーブインターフェイス回路、  １２２  ＣＰＵレジスタ制御回路、  １２３  レジスタＡ、  １２４  レジスタＢ、  １２５  レジスタＣ、  １２６  レジスタＤ、  １３０，２３０  テスト回路、  １３１  シリアルパラレル変換回路、  １３２  パラレルシリアル変換回路、  １３３  バスマスタインターフェイス回路、  １３４ａ  シリアルデータ信号入力端子、  １３４ｂ  シリアルデータ制御信号入力端子、  １３５ａ  シリアルデータ信号出力端子、  １３５ｂ  シリアルデータ制御信号出力端子、  １３６  バスマスタインターフェイス回路ステータス信号出力端子、  １４０  ＪＴＡＧ回路、  １４１ａ，１４１ｂ  マルチプレクサ、  １４２  端子切換信号入力端子。
【図１】
0004688724.tif 000002
【図２】
0004688724.tif 000003
【図３】
0004688724.tif 000004
【図４】
0004688724.tif 000005