(57)【特許請求の範囲】
【請求項１】
モジュール−クロック信号およびリセット信号に応答する処理モジュールであって、前記処理モジュールが、前記リセット信号のアサーションに応答して最初の状態に初期化され、そして前記リセット信号のデアサーションに応じて処理機能を実行する、少なくとも一つの処理モジュールと、
マスタ−クロック信号およびクロック−イネーブル信号のアサーションに応じて、前記モジュール−クロック信号を提供するクロックモジュールと、
リセットコマンドに応じて前記クロック−イネーブル信号の前記アサーションを提供するコントローラと、
前記リセットコマンドに応答して前記リセット信号の前記アサーションを提供し、かつ前記クロック−イネーブル信号のデアサーションを受信した後に前記リセット信号の前記デアサーションを提供するリセットモジュールとを、
有し、
前記コントローラが、前記マスタ−クロック信号の所定数のサイクル後、前記クロック−イネーブル信号の前記デアサーションを提供する処理システム。
【請求項２】
前記マスタ−クロック信号の前記サイクルの数が、前記少なくとも一つの処理モジュールの前記最初の状態を遂行するために必要な時間に依存する請求項１の処理システム。
【請求項３】
前記マスタ−クロック信号の前記サイクル数が、前記少なくとも一つの処理モジュールの前記最初の状態を遂行する前記マスタ−クロック信号の期待されたサイクル数より実質上大きい所定数である請求項１の処理システム。
【請求項４】
前記リセット信号の前記デアサーションが、前記少なくとも一つの処理モジュールに関連する保持時間持続より大きい前記クロック−イネーブル信号の前記デアサーションの後の時間持続に発生する請求項１の処理システム。
【請求項５】
複数の処理モジュールをリセットする方法であって、この方法が、
リセットコマンドに応答してリセット信号をアサートし、
マスタクロックの所定サイクル数に対して一つ以上のクロックを前記複数の処理モジュールに使用可能にし、そして
その後、前記一つ以上のクロックを使用不能にし、そして
前記リセット信号をデアサートする、
複数の処理モジュールをリセットする方法。
【請求項６】
前記マスタクロックの前記所定サイクル数が、前記複数の処理モジュールのうちの少なくとも１つのリセット特性に依存する請求項５の方法。
【請求項７】
前記マスタクロックの前記所定サイクル数が、前記複数の処理モジュールのリセット特性に依存しない請求項５の方法。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明は、エレクトロニクスシステム、特に、潜在的にリセット方式が異なる構成部品を有するシステムの分野に関する。
【０００２】
【従来の技術】
大規模システムに対する設計と開発サイクル時間を潜在的に短くするために、以前に設計された構成部品またはモジュールが、広く使用されている。要求が異なったシステムに対して設計されたこのようなモジュールは、しばしば、クロックとタイミング制約が異なっている。あるモジュールは、例えば、正エッジ-トリガーされたクロッキングスキームを採用し、他のモジュールは、負エッジトリガークロッキングスキームを採用し、他のものは、レベル検知型、多重位相などを採用している。さらに、各モジュールをリセットするために使用される条件は、異ならせることができる。非同期または同期リセット方式を採用することができ、そしてしばしば、両方の組合せが採用される。各モジュールに対して採用されるリセット方式により、使用される特定クロッキングスキームのタイミングに制約が課される。このようなタイミング制約の具体例には、同期リセットは、クロックの活性エッジから規定された持続時間前で、モジュールに到着しなければならず、および／または、クロックエッジから規定された持続時間後は、そのアクティブ状態に保持されなければならず;  非同期リセットは、レベル検知型クロッキング設計の場合、クロック状態の変化の直近で発生させるべきではなく;
【０００３】
リセット信号は、セット信号のアサーションまたはデアサーションの直近で、アサートまたはデアサートされるべきではない等が、含まれる。システム視点から、様々なリセットとクロッキング方式は、設計制約条件の複雑な組み合わせを生じる。
【０００４】
モジュールの中に様々なクロッキング方式を収容するために、従来システムには、適切なシステム運用に対し相互に適する周波数と位相で種々のクロック信号を生成するモジュール-クロック発生器が含まれている。様々なリセット方式を収納することは、一般によりいくぶん構築しない。典型的には、問題の組合せの性質から、特定リセット回路は、各モジュールごとに、またはリセットとクロック構成の同様の組合せを有するモジュールの各セットごとに設計される。各リセットごとの回路設計を、過度に負担のかかるものとはせずに、これらの各回路を適切に規定し、構成しそしてテストするシステムレベルの設計作業を、有効なものにすることが出来る。
【０００５】
タイミングに関する異常に関連した困難性から、リセット回路に対するテストタスクは特に厄介である。適切に構築されるシステム設計の場合、システム設計者は、タイミングに関する問題を最小にするために同期機能と動作を使用しようする。リセット方式に対する標準化が存在せず、かつ、非同期動作を含めて、使用可能な代替策が多数存在するため、タイミング関連エラーの尤度は高く、かつ問題を含むタイミングシーケンスを生成する特定の環境を排除しかつ防ぐためのコストは高い。
【０００６】
時間に依存する特定リセット回路の使用により、技術が変化しまたは他の機能がシステムに加えられるにつれて、このような回路により設計されたシステムが、「基準化する」尤度も、最小となる。同様に、このようなシステムをより大きいシステムにおける将来のモジュールとして使用することは、リセット方式とタイミング制約が異なったモジュールに関連する問題を悪化させるのみであろう。
【０００７】
【課題を解決するための手段】
本発明の目的は、システムを有するモジュールにおいて使用されるリセット構成とは独立している、信頼性が高くかつ頑強なシステムリセット能力を提供するリセットアーキテクチャを提供することである。本発明の他の目的は、モジュラー型であるリセットアーキテクチャを提供することである。本発明の他の目的は、基準化可能である(scalable)リセットアーキテクチャを提供することである。本発明の他の目的は、テストが容易であるリセットアーキテクチャを提供することである。本発明の他の目的は、システムテストに関連した複雑さを減少させたリセットアーキテクチャを提供することである。
【０００８】
これらの目的、およびその他は、様々なリセットアーキテクチャを有する従来の処理モジュールをリセットすることに依存させることができるリセットとクロックアサーションの組合せを提供する、システムクロックモジュールと共に作動するリセットモジュールを提供することにより達成される。好適な一実施例の場合、リセットコマンドは、リセット信号のアサーションとシステムレベルで全てのクロックの起動を開始する。所定数のクロックサイクルの後、システムレベルクロックは停止され、そしてリセット信号はデアサートされる。アサートされるリセット信号をマルチプルクロックサイクルに提供することにより、非同期と同期リセットの何れかを有する処理モジュールは、リセットされるであろう。リセット信号をデアサートする前にクロックをディセーブルにすることにより、リセット信号とクロック信号の干渉により生じるタイミング危険の尤度は、減少するかまたは排除される。
【０００９】
本発明は、より詳細に、そして具体例により添付の図面を参照して説明される。
【００１０】
【発明を実施するための形態】
図1は、本発明のリセットモジュール150を有する処理システム100のブロックダイアグラムの一例である。リセットモジュール150に加えて、処理システム100は、コントローラ110、クロックモジュール120および一つ以上の処理モジュール131-133を有する。
【００１１】
処理モジュール131-133は、ここでは、クロック信号121-123にそれぞれ依存してある機能を実行し、かつモジュールを既知のまたは知り得る初期状態に置くリセット信号151に応答する、装置に対する具体例として使用される。処理装置は、例えば、所定の状態または外部パラメータに対応する状態にリセット可能であるステートマシンとすることができる。その例には、既知の物理的位置で、既知の状態にプリンターの印刷ヘッドを配置する、一連のコマンドを開始させることができるプリンタコントローラ、現在ロードされたディスクの内容を読出しかつユーザによる選択のためにメニューを表すCDプレーヤコントローラ等が挙げられる。
【００１２】
クロックモジュール120は、処理モジュール131-133の各々に対する必要なモジュール-クロック信号121-123を提供する。従来、クロックモジュール120は、同期と他の時間に関連する動作を容易にするために、共通マスタークロック信号101に基づいて、これらのモジュール-クロック信号121-123を提供する。本発明によると、モジュール-クロック信号121-123の生成は、コントローラ110により提供されるクロックイネーブル信号111にも依存する。
【００１３】
コントローラ110は、次に示すように、リセットモジュール150とクロックモジュール120と共に作動する。リセットコマンド105を受信すると、リセットモジュール150は、リセット信号151をアサートし、コントローラ110はクロックイネーブル信号111をアサートする。本発明によると、一旦アサートされると、リセットモジュール150は、例えば、セット-リセット2状態デバイス（SR-フリップ）を用いて、クロックイネーブル信号111がデアサートされるまで、アサートされたリセット信号151を保持するように構成されている。本発明によると、コントローラ110は、マスタークロック101の所定サイクル数に対してクロックイネーブル信号111をアサートするように構成されている。この所定サイクル数は、少なくとも、各処理モジュール131-133を初期化するのに必要なマスタクロックサイクルの最小数の最大数とする。すなわち、例えば、モジュール131、132と133を初期化するために必要なクロックサイクルの最小数が、3、0、かつ2クロックサイクルであると、コントローラ110は、少なくとも3クロックサイクルに対してクロックイネーブル信号111をアサートする。リセット動作のスピードが、典型的には重大なパフォーマンスパラメータでないとの認識に立つ本発明の好適な実施例によると、クロックイネーブル信号をアサートするための所定サイクル数は、必要最小限より大きい数となるように選択される。本発明の別の態様によると、クロックイネーブル信号をアサートする所定サイクル数は、実質上期待された必要最小限より大きい数となるように選択される。これにより、まだ未知の他の処理モジュールの追加に対するマージンを大きくすることが可能になり、また、他の処理システムに対してコントローラ110とリセットモジュール150を使用することが可能になる。本発明の一実施例の場合、クロックイネーブル信号111をアサートする所定サイクル数は、256に選択されている。
【００１４】
コントローラ110 は、所定数のマスタークロック101サイクルの後、クロックイネーブル信号111をデアサートする。上述したように、リセットモジュール150は、クロックイネーブル信号111のこのデアサーションを受信した後にリセット信号151をデアサートするように構成されている。本発明の好適な一実施例の場合、リセット信号151は、クロックイネーブル信号111のデアサーションから最小持続時間の後、処理モジュール131-133の（もし、あれば）リセットホールドタイム持続時間が可能となるように、デアサートされる。
【００１５】
図2は、本発明のリセットモジュールを有する処理システムに対するフローチャートの一例を示す。このフローチャートは、明示的または暗示的とすることができるリセットコマンドを受けると実行される。明示的なリセットとは、例えば、ユーザにより開始されるリセットであり、暗示的リセットとは、例えば、最初に電力がシステムに与えられると、開始されるものである。リセットコマンドに応答して、リセット信号はアサートされ、そして、210で、処理モジュールの各々に伝えられる。250で、明示的にデアサートされるまで、この信号はアサートされたままである。220で、クロック-イネーブル信号が、アサートされ、そしてクロックモジュールが各処理モジュールに個別クロック信号を提供することに応じて、クロックモジュールに伝えられる。230で、上で示したように、コントローラは、所定数のクロックサイクルを待つ。その後、クロック-イネーブル信号は、240で、クロックモジュールが各処理モジュールへの個別クロック信号を停止することに応じて、デアサートされる。クロックが停止した後、リセット信号は、250でデアサートされ、そして通常のシステム動作が、260で再開される。
【００１６】
図3は、図1における対応する信号と同じ参照番号を使用して、本発明の処理システムのタイミング図の一例を示す。ライン3Aは、一具体例のリセットコマンド105を示し、そしてこれは上記したように明示的または暗示的に生成させることができる。ライン3Bは、マスタクロック信号101の一例を示し、これは、典型的には、この技術分野における通常の技術を使用するフリーランニング圧電結晶発振器または他のソースにより生成される。本発明によると、301でアサートされたリセットコマンドに応答して、リセット信号151が、305でアサートされる。図3のタイミング図の例の場合、リセット信号151のアサーション305は、マスタークロック101と同期しているが、アサーション305は非同期でも発生させることができる。また、301でのリセットコマンドのアサーションに応答して、306で、クロック-イネーブル信号111も、アサートされる。クロック-イネーブル信号111がマスタークロック101に基づくクロック生成に関連しているので、好適な実施例におけるクロック-イネーブル信号111は、マスタークロック101と同期している。従来の障害排除設計に従って、クロック-イネーブル信号111は、マスタークロック101の不活性ピリオドの間に、発生することが好ましくは。3Dに示されるように、クロック-イネーブル信号111は、マスタークロック101の上昇エッジ303の後で、かつ次の立下りエッジ304の前の短持続時間に発生する。その後、図1のクロックモジュール120は、適切なモジュール-クロック信号121、122、そして他の信号を生成する。各モジュール-クロック信号の特定の周波数および位相は、通常のシステム設計技法を使用して、システム内の個別処理モジュールの要求そして全体のシステムタイミング制約により決定される。
【００１７】
マスタークロック101のN 315サイクルの後、クロック-イネーブル信号111はデアサートされ、モジュール-クロック信号121、122、そしていかなる他の信号の生成も終了する。上述したように、クロック-イネーブル信号111のデアサーション307は、マスタークロック101と同期していて、かつマスタークロック101の不活性ピリオドの間に発生することが、好ましい。クロック-イネーブル信号111のデアサーション307に応答して、リセット信号151は、308でデアサートされる。上述したように、クロック-イネーブル信号111、リセット信号151、そしてマスタークロック101の間のレースによって生じるいかなる起こり得る障害も避けるために、好適な実施例におけるリセット信号151のデアサーションは、クロック-イネーブル信号111のデアサーションの後、ある最小持続時間の後発生する。
【００１８】
図3に示されるように、320で、クロック-イネーブル信号111は、リセット信号151がデアサートされた後ある時間経過後、再びアサートされる、これにより上記したリセットプロセスの後、図1のシステム100が通常動作を再開することが可能になる。好適な実施例の場合、リセット信号151のデアサーション308と通常動作の再開320との間の持続時間は、マスタークロック101の少なくとも1サイクルであるが、そして、適切にそれらのリセットプロセスを完了するために処理モジュール131-133に対して必要となる予期された遅れ時間に応じて、より長くすることが出来る。
【００１９】
以上述べたことは、単に本発明の原理を示すのみである。従って、当業者が、明示的に記載されていない、またはここに示されていないが、本発明の原理を具体化し、かつこのようにしてその趣旨および範囲内で種々の構成を考案することが出来ることは、理解されるであろう。例えば、図3の信号は、正論理として例示されている。システム100またはモジュール131-133には、負論理シグナリングを使うことができる。各システムまたはモジュールの範囲内の適切な動作に影響を与えるインバータの追加も、この技術分野における当業者には明白であろう。別の実施例の場合、例えば、リセットモジュール150が、高活性かつ低活性リセット信号151の両方、および各処理モジュール131-133に与えられる適切に位相を合わせたリセット信号を提供するように構成することができる。特定の構成および構造は、図1において説明のためにのみ与えられている。コントローラ110の範囲内にクロックモジュール120を組み込むような、代替構成は、この技術分野における当業者には明白である。機能ブロックは、ハードウェア、ソフトウェアまたはその両方の組合せにより実施させることができる。例えば、コントローラ110の機能は、埋め込まれたプロセッサにおいて実行されるプログラミングコード、または必要な機能を遂行するステートマシンとして作動するプログラマブルロジックアレイの生成に影響を与えるプログラミングコードにおいて具体化させることができる。これらのそしてまた他のシステム実現および最適化テクニックは、本発明の観点からみて、そして請求項の意図された範囲内でこの技術分野の当業者には明白であろう。
【図面の簡単な説明】
【図１】本発明のリセットモジュールを有する処理システムのダイアグラムの一例である。
【図２】本発明の処理システムに対するコントローラとリセットモジュールのフローチャートの一例である。
【図３】本発明の処理システムのタイミング図の一例である。
【符号の説明】
1  薄膜キャパシタ
5  絶縁基板
11  第一導電性薄膜部分
12  第二導電性薄膜部分
13  第三導電性薄膜部分
14  半導体層
15  誘電体層
16  下側ダイオード端子
17  上側ダイオードコンタクト
18, 18a, 18b, 18c, 18d, 18e  薄膜ダイオード
【図１】
0004288011.tif 000002
【図２】
0004288011.tif 000003
【図３】
0004288011.tif 000004