(57)【要約】【課題】インターコネクトを備えた半導体集積回路において、回路構成を複雑化させることなくデバッグ処理を行うことが可能な半導体集積回路の動作解析方法を提供する。【解決手段】この半導体集積回路の動作解析方法では、ＣＰＵ１０からＩ／Ｏコントローラ１４に出力されたリードアクセスの通過時刻を第１のモニタ２０で検出し、リードアクセスを検出したダミーリードモジュール２２からＤＲＡＭ１１に出力されたダミーリードアクセスの通過時刻を第２のモニタ２１で検出し、その遅延時間からアクセス時間の異常の有無を判断する。この方法によれば、インターコネクトＣ経由のアクセス順序保証のために設けたダミーリードモジュール２２をそのまま利用することができる。したがって、各Ｉ／Ｏコントローラ１４ごとにモニタを設ける必要はなく、回路構成を複雑化させずにデバッグ処理を行うことが可能となる。【選択図】図１
2008152665.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを格納するメモリと、
前記プログラムの処理を実行するプロセッサと、
前記メモリへの入出力処理を実行する複数の入出力インターフェイスと、
前記メモリ、前記プロセッサ、及び前記入出力インターフェイスのそれぞれを並列アクセス可能に接続するインターコネクトとを含む半導体集積回路の動作解析方法であって、
前記プロセッサから前記入出力インターフェイスに向けて出力されたリードアクセスの通過時刻を、前記プロセッサと前記インターコネクトとの間に接続した第１のモニタで検出するステップと、
前記リードアクセスを、前記インターコネクトと前記入出力インターフェイスとの間に接続したダミーリードモジュールによって検出するステップと、
前記ダミーリードモジュールから前記メモリに向けて出力されたダミーリードアクセスの通過時刻を、前記インターコネクトと前記メモリとの間に接続した第２のモニタで検出するステップと、
前記リードアクセスの通過時刻に対する前記ダミーリードアクセスの通過時刻の遅延時間と所定の閾値とを比較して、半導体集積回路の異常の有無を判断するステップとを備えたことを特徴とする半導体集積回路の動作解析方法。
【請求項２】
前記リードアクセスの通過時刻に対する前記ダミーリードアクセスの通過時刻の遅延時間が前記所定の閾値を超えている場合に、前記半導体集積回路に異常がある旨の通知を前記プロセッサに出力するステップを更に備えたことを特徴とする請求項１記載の半導体集積回路の動作解析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の動作解析方法に関する。
【背景技術】
【０００２】
従来、プログラムを格納するメモリ、プログラムの処理を実行するプロセッサ、及びメモリへの入出力処理を実行する入出力インターフェイス等を備えて構成される半導体集積回路がある。このような半導体集積回路では、実装されるハードウェア及びソフトウェアの異常の有無を調べるために、デバッグ処理が行われる。
【０００３】
例えば特許文献１に記載のプログラム処理装置では、内部バスに接続された変数ブレイク回路によってプログラム内の変数の状態をモニタリングすることにより、入出力インターフェイスからメモリへのアクセス監視を行っている。
【特許文献１】特開平１１−２３２１３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、半導体集積回路の中には、プロセッサ、メモリ、及び複数の入出力インターフェイスをインターコネクトによって並列アクセス可能に接続し、メモリへのアクセスを高速化したものがある。このような半導体集積回路において、上述したようなデバッグ処理を行うには、全てのアクセス経路を監視するため、本来、入出力インターフェイスごとにアクセス監視用のモニタを接続する必要がある。しかしながら、そのような構成にすると、デバッグ処理に要する回路構成が複雑化してしまうという問題がある。
【０００５】
本発明は、上記課題の解決のためになされたものであり、インターコネクトを備えた半導体集積回路において、回路構成を複雑化させることなくデバッグ処理を行うことが可能な半導体集積回路の動作解析方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題の解決のため、本発明に係る半導体集積回路の動作解析方法は、プログラムを格納するメモリと、プログラムの処理を実行するプロセッサと、メモリへの入出力処理を実行する複数の入出力インターフェイスと、メモリ、プロセッサ、及び入出力インターフェイスのそれぞれを並列アクセス可能に接続するインターコネクトとを含む半導体集積回路の動作解析方法であって、プロセッサから入出力インターフェイスに向けて出力されたリードアクセスの通過時刻を、プロセッサと前記インターコネクトとの間に接続した第１のモニタで検出するステップと、リードアクセスを、インターコネクトと入出力インターフェイスとの間に接続したダミーリードモジュールによって検出するステップと、ダミーリードモジュールからメモリに向けて出力されたダミーリードアクセスの通過時刻を、インターコネクトとメモリとの間に接続した第２のモニタで検出するステップと、リードアクセスの通過時刻に対するダミーリードアクセスの通過時刻の遅延時間と所定の閾値とを比較して、半導体集積回路の異常の有無を判断するステップとを備えたことを特徴としている。
【発明の効果】
【０００７】
本発明に係る半導体集積回路の動作解析方法によれば、インターコネクトを備えた半導体集積回路において、回路構成を複雑化させることなくデバッグ処理を行うことが可能となる。
【発明を実施するための最良の形態】
【０００８】
以下、図面を参照しながら、本発明に係る半導体集積回路の動作解析方法の好適な実施形態について詳細に説明する。
【０００９】
図１は、本発明の一実施形態に係る半導体集積回路の動作解析方法を実現するためのシステムＬＳＩの構成を示す図である。図１に示すように、システムＬＳＩ１は、ＣＰＵ１０、ＤＲＡＭ１１、ＤＲＡＭコントローラ１２、メモリスケジューラ１３、複数のＩ／Ｏコントローラ１４（１４Ａ，１４Ｂ…１４Ｚ）を備えている。
【００１０】
各構成要素の接続には、インターコネクトＣが用いられている。ＤＲＡＭ１１は、メモリスケジューラ１３及びＤＲＡＭコントローラ１２を介してインターコネクトＣに接続されている。これにより、ＣＰＵ１０、ＤＲＡＭ１１、及びＩ／Ｏコントローラ１４は、インターコネクトＣによって並列アクセス可能に接続されている。
【００１１】
また、システムＬＳＩ１は、動作解析を行うための構成として、第１のモニタ２０、第２のモニタ２１、複数のダミーリードモジュール２２（２２Ａ，２２Ｂ…２２Ｚ）、及びデバッグユニット２３を備えている。第１のモニタ２０は、ＣＰＵ１０とインターコネクトＣとの間に接続され、第２のモニタ２１は、メモリスケジューラ１３とＤＲＡＭコントローラ１２との間に接続されている。
【００１２】
ダミーリードモジュール２２は、各Ｉ／Ｏコントローラ１４とインターコネクトＣとの間にそれぞれ接続されている。デバッグユニット２３は、第１のモニタ２０及び第２のモニタ２１に接続されている。以下、各構成要素について説明する。
【００１３】
ＣＰＵ１０は、ＤＲＡＭ１１に格納されているプログラムの処理を実行する部分である。ＣＰＵ１０は、リードしたプログラムの命令をデコードし、当該ＣＰＵ１０内における所定のアドレスのメモリ空間にアクセスすることにより、デコード結果に基づいた処理を実行する。
【００１４】
ＣＰＵ１０は、動作解析を行うにあたって、まず、デバッグユニット２３を起動し、リードアクセスの出力先となるダミーリードモジュール２２のアドレスをデバッグユニット２３に設定する。また、ＣＰＵ１０は、後述するリードアクセスの通過時刻に対するダミーリードアクセスの遅延時間の閾値をデバッグユニット２３に設定する。デバッグユニット２３の設定の後、ＣＰＵ１０は、アドレスを設定したダミーリードモジュール２２に接続されているＩ／Ｏコントローラ１４に対してＤＭＡ（direct memory access）の実行を指示する。
【００１５】
ＣＰＵ１０は、ＤＭＡの実行に応じてＩ／Ｏコントローラ１４から出力されるＤＭＡ完了通知を受け取ると、次に、Ｉ／Ｏコントローラ１４にステータスレジスタのリードアクセスを行う。その後、ＣＰＵ１０は、ＤＲＡＭ１１から出力されたリードデータをダミーリードモジュール２２から受け取る。
【００１６】
ＤＲＡＭ１１は、システムＬＳＩ１におけるメインメモリであり、各種のプログラム及びプログラムに使用されるデータ等を格納する部分である。また、ＤＲＡＭコントローラ１２は、コントロールレジスタ（図示しない）に設定された制御情報に基づいて、ＤＲＡＭ１１とＣＰＵ１０との間で入出力される各種データの制御を行う部分である。ＤＲＡＭコントローラ１２は、ダミーリードモジュール２２から出力されるダミーリードアクセスを受け取ると、ＤＲＡＭ１１から読み出したリードデータをダミーリードモジュール２２に出力する。
【００１７】
メモリスケジューラ１３は、インターコネクトＣを経由してＤＲＡＭ１１に入力されるアクセスを管理する部分である。メモリスケジューラ１３は、ＣＰＵ１０、各Ｉ／Ｏコントローラ１４等からのアクセスの優先度やアクセス先の競合状況を判断して、ＤＲＡＭ１１に出力するアクセスの順序を決定する。
【００１８】
Ｉ／Ｏコントローラ１４は、ＤＲＡＭ１１への入出力処理を実行する部分である。各Ｉ／Ｏコントローラ１４には、例えばＰＣＩ（Peripheral Component Interconnect）バス対応のビデオカードやＥｔｈｅｒｎｅｔ（登録商標）カード等がそれぞれ接続される。Ｉ／Ｏコントローラ１４は、ＣＰＵ１０の制御によってＤＭＡを実行すると、ＣＰＵ１０にＤＭＡ完了通知を出力する。
【００１９】
第１のモニタ２０及び第２のモニタ２１は、デバッグユニット２３による制御に基づいて、インターコネクトＣ経由で入出力されるアクセスを検出する部分である。より具体的には、第１のモニタ２０は、ＣＰＵ１０からＩ／Ｏコントローラ１４に出力されたステータスレジスタのリードアクセスの通過時刻を検出し、その検出結果をデバッグユニット２３に出力する。このリードアクセスの通過時刻は、ＣＰＵ１０からリードアクセスが出力された時刻とほぼ一致する。
【００２０】
また、第２のモニタ２１は、ダミーリードモジュール２２からＤＲＡＭ１１に出力されたダミーリードアクセスの通過時刻を検出し、その検出結果をデバッグユニット２３に出力する。ダミーリードアクセスの通過時刻は、ダミーリードアクセスがインターコネクトＣを経由してＤＲＡＭコントローラ１２に入力された時刻とほぼ一致する。
【００２１】
ダミーリードモジュール２２は、ＤＲＡＭ１１へのダミーリードを実行する部分である。このダミーリードモジュール２２は、本来的には、マスタからスレーブへのアクセス順序を保証する手段として機能する。このアクセス順序保証が必要となるのは、システムＬＳＩ１では、インターコネクトＣによってＣＰＵ１０、ＤＲＡＭ１１、及びＩ／Ｏコントローラ１４を並列アクセス可能に接続していることに起因するものである。
【００２２】
システムＬＳＩ１では、例えば各Ｉ／Ｏコントローラ１４からＤＲＡＭ１１へのアクセスがほぼ同時に発生した場合、各Ｉ／Ｏコントローラ１４間の動作順序は考慮されないため、各Ｉ／Ｏコントローラ１４がインターコネクトＣにアクセスした順番と、各Ｉ／Ｏコントローラ１４が実際にＤＲＡＭ１１にアクセスする順番とが入れ替わってしまうことがある。
【００２３】
しかしながら、ＣＰＵ１０とＩ／Ｏコントローラ１４との間でデータの入出力がなされる場合には、Ｉ／Ｏコントローラ１４がＤＲＡＭ１１にライトを実行する順番と、ＣＰＵ１０がＤＲＡＭ１１にライトされたデータのリードを実行する順番とが守られている必要がある。
【００２４】
そこで、システムＬＳＩ１では、Ｉ／Ｏコントローラ１４がＤＲＡＭ１１にライトを実行した後、ＣＰＵ１０がＩ／Ｏコントローラ１４に対応するダミーリードモジュール２２を経由してＤＲＡＭ１１のリードを実行することにより、Ｉ／Ｏコントローラ１４によるライトの完了を保証している。その後、ＣＰＵ１０は、Ｉ／Ｏコントローラ１４によってＤＲＡＭ１１にライトされたデータのリードを実行する。
【００２５】
ダミーリードモジュール２２は、本実施形態における動作解析を行うための構成要素としても機能する。ダミーリードモジュール２２は、ＣＰＵ１０からＩ／Ｏコントローラ１４に出力されるステータスレジスタのリードアクセスを受け取ると、ＤＲＡＭコントローラ１２に向けてダミーリードアクセスを出力する。そして、ダミーリードモジュール２２は、ダミーリードアクセスの出力に応じてＤＲＡＭ１１から受け取ったリードデータをＣＰＵ１０に向けて出力する。
【００２６】
デバッグユニット２３は、動作解析を制御する部分である。デバッグユニット２３は、ＣＰＵ１０の制御によって起動し、ＣＰＵ１０によって設定されたダミーリードモジュール２２のアドレスを格納する。また、デバッグユニット２３は、ＣＰＵ１０によって設定されたリードアクセスの通過時刻に対するダミーリードアクセスの遅延時間の閾値を格納する。
【００２７】
その後、デバッグユニット２３は、第１のモニタ２０から出力されるリードアクセスの通過時刻の検出結果、及び第２のモニタ２１から出力されるダミーリードアクセスの通過時刻の検出結果をそれぞれ受け取る。そして、デバッグユニット２３は、リードアクセスの通過時刻に対するダミーリードアクセスの通過時刻の遅延時間が、ＣＰＵ１０によって設定された閾値以下であるか否かを判断する。
【００２８】
デバッグユニット２３は、リードアクセスの通過時刻に対するダミーリードアクセスの通過時刻の遅延時間が閾値以下である場合には、そのまま処理を終了する。また、デバッグユニット２３は、リードアクセスの通過時刻に対するダミーリードアクセスの通過時刻の遅延時間が閾値を超えている場合には、Ｉ／Ｏコントローラ１４からＤＲＡＭ１１へのアクセス時間が異常であるとして、ＣＰＵ１０に対して異常通知を出力する。なお、この遅延時間には、実際にはＣＰＵ１０からダミーリードモジュール２２へのアクセス時間遅延も含まれるが、その差分は予め閾値に設定しておけばよい。
【００２９】
続いて、図２及び図３に示すフローチャートを参照しながら、上述した構成を有するシステムＬＳＩ１における動作解析方法について説明する。
【００３０】
システムＬＳＩ１の動作解析を行う場合、まず、図２に示すように、ＣＰＵ１０によってダミーリードモジュール２２及びデバッグユニット２３が起動される（ステップＳ０１）。そして、動作解析の初期設定として、デバッグユニット２３内で、リードアクセスの出力先となるダミーリードモジュール２２（ここでは、例えば図１における「ｄｍｙＲｄ１」）のアドレスの設定と、リードアクセスの通過時刻に対するダミーリードアクセスの遅延時間の閾値の設定とが行われる。
【００３１】
初期設定が終了すると、次に、ＣＰＵ１０からアドレスを設定したダミーリードモジュール２２に接続されているＩ／Ｏコントローラ１４に対してＤＭＡ転送が起動され、ＤＭＡの実行が指示される（ステップＳ０２）。そして、Ｉ／Ｏコントローラ１４によってＤＭＡが実行されると（ステップＳ０３）、Ｉ／Ｏコントローラ１４からＣＰＵ１０にＤＭＡ完了通知が出力される（ステップＳ０４）。
【００３２】
ＤＭＡ完了通知を受け取ると、ＤＭＡを実行したＩ／Ｏコントローラ１４に対し、ＣＰＵ１０からステータスレジスタのリードアクセスが行われる（ステップＳ０５）。このとき、ＣＰＵ１０からリードアクセスが出力された時刻は、第１のモニタ２０におけるリードアクセスの通過時刻として第１のモニタ２０で検出され、検出結果がデバッグユニット２３に出力される（ステップＳ０６）。
【００３３】
また、ＣＰＵ１０から出力されたリードアクセスは、ダミーリードモジュール２２によって検出される（ステップＳ０７）。リードアクセスがダミーリードモジュール２２によって検出されると、図３に示すように、ダミーリードモジュール２２からＤＲＡＭ１１に向けてダミーリードアクセスが行われる（ステップＳ０８）。
【００３４】
このとき、ダミーリードモジュール２２からインターコネクトＣ経由でＤＲＡＭコントローラ１２にダミーリードアクセスが入力された時刻は、第２のモニタ２１におけるダミーリードアクセスの通過時刻として第２のモニタ２１で検出され、検出結果がデバッグユニット２３に出力される（ステップＳ０９）。
【００３５】
ダミーリードアクセスを出力した後、ＤＲＡＭ１１からリードデータがダミーリードモジュール２２に出力される。このリードデータは、ダミーリードモジュール２２からＣＰＵ１０に出力される（ステップＳ１０）。また、デバッグユニット２３では、第１のモニタ２０から受け取ったリードアクセスの通過時刻と、第２のモニタ２１から受け取ったダミーリードアクセスの通過時刻との差分の演算がなされ、リードアクセスの通過時刻に対するダミーリードアクセスの通過時刻の遅延時間が閾値以下であるか否かの判断がなされる（ステップＳ１１）。
【００３６】
ステップＳ１１において、リードアクセスの通過時刻に対するダミーリードアクセスの通過時刻の遅延時間が閾値以下であると判断された場合には、そのまま処理が終了する。一方、リードアクセスの通過時刻に対するダミーリードアクセスの通過時刻の遅延時間が閾値を超えていると判断された場合には、Ｉ／Ｏコントローラ１４からＤＲＡＭ１１へのアクセス時間が異常であるとして、デバッグユニット２３からＣＰＵ１０に異常通知がなされる。以降、同様の手順を他のＩ／Ｏコントローラ１４及びこれに接続されているダミーリードモジュール２２について実行すると、動作解析処理が完了する。
【００３７】
以上説明したように、この半導体集積回路の動作解析方法では、ＣＰＵ１０からＩ／Ｏコントローラ１４に出力されたリードアクセスの通過時刻を第１のモニタ２０で検出し、リードアクセスを検出したダミーリードモジュール２２からＤＲＡＭ１１に出力されたダミーリードアクセスの通過時刻を第２のモニタ２１で検出する。そして、リードアクセスの通過時刻に対するダミーリードアクセスの通過時刻の遅延時間と閾値とを比較して、Ｉ／Ｏコントローラ１４からＤＲＡＭ１１へのアクセス時間の異常の有無を判断する。
【００３８】
このような手法によれば、動作解析にあたって、ＣＰＵ１０からＤＲＡＭ１１へのアクセス、及びＩ／Ｏコントローラ１４からＤＲＡＭ１１へのアクセスの順序を保証するために各Ｉ／Ｏコントローラ１４に接続されているダミーリードモジュール２２をそのまま利用することができる。したがって、各Ｉ／Ｏコントローラ１４ごとにモニタを設ける必要はなく、インターコネクトＣを備えたシステムＬＳＩ１において、回路構成を複雑化させることなくデバッグ処理を行うことが可能となる。このことは、デバッグに要するコストの低減化にも寄与する。
【００３９】
また、この半導体集積回路の動作解析方法では、リードアクセスの通過時刻に対するダミーリードアクセスの通過時刻の遅延時間が閾値を超えていると判断された場合には、Ｉ／Ｏコントローラ１４からＤＲＡＭ１１へのアクセス時間が異常であるとして、デバッグユニット２３からＣＰＵ１０に異常通知がなされる。これにより、システムＬＳＩ１の異常を迅速に把握することが可能となる。
【図面の簡単な説明】
【００４０】
【図１】本発明の一実施形態に係る半導体集積回路の動作解析方法を実現するためのシステムＬＳＩの構成を示す図である。
【図２】図１に示したシステムＬＳＩにおける動作解析の手順を示すフローチャートである。
【図３】図２の後続の手順を示すフローチャートである。
【符号の説明】
【００４１】
１…システムＬＳＩ（半導体集積回路）、１０…ＣＰＵ（プロセッサ）、１１…ＤＲＡＭ（メモリ）、１４…Ｉ／Ｏコントローラ（入出力インターフェイス）、２０…第１のモニタ、２１…第２のモニタ、２２…ダミーリードモジュール、Ｃ…インターコネクト。
【図１】
2008152665.tif 000003
【図２】
2008152665.tif 000004
【図３】
2008152665.tif 000005