JP2006113716A - 半導体集積回路 - Google Patents
半導体集積回路 Download PDFInfo
- Publication number
- JP2006113716A JP2006113716A JP2004298695A JP2004298695A JP2006113716A JP 2006113716 A JP2006113716 A JP 2006113716A JP 2004298695 A JP2004298695 A JP 2004298695A JP 2004298695 A JP2004298695 A JP 2004298695A JP 2006113716 A JP2006113716 A JP 2006113716A
- Authority
- JP
- Japan
- Prior art keywords
- dma controller
- data transfer
- integrated circuit
- semiconductor integrated
- signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Bus Control (AREA)
Abstract
【課題】従来のCPUデバッガでは、DMA転送を止めることはできないため、ソフトウェアとハードウェアが協調動作を行うシステムLSIを用いた機器のソフトウェア開発において、不具合発生箇所の特定が困難であった。
【解決手段】CPUデバッガからのブレーク指示を受けてDMA転送も停止・再開するよう制御することで、ソフトウェアの動作と連動してハードウェアの動作を解析することが可能となり、システムLSIを用いた機器のソフトウェア開発効率の向上が可能となる。
【選択図】図1
【解決手段】CPUデバッガからのブレーク指示を受けてDMA転送も停止・再開するよう制御することで、ソフトウェアの動作と連動してハードウェアの動作を解析することが可能となり、システムLSIを用いた機器のソフトウェア開発効率の向上が可能となる。
【選択図】図1
Description
本発明はプロセッサおよびDMAなどの回路を含む半導体集積回路に関するものであり特に半導体集積回路のデバッグ機構に関するものである。
半導体集積回路の製造プロセスの微細化により、複数の機能を集積回路に搭載したシステムLSIの製造が近年増加している。例えば、CPUに代表される汎用プロセッサと映像や音楽の符号化や復号化を行うハードウェアを搭載した、デジタルTV受信機やDVD録画・再生装置向けのシステムLSIや、CPUと有線/無線通信処理を行うハードウェアを搭載した通信機器向けのシステムLSIなどがある。
映像や音楽出力など、外界とリアルタイムで情報の入出力を行わなければならない処理をCPUのような汎用プロセッサによる逐次のデータ転送処理で保証するためには、プログラム処理時に想定されるオーバーヘッドを考慮するとCPU単体の処理能力が大きくなくてはならない。一方、逐次のデータ転送は専用のハードウェアで処理し、CPUはDMAコントローラのデータ転送対象の設定やDMA転送の起動処理にとどめるような構成を採った場合、プログラム処理とは独立にハードウェアの状態に依存してデータ転送処理が行われるため、処理性能の保証が容易となる。このため、システムLSIは後者の構成を採る場合が多い。
ここでシステムLSIを用いた機器を開発するにあたり、CPUがDMAコントローラによるデータ転送処理を制御するためのソフトウェアプログラムを開発する必要がある。従来、CPUを搭載した機器のソフトウェアプログラムの開発にあたっては、ワークステーションやパーソナルコンピュータなどソフトウェアプログラム開発用の端末と開発対象となるシステムLSIとを接続するCPUデバッガ用いる方法が広く採用されている。前記CPUデバッガは、CPUにおいて実行されるプログラムを任意の箇所で一時停止させるブレーク機能とLSI内部の状態をモニタリングする機能を備え、プログラム実行状態を確認しながらソフトウェアプログラムの開発が可能となっている。
しかし従来のCPUデバッガでは、CPUのプログラム実行を任意の位置で停止させることはできるが、DMAコントローラによるDMA転送を止めることはできない。そのためDMA転送やDMA転送の制御に不具合があった場合に動作を解析しようとしても、不具合発生箇所の特定が困難であるという課題があった。
前記課題を解決する方法として、特許文献1(特開平6−35750号公報)に開示された半導体集積回路装置が提案されている。図2は、特許文献1に記載された半導体集積回路装置を示す。
図2において、半導体集積回路201は、プロセッサ203、DMAコントローラ204、比較回路202、およびシーケンス制御部207を備えている。前記プロセッサ203と前記DMAコントローラ204はバス205を介して共に共有資源206へアクセスすることが可能である。前記比較回路202は前記DMAコントローラ204と接続されたバス205の信号と前もって指定された値とを比較し、比較結果を前記シーケンス制御部207に伝える。前記シーケンス制御部207は、前記比較回路202において予め指定された値と前記バス上の値が一致した場合に、前記プロセッサ203および前記DMAコントローラ204の動作を停止するよう制御する。本構成により、前記DMAコントローラ204の挙動が予め指定した状態になった時点で前記半導体集積回路201の動作を停止し、解析することが可能となる。
特開平6−35750号公報(第1−7頁、図1)
前記従来の構成では、前記比較回路202に設定しておく前記DMAコントローラ204の状態が解析以前に判っている必要があった。しかしながら、ソフトウェアプログラム開発における不具合動作解析の初期段階では、通常DMAコントローラが発行するバスアクセスの動作状態がどのような場合をトリガとすれば良いのか判明しておらず、前記構成が不具合解析の効率化には即結びつかないという課題があった。
前記従来の課題を解決するために、本発明の半導体集積回路においては、デバッガからのCPU動作の停止/再開指示であるブレーク指示信号に従って、DMAコントローラの動作も停止/再開を制御する構成をとる。本構成により、ソフトウェアプログラムの動作状態に応じてトリガを指定し、動作解析を進めながら、DMAコントローラに代表されるハードウェア動作状態の解析も同時に可能となる。
本発明によれば、ソフトウェアプログラムの動作状態に応じてトリガを指定し、動作解析を進めながら、DMAコントローラに代表されるハードウェア動作状態の解析も同時に可能となり、システムLSIを用いた機器のソフトウェア開発効率が向上する。
以下本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
図1は、本発明の実施の形態1における半導体集積回路のブロック図である。
図1は、本発明の実施の形態1における半導体集積回路のブロック図である。
図1において、半導体集積回路101は、プロセッサ103、DMAコントローラ104を備えている。
前記半導体集積回路101の外部からブレーク指示信号102が入力される。前記ブレーク指示信号102が半導体集積回路101に対して一時停止の指示を与えると、前記プロセッサ103はプログラム実行動作を一時停止し、また前記DMAコントローラ104もデータ転送動作を一時停止する。
さらに、前記ブレーク指示信号102が半導体集積回路101に対して動作再開の指示を与えると、前記プロセッサ103はプログラム実行動作を再開し、また前記DMAコントローラ104もデータ転送動作を再開する。
ここで、前記ブレーク指示信号102は、前記半導体集積回路101と接続され、前記プロセッサ103におけるプログラム開発を支援するデバッガ装置107から発行される構成をとっても良い。
(実施の形態2)
図1において、前記プロセッサ103と前記DMAコントローラ104は、バス105を介して共有資源106と接続される構成であっても良い。前記共有資源106としては、例えばメモリ、外部デバイスとのインタフェース回路におけるデータ転送レジスタおよび制御レジスタなどがある。
図1において、前記プロセッサ103と前記DMAコントローラ104は、バス105を介して共有資源106と接続される構成であっても良い。前記共有資源106としては、例えばメモリ、外部デバイスとのインタフェース回路におけるデータ転送レジスタおよび制御レジスタなどがある。
図3は、本発明の実施の形態2において、前記バス105における前記DMAコントローラ104から前記共有資源106へのデータ転送プロトコルの例を示す。ここではDMAコントローラ305のアクセス対象となる共有資源をメモリI/F306とし、バス105はDMAバス動作クロック304に同期して動作する場合を例に説明する。データ転送時に使用する信号は、DMAコントローラ305から出力される転送データ信号302と転送データ有効信号301、およびメモリI/F306から出力される転送データ入力受付可能信号303である。
前記DMAコントローラ305は、時刻307において、転送データ信号302と同時にデータ出力有効信号301をアサートし、出力しているデータが有効であることを転送対象であるメモリI/F306に伝える。一方、メモリI/F306は転送データ入力受付可能信号303をアサートしていないため、この時点ではまだデータ転送は成立していない。
時刻308において、メモリI/F306が転送データ入力受付可能信号303をアサートしてDMAコントローラ305に対して転送されたデータの受領が可能であることを通知し、データ転送が成立する。
時刻309において、メモリI/F306は依然としてデータ入力受付可能信号303をアサートし続け、データの受け入れが可能であることを示すが、DMAコントローラ305は出力するべきデータの準備が出来ておらず、出力データ有効信号301をネゲートし、ここではデータ転送が成立しない。
時刻310において、DMAコントローラ305は再び転送データ信号302の出力準備が整ったため、転送データ出力有効信号301を再びアサートし、ここで再びデータ転送が成立する。
時刻311において、DMAコントローラ305は転送データ出力の準備ができておらず、転送データ出力有効信号301をネゲートしている。また、メモリI/F306もデータ入力受付可能信号303をネゲートし、ここではデータ転送が成立しない。
図4は、本発明の実施の形態2において、ブレーク指示信号407によるブレーク指示があった場合のデータ転送を制御するための構成を示す。図3における構成に対して転送データ入力受付可能信号変換回路409を加え、メモリI/Fが出力する転送データ入力受付可能信号403がアサートされている場合であっても、ブレーク指示信号407による停止指示が出ている場合はDMAコントローラに入力される転送データ入力受付可能信号408がアサートされないように信号を変換し、ブレーク指示信号407による停止指示が解除されるとメモリI/Fが出力する転送データ入力受付可能信号403がそのままDMAコントローラに入力される転送データ入力受付可能信号408に伝わるように信号を変換する。本構成により、ブレーク指示信号407による動作の停止・再開指示に連動してDMAの転送動作を制御することが可能となる。
(実施の形態3)
図5は、本発明の実施の形態3におけるDMAコントローラによるバス上のデータ転送を制御する構成を示したものである。データ転送アクセス要求変換回路509により、ブレーク指示信号507による停止指示が出ている場合はメモリI/Fに入力されるデータ転送アクセス要求信号508がアサートされないように信号を変換し、ブレーク指示信号507による停止指示が解除されるとDMAコントローラ505が出力するデータ転送アクセス要求信号503がそのままメモリI/Fに入力されるデータ転送アクセス要求信号508に伝わるように信号を変換する。本構成により、ブレーク指示信号507による動作の停止・再開指示に連動してDMAの転送動作を制御することが可能となる。
図5は、本発明の実施の形態3におけるDMAコントローラによるバス上のデータ転送を制御する構成を示したものである。データ転送アクセス要求変換回路509により、ブレーク指示信号507による停止指示が出ている場合はメモリI/Fに入力されるデータ転送アクセス要求信号508がアサートされないように信号を変換し、ブレーク指示信号507による停止指示が解除されるとDMAコントローラ505が出力するデータ転送アクセス要求信号503がそのままメモリI/Fに入力されるデータ転送アクセス要求信号508に伝わるように信号を変換する。本構成により、ブレーク指示信号507による動作の停止・再開指示に連動してDMAの転送動作を制御することが可能となる。
(実施の形態4)
図6は、本発明の実施の形態4におけるDMAコントローラによるデータ転送を制御する構成を示したものである。DMAコントローラ605およびDMA転送の対象となるメモリI/F606に供給されるクロック変換回路609により、ブレーク指示信号607による停止指示が出ている場合はDMAコントローラ605およびメモリI/F606に入力されるクロック604が停止されるようクロック信号を変換し、ブレーク指示信号607による停止指示が解除されるとDMAコントローラ605およびメモリI/F606にクロック604が供給されるように信号を変換する。本構成により、ブレーク指示信号607による動作の停止・再開指示に連動してDMAの転送動作を制御することが可能となる。
図6は、本発明の実施の形態4におけるDMAコントローラによるデータ転送を制御する構成を示したものである。DMAコントローラ605およびDMA転送の対象となるメモリI/F606に供給されるクロック変換回路609により、ブレーク指示信号607による停止指示が出ている場合はDMAコントローラ605およびメモリI/F606に入力されるクロック604が停止されるようクロック信号を変換し、ブレーク指示信号607による停止指示が解除されるとDMAコントローラ605およびメモリI/F606にクロック604が供給されるように信号を変換する。本構成により、ブレーク指示信号607による動作の停止・再開指示に連動してDMAの転送動作を制御することが可能となる。
以上に挙げた構成により、前記プロセッサ103で実行中のプログラムの動作・停止と連動してDMAコントローラ104の動作・停止の制御が可能となり、ソフトウェアプログラムとハードウェアの協調動作状態の解析を容易にする。
本発明にかかる半導体集積回路は、CPUと、リアルタイム処理を行うハードウェアを搭載したシステムLSIにおいて有用である。例えば、映像・音楽をMPEGなどのデジタル符合処理技術を用いて光ディスク/磁気ディスクに記録・再生を行う映像・音楽記録再生装置用のシステムLSIや、ネットワーク・通信におけるプロトコル処理と液晶画面へグラフィックス表示処理を同時に行う携帯電話向けシステムLSI等の用とにも応用できる。
101 半導体集積回路
102 ブレーク指示信号
103 プロセッサ
104 DMAコントローラ
105 バス
106 共有資源
107 デバッガ装置
201 半導体集積回路
202 比較回路
203 プロセッサ
204 DMAコントローラ
205 バス
206 共有資源
207 シーケンス制御部
301 転送データ出力有効信号
302 転送データ信号
303 転送データ入力受付可能信号
304 バス動作クロック
305 DMAコントローラ
306 メモリインタフェース
307〜311 バス動作クロックに同期したタイミング
401 転送データ出力有効信号
402 転送データ信号
403 メモリI/Fが出力する転送データ入力受付可能信号
404 バス動作クロック
405 DMAコントローラ
406 メモリインタフェース
407 ブレーク指示信号
408 DMAコントローラに入力される転送データ入力受付可能信号
409 転送データ入力受付可能信号変換回路
501 DMAコントローラが出力するデータ転送アクセス要求信号
503 データ転送アクセス要求受付信号
504 バス動作クロック
505 DMAコントローラ
506 メモリインタフェース
507 ブレーク指示信号
508 メモリI/Fに入力されるデータ転送アクセス要求信号
509 データ転送アクセス要求変換回路
604 バス動作クロック供給源
605 DMAコントローラ
606 メモリインタフェース
607 ブレーク指示信号
608 DMAコントローラおよびメモリI/Fに供給されるクロック信号
609 クロック変換回路
102 ブレーク指示信号
103 プロセッサ
104 DMAコントローラ
105 バス
106 共有資源
107 デバッガ装置
201 半導体集積回路
202 比較回路
203 プロセッサ
204 DMAコントローラ
205 バス
206 共有資源
207 シーケンス制御部
301 転送データ出力有効信号
302 転送データ信号
303 転送データ入力受付可能信号
304 バス動作クロック
305 DMAコントローラ
306 メモリインタフェース
307〜311 バス動作クロックに同期したタイミング
401 転送データ出力有効信号
402 転送データ信号
403 メモリI/Fが出力する転送データ入力受付可能信号
404 バス動作クロック
405 DMAコントローラ
406 メモリインタフェース
407 ブレーク指示信号
408 DMAコントローラに入力される転送データ入力受付可能信号
409 転送データ入力受付可能信号変換回路
501 DMAコントローラが出力するデータ転送アクセス要求信号
503 データ転送アクセス要求受付信号
504 バス動作クロック
505 DMAコントローラ
506 メモリインタフェース
507 ブレーク指示信号
508 メモリI/Fに入力されるデータ転送アクセス要求信号
509 データ転送アクセス要求変換回路
604 バス動作クロック供給源
605 DMAコントローラ
606 メモリインタフェース
607 ブレーク指示信号
608 DMAコントローラおよびメモリI/Fに供給されるクロック信号
609 クロック変換回路
Claims (5)
- プロセッサとDMAコントローラを含む半導体集積回路であって、
前記半導体集積回路の外部から入力されるブレーク指示信号と、
前記ブレーク指示信号により、前記プロセッサにおけるプログラムの実行の一時停止および再開を制御するとともに、前記DMAコントローラによるデータ転送の一時停止および再開も制御することを特徴とする半導体集積回路。 - 前記ブレーク指示信号は、前記半導体集積回路に接続された前記プロセッサのデバッガ装置から供給されることを特徴とする請求項1記載の半導体集積回路。
- 前記DMAコントローラはデータ転送を行うためのバスに接続されるとともに、前記バスに接続され前記DMAコントローラからのアクセス対象となるハードウェア資源を備え、前記バスには前記ハードウェア資源から前記DMAコントローラに対するデータ転送受付を示すデータ転送受付信号が含まれており、前記ブレーク指示信号により前記データ転送受付信号を変換することで、前記DMAコントローラによるデータ転送の一時停止および再開を制御することを特徴とする請求項1または2記載の半導体集積回路。
- 前記DMAコントローラはデータ転送を行うためのバスに接続されるとともに、前記バスに接続され前記DMAコントローラからのアクセス対象となるハードウェア資源を備え、前記バスには前記DMAコントローラから前記ハードウェア資源に対するデータ転送要求を示すデータ転送要求信号が含まれており、前記ブレーク指示信号により前記データ転送要求信号を変換することで、前記DMAコントローラによるデータ転送の一時停止および再開を制御することを特徴とする請求項1または2記載の半導体集積回路。
- 前記DMAコントローラはデータ転送を行うためのバスに接続されるとともに、前記バスに接続され前記DMAコントローラからのアクセス対象となるハードウェア資源を備え、前記ブレーク指示信号により前記DMAコントローラおよび前記ハードウェア資源へのクロック供給を制御することで、前記DMAコントローラによるデータ転送の一時停止および再開を制御することを特徴とする請求項1または2記載の半導体集積回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004298695A JP2006113716A (ja) | 2004-10-13 | 2004-10-13 | 半導体集積回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004298695A JP2006113716A (ja) | 2004-10-13 | 2004-10-13 | 半導体集積回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006113716A true JP2006113716A (ja) | 2006-04-27 |
Family
ID=36382200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004298695A Pending JP2006113716A (ja) | 2004-10-13 | 2004-10-13 | 半導体集積回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006113716A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009096161A1 (ja) * | 2008-01-29 | 2009-08-06 | Panasonic Corporation | プロセッサ性能解析装置、方法及びシミュレータ |
JP2019169875A (ja) * | 2018-03-23 | 2019-10-03 | 京セラ株式会社 | 通信システム、通信モジュール、端末機器、通信方法及び通信プログラム |
-
2004
- 2004-10-13 JP JP2004298695A patent/JP2006113716A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009096161A1 (ja) * | 2008-01-29 | 2009-08-06 | Panasonic Corporation | プロセッサ性能解析装置、方法及びシミュレータ |
JP2019169875A (ja) * | 2018-03-23 | 2019-10-03 | 京セラ株式会社 | 通信システム、通信モジュール、端末機器、通信方法及び通信プログラム |
JP7009277B2 (ja) | 2018-03-23 | 2022-01-25 | 京セラ株式会社 | 通信システム、通信モジュール、端末機器、通信方法及び通信プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8266340B2 (en) | DMA controller | |
KR20050075722A (ko) | 프로세서 시스템, dma 제어 회로, dma 제어 방법,dma 제어기의 제어 방법, 화상 처리 방법, 및 화상처리 회로 | |
JP2016540268A (ja) | ウェイクロック使用を追跡する技術 | |
JP2008090375A (ja) | 割込み制御システム、およびこれを利用した記憶制御システム | |
WO2018040494A1 (zh) | 一种扩展处理器指令集的方法及装置 | |
US9201821B2 (en) | Interrupt timestamping | |
JP2009187223A (ja) | プロセッサ、電子機器、割込み制御方法及び割込み制御プログラム | |
JP2009514084A (ja) | リセット装置を具えたデータ処理装置 | |
US8082429B2 (en) | Information processing apparatus and exception control circuit | |
US7246220B1 (en) | Architecture for hardware-assisted context switching between register groups dedicated to time-critical or non-time critical tasks without saving state | |
EP3855285B1 (en) | System, apparatus and method for latency monitoring and response | |
RU2432601C2 (ru) | Метод внедрения детерминизма среди множества интервалов тактирования | |
JPWO2012120573A1 (ja) | デッドロック回避方法、デッドロック回避機構 | |
US8896610B2 (en) | Error recovery operations for a hardware accelerator | |
JP2006113716A (ja) | 半導体集積回路 | |
US20050144346A1 (en) | Message based transport mechanism for level sensitive interrupts | |
JP2004078683A (ja) | コンピュータシステムおよび共有メモリ制御方法 | |
US11392406B1 (en) | Alternative interrupt reporting channels for microcontroller access devices | |
JPWO2009113273A1 (ja) | プログラム実行装置およびその制御方法 | |
US6463482B1 (en) | Control, of conflict between MPC transfer and DMC transfer with measurement of instruction execution time | |
KR100932925B1 (ko) | MMoIP 데이터의 전송 효율을 위한 직접 메모리 접근제어 장치 및 그 방법 | |
JPH01243167A (ja) | データ処理装置 | |
JP5268477B2 (ja) | 情報処理装置およびその制御方法、データ処理システム | |
US6735713B1 (en) | System for suspending current bus cycle of microprocessor upon receiving external bus retry signal for executing other process and re-staring the suspended bus cycle thereafter | |
CN116860874A (zh) | 一种实现数据库备机快速同步ddl的方法、装置、设备及存储介质 |