(57)【特許請求の範囲】
【請求項１】
それぞれ異なる周波数のクロック信号に従って同期動作し、必要に応じて所定の処理を要求するための処理要求信号をそれぞれ選択的に有効レベルとする複数のブロックと、
上記複数のブロックから出力される上記処理要求信号の有効レベルを、上記クロック信号のうち最も周波数の高いクロック信号により同期化し、受理するインタフェース制御回路と、
比較的高い周波数とされる第１のクロック信号の周期をその実質的なバスサイクルとする周辺バスと、
比較的低い周波数とされる第２のクロック信号の周期をその実質的なバスサイクルとするＪＴＡＧバスと、
その一方で上記周辺バスを介して所定の内部回路に結合され、その他方で上記ＪＴＡＧバスを介して外部のエミュレータに結合され、かつ、上記周辺バスを介してパラレル入力される第１の入力データを上記第１のクロック信号に従って取り込み、保持する第１のレジスタと、上記ＪＴＡＧバスを介してシリアル入力される第２の入力データを上記第２のクロック信号に従って順次取り込み、保持するシフトレジスタと、所定のセレクタ制御信号に従って上記第１又は第２の入力データを選択的に伝達するデータセレクタと、上記データセレクタを介して伝達される上記第１又は第２の入力データを上記第１のクロック信号に従って取り込み、保持する第２のレジスタとを含むエミュレーションユニットとを具備するマイクロコントローラを含み、
上記インタフェース制御回路は、上記エミュレーションユニットに含まれ、上記周辺バス側の回路により有効レベルとされる第１の上記処理要求信号あるいは上記ＪＴＡＧバス側の回路により有効レベルとされる第２の上記処理要求信号を選択的に受理し、上記セレクタ制御信号を選択的にハイレベル又はロウレベルとするレジスタ制御回路であることを特徴とする半導体集積回路装置。
【請求項２】
請求項１において、
上記レジスタ制御回路は、
上記第１のクロック信号に従って上記第１の処理要求信号を取り込み、保持する第１のラッチと、
上記第１のクロック信号に従って上記第２の処理要求信号を取り込み、保持する第２のラッチと、
上記第１又は第２のラッチの出力信号を受けて上記セレクタ制御信号を選択的にハイレベル又はロウレベルとするセレクタ制御回路とを含むものであることを特徴とする半導体集積回路装置。
【請求項３】
請求項２において、
上記第２のラッチは、上記第２のクロック信号がハイレベルとされるとき、上記第１のクロック信号に従って上記第２の処理要求信号を取り込み、保持するものであることを特徴とする半導体集積回路装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は半導体集積回路装置に関し、例えば、データレートの異なる二つのバスに結合されたエミュレーションユニットを内蔵するマイクロコントローラ等ならびにその動作の高速化に利用して特に有効な技術に関する。
【０００２】
【従来の技術】
ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｎｅｅｒｓ）のＪＴＡＧ（Ｊｏｉｎｔ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐ）仕様のバスを介して外部のエミュレータに結合されるエミュレーションユニットを内蔵するマイクロコントローラ等の半導体集積回路装置がある。エミュレーションユニットは、その他方でマイクロコントローラの周辺バスＰＢに結合され、周辺バスＰＢに結合される所定の内部回路とＪＴＡＧバスに結合されるエミュレータとの間のデータ授受を仲介する。
【０００３】
【発明が解決しようとする課題】
本願発明者等は、この発明に先立って、エミュレーションユニットを備えるマイクロコントローラに関し、次の問題点に気付いた。すなわち、マイクロコントローラのエミュレーションユニットは、例えば図８に例示されるように、データレジスタＳＤＤＲＨ及びＳＤＤＲＬに代表されるいくつかのレジスタと、周辺バスＰＢを介して入力されるデータＰＢＩＤあるいはＪＴＡＧバスからシフトレジスタＳＲを介して入力されるデータＳＲＩＨ又はＳＲＩＬをセレクタ制御信号ＳＬＣに従ってそれぞれ選択的にデータレジスタＳＤＤＲＨ又はＳＤＤＲＬに伝達するデータセレクタＤＳＬＨ及びＤＳＬＬとを含む。
【０００４】
このマイクロコントローラにおいて、周辺バスＰＢは、図９に例示されるように、比較的高い周波数とされるクロック信号ＰＣＬＫの周期をその実質的なバスサイクルとして、データを例えば１６ビット単位でパラレルに伝達する。また、図示されない周辺バスコントローラは、コマンドのデコード結果として処理要求信号ＰＲＥＱをハイレベルのような有効レベルとし、周辺バスＰＢを介して入力されたデータＰＢＩＤをデータレジスタＳＤＤＲＨ及びＳＤＤＲＬに取り込むよう要求する。処理要求信号ＰＲＥＱは、クロック信号ＰＣＬＫに従ってレジスタ制御回路ＲＥＧＣのラッチＬＰＲＱに取り込まれた後、そのセレクタ制御回路ＳＥＬＣに伝達され、これを受けて上記セレクタ制御信号ＳＬＣが例えばロウレベルとされる。この結果、周辺バスＰＢを介して入力されるデータＰＢＩＤは、データセレクタＤＳＬＨ及びＤＳＬＬを介してデータレジスタＳＤＤＲＨ及びＳＤＤＲＬに伝達され、クロック信号ＰＣＬＫに従って取り込まれた後、内部出力データＳＲＯＨ及びＳＲＯＬとしてシフトレジスタＳＲに伝達される。
【０００５】
一方、マイクロコントローラの図示されないＪＴＡＧバスは、比較的低い周波数のクロック信号ＴＣＬＫの周期をその実質的なバスサイクルとして、外部のエミュレータとの間でデータをシリアルに伝達する。マイクロコントローラの図示されないシフトレジスタＳＲは、シリアル入力されるデータを３２ビット単位で直並列変換し、入力データＳＲＩＨ及びＳＲＨＲとしてデータセレクタＤＳＬＨ及びＤＳＬＬに伝達する。また、図示されないＴＡＰコントローラは、シフトレジスタＳＲに３２ビットのデータが蓄積された時点で処理要求信号ＴＲＥＱをハイレベルのような有効レベルとすることで、入力データＳＲＩＨ及びＳＲＩＬをデータレジスタＳＤＤＲＨ及びＳＤＤＲＨに取り込むよう要求する。
【０００６】
処理要求信号ＴＲＥＱは、まずクロック信号ＴＣＬＫの次の立ち上がりを受けてレジスタ制御回路ＲＥＧＣのラッチＬＴＲＱ１に取り込まれた後、クロック信号ＰＣＬＫに従ってラッチＬＴＲＱ２に取り込まれ、同期化される。そして、レジスタ制御回路ＲＥＧＣのセレクタ制御回路ＳＥＬＣに伝達され、これを受けて上記セレクタ制御信号ＳＬＣが例えばハイレベルとされる。この結果、シフトレジスタＳＲを介して入力されるデータＳＲＩＨ及びＳＲＩＬは、データセレクタＤＳＬＨ及びＤＳＬＬを介してデータレジスタＳＤＤＲＨ及びＳＤＤＲＬに伝達され、クロック信号ＰＣＬＫに従って取り込まれた後、マルチプレクサＭＸを経て内部出力データＰＢＯＤとして周辺バスＰＢに伝達される。
【０００７】
つまり上記マイクロコントローラでは、図示されないＴＡＰコントローラによりクロック信号ＴＣＬＫに従って生成される処理要求信号ＴＲＥＱが、まず比較的離れて配置されるＴＡＰコントローラ及びレジスタ制御回路ＲＥＧＣ間の遅延時間を補正すべくもとのクロック信号ＴＣＬＫに従ってラッチＬＴＲＱ１に取り込まれた後、エミュレーションユニットＥＭＵの基本クロックたるクロック信号ＰＣＬＫに従ってラッチＬＴＲＱ２に取り込まれ、同期化される。このため、処理要求信号ＴＲＥＱが有効レベルとされてからこの処理要求信号ＴＲＥＱが受理され入力データＳＲＩＨ及びＳＲＩＬがデータセレクタＤＳＬＨ及びＤＳＬＬの出力端子ｏｕｔに伝達されるまでの時間ｔ２は、例えばクロック信号ＰＣＬＫの３サイクルに相当する比較的長い時間となり、これによってエミュレーションユニットの処理速度が低下し、エミュレーション所用時間が長くなる。
【０００８】
この発明の目的は、それぞれ異なる周波数のクロック信号に従って同期動作する複数のブロックからの処理要求信号を効率良く受理しうるレジスタ制御回路等のインタフェース制御回路を実現することにある。この発明の他の目的は、マイクロコントローラ等に内蔵されレジスタ制御回路等のインタフェース制御回路を含むエミュレーションユニット等の処理速度を高め、エミュレーションユニットを用いたエミュレーションの所要時間を短縮することにある。
【０００９】
この発明の前記ならびにその他の目的と新規な特徴は、この明細書の記述及び添付図面から明らかになるであろう。
【００１０】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば、次の通りである。すなわち、その一方で比較的高い周波数とされる第１のクロック信号の周期を実質的なバスサイクルとする周辺バスに結合され、その他方で比較的低い周波数とされる第２のクロック信号の周期を実質的なバスサイクルとするＪＴＡＧバスに結合されるエミュレーションユニットを内蔵するマイクロコントローラ等において、ＪＴＡＧバス側の例えばＴＡＰコントローラから出力される処理要求信号を、第２のクロック信号に同期化することなく、直接第１のクロック信号に従ってラッチに取り込み、同期化して受理する。
【００１１】
上記手段によれば、ＴＡＰコントローラ等により処理要求信号が有効レベルとされてから、この処理要求信号が受理されシフトレジスタによって直並列変換された入力データがデータセレクタの出力端子に出力されるまでの時間を例えば第１のクロック信号の１サイクル分以下に短縮することができる。この結果、それぞれ異なる周波数のクロック信号に従って同期動作する複数のブロックの処理要求信号を効率良く受理しうるレジスタ制御回路等のインタフェース制御回路を実現することができるとともに、マイクロコントローラ等に内蔵されるエミュレーションユニット等の処理速度を高め、エミュレーションユニットを用いたエミュレーションの所要時間を短縮することができる。
【００１２】
【発明の実施の形態】
図１には、この発明が適用されたレジスタ制御回路（インタフェース制御回路）を含むエミュレーションユニットＥＭＵを含むマイクロコントローラ（半導体集積回路装置）の一実施例のブロック図が示され、図２には、図１のマイクロコントローラに含まれるエミュレーションユニットＥＭＵの一実施例のブロック図が示されている。両図をもとに、まずこの実施例のレジスタ制御回路を含むエミュレーションユニットＥＭＵならびにこれを含むマイクロコントローラの構成及び動作の概要を説明する。なお、図１の各ブロックを構成する回路素子は、特に制限されないが、公知のＣＭＯＳ（相補型ＭＯＳ）集積回路の製造技術により、単結晶シリコンのような１個の半導体基板面上に形成される。
【００１３】
図１において、この実施例のマイクロコントローラは、ストアドプログラム方式の中央処理ユニットＣＰＵをその基本構成要素とする。中央処理ユニットＣＰＵは、内部バスＣＢを介してメモリ管理ユニットを含むキャッシュメモリＣＡＣＨに結合される。この内部バスＣＢには、さらに、所定の浮動小数点演算を専門に実行する浮動小数点演算ユニットＦＰＵが結合される。
【００１４】
キャッシュメモリＣＡＣＨは、さらに内部バスＭＢを介してバスステートコントローラＢＳＣに結合される。また、バスステートコントローラＢＳＣは、さらに内部バスＤＢを介してダイレクトメモリアクセスコントローラＤＭＡＣに結合されるとともに、内部バスＥＢを介して外部バスインタフェースＥＢＩＦに結合され、周辺バスＰＢを介してクロックパルス発生回路ＣＰＧ，割り込みコントローラＩＮＴＣ，シリアルコミュニケーションインターフェイスＳＣＩ，リアルタイムクロックＲＴＣ，タイマーユニットＴＭＵならびにエミュレーションユニットＥＭＵに結合される。外部バスインタフェースＥＢＩＦには、外部バスＸＢを介して所定の外部装置が結合され、エミュレーションユニットＥＭＵには、ＪＴＡＧバス（ＪＴＡＧ）を介してエミュレータＥＭが結合される。
【００１５】
ここで、エミュレーションユニットＥＭＵは、図２に示されるように、ＴＡＰコントローラＴＡＰＣ及びレジスタ部ＲＥＧを含むエミュレーション論理回路ＥＭＬと、ＡＳＥメモリ（ＡＳＥＲＡＭ）を備える。エミュレーション論理回路ＥＭＬは、さらにインストラクションデコーダＩＤＥＣ，ブレークコントローラＢＲＫＣならびにテストコントローラＴＳＴＣを含み、周辺バスコントローラＰＢＣと、ＡＳＥメモリに対する書き込み制御回路ＷＣ及び読み書き制御回路ＲＷＣとを含む。また、レジスタ部ＲＥＧは、インストラクションレジスタＳＤＩＲ，ステータスレジスタＳＤＳＲならびにデータレジスタＳＤＤＲＨ及びＳＤＤＲＬと、ＡＳＥメモリに対する書き込みアドレスレジスタＳＤＡＲ及びＳＤＡＲＥとを含み、さらにシフトレジスタＳＲ，バイパスレジスタＳＤＢＰＲ，マルチプレクサＭＸならびにレジスタ制御回路ＲＥＧＣを含む。
【００１６】
エミュレーションユニットＥＭＵは、図２の左側において、所定ビットの周辺バスＰＢを介して所定の内部回路つまり前記バスステートコントローラＢＳＣ等に結合され、図２の右側において所定ビットのＪＴＡＧバスを介して図示されないエミュレータＥＭに結合される。ＪＴＡＧバスは、周知のように、リセット制御信号線ＴＲＳＴ，モード制御信号線ＴＭＳ，クロック信号線ＴＣＬＫならびにシリアル入力データ線ＴＤＩ及びシリアル出力データ線ＴＤＯを含み、さらにブレーク制御信号線ＡＳＥＢＲＫ／ＢＲＫＡＣＫを含む。
【００１７】
このうち、ブレーク制御信号線ＡＳＥＢＲＫ／ＢＲＫＡＣＫは、ブレークコントローラＢＲＫＣに結合され、リセット制御信号線ＴＲＳＴ，モード制御信号線ＴＭＳならびにクロック信号線ＴＣＬＫは、ＴＡＰコントローラＴＡＰＣに結合される。また、シリアル入力データ線ＴＤＩは、シフトレジスタＳＲのシリアル入力端子に結合され、シリアル出力データ線ＴＤＯは、マルチプレクサＭＸの出力端子に結合される。マルチプレクサＭＸの一方の入力端子には、シフトレジスタＳＲのシリアル出力端子が結合される。また、シフトレジスタＳＲのシリアル入力端子とマルチプレクサＭＸの他方の入力端子との間には、データバイパス用のバイパスレジスタＳＤＢＰＲが設けられる。
【００１８】
この実施例において、エミュレーションユニットＥＭＵを構成するエミュレーション論理回路ＥＭＬの点線で囲んだ左側のブロック、つまりブレークコントローラＢＲＫＣ，テストコントローラＴＳＴＣ，インストラクションデコーダＩＤＥＣ，インストラクションレジスタＳＤＩＲ，ステータスレジスタＳＤＳＲ，データレジスタＳＤＤＲＨ及びＳＤＤＲＬ，書き込みアドレスレジスタＳＤＡＲ及びＳＤＡＲＥ，周辺バスコントローラＰＢＣ，書き込み制御回路ＷＣならびに読み書き制御回路ＲＷＣは、周辺バスＰＢを介して供給されるクロック信号ＰＣＬＫ（第１のクロック信号）に従って同期動作する。また、その点線で囲んだ右側のブロックつまりＴＡＰコントローラＴＡＰＣ，シフトレジスタＳＲ，バイパスレジスタＳＤＢＰＲならびにマルチプレクサＭＸは、ＪＴＡＧバスを介して供給されるクロック信号ＴＣＫつまりＴＣＬＫ（第２のクロック信号）に従って同期動作し、レジスタ制御回路ＲＥＧＣは、両側のブロック間のインタフェース制御回路として作用する。各クロック信号の周波数等ならびにレジスタ制御回路ＲＥＧＣの具体的構成等については、後で詳細に説明する。
【００１９】
エミュレーションユニットＥＭＵのエミュレーション論理回路ＥＭＬの周辺バスコントローラＰＢＣは、周辺バスＰＢに対するバス制御を受け持つとともに、図示されないクロックパルス発生回路ＣＰＧから供給されるシステムクロック信号をもとにクロック信号ＰＣＬＫを生成し、各部に供給する。また、ステータスレジスタＳＤＳＲは、周辺バスＰＢを介して供給される所定ビットのインストラクションつまり命令を取り込み、保持する。これらの命令は、インストラクションデコーダＩＤＥＣによりデコードされ、エミュレーションユニットＥＭＵの動作制御に供されるとともに、必要に応じてシフトレジスタＳＲに伝達され、シリアル出力データ線ＴＤＯを介してエミュレータＥＭに伝達される。ステータスレジスタＳＤＳＲは、所定ビットからなるステータス情報の伝達・保持に供され、データレジスタＳＤＤＲＨ及びＳＤＤＲＬは、合計３２ビットからなるデータの伝達・保持に供される。また、書き込みアドレスレジスタＳＤＡＲ及びＳＤＡＲＥは、ＡＳＥメモリのアクセスアドレスを保持し、書き込み制御回路ＷＣ及び読み書き制御回路ＲＷＣは、ＡＳＥメモリのアクセスを制御する。
【００２０】
一方、ＴＡＰコントローラＴＡＰＣは、モード制御信号ＴＭＳ及びリセット制御信号ＴＲＳＴをもとに外部のエミュレータＥＭとの間のインタフェース制御を受け持つとともに、クロック信号ＴＣＫをもとにクロック信号ＴＣＬＫを生成して、各部に供給する。また、シフトレジスタＳＲは、外部のエミュレータＥＭからシリアル入力データ線ＴＤＩを介してシリアルに入力されるデータをクロック信号ＴＣＬＫに従って順次取り込み、例えば３２ビット単位で直並列変換し、データレジスタＳＤＤＲＨ及びＳＤＤＲＬ等にパラレルに伝達するとともに、これらのレジスタからパラレル伝達されるデータを並直列変換して、シリアル出力データ線ＴＤＯからクロック信号ＴＣＬＫつまりクロック信号ＴＣＫに従ってシリアルに出力する。さらに、バイパスレジスタＳＤＢＰＲは、シリアル入力データ線ＴＤＩからクロック信号ＴＣＫつまりクロック信号ＴＣＬＫに従ってシリアル入力されるデータをマルチプレクサＭＸを介してそのままシリアル出力データ線ＴＤＯに出力し、ＪＴＡＧ仕様のバイパスモードをサポートする。
【００２１】
ブレークコントローラＢＲＫＣは、インストラクションデコーダＩＤＥＣによる命令のデコード結果を受けて、例えばブレーク制御信号ＡＳＥＢＲＫ／ＢＲＫＡＣＫによるエミュレータＥＭからのブレークを受け付け、ブレーク要求信号ＢＲＥＱとして中央処理ユニットＣＰＵに伝達する。また、テストコントローラＴＳＴＣは、やはりインストラクションデコーダＩＤＥＣによる命令デコード結果を受けて、所定のテストモードを実行し、ＡＳＥメモリは、ＡＳＥモードをサポートとし、いわゆるエミュレーションメモリとして作用する。
【００２２】
図３には、図２のエミュレーションユニットＥＭＵに含まれるレジスタ制御回路ＲＥＧＣ及びその周辺部の一実施例のブロック図が示され、図４には、その一実施例の信号波形図が示されている。両図をもとに、この実施例のインタフェース制御回路たるレジスタ制御回路ＲＥＧＣ及びその周辺部の具体的構成及び動作ならびにその特徴について説明する。なお、図３には、この発明に関連するレジスタの代表例として、データレジスタＳＤＤＲＨ及びＳＤＤＲＬが例示される。また、周辺バスＰＢから周辺バスコントローラＰＢＣを介してパラレル入力されるデータは、実際には周辺バスコントローラＰＢＣの周辺バスレジスタＰＢＲＧ（第１のレジスタ）を介して授受され、またシフトレジスタＳＲからパラレル出力されるデータも、シフトレジスタＳＲのレジスタＳＲＲＧを介して授受されるが、これらのレジスタはともにその名称のみが図３に示されている。
【００２３】
図３において、周辺バスコントローラＰＢＣのレジスタＰＢＲＧを介して１６ビット単位でパラレル入力されるデータＰＢＩＤ（第１の入力データ）は、データセレクタＤＳＬＨ及びＤＳＬＬの一方の入力端子に供給され、シフトレジスタＳＲのレジスタＳＲＲＧにより直並列変換されパラレル入力されるそれぞれ１６ビットのデータＳＲＩＨ及びＳＲＩＬ（第２の入力データ）は、それぞれデータセレクタＤＳＬＨ及びＤＳＬＬの他方の入力端子に供給される。データセレクタＤＳＬＨ及びＤＳＬＬには、レジスタ制御回路ＲＥＧＣからセレクタ制御信号ＳＬＣが共通に供給され、その出力信号ＤＳＬＨｏｕｔ及びＤＳＬＬｏｕｔは、それぞれデータレジスタＳＤＤＲＨ及びＳＤＤＲＬ（第２のレジスタ）の入力端子に供給される。データレジスタＳＤＤＲＨ及びＳＤＤＲＬのクロック入力端子ＣＫには、クロック信号ＰＣＬＫが供給される。また、その１６ビットの出力信号ＳＤＤＲＨｏｕｔ及びＳＤＤＲＬｏｕｔは、マルチプレクサＭＸを経た後、出力データＰＢＯＤとして周辺バスＰＢに伝達されるとともに、出力データＳＲＯＨ及びＳＲＯＬとしてシフトレジスタＳＲに伝達される。
【００２４】
なお、データレジスタＳＤＤＲＨ及びＳＤＤＲＬのクロック入力端子ＣＫに供給されるクロック信号ＰＣＬＫは、実際には、データ取り込みが必要なときクロック信号ＰＣＬＫに同期して単発的に形成される。
【００２５】
データセレクタＤＳＬＨ及びＤＳＬＬは、セレクタ制御信号ＳＬＣがロウレベルとされるとき、周辺バスＰＢから周辺バスコントローラＰＢＣを介してパラレル入力される入力データＰＢＩＤを選択し、データレジスタＳＤＤＲＨ又はＳＤＤＲＬに伝達する。また、セレクタ制御信号ＳＬＣがハイレベルとされるときには、ＪＴＡＧバスからシリアル入力されシフトレジスタＳＲにより直並列変換されてパラレル入力される入力データＳＲＩＨ及びＳＲＩＬを選択し、データレジスタＳＤＤＲＨ及びＳＤＤＲＬに伝達する。データレジスタＳＤＤＲＨ及びＳＤＤＲＬは、例えばクロック信号ＰＣＬＫの立ち上がりを受けてこれらの入力データを取り込み、保持するとともに、周辺バスコントローラＰＢＣつまり周辺バスＰＢあるいはシフトレジスタＳＲつまりＪＴＡＧバスに伝達する。
【００２６】
ここで、レジスタ制御回路ＲＥＧＣは、特に制限されないが、そのデータ入力端子Ｄに周辺バスコントローラＰＢＣからの処理要求信号ＰＲＥＱ（第１の処理要求信号）を受けるラッチＬＰＲＱ（第１のラッチ）と、そのデータ入力端子ＤにシフトレジスタＳＲつまりＴＡＰコントローラＴＡＰＣからの処理要求信号ＴＲＥＱ（第２の処理要求信号）を受けるラッチＬＴＲＱ（第２のラッチ）とを含む。これらのラッチＬＰＲＱ及びＬＴＲＱのクロック入力端子ＣＫには、周辺バスコントローラＰＢＣからクロック信号ＰＣＬＫが共通に供給され、その出力信号ＱつまりＬＰＲＱｏｕｔ及びＬＴＲＱｏｕｔは、セレクタ制御回路ＳＥＬＣに供給される。セレクタ制御回路ＳＥＬＣは、ラッチＬＰＲＱ及びＬＴＲＱの出力信号ＱつまりＬＰＲＱｏｕｔ及びＬＴＲＱｏｕｔを予め決められた優先順位に従って受理し、その出力信号つまりセレクタ制御信号ＳＬＣを選択的にハイレベル又はロウレベルとする。セレクタ制御信号ＳＬＣは、前記のように、データセレクタＤＳＬＨ及びＤＳＬＬに供給され、その選択制御信号となる。
【００２７】
この実施例において、クロック信号ＰＣＬＫは、図４に示されるように、比較的高い周波数とされ、その周期は周辺バスＰＢの実質的なバスサイクルとなる。また、クロック信号ＴＣＬＫは、例えばクロック信号ＰＣＬＫの二分の一程度の比較的低い周波数とされ、その周期はＪＴＡＧバスの実質的なバスサイクルとなる。一方、処理要求信号ＰＲＥＱは、例えば周辺バスＰＢを介してエミュレーションユニットＥＭＵに対するデータが入力されるとき、クロック信号ＰＣＬＫに同期した所定のタイミングで選択的に有効レベルつまりハイレベルとされ、処理要求信号ＴＲＥＱは、例えばＪＴＡＧバスつまりエミュレータＥＭからシリアル入力データ線ＴＤＩを介してシリアルに入力されるデータがシフトレジスタＳＲに３２ビット蓄積されたとき、クロック信号ＴＣＬＫに同期した所定のタイミングで選択的に有効レベルつまりハイレベルとされる。
【００２８】
なお、処理要求信号ＰＲＥＱは、実際には周辺バスＰＢを介して入力されるデータＰＢＩＤが上位１６ビット又は下位１６ビットのいずれに対応するものであるかに応じて個別にかつそれぞれ選択的に形成され、データレジスタＳＤＤＲＨ及びＳＤＤＲＬのクロック入力端子ＣＫに供給されるクロック信号ＰＣＬＫも、前述のように、それぞれ必要に応じて単発的に形成される。
【００２９】
周辺バスＰＢにエミュレーションユニットＥＭＵに対するデータが入力され、処理要求信号ＰＲＥＱがハイレベルとされるとき、エミュレーションユニットＥＭＵのレジスタ制御回路ＲＥＧＣでは、クロック信号ＰＣＬＫの最初の立ち上がりを受けてラッチＬＰＲＱの出力信号ＱつまりＬＰＲＱｏｕｔがハイレベルとなる。このため、セレクタ制御回路ＳＥＬＣの出力信号つまりセレクタ制御信号ＳＬＣがロウレベルとなり、データセレクタＤＳＬＨ及びＤＳＬＬは周辺バスコントローラＰＢＣからの入力データＰＢＩＤつまりデータＤＡを選択し、データレジスタＳＤＤＲＨ及びＳＤＤＲＬに伝達する。これらのデータＤＡはそのままデータレジスタＳＤＤＲＨ又はＳＤＤＲＬに取り込まれ、保持される。
【００３０】
一方、ＪＴＡＧバスつまりシリアル入力データ線ＴＤＩを介してシリアルに入力されるデータがシフトレジスタＳＲに３２ビット蓄積され、処理要求信号ＴＲＥＱがハイレベルとされるとき、エミュレーションユニットＥＭＵのレジスタ制御回路ＲＥＧＣでは、クロック信号ＰＣＬＫの最初の立ち上がりを受けてラッチＬＴＲＱの出力信号ＱつまりＬＴＲＱｏｕｔがハイレベルとなる。このため、セレクタ制御回路ＳＥＬＣの出力信号つまりセレクタ制御信号ＳＬＣがハイレベルとなり、データセレクタＤＳＬＨ及びＤＳＬＬは、シフトレジスタＳＲからの入力データＳＲＩＨ及びＳＲＩＬつまりデータＤＢを選択して、データレジスタＳＤＤＲＨ及びＳＤＤＲＬに伝達する。これらのデータＤＢはそのままデータレジスタＳＤＤＲＨ又はＳＤＤＲＬに取り込まれ、保持される。
【００３１】
このように、本実施例のマイクロコントローラのエミュレーションユニットＥＭＵでは、クロック信号ＴＣＬＫに従って同期動作するＴＡＰコントローラＴＡＰＣからの処理要求信号ＴＲＥＱが、一旦クロック信号ＴＣＬＫに同期化されることなく、直接ラッチＬＴＲＱによってクロック信号ＰＣＬＫに同期化される。このため、ＴＡＰコントローラＴＡＰＣにより処理要求信号ＴＲＥＱが有効レベルとされてからデータセレクタＤＳＬＨ及びＤＳＬＬの出力端子にシフトレジスタＳＲからの入力データＳＲＩＨ及びＳＲＩＬが出力されるまでの時間ｔ１は、クロック信号ＰＣＬＫの１周期分にも満たない短い時間となる。この結果、それぞれ異なる周波数のクロック信号ＰＣＬＫ又はＴＣＬＫに従って同期動作する複数のブロックつまり周辺バスコントローラＰＢＣ及びＴＡＰコントローラＴＡＰＣの処理要求信号ＰＲＥＱ及びＴＲＥＱを効率良く受理しうるエミュレーションユニットＥＭＵを実現することができるとともに、エミュレーションユニットＥＭＵの処理速度を高め、エミュレーションユニットを用いたエミュレーションの所要時間を短縮することができるものである。
【００３２】
図５には、この発明が適用されたレジスタ制御回路ＲＥＧＣ及びその周辺部の第２の実施例のブロック図が示されている。なお、この実施例は、前記図３及び図４の実施例を基本的に踏襲するものであるため、これらの実施例と異なる部分についてのみ説明を追加する。
【００３３】
図５において、この実施例のレジスタ制御回路ＲＥＧＣは、そのデータ入力端子Ｄに周辺バスコントローラＰＢＣからの処理要求信号ＰＲＥＱを受けるラッチＬＰＲＱと、そのデータ入力端子Ｄにアンド（ＡＮＤ）ゲートＡＧの出力信号を受けるラッチＬＴＲＱとを含む。アンドゲートＡＧの一方の入力端子には、シフトレジスタＳＲつまりＴＡＰコントローラＴＡＰＣから処理要求信号ＴＲＥＱが供給され、その他方の入力端子にはクロック信号ＴＣＬＫが供給される。ラッチＬＰＲＱ及びＬＴＲＱのクロック入力端子ＣＫには、周辺バスコントローラＰＢＣからクロック信号ＰＣＬＫが共通に供給され、その出力信号ＱつまりＬＰＲＱｏｕｔ及びＬＴＲＱｏｕｔはセレクタ制御回路ＳＥＬＣに供給される。
【００３４】
これにより、ラッチＬＴＲＱは、アンドゲートＡＧの出力信号がハイレベルとされるとき、言い換えるならば処理要求信号ＴＲＥＱがハイレベルとされかつクロック信号ＴＣＬＫがハイレベルとされるとき、クロック信号ＰＣＬＫの立ち上がりを受けて選択的にセット状態とされ、その出力信号ＬＴＲＱｏｕｔをハイレベルとする。つまり、この実施例のレジスタ制御回路ＲＥＧＣでは、ＴＡＰコントローラＴＡＰＣの処理要求信号ＴＲＥＱがアンドゲートＡＧによってクロック信号ＴＣＬＫのハイレベルに同期化された後、クロック信号ＰＣＬＫに同期化される訳であって、これによって特に処理要求信号ＴＲＥＱの同期化が必要な場合においてエミュレーションユニットＥＭＵの処理を安定化することができる。なお、処理要求信号ＴＲＥＱがクロック信号ＴＣＬＫのハイレベルに同期化されることでエミュレーションユニットＥＭＵの処理速度は低下するが、クロック信号ＴＣＬＫのデューティを５０％とした場合、クロック信号ＰＣＬＫの立ち上がりでクロック信号ＴＣＬＫがロウレベルである確率は５０％となるため、エミュレーションユニットＥＭＵの処理速度はやや遅くはなるものの、図８及び図９のエミュレーションユニットＥＭＵに比べてかなり高速化される。
【００３５】
図６には、この発明が適用されたレジスタ制御回路ＲＥＧＣ及びその周辺部の第３の実施例の状態遷移図が示され、図７には、その一実施例の信号波形図が示されている。なお、この実施例は、前記図３及び図４の実施例を基本的に踏襲するものであるため、これと異なる部分についてのみ説明を追加する。また、この実施例では、レジスタ制御回路ＲＥＧＣ及び周辺部のブロック構成が示されていないが、基本的には図３及び図４と同じであるため、類推されたい。
【００３６】
図６において、この実施例のエミュレーションユニットＥＭＵは、クロック信号ＣＬＫ１，ＣＬＫ２ならびにＣＬＫ３に従ってそれぞれ同期動作し、かつ必要に応じてレジスタ制御回路ＲＥＧＣに対する処理要求信号ＲＥＱ１，ＲＥＱ２あるいはＲＥＱ３をそれぞれ選択的に有効レベルとする三つのブロックつまり第１ないし第３のブロックを備え、レジスタ制御回路ＲＥＧＣは、これらのブロックに対応して設けられる三つの状態Ｓ１ないしＳ３を有する。また、前記図３及び図４から類推できるように、データレジスタＳＤＤＲＨ及びＳＤＤＲＬ等の前段には、第１ないし第３の入力端子をそれぞれ有するデータセレクタＤＳＬＨ及びＤＳＬＬが設けられ、これらのデータセレクタの第１ないし第３の入力端子には上記第１ないし第３のブロックからの入力データがそれぞれ供給される。レジスタ制御回路ＲＥＧＣの状態Ｓ１は、データセレクタＤＳＬＨ及びＤＳＬＬによって第１のブロックからの入力データが選択される場合に対応し、状態Ｓ２は、第２のブロックからの入力データが選択される場合に対応し、状態Ｓ３は、第３のブロックからの入力データが選択される場合に対応する。
【００３７】
この実施例において、クロック信号ＣＬＫ２は、図７に例示されるように、クロック信号ＣＬＫ３に比較して高い周波数とされ、クロック信号ＣＬＫ１は、このクロック信号ＣＬＫ２に比較してさらに高い周波数とされる。また、処理要求信号ＲＥＱ１は、クロック信号ＣＬＫ１の立ち上がりよりやや早めに有効レベルつまりハイレベルとされ、処理要求信号ＲＥＱ２及びＲＥＱ３は、それぞれ対応するクロック信号ＣＬＫ２又はＣＬＫ３にほぼ同期して、しかも対応するクロック信号ＣＬＫ２又はＣＬＫ３の例えば少なくとも１．５サイクル分に相当する期間だけ有効レベルつまりハイレベルとされる。
【００３８】
レジスタ制御回路ＲＥＧＣは、第１ないし第３のブロックに対応して設けられる図示されない３個のラッチを含み、これらのラッチのクロック入力端子ＣＫには、クロック信号ＣＬＫ１ないしＣＬＫ３のうち最も周波数の高いクロック信号ＣＬＫ１が共通に供給される。また、これらのラッチの出力信号は、図示されないセレクタ制御回路ＳＥＬＣに供給され、これを受けてデータセレクタＤＳＬＨ及びＤＳＬＬに対するセレクタ制御信号ＳＬＣ１ないしＳＬＣ３が択一的に有効レベルつまりハイレベルとされる。セレクタ制御信号ＳＬＣ１がハイレベルとされるとき、データセレクタＤＳＬＨ及びＤＳＬＬは第１のブロックからの入力データＩＤ１つまりデータＤ１を選択し、その出力信号ＳＬｏｕｔとしてデータレジスタＳＤＤＲＨ及びＳＤＤＲＬに伝達する。また、セレクタ制御信号ＳＬＣ２がハイレベルとされるときは、第２のブロックからの入力データＩＤ２つまりデータＤ２を選択し、セレクタ制御信号ＳＬＣ３がハイレベルとされるときには、第３のブロックからの入力データＩＤ３つまりデータＤ３を選択する。
【００３９】
レジスタ制御回路ＲＥＧＣは、リセット信号ＲＥＳＥＴが有効レベルとされるとき、初期状態つまり状態Ｓ１とされる。また、この状態Ｓ１にあるとき、第２のブロックの処理要求信号ＲＥＱ２が有効レベルとされると状態Ｓ２に遷移し、第３のブロックの処理要求信号ＲＥＱ３が有効レベルとされると状態Ｓ３に遷移する。そして、その他の条件ｅｌｓｅつまり処理要求信号ＲＥＱ１が有効レベルとされ、あるいはいずれの処理要求信号も有効レベルとされない場合はその状態が遷移されず、状態Ｓ１をそのまま保持する。
【００４０】
一方、レジスタ制御回路ＲＥＧＣが状態Ｓ２にあるとき、レジスタ制御回路ＲＥＧＣは、第１のブロックの処理要求信号ＲＥＱ１の有効レベルを受けて状態Ｓ１に遷移し、第３のブロックの処理要求信号ＲＥＱ３の有効レベルを受けて状態Ｓ３に遷移する。そして、その他の条件ｅｌｓｅつまり処理要求信号ＲＥＱ２が有効レベルとされ、あるいはいずれの処理要求信号も有効レベルとされない場合はその状態が遷移されず、状態Ｓ２をそのまま保持する。
【００４１】
同様に、レジスタ制御回路ＲＥＧＣが状態Ｓ３にあるとき、レジスタ制御回路ＲＥＧＣは、第１のブロックの処理要求信号ＲＥＱ１の有効レベルを受けて状態Ｓ１に遷移し、第２のブロックの処理要求信号ＲＥＱ２の有効レベルを受けて状態Ｓ２に遷移する。そして、その他の条件ｅｌｓｅつまり処理要求信号ＲＥＱ３が有効レベルとされ、あるいはいずれの処理要求信号も有効レベルとされない場合はその状態が遷移されず、状態Ｓ３をそのまま保持する。
【００４２】
前述のように、この実施例のレジスタ制御回路ＲＥＧＣには、そのデータ入力端子Ｄに対応する処理要求信号ＲＥＱ１ないしＲＥＱ３をそれぞれ受ける３個のラッチが設けられ、これらのラッチのクロック入力端子ＣＫには、最も周波数の高いクロック信号ＣＬＫ１が共通に供給される。このため、処理要求信号ＲＥＱ１ないしＲＥＱ３は、それが有効レベルつまりハイレベルとされた以後の最初のクロック信号ＣＬＫ１の立ち上がりを受けて対応するラッチにそれぞれ取り込まれ、所定の優先順位に従って択一的に受理される。この結果、この実施例の場合も、前記図３及び図４の実施例と同様に、それぞれ異なる周波数のクロック信号ＣＬＫ１ないしＣＬＫ３に従って同期動作する三つのブロックの処理要求信号ＲＥＱ１ないしＲＥＱ３を効率良く受理しうるエミュレーションユニットＥＭＵを実現することができるとともに、エミュレーションユニットＥＭＵの処理速度を高め、エミュレーションユニットを用いたエミュレーションの所要時間を短縮することができるものである。
【００４３】
以上の実施例から得られる作用効果は、下記の通りである。すなわち、
（１）その一方で比較的高い周波数とされる第１のクロック信号の周期を実質的なバスサイクルとする周辺バスに結合され、その他方で比較的低い周波数とされる第２のクロック信号の周期を実質的なバスサイクルとするＪＴＡＧバスに結合されるエミュレーションユニットを内蔵するマイクロコントローラ等において、ＪＴＡＧバス側の例えばＴＡＰコントローラから出力される処理要求信号を、第２のクロック信号に同期化することなく、直接第１のクロック信号に従ってラッチに取り込み、同期化して受理することで、ＴＡＰコントローラ等により処理要求信号が有効レベルとされてから、この処理要求信号が受理されシフトレジスタにより直並列変換された入力データがデータセレクタの出力端子に出力され、データレジスタに伝達されるまでの時間を、例えば第１のクロック信号の１サイクル分程度に短縮することができるという効果が得られる。
【００４４】
（２）上記（１）項により、それぞれ異なる周波数のクロック信号に従って同期動作する複数のブロックの処理要求信号を効率良く受理しうるエミュレーションユニットを実現することができるという効果が得られる。
（３）上記（１）項及び（２）項により、マイクロコントローラ等に内蔵されるエミュレーションユニット等の処理速度を高め、エミュレーションユニットを用いたエミュレーションの所要時間を短縮できるという効果が得られる。
（４）上記（１）項ないし（３）項において、ＴＡＰコントローラ等から出力される処理要求信号を、例えばアンドゲート等によって第２のクロック信号のハイレベルに同期化した後、第１のクロック信号に同期化することで、エミュレーションユニット等の平均的な処理速度の低下を抑制しつつ、エミュレーションユニット等の処理を安定化することができるという効果が得られる。
【００４５】
以上、本発明者によりなされた発明を実施例に基づき具体的に説明したが、この発明は、上記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。例えば、図１において、マイクロコントローラのブロック構成は種々の実施形態をとりうるし、そのバス構成やエミュレーションユニットＥＭＵの接続位置についても同様である。図２において、エミュレーションユニットＥＭＵのブロック構成は、この実施例による制約を受けない。図３及び図５において、レジスタ制御回路ＲＥＧＣのブロック構成は種々の実施形態をとりうるし、エミュレーションユニットＥＭＵは、同様なレジスタ制御回路を複数含むことができる。図４及び図７において、各クロック信号及び内部信号の具体的時間関係は、本発明の主旨に影響を与えない。
【００４６】
以上の説明では、主として本発明者によってなされた発明をその背景となった利用分野であるマイクロコントローラ及びそのエミュレーションユニットならびにそのレジスタ制御回路に適用した場合について説明したが、それに限定されるものではなく、例えば、同様なレジスタ制御回路を含む各種の論理集積回路装置やシングルチップマイクロコンピュータ等にも適用できる。この発明は、少なくともそれぞれ異なる周波数のクロック信号に従って同期動作する複数のブロックとその処理要求信号を選択的に受理するインタフェース制御回路とを含む半導体集積回路装置ならびにこれを含む装置又はシステムに広く適用できる。
【００４７】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。すなわち、その一方で比較的高い周波数とされる第１のクロック信号の周期を実質的なバスサイクルとする周辺バスに結合され、その他方で比較的低い周波数とされる第２のクロック信号の周期を実質的なバスサイクルとするＪＴＡＧバスに結合されるエミュレーションユニットを内蔵するマイクロコントローラ等において、ＪＴＡＧバス側の例えばＴＡＰコントローラから出力される処理要求信号を、第２のクロック信号に同期化することなく直接第１のクロック信号に従ってラッチに取り込み、同期化して受理する。これにより、ＴＡＰコントローラ等により処理要求信号が有効レベルとされてから、この処理要求信号が受理されシフトレジスタにより直並列変換された入力データがデータセレクタの出力端子に出力されるまでの時間を例えば第１のクロック信号の１サイクル分程度に短縮できる。この結果、それぞれ異なる周波数のクロック信号に従って同期動作する複数のブロックの処理要求信号を効率良く受理しうるエミュレーションユニットを実現できるとともに、マイクロコントローラ等に内蔵されるエミュレーションユニット等の処理速度を高め、エミュレーションユニットを用いたエミュレーションの所要時間を短縮することができる。
【図面の簡単な説明】
【図１】この発明が適用されたレジスタ制御回路を含むエミュレーションユニットを含むマイクロコントローラの一実施例を示すブロック図である。
【図２】図１のマイクロコントローラに含まれるエミュレーションユニットの一実施例を示すブロック図である。
【図３】図２のエミュレーションユニットに含まれるレジスタ制御回路及びその周辺部の第１の実施例を示すブロック図である。
【図４】図３のレジスタ制御回路及びその周辺部の一実施例を示す信号波形図である。
【図５】この発明が適用されたレジスタ制御回路及びその周辺部の第２の実施例を示すブロック図である。
【図６】この発明が適用されたレジスタ制御回路の第３の実施例を示す状態遷移図である。
【図７】図６のレジスタ制御回路及びその周辺部の一実施例を示す信号波形図である。
【図８】この発明に先立って本願発明者等が開発したマイクロコントローラのエミュレーションユニットに含まれるレジスタ制御回路及びその周辺部の一例を示すブロック図である。
【図９】図８のレジスタ制御回路及びその周辺部の一例を示す信号波形図である。
【符号の説明】
ＣＰＵ……中央処理ユニット、ＦＰＵ……浮動小数点演算ユニット、ＣＡＣＨ……キャッシュメモリ、ＢＳＣ……バスコントローラ、ＤＭＡＣ……ダイレクトメモリアクセスコントローラ、ＣＰＧ……クロックパルス発生回路、ＩＮＴＣ……割り込みコントローラ、ＳＣＩ……シリアルコミュニケーションインターフェイス、ＲＴＣ……リアルタイムクロック、ＴＭＵ……タイマーユニット、ＥＭＵ……エミュレーションユニット、ＥＢＩＦ……外部バスインタフェース、ＣＢ，ＭＢ，ＤＢ……内部バス、ＰＢ……周辺バス、ＸＢ……外部バス、ＪＴＡＧ……ＪＴＡＧバス、ＥＭ……エミュレータ。
ＥＭＬ……エミュレーション論理回路、ＡＳＥＲＡＭ……ＡＳＥメモリ、ＲＥＧ……レジスタ部、ＴＡＰＣ……ＴＡＰコントローラ、ＩＤＥＣ……インストラクションデコーダ、ＢＲＫＣ……ブレークコントローラ、ＴＳＴＣ……テストコントローラ、ＳＤＩＲ……インストラクションレジスタ、ＳＤＳＲ……ステータスレジスタ、ＳＤＤＲＨ，ＳＤＤＲＬ……データレジスタ、ＳＤＡＲ，ＳＤＡＲＥ……ＡＳＥメモリ用書き込みアドレスレジスタ、ＰＢＣ……周辺バスコントローラ、ＷＣ……書き込み制御回路、ＲＷＣ……読み書き制御回路、ＳＲ……シフトレジスタ、ＳＤＢＰＲ……バイパスレジスタ、ＭＸ……マルチプレクサ、ＲＥＧＣ……レジスタ制御回路。
ＴＣＫ，ＴＣＬＫ，ＰＣＬＫ……クロック信号、ＡＳＥＢＲＫ／ＢＲＫＡＣＫ……ブレーク制御信号、ＴＲＳＴ……リセット制御信号、ＴＭＳ……モード制御信号、ＴＤＩ……シリアル入力データ、ＴＤＯ……シリアル出力データ、ＢＲＥＱ……ブレーク要求信号。
ＳＥＬＣ……セレクタ制御回路、ＳＬＣ……セレクタ制御信号、ＬＰＲＱ，ＬＴＲＱ……ラッチ、ＤＳＬＨ，ＤＳＬＬ……データセレクタ、ＰＲＥＱ，ＴＲＥＱ……処理要求信号。
ＡＧ……アンド（ＡＮＤ）ゲート。
Ｓ１〜Ｓ３……状態、ＲＥＳＥＴ……リセット信号、ＲＥＱ１〜ＲＥＱ３……処理要求信号。
ＣＬＫ１〜ＣＬＫ３……クロック信号、ＩＤ１〜ＩＤ３……入力データ、ＳＬＣ１〜ＳＬＣ３……セレクタ制御信号、ＳＬｏｕｔ……セレクタ出力信号。
ＬＴＲＱ１〜ＬＴＲＱ２……ラッチ。
【図１】
0003672162.tif 000002
【図２】
0003672162.tif 000003
【図３】
0003672162.tif 000004
【図４】
0003672162.tif 000005
【図５】
0003672162.tif 000006
【図６】
0003672162.tif 000007
【図７】
0003672162.tif 000008
【図８】
0003672162.tif 000009
【図９】
0003672162.tif 000010