(57)【要約】【課題】バスに最大負荷がかかり、データ転送に最大の遅延が生じた状態でのテストを可能にする半導体集積回路及び半導体集積回路の最大遅延試験定方法を提供すること。【解決手段】半導体集積回路１は、ＦＩＦＯ５１ａ、５１ｂと、ＦＩＦＯ５１ａ、５１ｂからの又はＦＩＦＯ５１ａ、５１ｂへのデータ転送要求を行う２以上のマスタＩＦ回路１１ａ、１１ｂと、データ転送要求によりＦＩＦＯ５１ａ、５１ｂからデータを受け取る又はＦＩＦＯ５１ａ、５１ｂにデータを出力するスレーブＩＦ回路３１と、スレーブＩＦ回路３１とＦＩＦＯ５１ａ、５１ｂとの間に配置され前記データ転送要求を調停するシステム・バス制御回路２１と、ＦＩＦＯ５１ａ、５１ｂからのデータ転送又はＦＩＦＯ５１ａ、５１ｂへのデータ転送の終了を示すデータ転送終了信号を遅延させる遅延回路４１ａ、４１ｂとを有する。【選択図】図１
2009187446.tif 000002
【特許請求の範囲】
【請求項１】
メモリと、
前記メモリからの又は前記メモリへのデータ転送要求を行う２以上のマスタインターフェースと、
前記データ転送要求により前記メモリからデータを受け取る又は前記メモリにデータを出力するスレーブインターフェースと、
前記スレーブインターフェースと前記メモリとの間に配置され前記データ転送要求を調停するシステム・バス制御回路と、
前記メモリからのデータ転送又は前記メモリへのデータ転送の終了を示すデータ転送終了信号を遅延させる遅延回路とを有する半導体集積回路。
【請求項２】
前記遅延回路にて遅延させたデータ転送終了信号と遅延させる前のデータ転送終了信号のいずれかを選択して出力するセレクタを更に有する
ことを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記遅延回路の遅延量を設定する遅延量設定回路を更に有する
ことを特徴とする請求項２記載の半導体集積回路。
【請求項４】
前記マスタインターフェースの前記データ転送要求に応じて前記マスタインターフェースから出力されるデータ転送開始信号から前記データ転送終了信号が入力されるまでのタイミングを測定する最大遅延量測定回路を更に有し、
前記最大遅延量測定回路は、現時点までの最大遅延量を記憶する
ことを特徴とする請求項３記載の半導体集積回路。
【請求項５】
前記遅延量設定回路は、前記最大遅延量測定回路の測定結果に基づき最大遅延量を前記遅延回路に自動的に設定し、
前記遅延回路は、当該最大遅延量で前記データ転送終了信号を遅らせる
ことを特徴とする請求項４記載の半導体集積回路。
【請求項６】
前記メモリはＦＩＦＯである
ことを特徴とする請求項１乃至５のいずれか１項記載の半導体集積回路。
【請求項７】
前記メモリからのデータを受け取るデコーダ及び／又は前記メモリへデータを出力するエンコーダを更に有し、
画像及び／又は音声データをリアルタイムに記録再生する
ことを特徴とする請求項１乃至６のいずれか１項記載の半導体集積回路。
【請求項８】
データ転送要求を出す２以上のマスタインターフェースと、データ転送要求を受け取るスレーブインターフェースとを有する半導体集積回路の最大遅延テスト方法であって、
前記マスタの前記データ転送要求に応じ、システム・バス制御回路を介して前記スレーブにデータを入力又はシステム・バス制御回路を介して前記スレーブからデータを受信するメモリに対し、遅延回路によりデータ転送の終了を示すデータ転送終了信号を遅延させて入力する、半導体集積回路の最大遅延試験定方法。
【請求項９】
テストモードでは、遅延させたデータ転送終了信号を選択して前記メモリに入力し、
通常モードでは、遅延させる前のデータ転送終了信号を選択して前記メモリに入力する
ことを特徴とする請求項８記載の半導体集積回路の最大遅延試験定方法。
【請求項１０】
外部から設定さえる遅延量を前記遅延回路に設定する
ことを特徴とする請求項８又は９記載の半導体集積回路の最大遅延試験定方法。
【請求項１１】
前記マスタインターフェースの前記データ転送要求に応じ、データ転送開始信号から前記データ転送終了信号が入力されるまでのタイミングを測定し、当該測定値のうち最大値を前記遅延回路に設定する
ことを特徴とする請求項８乃至１０のいずれか１項記載の半導体集積回路の最大遅延試験定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送要求を行う２以上のマスタインターフェースと、データ転送要求を受け取るスレーブインターフェースとを有する半導体集積回路及びその最大遅延試験定方法に関する。
【背景技術】
【０００２】
図５は、従来の半導体集積回路を示す図である。２以上のマスタインターフェース（ＩＦ）回路１１１ａ、１１１ｂと、スレーブＩＦ回路１３１とがバスシステム制御回路１２１を介して接続されている。マスタＩＦ回路１１１ａ、１１１ｂは、スレーブＩＦ回路１３１に対し、ＦＩＦＯａ、ＦＩＧＯｂへのデータ転送要求又は、ＦＩＦＯａ、ＦＩＧＯｂからスレーブＩＦ回路１２１へのデータ転送要求を行う。スレーブＩＦ回路１３１は、マスタＩＦ回路１１１ａ、１１１ｂからのデータ転送要求を受け取る側の回路である。
【０００３】
バスシステム制御回路１２１は、バスの使用を調停するアービタ回路１２２と、スレーブＩＦ回路１３１と、ＦＩＦＯ１５１ａ、１５１ｂとの間のデータのやりとりを制御するデータ選択回路１２３とを有する。ＦＩＦＯ１５１ａ，１５１ｂはそれぞれＦＩＦＯ制御回路１５２ａ、１５２ｂによりデータの入出力を制御される。マスタＩＦ回路１１１ａ、１１１ｂ、スレーブＩＦ回路１３１と、アービタ回路１２２との間で制御信号Ｓａ、Ｓｂ、Ｓｃがやり取りされる。
【０００４】
最初に制御信号Ｓａ、制御信号Ｓｂ、制御信号Ｓｃの詳細に関して説明する。特に記載のない限り、論理はＨｉｇｈアクティブである。制御信号Ｓａには、ＲＥＱａ、ＡＣＫａ、ＲＤ／ＷＲａ、アドレスａ、データ長ａ、ＲＤａ、ＷＲａが含まれる。制御信号Ｓｂには、ＲＥＱｂ、ＡＣＫｂ、ＲＤ／ＷＲｂ、アドレスｂ、データ長ｂ、ＲＤｂ、ＷＲｂが含まれる。制御信号Ｓｃには、転送開始ｃ、ＲＤ／ＷＲｃ、アドレスｃ、データ長ｃ、ＥＤ３、ＷＲ３、データ入力ｃ、データ出力ｃが含まれる。
【０００５】
ＲＥＱａ,ＲＥＱｂ：それぞれマスタＩＦ回路１１１ａ、マスタＩＦ回路１１１ｂからシステム・バス制御回路へのデータ転送要求信号
ＡＣＫａ,ＡＣＫｂ：システム・バス制御回路からそれぞれマスタＩＦ回路１１１ａ、マスタＩＦ回路１１１ｂへのデータ転送要求受付信号
アドレスａ、アドレスｂ：それぞれマスタＩＦ回路１１１ａ、マスタＩＦ回路１１１ｂからスレーブＩＦ回路の転送データのアドレス
データ長ａ、データ長ｂ：それぞれマスタＩＦ回路１１１ａ、マスタＩＦ回路１１１ｂからスレーブＩＦ回路の転送データ長
ＲＤ／ＷＲａ,ＲＤ／ＷＲｂ: それぞれマスタＩＦ回路１１１ａ、マスタＩＦ回路１１１ｂからスレーブＩＦ回路へのリード（Ｈｉｇｈ）、ライト（Ｌｏｗ）の識別信号
ＲＤａ,ＲＤｂ: システム・バス制御回路１２１からそれぞれマスタＩＦ回路１１１ａ、マスタＩＦ回路１１１ｂへのリード信号
ＷＲａ,ＷＲｂ: システム・バス制御回路１２１からそれぞれマスタＩＦ回路１１１ａ、マスタＩＦ回路１１１ｂへのライト信号
アドレスｃ：システム・バス制御回路１２１からスレーブＩＦ回路１３１の転送データのアドレス
データ長３：システム・バス制御回路１２１からスレーブＩＦ回路１３１の転送データ長
ＲＤ／ＷＲｃ: システム・バス制御回路１２１からスレーブＩＦ回路１３１へのリード（Ｈｉｇｈ）、ライト（Ｌｏｗ）の識別信号
ＲＤｃ: スレーブＩＦ回路１３１からシステム・バス制御回路１２１へのリード信号
ＷＲｃ: スレーブＩＦ回路１３１からシステム・バス制御回路１２１へのライト信号
転送開始ｃ: システム・バス制御回路１２１からスレーブＩＦ回路１３１へのデータ転送開始要求信号
【０００６】
次にＦＩＦＯ１５１ａとその制御回路であるＦＩＦＯ制御回路１５１ａの動作について説明する。ＦＩＦＯ１５１ａにはデータ入力ＩＮａとしてデータが入力される。このデータは画像や音声などのリアルタイム性が重要なデータであり、ＦＩＦＯ１５１ａ及びＦＩＦＯ制御回路１５２ａはデータ受け取りを拒否することはできない。ＦＩＦＯ１５１ａがデータを受け取り後、ＦＩＦＯ制御回路１５２ａはＳＴＡＲＴａ信号をマスタＩＦ回路１１１ａに出力することでスレーブＩＦ回路１３１へのデータ転送要求を行う。ＦＩＦＯ制御回路１５２ａはＥＮＤａ信号が入力されることで先に要求したデータ転送が終了し、次のデータが転送可能となったと認識する。なお、初期状態では、ＦＩＦＯ制御回路１５２ａはＥＮＤａ信号に関係なくＳＴＡＲＴａ信号を出力することが可能である。ＳＴＡＲＴａ信号を出力後もデータ入力ＩＮａからＦＩＦＯ１５１ａにデータ入力が続いているのでＥＮＤａ信号が入力されなければＦＩＦＯ１５１ａは有限なバッファ量を超えてしまいデータが破壊される。このような場合、例えばＦＩＦＯ制御回路１５２ａからＯｖｅｒｆｌｏｗ検出信号を出力して外部に通知する。
【０００７】
次に、タイミングチャートに従って、マスタＩＦ回路１１１ａからスレーブＩＦ回路１３１へのデータ転送について説明する。図６は、従来の半導体集積回路における各信号のタイミングチャートを示す図である。マスタＩＦ回路１１１ａを使用する回路からのデータ転送要求ＳＴＡＲＴａ信号を受け取ることにより、マスタＩＦ回路１１１ａからシステム・バス制御回路にＲＥＱａを出力する。このとき、スレーブＩＦ回路１３１へデータ出力処理であることを示すため、ＲＤ／ＷＲａ信号を"Ｌｏｗ"とし、アドレスａ信号、データ長ａ信号に必要な値を出力する。
【０００８】
システム・バス制御回路１２１内のアービタ回路１２２は、システム・バスを他マスタＩＦが使用していないならばデータ転送可能信号ＡＣＫａをマスタＩＦ回路１１１ａに出力する。同時に、システム・バス制御回路１２１は、スレーブＩＦ回路１３１にアドレスｃ信号、データ長ｃ信号、ＲＤ／ＷＲｃ信号と、データ転送の開始要求信号である転送開始ｃ信号を出力する。
【０００９】
スレーブＩＦ回路はＲＤ／ＷＲｃ信号に従ってＷＲｃかＲＤｃ信号をシステム・バス制御回路に出力する。このタイミングチャートではマスタＩＦ回路１１１ａからスレーブＩＦ回路へのデータ転送なのでＷＲｃ信号がＨｉｇｈになる。スレーブＩＦ回路はＷＲｃ信号がＨｉｇｈ機間に転送データをデータ出力ｃ信号から受け取る。システム・バス制御回路は、ＷＲｃ信号をその時点で有効なマスタＩＦ回路に伝える。この場合はマスタＩＦ回路１１１ａへのＷＲａ信号をＨｉｇｈにする。マスタＩＦ回路１１１ａはＷＲａ信号がＨｉｇｈ期間に転送データをクロック毎にデータ出力ａ信号に出力する。マスタＩＦ回路１１１ａとスレーブＩＦ回路１３１は、それぞれデータ長ａ、データ長ａに設定されたデータ数の転送が終了したら全データ転送が終了したと判断する。データ長ａ、データ長ｃは同じ値であるので、マスタＩＦ回路１１１ａ、スレーブＩＦ回路１３１は同時に全データ転送終了判断となる。転送が終了したらマスタＩＦ回路１１１ａはＥＮＤａ信号をマスタＩＦ回路１１１ａを使用する回路に出力し、スレーブＩＦ回路１３１はＥＮＤｃ信号をスレーブＩＦ回路１３１に接続されている回路に出力する。また、システム・バス制御回路１２１内のアービタ回路１２２も同様に、データ転送に伴う制御信号Ｓａ、制御信号Ｓｃを観測することでマスタＩＦ回路１１１ａのデータ転送が終了したと判断する。
【００１０】
次にＦＩＦＯ１５１ｂとその制御回路であるＦＩＦＯ制御回路１５２ｂの動作に関して説明する。ＦＩＦＯ１５１ｂからはデータ出力ＯＵＴｂとしてデータを出力する。このデータは画像や音声などのリアルタイム性が重要なデータであり、ＦＩＦＯ１５１ｂ及びＦＩＦＯ制御回路１５２ｂはデータ出力し続けなければならない。データ出力が停止、または、データ受け取り側で許容される以上の時間に渡りデータ出力できなければ画像、音声などが乱れるなどの問題が発生する。このような場合、例えばＦＩＦＯ制御回路１５２ｂからＵｎｄｅｒｆｌｏｗ検出信号を出力して外部に通知する。ＦＩＦＯ１５１ｂがデータを受け取れる状態であるならばＦＩＦＯ制御回路１５２ｂはＳＴＡＲＴｂ信号をマスタＩＦ回路１１１ｂに出力することでスレーブＩＦ回路１３１へのデータ転送要求を行う。ＦＩＦＯ制御回路１５２ｂはＥＮＤｂ信号が入力されることで先に要求したデータ転送が終了し、次のデータが転送可能となったと認識する。尚、初期状態では、ＦＩＦＯ制御回路１５２ｂはＥＮＤｂ信号に関係なくＳＴＡＲＴｂ信号を出力することが可能である。
【００１１】
次に、スレーブＩＦ回路１３１からマスタＩＦ回路１１１ｂへのデータ転送に関して説明する。マスタＩＦ回路１１１ｂを使用する回路からのデータ転送要求ＳＴＡＲＴｂ信号により、マスタＩＦ回路１１１ｂからシステム・バス制御回路１２１にデータ転送要求信号ＲＥＱｂ信号は、マスタＩＦ回路１１１ａからのＲＥＱａ信号より１クロック送れて出力したために、マスタＩＦ回路１１１ｂのデータ転送は、マスタＩＦ回路１１１ａのデータ転送処理終了を待つことになる。システム・バス制御回路内のアービタ回路１２２は、マスタＩＦ回路１１１ａとスレーブＩＦ回路１３１のデータ転送が終了したと判断したら（システム・バスを他マスタが使用していないことを確認したら）ＡＣＫｂ信号をＨｉｇｈにする。以降は、先に説明したマスタＩＦ回路１１１ａとスレーブＩＦ回路１３１のデータ転送と同様な処理でデータ転送が実行される。この例の場合は、スレーブＩＦ回路１３１からマスタＩＦ回路１１１ｂへのデータ転送なので、ＲＤ/ＷＲｂ信号はＨｉｇｈになる。
【００１２】
以上説明したように、マスタＩＦ回路１１１ｂのＡＣＫｂ信号がＨｉｇｈになるまでの待ち時間は、マスタＩＦ回路１１１ａとスレーブＩＦ回路１３１のデータ転送処理タイミング及びデータ長に依存する。
【００１３】
しかしながら、マスタＩＦ回路からスレーブＩＦ回路へのアクセス時において、様々な要因（ソフトウェア処理内容、ＬＳＩ外部入力信号の割り込み処理、画像／音声データの圧縮伸張処理量ばらつき等）によりデータ転送完了時間が一定でない。このため、システム・バスに最大負荷が掛かった状態での動作確認が極めて困難であり、又は最大負荷になっているかどうかの判断すらできないという問題点がある。
【００１４】
ところで、複数のＤＭＡ装置をＤＭＡバスに接続することなしでＤＭＡ装置の競合試験、最大負荷試験並びにシステム性能評価を行うことを目的としたＤＭＡバス負荷可変装置が特許文献１に開示されている。この特許文献に記載の技術においては、任氏の転送周期、任意の転送領域、任意のモード（メモリモード／ライト）でＤＭＡバス要求実行が行える構成とする一方、必要により任意のサイズのブロック転送が終了するまでのｊ期間を計測するタイマを設け、ＤＭＡバス負荷可変装置、ＤＭＡバスシュミレータとしての機能を持たせている。
【特許文献１】特開昭５８−１５１６３１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
上述したように、従来の半導体集積回路においては、例えばＦＩＦＯ１５１ａは、画像や音声を符号化するエンコーダに接続され、リアルタイムにエンコードされたデータが入力される。しかし、ＦＩＦＯ１５１ａからのデータ転送が待たされるとＦＩＦＯがオーバフローしてしまう。または、ＦＩＦＯ１５１ｂは、画像や音声を復号するデコーダに接続され、リアルタイムにデータを再生するためには、随時データを出力する必要がある。しかし、バスの使用状態によっては、ＦＩＦＯ１５１ｂへのデータ転送が待たされることになり、デコーダへのデータ出力が間に合わず、アンダーフローが生じる。しかしながら、従来の半導体集積回路においては、このようにＦＩＦＯ１５１ａ、１５１ｂでオーバフローやアンダーフローが生じる条件で当該回路を検査することが困難であった。すなわち、別マスタＩＦ回路からのアクセスによりスレーブＩＦ回路がデータ転送中の場合は、この処理が終了するまで待たされる。複数のマスタＩＦ回路から同時にシステム・バスにアクセスが発生した場合は、優先順位付けなどにより別マスタＩＦ回路が優先されても同様に待たされる。しかしながら、どの程度の間、マスタＩＦ回路が待たされるか予測することが困難であり、必要なテストを行うことができないという問題点がある。
【００１６】
また、特許文献１に記載の方法においては、バスの負荷を変更して測定するものであるが、バスの負荷は変更せず、どのような状況においてどのような負荷がバスにかかるか想定してテストすることができないという問題点がある。
【課題を解決するための手段】
【００１７】
本発明に係る半導体集積回路は、メモリと、前記メモリからの又は前記メモリへのデータ転送要求を行う２以上のマスタインターフェースと、前記データ転送要求により前記メモリからデータを受け取る又は前記メモリにデータを出力するスレーブインターフェースと、前記スレーブインターフェースと前記メモリとの間に配置され前記データ転送要求を調停するシステム・バス制御回路と、前記メモリからのデータ転送又は前記メモリへのデータ転送の終了を示すデータ転送終了信号を遅延させる遅延回路とを有するものである。
【００１８】
本発明に係る半導体集積回路の最大遅延試験定方法は、データ転送要求を出す２以上のマスタインターフェースと、データ転送要求を受け取るスレーブインターフェースとを有する半導体集積回路の最大遅延テスト方法であって、前記マスタの前記データ転送要求に応じ、システム・バス制御回路を介して前記スレーブにデータを入力又はシステム・バス制御回路を介して前記スレーブからデータを受信するメモリに対し、遅延回路によりデータ転送の終了を示すデータ転送終了信号を遅延させて入力するものである。
【００１９】
本発明においては、遅延回路によりデータ転送終了信号を遅延させることができるので、各マスタインターフェースのデータ転送の開始タイミングを遅らせることができる。よって、バスに複数のマスタインターフェースからのデータ転送要求が出された状態（バスに最大負荷かかかった状態）を再現することができ、当該状態においてシステムが正常に動作するか否かのテストを行うことができる。
【発明の効果】
【００２０】
本発明によれば、バスに最大負荷がかかり、データ転送に最大の遅延が生じた状態でのテストを可能にする半導体集積回路及び半導体集積回路の最大遅延試験定方法を提供することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、データ転送要求を受け取るスレーブＩＦ回路及びデータ転送要求を行う２以上のマスタＩＦ回路とを備える半導体集積回路に適用したものである。
【００２２】
本実施の形態にかかる半導体集積回路は、システム・バスに最大負荷がかかったのと同等な状態を、システム・バス負荷を増やすことなしに容易に再現するものである。したがって、システム・バスに最大負荷がかかった状態でのシステムＬＳＩの動作確認を行うことが容易に可能となる。
【００２３】
実施の形態１
図１は、本実施の形態にかかる半導体集積回路を示す図である。半導体集積回路１は、
データ転送要求を出す２以上のマスタＩＦ回路１１ａと、データ転送要求を受け取るスレーブＩＦ回路１１ｂとを有する。また、マスタＩＦ回路１１ａ、１１ｂのデータ転送要求に応じてデータを入力又は出力するシステム・バス制御回路２１と、マスタＩＦ回路１１ａ、１１ｂのデータ転送要求に応じてシステム・バス制御回路２１にデータを入力又はシステム・バス制御回路からデータを受け取るＦＩＦＯ５１ａ、５１ｂと、ＦＩＦＯのデータ入出力を制御するＦＩＦＯ制御回路５２ａ、５２ｂとを有する。
【００２４】
そして、本実施の形態にかかる半導体集積回路１は、システム・バスの最大負荷状態を再現するために、ＦＩＦＯ５１ａ、５１ｂからのデータ転送又はＦＩＦＯ５１ａ、５１ｂへのデータ転送の終了を示すデータ転送終了信号を遅延させる遅延回路４１ａ、４１ｂを有する。さらに、マスタＩＦ回路１１ａ、１１ｂからのデータ転送終了信号ＥＮＤａ、ＥＮＤｂ又は遅延回路４１ａ、４１ｂにて遅延させた遅延ＥＮＤａ信号、遅延ＥＮＤｂ信号を選択してＥＮＤＡ、ＥＮＤＢ信号としてＦＩＦＯ制御回路５２ａ、５２ｂに入力するセレクタ４２ａ、４２ｂを有する。
【００２５】
システム・バス制御回路２１は、マスタＩＦ回路１１ａ、１１ｂからのデータ転送要求を調停するアービタ回路２３と、スレーブＩＦ回路３１とＦＩＦＯ５１ａ、５１ｂとの間のデータの入出力を制御するデータ選択回路２２とを有する。
【００２６】
先ず、制御信号Ｓａ、制御信号Ｓｂ、制御信号Ｓｃの詳細に関して説明する。特に記載のない限り、論理はＨｉｇｈアクティブである。マスタＩＦ回路１１ａとアービタ回路２３との間で制御信号Ｓａがやり取りされる。マスタＩＦ回路１１ｂとアービタ回路２３との間で制御信号Ｓｂがやり取りされる。スレーブＩＦ回路３１とアービタ回路２３との間で制御信号Ｓｃがやり取りされる。制御信号Ｓａには、ＲＥＱａ、ＡＣＫａ、ＲＤ／ＷＲａ、アドレスａ、データ長ａ、ＲＤａ、ＷＲａが含まれる。制御信号Ｓｂには、ＲＥＱｂ、ＡＣＫｂ、ＲＤ／ＷＲｂ、アドレスｂ、データ長ｂ、ＲＤｂ、ＷＲｂが含まれる。制御信号Ｓｃには、転送開始ｃ、ＲＤ／ＷＲｃ、アドレスｃ、データ長ｃ、ＥＤ３、ＷＲ３、データ入力ｃ、データ出力ｃが含まれる。
【００２７】
ＲＥＱａ,ＲＥＱ２：それぞれマスタＩＦ回路１１ａ、マスタＩＦ回路１１ｂからシステム・バス制御回路へのデータ転送要求信号
ＡＣＫａ,ＡＣＫｂ：システム・バス制御回路からそれぞれマスタＩＦ回路１１ａ、マスタＩＦ回路１１ｂへのデータ転送要求受付信号
アドレスａ、アドレスｂ：それぞれマスタＩＦ回路１１ａ、マスタＩＦ回路１１ｂからスレーブＩＦ回路の転送データのアドレス
データ長ａ、データ長ｂ：それぞれマスタＩＦ回路１１ａ、マスタＩＦ回路１１ｂからスレーブＩＦ回路の転送データ長
ＲＤ／ＷＲａ,ＲＤ／ＷＲｂ: それぞれマスタＩＦ回路１１ａ、マスタＩＦ回路１１ｂからスレーブＩＦ回路へのリード（Ｈｉｇｈ）、ライト（Ｌｏｗ）の識別信号
ＲＤａ,ＲＤｂ: システム・バス制御回路２１からそれぞれマスタＩＦ回路１１ａ、マスタＩＦ回路１１ｂへのリード信号
ＷＲａ,ＷＲｂ: システム・バス制御回路２１からそれぞれマスタＩＦ回路１１ａ、マスタＩＦ回路１１ｂへのライト信号
アドレスｃ：システム・バス制御回路２１からスレーブＩＦ回路３１の転送データのアドレス
データ長３：システム・バス制御回路２１からスレーブＩＦ回路３１の転送データ長
ＲＤ／ＷＲｃ: システム・バス制御回路２１からスレーブＩＦ回路３１へのリード（Ｈｉｇｈ）、ライト（Ｌｏｗ）の識別信号
ＲＤｃ: スレーブＩＦ回路３１からシステム・バス制御回路２１へのリード信号
ＷＲｃ: スレーブＩＦ回路３１からシステム・バス制御回路２１へのライト信号
転送開始ｃ: システム・バス制御回路２１からスレーブＩＦ回路３１へのデータ転送開始要求信号
【００２８】
ＦＩＦＯ５１ａとその制御回路であるＦＩＦＯ制御回路５２ａの動作について説明する。ＦＩＦＯ５１ａにはデータ入力ＩＮａとしてデータが入力される。このデータは画像や音声などのリアルタイム性が重要なデータであり、ＦＩＦＯ５１ａ及びＦＩＦＯ制御回路５２ａはデータ受け取りを拒否することはできない。ＦＩＦＯ５１ａがデータを受け取り後、ＦＩＦＯ制御回路５２ａはＳＴＡＲＴａ信号をマスタＩＦ回路１１ａに出力することでスレーブＩＦ回路３１へのデータ転送要求を行う。ＦＩＦＯ制御回路５２ａはＥＮＤＡ信号が入力されることで先に要求したデータ転送が終了し、次のデータが転送可能となったと認識する。なお、初期状態では、ＦＩＦＯ制御回路１５２ａはＥＮＤＡ信号に関係なくＳＴＡＲＴａ信号を出力することが可能である。ＳＴＡＲＴａ信号を出力後もデータ入力ＩＮａからＦＩＦＯ５１ａにデータ入力が続いているのでＥＮＤＡ信号が入力されなければＦＩＦＯ５１ａは有限なバッファ量を超えてしまいデータが破壊される。このような場合、例えばＦＩＦＯ制御回路５２ａからＯｖｅｒｆｌｏｗ検出信号を出力して外部に通知する。
【００２９】
ＦＩＦＯ５１ａにデータ入力するのは、例えば画像や音声データをエンコードするエンコーダである。上述したように、ＦＩＦＯ５１ａはエンコーダからの入力を停止することができないが、他のマスタＩＦ回路がバスを使用している場合、バスを使用することができない。なお、本実施の形態においては、バスを２つとして説明しているが、バスは２以上であってもよいことは勿論である。
【００３０】
マスタＩＦ回路が複数ある場合に、各マスタＩＦ回路は、アービタ回路２３により、バスの使用を制限される。そこで、ＦＩＦＯに接続されＦＩＦＯにデータを入力又はＦＩＦＯからデータを受け取る回路においてシステムが支障をきたすか否かを検査することが重要である。特に、画像や音声データの処理又は処理モードに応じてバスにかかる負荷（最大負荷）が異なる。例えばマスタＩＦ回路１１ａはマスタＩＦ１１ｂの処理を待ってデータ転送することになるが、バスに最大負荷がかかった場合にマスタＩＦ回路１１ａがどの程度データ転送を待たされるかを想定してシステムを検査する必要がある。そこで、本実施の形態においては、バスに最大負荷がかかった状態を実現するため、データ転送終了信号ＥＮＤａ、ＥＮＤｂを遅延させる遅延回路４１ａ、４１ｂを有する。この遅延回路４１ａ、４１ｂでデータ転送終了信号ＥＮＤａ、ＥＮＤを遅延させ遅延ＥＮＤａ信号、遅延ＥＮＤｂ信号をＥＮＤＡ信号、ＥＮＤＢ信号として出力することで、バスに最大負荷がかかった状態において生じる、バスが使用可能になるまでのマスタＩＦ回路の待機時間を実現する。これにより、バスに最大負荷がかかった状態でのシステムの検査を行うことができる。すなわち、ＦＩＦＯの前段に接続されるエンコーダやデコーダにおいて処理が破たんするか否を検査することができる。遅延回路４１ａ、４１ｂの遅延量は外部より、又は図示しないＣＰＵなどから設定されるものとする。
【００３１】
先ず、マスタＩＦ回路１１ａからスレーブＩＦ回路３１へのデータ転送について説明する。マスタＩＦ回路１１ａは、ＦＩＦＯ制御回路５２ａからデータ転送要求ＳＴＡＲＴａ信号を受け取ると、マスタＩＦ回路１１ａからシステム・バス制御回路にＲＥＱａを出力する。このとき、スレーブＩＦ回路３１へデータ出力処理であることを示すため、ＲＤ／ＷＲａ信号を"Ｌｏｗ"とし、アドレスａ信号、データ長ａ信号に必要な値を出力する。
【００３２】
システム・バス制御回路２１内のアービタ回路２３は、システム・バスを他マスタＩＦが使用していないならばデータ転送可能信号ＡＣＫａをマスタＩＦ回路１１ａに出力する。同時に、システム・バス制御回路２１は、スレーブＩＦ回路３１にアドレスｃ信号、データ長ｃ信号、ＲＤ／ＷＲｃ信号と、データ転送の開始要求信号である転送開始ｃ信号を出力する。
【００３３】
スレーブＩＦ回路はＲＤ／ＷＲｃ信号に従ってＷＲｃかＲＤｃ信号をシステム・バス制御回路１２１に出力する。本例においては、マスタＩＦ回路１１ａからスレーブＩＦ回路へのデータ転送とする。この場合、ＷＲｃ信号がＨｉｇｈになる。スレーブＩＦ回路はＷＲｃ信号がＨｉｇｈ機間に転送データをデータ出力ＯＵＴｃ信号にて受け取る。システム・バス制御回路２１は、ＷＲｃ信号をその時点で有効なマスタＩＦ回路１１ａに出力する。すなわち、この場合はマスタＩＦ回路１１ａへのＷＲａ信号をＨｉｇｈにする。マスタＩＦ回路１１ａはＷＲａ信号がＨｉｇｈ期間に転送データをクロック毎にデータ出力ａ信号に出力する。マスタＩＦ回路１１ａとスレーブＩＦ回路３１は、それぞれデータ長ａ、データ長ａに設定されたデータ数の転送が終了したら全データ転送が終了したと判断する。データ長ａ、データ長ｃは同じ値であるので、マスタＩＦ回路１１ａ、スレーブＩＦ回路３１は同時に全データ転送終了判断となる。転送が終了したらマスタＩＦ回路１１ａはＥＮＤａ信号をマスタＩＦ回路１１ａを使用するＦＩＦＯ制御回路５２ａに出力する。スレーブＩＦ回路３１はＥＮＤｃ信号をスレーブＩＦ回路３１に接続されている回路に出力する。また、システム・バス制御回路２１内のアービタ回路２３も同様に、データ転送に伴う制御信号Ｓａ、制御信号Ｓｃを観測することでマスタＩＦ回路１１ａのデータ転送が終了したと判断する。
【００３４】
遅延回路４１ａは、ＥＮＤａ信号を遅延させて遅延ＥＮＤａ信号を出力する。セレクタ４２ａは、選択信号ａがシステム・バス最大負荷テストモードに設定されていたら遅延ＥＮＤａ信号をＥＮＤＡ信号としてマスタＩＦ回路１１ａに出力する。選択信号ａがシステム・バス最大負荷テストモードに設定されていない場合は、ＥＮＤａ信号をそのままＥＮＤＡ信号として出力する。
【００３５】
マスタＩＦ回路１１ａは遅延ＥＮＤＡ信号が入力されてから、システム・バスに転送要求を制御信号ａで行う。尚、初期状態では、マスタＩＦ回路１１ａはＳＴＡＲＴａ信号が入力されたら遅延ＥＮＤＡ信号入力なしでシステム・バスに転送要求を制御信号Ｓａで行う。
【００３６】
このように、マスタＩＦ回路１１ａは、遅延ＥＮＤＡ信号が入力されるとデータ転送要求を行うように構成されているため、本来のＥＮＤａ信号より長い間、バスの使用を停止されることになる。この遅延回路４１ａの遅延量を、バスに最大負荷がかかった状態における待ち時間を実現する値に設定しておくことで、システム・バス最大負荷におけるテストを実行することができる。
【００３７】
次にＦＩＦＯ５１ｂとその制御回路であるＦＩＦＯ制御回路５２ｂの動作について説明する。ＦＩＦＯ５１ｂはデータ出力ＯＵＴｂとしてデータを前段の例えばデコーダに出力する。このデータは画像や音声などのリアルタイム性が重要なデータであり、ＦＩＦＯ５１ｂ及びＦＩＦＯ制御回路５２ｂはデータ出力し続けなければならない。データ出力が停止、または、データ受け取り側で許容される以上の時間に渡りデータ出力できなければ画像、音声などが乱れるなどの問題が発生する。このような場合、例えばＦＩＦＯ制御回路５２ｂからＵｎｄｅｒｆｌｏｗ検出信号を出力して外部に通知する。ＦＩＦＯ５１ｂがデータを受け取れる状態であるならばＦＩＦＯ制御回路５２ｂはＳＴＡＲＴｂ信号をマスタＩＦ回路１１ｂに出力することでスレーブＩＦ回路３１へのデータ転送要求を行う。ＦＩＦＯ制御回路５２ｂはＥＮＤｂ信号が入力されることで先に要求したデータ転送が終了し、次のデータが転送可能となったと認識する。尚、初期状態では、ＦＩＦＯ制御回路５２ｂはＥＮＤｂ信号に関係なくＳＴＡＲＴｂ信号を出力することが可能である。
【００３８】
次に、スレーブＩＦ回路３１からマスタＩＦ回路１１ｂへのデータ転送について説明する。マスタＩＦ回路１１ｂを使用する回路からのデータ転送要求ＳＴＡＲＴｂ信号により、マスタＩＦ回路１１ｂからのシステム・バス制御回路２１に対するデータ転送要求信号ＲＥＱｂ信号は、マスタＩＦ回路１１ａからのＲＥＱａ信号より１クロック送れて出力したとする。この場合に、マスタＩＦ回路１１ｂのデータ転送は、マスタＩＦ回路１１ａのデータ転送処理終了を待つことになる。システム・バス制御回路内のアービタ回路２３は、マスタＩＦ回路１１ａとスレーブＩＦ回路３１のデータ転送が終了したと判断したら（システム・バスを他マスタが使用していないことを確認したら）ＡＣＫｂ信号をＨｉｇｈにする。以降は、先に説明したマスタＩＦ回路１１ａとスレーブＩＦ回路３１のデータ転送と同様な処理でデータ転送が実行される。この例の場合は、スレーブＩＦ回路３１からマスタＩＦ回路１１ｂへのデータ転送なので、ＲＤ／ＷＲｂ信号はＨｉｇｈになる。
【００３９】
本実施の形態においては、マスタＩＦ回路が２つであるので、マスタＩＦ回路１１ｂは、マスタＩＦ回路１１ａのデータ転送を待つのみでよいが、その待ち時間はマスタＩＦ回路１１ａが取り扱うデータ長等に依存する。従ってマスタＩＦ回路１１ｂがシステムに最大負荷がかかった状況における待ち時間で動作させることはできないが、本実施の形態においては、遅延回路４１ｂを有し、ＥＮＤｂ信号を遅延ＥＮＤｂ信号とする。よって、システムに最大負荷がかかった状態におけるＥＮＤｂ信号を遅延ＥＮＤｂ信号で実現することができ、最大負荷がかかった状態における試験を行うことができる。
【００４０】
本発明においては、マスタＩＦ回路の前段のＦＩＦＯ５１ａ、５１ｂからみてシステム・バスに最大負荷が掛かったのと同等な状態を容易に再現できる。よって、この状態でのシステムＬＳＩの動作確認を行うことが容易に可能となる。従来は、この条件を再現することが、非常に困難であった。これに対し、本実施の形態においては、遅延回路４１ａ、４１ｂによって、マスタＩＦ回路１１ａ、１１ｂの前段のＦＩＦＯ５１ａ、５１ｂから見て仮想的にシステム・バスの負荷が最大の状態相当でのデータ転送遅延を再現できる。すなわち、予め計算又は試験して求めた遅延量だけ、ＥＮＤａ信号を遅延させれば、現状のシステム構成（ソフトウェア等も含む）を変更なしでのシステム・バスの遅延状態での動作確認が容易に実施できる。
【００４１】
実施の形態２
次に、本発明の実施の形態２について説明する。図２は、本発明の実施の形態２にかかる半導体集積回路を示す図である。なお、図２に示す本実施の形態２及び後述ずる図３に示す実施の形態３において、図１に示す実施の形態１と同一構成要素には同一の符号を付しその詳細な説明は省略する。
【００４２】
図２に示すように、本実施の形態においては、遅延回路４１ａ、４１ｂ及びセレクタ４２ａ、４２ｂに加え、最大遅延量測定回路４３ａ、４３ｂを有する。最大遅延量測定回路４３ａ、４３ｂは、ＳＴＡＲＴａ、ＳＴＡＲＴｂ信号とＥＮＤａ信号、ＥＮＤｂ信号とから遅延量を決定する。この最大遅延量測定回路４３ａ、４３ｂが決定した遅延量を遅延回路４１ａ、４１ｂに設定する。遅延回路４１ａ、４１ｂはこの値に従ってＥＮＤａ信号、ＥＮＤｂ信号を遅延させた遅延ＥＮＤａ信号、遅延ＥＮＤｂ信号を出力する。
【００４３】
本実施の形態においても、マスタＩＦ回路の前段のＦＩＦＯ５１ａ、５１ｂからみてシステム・バスに最大負荷が掛かったのと同等な状態を容易に再現できる。すなわち、遅延回路４１ａ、４１ｂによって、マスタＩＦ回路１１ａ、１１ｂの前段のＦＩＦＯ５１ａ、５１ｂから見て仮想的にシステム・バスの負荷が最大の状態相当でのデータ転送遅延を再現できる。よって、予め計算又は試験して求めた遅延量だけ、ＥＮＤａ信号を遅延させれば、現状のシステム構成（ソフトウェア等も含む）を変更なしでのシステム・バスの遅延状態での動作確認が容易に実施できる。さらに、本実施の形態においては、遅延量決定回路４３ａ、４３ｂを有し、ＳＴＡＲＴａ信号からＥＮＤａ信号までの時間をカウントする。システムに最大負荷をかけた場合の遅延量は、予め計算によって求めた値よりも大きくなる場合がある。従来は、このような予想できない遅延でのテストは行うことができなかった。しかしながら、本実施の形態においては、最大遅延量測定回路４３ａ、４３ｂにより、実際にシステムを動作させた場合の遅延量をカウントし、その最大値を遅延回路４１ａ、４１ｂに設定することができる。よって、最大負荷状態における検査を容易に行うことができる。
【００４４】
実施の形態３
次に、本発明の実施の形態３について説明する。図３は、本実施の形態にかかる半導体集積回路を示す図である。本実施の形態においては、遅延回路４１ａ、４１ｂの他に、それぞれのマスタＩＦ回路１１ａ、１１ｂとそのマスタＩＦ回路１１ａ、１１ｂにＳＴＡＲＴａ、ＳＴＡＲＴｂ信号を送信するＦＩＦＯ制御回路１５２ａ、１５２ｂと間に、遅延設定レジスタ４４ａ、４４ｂ及び最大遅延量測定回路４３ａ、４３ｂを有する。
【００４５】
最大遅延量測定回路４３ａ、４３ｂは、ＳＴＡＲＴ信号からＥＮＤ信号までのクロック数を計数し、前回のデータ転送時のクロック数より大きな値が測定された場合は、この値を記憶する。遅延設定レジスタ４４ａ、４４ｂは、最大遅延量測定回路４３ａ、４３ｂが測定した値、または、マイコンなどからの設定値を記憶する。遅延回路４１ａ、４１ｂは、遅延設定レジスタ４４ａ、４４ｂの設定値のクロック数よりＥＮＤ信号が早く入力された場合は、遅延設定レジスタ値になるまで遅延ＥＮＤａ信号、遅延ＥＮＤｂ信号の出力を遅らせる。遅延設定レジスタ値のクロック数よりＥＮＤ信号が遅くなった場合は、ＥＮＤ信号をそのままのタイミングで遅延ＥＮＤａ信号、遅延ＥＮＤｂ信号として出力する。
【００４６】
次に、本実施の形態にかかる動作について説明する。図４は、本実施の形態にかる各信号のタイミングチャートを示す図である。遅延設定レジスタ４４ａには、過去のマスタＩＦ回路１１ａからシステム・バスへの転送処理により、１１が記憶されているものとする。同様に遅延設定レジスタ４４ｂには、遅延設定レジスタ４４ｂには、過去のマスタＩＦ回路１１ｂからシステム・バスへの転送処理により、１５が設定されている状態での動作である。
【００４７】
ＳＴＡＲＴａ信号が入力されてからシステム・バスへのアクセスは１０クロックで終了し、ＥＮＤａ信号がマスタＩＦ回路１１ａに入力される。遅延設定レジスタ４４ａに１１が設定されているため、ＦＩＦＯ制御回路５２ａへの転送終了信号である遅延ＥＮＤａ信号はＥＮＤａ信号より１クロック遅れて入力される。このことにより。ＦＩＦＯ制御回路５２ａは、続けてデータ転送を行うべきデータがあった場合ＳＴＡＲＴａ信号の出力が従来に比較して１クロック遅れることになる。この遅延によりＦＩＦＯ５１ａがデータ入力１からのデータを受け取れない状態（ＦＩＦＯ５１ａがフル等）であればＦＩＦＯ制御回路５２ａは、ｏｖｅｒｆｌｏｗ検出信号を出力する。マスタＩＦ回路１１ｂからの転送要求ＲＥＱｂ信号に対するシステム・バスの応答信号であるＡＣＫｂは、ＥＮＤａ信号を遅延させた影響は受けず従来と同じタイミングである。
【００４８】
ＳＴＡＲＴｂ信号が入力されてからシステム・バスへのアクセスは１３クロックで終了し、ＥＮＤｂ信号がマスタＩＦ回路１１ｂに入力される。遅延設定レジスタ４４ｂには１５が設定されているため、ＦＩＦＯ制御回路５２ｂへの転送終了信号である遅延ＥＮＤｂ信号はＥＮＤｂ信号より２クロック遅れて入力される。このことにより、ＦＩＦＯ制御回路５２ｂは、続けてデータ転送を行う必要があった場合ＳＴＡＲＴｂ信号の出力が従来に比較して２クロック遅れることになる。この遅延によりＦＩＦＯ５２ｂがデータ出力ＯＵＴｂにデータを出力できない状態（ＦＩＦＯ５１ｂが空等）であればＦＩＦＯ制御回路５２ｂは、ｕｎｄｅｒｆｌｏｗ検出信号を出力する。
【００４９】
本実施の形態においては、マスタＩＦ回路の前段のデータ送受信回路から見てシステム・バスに最大負荷が掛かったのと同等な状態を容易に再現できる。この状態でのシステムＬＳＩの動作確認を行うことが容易に可能となる。従来は、この条件を再現することが、非常に困難であった。最大遅延量測定回路で測定した値でＥＮＤ１ａ信号を遅延させれば、現状のシステム構成（ソフトウェア等も含む）を変更無しでのシステム・バスの遅延状態での動作確認が容易に実施できる。
【００５０】
また、遅延設定レジスタ４４ａ、４４ｂにマイコンなどから設定した値でＥＮＤａ信号、ＥＮＤｂ信号を遅延させれば、システムの実動作に依存しない理論上の最大遅延状態での動作確認が容易に実施できる。
【００５１】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【００５２】
例えば、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の伝送媒体を介して伝送することにより提供することも可能である。
【図面の簡単な説明】
【００５３】
【図１】本発明の実施の形態にかかる半導体集積回路を示す図である。
【図２】本発明の実施の形態２にかかる半導体集積回路を示す図である。
【図３】本発明の実施の形態３にかかる半導体集積回路を示す図である。
【図４】本発明の実施の形態３にかる各信号のタイミングチャートを示す図である。
【図５】従来の半導体集積回路を示す図である。
【図６】従来の半導体集積回路における各信号のタイミングチャートを示す図である。
【符号の説明】
【００５４】
１  半導体集積回路
１１ａ、１１ｂ  マスタＩＦ回路
２１  システム・バス制御回路
２２  データ選択回路
２３  アービタ回路
３１  スレーブＩＦ回路
４１ａ、４１ｂ  遅延回路
４２ａ、４２ｂ  セレクタ
４３ａ、４３ｂ  最大遅延量測定回路
４４ａ、４４ｂ  遅延設定レジスタ
５１ａ、５１ｂ  ＦＩＦＯ
５２ａ、５２ｂ  ＦＩＦＯ制御回路
【図１】
2009187446.tif 000003
【図２】
2009187446.tif 000004
【図３】
2009187446.tif 000005
【図４】
2009187446.tif 000006
【図５】
2009187446.tif 000007
【図６】
2009187446.tif 000008