JP2003006003A - Dmaコントローラおよび半導体集積回路 - Google Patents

Dmaコントローラおよび半導体集積回路

Info

Publication number
JP2003006003A
JP2003006003A JP2001183658A JP2001183658A JP2003006003A JP 2003006003 A JP2003006003 A JP 2003006003A JP 2001183658 A JP2001183658 A JP 2001183658A JP 2001183658 A JP2001183658 A JP 2001183658A JP 2003006003 A JP2003006003 A JP 2003006003A
Authority
JP
Japan
Prior art keywords
trace
dma
trace buffer
dma controller
writing
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
Application number
JP2001183658A
Other languages
English (en)
Inventor
Mamoru Sakukawa
守 作川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2001183658A priority Critical patent/JP2003006003A/ja
Priority to US10/163,507 priority patent/US7143205B2/en
Publication of JP2003006003A publication Critical patent/JP2003006003A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/30Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 DMA要求元の割り当てが妥当かどうか、D
MA要求間隔に不具合があるか否かを見極めるのが大変
困難であった。 【解決手段】 DMAコントローラ5は、複数のチャネ
ル2に予め割り当てられた優先順位にしたがって複数の
チャネル2を介して受け付けた複数のDMA要求信号1
の中からいずれか一つのDMA要求信号を選択して複数
のチャネル2間の調停を行う調停回路を備えた制御部3
と、選択したDMA要求に関するトレースデータ11を
格納するためのトレースバッファ4とを備えている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、CPUなどの機
能モジュールを搭載した半導体集積回路においてプログ
ラムやシステムのデバッグを補助するためにトレースデ
ータを格納するトレースバッファを備えたDMAコント
ローラおよび該DMAコントローラを備えた半導体集積
回路に関するものである。
【0002】
【従来の技術】従来、CPUなどの機能モジュールやD
MAコントローラを備えた半導体集積回路においてプロ
グラムやシステムのデバッグを補助するために、機能モ
ジュールやDMAコントローラが接続されているバスを
介して伝送されるアドレスやデータをトレースする方法
が用いられている。
【0003】図20は特開平2−308345号公開公
報に開示されたそのような従来のトレース方法の一例を
実現する端末装置およびデータ収集装置の構成を示すブ
ロック図である。図において、80はマイクロプロセッ
サであり、81はI/O制御回路であり、82はDMA
コントローラであり、83はメモリであり、84はデー
タバスであり、85は同期回路である。端末装置は、マ
イクロプロセッサ80、I/O制御回路81、DMAコ
ントローラ82、メモリ83、データバス84、および
同期回路85から構成される。また、86はトレースメ
モリであり、87はデータ表示装置である。端末装置か
らトレースデータを収集するデータ収集装置は、トレー
スメモリ86とデータ表示装置87とから構成される。
【0004】次に動作について説明する。I/O制御回
路81は入力されたデータに対するデータ転送要求をマ
イクロプロセッサ80から受け取ると、リクエスト信号
88をDMAコントローラ82へ出力する。DMAコン
トローラ82は、リクエスト信号88を受けて、マイク
ロプロセッサ80によってデータバス84が使用されて
いないことを確認した後、応答信号89をI/O制御回
路81および同期回路85へ出力し、これと同時にメモ
リ83に対してメモリライト信号90を出力する。I/
O制御回路81は応答信号89が入力されている間、メ
モリ83に対して転送するデータをデータバス84へ出
力する。同期回路85は、応答信号89の立ち下がりに
応答してデータバス84上のデータをラッチし、これと
同時にトレース要求信号91をデータ収集装置のトレー
スメモリ86へ出力し且つラッチしたデータをトレース
データバス92へ出力する。トレースメモリ86は、ト
レース要求信号91に応答して、トレースデータバス9
2上のデータを自身に書き込む。この書き込みが終了す
ると、トレースメモリ86は書き込み終了信号93を同
期回路85へ出力し、同期回路85はこの書き込み終了
信号93に応答してトレース要求信号91の出力を停止
する。端末装置およびデータ収集装置は、このような一
連の動作を繰り返すことにより、メモリ83に記憶され
るデータを収集することができる。そして、収集された
データはデータ表示装置87において表示される。
【0005】
【発明が解決しようとする課題】従来のトレース方法は
以上のように構成されているので、トレースしたデータ
の中にCPUアクセスに関するものを含めないように制
御することは可能であるが、通常他のバスマスタの転送
に関するものが含まれる上、アドレスバス、データしか
抽出することができず、DMAコントローラだけに関す
るトレースデータを抽出することが困難であるという課
題があった。
【0006】また、図20に示すようなトレース方法に
よれば、DMAコントローラ82に関するトレースデー
タを抽出することは可能であるが、DMAコントローラ
82が多数のチャネルを持つ場合、チャネル遷移に関す
る情報をトレースすることは困難であるので、DMA要
求元の割り当てがシステムレベルで妥当かどうか、DM
A要求間隔に不具合があるか否かを見極めるのが大変困
難であるという課題があった。
【0007】この発明は上記のような課題を解決するた
めになされたもので、DMAコントローラだけに関する
トレースデータを抽出することを可能にし、さらに、D
MAコントローラのチャネル毎の情報のトレースを可能
にすることにより、システムレベルでのデバッグを強力
にサポートするDMAコントローラおよび該コントロー
ラを含む半導体集積回路を得ることを目的とする。
【0008】
【課題を解決するための手段】この発明に係るDMAコ
ントローラは、複数のチャネルに予め割り当てられた優
先順位にしたがい複数のチャネルを介して受け付けた複
数のDMA要求の中から調停手段により選択されたDM
A要求に関するトレースデータを格納するためのトレー
スバッファ手段を備えたものである。
【0009】この発明に係るDMAコントローラは、調
停手段により選択されたDMA要求に関するトレースデ
ータのトレースバッファ手段への書き込みを許可するか
または禁止する書き込み制御手段を備えたものである。
【0010】この発明に係るDMAコントローラは、書
き込み制御手段が、トレースバッファ手段への書き込み
を制御するためのレジスタの内容にしたがいトレースバ
ッファ手段への書き込みを許可するかまたは禁止するも
のである。
【0011】この発明に係るDMAコントローラは、書
き込み制御手段が、外部に設けられたデバッグインタフ
ェース回路からの制御信号にしたがい調停手段により選
択されたDMA要求に関するトレースデータのトレース
バッファ手段への書き込みを許可するかまたは禁止する
ものである。
【0012】この発明に係るDMAコントローラは、調
停手段により選択されたDMA要求に関するトレースデ
ータのトレースバッファ手段への書き込みを所定のトリ
ガ条件が成立した際にトリガするトリガ手段を備えたも
のである。
【0013】この発明に係るDMAコントローラは、ト
リガ手段が、複数のトリガ条件のなかからいずれか一つ
を選択し、選択したトリガ条件が成立した際にトレース
バッファ手段への書き込みをトリガするものである。
【0014】この発明に係るDMAコントローラは、ト
レースバッファ手段が満杯である場合に、調停手段によ
り選択されたDMA要求に関するトレースデータのトレ
ースバッファ手段への書き込みを停止またはDMA転送
を停止またはこれらいずれかの手段を選択できるもので
ある。
【0015】この発明に係るDMAコントローラは、ト
レースバッファ手段は外部に設けられたCPUなどの機
能モジュールのアドレス空間の一部にマッピングされて
いるものである。
【0016】この発明に係るDMAコントローラは、制
御端子を介して外部から印加される読み出し要求信号に
したがいトレースバッファ手段からトレースデータを読
み出して外部へ出力するものである。
【0017】この発明に係るDMAコントローラは、外
部に設けられたデバッグインタフェース回路からの読み
出し要求信号にしたがいトレースバッファ手段からトレ
ースデータを読み出してデバッグインタフェース回路へ
出力するものである。
【0018】この発明に係る半導体集積回路は、複数の
チャネルに予め割り当てられた優先順位にしたがい複数
のチャネルを介して受け付けた複数のDMA要求の中か
ら調停手段により選択されたDMA要求に関するトレー
スデータを格納するためのトレースバッファ手段を含む
DMAコントローラと、バスの使用の権利についてCP
Uなどの機能モジュールとDMAコントローラとの間の
調停を行うバス制御手段と、入力されるコマンドにした
がい機能モジュールまたはDMAコントローラにアクセ
スするアクセス機能およびデバッグ機能を有しているデ
バッグインタフェース回路とを備えたものである。
【0019】この発明に係る半導体集積回路は、DMA
コントローラが、調停手段により選択されたDMA要求
に関するトレースデータのトレースバッファ手段への書
き込みを許可するかまたは禁止する書き込み制御手段を
備えたものである。
【0020】この発明に係る半導体集積回路は、書き込
み制御手段が、機能モジュールにより内容が変更可能で
あってトレースバッファ手段への書き込みを制御するた
めのレジスタを備えており、該レジスタの内容にしたが
いトレースバッファ手段への書き込みを許可するかまた
は禁止するものである。
【0021】この発明に係る半導体集積回路は、書き込
み制御手段が、外部端子を介して印加される制御信号に
したがいトレースバッファ手段への書き込みを許可する
かまたは禁止するものである。
【0022】この発明に係る半導体集積回路は、書き込
み制御手段が、デバッグインタフェース回路からの制御
信号にしたがい調停手段により選択されたDMA要求に
関するトレースデータのトレースバッファ手段への書き
込みを許可するかまたは禁止するものである。
【0023】この発明に係る半導体集積回路は、DMA
コントローラが、調停手段により選択されたDMA要求
に関するトレースデータのトレースバッファ手段への書
き込みを所定のトリガ条件が成立した際にトリガするト
リガ手段を備えたものである。
【0024】この発明に係る半導体集積回路は、トリガ
手段が、複数のトリガ条件のなかからいずれか一つを選
択し、選択したトリガ条件が成立した際にトレースバッ
ファ手段への書き込みをトリガするものである。
【0025】この発明に係る半導体集積回路は、トレー
スバッファ手段が満杯である場合に、調停手段により選
択されたDMA要求に関するトレースデータのトレース
バッファ手段への書き込みを停止またはDMA転送を停
止またはこれらいずれかの手段を選択できるものであ
る。
【0026】この発明に係る半導体集積回路は、トレー
スバッファ手段が機能モジュールのアドレス空間の一部
にマッピングされているものである。
【0027】この発明に係る半導体集積回路は、DMA
コントローラが、デバッグインタフェース回路からの読
み出し要求信号にしたがいトレースバッファ手段からト
レースデータを読み出してデバッグインタフェース回路
へ出力し、デバッグインタフェースから外部のデバッガ
へ出力するものである。
【0028】
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.図1はこの発明の実施の形態1によるD
MAコントローラおよび該DMAコントローラを含む半
導体集積回路の構成を示すブロック図である。図におい
て、1はDMAコントローラ5に入力されるDMA要求
信号であり、2はDMAコントローラ5のチャネルであ
り、3はDMAコントローラ5を制御するとともに、バ
ス8との入出力インタフェースを兼ねる制御部であり、
4はトレースバッファ(トレースバッファ手段)であ
り、6はDMAコントローラ5の制御部3に接続されて
おり、バス8に接続されたCPUなどの機能モジュール
7、DMAコントローラ5などの間でバス8の使用の権
利について調停を行うバス制御部であり、9はDMAコ
ントローラ5からバス制御部6へ送信される制御信号で
あり、14はバス制御部6からDMAコントローラ5へ
送信されるDMA転送の許可信号であり、10はDMA
コントローラ5の制御部3からトレースバッファ4ヘ出
力される書き込み要求信号であり、11はDMAコント
ローラ5からトレースバッファ4ヘ出力される、選択さ
れたチャネル番号、そのチャネル番号に関する転送元、
転送先のアドレス、DMA要求信号の状態、DMA要求
要因データ、転送データ数データなどのトレースデータ
であり、12はトレースバッファ4から読み出されるト
レースデータであり、13は各チャネル2と制御部3と
の間を送信されるインタフェース信号である。
【0029】図2はDMAコントローラ5の各チャネル
2および制御部3の構成を示すブロック図である。図に
おいて、21は複数(例えば31)のDMA要求信号1
を検出するための入力センス部であり、22は入力セン
ス部21のそれぞれDMA要求を示す複数の出力からい
ずれか一つを選択して出力するセレクタであり、23は
各DMA要求信号1の状態を保持するフリップフロップ
であり、24は転送元、転送先のアドレスが格納される
アドレスレジスタであり、25は転送データ数が格納さ
れるバイトカウントレジスタであり、26はDMAコン
トローラ5を制御するための情報が格納されるDMA制
御レジスタであり、261はDMA制御レジスタ26中
に設けられ、入力センス部21のセンス条件を指定する
値が格納されるフィールドであり、262はDMA制御
レジスタ26中に設けられ、セレクタ22のDMA要求
要因の選択を指定する値が格納されるフィールドであ
る。各チャネル2はフィールド262の値をDMA要求
要因データとして制御部3へ出力する。また、27はD
MA転送が許可されている場合に1がセットされる1ビ
ットのDMA転送許可レジスタである。
【0030】さらに、31は複数のチャネル2からのD
MA要求から1つのチャネルのDMA要求を選択すべく
複数のチャネル間の調停を行う調停回路(調停手段)で
あり、32は調停回路31によって選択されたチャネル
番号であり、33は調停回路31から送出されるチャネ
ル番号にしたがい複数のチャネル2から送出されたそれ
ぞれ転送元、転送先のアドレスを示す複数のアドレスデ
ータから1つのアドレスデータを選択するアドレスセレ
クタであり、34はアドレスセレクタ33によって選択
されたアドレスデータであり、35は調停回路31から
送出されるチャネル番号にしたがい複数のチャネル2か
ら送出される複数の転送データ数データから1つの転送
データ数データを選択するバイトカウントセレクタであ
り、36はバイトカウントセレクタ35によって選択さ
れた転送データ数データを示すバイトカウントであり、
37は調停回路31から送出されるチャネル番号にした
がい複数のチャネル2から送出される複数のDMA要求
要因データから1つのDMA要求要因データを選択する
DMA要求要因セレクタであり、38はDMA要求要因
セレクタ37によって選択されたDMA要求要因データ
であり、39は調停回路31から送出されるチャネル番
号にしたがい複数のチャネル2から送出される複数のD
MA要求信号値セットから1つのDMA要求信号値セッ
トを選択するDMA要求信号値セレクタであり、40は
DMA要求信号値セレクタ39によって選択されたDM
A要求信号値セットである。なお、デバッグ時にDMA
要求信号が正しく入力されているか否かを確認するため
に、各チャネルは、入力されたすべてのDMA要求信号
値を制御部3のDMA要求信号値セレクタ39へ出力す
る。
【0031】図3はDMA制御レジスタ26の一例の構
成を示す図である。図3に示すDMA制御レジスタ26
は32ビットのレジスタであり、図に示すようなフイー
ルドを含んでいる。DREQは、DMA要求フィールド
であり、DMA要求信号を認識した場合に1がセットさ
れ、転送が始まると0クリアされる。MDSELは、D
MA転送モード選択フィールドであり、1にセットされ
ている場合、1データ転送毎にバス権を離すサイクルス
チールモードが選択され、0にセットされている場合、
1オペランド転送間はバス権を取得したままになるバス
権連続取得モードが選択される。OPSELは1オペラ
ンド転送データ数選択フィールドであり、1回のDMA
要求で転送するデータ数を示している。SAMODはソ
ースアドレッシングモード選択フィールドであり、転送
元(ソース)のアドレッシングモードを選択する。DA
MODはデスティネーションアドレッシングモード選択
フィールドであり、転送先(デスティネーション)のア
ドレッシングモードを選択する。DSEはDMA要求入
力センスモード選択フィールドであり、図2の入力セン
ス部21のセンスモードを選択する。これは、図2のD
MA制御レジスタ26のフィールド261に相当する。
また、REQSELはDMA要求要因選択フィールドで
あり、図2のセレクタ22のDMA要求要因の選択を指
定する値を格納している。これは、図2のDMA制御レ
ジスタ26のフィールド262に相当する。
【0032】次に動作について説明する。DMAコント
ローラ5は、DMAコントローラ5が含まれる半導体集
積回路の外部端子や内部のタイマー、シリアルI/Oな
どから送信されるDMA要求信号に応答し、CPUなど
の機能モジュール7を介さずに直接データの転送を行う
ことができる。DMAコントローラ5は複数のチャネル
2を持ち、チャネル毎に複数のDMA要求信号1を受け
付けることができ、転送元、転送先のアドレス、転送デ
ータ数、DMA要求要因選択、アドレッシングモードな
どの指定が可能である。
【0033】DMAコントローラ5の各チャネル2は、
独立して動作しており、DMA要求信号1を受けて制御
部3に対しDMA転送のリクエストを出力する。外部端
子や内部のタイマー、シリアルI/OなどからDMA要
求信号1が各チャネル2に入力されると、各チャネル2
の入力センス部21はそのDMA要求信号1を検出す
る。この際、入力センス部21は、DMA制御レジスタ
26のDMA要求入力センスモード選択フィールド26
1に格納されている値に応じて、立ち上がリエッジセン
ス、Hレベルセンス、立ち下がりエッジセンス、Lレべ
ルセンスのいずれかのモードで入力されたDMA要求信
号1を検出する。さらに、セレクタ22は、DMA制御
レジスタ26のDMA要求要因選択フィールド262に
格納されている値に応じて、入力センス部21により検
出された複数のDMA要求信号1のなかから1つを選択
し、選択したDMA要求信号1を制御部3の調停回路3
1へ送出する。
【0034】また、各チャネル2において、アドレスレ
ジスタ24は転送元、転送先のアドレスを格納してお
り、この1組の転送元、転送先のアドレスを示すアドレ
スデータを制御部3のアドレスセレクタ33へ送出す
る。アドレスレジスタ24の内容はDMA転送を行うご
とに更新される。バイトカウントレジスタ25は転送デ
ータ数を格納しており、この転送データ数データを制御
部3のバイトカウントセレクタ35へ送出する。バイト
カウントレジスタ25の内容は、データ転送を行うごと
にデクリメントされる。DMA制御レジスタ26は、D
MA要求要因選択フィールド262に格納されている値
すなわちDMA要求要因データをDMA要求要因セレク
タ37へ送出する。また、複数のフリップフロップ23
はチャネル2に入力されたすべてのDMA要求信号1の
状態を保持しており、それらの値をDMA要求信号値セ
レクタ39へ送出する。
【0035】調停回路31は、複数のチャネル2に予め
割り当てられた優先順位にしたがい複数のチャネル2か
ら送信される複数のDMA要求信号1からいずれか1つ
のチャネルのDMA要求信号1を選択する。すなわち、
調停回路31は複数のチャネル間の調停を行い、選択し
たチャネルのチャネル番号32を出力する。アドレスセ
レクタ33は、調停回路31から送出されるチャネル番
号32にしたがい複数のチャネル2から送出される複数
のアドレスデータから選択されたチャネルのアドレスデ
ータ34すなわち転送元、転送先のアドレスを選択して
トレースバッファ4へ送出する。バイトカウントセレク
タ35は、調停回路31から送出されるチャネル番号3
2にしたがい複数のチャネル2から送出される複数の転
送データ数データから1つの転送データ数データ36を
選択してトレースバッファ4へ送出する。DMA要求要
因セレクタ37は、調停回路31から送出されるチャネ
ル番号32にしたがい複数のチャネル2から送出される
複数のDMA要求要因データから1つのDMA要求要因
データ38を選択してトレースバッファ4へ送出する。
DMA要求信号値セレクタ39は、調停回路31から送
出されるチャネル番号32にしたがい選択されたチャネ
ルからのDMA要求信号値セット40を選択してトレー
スバッファ4へ送出する。
【0036】このようにして、制御部3は、DMA要求
に関して複数のチャネル2間の調停を行い、1つのチャ
ネルを選択する。そして、制御部3はDMA転送の開始
を指示する制御信号9をバス制御部6へ出力する。バス
制御部6からDMA転送の許可信号14を受け取ると、
DMAコントローラ5は選択したチャネル2の設定にし
たがいDMA転送を開始する。さらに、制御部3は、選
択されたチャネル番号32、チャネル番号32により指
定されるチャネルの転送元、転送先のアドレスデータ3
4、転送データ数データ36、DMA要求要因データ3
8、DMA要求信号値セット40を少なくとも含むトレ
ースデータ11をトレースバッファ4へ出力し、トレー
スバッファ4は、同様に制御部3から出力される書き込
み要求信号10に応答して受け取ったトレースデータ1
1を自身に書き込む。
【0037】図4はDMA転送におけるトレースバッフ
ァ4へのトレースデータ格納を示す図である。図に示す
例では、4回のDMA転送が断続的に行われている。な
お、4回のDMA転送間に「アイドル」と示されている
間は、DMA転送が停止されており、機能モジュール7
など他のバスマスタがバス8を使用している。1回目の
DMA転送が開始されると、DMAコントローラ5は、
選択されたチャネル番号32、チャネル番号32により
指定されるチャネルの転送元、転送先のアドレスデータ
34、転送データ数データ36、DMA要求要因データ
38、DMA要求信号値セット40を少なくとも含むト
レースデータ11をトレースバッファ4に書き込む。2
回目のDMA転送の開始時には、DMAコントローラ5
は選択したチャネルに関するトレースデータ11をトレ
ースバッファ4の次の領域に書き込む。3回目、4回目
のDMA転送の開始時にも、DMAコントローラ5は同
様に選択したチャネルに関するトレースデータ11をト
レースバッファ4に書き込む。
【0038】図5はこの発明の実施の形態1によるDM
Aコントローラ5のトレースバッファ4の一例の構成を
示すブロック図であり、図において、41は制御部3か
らの書き込み要求信号10を更新フラグとして受け取
り、書き込み要求信号10を受け取る度に1インクリメ
ントするポインタであり、42はポインタ41がオーバ
ーフローした際にすなわちトレースバッファ4が満杯に
なった際に図1の制御部3へ出力するオーバーフローフ
ラグであり、43−1〜43−nはそれぞれ1回の書き
込み要求で制御部3から送出されるトレースデータ11
が書き込まれるレジスタであり、44はポインタ41の
出力をデコードしポインタ41が指定するレジスタ43
−i(i=1〜n)へ書き込み要求信号を出力するデコ
ーダである。
【0039】図6はトレースバッファ4がオーバーフロ
ーした以降にトレースバッファ4へトレースデータ11
を書き込み続ける場合を示すタイミングチャートであ
り、図7はトレースバッファ4がオーバーフローした時
にトレースバッファ4へのトレースデータ11の書き込
みを停止する場合を示すタイミングチャートである。
【0040】ポインタ41は、次にトレースデータ11
が書き込まれるレジスタ43−iを特定するカウンタで
あり、その値は更新フラグを受信する度に0から順にイ
ンクリメントする。ポインタ41は、図1に示す制御部
3から出力されるトレースバッファ4ヘの書き込み要求
信号10を更新フラグとして受信する。トレースバッフ
ァ4は、書き込み要求毎にトレースデータ11が書き込
まれる複数のレジスタ43−1〜43−nを有してい
る。したがって、トレースバッファ4が8個のレジスタ
を有している場合にはポインタ41は3ビットカウンタ
であり、トレースバッファ4が16個のレジスタを有し
ている場合にはポインタ41は4ビットカウンタであ
る。
【0041】デコーダ44は、ポインタ41が出力する
値をデコードし、ポインタ41が指定するレジスタ43
−i(i=1〜n)へ書き込み要求信号を出力する。書
き込み要求信号を受け取ったレジスタ43−iは、これ
に応答して、制御部3から送られたトレースデータ11
を自身に格納する。ポインタ41は、制御部3から書き
込み要求信号10が入力される度にインクリメントして
いくが、その値がオーバーフローした場合、オーバーフ
ローフラグ42を1にセットして制御部3へ送出し再び
0に戻る。DMAコントローラ5は、トレースバッファ
4のポインタ41がオーバーフローした場合の処理とし
て、そのまま継続してトレースデータ11をトレースバ
ッファ4に書き込む第1のモードと、トレースデータ1
1のトレースバッファ4への書き込みを停止するがDM
A転送を停止せずに続行する第2のモードと、トレース
データ11のトレースバッファ4への書き込みを停止す
るとともにDMA転送も停止する第3のモードとを有し
ている。第1のモードでは、図6に示すように、ポイン
タ41は再び0に戻され、トレースデータ11が既に書
き込まれている複数のレジスタ43−1〜43−nにト
レースデータ11が順に上書きされる。第2のモードで
は、トレースバッファ4は、オーバーフローフラグ42
が立つと制御部3から送出されるトレースデータ11を
レジスタ43−1〜43−nに書き込まないように制御
する。例えば、オーバーフローフラグ42はデコーダ4
4に入力され、デコーダ44はオーバーフローフラグ4
2が1の間はトレースバッファ4のいかなるレジスタに
も書き込み要求信号を出力しないように構成される。し
たがって、DMA転送は継続して実施されるがトレース
バッファ4は上書きされることはない。他方、第3のモ
ードでは、DMAコントローラ5の制御部3は、オーバ
ーフローフラグ42にしたがい、すべてのチャネル2の
DMA転送許可レジスタ27(図2参照)を0クリアす
る。DMA許可ビットがクリアされると、DMAコント
ローラ5はすべてのチャネル2についてその後のDMA
転送を起動できない。したがって、DMA転送は停止さ
れトレースバッファ4は上書きされることはない。な
お、DMAコントローラ5の制御部3は、オーバーフロ
ーフラグ42が立つと、トレースおよびDMA転送若し
くはトレースのみが停止されたことを割り込み信号のア
サー卜によって機能モジュール7に通知する。
【0042】DMAコントローラ5は、トレースバッフ
ァ4がオーバーフロー時にトレースデータの書き込みを
停止することができるので、上書きによって既に書き込
まれたトレースデータが消去されることを防止できる。
これらはすべてデバッグ効率の向上に繋がる。また、上
記第1および第2のモードを切り替えることができるの
で、テバッグ時にこれらのモードを切り替えつつ不具合
が発生している範囲を狭めていき不具合の発生している
場所を特定することが可能である。なお、図5に示すよ
うな構成を有するトレースバッファ4はリングバッファ
と呼ばれている。
【0043】トレースバッファ4の構成は図5に示した
ものに限定されない。図8はトレースバッファ4の他の
例を示すブロック図である。図8に示すトレースバッフ
ァ4はFIFO型バッファである。図において、45−
1〜45−nはそれぞれ制御部3からの書き込み要求信
号10に応答して、既に格納していたトレースデータを
次段のレジスタへ転送するととも、入力されたトレース
データ11を格納するレジスタであり、46はオーバー
フローフラグである。トレースバッファ4を構成する複
数のレジスタ45−1〜45−nは、図8に示すよう
に、シフトレジスタのような構成を有している。
【0044】制御部3からのトレースバッファ4ヘの書
き込み要求信号10は、FIFO型のトレースバッファ
4の各レジスタに印加される。新たな書き込みが発生す
る度に、書き込まれるトレースデータ11はトレースバ
ッファ4の先頭のレジスタ45−1に入力され、各レジ
スタ45−i(i=1〜n−1)の内容は次段のレジス
タ45−(i+1)へシフトする。そして、最終段のレ
ジスタ45−nに有効なトレースデータが格納されてい
る場合にすなわちトレースバッファ4が満杯になってい
る場合に新たな書き込みが発生すると、トレースバッフ
ァ4はオーバーフローフラグ46を1にセットする。図
5に示す上記のリングバッファの場合と同様に、DMA
コントローラ5は、オーバーフローフラグ46が立った
場合の処理として、そのまま継続してトレースデータを
トレースバッファ4に書き込む第1のモードと、トレー
スデータのトレースバッファ4への書き込みを停止する
第2のモードを有している。第1のモードでは、各レジ
スタ45−i(i=1〜n−1)の内容は次段のレジス
タ45−(i+1)へシフトし、入力されたトレースデ
ータ11は先頭のレジスタ45−1に書き込まれる。他
方、第2のモードでは、DMAコントローラ5の制御部
3は、オーバーフローフラグ46にしたがい、すべての
チャネル2のDMA転送許可レジスタ27(図2参照)
を0クリアする。DMA許可ビットがクリアされると、
DMAコントローラ5はすべてのチャネル2についてそ
の後のDMA転送を起動できない。したがって、トレー
スバッファ4は上書きされることはない。なお、第2の
モードにおいて、トレースデータの書き込みのみを停止
してDMA転送を継続して実施するようにしてもよい。
例えば、オーバーフローフラグ46が1の間は制御部3
から入力される書き込み要求信号10の各レジスタへの
送信を停止するスイッチが設けられる。DMAコントロ
ーラ5の制御部3は、オーバーフローフラグ46が立つ
と、トレースおよびDMA転送若しくはトレースのみが
停止されたことを割り込み信号のアサー卜によって機能
モジュール7に通知する。
【0045】したがって、この場合においても、DMA
コントローラ5は、トレースバッファ4がオーバーフロ
ー時にトレースデータの書き込みを停止することができ
るので、上書きによって既に書き込まれたトレースデー
タが消去されることを防止できる。これらはすべてデバ
ッグ効率の向上に繋がる。また、上記第1および第2の
モードを切り替えることができるので、テバッグ時にこ
れらのモードを切り替えつつ不具合が発生している範囲
を狭めていき不具合の発生している場所を特定すること
が可能である。さらに、トレースバッファ4はシフトレ
ジスタのような構成を有しているので、各々のレジスタ
の制御が不要で制御が簡単になり回路規模を小さくでき
る。
【0046】好ましくは、トレースバッファ4はCPU
などの機能モジュール7のアドレス空間の一部にマッピ
ングされる。この場合、機能モジュール7はトレースバ
ッファ4に格納されている任意のトレースデータを読み
出すことができるので、特別な装置を設けることなく、
ソフトウェアを介してトレースデータの解析を行うこと
ができるデバッグシステムを簡単に構築できる。
【0047】例えば、機能モジュール7が32ビットC
PUである場合、図9に示すような0x0000000
0から0xffffffffまでの論理アドレス空間を
持つ。この論理アドレス空間は、図9に示すように、各
チャネル2のDMA転送許可レジスタ27、アドレスレ
ジスタ24、バイトカウントレジスタ25、DMA制御
レジスタ26、および、トレースバッファ4に含まれる
複数のレジスタがマッピングされているDMA転送制御
用アドレス空間を含んでいる。
【0048】したがって、機能モジュール7は各チャネ
ルに関するDMA転送の設定を容易に行うことができ
る。また、機能モジュール7は、DMAコントローラ5
のトレースバッファ4に格納されている任意のトレース
データをバス8を介して読み出すことができる。
【0049】以上のように、この実施の形態1によれ
ば、DMAコントローラ5は、複数のチャネル2を介し
て受け付けた複数のDMA要求信号1から複数のチャネ
ル2に予め割り当てられた優先順位にしたがっていずれ
か一つのDMA要求信号を選択して複数のチャネル2間
の調停を行う調停回路31を含む制御部3と、調停回路
31により選択されたDMA要求に関するチャネル番号
32、チャネル番号32により指定されるチャネルの転
送元、転送先のアドレスデータ34、転送データ数デー
タ36、DMA要求要因データ38、DMA要求信号値
セット40を少なくとも含むトレースデータ11を格納
するためのトレースバッファ4とを備えたので、意図し
ないDMA転送が起動されていないか、複数のチャネル
2への優先順位の割り当ては妥当か、間違ったアドレッ
シングをしていないか、DMA転送に間違いはないかと
いった確認を容易に行うことができ、プログラムのデバ
ッグを容易にできる効果がある。また、DMAコントロ
ーラ5を含む半導体集積回路にいて、トレースバッファ
4が機能モジュール7のアドレス空間の一部にマッピン
グされた場合、機能モジュール7はトレースバッファ4
に格納されている任意のトレースデータを読み出すこと
ができるので、特別な装置を設けることなく、ソフトウ
ェアを介してトレースデータの解析を行うことができる
デバッグシステムを簡単に構築できる。
【0050】また、複数のチャネル2に予め割り当てら
れた優先順位が固定であり、n1バイト/秒の転送レー
トが必要な要求、n2バイト/秒の転送レートが必要で
リアルタイム性能が要求される要求、n3バイト/秒の
転送レートが必要であるがリアルタイム性能は要求され
ない要求が混在するシステムにおいて、どのチャネルに
どのDMA要求要因を割り当てれば最もよいパフォーマ
ンスを得られるかを調べる上でもこの実施の形態1によ
るDMAコントローラ5は有効である。
【0051】実施の形態2.図10はこの発明の実施の
形態2によるDMAコントローラおよび該DMAコント
ローラを含む半導体集積回路の構成を示すブロック図で
ある。この実施の形態2によるDMAコントローラ5
は、図1に示す上記実施の形態1による構成に加えて、
トレースデータ11のトレースバッファ4への書き込み
を許可するかまたは禁止する書き込み制御機能を備えて
いる。
【0052】図10において、図1と同一の符号は上記
実施の形態1によるDMAコントローラ5のものと同一
の構成要素を示しており、以下ではその説明を省略す
る。また、47はバス8に接続されており、バス8を介
して印加されるトレースバッファ4への書き込みを許可
するかまたは禁止する第1のトレース制御信号48の値
が書き込まれるレジスタであり、49はこの実施の形態
2による半導体集積回路のチップに設けられ外部から第
2のトレース制御信号50が印加される外部端子51に
接続された第1の制御端子であり、52は半導体集積回
路に含まれるデバッグインタフェース回路53に接続さ
れデバッグインタフェース回路53から出力される第3
のトレース制御信号54が印加される第2の制御端子で
あり、55はレジスタ47の出力端子と、第1および第
2の制御端子49,52とに接続された3つの入力端子
を有しており、3つの入力すなわち第1から第3のトレ
ース制御信号48,50,54の論理和を演算するOR
ゲートであり、56はORゲート55の出力と制御部3
から出力される書き込み要求信号10との論理積を演算
するANDゲートである。なお、図10において、図1
に示す複数のチャネル2は図示されていない。また、D
MAコントローラ5の書き込み制御手段は、レジスタ4
7、第1および第2の制御端子49,52、ORゲート
55、ならびに、ANDゲート56により実現される。
【0053】また、デバッグインタフェース回路53
は、図10に示すように、JTAG端子57(TCK,
TMS,TDI,TDO,TRST)に接続されたJT
AGコントローラ58を備えている。
【0054】次に動作について説明する。レジスタ47
は、半導体集積回路に含まれるCPUなどの機能モジュ
ール7から書き込み可能なレジスタであり、1が書き込
まれた場合には、トレースバッファ4への書き込みを許
可すべくアサートされた第1のトレース制御信号48を
ORゲート55へ出力し、0が書き込まれた場合には、
トレースバッファ4への書き込みを禁止すべくネゲート
された第1のトレース制御信号48をORゲート55へ
出力する。なお、ソフトウェアによりレジスタ47の内
容は書き換えられる。また、DMAコントローラ5は、
第1の制御端子49を介して、DMAコントローラ5が
組み込まれる半導体集積回路チップの外部端子51に印
加される第2のトレース制御信号50を受信し、第2の
トレース制御信号50をORゲート55へ送出する。
【0055】デバッグインタフェース回路53は、SD
I(スケーラブル・デバッグ・インタフェース)のよう
な、JTAG端子57に接続されるオンチップデバッグ
機能モジュールである。デバッグインタフェース回路5
3は、JTAG端子57(TCK,TMS,TDI,T
DO,TRST)に印加される信号によって制御され、
シリアルに入力されるコマンドにしたがい機能モジュー
ル7やDMAコントローラ5へのアクセス機能や、デバ
ッグ機能(ブレーク、トレースなど)を有している。例
えば、デバッグインタフェース回路53は、レジスタ4
7へ1を書き込むコマンドをJTAG端子57およびJ
TAGコントローラ58を介して受信すると、機能モジ
ュール7へその旨を指示しバス8経由でレジスタ47に
1を書き込むことができる。他方、デバッグインタフェ
ース回路53は、直接的にトレースバッファ4への書き
込みを許可するコマンドをJTAG端子57およびJT
AGコントローラ58を介して受信すると、内部信号す
なわち第3のトレース制御信号54をアサートしてDM
Aコントローラ5の第2の制御端子52へ送出する。そ
して、第3のトレース制御信号54はORゲート55に
入力される。
【0056】以上のように、この実施の形態2によるD
MAコントローラ5は、トレースデータ11のトレース
バッファ4への書き込みを許可または禁止する方法を3
つ有しており、それらのいずれか一つをインプリメント
することによりトレースバッファ4への書き込み制御を
実施する。
【0057】ORゲート55は第1から第3のトレース
制御信号48,50,54の論理和を演算し、その論理
和演算結果をANDゲート56へ出力する。ANDゲー
ト56は、ORゲート55の出力と制御部3から出力さ
れる書き込み要求信号10との論理積を演算し、その論
理積演算結果をトレースバッファ4へ出力する。
【0058】一方、上記実施の形態1と同様に、実施の
形態2によるDMAコントローラ5の制御部3は、DM
A要求について複数のチャネル2間の調停を行い、1つ
のチャネルを選択する。そして、制御部3はDMA転送
の開始を指示する制御信号9を図1のバス制御部6に出
力する。バス制御部6からDMA転送の許可信号14を
受け取ると、DMAコントローラ5は選択したチャネル
2の設定にしたがいDMA転送を開始する。さらに、制
御部3は、選択されたチャネル番号、チャネル番号によ
り指定されるチャネルの転送元、転送先のアドレス、転
送データ数データ、DMA要求要因データ、DMA要求
信号値セットを少なくとも含むトレースデータ11をト
レースバッファ4に出力し、トレースバッファ4は、A
NDゲート56から上記のようにして出力される論理積
演算結果が1の場合に、受け取ったトレースデータ11
を自身に書き込む。
【0059】以上のように、この実施の形態2によれ
ば、DMAコントローラ5の制御部3は、レジスタ47
から出力される第1のトレース制御信号48、DMAコ
ントローラ5の外部から第1の制御端子49を介して入
力される第2のトレース制御信号50、およびデバッグ
インタフェース回路53から印加される第3のトレース
制御信号54にしたがい、制御部3の調停回路により選
択されたチャネルのDMA要求に関するトレースデータ
11のトレースバッファ4への書き込みを許可するかま
たは禁止するので、DMAコントローラ5の動作中にト
レースバッファ4への書き込みの許可、禁止を切り替え
でき、ある決まった期間中のDMA転送に関するトレー
スデータを取り出すことが可能になる。したがって、よ
りテバック効率を向上することができる。また、デバッ
グ中にトレースバッファ4への書き込みを許可し、通常
動作時はトレースバッファ4への書き込みを禁止するよ
うにDMAコントローラ5を制御することにより、トレ
ースデータ11のトレースバッファ4ヘの書き込みによ
る消費電力を削減できる。
【0060】実施の形態3.図11はこの発明の実施の
形態3によるDMAコントローラおよび該DMAコント
ローラを含む半導体集積回路の構成を示すブロック図で
ある。この実施の形態3によるDMAコントローラ5
は、図1に示す上記実施の形態1による構成に加えて、
トレースバッファ4ヘの書き込みをトリガするトリガ条
件を設定し選択する機能を備えている。
【0061】図11において、図1と同一の符号は上記
実施の形態1によるDMAコントローラ5のものと同一
の構成要素を示しており、以下ではその説明を省略す
る。また、60は複数のトリガ条件からいずれか一つを
選択するための値が格納され、その値に応じたトリガ条
件選択信号を出力するトリガ条件選択レジスタであり、
64は1オペランド転送開始を示す第1のトリガ条件信
号61、チャネルが遷移したことを示す第2のトリガ条
件信号62、およびバイトカウントすなわち転送データ
数が0になったことを示す第3のトリガ条件信号63を
受信し、トリガ条件選択レジスタ60からのトリガ条件
選択信号にしたがい第1から第3のトリガ条件信号61
〜63のうちのいずれか一つを選択して選択したトリガ
条件信号を書き込み要求信号10としてトレースバッフ
ァ4へ出力するセレクタであり、65はそれぞれ対応す
るチャネルのアービトレーション(調停)ステータスフ
ラグを示すチャネル数に相当する複数のビットから成る
レジスタである。あるチャネルが1オペランド転送中の
場合には、レジスタ65のそのチャネルの対応するビッ
トには1がセットされ、それ以外のビットは0クリアさ
れる。また、66はレジスタ65の複数のビットの値の
論理和を演算して論理和演算結果を第1のトリガ条件信
号61としてセレクタ64へ出力するORゲートであ
り、67はレジスタ65の複数のビットの値を一時保持
するためのレジスタであり、68はレジスタ67に保持
されている複数のビットの値と、複数のチャネルの現在
のアービトレーションステータスを示しているレジスタ
65から出力される複数のビットの値とをそれぞれ比較
し、チャネル遷移があったか否かすなわちDMA転送を
行うチャネルがその前にDMA転送を行ったチャネルと
異なるか否かを検出し、検出結果を第2のトリガ条件信
号62としてセレクタ64へ出力するチャネル遷移検出
器であり、69はそれぞれ対応するチャネルのDMA転
送におけるバイトカウントすなわち転送データ数が0で
あるか否かを示すチャネル数に相当する複数のビットか
ら成る転送終了検出用のレジスタであり、70はレジス
タ69の複数のビットの値の論理和を演算して論理和演
算結果を第3のトリガ条件信号63としてセレクタ64
へ出力するORゲートである。なお、図11において、
図1に示す複数のチャネル2は図示されていない。ま
た、DMAコントローラ5のトリガ手段は、トリガ条件
選択レジスタ60、セレクタ64、レジスタ65、OR
ゲート66、レジスタ67、チャネル遷移検出器68、
レジスタ69、およびORゲート70により実現され
る。
【0062】次に動作について説明する。トリガ条件選
択レジスタ60は、図1の機能モジュール7により書き
込み可能なレジスタであり、トレースのトリガ条件を選
択するフィールドを有している。このトリガ条件選択レ
ジスタ60の値に応じて、DMAコントローラ5の制御
部3はトレースのトリガ条件を設定してトレースデータ
11をトレースバッファ4に書き込む。トリガ条件選択
レジスタ60の内容が0の場合には、制御部3は1オペ
ランド転送毎にトレースを実行し、1の場合には、チャ
ネルが遷移した場合にトレースを実行し、2の場合に
は、転送終了が検出された場合にトレースを実行する。
なお、ソフトウェアによりトリガ条件選択レジスタ60
の内容は書き換えられる。
【0063】アービトレーションステータスフラグは各
チャネル毎に存在し、チャネルの1オペランド転送実行
状態を示している。1オペランド転送が関始されると、
制御部3はレジスタ65の対応するチャネルのビットす
なわちアービトレーションステータスフラグを1にセッ
トするとともに、他のチャネルのビットを0クリアす
る。1オペランド転送が終了すると、制御部3はそのビ
ットを0クリアする。ORゲート66は、レジスタ65
の複数のビットの値すなわち複数のチャネルのアービト
レーショシステータスフラグの論理和を演算して論理和
演算結果を第1のトリガ条件信号61としてセレクタ6
4へ出力する。したがって、いずれか1つのチャネルに
ついての1オペランド転送が関始されると、ORゲート
66はHighの第1のトリガ条件信号61をセレクタ
64へ出力する。セレクタ64は、選択されているトリ
ガ条件が1オペランド転送である場合に、第1のトリガ
条件信号61の立ち上がリエッジに応答して書き込み要
求信号10を生成してトレースバッファ4へ出力する。
【0064】図12はトレースバッファ4ヘの書き込み
をトリガするトリガ条件が1オペランド転送である場合
のDMA転送の一例における、アービトレーショシステ
ータスフラグおよび書き込み要求信号10を示すタイミ
ングチャートである。なお、図において、ASTSはチ
ャネル毎のアービトレーションステータスフラグを示し
ている。また、図13は図12の場合におけるトレース
バッファ4の状態を示しているタイミングチャートであ
る。これらの図に示すように、制御部3は、いずれかの
チャネルの1オペランド転送を開始するたびに(すなわ
ちいずれか1つのアービトレーショシステータスフラグ
を1にセットするたびに)、第1のトリガ条件信号61
を生成しこれに基づき書き込み要求信号10を生成して
トレースバッファ4へ出力し、DMA転送するチャネル
のトレースデータ11をトレースバッファ4に書き込
む。
【0065】チャネル遷移検出器68は、レジスタ65
の内容とレジスタ67の内容とを比較することにより、
DMA転送を行うチャネルがその前にDMA転送を行っ
たチャネルと異なるか否かを検出することができる。す
なわち、チャネル遷移検出器68は、1オペランド転送
が開始されるたびに複数のチャネルのアービトレーショ
ンステータスフラグを記憶し、レジスタ67に保持され
ている前回の1オペランド転送時の対応するアービトレ
ーションステータスフラグとそれぞれ比較する。チャネ
ル遷移検出器68はチャネル遷移を検出するとHigh
の第2のトリガ条件信号62をセレクタ64へ出力す
る。セレクタ64は、選択されているトリガ条件がチャ
ネル遷移である場合に、第2のトリガ条件信号62の立
ち上がリエッジに応答して書き込み要求信号10を生成
してトレースバッファ4へ出力する。
【0066】図14はトレースバッファ4ヘの書き込み
をトリガするトリガ条件がチャネル遷移である場合のD
MA転送の一例における、アービトレーショシステータ
スフラグおよび書き込み要求信号10を示すタイミング
チャートである。また、図15は図14の場合における
トレースバッファ4の状態を示しているタイミングチャ
ートである。これらの図に示すように、制御部3は、前
のDMA転送とは異なるチャネルの1オペランド転送を
開始するたびに(すなわち前のDMA転送時とは異なる
アービトレーショシステータスフラグを1にセットする
たびに)、第2のトリガ条件信号62を生成しこれに基
づき書き込み要求信号10をトレースバッファ4へ出力
し、DMA転送するチャネルのトレースデータ11をト
レースバッファ4に書き込む。したがって、図に示すよ
うに、例えばチャネル0のDMA転送が2回続けて行わ
れた場合、2回目のDMA転送時にはトレースバッファ
4ヘの書き込みは行われない。
【0067】転送終了検出フラグは各チャネル毎に存在
し、チャネルのDMA転送が終了したか否かを示してい
る。1オペランド転送が終了し且つバイトカウントすな
わち転送データ数が0になると、制御部3はレジスタ6
9の対応するチャネルのビットすなわち転送終了検出フ
ラグを1にセットするとともに、他のチャネルのビット
を0クリアする。ORゲート70は、レジスタ69の複
数のビットの値すなわち複数のチャネルの転送終了検出
フラグの論理和を演算して論理和演算結果を第3のトリ
ガ条件信号63としてセレクタ64へ出力する。したが
って、いずれか1つのチャネルについて1オペランド転
送が終了し且つバイトカウントが0になると、ORゲー
ト70はHighの第3のトリガ条件信号63をセレク
タ64へ出力する。セレクタ64は、選択されているト
リガ条件が転送終了検出である場合に、第3のトリガ条
件信号63の立ち上がリエッジに応答して書き込み要求
信号10を生成してトレースバッファ4へ出力する。
【0068】図16はトレースバッファ4ヘの書き込み
をトリガするトリガ条件が転送終了検出である場合のD
MA転送の一例における、転送終了検出フラグおよび書
き込み要求信号10を示すタイミングチャートである。
なお、図において、EDETはチャネル毎の転送終了検
出フラグを示している。また、図17は図16の場合に
おけるトレースバッファ4の状態を示しているタイミン
グチャートである。これらの図に示すように、制御部3
は、いずれかのチャネルの1オペランド転送が終了し且
つバイトカウントすなわち転送データ数が0になるたび
に(すなわちいずれか1つの転送終了検出フラグを1に
セットするたびに)、第3のトリガ条件信号63を生成
しこれに基づき書き込み要求信号10を生成してトレー
スバッファ4へ出力し、DMA転送したチャネルのトレ
ースデータ11をトレースバッファ4に書き込む。
【0069】このように、制御部3は、トレースのトリ
ガとなる第1から第3のトリガ条件信号(1オペランド
転送検出、チャネル遷移検出、転送終了検出)を生成
し、それらの中からいずれか1つのをセレクタ64によ
り選択し、選択したトリガ条件信号を書き込み要求信号
10としてトレースバッファ4ヘ出力する。
【0070】以上のように、この発明の実施の形態3に
よれば、複数のトリガ条件のなかからいずれか1つのト
リガ条件を選択し、選択したトリガ条件が成立した際に
デバッグ時に必要なトレースデータ11をトレースバッ
ファ4に書き込むことができるので、トレースデータを
トリガ条件に応じて分類することが可能となり、したが
って、デバッグのために必要なトレースデータを容易に
抽出することができデバッグ効率をより向上することが
できる。
【0071】実施の形態4.図18はこの発明の実施の
形態4によるDMAコントローラおよび該DMAコント
ローラを含む半導体集積回路の構成を示すブロック図で
ある。この実施の形態4によるDMAコントローラ5
は、図1に示す上記実施の形態1による構成に加えて、
DMAコントローラ5のトレースバッファ4からトレー
スデータを読み出す機能を備えている。
【0072】図18において、図1と同一の符号は上記
実施の形態1によるDMAコントローラ5のものと同一
の構成要素を示しており、以下ではその説明を省略す
る。また、71は外部から印加されるトレースデータの
読み出しを要求する読み出し要求信号を受け取るための
制御端子であり、72は受信した読み出し要求信号に応
答して制御部3から出力される制御信号に応答してトレ
ースバッファ4からトレースデータを順次選択して読み
出すセレクタであり、73は内部クロックか外部クロッ
ク入力端子74を介して印加される外部クロックのいず
れか一方を制御部3から出力されるクロック選択信号に
したがい選択して出力するセレクタであり、75はセレ
クタ72から出力されたトレースデータを保持するとと
もに、セレクタ73から出力されるクロックに応答して
トレースデータをトレースデータ出力端子76へ出力す
るフリップフロップである。なお、DMAコントローラ
5の読み出し手段は、制御端子71、セレクタ72,7
3、外部クロック入力端子74、フリップフロップ7
5、およびトレースデータ出力端子76により実現され
る。
【0073】次に動作について説明する。上記実施の形
態1と同様に、DMA転送のたびにDMAコントローラ
5の制御部3はトレースデータ11をトレースバッファ
4に書き込むことができる。
【0074】トレースバッファ4に格納されているトレ
ースデータを外部クロックに同期させてDMAコントロ
ーラ5から読み出す場合、外部クロックによる読み出し
を指定する読み出し要求信号が制御端子71に印加され
るとともに外部クロックが外部クロック入力端子74に
印加される。制御部3は、受信した読み出し要求信号に
応答してトレースバッファ読み出しを指示する制御信号
をセレクタ72へ出力するとともに、外部クロックの選
択を指示するクロック選択信号をセレクタ73へ出力す
る。セレクタ72は、制御部3からの制御信号に応答し
てトレースバッファ4からトレースデータをバッファの
先頭から順次選択して読み出しフリップフロップ75へ
出力する。一方、セレクタ73は、外部クロック入力端
子74を介して印加される外部クロックを選択してフリ
ップフロップ75のクロック端子へ出力する。フリップ
フロップ75は、セレクタ72から順次出力されたトレ
ースデータを保持するとともに、外部クロックに同期し
て保持しているトレースデータをトレースデータ出力端
子76へ出力する。
【0075】他方、トレースバッファ4に格納されてい
るトレースデータを内部クロックに同期させてDMAコ
ントローラ5から読み出す場合、内部クロックによる読
み出しを指定する読み出し要求信号が制御端子71に印
加される。制御部3は、受信した読み出し要求信号に応
答してトレースバッファ読み出しを指示する制御信号を
セレクタ72へ出力するとともに、内部クロックの選択
を指示するクロック選択信号をセレクタ73へ出力す
る。セレクタ72は、制御部3からの制御信号に応答し
てトレースバッファ4からトレースデータをバッファの
先頭から順次選択して読み出しフリップフロップ75へ
出力する。一方、セレクタ73は、内部クロックを選択
してフリップフロップ75のクロック端子へ出力する。
フリップフロップ75は、セレクタ72から順次出力さ
れたトレースデータを保持するとともに、内部クロック
に同期して保持しているトレースデータをトレースデー
タ出力端子76へ出力する。
【0076】以上のように、この実施の形態4によれ
ば、外部クロックまたは内部クロックに同期してトレー
スデータをDMAコントローラ5から読み出すことがで
きるので、トレースバッファ4のオーバーフローによる
トレースの停止を防止でき、外部にリアルタイムにトレ
ースデータを出力できユーザに提示できる。これにより
デバッグ効率を向上することができる。
【0077】実施の形態5.図19はこの発明の実施の
形態5によるDMAコントローラおよび該DMAコント
ローラを備えた半導体集積回路の構成を示すブロック図
である。この実施の形態5によるDMAコントローラ5
は、図1に示す上記実施の形態1による構成に加えて、
デバッグインタフェース回路53を介してDMAコント
ローラ5のトレースバッファ4からトレースデータを読
み出す機能を備えている。
【0078】図19において、図1および図18と同一
の符号は上記実施の形態1,4によるDMAコントロー
ラ5のものと同一の構成要素を示しており、以下ではそ
の説明を省略する。また、77はデバッグインタフェー
ス回路53から印加されるトレースデータの読み出しを
要求する読み出し要求信号を受け取るための制御端子で
あり、78はフリップフロップ75から出力されたトレ
ースデータをデバッグインタフェース回路53へ送出す
るためのトレースデータ出力端子であり、79はデバッ
グインタフェース回路53から印加される外部クロック
を受け取るための外部クロック入力端子である。なお、
図19において、複数のチャネル2は図示されていな
い。また、DMAコントローラ5の読み出し手段は、セ
レクタ72,73、フリップフロップ75、制御端子7
7、トレースデータ出力端子78、および外部クロック
入力端子79により実現される。
【0079】次に動作について説明する。上記実施の形
態1と同様に、DMA転送のたびにDMAコントローラ
5の制御部3はトレースデータ11をトレースバッファ
4に書き込むことができる。
【0080】既に述べたように、デバッグインタフェー
ス回路53は、SDI(スケーラブル・デバッグ・イン
タフェース)のような、JTAG端子57に接続される
オンチップデバッグ機能モジュールである。デバッグイ
ンタフェース回路53は、JTAG端子57(TCK,
TMS,TDI,TDO,TRST)に印加される信号
によって制御され、シリアルに入力されるコマンドにし
たがい機能モジュール7やDMAコントローラ5へのア
クセス機能や、デバッグ機能(ブレーク、トレースな
ど)を有している。
【0081】この実施の形態5によるデバッグインタフ
ェース回路53は、さらに、トレースバッファ4からト
レースデータを読み出すコマンドを有している。このコ
マンドをJTAG端子57およびJTAGコントローラ
58を介して受信すると、デバッグインタフェース回路
53は機能モジュール7を介さず、トレースデータの読
み出しを要求する読み出し要求信号をDMAコントロー
ラ5の制御端子77へ出力する。
【0082】DMAコントローラ5のトレースバッファ
4に格納されているトレースデータを外部クロックに同
期させてDMAコントローラ5から読み出す場合、デバ
ッグインタフェース回路53は外部クロックによる読み
出しを指定する読み出し要求信号を制御端子77へ印加
するとともに外部クロックを外部クロック入力端子79
に印加する。その後、制御部3は、上記実施の形態4と
同様に、外部クロックに同期してトレースバッファ4か
らトレースデータを順次読み出しトレースデータ出力端
子78へ出力する。そして、デバッグインタフェース回
路53は、トレースデータ出力端子78を介して受け取
ったトレースデータを順次JTAG端子57を介して外
部に出力する。
【0083】他方、トレースバッファ4に格納されてい
るトレースデータを内部クロックに同期させてDMAコ
ントローラ5から読み出す場合、デバッグインタフェー
ス回路53は内部クロックによる読み出しを指定する読
み出し要求信号が制御端子77へ印加する。その後、制
御部3は、上記実施の形態4と同様に、内部クロックに
同期してトレースバッファ4からトレースデータを順次
読み出しトレースデータ出力端子78へ出力する。そし
て、デバッグインタフェース回路53は、トレースデー
タ出力端子78を介して受け取ったトレースデータを順
次JTAG端子57を介して外部に出力する。
【0084】以上のように、この発明の実施の形態5に
よれば、外部クロックまたは内部クロックに同期してト
レースデータをデバッグインタフェース回路53を介し
てDMAコントローラ5から読み出すことができるの
で、トレースバッファ4のオーバーフローによるトレー
スの停止を防止でき、外部にリアルタイムにトレースデ
ータを出力できユーザに提示できる。これによりデバッ
グ効率を向上することができる。
【0085】
【発明の効果】以上のように、この発明によれば、DM
Aコントローラは、複数のチャネルに予め割り当てられ
た優先順位にしたがい複数のチャネルを介して受け付け
た複数のDMA要求の中から調停手段により選択された
DMA要求に関するトレースデータを格納するためのト
レースバッファ手段を備えているので、意図しないDM
A転送が起動されていないか、複数のチャネルへの優先
順位の割り当ては妥当か、間違ったアドレッシングをし
ていないか、DMA転送に間違いはないかといった確認
を容易に行うことができ、プログラムのデバッグを容易
にできる効果がある。
【0086】この発明によれば、調停手段により選択さ
れたDMA要求に関するトレースデータのトレースバッ
ファ手段への書き込みを許可するかまたは禁止する書き
込み制御手段を備えているので、DMAコントローラの
動作中にトレースバッファ手段への書き込みの許可、禁
止を切り替えでき、ある決まった期間中のDMA転送に
関するトレースデータを取り出すことが可能になり、よ
りテバック効率を向上することができる効果がある。
【0087】この発明によれば、書き込み制御手段が、
トレースバッファ手段への書き込みを制御するためのレ
ジスタの内容にしたがいトレースバッファ手段への書き
込みを許可するかまたは禁止するように構成されている
ので、ソフトウェアを介したレジスタの内容の制御によ
りDMAコントローラの動作中にトレースバッファ手段
への書き込みの許可、禁止を切り替えることができる効
果がある。
【0088】この発明によれば、書き込み制御手段が外
部に設けられたデバッグインタフェース回路からの制御
信号にしたがい調停手段により選択されたDMA要求に
関するトレースデータのトレースバッファ手段への書き
込みを許可するかまたは禁止するように構成されている
ので、デバッグインタフェース回路を介した制御により
DMAコントローラの動作中にトレースバッファ手段へ
の書き込みの許可、禁止を切り替えることができる効果
がある。
【0089】この発明によれば、調停手段により選択さ
れたDMA要求に関するトレースデータのトレースバッ
ファ手段への書き込みを所定のトリガ条件が成立した際
にトリガするトリガ手段を備えているので、トリガ条件
に応じたトレースデータを容易に抽出することができる
効果がある。
【0090】この発明によれば、トリガ手段が、複数の
トリガ条件のなかからいずれか一つを選択し、選択した
トリガ条件が成立した際にトレースバッファ手段への書
き込みをトリガするように構成されているので、トレー
スデータをトリガ条件に応じて分類することが可能とな
り、したがって、デバッグのために必要なトレースデー
タを容易に抽出することができデバッグ効率をより向上
することができる効果がある。
【0091】この発明によれば、トレースバッファ手段
が満杯である場合に、調停手段により選択されたDMA
要求に関するトレースデータのトレースバッファ手段へ
の書き込みを停止するように構成されているので、上書
きによって既に書き込まれたトレースデータが消去され
るということを防止できる効果がある。
【0092】この発明によれば、トレースバッファ手段
は外部に設けられたCPUなどの機能モジュールのアド
レス空間の一部にマッピングされているように構成され
ているので、この場合、機能モジュールはトレースバッ
ファ手段に格納されている任意のトレースデータを読み
出すことができるので、特別な装置を設けることなくソ
フトウェアを介したトレースデータの解析を可能にする
効果がある。
【0093】この発明によれば、制御端子を介して外部
から印加される読み出し要求信号にしたがいトレースバ
ッファ手段からトレースデータを読み出して外部へ出力
するように構成されているので、トレースバッファ手段
のオーバーフローによるトレースの停止を防止でき、リ
アルタイムに外部にトレースデータを出力しユーザに提
示できる効果がある。
【0094】この発明によれば、外部に設けられたデバ
ッグインタフェース回路からの読み出し要求信号にした
がいトレースバッファ手段からトレースデータを読み出
してデバッグインタフェース回路へ出力するように構成
されているので、トレースバッファ手段のオーバーフロ
ーによるトレースの停止を防止でき、リアルタイムにデ
バッグインタフェース回路を介して外部へトレースデー
タを出力しユーザに提示できる効果がある。
【0095】この発明によれば、半導体集積回路が、複
数のチャネルに予め割り当てられた優先順位にしたがい
複数のチャネルを介して受け付けた複数のDMA要求の
中から調停手段により選択されたDMA要求に関するト
レースデータを格納するためのトレースバッファ手段を
含むDMAコントローラと、バスの使用の権利について
CPUなどの機能モジュールとDMAコントローラとの
間の調停を行うバス制御手段と、入力されるコマンドに
したがい機能モジュールまたはDMAコントローラにア
クセスするアクセス機能およびデバッグ機能を有してい
るデバッグインタフェース回路とを備えているので、意
図しないDMA転送が起動されていないか、複数のチャ
ネルへの優先順位の割り当ては妥当か、間違ったアドレ
ッシングをしていないか、DMA転送に間違いはないか
といった確認を容易に行うことができ、プログラムのデ
バッグを容易にできる効果がある。
【0096】この発明によれば、DMAコントローラの
書き込み制御手段が外部端子を介して印加される制御信
号にしたがいトレースバッファ手段への書き込みを許可
するかまたは禁止するように構成されているので、半導
体集積回路の外部からの制御によりDMAコントローラ
の動作中にトレースバッファ手段への書き込みの許可、
禁止を切り替えることができる効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1によるDMAコント
ローラおよび該DMAコントローラを含む半導体集積回
路の構成を示すブロック図である。
【図2】 図1に示すDMAコントローラの各チャネル
および制御部の構成を示すブロック図である。
【図3】 図2に示す各チャネルのDMA制御レジスタ
の構成を示す図である。
【図4】 この発明の実施の形態1によるDMAコント
ローラのDMA転送におけるトレースバッファへのトレ
ースデータ格納を示す図である。
【図5】 この発明の実施の形態1によるDMAコント
ローラのトレースバッファの一例の構成を示すブロック
図であり、
【図6】 図5のトレースバッファがオーバーフローし
た以降にトレースバッファへトレースデータを書き込み
続ける場合の処理を示すタイミングチャートである。
【図7】 図5のトレースバッファがオーバーフローし
た時にトレースバッファへのトレースデータの書き込み
を停止した場合の処理を示すタイミングチャートであ
る。
【図8】 この発明の実施の形態1によるDMAコント
ローラのトレースバッファの他の例の構成を示すブロッ
ク図である。
【図9】 この発明の実施の形態1によるDMAコント
ローラが搭載される半導体集積回路の機能モジュールの
論理アドレス空間を示す図である。
【図10】 この発明の実施の形態2によるDMAコン
トローラおよび該DMAコントローラを含む半導体集積
回路の構成を示すブロック図である。
【図11】 この発明の実施の形態3によるDMAコン
トローラおよび該DMAコントローラを含む半導体集積
回路の構成を示すブロック図である。
【図12】 この発明の実施の形態3によるDMAコン
トローラにおいてトレースバッファヘの書き込みをトリ
ガするトリガ条件が1オペランド転送である場合のDM
A転送の一例における、アービトレーショシステータス
フラグおよび書き込み要求信号を示すタイミングチャー
トである。
【図13】 図12の場合におけるトレースバッファの
状態を示しているタイミングチャートである。
【図14】 この発明の実施の形態3によるDMAコン
トローラにおいてトリガ条件がチャネル遷移である場合
のDMA転送の一例における、アービトレーショシステ
ータスフラグおよび書き込み要求信号を示すタイミング
チャートである。
【図15】 図14の場合におけるトレースバッファの
状態を示しているタイミングチャートである。
【図16】 この発明の実施の形態3によるDMAコン
トローラにおいてトリガ条件が転送終了検出である場合
のDMA転送の一例における、転送終了検出フラグおよ
び書き込み要求信号を示すタイミングチャートである。
【図17】 図16の場合におけるトレースバッファの
状態を示しているタイミングチャートである。
【図18】 この発明の実施の形態4によるDMAコン
トローラおよび該DMAコントローラを含む半導体集積
回路の構成を示すブロック図である。
【図19】 この発明の実施の形態5によるDMAコン
トローラおよび該DMAコントローラを含む半導体集積
回路の構成を示すブロック図である。
【図20】 従来のトレース方法の一例を実現する端末
装置およびデータ収集装置の構成を示すブロック図であ
る。
【符号の説明】
1 DMA要求信号、2 チャネル、3 制御部、4
トレースバッファ(トレースバッファ手段)、5 DM
Aコントローラ、6 バス制御部、7 機能モジュール
(CPU)、8 バス、9 制御信号、10 書き込み
要求信号、11,12 トレースデータ、13 インタ
フェース信号、14 許可信号、21入力センス部、2
2 セレクタ、23 フリップフロップ、24 アドレ
スレジスタ、25 バイトカウントレジスタ、26 D
MA制御レジスタ、27 DMA転送許可レジスタ、3
1 調停回路(調停手段)、32 チャネル番号、33
アドレスセレクタ、34 アドレスデータ、35 バイ
トカウントセレクタ、36 転送データ数データ、37
DMA要求要因セレクタ、38 DMA要求要因デー
タ、39 DMA要求信号値セレクタ、40 DMA要
求信号値セット、41 ポインタ、42,46 オーバ
ーフローフラグ、43−1〜43−n,45−1〜45
−n レジスタ、44 デコーダ、47 レジスタ(書
き込み制御手段)、48 第1のトレース制御信号、4
9 第1の制御端子(書き込み制御手段)、50 第2
のトレース制御信号、51 外部端子、52 第2の制
御端子(書き込み制御手段)、53 デバッグインタフ
ェース回路、54 第3のトレース制御信号、55 O
Rゲート(書き込み制御手段)、56 ANDゲート
(書き込み制御手段)、57 JTAG端子、58 J
TAGコントローラ、60 トリガ条件選択レジスタ
(トリガ手段)、61 第1のトリガ条件信号、62
第2のトリガ条件信号、63 第3のトリガ条件信号、
64 セレクタ(トリガ手段)、65,67,69 レ
ジスタ(トリガ手段)、66,70 ORゲート(トリ
ガ手段)、68 チャネル遷移検出器(トリガ手段)、
71,77制御端子(読み出し手段)、72,73 セ
レクタ(読み出し手段)、74,79 外部クロック入
力端子(読み出し手段)、75 フリップフロップ(読
み出し手段)、76,78 トレースデータ出力端子
(読み出し手段)、261DMA要求入力センスモード
選択フィールド、262 DMA要求要因選択フィール
ド。

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 複数のチャネルに予め割り当てられた優
    先順位にしたがって上記複数のチャネルを介して受け付
    けた複数のDMA要求の中からいずれか一つのDMA要
    求を選択して上記複数のチャネル間の調停を行う調停手
    段と、 該調停手段により選択されたDMA要求に関するトレー
    スデータを格納するためのトレースバッファ手段とを備
    えたDMAコントローラ。
  2. 【請求項2】 調停手段により選択されたDMA要求に
    関するトレースデータのトレースバッファ手段への書き
    込みを許可するかまたは禁止する書き込み制御手段を備
    えたことを特徴とする請求項1記載のDMAコントロー
    ラ。
  3. 【請求項3】 書き込み制御手段は、トレースバッファ
    手段への書き込みを制御するためのレジスタを備えてお
    り、該レジスタの内容にしたがい上記トレースバッファ
    手段への書き込みを許可するかまたは禁止することを特
    徴とする請求項2記載のDMAコントローラ。
  4. 【請求項4】 外部に設けられるデバッグインタフェー
    ス回路からトレースバッファ手段への書き込みを許可す
    るかまたは禁止する制御信号を受け取る制御端子を備え
    ており、書き込み制御手段は上記制御信号にしたがい調
    停手段により選択されたDMA要求に関するトレースデ
    ータの上記トレースバッファ手段への書き込みを許可す
    るかまたは禁止することを特徴とする請求項2記載のD
    MAコントローラ。
  5. 【請求項5】 調停手段により選択されたDMA要求に
    関するトレースデータのトレースバッファ手段への書き
    込みを所定のトリガ条件が成立した際にトリガするトリ
    ガ手段を備えたことを特徴とする請求項1から請求項4
    のうちのいずれか1項記載のDMAコントローラ。
  6. 【請求項6】 トリガ手段は、複数のトリガ条件のなか
    からいずれか一つを選択し、選択したトリガ条件が成立
    した際にトレースバッファ手段への書き込みをトリガす
    ることを特徴とする請求項5記載のDMAコントロー
    ラ。
  7. 【請求項7】 トレースバッファ手段が満杯である場合
    に、調停手段により選択されたDMA要求に関するトレ
    ースデータのトレースバッファ手段への書き込みを停止
    する書き込み停止手段を備えたことを特徴とする請求項
    1から請求項6のうちのいずれか1項記載のDMAコン
    トローラ。
  8. 【請求項8】 トレースバッファ手段は外部に設けられ
    たCPUなどの機能モジュールのアドレス空間の一部に
    マッピングされていることを特徴とする請求項1から請
    求項7のうちのいずれか1項記載のDMAコントロー
    ラ。
  9. 【請求項9】 外部から印加されるトレースデータの読
    み出しを要求する読み出し要求信号を受け取る制御端子
    と、上記読み出し要求信号にしたがいトレースバッファ
    手段からトレースデータを読み出して外部へ出力する読
    み出し手段とを備えたことを特徴とする請求項1から請
    求項8のうちのいずれか1項記載のDMAコントロー
    ラ。
  10. 【請求項10】 外部に設けられるデバッグインタフェ
    ース回路からトレースデータの読み出しを要求する読み
    出し要求信号を受け取る制御端子と、上記読み出し要求
    信号にしたがいトレースバッファ手段からトレースデー
    タを読み出して上記デバッグインタフェース回路へ出力
    する読み出し手段とを備えたことを特徴とする請求項1
    から請求項8のうちのいずれか1項記載のDMAコント
    ローラ。
  11. 【請求項11】 複数のチャネルに予め割り当てられた
    優先順位にしたがって上記複数のチャネルを介して受け
    付けた複数のDMA要求の中からいずれか一つのDMA
    要求を選択して上記複数のチャネル間の調停を行う調停
    手段と、該調停手段により選択されたDMA要求に関す
    るトレースデータを格納するためのトレースバッファ手
    段とを含むDMAコントローラと、 バスを介して上記DMAコントローラに接続されたCP
    Uなどの機能モジュールと、 上記バスの使用の権利について上記機能モジュールと上
    記DMAコントローラとの間の調停を行うバス制御手段
    と、 入力されるコマンドにしたがい上記機能モジュールまた
    は上記DMAコントローラにアクセスするアクセス機能
    およびデバッグ機能を有しているデバッグインタフェー
    ス回路とを備えた半導体集積回路。
  12. 【請求項12】 DMAコントローラは、調停手段によ
    り選択されたDMA要求に関するトレースデータのトレ
    ースバッファ手段への書き込みを許可するかまたは禁止
    する書き込み制御手段を備えたことを特徴とする請求項
    11記載の半導体集積回路。
  13. 【請求項13】 書き込み制御手段は、機能モジュール
    により内容が変更可能であってトレースバッファ手段へ
    の書き込みを制御するためのレジスタを備えており、該
    レジスタの内容にしたがい上記トレースバッファ手段へ
    の書き込みを許可するかまたは禁止することを特徴とす
    る請求項12記載の半導体集積回路。
  14. 【請求項14】 トレースバッファ手段への書き込みを
    制御するための制御信号を受け取るための外部端子を備
    えており、書き込み制御手段は上記外部端子を介して印
    加される上記制御信号にしたがいトレースバッファ手段
    への書き込みを許可するかまたは禁止することを特徴と
    する請求項12記載の半導体集積回路。
  15. 【請求項15】 デバッグインタフェース回路は入力さ
    れた所定のコマンドにしたがいトレースバッファ手段へ
    の書き込みを制御する制御信号をDMAコントローラへ
    出力し、該DMAコントローラは上記制御信号を受け取
    る制御端子を備えており、書き込み制御手段は上記制御
    信号にしたがい調停手段により選択されたDMA要求に
    関するトレースデータの上記トレースバッファ手段への
    書き込みを許可するかまたは禁止することを特徴とする
    請求項12記載の半導体集積回路。
  16. 【請求項16】 DMAコントローラは、調停手段によ
    り選択されたDMA要求に関するトレースデータのトレ
    ースバッファ手段への書き込みを所定のトリガ条件が成
    立した際にトリガするトリガ手段を備えたことを特徴と
    する請求項11から請求項15のうちのいずれか1項記
    載の半導体集積回路。
  17. 【請求項17】 トリガ手段は、複数のトリガ条件のな
    かからいずれか一つを選択し、選択したトリガ条件が成
    立した際にトレースバッファ手段への書き込みをトリガ
    することを特徴とする請求項16記載の半導体集積回
    路。
  18. 【請求項18】 DMAコントローラのトレースバッフ
    ァ手段が満杯である場合に、調停手段により選択された
    DMA要求に関するトレースデータのトレースバッファ
    手段への書き込みを停止する書き込み停止手段を備えた
    ことを特徴とする請求項11から請求項17のうちのい
    ずれか1項記載の半導体集積回路。
  19. 【請求項19】 DMAコントローラのトレースバッフ
    ァ手段は機能モジュールのアドレス空間の一部にマッピ
    ングされていることを特徴とする請求項11から請求項
    18のうちのいずれか1項記載の半導体集積回路。
  20. 【請求項20】 DMAコントローラは、デバッグイン
    タフェース回路からトレースデータの読み出しを要求す
    る読み出し要求信号を受け取る制御端子と、上記読み出
    し要求信号にしたがいトレースバッファ手段からトレー
    スデータを読み出して上記デバッグインタフェース回路
    へ出力する読み出し手段とを備えたことを特徴とする請
    求項11から請求項19のうちのいずれか1項記載の半
    導体集積回路。
JP2001183658A 2001-06-18 2001-06-18 Dmaコントローラおよび半導体集積回路 Pending JP2003006003A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001183658A JP2003006003A (ja) 2001-06-18 2001-06-18 Dmaコントローラおよび半導体集積回路
US10/163,507 US7143205B2 (en) 2001-06-18 2002-06-07 DMA controller having a trace buffer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001183658A JP2003006003A (ja) 2001-06-18 2001-06-18 Dmaコントローラおよび半導体集積回路

Publications (1)

Publication Number Publication Date
JP2003006003A true JP2003006003A (ja) 2003-01-10

Family

ID=19023571

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001183658A Pending JP2003006003A (ja) 2001-06-18 2001-06-18 Dmaコントローラおよび半導体集積回路

Country Status (2)

Country Link
US (1) US7143205B2 (ja)
JP (1) JP2003006003A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007522550A (ja) * 2004-01-23 2007-08-09 フリースケール セミコンダクター インコーポレイテッド Dmaデバイス用リアルタイムデバッグサポート及びその方法
JP2010219843A (ja) * 2009-03-17 2010-09-30 Anritsu Corp 擬似基地局装置
JP2011008413A (ja) * 2009-06-24 2011-01-13 Fujitsu Semiconductor Ltd 処理装置
JP2013178638A (ja) * 2012-02-28 2013-09-09 Ricoh Co Ltd 画像処理回路、画像処理装置及び画像処理回路の制御方法
JP2013191162A (ja) * 2012-03-15 2013-09-26 Ricoh Co Ltd 動作解析装置、画像形成装置、動作解析方法およびプログラム
USRE45706E1 (en) 2000-12-06 2015-09-29 Panasonic Intellectual Property Management Co., Ltd. OFDM signal transmission system, portable terminal and E-commerce system
JP2016136292A (ja) * 2015-01-23 2016-07-28 株式会社リコー 半導体デバイス、ログ取得方法及び電子機器
JP2017126217A (ja) * 2016-01-14 2017-07-20 京セラドキュメントソリューションズ株式会社 データ処理装置
US10558600B2 (en) 2017-06-23 2020-02-11 Renesas Electronics Corporation Semiconductor device and trace data storing method

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6260082B1 (en) * 1998-12-23 2001-07-10 Bops, Inc. Methods and apparatus for providing data transfer control
US20040117607A1 (en) * 2002-12-17 2004-06-17 Swoboda Gary L. Apparatus and method for separating detection and assertion of a trigger event
WO2004079583A1 (ja) * 2003-03-05 2004-09-16 Fujitsu Limited データ転送制御装置およびdmaデータ転送制御方法
US20040193763A1 (en) * 2003-03-28 2004-09-30 Fujitsu Limited Inter-bus communication interface device and data security device
US20060004932A1 (en) * 2004-07-02 2006-01-05 Deans Russell C Multi-directional data transfer using a single DMA channel
US7251759B2 (en) * 2004-08-16 2007-07-31 Broadcom Corporation Method and apparatus to compare pointers associated with asynchronous clock domains
US7904614B1 (en) * 2006-06-27 2011-03-08 Marvell International Ltd. Direct memory access controller with multiple transaction functionality
JP2009059005A (ja) * 2007-08-29 2009-03-19 Panasonic Corp デバッグシステム、デバッグ装置および方法
US7802142B2 (en) * 2007-12-06 2010-09-21 Seagate Technology Llc High speed serial trace protocol for device debug
US9032113B2 (en) * 2008-03-27 2015-05-12 Apple Inc. Clock control for DMA busses
US8140903B2 (en) * 2009-04-16 2012-03-20 International Business Machines Corporation Hardware process trace facility
JP2011023897A (ja) * 2009-07-14 2011-02-03 Toshiba Corp 半導体集積装置
US8327198B2 (en) * 2009-08-14 2012-12-04 Intel Corporation On-die logic analyzer for semiconductor die
US8825922B2 (en) 2011-04-18 2014-09-02 Infineon Technologies Ag Arrangement for processing trace data information, integrated circuits and a method for processing trace data information
WO2013002772A1 (en) 2011-06-28 2013-01-03 Hewlett-Packard Development Company, L.P. Shiftable memory
US20130002315A1 (en) * 2011-07-01 2013-01-03 Philippe Boucard Asynchronous clock adapter
US8713370B2 (en) * 2011-08-11 2014-04-29 Apple Inc. Non-intrusive processor tracing
US8719641B2 (en) * 2011-08-25 2014-05-06 International Business Machines Corporation Priority buffering for trace data in trace queue
US9021146B2 (en) 2011-08-30 2015-04-28 Apple Inc. High priority command queue for peripheral component
GB2509661B (en) * 2011-10-27 2015-10-07 Hewlett Packard Development Co Shiftable memory employing ring registers
US9576619B2 (en) 2011-10-27 2017-02-21 Hewlett Packard Enterprise Development Lp Shiftable memory supporting atomic operation
US8918680B2 (en) * 2012-01-23 2014-12-23 Apple Inc. Trace queue for peripheral component
WO2013115779A1 (en) 2012-01-30 2013-08-08 Hewlett-Packard Development Company, L.P. Word shift static random access memory (ws-sram)
WO2013130109A1 (en) 2012-03-02 2013-09-06 Hewlett-Packard Development Company L.P. Shiftable memory defragmentation
US9645870B2 (en) * 2013-06-27 2017-05-09 Atmel Corporation System for debugging DMA system data transfer
US9256399B2 (en) 2013-06-27 2016-02-09 Atmel Corporation Breaking program execution on events
US9830245B2 (en) 2013-06-27 2017-11-28 Atmel Corporation Tracing events in an autonomous event system
US9977754B2 (en) * 2013-09-09 2018-05-22 Samsung Electronics Co., Ltd. Electronic system with diagnostic interface mechanism and method of operation thereof
US9361145B1 (en) * 2014-06-27 2016-06-07 Amazon Technologies, Inc. Virtual machine state replication using DMA write records
CN106294233B (zh) * 2015-06-29 2019-05-03 华为技术有限公司 一种直接内存访问的传输控制方法及装置
CN112231242A (zh) * 2015-12-01 2021-01-15 华为技术有限公司 数据缓存方法、存储控制装置、及存储设备
CN109471816B (zh) * 2018-11-06 2021-07-06 西安微电子技术研究所 一种基于描述符的pcie总线dma控制器及数据传输控制方法
US20230267084A1 (en) * 2022-02-22 2023-08-24 Texas Instruments Incorporated Tracing for High Bandwidth Masters in SoC
US12001357B2 (en) * 2022-03-04 2024-06-04 Infineon Technologies Ag Direct memory access circuit, microcontroller, and method of controlling a direct memory access

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS626341A (ja) * 1985-07-02 1987-01-13 Nec Corp 情報処理装置
JPS6383843A (ja) * 1986-09-29 1988-04-14 Nec Corp トレ−ス情報の収集方式
JPS63181054A (ja) * 1987-01-22 1988-07-26 Pfu Ltd システム拡張装置の状態監視装置
JPH02308345A (ja) * 1989-05-24 1990-12-21 Hitachi Ltd 端末装置のデータ収集システム
JPH05257831A (ja) * 1992-03-13 1993-10-08 Nec Corp 入出力処理装置
JPH0863374A (ja) * 1994-08-22 1996-03-08 Toshiba Corp トレース機能内蔵型lsi
JPH08314767A (ja) * 1995-05-19 1996-11-29 Hitachi Ltd データベース操作性能の測定方法および計算機装置
JPH11175374A (ja) * 1997-12-12 1999-07-02 Nec Corp プログラマブル障害情報トレース回路
JP2000076177A (ja) * 1998-09-02 2000-03-14 Mitsubishi Electric Corp Dma転送制御方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59221131A (ja) * 1983-05-31 1984-12-12 Toshiba Corp デ−タ伝送ステ−シヨン
JPS61286956A (ja) * 1985-06-14 1986-12-17 Nec Corp デ−タ処理装置
US4901234A (en) * 1987-03-27 1990-02-13 International Business Machines Corporation Computer system having programmable DMA control
US5212795A (en) * 1988-10-11 1993-05-18 California Institute Of Technology Programmable DMA controller
JPH0793233A (ja) 1993-09-20 1995-04-07 Fujitsu Ltd ファームウェア・トレースデータ取得方式
US5828856A (en) * 1994-01-28 1998-10-27 Apple Computer, Inc. Dual bus concurrent multi-channel direct memory access controller and method
US5991817A (en) * 1996-09-06 1999-11-23 Cisco Systems, Inc. Apparatus and method for a network router
EP1146515A1 (en) * 1998-02-25 2001-10-17 Matsushita Electric Industrial Co., Ltd. High-speed error correcting apparatus with efficient data transfer
US6199121B1 (en) * 1998-08-07 2001-03-06 Oak Technology, Inc. High speed dynamic chaining of DMA operations without suspending a DMA controller or incurring race conditions
JP3202700B2 (ja) * 1998-10-20 2001-08-27 松下電器産業株式会社 信号処理装置
JP2000132499A (ja) * 1998-10-29 2000-05-12 Nec Eng Ltd コンピュータシステム
JP3461327B2 (ja) * 2000-05-17 2003-10-27 Necマイクロシステム株式会社 トレースメモリに制限されない長時間トレースシステム

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS626341A (ja) * 1985-07-02 1987-01-13 Nec Corp 情報処理装置
JPS6383843A (ja) * 1986-09-29 1988-04-14 Nec Corp トレ−ス情報の収集方式
JPS63181054A (ja) * 1987-01-22 1988-07-26 Pfu Ltd システム拡張装置の状態監視装置
JPH02308345A (ja) * 1989-05-24 1990-12-21 Hitachi Ltd 端末装置のデータ収集システム
JPH05257831A (ja) * 1992-03-13 1993-10-08 Nec Corp 入出力処理装置
JPH0863374A (ja) * 1994-08-22 1996-03-08 Toshiba Corp トレース機能内蔵型lsi
JPH08314767A (ja) * 1995-05-19 1996-11-29 Hitachi Ltd データベース操作性能の測定方法および計算機装置
JPH11175374A (ja) * 1997-12-12 1999-07-02 Nec Corp プログラマブル障害情報トレース回路
JP2000076177A (ja) * 1998-09-02 2000-03-14 Mitsubishi Electric Corp Dma転送制御方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE45706E1 (en) 2000-12-06 2015-09-29 Panasonic Intellectual Property Management Co., Ltd. OFDM signal transmission system, portable terminal and E-commerce system
JP2007522550A (ja) * 2004-01-23 2007-08-09 フリースケール セミコンダクター インコーポレイテッド Dmaデバイス用リアルタイムデバッグサポート及びその方法
JP2010219843A (ja) * 2009-03-17 2010-09-30 Anritsu Corp 擬似基地局装置
JP2011008413A (ja) * 2009-06-24 2011-01-13 Fujitsu Semiconductor Ltd 処理装置
JP2013178638A (ja) * 2012-02-28 2013-09-09 Ricoh Co Ltd 画像処理回路、画像処理装置及び画像処理回路の制御方法
JP2013191162A (ja) * 2012-03-15 2013-09-26 Ricoh Co Ltd 動作解析装置、画像形成装置、動作解析方法およびプログラム
JP2016136292A (ja) * 2015-01-23 2016-07-28 株式会社リコー 半導体デバイス、ログ取得方法及び電子機器
JP2017126217A (ja) * 2016-01-14 2017-07-20 京セラドキュメントソリューションズ株式会社 データ処理装置
US10558600B2 (en) 2017-06-23 2020-02-11 Renesas Electronics Corporation Semiconductor device and trace data storing method

Also Published As

Publication number Publication date
US20020194401A1 (en) 2002-12-19
US7143205B2 (en) 2006-11-28

Similar Documents

Publication Publication Date Title
JP2003006003A (ja) Dmaコントローラおよび半導体集積回路
US8978017B2 (en) Profiling operating context
EP0942372B1 (en) Processor with breakpoint circuit
US6065078A (en) Multi-processor element provided with hardware for software debugging
US7010722B2 (en) Embedded symmetric multiprocessor system debug
EP0084431A2 (en) Monitoring computer systems
US5862148A (en) Microcontroller with improved debug capability for internal memory
JPH02287635A (ja) マイクロコンピュータ,マイクロプロセッサおよびコア・プロセッサ集積回路用デバッグ周辺装置
KR100462177B1 (ko) 주변 장치의 동작 상태를 실시간으로 백업할 수 있는엠베디드 컨트롤러
EP0942373B1 (en) Adapter device with a local memory and method for processor emulation
CN113468097B (zh) 基于片上***的数据交换方法
US5903912A (en) Microcontroller configured to convey data corresponding to internal memory accesses externally
US20020169898A1 (en) Microcomputer including external communication ports
US6092219A (en) Method for use of bus parking states to communicate diagnostic information
US6389498B1 (en) Microprocessor having addressable communication port
US6760864B2 (en) Data processing system with on-chip FIFO for storing debug information and method therefor
US6877113B2 (en) Break determining circuit for a debugging support unit in a semiconductor integrated circuit
US5860161A (en) Microcontroller configured to indicate internal memory accesses externally
US7231568B2 (en) System debugging device and system debugging method
US6457124B1 (en) Microcomputer having address diversion means for remapping an on-chip device to an external port
US7412624B1 (en) Methods and apparatus for debugging a system with a hung data bus
JP2004094451A (ja) オンチップjtagインタフェース回路およびシステムlsi
US6112316A (en) System for use of bus parking states to communicate diagnostic information
JPS62164140A (ja) デ−タ処理システムの試験方法
JP2010231818A (ja) デバッグシステム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060123

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20071101

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080415

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100127

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110118

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110628