(57)【要約】【課題】従来のＣＰＵデバッガでは、ＤＭＡ転送を止めることはできないため、ソフトウェアとハードウェアが協調動作を行うシステムＬＳＩを用いた機器のソフトウェア開発において、不具合発生箇所の特定が困難であった。【解決手段】ＣＰＵデバッガからのブレーク指示を受けてＤＭＡ転送も停止・再開するよう制御することで、ソフトウェアの動作と連動してハードウェアの動作を解析することが可能となり、システムＬＳＩを用いた機器のソフトウェア開発効率の向上が可能となる。【選択図】図１
2006113716.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサとＤＭＡコントローラを含む半導体集積回路であって、
前記半導体集積回路の外部から入力されるブレーク指示信号と、
前記ブレーク指示信号により、前記プロセッサにおけるプログラムの実行の一時停止および再開を制御するとともに、前記ＤＭＡコントローラによるデータ転送の一時停止および再開も制御することを特徴とする半導体集積回路。
【請求項２】
前記ブレーク指示信号は、前記半導体集積回路に接続された前記プロセッサのデバッガ装置から供給されることを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記ＤＭＡコントローラはデータ転送を行うためのバスに接続されるとともに、前記バスに接続され前記ＤＭＡコントローラからのアクセス対象となるハードウェア資源を備え、前記バスには前記ハードウェア資源から前記ＤＭＡコントローラに対するデータ転送受付を示すデータ転送受付信号が含まれており、前記ブレーク指示信号により前記データ転送受付信号を変換することで、前記ＤＭＡコントローラによるデータ転送の一時停止および再開を制御することを特徴とする請求項１または２記載の半導体集積回路。
【請求項４】
前記ＤＭＡコントローラはデータ転送を行うためのバスに接続されるとともに、前記バスに接続され前記ＤＭＡコントローラからのアクセス対象となるハードウェア資源を備え、前記バスには前記ＤＭＡコントローラから前記ハードウェア資源に対するデータ転送要求を示すデータ転送要求信号が含まれており、前記ブレーク指示信号により前記データ転送要求信号を変換することで、前記ＤＭＡコントローラによるデータ転送の一時停止および再開を制御することを特徴とする請求項１または２記載の半導体集積回路。
【請求項５】
前記ＤＭＡコントローラはデータ転送を行うためのバスに接続されるとともに、前記バスに接続され前記ＤＭＡコントローラからのアクセス対象となるハードウェア資源を備え、前記ブレーク指示信号により前記ＤＭＡコントローラおよび前記ハードウェア資源へのクロック供給を制御することで、前記ＤＭＡコントローラによるデータ転送の一時停止および再開を制御することを特徴とする請求項１または２記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプロセッサおよびＤＭＡなどの回路を含む半導体集積回路に関するものであり特に半導体集積回路のデバッグ機構に関するものである。
【背景技術】
【０００２】
半導体集積回路の製造プロセスの微細化により、複数の機能を集積回路に搭載したシステムＬＳＩの製造が近年増加している。例えば、ＣＰＵに代表される汎用プロセッサと映像や音楽の符号化や復号化を行うハードウェアを搭載した、デジタルＴＶ受信機やＤＶＤ録画・再生装置向けのシステムＬＳＩや、ＣＰＵと有線／無線通信処理を行うハードウェアを搭載した通信機器向けのシステムＬＳＩなどがある。
【０００３】
映像や音楽出力など、外界とリアルタイムで情報の入出力を行わなければならない処理をＣＰＵのような汎用プロセッサによる逐次のデータ転送処理で保証するためには、プログラム処理時に想定されるオーバーヘッドを考慮するとＣＰＵ単体の処理能力が大きくなくてはならない。一方、逐次のデータ転送は専用のハードウェアで処理し、ＣＰＵはＤＭＡコントローラのデータ転送対象の設定やＤＭＡ転送の起動処理にとどめるような構成を採った場合、プログラム処理とは独立にハードウェアの状態に依存してデータ転送処理が行われるため、処理性能の保証が容易となる。このため、システムＬＳＩは後者の構成を採る場合が多い。
【０００４】
ここでシステムＬＳＩを用いた機器を開発するにあたり、ＣＰＵがＤＭＡコントローラによるデータ転送処理を制御するためのソフトウェアプログラムを開発する必要がある。従来、ＣＰＵを搭載した機器のソフトウェアプログラムの開発にあたっては、ワークステーションやパーソナルコンピュータなどソフトウェアプログラム開発用の端末と開発対象となるシステムＬＳＩとを接続するＣＰＵデバッガ用いる方法が広く採用されている。前記ＣＰＵデバッガは、ＣＰＵにおいて実行されるプログラムを任意の箇所で一時停止させるブレーク機能とＬＳＩ内部の状態をモニタリングする機能を備え、プログラム実行状態を確認しながらソフトウェアプログラムの開発が可能となっている。
【０００５】
しかし従来のＣＰＵデバッガでは、ＣＰＵのプログラム実行を任意の位置で停止させることはできるが、ＤＭＡコントローラによるＤＭＡ転送を止めることはできない。そのためＤＭＡ転送やＤＭＡ転送の制御に不具合があった場合に動作を解析しようとしても、不具合発生箇所の特定が困難であるという課題があった。
【０００６】
前記課題を解決する方法として、特許文献１（特開平６−３５７５０号公報）に開示された半導体集積回路装置が提案されている。図２は、特許文献１に記載された半導体集積回路装置を示す。
【０００７】
図２において、半導体集積回路２０１は、プロセッサ２０３、ＤＭＡコントローラ２０４、比較回路２０２、およびシーケンス制御部２０７を備えている。前記プロセッサ２０３と前記ＤＭＡコントローラ２０４はバス２０５を介して共に共有資源２０６へアクセスすることが可能である。前記比較回路２０２は前記ＤＭＡコントローラ２０４と接続されたバス２０５の信号と前もって指定された値とを比較し、比較結果を前記シーケンス制御部２０７に伝える。前記シーケンス制御部２０７は、前記比較回路２０２において予め指定された値と前記バス上の値が一致した場合に、前記プロセッサ２０３および前記ＤＭＡコントローラ２０４の動作を停止するよう制御する。本構成により、前記ＤＭＡコントローラ２０４の挙動が予め指定した状態になった時点で前記半導体集積回路２０１の動作を停止し、解析することが可能となる。
【特許文献１】特開平６−３５７５０号公報（第１−７頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
前記従来の構成では、前記比較回路２０２に設定しておく前記ＤＭＡコントローラ２０４の状態が解析以前に判っている必要があった。しかしながら、ソフトウェアプログラム開発における不具合動作解析の初期段階では、通常ＤＭＡコントローラが発行するバスアクセスの動作状態がどのような場合をトリガとすれば良いのか判明しておらず、前記構成が不具合解析の効率化には即結びつかないという課題があった。
【課題を解決するための手段】
【０００９】
前記従来の課題を解決するために、本発明の半導体集積回路においては、デバッガからのＣＰＵ動作の停止／再開指示であるブレーク指示信号に従って、ＤＭＡコントローラの動作も停止／再開を制御する構成をとる。本構成により、ソフトウェアプログラムの動作状態に応じてトリガを指定し、動作解析を進めながら、ＤＭＡコントローラに代表されるハードウェア動作状態の解析も同時に可能となる。
【発明の効果】
【００１０】
本発明によれば、ソフトウェアプログラムの動作状態に応じてトリガを指定し、動作解析を進めながら、ＤＭＡコントローラに代表されるハードウェア動作状態の解析も同時に可能となり、システムＬＳＩを用いた機器のソフトウェア開発効率が向上する。
【発明を実施するための最良の形態】
【００１１】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００１２】
（実施の形態１）
図１は、本発明の実施の形態１における半導体集積回路のブロック図である。
【００１３】
図１において、半導体集積回路１０１は、プロセッサ１０３、ＤＭＡコントローラ１０４を備えている。
【００１４】
前記半導体集積回路１０１の外部からブレーク指示信号１０２が入力される。前記ブレーク指示信号１０２が半導体集積回路１０１に対して一時停止の指示を与えると、前記プロセッサ１０３はプログラム実行動作を一時停止し、また前記ＤＭＡコントローラ１０４もデータ転送動作を一時停止する。
【００１５】
さらに、前記ブレーク指示信号１０２が半導体集積回路１０１に対して動作再開の指示を与えると、前記プロセッサ１０３はプログラム実行動作を再開し、また前記ＤＭＡコントローラ１０４もデータ転送動作を再開する。
【００１６】
ここで、前記ブレーク指示信号１０２は、前記半導体集積回路１０１と接続され、前記プロセッサ１０３におけるプログラム開発を支援するデバッガ装置１０７から発行される構成をとっても良い。
【００１７】
（実施の形態２）
図１において、前記プロセッサ１０３と前記ＤＭＡコントローラ１０４は、バス１０５を介して共有資源１０６と接続される構成であっても良い。前記共有資源１０６としては、例えばメモリ、外部デバイスとのインタフェース回路におけるデータ転送レジスタおよび制御レジスタなどがある。
【００１８】
図３は、本発明の実施の形態２において、前記バス１０５における前記ＤＭＡコントローラ１０４から前記共有資源１０６へのデータ転送プロトコルの例を示す。ここではＤＭＡコントローラ３０５のアクセス対象となる共有資源をメモリＩ／Ｆ３０６とし、バス１０５はＤＭＡバス動作クロック３０４に同期して動作する場合を例に説明する。データ転送時に使用する信号は、ＤＭＡコントローラ３０５から出力される転送データ信号３０２と転送データ有効信号３０１、およびメモリＩ／Ｆ３０６から出力される転送データ入力受付可能信号３０３である。
【００１９】
前記ＤＭＡコントローラ３０５は、時刻３０７において、転送データ信号３０２と同時にデータ出力有効信号３０１をアサートし、出力しているデータが有効であることを転送対象であるメモリＩ／Ｆ３０６に伝える。一方、メモリＩ／Ｆ３０６は転送データ入力受付可能信号３０３をアサートしていないため、この時点ではまだデータ転送は成立していない。
【００２０】
時刻３０８において、メモリＩ／Ｆ３０６が転送データ入力受付可能信号３０３をアサートしてＤＭＡコントローラ３０５に対して転送されたデータの受領が可能であることを通知し、データ転送が成立する。
【００２１】
時刻３０９において、メモリＩ／Ｆ３０６は依然としてデータ入力受付可能信号３０３をアサートし続け、データの受け入れが可能であることを示すが、ＤＭＡコントローラ３０５は出力するべきデータの準備が出来ておらず、出力データ有効信号３０１をネゲートし、ここではデータ転送が成立しない。
【００２２】
時刻３１０において、ＤＭＡコントローラ３０５は再び転送データ信号３０２の出力準備が整ったため、転送データ出力有効信号３０１を再びアサートし、ここで再びデータ転送が成立する。
【００２３】
時刻３１１において、ＤＭＡコントローラ３０５は転送データ出力の準備ができておらず、転送データ出力有効信号３０１をネゲートしている。また、メモリＩ／Ｆ３０６もデータ入力受付可能信号３０３をネゲートし、ここではデータ転送が成立しない。
【００２４】
図４は、本発明の実施の形態２において、ブレーク指示信号４０７によるブレーク指示があった場合のデータ転送を制御するための構成を示す。図３における構成に対して転送データ入力受付可能信号変換回路４０９を加え、メモリＩ／Ｆが出力する転送データ入力受付可能信号４０３がアサートされている場合であっても、ブレーク指示信号４０７による停止指示が出ている場合はＤＭＡコントローラに入力される転送データ入力受付可能信号４０８がアサートされないように信号を変換し、ブレーク指示信号４０７による停止指示が解除されるとメモリＩ／Ｆが出力する転送データ入力受付可能信号４０３がそのままＤＭＡコントローラに入力される転送データ入力受付可能信号４０８に伝わるように信号を変換する。本構成により、ブレーク指示信号４０７による動作の停止・再開指示に連動してＤＭＡの転送動作を制御することが可能となる。
【００２５】
（実施の形態３）
図５は、本発明の実施の形態３におけるＤＭＡコントローラによるバス上のデータ転送を制御する構成を示したものである。データ転送アクセス要求変換回路５０９により、ブレーク指示信号５０７による停止指示が出ている場合はメモリＩ／Ｆに入力されるデータ転送アクセス要求信号５０８がアサートされないように信号を変換し、ブレーク指示信号５０７による停止指示が解除されるとＤＭＡコントローラ５０５が出力するデータ転送アクセス要求信号５０３がそのままメモリＩ／Ｆに入力されるデータ転送アクセス要求信号５０８に伝わるように信号を変換する。本構成により、ブレーク指示信号５０７による動作の停止・再開指示に連動してＤＭＡの転送動作を制御することが可能となる。
【００２６】
（実施の形態４）
図６は、本発明の実施の形態４におけるＤＭＡコントローラによるデータ転送を制御する構成を示したものである。ＤＭＡコントローラ６０５およびＤＭＡ転送の対象となるメモリＩ／Ｆ６０６に供給されるクロック変換回路６０９により、ブレーク指示信号６０７による停止指示が出ている場合はＤＭＡコントローラ６０５およびメモリＩ／Ｆ６０６に入力されるクロック６０４が停止されるようクロック信号を変換し、ブレーク指示信号６０７による停止指示が解除されるとＤＭＡコントローラ６０５およびメモリＩ／Ｆ６０６にクロック６０４が供給されるように信号を変換する。本構成により、ブレーク指示信号６０７による動作の停止・再開指示に連動してＤＭＡの転送動作を制御することが可能となる。
【００２７】
以上に挙げた構成により、前記プロセッサ１０３で実行中のプログラムの動作・停止と連動してＤＭＡコントローラ１０４の動作・停止の制御が可能となり、ソフトウェアプログラムとハードウェアの協調動作状態の解析を容易にする。
【産業上の利用可能性】
【００２８】
本発明にかかる半導体集積回路は、ＣＰＵと、リアルタイム処理を行うハードウェアを搭載したシステムＬＳＩにおいて有用である。例えば、映像・音楽をＭＰＥＧなどのデジタル符合処理技術を用いて光ディスク／磁気ディスクに記録・再生を行う映像・音楽記録再生装置用のシステムＬＳＩや、ネットワーク・通信におけるプロトコル処理と液晶画面へグラフィックス表示処理を同時に行う携帯電話向けシステムＬＳＩ等の用とにも応用できる。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施の形態１における半導体集積回路を示す図
【図２】特許文献１記載の半導体集積回路装置を示す図
【図３】本発明の実施の形態２における半導体集積回路内のバスプロトコルを示す図
【図４】本発明の実施の形態２におけるＤＭＡ転送の停止・再開制御方法を示す図
【図５】本発明の実施の形態３におけるＤＭＡ転送の停止・再開制御方法を示す図
【図６】本発明の実施の形態４におけるＤＭＡ転送の停止・再開制御方法を示す図
【符号の説明】
【００３０】
１０１    半導体集積回路
１０２    ブレーク指示信号
１０３    プロセッサ
１０４    ＤＭＡコントローラ
１０５    バス
１０６    共有資源
１０７    デバッガ装置
２０１    半導体集積回路
２０２    比較回路
２０３    プロセッサ
２０４    ＤＭＡコントローラ
２０５    バス
２０６    共有資源
２０７    シーケンス制御部
３０１    転送データ出力有効信号
３０２    転送データ信号
３０３    転送データ入力受付可能信号
３０４    バス動作クロック
３０５    ＤＭＡコントローラ
３０６    メモリインタフェース
３０７〜３１１    バス動作クロックに同期したタイミング
４０１    転送データ出力有効信号
４０２    転送データ信号
４０３    メモリＩ／Ｆが出力する転送データ入力受付可能信号
４０４    バス動作クロック
４０５    ＤＭＡコントローラ
４０６    メモリインタフェース
４０７    ブレーク指示信号
４０８    ＤＭＡコントローラに入力される転送データ入力受付可能信号
４０９    転送データ入力受付可能信号変換回路
５０１    ＤＭＡコントローラが出力するデータ転送アクセス要求信号
５０３    データ転送アクセス要求受付信号
５０４    バス動作クロック
５０５    ＤＭＡコントローラ
５０６    メモリインタフェース
５０７    ブレーク指示信号
５０８    メモリＩ／Ｆに入力されるデータ転送アクセス要求信号
５０９    データ転送アクセス要求変換回路
６０４    バス動作クロック供給源
６０５    ＤＭＡコントローラ
６０６    メモリインタフェース
６０７    ブレーク指示信号
６０８    ＤＭＡコントローラおよびメモリＩ／Ｆに供給されるクロック信号
６０９    クロック変換回路
【図１】
2006113716.tif 000003
【図２】
2006113716.tif 000004
【図３】
2006113716.tif 000005
【図４】
2006113716.tif 000006
【図５】
2006113716.tif 000007
【図６】
2006113716.tif 000008