(57)【要約】【課題】機能検証時間の短縮化を実現することができる半導体集積回路及び半導体集積回路の検証方法を提供する。【解決手段】機能ブロック（Ａ〜Ｃ）１、２、３と、各機能ブロックと接続されたバス４と、バスに接続されたメモリ５とを有する半導体集積回路において、機能ブロックＡの個別検証が完了して、機能ブロックＡが半導体集積回路に組み込まれて機能ブロックＡからデータが出力されると、メモリに機能ブロックＡの出力信号が書き込まれ、機能ブロックＢの個別検証が完了して、機能ブロックＢが半導体集積回路に組み込まれると、メモリに書き込まれたデータが機能ブロックＢに読み出される。【選択図】図１
2008009487.tif 000002
【特許請求の範囲】
【請求項１】
第１の機能ブロックと、
該第１の機能ブロックと接続され、同第１の機能ブロックの出力信号が入力信号である第２の機能ブロックと、
前記第１の機能ブロック及び前記第２の機能ブロックと接続された制御部と、
該制御部に接続されると共に、記憶手段に接続された伝送路とを備える半導体集積回路であって、
前記第１の機能ブロックの出力信号が、前記制御部及び前記伝送路を介して前記記憶手段に書き込み可能に構成され、または、前記記憶手段に書き込まれた前記第１の機能ブロックの出力信号、若しくは前記記憶手段に書き込まれた前記第１の機能ブロックの出力信号に相当する信号が、前記伝送路及び前記制御部を介して前記第２の機能ブロックに読み出し可能に構成された
半導体集積回路。
【請求項２】
前記第１の機能ブロックの出力信号が、前記制御部及び前記伝送路を介して前記記憶手段に書き込み可能に構成されると共に、前記記憶手段に書き込まれた前記第１の機能ブロックの出力信号、若しくは前記記憶手段に書き込まれた前記第１の機能ブロックの出力信号に相当する信号が、前記伝送路及び前記制御部を介して前記第２の機能ブロックに読み出し可能に構成された
請求項１に記載の半導体集積回路。
【請求項３】
前記伝送路に接続された外部端子を備え、
前記記憶手段に書き込まれた前記第１の機能ブロックの出力信号を前記伝送路及び前記外部端子を介して読み出し可能に構成された
請求項１に記載の半導体集積回路。
【請求項４】
前記伝送路に接続された外部端子を備え、
前記第１の機能ブロックの出力信号に相当する信号を前記伝送路及び前記外部端子を介して前記記憶手段に書き込み可能に構成された
請求項１に記載の半導体集積回路。
【請求項５】
第１の機能ブロックと、該第１の機能ブロックと接続され、同第１の機能ブロックの出力信号が入力信号である第２の機能ブロックと、前記第１の機能ブロック及び第２の機能ブロックと接続された制御部と、該制御部に接続されると共に、記憶手段に接続された伝送路とを備える半導体集積回路の検証方法であって、
前記第１の機能ブロックの出力信号を前記制御部及び前記伝送路を介して前記記憶手段に書き込む工程、または、前記記憶手段に書き込まれた前記第１の機能ブロックの出力信号、若しくは前記記憶手段に書き込まれた前記第１の機能ブロックの出力信号に相当する信号を前記伝送路及び前記制御部を介して前記第２の機能ブロックに読み出す工程を備える
半導体集積回路の検証方法。
【請求項６】
前記第１の機能ブロックの出力信号を前記制御部及び前記伝送路を介して前記記憶手段に書き込むと共に、前記記憶手段に書き込まれた前記第１の機能ブロックの出力信号、若しくは前記記憶手段に書き込まれた前記第１の機能ブロックの出力信号に相当する信号を前記伝送路及び前記制御部を介して前記第２の機能ブロックに読み出す工程を備える
請求項５に記載の半導体集積回路の検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路及び半導体集積回路の検証方法に関する。詳しくはＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ）と称される設計資産を流用した半導体集積回路及びこうした半導体集積回路の検証方法に係るものである。
【背景技術】
【０００２】
一般的にシステムＬＳＩ（Ｌａｒｇｅ Ｓｃａｌｅ Ｉｎｔｅｇｒａｔｉｏｎ）開発において全ての機能を最初から設計しようとすると、開発期間や信頼性評価等の面において不利であるために、ＩＰと称される設計資産を外部から調達（流用）することで、「設計資産＋新規回路」という形態を採用することが不可欠になりつつある（例えば、特許文献１参照。）。
【０００３】
なお、ＩＰとは、半導体業界において各社が設計したシステムＬＳＩの各機能ブロックを指し、あたかも部品の様に流通させることで再利用を図っているものであり、高集積・高性能のＣＰＵやＤＳＰ、フィルタ回路、各種の大記憶容量メモリ、音声や画像の処理回路、各種のインターフェース回路、更にはアナログ・デジタル混成信号処理回路など各種の機能ブロックが流通している。
【０００４】
図３は従来の半導体集積回路を説明するための模式図であり、ここで示す半導体集積回路では、３つの機能ブロック（Ａ〜Ｃ）１０１、１０２、１０３で構成されており、外部から入力されたデータは機能ブロックＡ、機能ブロックＢ、機能ブロックＣの順に信号処理がなされる。
【０００５】
なお、システムＬＳＩでは機能ブロック内にメモリを設けるのではなく、外部に大容量のメモリを接続することを前提とする構成が少なくなく、更に外部のメモリを効率的に利用すべくバスを介して機能ブロックとメモリとを接続する構成を採用する場合が多い。そこで、図３示す従来の半導体集積回路についても、機能ブロックＢ及び機能ブロックＣがバス１０４に接続され、バスを介してメモリ１０５への書き込み処理や読み出し処理が可能な構成を例に挙げている。
【０００６】
ところで、システムＬＳＩの機能の正当性を確認するために実施する機能検証においては、半導体集積回路に組み込む前に個々の機能ブロックに対する試験（個別検証）を行ない、その後に機能ブロックを半導体集積回路に組み込んだ状態で試験（全体検証）を行なっている。
具体的には、機能ブロックＡ、機能ブロックＢ及び機能ブロックＣについての個別検証を行なった後に、機能ブロックＡ、機能ブロックＢ及び機能ブロックＣを半導体集積回路に組み込み、データを外部から機能ブロックＡに入力すると共に機能ブロックＣから出力されるデータの検証を行なう全体検証を行なっている。
【０００７】
【特許文献１】特開２００１−１８６０１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、「設計資産＋新規回路」という形態で設計されたシステムＬＳＩについての機能検証においては、設計資産の個別検証が仮に早期に終わったとしても、新規回路の個別検証に関してはその検証精度が向上するまでにある程度の時間を要するために、新規回路の個別検証については一般的に設計資産と比べると時間を要してしまう。そして、全体検証は個別検証の後に行なわれるために、せっかく設計資産を流用したとしても結果として機能検証に時間を要している。
【０００９】
具体的には、図３に示す様な半導体集積回路を設計するにあたって、機能ブロックＡ及び機能ブロックＣを設計資産、機能ブロックＢを新規回路で設計した場合には、機能ブロックＡ及び機能ブロックＣについては設計資産であることから個別検証が早期に終わったとしても、機能ブロックＢについては新規回路であるために個別検証にはある程度の時間を要してしまう。その結果、機能ブロックＢについての個別検証の後に行なわれる全体検証については、機能ブロックＢの個別検証の完了を待つこととなり、機能検証の完了が遅れてしまうこととなる。
【００１０】
本発明は以上の点に鑑みて創案されたものであって、機能検証時間の短縮化を実現することができる半導体集積回路及び半導体集積回路の検証方法を提供することを目的とするものである。
【課題を解決するための手段】
【００１１】
上記の目的を達成するために、本発明の半導体集積回路では、第１の機能ブロックと、該第１の機能ブロックと接続され、同第１の機能ブロックの出力信号が入力信号である第２の機能ブロックと、前記第１の機能ブロック及び前記第２の機能ブロックと接続された制御部と、該制御部に接続されると共に、記憶手段に接続された伝送路とを備える半導体集積回路であって、前記第１の機能ブロックの出力信号が、前記制御部及び前記伝送路を介して前記記憶手段に書き込み可能に構成され、または、前記記憶手段に書き込まれた前記第１の機能ブロックの出力信号、若しくは前記記憶手段に書き込まれた前記第１の機能ブロックの出力信号に相当する信号が、前記伝送路及び前記制御部を介して前記第２の機能ブロックに読み出し可能に構成されている。
【００１２】
ここで、第１の機能ブロックの出力信号が、制御部及び伝送路を介して記憶手段に書き込み可能に構成され、または、記憶手段に書き込まれた第１の機能ブロックの出力信号、若しくは記憶手段に書き込まれた第１の機能ブロックの出力信号に相当する信号が伝送路及び制御部を介して第２の機能ブロックに読み出し可能に構成されることによって、半導体集積回路の機能検証の時間短縮が実現する。
【００１３】
具体的には、第１の機能ブロックよりも第２の機能ブロックの個別検証に時間を要する場合において、従来は第２の機能ブロックの個別検証の完了を待って第１の機能ブロックにデータを入力し、第１の機能ブロックにデータを入力することで得られる第１の機能ブロックの出力信号を第２の機能ブロックに入力し、第２の機能ブロックにデータを入力することで得られる第２の機能ブロックの出力信号を検証することで第１の機能ブロック及び第２の機能ブロックの全体検証を行なっていた。これに対して、第１の機能ブロックの個別検証が終わった時点で第１の機能ブロックの全体検証を行なうと共に、第２の機能ブロックの個別検証が終わるまでの間に第１の機能ブロックの出力信号若しくは第１の機能ブロックの出力信号に相当する信号を記憶手段に書き込み、第２の機能ブロックの個別検証が終わった後に行なわれる第２の機能ブロックの全体検証の際に記憶手段からデータ（第１の機能ブロックの出力信号若しくは第１の機能ブロックの出力信号に相当する信号）を読み出し、第２の機能ブロックの個別検証の完了を待たずに第１の機能ブロックの全体検証を行なうことによって、半導体集積回路の機能検証（第１の機能ブロックの全体検証及び第２の機能ブロックの全体検証）の時間短縮が実現する。
また、第２の機能ブロックよりも第１の機能ブロックの個別検証に時間を要する場合において、従来は第１の機能ブロックの個別検証の完了を待って第１の機能ブロックにデータを入力し、第１の機能ブロックにデータを入力することで得られる第１の機能ブロックの出力信号を第２の機能ブロックに入力し、第２の機能ブロックにデータを入力することで得られる第２の機能ブロックの出力信号を検証することで第１の機能ブロック及び第２の機能ブロックの全体検証を行なっていた。これに対して、第２の機能ブロックの個別検証が終わるまでの間に第１の機能ブロックの出力信号に相当する信号を記憶手段に書き込み、第２の機能ブロックの個別検証が終わった後に行なわれる第２の機能ブロックの全体検証の際に記憶手段からデータを読み出すことで、第１の機能ブロックの個別検証の完了を待たずに第２の機能ブロックの全体検証を行なうと共に、第１の機能ブロックの個別検証が終わった時点で第１の機能ブロックの全体検証を行なうことによって、半導体集積回路の機能検証（第１の機能ブロックの全体検証及び第２の機能ブロックの全体検証）の時間短縮が実現する。
【００１４】
なお、「第１の機能ブロックの出力信号に相当する信号」とは、第１の機能ブロックの出力信号と同等の信号を意味する。
即ち、第２の機能ブロックに入力されるデータは第１の機能ブロックの出力信号と同等のデータであれば充分であり、必ずしも第１の機能ブロックの出力信号そのものである必要はないために、第１の機能ブロックの出力信号と同等のデータ（第１の機能ブロックの出力信号に相当する信号）を外部から記憶手段に書き込み、記憶手段に書き込まれた第１の機能ブロックの出力信号に相当する信号を第２の機能ブロックの全体検証の際に読み出しても良いので、第２の機能ブロックに読み出されるデータとしては第１の機能ブロックの出力信号のみならず、第１の機能ブロックの出力信号に相当する信号も含めているのである。
【００１５】
また、上記の目的を達成するために、本発明の半導体集積回路の検証方法では、第１の機能ブロックと、該第１の機能ブロックと接続され、同第１の機能ブロックの出力信号が入力信号である第２の機能ブロックと、前記第１の機能ブロック及び第２の機能ブロックと接続された制御部と、該制御部に接続されると共に、記憶手段に接続された伝送路とを備える半導体集積回路の検証方法であって、前記第１の機能ブロックの出力信号を前記制御部及び前記伝送路を介して前記記憶手段に書き込む工程、または、前記記憶手段に書き込まれた前記第１の機能ブロックの出力信号、若しくは前記記憶手段に書き込まれた前記第１の機能ブロックの出力信号に相当する信号を前記伝送路及び前記制御部を介して前記第２の機能ブロックに読み出す工程を備える。
【００１６】
ここで、第１の機能ブロックの出力信号を制御部及び伝送路を介して記憶手段に書き込み、または、記憶手段に書き込まれた第１の機能ブロックの出力信号、若しくは記憶手段に書き込まれた第１の機能ブロックの出力信号に相当する信号を伝送路及び制御部を介して第２の機能ブロックに読み出すことによって、半導体集積回路の機能検証の時間短縮が実現する。
【発明の効果】
【００１７】
上記した本発明の半導体集積回路及び半導体集積回路の検証方法では、半導体集積回路の機能検証に要する時間の短縮化が実現する。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態について図面を参照しながら説明し、本発明の理解に供する。
図１（ａ）は本発明を適用した半導体集積回路の一例を説明するための模式図、図１（ｂ）は本発明を適用した半導体集積回路の一例におけるデバッグコントローラの構成を説明するための模式図であり、ここで示す半導体集積回路では、上記した従来の半導体集積回路と同様に、３つの機能ブロック（Ａ〜Ｃ）１、２、３で構成され、外部から入力されたデータは機能ブロックＡ、機能ブロックＢ、機能ブロックＣの順に信号処理がなされる。また、機能ブロックＢ及び機能ブロックＣはバス４に接続され、バス及びメモリコントローラ５を介してメモリ（ＬＳＩの外部メモリ）６への書き込み処理や読み出し処理が可能に構成されている。更に、バスにはバス制御権の調停を行なう第１のバス制御部７が接続されている。
【００１９】
ここで、バスとはメモリを複数の機能ブロックで共有するためのものであり、メモリコントローラとはバスを経由して転送されたデータをメモリのプロトコルに従ってメモリへ転送（書き込み）し、またはメモリのプロトコルに従ってメモリから転送（読み出し）されたデータをバス経由で各機能ブロックに転送するためのものである。なお、バスは伝送路の一例である。
【００２０】
また、機能ブロックＡ、機能ブロックＢ及び機能ブロックＣはデバッグコントローラ８に接続されており、デバッグコントローラはバスと接続されている。なお、デバッグコントローラは制御部の一例である。
【００２１】
ここで、デバッグコントローラは、抽出した機能ブロック間データを選択してバスを経由してメモリに書き込みを行なったり、バスを経由してメモリから読み出したデータを選択した機能ブロックに転送したりする機能を有しており、制御レジスタ９、セレクタ１０、ライトコントローラ１１、第２のバス制御部１２及びリードコントローラ１３を有する。
【００２２】
上記の制御レジスタ９は、メモリにデータの書き込みを行なう機能ブロックを設定すると共に、読み出したデータを挿入する機能ブロックを設定するものであり、セレクタ１０は、メモリにデータを書き込みたい機能ブロックを選択するものであり、機能ブロックを選択するための選択信号は制御レジスタで設定される。また、ライトコントローラ１１は、各機能ブロックから転送されるデータの転送速度とバスの転送速度との調整を行なうものであり、機能ブロックによって転送タイミングが異なる場合にはライトコントローラで差分を吸収する。同様に、リードコントローラ１３は、各機能ブロックへ転送するデータの転送速度とバスの転送速度の調整を行なうものであり、機能ブロックによって転送タイミングが異なる場合にはリードコントローラで差分を吸収する。更に、第２のバス制御部１２は、バスのプロトコルに従ってバスを使用し、上述したメモリコントローラ経由でメモリへの書き込みデータ転送及びメモリからの読み出しデータ転送を行なうものであり、書き込み要求や読み出し要求は上述したバスコントローラに対して出し、バスコントローラから制御権を得たバスを使用する。
【００２３】
また、機能ブロックＡの出力信号はデバッグコントローラ及び第１のセレクタ１４に入力され、機能ブロックＢの出力信号はデバッグコントローラ及び第２のセレクタ１５に入力されている。
【００２４】
更に、第１のセレクタにはデバッグコントローラの出力信号も入力されており、第１のセレクタは入力信号（機能ブロックＡの出力信号及びデバッグコントローラの出力信号）のいずれか一方を選択して出力し、第１のセレクタの出力信号は機能ブロックＢの入力信号とされている。同様に、第２のセレクタにはデバッグコントローラの出力信号も入力されており、第２のセレクタは入力信号（機能ブロックＢの出力信号及びデバッグコントローラの出力信号）のいずれか一方を選択して出力し、第２のセレクタの出力信号は機能ブロックＣの入力信号とされている。即ち、第１のセレクタ及び第２のセレクタはいずれも前段の機能ブロックから渡されるデータとデバッグコントローラから渡されるデータの選択を行なっている。
【００２５】
以下、上記の様に構成された半導体集積回路の検証方法について説明を行なう。即ち、本発明を適用した半導体集積回路の検証方法について説明する。なお、以下では（１）機能ブロックＡ及び機能ブロックＣが設計資産であり、機能ブロックＢが新規回路である場合、（２）機能ブロックＡ及び機能ブロックＢが設計資産であり、機能ブロックＣが新規回路である場合について説明を行なう。
【００２６】
[１−機能ブロックＡ及び機能ブロックＣが設計資産であり、機能ブロックＢが新規回路である場合]
機能ブロックＡ及び機能ブロックＣが設計資産であり、機能ブロックＢが新規回路である半導体集積回路では、機能ブロックＡ及び機能ブロックＣの個別検証は機能ブロックＢの個別検証と比べると早期に完了するために、機能ブロックＡ及び機能ブロックＣは機能ブロックＢよりも先に半導体集積回路に組み込まれることになる。そこで、機能ブロックＡが半導体集積回路に組み込まれた時点（機能ブロックＢが未だ半導体集積回路に組み込まれていない時点）で、機能ブロックＡからの出力信号をセレクタで選択する様に制御レジスタに設定を行なう。更に、機能ブロックＢが半導体集積回路に組み込まれた時点で、メモリに書き込まれたデータ（機能ブロックＡの出力信号）をデバッグコントローラから出力し、第１のセレクタがデバッグコントローラからの出力信号を選択すると共に、第２のセレクタが機能ブロックＢからの出力信号を選択する様に制御レジスタに設定を行なう。
【００２７】
上記の様に設定された半導体集積回路では、機能ブロックＡの個別検証が完了して、機能ブロックＡが半導体集積回路に組み込まれ、機能ブロックＡからデータが出力されると、制御レジスタの設定に基づいてセレクタによって機能ブロックＡの出力信号が選択され、機能ブロックＡの出力信号がメモリに書き込まれることとなる。
【００２８】
次に、機能ブロックＢの個別検証が完了して、機能ブロックＢが半導体集積回路に組み込まれると、制御レジスタの設定に基づいてメモリに書き込まれたデータ（機能ブロックＡの出力信号）がデバッグコントローラから出力されて第１のセレクタに入力される。第１のセレクタでは制御レジスタの設定に基づいてデバッグコントローラからの出力信号（機能ブロックＡの出力信号）を選択し、第１のセレクタの出力信号としてデバッグコントローラからの出力信号（機能ブロックＡの出力信号）が機能ブロックＢに入力される。第２のセレクタでは制御レジスタの設定に基づいて機能ブロックＢからの出力信号を選択して、第２のセレクタの出力信号として機能ブロックＢの出力信号が機能ブロックＣに入力される。
【００２９】
なお、本実施例では機能ブロックＣが半導体集積回路に組み込まれるタイミングについては述べていないものの、機能ブロックＣは設計資産であるために、機能ブロックＣの個別検証は機能ブロックＢの個別検証よりも早期に完了するために、遅くとも機能ブロックＢが半導体集積回路に組み込まれる時点までには組み込まれていると考えられる。
【００３０】
その後、機能ブロックＣからの出力信号を検証することによって、半導体集積回路の機能検証（機能ブロックＡの全体検証、機能ブロックＢの全体検証及び機能ブロックＣの全体検証）を行なうことができる。
【００３１】
上記した本発明を適用した半導体集積回路の検証方法では、メモリに書き込まれた機能ブロックＡの出力信号を読み出して機能ブロックＢ及び機能ブロックＣの全体検証を行なっているために、半導体集積回路の機能検証に要する時間の短縮化が実現する。
即ち、従来の半導体集積回路の全体検証では、機能ブロックＡにデータを入力し、機能ブロックＡで処理を行なった後に機能ブロックＡから出力されるデータを機能ブロックＢに入力しているのに対して、本発明を適用した半導体集積回路の全体検証では、メモリに書き込まれた機能ブロックＡの出力信号を読み出して機能ブロックＢに入力しているために、機能ブロックＢの個別検証の完了を待たずに半導体集積回路の全体検証に着手でき、半導体集積回路の機能検証に要する時間の短縮化が実現するのである。
【００３２】
[２−機能ブロックＡ及び機能ブロックＢが設計資産であり、機能ブロックＣが新規回路である場合]
機能ブロックＡ及び機能ブロックＢが設計資産であり、機能ブロックＣが新規回路である半導体集積回路では、機能ブロックＡ及び機能ブロックＢの個別検証は機能ブロックＣの個別検証と比べると早期に完了するために、機能ブロックＡ及び機能ブロックＢは機能ブロックＣよりも先に半導体集積回路に組み込まれることになる。そこで、機能ブロックＡ及び機能ブロックＢが半導体集積回路に組み込まれ（機能ブロックＣは未だ半導体集積回路に組み込まれていない）、機能ブロックＡにデータが入力されると、第１のセレクタが機能ブロックＡからの出力信号を選択すると共に、機能ブロックＢからの出力信号をセレクタで選択する様に制御レジスタに設定を行なう。更に、機能ブロックＣが半導体集積回路に組み込まれた時点で、メモリに書き込まれたデータ（機能ブロックＢの出力信号）をデバッグコントローラから出力し、第２のセレクタがデバッグコントローラからの出力信号を選択する様に制御レジスタに設定を行なう。
【００３３】
上記の様に設定された半導体集積回路では、機能ブロックＡ及び機能ブロックＢの個別検証が完了して、機能ブロックＡ及び機能ブロックＢが半導体集積回路に組み込まれ、機能ブロックＡからデータが出力されて第１のセレクタに入力されると、制御レジスタの設定に基づいて機能ブロックＡからの出力信号が選択され、第１のセレクタの出力信号として機能ブロックＡの出力信号が機能ブロックＢに入力される。機能ブロックＢからデータが出力されると、制御レジスタの設定に基づいてセレクタによって機能ブロックＢの出力信号が選択され、機能ブロックＢの出力信号がメモリに書き込まれることとなる。
【００３４】
次に、機能ブロックＣの個別検証が完了して、機能ブロックＣが半導体集積回路に組み込まれると、制御レジスタの設定に基づいてメモリに書き込まれたデータ（機能ブロックＢの出力信号）がデバッグコントローラから出力されて第２のセレクタに入力される。第２のセレクタでは制御レジスタの設定に基づいてデバッグコントローラからの出力信号（機能ブロックＢの出力信号）を選択し、第２のセレクタの出力信号としてデバッグコントローラからの出力信号（機能ブロックＢの出力信号）が機能ブロックＣに入力される。
【００３５】
その後、機能ブロックＣからの出力信号を検証することによって、半導体集積回路の機能検証（機能ブロックＡの全体検証、機能ブロックＢの全体検証及び機能ブロックＣの全体検証）を行なうことができる。
【００３６】
上記した本発明を適用した半導体集積回路の検証方法では、メモリに書き込まれた機能ブロックＢの出力信号を読み出して機能ブロックＣの全体検証を行なっているために、半導体集積回路の機能検証に要する時間の短縮化が実現する。
即ち、従来の半導体集積回路の全体検証では、機能ブロックＡにデータを入力し、機能ブロックＡで処理を行なった後に機能ブロックＡから出力されるデータを機能ブロックＢに入力し、機能ブロックＢで処理を行なった後に機能ブロックＢから出力されるデータを機能ブロックＣに入力しているのに対して、本発明を適用した半導体集積回路の全体検証では、メモリに書き込まれた機能ブロックＢの出力信号を読み出して機能ブロックＣに入力しているために、機能ブロックＣの個別検証の完了を待たずに半導体集積回路の全体検証に着手でき、半導体集積回路の機能検証に要する時間の短縮化が実現するのである。
【００３７】
図２は本発明を適用した半導体集積回路の他の一例を説明するための模式図であり、ここで示す半導体集積回路では、上記した本発明を適用した半導体集積回路の一例の構成に加えて、外部インターフェース１６がバスに接続されており、外部インターフェースを介してパソコン等からメモリに書き込みを行なったり、メモリに書き込まれたデータを読み出したりすることができる様に構成されている。
【００３８】
以下、上記の様に構成された半導体集積回路の検証方法について説明を行なう。即ち、本発明を適用した半導体集積回路の検証方法の他の一例について説明する。なお、以下では（１）機能ブロックＢ及び機能ブロックＣが設計資産であり、機能ブロックＡが新規回路である場合、（２）機能ブロックＡ及び機能ブロックＣが設計資産であり、機能ブロックＢが新規回路である場合、（３）機能ブロックＡ及び機能ブロックＢが設計資産であり、機能ブロックＣが新規回路である場合について説明を行なう。
【００３９】
［１−機能ブロックＢ及び機能ブロックＣが設計資産であり、機能ブロックＡが新規回路である場合］
機能ブロックＢ及び機能ブロックＣが設計資産であり、機能ブロックＡが新規回路である半導体集積回路では、機能ブロックＢ及び機能ブロックＣの個別検証は機能ブロックＡの個別検証と比べると早期に完了するために、機能ブロックＢ及び機能ブロックＣは機能ブロックＡよりも先に半導体集積回路に組み込まれることになる。そこで、外部インターフェースを介してメモリに機能ブロックＡの出力信号に相当する信号の書き込みを予め行ない、機能ブロックＢ及び機能ブロックＣが半導体集積回路に組み込まれた時点（機能ブロックＡが未だ半導体集積回路に組み込まれていない時点）で、メモリに書き込まれたデータ（機能ブロックＡの出力信号に相当する信号）をデバッグコントローラから出力し、第１のセレクタがデバッグコントローラからの出力信号を選択すると共に、第２のセレクタが機能ブロックＢからの出力信号を選択する様に制御レジスタに設定を行なう。更に、機能ブロックＡが半導体集積回路に組み込まれた時点で、機能ブロックＡからの出力信号をセレクタで選択する様に制御レジスタに設定を行なう。
【００４０】
上記の様に設定された半導体集積回路では、機能ブロックＢ及び機能ブロックＣの個別検証が完了して、機能ブロックＢ及び機能ブロックＣが半導体集積回路に組み込まれると、制御レジスタの設定に基づいてメモリに書き込まれたデータ（機能ブロックＡの出力信号に相当する信号）がデバッグコントローラから出力されて第１のセレクタに入力される。第１のセレクタでは制御レジスタの設定に基づいてデバッグコントローラからの出力信号（機能ブロックＡの出力信号に相当する信号）を選択し、第１のセレクタの出力信号としてデバッグコントローラからの出力信号（機能ブロックＡの出力信号に相当する信号）が機能ブロックＢに入力される。第２のセレクタでは制御レジスタの設定に基づいて機能ブロックＢからの出力信号を選択して、第２のセレクタの出力信号として機能ブロックＢの出力信号が機能ブロックＣに入力される。
その後、機能ブロックＣからの出力信号を検証することによって、機能ブロックＢ及び機能ブロックＣの全体検証を行なうことができる。
【００４１】
次に、機能ブロックＡの個別検証が完了して、機能ブロックＡが半導体集積回路に組み込まれ、機能ブロックＡからデータが出力されると、制御レジスタの設定に基づいてセレクタによって機能ブロックＡの出力信号が選択され、機能ブロックＡの出力信号がメモリに書き込まれることとなる。
その後、外部インターフェースを介してメモリに書き込まれたデータ（機能ブロックＡの出力信号）を読み出すことで機能ブロックＡの全体検証を行なうことができる。
【００４２】
上記した本発明を適用した半導体集積回路の検証方法では、メモリに書き込まれた機能ブロックＡの出力信号に相当する信号を読み出して機能ブロックＢ及び機能ブロックＣの全体検証を行なっているために、半導体集積回路の機能検証に要する時間の短縮化が実現する。即ち、従来の半導体集積回路の全体検証では、機能ブロックＡにデータを入力し、機能ブロックＡで処理を行なった後に機能ブロックＡから出力されるデータを機能ブロックＢに入力しているのに対して、本発明を適用した半導体集積回路の機能ブロックＢ及び機能ブロックＣの全体検証については、メモリに書き込まれた機能ブロックＡの出力信号に相当する信号を読み出して機能ブロックＢに入力しているために、機能ブロックＡの個別検証を待たずに機能ブロックＢ及び機能ブロックＣの全体検証を行なうことができ、半導体集積回路の機能検証に要する時間の短縮化が実現するのである。
また、完成した機能ブロックから逐次半導体集積回路に組み込んで全体検証を行なうことによって、最終的な回路の完成を待たずに全体検証の精度を向上させることができ、結果として半導体集積回路の機能検証に要する時間の短縮化が実現する。
【００４３】
[２−機能ブロックＡ及び機能ブロックＣが設計資産であり、機能ブロックＢが新規回路である場合]
（Ａ）機能ブロックＡの個別検証が機能ブロックＣの個別検証よりも時間を要する場合
機能ブロックＡ及び機能ブロックＣが設計資産であり、機能ブロックＢが新規回路である半導体集積回路で、機能ブロックＡの個別検証が機能ブロックＣの個別検証よりも時間を要する場合には、機能ブロックＣ、機能ブロックＡ、機能ブロックＢの順に個別検証が完了するために、かかる順序で半導体集積回路に組み込まれることになる。そこで、外部インターフェースを介してメモリに機能ブロックＢの出力信号に相当する信号の書き込みを予め行ない、機能ブロックＣが半導体集積回路に組み込まれた時点（機能ブロックＡ及び機能ブロックＢが未だ半導体集積回路に組み込まれていない時点）で、メモリに書き込まれたデータ（機能ブロックＢの出力信号に相当する信号）をデバッグコントローラから出力し、第２のセレクタがデバッグコントローラからの出力信号を選択する様に制御レジスタに設定を行なう。
また、機能ブロックＡが半導体集積回路に組み込まれた時点（機能ブロックＢが未だ半導体集積回路に組み込まれていない時点）で、機能ブロックＡからの出力信号をセレクタで選択する様に制御レジスタに設定を行なう。
更に、機能ブロックＢが半導体集積回路に組み込まれた時点で、メモリに書き込まれたデータ（機能ブロックＡの出力信号）をデバッグコントローラから出力し、第１のセレクタがデバッグコントローラからの出力信号を選択すると共に、機能ブロックＢからの出力信号をセレクタで選択する様に制御レジスタに設定を行なう。
【００４４】
上記の様に設定された半導体集積回路では、機能ブロックＣの個別検証が完了して、機能ブロックＣが半導体集積回路に組み込まれると、制御レジスタの設定に基づいてメモリに書き込まれたデータ（機能ブロックＢの出力信号に相当する信号）がデバッグコントローラから出力されて第２のセレクタに入力される。第２のセレクタでは制御レジスタの設定に基づいてデバッグコントローラからの出力信号（機能ブロックＢの出力信号に相当する信号）を選択し、第２のセレクタの出力信号としてデバッグコントローラからの出力信号（機能ブロックＢの出力信号に相当する信号）が機能ブロックＣに入力される。
その後、機能ブロックＣからの出力信号を検証することによって、機能ブロックＣの全体検証を行なうことができる。
【００４５】
次に、機能ブロックＡの個別検証が完了して、機能ブロックＡが半導体集積回路に組み込まれ、機能ブロックＡからデータが出力されると、制御レジスタの設定に基づいてセレクタによって機能ブロックＡの出力信号が選択され、機能ブロックＡの出力信号がメモリに書き込まれることとなる。
その後、外部インターフェースを介してメモリに書き込まれたデータ（機能ブロックＡの出力信号）を読み出すことで機能ブロックＡの全体検証を行なうことができる。
【００４６】
更に、機能ブロックＢの個別検証が完了して、機能ブロックＢが半導体集積回路に組み込まれると、制御レジスタの設定に基づいてメモリに書き込まれたデータ（機能ブロックＡの出力信号）がデバッグコントローラから出力されて第１のセレクタに入力される。第１のセレクタでは制御レジスタの設定に基づいてデバッグコントローラからの出力信号（機能ブロックＡの出力信号）を選択し、第１のセレクタの出力信号としてデバッグコントローラからの出力信号（機能ブロックＡの出力信号）が機能ブロックＢに入力される。そして、機能ブロックＢがデータを出力すると、制御レジスタの設定に基づいてセレクタによって機能ブロックＢの出力信号が選択され、機能ブロックＢの出力信号がメモリに書き込まれることとなる。
その後、外部インターフェースを介してメモリに書き込まれたデータ（機能ブロックＢの出力信号）を読み出すことで機能ブロックＢの全体検証を行なうことができる。
【００４７】
（Ｂ）機能ブロックＣの個別検証が機能ブロックＡの個別検証よりも時間を要する場合
機能ブロックＡ及び機能ブロックＣが設計資産であり、機能ブロックＢが新規回路である半導体集積回路で、機能ブロックＣの個別検証が機能ブロックＡの個別検証よりも時間を要する場合には、機能ブロックＡ、機能ブロックＣ、機能ブロックＢの順に個別検証が完了するために、かかる順序で半導体集積回路に組み込まれることになる。そこで、機能ブロックＡが半導体集積回路に組み込まれ（機能ブロックＢ及び機能ブロックＣが未だ半導体集積回路に組み込まれていない）、機能ブロックＡにデータが入力されると、機能ブロックＡからの出力信号をセレクタで選択する様に制御レジスタに設定を行なう。
【００４８】
また、外部インターフェースを介してメモリに機能ブロックＢの出力信号に相当する信号の書き込みを予め行ない、機能ブロックＣが半導体集積回路に組み込まれた時点（機能ブロックＢが未だ半導体集積回路に組み込まれていない時点）で、メモリに書き込まれたデータ（機能ブロックＢの出力信号に相当する信号）をデバッグコントローラから出力し、第２のセレクタがデバッグコントローラからの出力信号を選択する様に制御レジスタに設定を行なう。
更に、外部インターフェースを介してメモリに機能ブロックＡの出力信号に相当する信号の書き込みを予め行ない、機能ブロックＢが半導体集積回路に組み込まれた時点で、メモリに書き込まれたデータ（機能ブロックＡの出力信号に相当する信号）をデバッグコントローラから出力し、第１のセレクタがデバッグコントローラからの出力信号を選択すると共に、機能ブロックＢからの出力信号をセレクタで選択する様に制御レジスタに設定を行なう。
【００４９】
上記の様に設定された半導体集積回路では、機能ブロックＡの個別検証が完了して、機能ブロックＡが半導体集積回路に組み込まれ、機能ブロックＡからデータが出力されると、制御レジスタの設定に基づいてセレクタによって機能ブロックＡの出力信号が選択され、機能ブロックＡの出力信号がメモリに書き込まれることとなる。
その後、外部インターフェースを介してメモリに書き込まれたデータ（機能ブロックＡの出力信号）を読み出すことで機能ブロックＡの全体検証を行なうことができる。
【００５０】
次に、機能ブロックＣの個別検証が完了して、機能ブロックＣが半導体集積回路に組み込まれると、制御レジスタの設定に基づいてメモリに書き込まれたデータ（機能ブロックＢの出力信号に相当する信号）がデバッグコントローラから出力されて第２のセレクタに入力される。第２のセレクタでは制御レジスタの設定に基づいてデバッグコントローラからの出力信号（機能ブロックＢの出力信号に相当する信号）を選択し、第２のセレクタの出力信号としてデバッグコントローラからの出力信号（機能ブロックＢの出力信号に相当する信号）が機能ブロックＣに入力される。
その後、機能ブロックＣからの出力信号を検証することによって、機能ブロックＣの全体検証を行なうことができる。
【００５１】
更に、機能ブロックＢの個別検証が完了して、機能ブロックＢが半導体集積回路に組み込まれると、制御レジスタの設定に基づいてメモリに書き込まれたデータ（機能ブロックＡの出力信号に相当する信号）がデバッグコントローラから出力されて第１のセレクタに入力される。第１のセレクタでは制御レジスタの設定に基づいてデバッグコントローラからの出力信号（機能ブロックＡの出力信号に相当する信号）を選択し、第１のセレクタの出力信号としてデバッグコントローラからの出力信号（機能ブロックＡの出力信号に相当する信号）が機能ブロックＢに入力される。そして、機能ブロックＢからデータが出力されると、制御レジスタの設定に基づいてセレクタによって機能ブロックＢの出力信号が選択され、機能ブロックＢの出力信号がメモリに書き込まれることとなる。
その後、外部インターフェースを介してメモリに書き込まれたデータ（機能ブロックＢの出力信号）を読み出すことで機能ブロックＢの全体検証を行なうことができる。
【００５２】
上記した本発明を適用した半導体集積回路の検証方法では、メモリに書き込まれた機能ブロックＢの出力信号に相当する信号を読み出して機能ブロックＣの全体検証を行なっているために、半導体集積回路の機能検証に要する時間の短縮化が実現する。即ち、従来の半導体集積回路の全体検証では、機能ブロックＡにデータを入力し、機能ブロックＡで処理を行なった後に機能ブロックＡから出力されるデータを機能ブロックＢに入力し、機能ブロックＢで処理を行なった後に機能ブロックＢから出力されるデータを機能ブロックＣに入力しているのに対して、本発明を適用した半導体集積回路の機能ブロックＣの全体検証については、メモリに書き込まれた機能ブロックＢの出力信号に相当する信号を読み出して機能ブロックＣに入力しているために、機能ブロックＢの個別検証を待たずに機能ブロックＣの全体検証を行なうことができ、半導体集積回路の機能検証に要する時間の短縮化が実現するのである。
また、本発明を適用した半導体集積回路の機能ブロックＡの全体検証についても、機能ブロックＢの個別検証を待たずに行なうことができ、この点でも半導体集積回路の機能検証に要する時間の短縮化が実現する。
更に、完成した機能ブロックから逐次半導体集積回路に組み込んで全体検証を行なうことによって、最終的な回路の完成を待たずに全体検証の精度を向上させることができ、結果として半導体集積回路の機能検証に要する時間の短縮化が実現する。
【００５３】
[３−機能ブロックＡ及び機能ブロックＢが設計資産であり、機能ブロックＣが新規回路である場合]
機能ブロックＡ及び機能ブロックＢが設計資産であり、機能ブロックＣが新規回路である半導体集積回路では、機能ブロックＡ及び機能ブロックＢの個別検証は機能ブロックＣの個別検証と比べると早期に完了するために、機能ブロックＡ及び機能ブロックＢは機能ブロックＣよりも先に半導体集積回路に組み込まれることになる。そこで、機能ブロックＡ及び機能ブロックＢが半導体集積回路に組み込まれ（機能ブロックＣは未だ半導体集積回路に組み込まれていない）、機能ブロックＡにデータが入力されると、第１のセレクタが機能ブロックＡからの出力信号を選択すると共に、機能ブロックＢからの出力信号をセレクタで選択する様に制御レジスタに設定を行う。また、機能ブロックＣが半導体集積回路に組み込まれた時点で、メモリに書き込まれたデータ（機能ブロックＢの出力信号）をデバッグコントローラから出力し、第２のセレクタがデバッグコントローラからの出力信号を選択する様に制御レジスタに設定を行う。
【００５４】
上記の様に設定された半導体集積回路では、機能ブロックＡ及び機能ブロックＢの個別検証が完了して、機能ブロックＡ及び機能ブロックＢが半導体集積回路に組み込まれ、機能ブロックＡからデータが出力されると、制御レジスタの設定に基づいて第１のセレクタでは機能ブロックＡの出力信号を選択し、第１のセレクタの出力信号として機能ブロックＡの出力信号が機能ブロックＢに入力される。また、機能ブロックＢからデータが出力されると、制御レジスタの設定に基づいてセレクタによって機能ブロックＢの出力信号が選択され、機能ブロックＢの出力信号がメモリに書き込まれることとなる。
その後、外部インターフェースを介してメモリに書き込まれたデータ（機能ブロックＢの出力信号）を読み出すことで機能ブロックＡ及び機能ブロックＢの全体検証を行なうことができる。
【００５５】
次に、機能ブロックＣの個別検証が完了して、機能ブロックＣが半導体集積回路に組み込まれると、制御レジスタの設定に基づいてメモリに書き込まれたデータ（機能ブロックＢの出力信号）がデバッグコントローラから出力されて第２のセレクタに入力される。第２のセレクタでは制御レジスタの設定に基づいてデバッグコントローラからの出力信号（機能ブロックＢの出力信号）を選択し、第２のセレクタの出力信号としてデバッグコントローラからの出力信号（機能ブロックＢの出力信号）が機能ブロックＣに入力される。
その後、機能ブロックＣからの出力信号を検証することによって、機能ブロックＣの全体検証を行なうことができる。
【００５６】
上記した本発明を適用した半導体集積回路の検証方法では、メモリに書き込まれた機能ブロックＢの出力信号を読み出して機能ブロックＡ及び機能ブロックＢの全体検証を行なっているために、半導体集積回路の機能検証に要する時間の短縮化が実現する。即ち、従来の半導体集積回路の全体検証では、機能ブロックＡにデータを入力し、機能ブロックＡで処理を行なった後に機能ブロックＡから出力されるデータを機能ブロックＢに入力し、機能ブロックＢで処理を行なった後に機能ブロックＢから出力されるデータを機能ブロックＣに入力しているのに対して、本発明を適用した半導体集積回路の機能ブロックＡ及び機能ブロックＢの全体検証については、メモリに書き込まれた機能ブロックＢの出力信号を読み出すことで、機能ブロックＣの個別検証を待たずに機能ブロックＡ及び機能ブロックＢの全体検証を行なうことができ、半導体集積回路の機能検証に要する時間の短縮化が実現するのである。
また、完成した機能ブロックから逐次半導体集積回路に組み込んで全体検証を行なうことによって、最終的な回路の完成を待たずに全体検証の精度を向上させることができ、結果として半導体集積回路の機能検証に要する時間の短縮化が実現する。
【図面の簡単な説明】
【００５７】
【図１】本発明を適用した半導体集積回路の一例を説明するための模式図である。
【図２】本発明を適用した半導体集積回路の他の一例を説明するための模式図である。
【図３】従来の半導体集積回路を説明するための模式図である。
【符号の説明】
【００５８】
１    機能ブロックＡ
２    機能ブロックＢ
３    機能ブロックＣ
４    バス
５    メモリコントローラ
６    メモリ
７    第１のバス制御部
８    デバッグコントローラ
９    制御レジスタ
１０    セレクタ
１１    ライトコントローラ
１２    第２のバス制御部
１３    リードコントローラ
１４    第１のセレクタ
１５    第２のセレクタ
１６    外部インターフェース
【図１】
2008009487.tif 000003
【図２】
2008009487.tif 000004
【図３】
2008009487.tif 000005