(57)【要約】【課題】機能ブロックの数が多くても、各機能ブロックに対してテストできるように、機能ブロックにテスト信号を入力するために必要なテスト入力用の外部端子を確保することを目的とする。【解決手段】本発明に係る半導体集積回路１は、外部端子１１と、通常動作時に外部端子１１から信号を受ける機能ブロック１４ａと、テスト動作時に外部端子１１に代わり機能ブロック１４ａに信号を与えるＣＰＵレジスタ１２と、テスト動作時に外部端子１１からテスト信号を受ける機能ブロック１４ｂとを備える。【選択図】図１
2008256527.tif 000002
【特許請求の範囲】
【請求項１】
外部端子と、
通常動作時に前記外部端子から信号を受ける第１の機能ブロックと、
テスト動作時に前記外部端子に代わり前記第１の機能ブロックに信号を与えるデータ保持手段と、
テスト動作時に前記外部端子から信号を受ける第２の機能ブロックとを備える、
半導体集積回路。
【請求項２】
通常動作時に前記第２の機能ブロックに信号を与える第３の機能ブロックと、
前記外部端子および前記データ保持手段と前記第１の機能ブロックとの間に配置される第１の信号切換手段と、
前記外部端子および前記第３の機能ブロックと前記第２の機能ブロックとの間に配置される第２の信号切換手段と、
前記第１，第２の信号切換手段を制御する切換制御手段とをさらに備える、
請求項１に記載の半導体集積回路。
【請求項３】
前記第１の機能ブロックは、汎用入出力モジュールを含む、
請求項１または請求項２に記載の半導体集積回路。
【請求項４】
前記第２の機能ブロックは複数設けられ、
前記切換制御手段は、内部に一の前記データ保持手段を備え、
前記一のデータ保持手段は、複数の前記第２の機能ブロックに共通に使用される、
請求項２に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機能ブロックおよびＣＰＵを内蔵する半導体集積回路に関し、特に機能ブロックにテスト信号を入力する外部端子を備える半導体集積回路に関するものである。
【背景技術】
【０００２】
一般に、半導体集積回路内において論理回路で実現される機能ブロックが複数設けられる場合、各機能ブロックごとにテスト信号を入力する必要がある。しかし、機能ブロック同士間が半導体集積回路内で結線されている場合、各機能ブロックごとにテスト信号を入力することは困難であった。
【０００３】
この問題を解決するため、特許文献１に記載の半導体集積回路は、機能ブロックにテスト信号を入力するためのテスト入力用の外部端子を、機能ブロックごとに割り当てている。
【０００４】
【特許文献１】特開平８−８６８３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の半導体集積回路では、機能ブロックの数が多くなると、半導体集積回路が備えるテスト入力用の外部端子数が不足し、全てのテスト動作を実現することができないという問題点があった。
【０００６】
本発明は、上記のような問題点を解決するためになされたものであり、機能ブロックにテスト信号を入力するために必要なテスト入力用の外部端子を確保することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の請求項１に係る半導体集積回路は、外部端子と、通常動作時に前記外部端子から信号を受ける第１の機能ブロックと、テスト動作時に前記外部端子に代わり前記第１の機能ブロックに信号を与えるデータ保持手段と、テスト動作時に前記外部端子から信号を受ける第２の機能ブロックとを備える。
【発明の効果】
【０００８】
本発明の半導体集積回路によれば、機能ブロックにテスト信号を入力するために必要なテスト入力用の外部端子を確保することができる。
【発明を実施するための最良の形態】
【０００９】
＜実施の形態１＞
図１は、本実施の形態に係る半導体集積回路１の構成を示すブロック図である。本実施の形態に係る半導体集積回路１は、外部端子１１と、ＣＰＵレジスタ１２と、マルチプレクサ１３ａ〜１３ｃと、機能ブロック１４ａ〜１４ｃと、テストモード制御ブロック１５と、ＣＰＵ１６とを備える。
【００１０】
以下、通常動作とは、機能ブロック１４ｂが、機能ブロック１４ｃからの信号に応じて所望の演算を行うことをいうものとする。また、テスト動作とは、機能ブロック１４ｂが、外部端子１１からの信号、例えば、テスト信号に応じて所望の演算を行うことをいうものする。
【００１１】
図１に示すように、機能ブロック１４ａ〜１４ｃと、テストモード制御ブロック１５と、ＣＰＵ１６とは、それぞれ互いにバス１７で接続されている。本実施の形態では、信号ビット幅は全て１ビットであるものとする。
【００１２】
外部端子１１は、本実施の形態では、入力バッファ１８と出力バッファ１９とを備える双方向端子である。マルチプレクサ１３ｃから出力される信号に応じて、例えば、外部端子１１の出力バッファ１９が制御されることにより、外部端子１１の入出力状態は制御される。この外部端子１１の入出力状態を制御する信号を、以下、入出力制御信号と呼ぶ。
【００１３】
外部端子１１は、マルチプレクサ１３ｃからの入出力制御信号が”０”のときに、半導体集積回路１内部から外部に信号を出力する出力状態となり、マルチプレクサ１３ｃからの入出力制御信号が”１”のときに、半導体集積回路１外部から内部に信号を入力する入力状態となる。
【００１４】
第１の機能ブロックである機能ブロック１４ａは、通常動作時に外部端子１１から信号を受ける。本実施の形態では、機能ブロック１４ａは、通常動作時に外部端子１１からの信号を入力値Ｘ（Ｘは”０”または”１”）として認識する。一方、機能ブロック１４ａは、テスト動作時に、後述するＣＰＵレジスタ１２から信号を受ける。
【００１５】
機能ブロック１４ａは、通常動作時に、外部端子１１の出力バッファ１９に２つの信号を出力する。そのうちの１つの信号は、マルチプレクサ１４ｃを介して出力され、外部端子１１の入出力状態を制御する入出力制御信号である。機能ブロック１４ａは、入出力制御信号”０”を出力して、外部端子１１を出力状態にし、入出力制御信号”１”を出力して、外部端子１１を出力不可、つまり、入力状態にする制御を行う。
【００１６】
残りの１つの信号は、マルチプレクサを介さず、つまり、マルチプレクサによって切り換えられることなく、機能ブロック１４ａから出力バッファ１９に直接出力され、半導体集積回路１外部に出力される信号である。
【００１７】
データ保持手段であるＣＰＵレジスタ１２は、テスト動作時に外部端子１１に代わり機能ブロック１４ａに信号を与える。ＣＰＵレジスタ１２は、バス１７に接続されている機能ブロックであれば、いずれの機能ブロック内に設けられていてもよい。
【００１８】
ＣＰＵレジスタ１２は、本実施の形態では、所定の値Ｙ（Ｙは”０”または”１”）を保持し、その所定の値Ｙに応じた信号を機能ブロック１４ａに与える。機能ブロック１４ａは、ＣＰＵレジスタ１２から与えられた信号に応じて、所定の値Ｙを認識する。ＣＰＵレジスタ１２は、後述するように、ＣＰＵ１６からリード／ライトアクセス可能となっている。
【００１９】
機能ブロック１４ｂは、通常動作時に、後述する機能ブロック１４ｃから信号を受ける。一方、第２の機能ブロックである機能ブロック１４ｂは、テスト動作時に外部端子１１から信号を受ける。本実施の形態では、機能ブロック１４ｂは、パラメータが保持されたレジスタ２０を備える。
【００２０】
機能ブロック１４ｂは、レジスタ２０に保持されたパラメータと、マルチプレクサ１３ｂからの出力に応じて所望の演算を行う。本実施の形態では、マルチプレクサ１３ｂからの出力は、外部端子１１からの信号、または、機能ブロック１４ｃからの信号のいずれか一方が該当する。機能ブロック１４ｂは、所望の演算の結果を、所定の出力先、例えば、いずれも図示しない、後段の機能ブロック、あるいは、ステータスレジスタ、あるいは、外部出力端子に出力する。
【００２１】
第３の機能ブロックである機能ブロック１４ｃは、機能ブロック１４ｂの前段に設けられた機能ブロックであり、通常動作時に機能ブロック１４ｂに信号を与える。
【００２２】
第１の信号切換手段であるマルチプレクサ１３ａは、外部端子１１およびＣＰＵレジスタ１２と機能ブロック１４ａとの間に配置される。本実施の形態では、マルチプレクサ１３ａは、後述するテストモード制御ブロック１５からの制御信号が”０”である場合に、外部端子１１からの信号を機能ブロック１４ａに出力する。一方、マルチプレクサ１３ａは、同上の制御信号が”１”である場合に、ＣＰＵレジスタ１２からの信号を機能ブロック１４ａに出力する。
【００２３】
第２の信号切換手段であるマルチプレクサ１３ｂは、外部端子１１および機能ブロック１４ｃと機能ブロック１４ｂとの間に配置される。本実施の形態では、マルチプレクサ１３ｂは、後述するテストモード制御ブロック１５からの制御信号が”０”である場合に、機能ブロック１４ｃからの信号を機能ブロック１４ｂに出力する。一方、マルチプレクサ１３ｂは、同上の制御信号が”１”である場合に、外部端子１１からの信号を機能ブロック１４ｂに出力する。
【００２４】
マルチプレクサ１３ｃは、後述するテストモード制御ブロック１５からの制御信号が”０”である場合に、機能ブロック１４ａからの入出力制御信号を外部端子１１の出力バッファ１９に出力する。一方、マルチプレクサ１３ｃは、同上の制御信号が”１”である場合に、固定値”１”の信号を入出力制御信号として外部端子１１の出力バッファ１９に出力する。なお、図１に示される「１’ｂ１」は、１ビット信号において”１”に固定されていることを示す。
【００２５】
切換制御手段であるテストモード制御ブロック１５は、マルチプレクサ１３ａ，１３ｂを制御する。本実施の形態では、テストモード制御ブロック１５は、モード設定用の情報に基づいて、通常動作時には”０”、テスト動作時には”１”の制御信号を、マルチプレクサ１３ａ，１３ｂそれぞれに送信することにより制御を行う。同様に、テストモード制御ブロック１５は、通常動作時には”０”、テスト動作時には”１”の制御信号を、マルチプレクサ１３ｃにも送信することにより、マルチプレクサ１３ｃも制御する。モード設定用の情報は、例えば、図示しない特定の外部端子やＣＰＵレジスタの状態に対応する情報である。
【００２６】
ＣＰＵ１６は、バス１７を介して機能ブロック１４ａにアクセスする。そして、ＣＰＵ１６は、外部端子１１からの入力値Ｘ、または、ＣＰＵレジスタ１２からの所定の値Ｙが機能ブロック１４ａにおいて認識されたことを確認する。
【００２７】
ＣＰＵ１６は、機能ブロック１４ａが、入力値Ｘ、または、所定の値Ｙを認識したことを確認した場合に、入力値Ｘ、または、所定の値Ｙを読み込む。そして、ＣＰＵ１６は、読み込んだ入力値Ｘ、または、所定の値Ｙに応じて設定変更が必要か否かを判断する。それから、ＣＰＵ１６は、設定変更が必要であると判断した場合に、機能ブロック１４ｂのレジスタ２０にライトアクセスし、レジスタ２０に保持されたパラメータを変更する。また、ＣＰＵ１６は、ＣＰＵレジスタ１２にリード／ライトアクセス可能であり、テスト動作開始前に、ＣＰＵレジスタ１２に所定の値Ｙを予め書き込み可能であるものとする。
【００２８】
＜通常動作時＞
本実施の形態に係る半導体集積回路１の通常動作について説明する。テストモード制御ブロック１５は、マルチプレクサ１３ａ，１３ｂ，１３ｃそれぞれに”０”の制御信号を送信する。
【００２９】
そうすると、マルチプレクサ１３ａは、外部端子１１からの信号を機能ブロック１４ａに出力する。マルチプレクサ１３ｂは、機能ブロック１４ｃからの信号を機能ブロック１４ｂに出力する。マルチプレクサ１３ｃは、機能ブロック１４ａからの入出力制御信号を外部端子１１の出力バッファ１９に出力する。
【００３０】
機能ブロック１４ａが、外部端子１１の出力バッファ１９に、入出力制御信号”１”を出力すると、双方向端子である外部端子１１は、半導体集積回路１の外部から内部に信号を入力する入力状態となる。
【００３１】
機能ブロック１４ａが、外部端子１１の出力バッファ１９に、入出力制御信号”０”を出力すると、双方向端子である外部端子１１は、半導体集積回路１の内部から外部に信号を出力する出力状態となる。
【００３２】
以下、外部端子１１は入力状態であるものとして説明する。この場合、機能ブロック１４ａは、外部端子１１からの信号を入力値Ｘとして認識する。ＣＰＵ１６は、機能ブロック１４ａにおいて、入力値Ｘが認識されている場合、入力値Ｘを読み込み、入力値Ｘに応じて設定変更が必要か否かを判断する。そして、ＣＰＵ１６は、設定変更が必要であると判断した場合に、機能ブロック１４ｂのレジスタ２０にライトアクセスし、レジスタ２０に保持されたパラメータを変更する。
【００３３】
機能ブロック１４ｂは、レジスタ２０に保持されたパラメータと、機能ブロック１４ｃからの信号に応じて所望の演算を行い、その演算結果を所定の出力先に出力する。こうして、本実施の形態に係る半導体集積回路１は、通常動作を行う。
【００３４】
＜テスト動作時＞
本実施の形態に係る半導体集積回路１のテスト動作について説明する。テストモード制御ブロック１５は、マルチプレクサ１３ａ，１３ｂ，１３ｃそれぞれに”１”の制御信号を送信する。
【００３５】
そうすると、マルチプレクサ１３ａは、ＣＰＵレジスタ１２からの信号を機能ブロック１４ａに出力する。マルチプレクサ１３ｂは、外部端子１１からの信号を機能ブロック１４ｂに出力する。マルチプレクサ１３ｃは、固定値”１”の入出力制御信号を外部端子１１の出力バッファ１９に出力する。
【００３６】
機能ブロック１４ａは、ＣＰＵレジスタ１２からの信号を所定の値Ｙとして認識する。ＣＰＵ１６は、機能ブロック１４ａにおいて、所定の値Ｙが認識されている場合、所定の値Ｙを読み込み、所定の値Ｙに応じて設定変更が必要か否かを判断する。そして、ＣＰＵ１６は、設定変更が必要であると判断した場合に、機能ブロック１４ｂのレジスタ２０にライトアクセスし、レジスタ２０に保持されたパラメータを変更する。
【００３７】
双方向端子である外部端子１１は、マルチプレクサ１３ｃから固定値”１”の入出力制御信号を受けると、半導体集積回路１の外部から内部に信号を入力する入力状態を維持する。機能ブロック１４ｂは、レジスタ２０に保持されたパラメータと、外部端子１１からの信号に応じて所望の演算を行い、その演算結果を所定の出力先に出力する。こうして、本実施の形態に係る半導体集積回路１は、テスト動作を行う。
【００３８】
以上のような動作を行う本実施の形態に係る半導体集積回路１によれば、テスト動作時に、外部端子１１の信号に代わりＣＰＵレジスタ１２の信号を機能ブロック１４ａに与えることができる。そのため、テスト動作時にＣＰＵレジスタ１２からの信号により機能ブロック１４ａを継続して動作させることができる。また、通常動作時に機能ブロック１４ａに使用されていた外部端子１１に、テスト動作時において機能ブロック１４ｂをテストするためのテスト信号を入力することができる。こうして、機能ブロック１４ｂにテスト信号を入力するために必要な外部端子を確保することができる。
【００３９】
なお、本実施の形態では、外部端子１１を双方向端子であるとして説明を行ったが、入力専用端子であっても構わない。その場合、マルチプレクサ１３ｃは不要となる。
【００４０】
＜実施の形態２＞
図２は、本実施の形態に係る半導体集積回路２の構成を示すブロック図である。図に示すように、本実施の形態に係る半導体集積回路２は、実施の形態１に係る半導体集積回路１の機能ブロック１４ａの代わりに、汎用入出力モジュール２４を用いている。なお、本実施の形態において、実施の形態１と同様の部分については同一符号を付している。
【００４１】
汎用入出力モジュール２４は、一般にＧＰＩＯ（Genearl Purpose I/O）と呼ばれているものであり、ＣＰＵ１６を内蔵する多くの半導体集積回路に搭載される。汎用入出力モジュール２４は、双方向に入出力可能な外部端子１１と合わせて設けられ、ＣＰＵ１６から汎用入出力モジュール２４内部に設けられた図示しない設定レジスタを変更することにより、外部端子１１の入出力状態を制御することができる。
【００４２】
以上のように構成される本実施の形態に係る半導体集積回路２によれば、実施の形態１と同様に、機能ブロック１４ｂをテストするためのテスト信号の入力に必要なテスト入力用の外部端子を確保することができる。なお、汎用入出力モジュール２４のテストについては、外部端子１１から直接、テスト信号を入力すればよく、新たな外部端子は不要である。
【００４３】
＜実施の形態３＞
図３は、本実施の形態に係る半導体集積回路３の構成を示すブロック図である。本実施の形態では、テストモード制御ブロック１５は、内部に一のＣＰＵレジスタ１２を備える。また、図示していないが、これまでの実施の形態においてテスト対象であった機能ブロック１４ｂは、複数設けられている。
【００４４】
実施の形態１では、ＣＰＵレジスタ１２は、バス１７に接続されている機能ブロックであれば、いずれの機能ブロックで設けてもよいとしていた。本実施の形態では、実施の形態１と異なり、ＣＰＵレジスタ１２は、テストモード制御ブロック１５の内部に設けられている。そして、ＣＰＵレジスタ１２は、バス１７を介して、複数の機能ブロック１４ｂのテスト専用レジスタとして共通に使用される。なお、本実施の形態において、実施の形態１と同様の部分については同一符号を付している。
【００４５】
以上のように構成される本実施の形態に係る半導体集積回路３によれば、テスト対象である複数の機能ブロック１４ｂに対してテストを行う場合に、一のＣＰＵレジスタ１２にアクセスすることで共通使用することができる。そのため、機能ブロックごとにＣＰＵレジスタ１２を備えたものよりも、回路規模を削減することができる。
【図面の簡単な説明】
【００４６】
【図１】実施の形態１に係る半導体集積回路の構成を示すブロック図である。
【図２】実施の形態２に係る半導体集積回路の構成を示すブロック図である。
【図３】実施の形態３に係る半導体集積回路の構成を示すブロック図である。
【符号の説明】
【００４７】
１，２，３  半導体集積回路、１１  外部端子、１２  ＣＰＵレジスタ、１３ａ〜１３ｃ  マルチプレクサ、１４ａ〜１４ｃ  機能ブロック、１５  テストモード制御ブロック、１６  ＣＰＵ、１７  バス、１８  入力バッファ、１９  出力バッファ、２０  レジスタ、２４  汎用入出力モジュール。
【図１】
2008256527.tif 000003
【図２】
2008256527.tif 000004
【図３】
2008256527.tif 000005