(57)【要約】  【課題】  複数の機能ブロックのテストを少ない端子数で行うことができる半導体集積回路を提供する。  【解決手段】  この半導体集積回路１は、ＣＰＵコア２と、ＲＡＭ３と、マルチプレクサ回路７と、外部バス端子１１〜２６と、制御信号入力端子１０と、制御信号入力端子１０に供給されているセレクト信号がハイレベルとなっていないときに、外部バス端子１１〜２６に供給された信号をアドレス信号及びデータ信号として用いることにより、所定の機能をそれぞれ実現する機能ブロック４〜６と、セレクト信号がハイレベルとなったときに、外部バス端子１１〜２６に供給された信号に従って機能ブロック４〜６の中の１つ以上の機能ブロックを選択し、その後に外部バス端子１１〜２６に供給された信号をテストベクタとして選択された機能ブロックに供給することにより、選択された機能ブロックのテストを行うテスト回路８とを具備する。【選択図】  図１
2005189077.tif 000002
【特許請求の範囲】
【請求項１】
所定の機能をそれぞれ実現する複数の機能ブロックを有する半導体集積回路であって、
外部から複数の信号の供給をそれぞれ受けるための複数の第１の端子と、
外部から制御信号の供給を受けるための第２の端子と、
前記制御信号が活性化されていないときに、前記複数の第１の端子に供給された複数の信号を用いることにより所定の機能をそれぞれ実現する前記複数の機能ブロックと、
前記制御信号が活性化されたときに、前記複数の第１の端子に供給された前記複数の信号を選択信号として用いることにより前記複数の機能ブロックの中の１つ以上の機能ブロックを選択し、その後に前記複数の第１の端子に供給された前記複数の信号をテスト信号又はテストベクタとして前記複数の機能ブロックの中の選択された機能ブロックに供給することにより、前記複数の機能ブロックの中の選択された機能ブロックのテストを行うテスト回路と、
を具備する半導体集積回路。
【請求項２】
前記複数の機能ブロックが、前記制御信号が活性化されていないときに、前記複数の第１の端子に供給された複数の信号をアドレス信号又はデータ信号として用いることにより所定の機能をそれぞれ実現する、請求項１記載の半導体集積回路。
【請求項３】
第２の制御信号に従って、前記複数の機能ブロックのいずれかの出力信号を選択して出力するマルチプレクサ回路を更に具備し、
前記テスト回路が、前記制御信号が活性化されたときから後に前記複数の機能ブロックの中の選択された機能ブロックの出力信号を選択出力するように前記マルチプレクサ回路を制御するための前記第２の制御信号を前記マルチプレクサ回路に供給する、請求項１又は２記載の半導体集積回路。
【請求項４】
前記テスト回路が、前記マルチプレクサ回路が選択出力する信号を前記複数の第１の端子を介して外部に出力する、請求項３記載の半導体集積回路。
【請求項５】
前記複数の機能ブロックの中の所望の機能ブロックの出力信号を選択して出力するように前記マルチプレクサ回路を制御するための第３の制御信号を前記マルチプレクサ回路に供給するＣＰＵコアを更に具備し、
前記マルチプレクサ回路が、前記第２の制御信号が活性化されていないときに、前記第３の制御信号に従って前記複数の機能ブロックの中の所望の機能ブロックの出力信号を選択して前記ＣＰＵコアに出力する、請求項３又は４記載の半導体集積回路。
【請求項６】
前記ＣＰＵコアが、前記制御信号が活性化されていないときに、前記複数の第１の端子に供給された複数の信号を受け取り、前記複数の信号に従って前記複数の機能ブロックに前記所定の機能をそれぞれ実現させる、請求項５記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の機能をそれぞれ実現する複数の機能ブロックを有する半導体集積回路に関する。
【背景技術】
【０００２】
現在の半導体集積回路において、ＩＰと呼ばれる機能ブロックが内蔵されていることがある。ここで、ＩＰとは、知的所有権（Intellectual Property）が語源であるが、半導体集積回路の分野においては、半導体集積回路を設計する上で重要となる機能ブロック(コアともいう)を指す。
【０００３】
このような複数のブロックを有する半導体集積回路をテストする方法として、複数の外部ピンと内部の任意のブロックの複数の入出力信号線とを、外部からのコントロール信号によって切り替えるスイッチ回路を半導体集積回路の内部に設け、外部からコントロール信号を上記スイッチ回路入力して所望のブロックの複数の入出力信号線と直接に接続し、複数の外部ピンからテスト信号を入力および外部ピンからの出力信号をもとにブロック毎のテストを行うように構成したことを特徴とする半導体集積回路のテスト方法が知られている（例えば、特許文献１参照）。
しかしながら、特許文献１に掲載された半導体集積回路のテスト方法では、複数の外部ピンと内部の任意のブロックの複数の入出力信号線とを直接に接続するために、外部からコントロール信号をスイッチ回路に入力する必要があり、ブロックの数が多くなるとコントロール信号の数が多くなってしまうという問題がある。
【０００４】
また、マイクロコンピュータ・ＩＰ回路を内蔵したシステムＬＳＩのＬＳＩテスト時におけるＬＳＩ機能検証・テストベクター作成の手間や設計工数を削減し、テスト回路の小型化を図ることができる集積回路装置として、ＬＳＩテスト時に必要となる各種の制御信号を生成するテスト回路と、テスト回路、外部アドレス端子、外部データ端子、周辺回路アドレスバス、周辺回路データバス、周辺回路からのデータ書込みイネーブル信号が接続され、アドレス・データバスを制御するバスコントローラ回路と、テスト回路が接続され、周辺回路アドレスバス及び周辺回路データバスを制御するバス切換・アドレスデコーダ回路とを備えていることを特徴とする集積回路装置が知られている（例えば、特許文献２参照）。
しかしながら、特許文献２に掲載された集積回路装置では、周辺回路アドレスバス、周辺回路データバス、アドレス・データバスを別個に有し、周辺回路アドレスバス及び周辺回路データバスを制御するバス切換・アドレスデコーダ回路を必要とする。
【０００５】
【特許文献１】特開平６−１３０１３２号公報
【０００６】
【特許文献２】特開２０００−９９３６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
そこで、上記の点に鑑み、本発明は、複数の機能ブロックのテストを少ない端子数で行うことができる半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【０００８】
以上の課題を解決するため、本発明に係る半導体集積回路は、所定の機能をそれぞれ実現する複数の機能ブロックを有する半導体集積回路であって、外部から複数の信号の供給をそれぞれ受けるための複数の第１の端子と、外部から制御信号の供給を受けるための第２の端子と、制御信号が活性化されていないときに、複数の第１の端子に供給された複数の信号を用いることにより所定の機能をそれぞれ実現する複数の機能ブロックと、制御信号が活性化されたときに、複数の第１の端子に供給された複数の信号を選択信号として用いることにより複数の機能ブロックの中の１つ以上の機能ブロックを選択し、その後に複数の第１の端子に供給された複数の信号をテスト信号又はテストベクタとして複数の機能ブロックの中の選択された機能ブロックに供給することにより、複数の機能ブロックの中の選択された機能ブロックのテストを行うテスト回路とを具備する。
【０００９】
この半導体集積回路において、複数の機能ブロックが、制御信号が活性化されていないときに、複数の第１の端子に供給された複数の信号をアドレス信号又はデータ信号として用いることにより所定の機能をそれぞれ実現することとしても良い。
【００１０】
また、第２の制御信号に従って、複数の機能ブロックのいずれかの出力信号を選択して出力するマルチプレクサ回路を更に具備し、テスト回路が、制御信号が活性化されたときから後に複数の機能ブロックの中の選択された機能ブロックの出力信号を選択出力するようにマルチプレクサ回路を制御するための第２の制御信号をマルチプレクサ回路に供給することとしても良い。
【００１１】
さらに、テスト回路が、マルチプレクサ回路が選択出力する信号を複数の第１の端子を介して外部に出力することとしても良い。
また、複数の機能ブロックの中の所望の機能ブロックの出力信号を選択して出力するようにマルチプレクサ回路を制御するための第３の制御信号をマルチプレクサ回路に供給するＣＰＵコアを更に具備し、マルチプレクサ回路が、第２の制御信号が活性化されていないときに、第３の制御信号に従って複数の機能ブロックの中の所望の機能ブロックの出力信号を選択してＣＰＵコアに出力することとしても良い。さらに、ＣＰＵコアが、制御信号が活性化されていないときに、複数の第１の端子に供給された複数の信号を受け取り、複数の信号に従って複数の機能ブロックに所定の機能をそれぞれ実現させることとしても良い。
【発明の効果】
【００１２】
本発明によれば、複数の機能ブロックのテストを少ない端子数で行うことができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照しながら、本発明の実施の形態について説明する。
図１は、本発明の一実施形態に係る半導体集積回路を示す図である。図１に示すように、この半導体集積回路１は、ＣＰＵコア２と、ＲＡＭ３と、機能ブロック４〜６と、マルチプレクサ回路７と、テスト回路８と、制御信号入力端子１０と、外部バス端子１１〜２６とを含んでいる。
【００１４】
機能ブロック４〜６は、所定の機能をそれぞれ実現するための回路である。ここでは、機能ブロック４は、所定の演算処理を行うための演算回路であり、機能ブロック５、６は、外部バス端子１１〜１８及び１９〜２６を介して外部との間で信号の送受信をそれぞれ行うためのインタフェース回路である。
【００１５】
制御信号入力端子１０には、外部から制御信号（ここでは、セレクト信号）が供給され、このセレクト信号は、テスト回路８に入力される。
テスト回路８は、機能ブロック４〜６のテストを行うための回路であり、セレクト信号がハイレベルとなった場合に、機能ブロック４〜６のテストを開始する。このとき、外部バス端子１１〜２６には、機能ブロック４〜６の中のテスト対象となる機能ブロックを選択するための機能ブロック選択信号及びテストベクタが外部から順次供給される。機能ブロック選択信号及びテストベクタは、外部バス端子１１〜２６からテスト回路８に入力され、テスト回路８は、機能ブロック選択信号に従ってテスト対象となる機能ブロックを選択し、その後、テストベクタを選択された機能ブロックに内部バス９を介して供給する。
【００１６】
一方、セレクト信号がハイレベルとならない場合、テスト回路８は、機能ブロック４〜６のテストを開始しない。このとき、外部バス端子１１〜２６には、アドレス信号及びデータ信号が外部から供給される。アドレス信号及びデータ信号は、外部バス端子１１〜２６、機能ブロック５〜６、及び、マルチプレクサ回路７という経路を辿ってＣＰＵコア２に供給され、ＣＰＵコア２は、アドレス信号及びデータ信号に従って、ＲＡＭ３を作業領域として使用しながら所定の動作を行う。また、機能ブロック４は、ＣＰＵコア２、マルチプレクサ回路７、及び、内部バス９という経路を辿ってデータ信号をＣＰＵコア２から受け取り、所定の演算処理を行う。
【００１７】
図２は、半導体集積回路１の動作の概要を示すフローチャートである。また、図３は、制御信号入力端子１０に外部から供給されるセレクト信号、及び外部バス端子１１〜２６に外部から供給される信号のタイミングチャートの一例を示す図である。以下、図２、３を参照しながら、半導体集積回路１の動作について説明する。
図２の処理を開始すると、半導体集積回路１内のテスト回路８は、セレクト信号がハイレベルであるか否かをチェックし、ハイレベルである場合には、処理をステップＳ１０２に移し、そうでない場合には、処理をステップＳ１０６に移す（ステップＳ１０１）。ここでは、図３に示すように、セレクト信号が、時刻ｔ０においてハイレベルとなるため、テスト回路８は、処理をステップＳ１０２に移す。
【００１８】
このとき、外部バス端子１１〜２６には、テスト対象となる機能ブロックを選択するための機能ブロック選択信号が外部から供給されており（図３参照）、テスト回路８は、この機能ブロック選択信号をデコードすることにより、テスト対象となる機能ブロックを選択する（ステップＳ１０２）。ここで、例えば、外部バス端子１１〜２６に供給される機能ブロック選択信号が「０００００００００００００００１」である場合には、テスト対象として機能ブロック４を選択することとしても良いし、機能ブロック選択信号が「０００１０００１００００００００」である場合には、テスト対象として機能ブロック５、６の２つを選択することとしても良い。
【００１９】
その後、時刻ｔ１において、外部バス端子１１〜２６にはテストベクタが供給され（図３参照）、テスト回路８は、このテストベクタをテスト対象として選択された機能ブロックに内部バス９を介して供給する（ステップＳ１０３）。
【００２０】
テスト対象として選択された機能ブロックは、テストベクタの供給を受けて動作し、動作結果としての信号をマルチプレクサ回路７に出力する。また、マルチプレクサ回路７には、テスト対象として選択された機能ブロックが出力する信号を選択出力するための第２の制御信号がテスト回路８から供給される。マルチプレクサ回路７は、この第２の制御信号に従って、テスト対象として選択された機能ブロックが出力する信号をテスト回路８に供給する。テスト回路８は、テスト対象として選択された機能ブロックが出力した信号をマルチプレクサ回路７から受け取ると、時刻ｔ２において、外部バス端子１１〜２６を介して外部に出力する（ステップＳ１０４）。
【００２１】
その後、テスト回路８は、外部からのテストベクタの供給が終了するまでステップＳ１０２〜ステップＳ１０４を繰り返す（ステップＳ１０５）。
【００２２】
一方、ステップＳ１０１において、セレクト信号がハイレベルではない場合、テスト回路８は機能ブロック４〜６のテストを開始せず、処理をステップＳ１０６に移す。
この場合、ＣＰＵコア２及び機能ブロック４〜６は、通常動作（非テスト動作）を行う。すなわち、外部バス端子１１〜２６には、アドレス信号及びデータ信号が外部から供給され、これらのアドレス信号及びデータ信号は、機能ブロック５、６を介してマルチプレクサ回路７に供給される。このとき、マルチプレクサ回路７には、機能ブロック５、６が出力する信号を選択出力するための第３の制御信号がＣＰＵコア２から供給される。マルチプレクサ回路７は、この第３の制御信号に従って、機能ブロック５、６が出力する信号をＣＰＵコア２に供給する。ＣＰＵコア２は、これらのアドレス信号及びデータ信号に従って、ＲＡＭ３を作業領域として使用しながら所定の動作を行う。また、機能ブロック４は、ＣＰＵコア２、マルチプレクサ回路７、及び、内部バス９という経路を辿ってデータ信号をＣＰＵコア２から受け取り、所定の演算処理を行う。
【００２３】
このように、半導体集積回路１によれば、セレクト信号がハイレベルとなった場合に、外部バス端子１１〜２６に供給される信号に従ってテスト対象となる機能ブロックを選択し、その後外部バス端子１１〜２６に供給される信号をテストベクタとして用いることによりテスト対象である機能ブロックのテストを行い、テスト結果としての信号を外部バス端子１１〜２６を介して外部に出力する。一方、セレクト信号がハイレベルとならなかった場合には、半導体集積回路１は、外部バス端子１１〜２６に供給される信号をアドレス信号及びデータ信号として用いることにより、通常動作（非テスト動作）を行う。
従って、外部バス端子１１〜２６の他に１本の制御信号入力端子１０を具備することにより、機能ブロック４〜６のテストを行うことができる。本実施形態においては、機能ブロック４〜６の３つの機能ブロックを具備することとしているが、より多数の機能ブロックを具備する場合であっても、外部バス端子１１〜２６の他に１本の制御信号入力端子１０を具備することにより、機能ブロックのテストを行うことができる。
【００２４】
また、外部から供給されたテストベクタをそのままテスト対象の機能ブロックに供給することができるため、故障検出率の高いテストが可能である。
さらに、テスト対象として複数の機能ブロックを選択することが可能であり、同時に複数の機能ブロックのテストを行うことが可能となり、効率の良いテストを行うことができる。
【００２５】
なお、本実施形態においては、セレクト信号がハイレベルとなった場合に機能ブロックのテストを行うこととしているが、セレクト信号の論理を反転し、セレクト信号がローレベルとなった場合に機能ブロックのテストを行い、セレクト信号がローレベルとならなかった場合に通常動作（非テスト動作）を行うこととしても良い。また、セレクト信号の立ち上がりエッジ又は立ち下がりエッジを検出して機能ブロックのテストを行うこととしても良い。
【００２６】
また、本実施形態においては、セレクト信号によって機能ブロックのテストを開始することとしているが、他の制御信号（例えば、リセット信号等）によって機能ブロックのテストを開始することとしても良い。
【００２７】
また、本実施形態においては、セレクト信号がローレベルの場合に、外部バス端子１１〜２６にアドレス信号及びデータ信号が供給され、ＣＰＵコア２、機能ブロック４〜６が、外部バス端子１１〜２６に供給されるアドレス信号及びデータ信号を用いることとしているが、外部バス端子１１〜２６に他の信号（例えば、制御信号等）が供給され、ＣＰＵコア２、機能ブロック４〜６が、これらの信号を用いることとしても良い。
【産業上の利用可能性】
【００２８】
本発明は、複数の機能ブロックを有する半導体集積回路において利用可能である。
【図面の簡単な説明】
【００２９】
【図１】本発明の一実施形態としての半導体集積回路を示す図。
【図２】図１の半導体集積回路１の動作の概要を示すフローチャート。
【図３】図１の半導体集積回路１に供給される信号のタイミングチャート。
【符号の説明】
【００３０】
１  半導体集積回路、２  ＣＰＵコア、３  ＲＡＭ、４〜６  機能ブロック、８  テスト回路、９  内部バス、１０  制御信号入力端子、１１〜２６  外部バス端子
【図１】
2005189077.tif 000003
【図２】
2005189077.tif 000004
【図３】
2005189077.tif 000005