JP4441398B2 - 1サイクルまたはnサイクルの歩進を使用してシステム・オン・チップをデバッグするためのシステムと方法 - Google Patents

1サイクルまたはnサイクルの歩進を使用してシステム・オン・チップをデバッグするためのシステムと方法 Download PDF

Info

Publication number
JP4441398B2
JP4441398B2 JP2004372440A JP2004372440A JP4441398B2 JP 4441398 B2 JP4441398 B2 JP 4441398B2 JP 2004372440 A JP2004372440 A JP 2004372440A JP 2004372440 A JP2004372440 A JP 2004372440A JP 4441398 B2 JP4441398 B2 JP 4441398B2
Authority
JP
Japan
Prior art keywords
soc
circuit
scan chain
debug
clock
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.)
Expired - Fee Related
Application number
JP2004372440A
Other languages
English (en)
Other versions
JP2005196774A (ja
Inventor
ピー.イー オーシーガー
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.)
Agere Systems LLC
Original Assignee
Agere Systems LLC
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 Agere Systems LLC filed Critical Agere Systems LLC
Publication of JP2005196774A publication Critical patent/JP2005196774A/ja
Application granted granted Critical
Publication of JP4441398B2 publication Critical patent/JP4441398B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3632Software debugging of specific synchronisation aspects
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31705Debugging aspects, e.g. using test circuits for debugging, using dedicated debugging test circuits
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31727Clock circuits aspects, e.g. test clock circuit details, timing aspects for signal generation, circuits for testing clocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

本発明は、システム・オン・チップ(SoC)を基本とする埋め込みコアをデバッグするためのシステムと方法に関し、さらに特定すると、現実のシステム環境で単一またはNサイクルの歩進を使用することによって複雑なSoCをデバッグするためのシステムと方法に関する。
1990年代以来、集積回路(IC)の設計はチップ・セットの考え方から埋め込みコアを基本とするSoCの概念へと進歩してきた。SoCのICは、マイクロプロセッサ、インターフェース、メモリ・アレー、およびDSP(デジタル信号プロセッサ)といった様々な再利用可能な機能ブロックを含む。そのような前もって設計された機能ブロックは、普通、「IPコア」、「コア」、または「ブロック」と呼ばれ、本明細書では集合的に「機能ブロック」または単純に「ブロック」と称される。結果として得られるSoCは極めて複雑になっている。さらに、これらSoCの設計に使用される技術はチップ設計の複雑さに対応しきれていない。すなわち、SoCは現在、様々な製造供給元から得られる機能ブロックを単一の設計にまとめ、その後、これらのブロックの間の境界を機能的に検証することによって設計される。
SoCのデバッグは、設計品が製造された後は難しい作業になる可能性がある。この難しさは異なる機能ブロック間の多数のあり得る相互作用に起因する。極めて頻繁に、設計工程中に察知されずにいる問題のタイプは、異なる機能ブロック間の相互作用を含む問題である。通常、設計者は独立した環境で設計品の機能を確認するための徹底した検査を書く。機能ブロックが集積化されると、ブロックへのインターフェースをチェックするためにその後追加的な機能検査が書かれる。しかしながら、これらの検査は不完全でシステム・レベルの検査である。システム・レベルの検査の不充分性は、ブロックの設計者がそのブロックが使用されるであろうシステムについて有する限られた理解に起因する。
製造されたSoCに伴う機能上の問題が生じると、設計者は内部レジスタ、内部メモリ、またはデバイスへのピンに現れる出力信号を観察することによって(例えばデバイスのピンの検査プロービングならびにコンピュータ操作されたデバッグ用インターフェースを使用するさらに洗練された方法といった様々な手段によって)原因を判定することを試みる。しばしば、これはブレークポイント処理のようなよく知られている先行技術のデバッグ用技術を伴う。ブレークポイント処理は、ソフトウェア設計者が効率的にコードをデバッグすることを可能にするようにマイクロプロセッサの設計で使用される構想である。設計者はマイクロプロセッサによって実行される命令上にブレークポイントを設定する。マイクロプロセッサがその命令を実行する前に命令のフローが中断され、マイクロプロセッサはデバッグ・モードに入る。
単一サイクルの歩進またはnサイクルの歩進は、ソフトウェア設計者が効率的にコードをデバッグすることを可能にするためにブレークポイント処理と連動して使用されるまた別のデバッグの構想である。設計者はマイクロプロセッサによって実行される命令上にブレークポイントを設定する。上述したように、マイクロプロセッサがその命令を実行する前に命令のフローが中断され、マイクロプロセッサはデバッグ・モードに入る。一回の歩進を可能にするために、ブレークポイントは後に続く命令上に設定され、マイクロプロセッサはデバッグ・モードから解放され、再びデバッグ・モードに入る前に現在の命令を実行する。同様に、nサイクルの歩進についてはブレークポイントはn個の命令の先にある命令上に設定される。
これらの先行技術によるデバッグ技術は複雑なSoCに容易に適用することが可能ではない。このジレンマは異なるクロック領域で動作する多数のブロックが存在すること、および各々のブロックが命令を中断するための独自の方法を有する可能性があることが原因である。設計工程を簡略化するために最新のSoCは異なる機能ブロックのブレークポイント処理のメカニズムを別々にした。この設計手法はSoCでデバッグが支障をきたすと設計者の妨げとなる。特に、設計者は各々の機能ブロックを別々に停止することを必要とし、その結果、故障のポイントまでSoC全体にわたる制御が無くなる。
さらに、そのような複雑なSoCに関すると、SoCを1サイクルもしくはnサイクル先に進めるための前述の技術は存在しない。やはり、このジレンマは異なるクロック領域で動作する多数のブロックが存在すること、ならびに各々のブロックが命令を1サイクルもしくはnサイクル先に進めるための独自の方法を有する可能性があることが原因である。
本発明は、SoCの命令を中断させ、SoC内のクロックの効果的な制御によってSoCの命令を1サイクルもしくはnサイクル先に進める手段を提供するための手段を提供することによって先行技術のこれらの問題を克服する。
大規模で複雑なSoCは様々な機能ブロックの相互接続を有し、それらのブロックはしばしば異なるクロック領域で動作する。SoC内のクロックを効果的に制御することによって、本発明はSoCの命令を中断させ、その後、その命令を現実のシステム環境で1サイクルもしくはnサイクル先に進めるための手段を提供する。したがって本発明は、機能ブロック間の相互作用の理由と影響を調べる能力を提供するのでSoCの設計者、およびそのコードがSoCによって実行されるソフトウェアの設計者の両方に対して有効なデバッグ用ツールを提供する。
本発明はまた、1つの機能ブロックしか有していないがブロックのクロックとは異なるクロックで動作する複雑な回路を有するSoCにも応用可能である。本発明は、ブロックのクロックを中断させ、その後、1サイクルもしくはnサイクルその命令を先に進めることでブロックとSoC回路の間の相互作用の解析を再び許可することを可能にする。
この最新の発明は「System and Method for Debugging System−on−Chips」という表題の係属米国特許出願と組み合わせて役立てることで複雑なSoCをデバッグするための有用な手段を提供する。本明細書に参照で組み入れるこの係属出願では、SoCに含まれるブロックの内部状態の可観察性が提供される。
本発明の様々な実施形態がここで添付の図面と関連させて詳細に説明されるであろう。
図1はSoC102に関するブレークポイント処理機能のサポートのためのインターフェースを例示している。図1に示されるように、SoC102は3つの機能ブロック(104、106および108)を含む。通常のSoCでは、しばしばはるかに多くの機能ブロックがあるので、図1はSoCの単純な範例となるように意図されている。各々の機能ブロックは別々のクロック領域からクロック供給(ブロック・クロック1、ブロック・クロック2、およびブロック・クロック3であり、それぞれ項目110、112および114)されて示されている。各々のクロック領域に関して別々のクロック制御ユニット(クロック制御部1、クロック制御部2およびクロック制御部3であり、それぞれ項目116、118および120)もやはり例示されている。もしも2つ以上の機能ブロックが同じクロック領域を共有する場合、クロック制御ユニットもまたこれらの機能ブロックによって共有されるであろう。これらのクロック制御ユニットは、各々の独立したクロック領域に関して標準ブロック・クロック信号(まとめて、項目115)を入力として受け取る。下記に図2と3でさらに例示されるであろうが、これら標準ブロック・クロック信号はそれぞれのブロック・クロック信号(110、112または114)を導き出すために使用される。
各々の機能ブロックはトリガ信号(トリガ1、トリガ2およびトリガ3であり、それぞれ項目122、124および126)をブレークポイント処理制御ブロック128へと供給する。当該技術でよく知られているように、これらのトリガ信号は、機能ブロック内で生じていてSoCの命令が中断される原因となるはずの事象をモニタする。ブレークポイント処理制御ブロック128はデバッグ・トリガ信号130をデバッグ/クロックの制御ブロック132に設定する時を判定するためにトリガ信号を使用する。
ブレークポイント処理制御ブロック128は、SoCが既にデバッグ・モードに入った後に新たなブレークポイント事象の検出を許可する時を判定するためにクロック中断信号(クロック1中断、クロック2中断およびクロック3中断であり、それぞれ項目134、136および138)を使用する。デバッグ・クリア信号140はSoCの規定の動作を再開させる前にブレークポイント処理制御ブロック内の回路をクリアする。外部デバッグ信号142はSoCの無条件の中断を可能にする。
図2はSoC102でブレークポイント処理を実施するために本発明の一実施形態で使用される制御回路を示している。図2はSoC内の各々の独立したクロック領域のためのトリガ・ユニット(トリガ・ユニット1、トリガ・ユニット2およびトリガ・ユニット3であり、それぞれ項目202、204および206)を例示している。この範例では、各々の機能ブロックは独自のクロック領域を有する。各々のトリガ・ユニットはトリガ・イネーブル信号(すなわちトリガ・ユニット1についてはトリガ・イネーブル1、トリガ・ユニット2についてはトリガ・イネーブル2、トリガ・ユニット3についてはトリガ・イネーブル3であり、それぞれ項目208、210および212)によってイネーブルにされる。各々のトリガ・ユニットはユニットがイネーブルにされた後にトリガ信号(すなわちトリガ・ユニット1についてはトリガ1)をサンプリングし始める。いったんブレークポイントの事象が生じると、トリガは適切なトリガ・ユニット内でラッチをかけられ、対応するリクエスト・ライン(すなわちトリガ・ユニット1についてはREQ 1、トリガ・ユニット2についてはREQ 2およびトリガ・ユニット3についてはREQ 3であり、それぞれ項目214、216および218)が稼動させられる。このトリガ・ユニットは、適切なクロック中断信号が休止させられて対応するクロック領域が規定の動作に戻ったことが示されるまでリクエスト・ラインの稼動状態を維持する。クロック中断信号(すなわちトリガ・ユニット1(項目202)に関するとクロック1中断(項目134))が休止させられると、トリガ・ユニット内のラッチをクリアするためのパルスが作り出される。いったんトリガ・ユニットが稼動させられると、対応するトリガ信号(122、124および126)のさらなるサンプリングを阻止するために遅延停止信号(項目220、222および224)が作り出される。
すべてのトリガ・ユニットから入るリクエスト・ライン(214、216および218)は条件付ブレークポイント処理を可能にするためにゲート228によって一緒にゲート処理される。デバッグ・トリガ信号130は、すべてのイネーブルにされたトリガ・ユニットから入るリクエスト・ラインが稼動させられる時にのみ稼動状態である。ディスエーブルにされるトリガ・ユニットに関すると、ディスエーブルにされたトリガ・ユニットがイネーブルにされたトリガ・ユニットの動作と干渉することを防止するために対応するリクエスト・ラインは稼動状態である。もしもすべてのトリガ・ユニットがディスエーブルにされると、デバッグ・トリガ信号は稼動を阻止され、それにより、いずれのブレークポイント処理機能もディスエーブルにされる。外部デバッグ信号142はSoCの無条件の中断を可能にする。
デバッグ・クリア・ユニット230はブレークポイント処理制御論理をクリアし、SoCを規定の動作に戻す。図2に例示されるように、デバッグ・クリア・ユニット230がデバッグ・クリア信号140に遭遇すると、デバッグ・トリガ信号130をクリアするためにクリア信号232が稼動させられる。デバッグ・トリガ信号130のクリアは各クロック領域が規定のクロック動作(すなわち、標準クロック1、標準クロック2および標準クロック3であり、それぞれ項目234、236および238)に切り換え復帰する原因となる。再びデバッグ・モードに入ることを阻止するために、前のブレークポイント処理の事象がクリアされるまでクリア信号232は稼動状態に保たれる。すべての遅延中断信号(220、222および224)が休止させられると、ブレークポイント処理事象の次のセットが認識されることを可能にするためにクリア信号232は休止させられる。
図3は本発明の実施形態によるSoC102のブレークポイント処理に関するタイミング動作の範例を例示している。この範例では、トリガ・ユニット1(項目202)およびトリガ・ユニット2(項目204)がイネーブルにされる。標準クロック1(項目234)に同期させられるトリガ1信号(項目122)が稼動させられると、対応するリクエスト・ライン(REQ 1、項目214)が稼動させられる。REQ 2信号(項目216)が稼動させられる時にのみ、デバッグ・トリガ信号130が稼動状態になる。REQ 2信号(項目216)は、標準クロック2(項目236)に同期させられるトリガ 2信号(項目124)が稼動させられると稼動状態になる。
デバッグ・トリガ信号130が稼動させられると、その後にSoC内のすべてのクロック(110、112および114)中断させられる。クロック中断方法は、「System and Method for Debugging System−on−Chips」という表題の上記で参照した係属米国特許出願にさらに述べられている。図3に例示されるように、デバッグ・イネーブル302およびデバッグ準備完了信号304はスキャン・クロック306への同期の後に稼動させられる。デバッグ準備完了信号304が稼動状態にあると、これはSoC102がデバッグ・モードに入ったこと、およびデバイスの内部状態が観察可能であることをシステム環境に示す。
単純化するために、クロック3中断信号は図3に例示されていない。本発明のこの実施形態では、デバッグ・イネーブル信号302が稼動させられる時はSoC102内の最も遅いクロック速度によって決定される。
SoC102が規定の動作を再開する時、デバッグ・クリア信号140がシステム環境(例えばユーザまたはモニタリング装置から由来する入力信号)によってトリガをかけられ、それによりクリア信号232が稼動させられる。クリア信号が稼動させられると同時に、デバッグ・トリガ信号130が休止させられる。デバッグ・トリガ信号130のクリアは様々なクロック領域の各々へのクロックが元通りにそれらの標準クロック(234および236)に同期させられる原因となる。様々なクロック領域の各々へのクロックが再度同期している間、およびブレークポイント制御論理の中のトリガ・ユニット(204、206および208)がクリアされている間、クリア信号232は稼動状態のままである。これは、前のブレークポイントの状態がクリアされるまで他のブレークポイントの状態が生じることを阻止する。
図4は、本発明の追加的な実施形態でSoC102の1サイクルもしくはnサイクルの歩進をサポートするインターフェースを例示している。図4は上記で検討された図1に類似しており、したがって類似した項目番号が繰り返される。特に、この具体例では3つの機能ブロック104、106および108が存在する。各々の機能ブロックは別々のクロック領域からクロック供給され(ブロック・クロック110、112および114)、対応するクロック領域各々について別々のクロック制御ユニット(クロック制御部116、118および120)が存在する。図1に関して検討したように、もしも2つ以上の機能ブロックが同じクロック領域を共有する場合、クロック制御ユニットもまた付随する機能ブロックによって共有されるであろう。
各クロック制御ユニット(項目116、118および120)は、クロック制御ユニット132がそれに対応するクロック領域を1サイクルもしくはnサイクル歩進させている時にシステム環境に示すために出力信号(歩進処理稼動1、歩進処理稼動2および歩進処理稼動3であり、まとめて項目402として示される)を作り出す。これらの出力のすべてはゲート404によってゲート処理され、歩進稼動信号408としてシステム環境へと送られる前にシンクロナイザ406によって同期をとられる。
さらに下記で図5を参照して述べられるように、デバッグ・トリガ信号130はSoC102を強制的にデバッグ・モードに入れるために使用される。標準クロック115およびスキャン・クロック306は、SoCが規定の動作をしている時およびデバッグ・モードにある時それぞれでクロック領域にクロック供給する。デバッグ・スキャン・イン410およびデバッグ・スキャン・アウト412信号は、各々のクロック領域の歩進動作を制御するであろうクロック制御ユニット内でウェイト・カウンタおよびラン・カウンタをロードするためにシステム環境によって使用される。
図5は1サイクルもしくはnサイクルの歩進を実行するために本発明の追加的な実施形態で使用されるクロック制御回路502を示している。クロック制御回路の最上部はSoC102をデバッグ・モードに置くために使用される。いったんデバッグ・モードになると、歩進制御論理504が1サイクルもしくはnサイクルの歩進の実行を制御する。
歩進制御論理504(各ブロック制御ユニット116、118および120に含まれる)は2つのカウンタ、すなわちウェイト・カウンタ506およびラン・カウンタ508で構成される。ウェイト・カウンタ506は歩進の実行が生じるまでの遅れを加算することで様々なクロック領域のアラインメントを可能にする。ラン・カウンタ508はクロック領域が歩進させられるクロック・サイクルの数を制御する。両方のカウンタはデバッグ・モードで値をロードされ、その後、ゼロへとカウントダウンし、さらなるカウントを停止する。ウェイト・カウンタとラン・カウンタのロード方法は、「System and Method for Debugging System−on−Chips」という表題の上記で参照した係属米国特許出願に述べられているデバッグ・モードのスキャン・チェーンのロード方法と同じである。クロック制御ユニット116、118および120すべてのウェイト・カウンタおよびラン・カウンタは同時にロードされる。図5に描かれた範例はウェイト・カウンタおよびラン・カウンタのスキャン動作を制御する信号チェーン・イネーブル4(項目510)を示している。ウェイト・カウンタおよびラン・カウンタに関する値はデバッグ・スキャン・イン信号410を通じてスキャン・インされる。デバッグ・スキャン・アウト信号412は隣接するクロック制御ユニット(図示せず)にデバッグ・スキャン・イン信号410を送り込む。
すべてのクロック制御ユニット116、118および120についてウェイト・カウンタおよびラン・カウンタがロードされると、その後、SoC102の歩進の実行を開始するために歩進処理トリガ信号512が使用される。この信号はシンクロナイザ514によって各クロック制御ユニットに関する標準クロックに同期させられ、結果的に得られる歩進処理イネーブル信号516がウェイト・カウンタおよびラン・カウンタへの標準クロック供給を可能にするために使用される。ウェイト・カウンタ506が非ゼロの間では、ウェイト信号518は稼動状態であり、それがラン・カウンタ508のカウントを阻止する。ウェイト・カウンタ506がゼロまでカウントした後、ラン・カウンタ508が各クロック領域で歩進実行のサイクルをカウントする。ラン・カウンタ508がゼロへとカウントダウンしている間、RUN信号520は稼動状態であり、それが強制的に標準ブロック・クロック115をブロック・クロック(例えばブロック・クロック1、項目110)としてクロック制御ユニットからゲート処理する。ラン・カウンタ508がゼロまでカウントダウンし終わると、クロック制御ユニット132は各々のクロック領域へのクロックが中断される状態へと戻る。
図6は本発明のさらなる実施形態に従って1サイクルもしくはnサイクルの歩進を制御するデバッグ制御回路602を例示している。図6に示されるように、項目604および606で示される2つの別個のデバッグ・イネーブル信号が存在する。(クロック制御部への)デバッグ・イネーブル信号604はクロック制御回路をデバッグ・モードに置く。したがって、デバッグ・イネーブル信号604はデバイスをデバッグ・モードに保持するためにデバッグ・モードでは常時稼動状態を保たねばならない。(スキャン・チェーンへの)デバッグ・イネーブル信号606は機能ブロックおよびクロック制御ユニット内でスキャン・チェーンのスキャン・モードを稼動させるために使用される。デバッグ・モードの間では、セルの内容がスキャン・インおよびスキャン・アウトされることを可能にするために初期設定はスキャン・チェーンのスキャン・モードを選択する。1サイクルもしくはnサイクルの歩進に関すると、この信号はレジスタの規定の動作へと戻らねばならない。図6の実施形態に例示されるように、歩進処理トリガ信号512はSoC102の1サイクルおよびnサイクルの歩進を可能にするためにデバッグ・イネーブル信号606をゲート処理する。
単純化するために図5と6から省略されているものはパワーアップ・リセット信号の存在であり、それはシンクロナイザ(それぞれ項目514および608)へと入力され、それにより、前記シンクロナイザから「0」出力信号が出る結果につながる。さらに、図5に関すると、このパワーアップ・リセット信号はラン・カウンタ508とウェイト・カウンタ506へと供給され、それによってそれらを「0」にリセットする。そのようなリセット信号の使用は先行技術でよく知られている。本発明での使用は、システムがパワーアップされる時にデバッグ論理が稼動状態にないことを確実化する。
図7は本発明の一実施形態によるSoC102のnサイクル歩進のためのタイミング動作を例示している。SoCをデバッグ・モードに置く順序は「System and Method for Debugging System−on−Chips」という表題の上記で参照した係属米国特許出願に述べられている手順と同じである。したがって、いったんデバッグ・モードになると、その開示に述べられているデバッグの手順によってSoC102の内部の状態がモニタされることが可能である。
ユーザがSoC102の1サイクルもしくはnサイクルの歩進の実行をする準備を整えると、すべてのクロック制御ユニットのウェイト・カウンタおよびラン・カウンタがロードされる。チェーン選択信号702は4に設定され、それはこの範例では一体に連鎖となったすべてのウェイト・カウンタとラン・カウンタで構成されるスキャン・チェーンに対応する。デバッグACK信号704は、「System and Method for Debugging System−on−Chips」という表題の上記で参照した係属米国特許出願に述べられているように新たな状態を機能ブロック内のスキャン・チェーンにロードする時と同じ方式でスキャン・チェーンをロードするために高レベルに引き上げられる。もしもウェイト・カウンタ506に非ゼロの値がロードされると、対応するウェイト信号518は図7に例示されたウェイト2信号706のように高レベルへと進むであろう。ラン・カウンタ508を値1でロードすることは対応するクロック領域の1サイクルの歩進に相当するであろう。
システム環境がSoC102を1サイクルもしくはnサイクル歩進させる準備を整えると、STEOOINGトリガ信号512が稼動させられる。この信号は、各クロック制御ユニットについて独自の歩進処理イネーブル信号516を作り出すために各クロック領域の標準クロックに同期させられる。ウェイト2信号706が休止させられる前に様々なクロック領域を整列させるように、0からm(mは正の整数である)の標準クロック・サイクルの遅延が生じる。その後、対応するクロック領域の実行を歩進させるように、0からn(nは正の整数である)の標準クロック・サイクル708が生じる。
図7に示された歩進稼動信号408は、図4に示されたすべてのクロック制御ユニット(項目116、118および120)に関する様々な歩進処理稼動信号402の組み合わせである。歩進の実行が完了した時を判定するために、システム環境は歩進稼動信号408をモニタすることが可能である。この時点で、歩進制御論理をディスエーブルにするためにシステム環境はSTEPPINGトリガ信号512を低レベルへと引き下げる。クロック制御ユニット内で歩進処理イネーブル信号516がディスエーブルにされるまでに同期の遅延がある。しかしながら、機能ブロック内のスキャン・チェーンの内部状態はデバッグ目的で迅速にスキャンされることが可能である。デバイスの内部状態はモニタされ終わる時間までに、クロック制御ユニットは次の歩進動作用に構成される準備を整えるであろう。
図8Aおよび8Bは本発明の追加的な実施形態を各々例示しており、そこではデバッグ用コンピュータ・システム802が上述の様々な信号状態を入力として受け取り、SoC102にやはり様々な入力を供給する。これらの信号はチェーン選択を除いて幅広いビットであり、その幅はシステム・オン・チップ内のスキャン・チェーンの数によって決まる。
図8Aに例示されるように、もしもSoC102に適切な複数のピンが存在すれば、制御信号はシステム・オン・チップで専用のピンとして接続されることが可能である。そうではない場合、図8Bに例示されるように、ピン数を減らすために制御信号はIEEE 1149.1 JTAGタップ・コントローラ806のようなシリアル・テスト・インターフェースに接続されることが可能である。シリアル・テスト・インターフェースへの接続はよく知られている工業的実践法である。
本発明の追加的な実施形態では、デバッグ・システムは本出願の図3および7に描かれたタイミング図に例示されるデバッグ処理を制御するために使用される検査機器もしくはコンピュータを含む可能性がある。デバッグ・システム802は定期的にデバッグ準備完了信号304をモニタする。デバッグ準備完了信号304が稼動状態であると、デバッグ・システム802は事前に設定されたブレークポイント到達または外部デバッグ入力ピン142のトリガのいずれかに起因してSoC102がデバッグ・モードに入ったことを識別する。SoC102の有効な内部状態の様子がデバッグ・システム802に読み取られた後、デバッグ・システムのソフトウェアがユーザにSoCの次の実行状態にわたる制御を提供する。特に、デバッグ・システム802は信号410内のデバッグ・スキャンを通じてラン・カウンタ508とウェイト・カウンタ506を、所望の様式でSoC102を歩進および実行させるように適切な値に設定することが可能である。したがって歩進が生じると、有効な内部状態は再びデバッグ・システム802への入力として入手可能である。
デバッグ・システム内のソフトウェアはそのようにしてSoCから得られる内部状態情報をユーザが効率的に処理することを可能にする。デバッグ・システムはユーザがSoCのソフトウェア・モデルを同時に動作させることを可能にし、SoCの期待される動作とデバイスの実際の動作を比較することによってユーザがデバッグすることを可能にする。このソフトウェアはまたパターン検出性能も有し、それにより、視認可能なレジスタまたはこれらのレジスタのサブセットの内容が特定の状態を有する時をユーザが検出することを可能にする。デバッグ・システムは周期的間隔でSoCの有効な状態を自動的にチェックし、これらのラン状態を期待される値と比較するようにプログラムされることが可能である。
上述の歩進はよく知られている標準的なプログラミング技術を使用して実行されることが可能である。上述の実施形態の新規性は特定のプログラミング技術にあるのではなく、上述の結果を達成するための上述の歩進の使用にある。クライアント/サーバ環境では、そのようなソフトウェア・プログラミング・コードはサーバに随伴する記憶装置で記憶される可能性がある。このソフトウェア・プログラミング・コードは、データ処理システムで使用するためにディスケット、またはハード・ドライブ、またはCD_ROMといった多様な知られている媒体のいずれでも具現化される可能性がある。コードはそのような媒体上に分配されることが可能であり、あるいは或る種のネットワーク上で或るコンピュータ・システムのメモリもしくは記憶装置から他のコンピュータ・システムへとユーザに分配され、それにより、そのような他のシステムのユーザによって使用されることが可能である。物理的媒体上でソフトウェア・プログラム・コードを具現化するため、および/またはネットワークを経由してソフトウェア・コードを分配するための技術および方法はよく知られており、ここでさらに検討されることはない。
本発明の以上の説明が単に範例の方式であり、添付の特許請求項に提示されるような本発明の範囲から逸脱することなく、変形例が当業者に明白であろうことは理解されるであろう。
本発明の実施形態によるブレークポイント処理制御回路へのインターフェースを示すブロック図である。 本発明の実施形態によるブレークポイント処理制御論理を示すブロック図である。 本発明の実施形態によるSoCのブレークポイント処理に関する範例のタイミング動作を例示する図である。 本発明の実施形態による歩進制御回路へのインターフェースを示すブロック図である。 本発明の実施形態による歩進制御論理を備えたクロック制御回路を示すブロック図である。 本発明の実施形態による1サイクルもしくはnサイクル歩進をサポートするためのデバッグ制御回路を示すブロック図である。 本発明の実施形態によるSoCの1サイクルもしくはnサイクル歩進のための範例のタイミング動作を例示する図である。 本発明の実施形態によるデバッグ・システムへの範例のI/Oインターフェースを例示する図である。 本発明の実施形態によるデバッグ・システムへの範例のI/Oインターフェースを例示する図である。

Claims (20)

  1. システム・オン・チップ(SoC)をデバッグするための方法であって、前記SoCが複数の機能ブロックを含み、前記機能ブロックの各々が、対応するクロック制御ユニットによって制御される対応するブロック・クロック信号を受信するよう接続され、前記方法は、
    前記SoC上で生じる事象を第1の制御器がモニタする工程
    前記SoC上で生じる特定の事象の発生を前記第1の制御器が識別する工程
    前記クロック制御ユニットの各々にデバッグ・トリガ信号を第2の制御器が供給する工程
    前記ブロック・クロック信号前記クロック制御ユニットが中断する工程
    前記SoCの状態をデバッグシステムが判定する工程
    ユーザが前記SoCをデバッグすることができるよう、前記状態を前記デバッグシステムが処理する工程を含む方法。
  2. 特定の事象が、機能ブロック内で生じる命令である、請求項1に記載の方法。
  3. 前記SoCの内部状態観察することが可能であることをユーザに示すデバッグ準備完了信号を第3の制御器が発生する工程をさらに含む、請求項2に記載の方法。
  4. 前記機能ブロックのうちの少なくとも1つが少なくとも1つのスキャン・チェーンを含み、前記判定する工程が、
    前記少なくとも1つのスキャン・チェーンから選択を行う工程を含み、選択された前記スキャン・チェーンが少なくとも1つのレジスタ素子を含み、さらに、
    前記選択されたスキャン・チェーン内の少なくとも1つのレジスタの各々をスキャン・モードに必要とされる内容に構成する工程
    前記選択されたスキャン・チェーン制御するためのスキャン・クロック信号を与える工程
    前記選択されたスキャン・チェーン内の前記少なくとも1つのレジスタ素子の内容を移し出す工程を含む、請求項3に記載の方法。
  5. 前記デバッグシステムによってトリガをかけられるデバッグ・クリア信号を前記第2の制御器が識別する工程と、
    前記ブロック・クロック信号の動作を前記クロック制御ユニットが復帰させる工程をさらに含む、請求項1に記載の方法。
  6. 歩進の実行を前記SoCが行う工程
    前記SoCの状態を前記デバッグシステムが再度判定する工程をさらに含む、請求項1に記載の方法。
  7. サイクル進(nは正の整数)の実行を前記SoCが行う工程
    前記nサイクル歩進のうちの1つまたは複数の実行の後に、前記SoCの状態を前記デバッグシステムが再度判定する工程をさらに含む、請求項1に記載の方法。
  8. 前記機能ブロックのうちの少なくとも1つが少なくとも1つのスキャン・チェーンを含み、前記判定する工程が、
    前記少なくとも1つのスキャン・チェーンから選択を行う工程を含み、選択された前記スキャン・チェーン少なくとも1つのレジスタ素子を含み、さらに、
    前記選択されたスキャン・チェーン内の少なくとも1つのレジスタ素子の各々をスキャン・モードに必要とされる内容に構成する工程
    前記選択されたスキャン・チェーン制御するためのスキャン・クロック信号与える工程
    前記選択されたスキャン・チェーン内の前記少なくとも1つのレジスタ素子の内容を移し出す工程を含む、請求項7に記載の方法。
  9. 追加的な特定の事象の発生を前記第1の制御器が識別する工程
    前記特定の事象前記追加的な特定の事象に関して所定の条件が満たされるときにのみ、前記追加的な特定の事象に対して、前記供給する工程、前記中断する工程、前記判定する工程、および前記処理する工程を繰り返す工程をさらに含む、請求項1に記載の方法。
  10. つの機能ブロックのみのnサイクル進(nは正の整数)の実行を前記SoCが行う工程
    前記nサイクル歩進のうちの1つまたは複数の実行の後に、前記SoCの状態を前記デバッグシステムが再度判定する工程をさらに含む、請求項1に記載の方法。
  11. システム・オン・チップ(SoC)をデバッグするための装置であって、前記SoCが複数の機能ブロックを含み、前記機能ブロックの各々が、対応するクロック制御ユニットによって制御される対応するブロック・クロック信号を受信するよう接続され、前記装置は、
    前記SoC上で生じる特定の事象を識別する第1の制御器
    前記クロック制御ユニットの各々にデバッグ・トリガ信号を供給する第2の制御器
    前記デバッグ・トリガ信号の存在を検出すると各々のブロック・クロック信号を中断させる第3の制御器
    前記SoCの状態を出力する回路を含み、
    前記状態を使用して前記SoCをデバッグする装置。
  12. 特定の事象が、機能ブロック内で生じる命令である、請求項11に記載の装置。
  13. 前記SoCの内部状態観察することが可能であることをユーザに示すデバッグ準備完了信号を発生する回路をさらに含む、請求項12に記載の装置。
  14. 前記機能ブロックのうちの少なくとも1つが少なくとも1つのスキャン・チェーンを含み、状態を出力する前記回路が、
    前記少なくとも1つのスキャン・チェーンから選択を行う回路を含み、選択された前記スキャン・チェーンが少なくとも1つのレジスタ素子を含み、さらに、
    前記選択されたスキャン・チェーン内の少なくとも1つのレジスタ素子の各々をスキャン・モードに必要とされる内容に構成する回路
    前記選択されたスキャン・チェーンを制御するためのスキャン・クロック信号を供給する回路
    前記選択されたスキャン・チェーン内の前記少なくとも1つのレジスタ素子の内容を移し出す回路を含む、請求項13に記載の装置。
  15. デバッグシステムによってトリガをかけられるデバッグ・クリア信号を識別する回路
    各々のブロック・クロック信号の動作を復帰させる回路をさらに含む、請求項11に記載の装置。
  16. 前記SoCの単一歩進の実行を行う回路をさらに含む、請求項11に記載の装置。
  17. 前記装置は、前記SoCのnサイクル進歩(nは正の整数)の実行を行う回路をさらに含み、
    状態を出力する前記回路が、前記nサイクル歩進のうちの1つまたは複数の実行の後に、前記SoCの状態を再度出力する回路を含む、請求項11に記載の装置。
  18. 前記機能ブロックのうちの少なくとも1つが少なくとも1つのスキャン・チェーンを含み、状態を出力する前記回路がさらに、
    前記少なくとも1つのスキャン・チェーンから選択を行う回路を含み、選択された前記スキャン・チェーンが少なくとも1つのレジスタ素子を含み、さらに、
    前記選択されたスキャン・チェーン内の少なくとも1つのレジスタ素子の各々をスキャン・モードに必要とされる内容に構成する回路
    前記選択されたスキャン・チェーンを制御するためのスキャン・クロック信号を供給する回路
    前記選択されたスキャン・チェーン内の前記少なくとも1つのレジスタ素子の内容を移し出す回路を含む、請求項17に記載の装置。
  19. 前記第1の制御器は、前記SoC上で生じる追加的な特定の事象を識別し、そして、
    前記特定の事象前記追加的な特定の事象に関して所定の条件が満たされるときにのみ前記第2の制御器、前記第3の制御器、および状態を出力する前記回路の各々の動作が前記追加的な特定の事象について生じる、請求項11に記載の装置。
  20. 前記装置は、1つの機能ブロックのみのnサイクル歩進(nは正の整数)の実行を行う回路をさらに含み、
    状態を出力する前記回路が、前記nサイクル歩進のうちの1つまたは複数の実行の後に、前記SoCの状態を再度出力する回路を含む、請求項11に記載の装置。
JP2004372440A 2003-12-29 2004-12-24 1サイクルまたはnサイクルの歩進を使用してシステム・オン・チップをデバッグするためのシステムと方法 Expired - Fee Related JP4441398B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/748,068 US7055117B2 (en) 2003-12-29 2003-12-29 System and method for debugging system-on-chips using single or n-cycle stepping

Publications (2)

Publication Number Publication Date
JP2005196774A JP2005196774A (ja) 2005-07-21
JP4441398B2 true JP4441398B2 (ja) 2010-03-31

Family

ID=34104871

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004372440A Expired - Fee Related JP4441398B2 (ja) 2003-12-29 2004-12-24 1サイクルまたはnサイクルの歩進を使用してシステム・オン・チップをデバッグするためのシステムと方法

Country Status (3)

Country Link
US (1) US7055117B2 (ja)
JP (1) JP4441398B2 (ja)
GB (1) GB2409741B (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6904576B2 (en) * 2002-08-09 2005-06-07 Synplicity, Inc. Method and system for debugging using replicated logic
US7398445B2 (en) * 2002-08-09 2008-07-08 Synplicity, Inc. Method and system for debug and test using replicated logic
US7213216B2 (en) * 2002-08-09 2007-05-01 Synplicity, Inc. Method and system for debugging using replicated logic and trigger logic
US20060161818A1 (en) * 2005-01-14 2006-07-20 Ivo Tousek On-chip hardware debug support units utilizing multiple asynchronous clocks
US7493434B1 (en) * 2005-05-25 2009-02-17 Dafca, Inc. Determining the value of internal signals in a malfunctioning integrated circuit
CN100390752C (zh) * 2005-07-29 2008-05-28 中国科学院计算技术研究所 一种单步执行在片调试功能的方法及装置
US7627771B2 (en) * 2005-10-04 2009-12-01 International Business Machines Corporation Clock control hierarchy for integrated microprocessors and systems-on-a-chip
EP2080078A4 (en) * 2006-07-18 2011-05-25 Agere Systems Inc SYSTEMS AND METHOD FOR MODULAR POWER MANAGEMENT
US7739533B2 (en) * 2006-09-22 2010-06-15 Agere Systems Inc. Systems and methods for operational power management
JP5067111B2 (ja) * 2007-10-18 2012-11-07 富士通セミコンダクター株式会社 半導体集積回路及びデバッグモード決定方法
US7949986B2 (en) * 2008-06-23 2011-05-24 Lsi Corporation Method for estimation of trace information bandwidth requirements
US20100235803A1 (en) * 2009-03-16 2010-09-16 Lara Gramark Method and Apparatus for Automatically Connecting Component Interfaces in a Model Description
US8275977B2 (en) * 2009-04-08 2012-09-25 Freescale Semiconductor, Inc. Debug signaling in a multiple processor data processing system
US8239700B2 (en) * 2009-04-17 2012-08-07 Lsi Corporation Systems and methods for power dissipation control in a semiconductor device
US20100268917A1 (en) * 2009-04-17 2010-10-21 Lsi Corporation Systems and Methods for Ramped Power State Control in a Semiconductor Device
US20100269074A1 (en) * 2009-04-17 2010-10-21 Lsi Corporation Predictive Power Management Semiconductor Design Tool and Methods for Using Such
US8627155B1 (en) * 2010-03-09 2014-01-07 Marvell International Ltd. Integrated circuit testing with clock manipulation and auto-step features
US8161328B1 (en) * 2010-05-27 2012-04-17 Western Digital Technologies, Inc. Debugger interface
US9213392B2 (en) 2011-09-08 2015-12-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for governing power usage in an iterative decoding system
US8640007B1 (en) 2011-09-29 2014-01-28 Western Digital Technologies, Inc. Method and apparatus for transmitting diagnostic data for a storage device
US8856575B2 (en) 2011-10-28 2014-10-07 Lsi Corporation Systems and methods for power measurement in a data processing system
US8839009B2 (en) 2011-12-29 2014-09-16 Lsi Corporation Systems and methods for decimation based over-current control
US8972761B2 (en) 2012-02-01 2015-03-03 Lsi Corporation Systems and methods for idle clock insertion based power control
US9128717B2 (en) 2012-03-02 2015-09-08 Avago Technologies General Ip (Singapore) Pte. Ltd. Data processing system with thermal control
US8738979B2 (en) 2012-03-30 2014-05-27 Lsi Corporation Methods and structure for correlation of test signals routed using different signaling pathways
US8775888B2 (en) 2012-03-30 2014-07-08 Lsi Corporation Methods and structure for correlating multiple test outputs of an integrated circuit acquired during separate instances of an event
US8799715B2 (en) * 2012-06-26 2014-08-05 Apple Inc. System on a chip (SOC) debug controllability
US9201448B2 (en) * 2012-06-28 2015-12-01 Intel Corporation Observing embedded signals of varying clock domains by fowarding signals within a system on a chip concurrently with a logic module clock signal
US9612279B2 (en) * 2013-02-26 2017-04-04 Infineon Technologies Ag System and method for determining operational robustness of a system on a chip
JP6769490B2 (ja) * 2016-10-05 2020-10-14 富士電機株式会社 集積回路装置
US10062454B1 (en) * 2016-12-07 2018-08-28 Xilinx, Inc. Configurable system and method for debugging a circuit
CN111984521B (zh) * 2019-05-23 2022-11-29 核工业理化工程研究院 一种无需jtag介入的板级调试方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675729A (en) * 1993-10-22 1997-10-07 Sun Microsystems, Inc. Method and apparatus for performing on-chip measurement on a component
US5678003A (en) * 1995-10-20 1997-10-14 International Business Machines Corporation Method and system for providing a restartable stop in a multiprocessor system
US5812562A (en) * 1996-11-15 1998-09-22 Samsung Electronics Company, Ltd. Low cost emulation scheme implemented via clock control using JTAG controller in a scan environment
US6385742B1 (en) * 1998-03-06 2002-05-07 Lsi Logic Corporation Microprocessor debugging mechanism employing scan interface
GB2337834B (en) 1998-03-06 2003-02-12 Lsi Logic Corp Microprocessor debugging
US6249893B1 (en) * 1998-10-30 2001-06-19 Advantest Corp. Method and structure for testing embedded cores based system-on-a-chip
US6519711B1 (en) * 1999-09-29 2003-02-11 Agere Systems, Inc. Method and apparatus for controlling a clocked circuit having a register for storing a bit received from an input terminal and an output terminal connected to clock terminal of the clocked circuit
US6484280B1 (en) * 1999-09-30 2002-11-19 Agilent Technologies Inc. Scan path test support
US6947884B2 (en) * 2000-03-02 2005-09-20 Texas Instruments Incorporated Scan interface with TDM feature for permitting signal overlay
US7191373B2 (en) * 2001-03-01 2007-03-13 Syntest Technologies, Inc. Method and apparatus for diagnosing failures in an integrated circuit using design-for-debug (DFD) techniques
EP1472551B1 (en) 2002-01-28 2005-11-09 Koninklijke Philips Electronics N.V. Testing of circuit with plural clock domains

Also Published As

Publication number Publication date
US20050149892A1 (en) 2005-07-07
US7055117B2 (en) 2006-05-30
GB2409741B (en) 2007-02-21
JP2005196774A (ja) 2005-07-21
GB0427846D0 (en) 2005-01-19
GB2409741A (en) 2005-07-06

Similar Documents

Publication Publication Date Title
JP4441398B2 (ja) 1サイクルまたはnサイクルの歩進を使用してシステム・オン・チップをデバッグするためのシステムと方法
US7219265B2 (en) System and method for debugging system-on-chips
RU2579814C2 (ru) Интегральная схема с программируемым логическим анализатором с расширенными возможностями анализа и отладки и способ
US7665002B1 (en) Multi-core integrated circuit with shared debug port
US7392431B2 (en) Emulation system with peripherals recording emulation frame when stop generated
US6385742B1 (en) Microprocessor debugging mechanism employing scan interface
US8799713B2 (en) Interruptible non-destructive run-time built-in self-test for field testing
US7536605B2 (en) Injection of software faults into an operational system
US9037911B2 (en) Debug state machines and methods of their operation
US10331531B2 (en) Self-testing in a processor core
KR20150008447A (ko) 인터럽트 상태에 기초한 구성 가능한 브레이크포인트를 갖는 디바이스
US8762779B2 (en) Multi-core processor with external instruction execution rate heartbeat
Schubert et al. Functional verification of the IBM POWER7 microprocessor and POWER7 multiprocessor systems
US6647511B1 (en) Reconfigurable datapath for processor debug functions
US20090204384A1 (en) Debugging device, debugging method and hardware emulator
Dusanapudi et al. Debugging post-silicon fails in the IBM POWER8 bring-up lab
JP3953243B2 (ja) システム分析のためにバス・アービトレーション制御を使用する同期方法及び装置
Park et al. Post-silicon bug localization for processors using IFRA
JP2013242746A (ja) 故障検出システムと方法並びに半導体装置
CN101403989B (zh) 半导体集成电路
KR20220130667A (ko) 마이크로 전자회로 테스트용 처리 경로의 여기를 구성하기 위한 방법, 장치 및 컴퓨터 프로그램 제품
Sari et al. A flexible fault injection platform for the analysis of the symptoms of soft errors in FPGA soft processors
De Carvalho et al. Increasing the fault coverage of processor devices during the operational phase functional test
US7404120B1 (en) Verification of event handling
JP2006171810A (ja) デバッグ制御システム及びその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090826

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091125

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091216

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100108

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130115

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130115

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees