(57)【特許請求の範囲】
【請求項１】
第１のゲート素子（３０２ａ）と、
前記第１のゲート素子（３０２ａ）とクロス結合された第２のゲート素子（３０２ｂ）と、
前記第１および第２のゲート素子に結合していると共に、不安定化を抑制するように形成されたクロスカップリング回路（３２５）とを備え、
前記第１のゲート素子は、１組のカスケード型のフリップフロップ（３０４ａ・３２０ａ）を備え、
前記第２のゲート素子は、１組のカスケード型のフリップフロップ（３０４ｂ・３２０ｂ）を備え、
前記クロスカップリング回路（３２５）は、前記第１のゲート素子の前記カスケード型のフリップフロップの出力を入力として受信するように適合させた第１のＮＯＲゲート（３２４ａ）と、前記第２のゲート素子の前記カスケード型のフリップフロップの出力を入力として受信するように適合させた第２のＮＯＲゲート（３２４ｂ）とを備え、
前記第１のＮＯＲゲート（３２４ａ）の出力は、前記第２のゲート素子の第２の前記カスケード型のフリップフロップ（３２０ｂ）の入力を制御するために用いられており、
前記第２のＮＯＲゲート（３２４ｂ）の出力は、前記第１のゲート素子の第２の前記カスケード型のフリップフロップ（３２０ａ）の入力を制御するために用いられていることを特徴とするクロックマルチプレクサ。
【請求項２】
前記第１のＮＯＲゲート（３２４ａ）の出力は、第１のゲート（３０８ｂ）への入力を定義しており、前記第１のゲートへのもう一方の入力は、前記第２のゲート素子の第１の前記カスケード型のフリップフロップ（３０４ｂ）からの出力であり、前記第１のゲートの出力は、前記第２のゲート素子の第２の前記カスケード型のフリップフロップ（３２０ｂ）への入力を定義している請求項１に記載のクロックマルチプレクサ
【請求項３】
前記第２のＮＯＲゲート（３２４ｂ）の出力は、第２のゲート（３０８ａ）への入力を定義しており、前記第２のゲートへのもう一方の入力は、前記第１のゲート素子の第１の前記カスケード型のフリップフロップ（３０４ａ）からの出力であり、前記第２のゲートの出力は、前記第１のゲート素子の第２の前記カスケード型のフリップフロップ（３２０ａ）への入力を定義している請求項２に記載のクロックマルチプレクサ。
【請求項４】
前記第１のゲート（３０８ｂ）および前記第２のゲート（３０８ａ）は、ＡＮＤゲートである請求項３に記載のクロックマルチプレクサ。
【発明の詳細な説明】
〔発明の属する技術分野〕
本発明は、クロックシステム、特に改良されたクロックマルチプレクサに関するものである。
【０００１】
〔関連技術の説明〕
多くのデジタル電子機器は、異なるクロック源、及び／又は装置が活動中の周波数間の切換を許可するフレキシブルなクロック管理を必要とする。例えば、電力消費は、時間が差し迫った仕事を処理するためだけに、最大クロック周波数を用いることによって、最適化されることができる一方で、その他の仕事用のシステムには、よりゆっくりしたクロックが与えられる。一般的に、クロックマルチプレクサは、複数のクロック間を選択するのに用いられる。
【０００２】
図１は、このようなクロックマルチプレクサの回路を示している。図１に示すように、マルチプレクサ１０２は、ＣＬＫ０およびＣＬＫ１の入力を受けるために設けられている。ＣＬＫ０入力は、クロック分割器（clock divider）１０４からの出力である。セレクト信号ＳＥＬＥＣＴは、ＣＬＫ０とＣＬＫ１間を選択するために用いられる。
【０００３】
クロックマルチプレクサの実施は、多重化（multiplexed）クロックの出力の持続時間が完全な（ゆがめられていない）ままであることと、多重化クロックはスパイク（spike）がないこととを保証する。もし、セレクト信号ＳＥＬＥＣＴが両方のソースクロックと同期している場合には、これは比較的容易に達成される。図１において、２つの交互のクロックは互いに同期しているため、セレクト信号を同期させることは比較的簡単である。しかし、２つの交互のクロックが互いに非同期である場合には、図１に示すような簡単な組み合わせのマルチプレクサは、スパイクがなく、ゆがみのないクロックをもはや生み出さない。しかし、両方のクロックが同期している場合には、回路の素子の本質的で相互接続された遅延の中の潜在的なバリエーションは、固定関係がマルチプレクサにおけるクロックの到着時間に関して義務を負わせないならば、物理的な実施の間に処理するためには、かなり容易である。
【０００４】
図２をみると、模範的な公知のクロックマルチプレクサの説明図が示されている。クロックマルチプレクサ２００は、クロック入力ＣＬＫ０とＣＬＫ１、選択入力ＳＥＬＥＣＴを受信する。クロックマルチプレクサ２００は、１組のクロス結合されたクロックゲート素子２０２ａ・２０２ｂを備えている。ゲート素子２０２ａ・２０２ｂは、フリップフロップ２０４ａ・２０４ｂ、ＡＮＤゲート２０８ａ・２０８ｂおよびインバータ２０６ａ・２０６ｂを備えている。クロック入力ＣＬＫ０・ＣＬＫ１は、それぞれ、インバータ２０６ａ・２０６ｂに与えられる。フリップフロップ２０４ａ・２０４ｂは、それぞれ許可信号（enable signals）ＥＮ０とＥＮ１を受信し、それぞれ許可信号ＣＬＫ０＿ＥＮとＣＬＫ１＿ＥＮを出力する。許可信号ＣＬＫ０＿ＥＮとＣＬＫ１＿ＥＮとの制御によって、入力クロックＣＬＫ０・ＣＬＫ１は、それぞれＡＮＤゲート２０８ａ・２０８ｂを通過するか、またはＡＮＤゲートＧＣ０・ＧＣ１の出力は０にされる。クロックゲート素子２０２ａ・２０２ｂは、ＡＮＤゲート２１０・２１２の通路によって結合されており、ＯＲゲート２１４に出力される。ＡＮＤゲート２１０は、２つの反転入力を有し、ＡＮＤゲート２１２は１つの反転入力を有する。セレクト信号が変化する際、以前選択されていたクロックは無力化し、新しく選択されたクロックは許可される。
【０００５】
特に、ＳＥＬＥＣＴ信号は、ＡＮＤゲート２１０の入力で反転され、ＡＮＤゲート２１２では反転されない。そのため、ＳＥＬＥＣＴは、１つかその他のクロックゲート素子のみを通してクロック信号を入力される（be clocked）。さらに、フリップフロップ２０４ｂの出力ＣＬＫ１＿ＥＮは、ＡＮＤゲート２１０のインバータ入力へフィードバックされる。フリップフロップ２０４ａの出力ＣＬＫ０＿ＥＮは、ＡＮＤゲート２１２のインバータ入力へフィードバックされる。それゆえ、ＳＥＬＥＣＴが低レベルで、以前のＣＬＫ１＿ＥＮもまた低レベルか不活性であるとき、許可信号ＥＮ０は、ＡＮＤゲート２１０からの出力である。同様に、ＳＥＬＥＣＴ信号が高レベルで、前述したＣＬＫ０＿ＥＮもまた不活性であるとき、許可信号ＥＮ１はフリップフロップ２０４ｂを通してクロック信号を入力される。図２の回路の既知のバリエーションは、各々のゲート素子に１組のカスケード型のフリップフロップを用いている。
【０００６】
一方、図２の回路は一般的に、きれいに切り替えられたクロックを生み出すのに効果的であるが、両方のクロックがほぼ同時にフォーリングエッジを有するとき、クロックが許可されることなく、セレクト信号ＳＥＬＥＣＴが変化しないことを確実にするために、比較的注意が必要である。このようなケースでは、あるフリップフロップは、セレクトの古い値をラッチする一方、その他のものはすでに新しい値をラッチしている。これは、両方のクロックが同時に許可されるという結果を招くことができる。例えば、図３は、図２の回路のタイミング図である。ここには、ＣＬＫ０波形３５０、ＣＬＫ１波形３５２、ＳＥＬＥＣＴ波形３５４、ＳＥＬＥＣＴ０波形３５６、ＳＥＬＥＣＴ１波形３５８、ＣＬＫ０＿ＥＮ波形３６０、ＣＬＫ１＿ＥＮ波形３６２、ＣＬＫ波形３６４が描かれている。また、両方のクロックＣＬＫ０＿ＥＮとＣＬＫ１＿ＥＮがともに許可されているとき、ＣＬＫ波形３６４はスパイク３０１を有する。
【０００７】
〔発明の要旨〕
従来技術のこれらの欠点は、本発明に係るクロック多重化（clock multiplexing）システムと方法とによって、大部分解決される。ある実施の形態によれば、１組の２ステージのクロス結合されたクロックゲート素子は、一つの非同期の許可信号によって制御されている。許可信号の変化の際、以前に選択されたクロックは、新しく選択されたクロックが許可される前に、常に不活性になる。
【０００８】
〔発明の詳しい説明〕
図４、５は、クロック多重化の改良されたシステムと方法を示している。１組のクロス結合されたクロックゲート素子は、一つの非同期型の許可信号によって制御される。許可信号が変化する際、以前に選択されたクロックは、新しく選択されたクロックが許可される前に不活性化する。
【０００９】
図４に示すように、クロックマルチプレクサ３００は、１組の２ステージのクロス結合されたゲート素子３０２ａ・３０２ｂと、クロス結合されたカップリング回路３２５とを備えている。クロックマルチプレクサ３００は、入力クロック信号ＣＬＫ０・ＣＬＫ１と、セレクト信号ＳＥＬＥＣＴとを受信し、クロックＣＬＫを出力する。各２ステージゲート素子は、インバータ３０６ａ・３０６ｂ、フリップフロップ３０４ａ・３０４ｂ、フリップフロップ３２０ａ・３２０ｂ、ＡＮＤゲート３０８ａ・３０８ｂ、と３２２ａ・３２２ｂを、それぞれ備えている。ＡＮＤゲート３２２ａ・３２２ｂの出力は、ＯＲゲート３１４に与えられる。ゲート素子３０２ａは、ＡＮＤゲート３１０を介してＳＥＬＥＣＴ信号から派生したセレクト信号ＳＥＬＥＣＴ０を受信する。ゲート素子３０２ｂは、ＡＮＤゲート３１２を介してＳＥＬＥＣＴから派生したセレクト信号ＳＥＬＥＣＴ１を受信する。ＡＮＤゲート３１０は、２つの反転入力を有し、ＡＮＤゲート３１２は、一つのインバータ入力を有する。それゆえ、ＡＮＤゲート３１０は、反転されたＳＥＬＥＣＴと反転されたＳＹＮＣ＿ＳＥＬ１とを入力として受信する。ＡＮＤゲート３１２は、ＳＥＬＥＣＴとインバータされたＳＹＮＣ＿ＳＥＬ０とを入力として受信する。
【００１０】
さらに、各ゲート素子３０２ａ・３０２ｂは、クロスカップリング回路３２５を、即ち、ＯＲゲート３２４ａ・３２４ｂと、ＡＮＤゲート３０８ａ・３０８ｂを介して、クロス結合されている。ＯＲゲート３２４ａ・３２４ｂは、それぞれ、ゲート素子３０２ａ・３０２ｂから、ＳＹＮＣ＿ＳＥＬ０、ＳＹＮＣ＿ＳＥＬ１と、ＣＬＫ０＿ＥＮと、ＣＬＫ１＿ＥＮとを入力として受信する。ＳＹＮＣ＿ＳＥＬｘ信号は、それぞれ、フリップフロップ３０４ａ・３０４ｂの出力から与えられる。ＣＬＫｘ＿ＥＮ信号は、それぞれ、フリップフロップ３２０ａ・３２０ｂの出力から、ＡＮＤゲート３２２ａ・３２２ｂへと与えられる。追加のステージは、各クロックゲート素子がその次の遷移のために見つけるのがどちらのセレクト信号であるかを示す状態を定義する。ＣＬＫ０＿ＥＮとＣＬＫ１＿ＥＮとの両方が同時に、ともに１となる（即ち、許可された）状態は、達成されることはない。
【００１１】
特に、ＯＲゲート３２４ａ・３２４ｂは、それぞれＡＮＤゲート３０８ａ・３０８ｂのインバータ入力へと与えられる。ＯＲゲート３２４ａ・３２４ｂは、ＳＹＮＣ＿ＳＥＬｘまたはＣＬＫｘ＿ＥＮのどちらかが許可されたとき、ＳＹＮＣ＿ＳＥＬｘ信号を０にする。これは、必須のクロック遷移をこえて、安定性を確実にする。
【００１２】
図４の回路の働きは、図５に示すクロックマルチプレクサの状態説明図の参考として理解されている。ＳＹＮＣ＿ＳＥＬ０・ＣＬＫ＿ＥＮ０・ＳＹＮＣ＿ＳＥＬ１およびＣＬＫ＿ＥＮ１信号は、ステートマシンの状態（４０２−４２０）を定義する。遷移は、ＳＥＬＥＣＴ＝０をラッチし、ＳＥＬＥＣＴ＝１をラッチし、クロックのフォーリングエッジはなく、注意もいらない。見てわかるように、図４の回路は、ＣＬＫ０＿ＥＮとＣＬＫ１＿ＥＮとの両方が同時に許可されたことにより、潜在的な不安定化を阻止するように機能する。状態４０２（１１００）と４０４（００１１）とは安定な状態であり、そのため、これらの状態はＳＥＬＥＣＴが変化しないのと同じくらいの長さで維持される。
【００１３】
状態１１００：一旦、状態４０２（１１００）になれば、システムは状態４０２か４０４に遷移できる。
【００１４】
もし、ＳＥＬＥＣＴ＝０がゲート素子３０２ａにクロック信号を入力される、あるいはクロックゲート素子３０２ａでクロックが発生しない場合には、遷移は状態４０２に対するものとなる。ＣＬＫ０＿ＥＮは、ＡＮＤゲート３０８ａ（＝１、ＳＹＮＣ＿ＳＥＬ０＝１と、ＳＹＮＣ＿ＳＥＬ１＝ＣＬＫ１＿ＥＮ＝０による）の出力においてクロック信号を入力する。ＳＹＮＣ＿ＳＥＬ０は、ＡＮＤゲート３１０（＝１、ＳＥＬＥＣＴ＝０とＳＹＮＣ＿ＳＥＬ１＝０による）の出力においてクロック信号を入力される。クロックがゲート素子３０２ｂにも現れるならば、ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝０、ＳＹＮＣ＿ＳＥＬ１＝０による）の出力においてクロック信号を入力され、ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１２（＝０、ＳＹＮＣ＿ＳＥＬ０＝１による）の出力においてクロック信号を入力される。
【００１５】
もし、ＳＥＬＥＣＴ＝１がゲート素子３０２ａにクロック信号を入力されるならば、遷移は状態４０４に対するものとなる。ＣＬＫ０＿ＥＮは、ＡＮＤゲート３０８ａ（＝１、ＳＹＮＣ＿ＳＥＬ０＝１と、ＳＹＮＣ＿ＳＥＬ１＝ＣＬＫ１＿ＥＮ＝０による）の出力においてクロック信号を入力する。ＳＹＮＣ＿ＳＥＬ０は、ＡＮＤゲート３１０（＝０、ＳＥＬＥＣＴ＝１による）の出力においてクロック信号を入力する。ゲート素子３０２ｂがクロック信号を入力された場合、ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝０、ＳＹＮＣ＿ＳＥＬ１＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１２（＝０、ＳＹＮＣ＿ＳＥＬ０＝０による）の出力においてクロック信号を入力する。
【００１６】
状態０１００：一旦、状態４０４（０１００）になれば、システムは状態４０８・４０６・４１４・４１２・４１６・４０４のいずれかに遷移する。
【００１７】
もし、ＳＥＬＥＣＴ＝０がゲート素子３０２ａと３０２ｂとにクロック信号を入力される、あるいは３０２ａにのみクロック信号を入力され、３０２ｂにクロックエッジが生じない場合には、遷移は状態４０８に対するものとなる。ＣＬＫ０＿ＥＮは、ＡＮＤゲート３０８ａ（＝０、ＳＹＮＣ＿ＳＥＬ０＝０による）の出力においてクロック信号を入力する。ＳＹＮＣ＿ＳＥＬ０は、ＡＮＤゲート３１０（＝１、ＳＥＬＥＣＴ＝０とＳＹＮＣ＿ＳＥＬ１＝０による）の出力においてクロック信号を入力する。クロックがゲート素子３０２ｂにも現れるならば、ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝０、ＳＹＮＣ＿ＳＥＬ１＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１２（＝０、ＳＥＬＥＣＴ＝０による）の出力においてクロック信号を入力する。
【００１８】
もし、ＳＥＬＥＣＴ＝１とクロックとが、クロックゲート素子３０２ｂでのみ発生するならば、遷移は状態４０６に対するものとなる。ＳＹＮＣ＿ＳＥＬ０とＣＬＫ０＿ＥＮとは、ゲート素子３０２ａへのクロックが存在しないので、変化しないままである。ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝０、ＳＹＮＣ＿ＳＥＬ１＝０による）の出力においてクロック信号を入力する。ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１２（＝１、ＳＹＮＣ＿ＳＥＬ０＝０とＳＥＬＥＣＴ＝１による）の出力においてクロック信号を入力する。
【００１９】
もし、ＳＥＬＥＣＴ＝１とクロックとが、クロックゲート素子３０２ａでのみ発生するか、あるいは両方のゲート素子が、ＳＥＬＥＣＴ＝１でクロック信号を入力される３０２ａと、ＳＥＬＥＣＴ＝０でクロック信号を入力される３０２ｂとともにクロック信号を入力されるならば（それは、ＳＥＬＥＣＴで０→１または１→０の遷移の間、クロックエッジが起こるということ）、遷移は状態４１４に対するものとなる。ＣＬＫ０＿ＥＮは、ゲート素子３０８ａ（＝０、ＳＹＮＣ＿ＳＥＬ０＝０による）の出力においてクロック信号を入力する。ＳＹＮＣ＿ＳＥＬ０は、ＡＮＤゲート３１０（＝０、ＳＥＬＥＣＴ＝１による）の出力においてクロック信号を入力する。ＣＬＫ１＿ＥＮは、潜在的にＡＮＤゲート３０８ｂ（＝０、ＳＹＮＣ＿ＳＥＬ１による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、潜在的にＡＮＤゲート３１２（＝１、ＳＥＬＥＣＴ＝１と、ＳＹＮＣ＿ＳＥＬ０＝０による）の出力においてクロック信号を入力する。
【００２０】
もし、ＳＥＬＥＣＴ＝１と、両方のゲート素子とが同時にクロック信号を入力されるならば、遷移は状態４１６に対するものとなる。ＣＬＫ０＿ＥＮは、ゲート素子３０８ａ（＝０、ＳＹＮＣ＿ＳＥＬ０＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ０は、ＡＮＤゲート３１０（＝０、ＳＥＬＥＣＴ＝１による）の出力においてクロック信号を入力する。ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝０、ＳＹＮＣ＿ＳＥＬ１による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１２（＝１、ＳＥＬＥＣＴ＝１とＳＹＮＣ＿ＳＥＬ０＝０による）の出力においてクロック信号を入力する。
【００２１】
もし、両方のゲート素子が、ＳＥＬＥＣＴ＝０でクロック信号を入力される３０２ａと、ＳＥＬＥＣＴ＝１でクロック信号を入力される３０２ｂとともに同時にクロック信号を入力されるならば（それは、ＳＥＬＥＣＴで０→１または１→０の遷移の間、クロックエッジが起こるということ）、遷移は状態４１２に対するものとなる。ＣＬＫ０＿ＥＮは、ゲート素子３０８ａ（＝０、ＳＹＮＣ＿ＳＥＬ０＝０による）の出力においてクロック信号を入力する。ＳＹＮＣ＿ＳＥＬ０は、ＡＮＤゲート３１０（＝１、ＳＥＬＥＣＴ＝０とＳＹＮＣ＿ＳＥＬ１＝１による）の出力においてクロック信号を入力する。ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝０、ＳＹＮＣ＿ＳＥＬ１＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１２（＝１、ＳＥＬＥＣＴ＝１とＳＹＮＣ＿ＳＥＬ０＝０による）の出力においてクロック信号を入力する。
【００２２】
もし、ＳＥＬＥＣＴ＝０でクロック信号を入力される３０２ａと３０２ｂとにおいて、クロックが発生しないならば、遷移は状態４０４に対するものとなる。ＣＬＫ０＿ＥＮとＳＹＮＣ＿ＳＥＬ０は、クロックが存在しないので、ともに変化しない。ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝０、ＣＬＫ０＿ＥＮ＝１による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１２（＝０、ＳＥＬＥＣＴ＝０による）の出力においてクロック信号を入力する。
【００２３】
状態０１１０：一旦、状態４０６（０１１０）になれば、システムは状態４０４・４１４・４１６・４０６のいずれかに遷移する。
【００２４】
もし、ＳＥＬＥＣＴ＝０がゲート素子３０２ｂにクロック信号を入力されて、また、ゲート素子３０２ａではクロックが起こらないならば、遷移は状態４０４に対するものとなる。ＳＹＮＣ＿ＳＥＬ０とＣＬＫ０＿ＥＮとは、ゲート素子３０２ａのためのクロックがないため、変化しないままである。ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝０、ＣＬＫ０＿ＥＮ＝１による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１２（＝０、ＳＥＬＥＣＴ＝０による）の出力においてクロック信号を入力する。
【００２５】
もし、ＳＥＬＥＣＴ＝０でクロック信号を入力される３０２ｂとともに同時に、両方のゲート素子がクロック信号を入力されるならば、遷移は状態４１４に対するものとなる。ＣＬＫ０＿ＥＮは、ゲート素子３０８ａ（＝０、ＳＹＮＣ＿ＳＥＬ０＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ０は、ＡＮＤゲート３１０（＝０、ＳＹＮＣ＿ＳＥＬ１＝１による）の出力においてクロック信号を入力する。ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝０、ＣＬＫ０＿ＥＮ＝１による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１２（＝０、ＳＥＬＥＣＴ＝０による）の出力においてクロック信号を入力する。
【００２６】
もし、ゲート素子３０２ａがクロック信号を入力されて、ゲート素子３０２ｂがクロック信号を入力されないか、あるいはＳＥＬＥＣＴ＝１でクロック信号を入力されるならば、遷移は状態４１６に対するものとなる。ＣＬＫ０＿ＥＮは、ゲート素子３０８ａ（＝０、ＳＹＮＣ＿ＳＥＬ０＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ０は、ＡＮＤゲート３１０（＝０、ＳＹＮＣ＿ＳＥＬ１＝１による）の出力においてクロック信号を入力する。ＣＬＫ１＿ＥＮは、潜在的にＡＮＤゲート３０８ｂ（＝０、ＣＬＫ０＿ＥＮ＝１による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、潜在的にＡＮＤゲート３１２（＝１、ＳＥＬＥＣＴ＝１とＳＹＮＣ＿ＳＥＬ０＝０とによる）の出力においてクロック信号を入力する。
【００２７】
もし、クロックゲート素子３０２ａにはクロックが発生しないで、ゲート素子３０２ｂは、ＳＥＬＥＣＴ＝１においてクロック信号を入力するならば、遷移は状態４０６に対するものとなる。ＳＹＮＣ＿ＳＥＬ０とＣＬＫ０＿ＥＮとはクロックがないため、変化しないままである。ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝０、ＣＬＫ０＿ＥＮ＝１による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１２（＝１、ＳＥＬＥＣＴ＝１とＳＹＮＣ＿ＳＥＬ０＝０による）の出力においてクロック信号を入力する。
【００２８】
状態００００：一旦、状態４１４（００００）になれば、システムは状態４０８・４１２・４１６・４１４のいずれかに遷移する。
【００２９】
もし、ゲート素子３０２ａがＳＥＬＥＣＴ＝０でクロック信号を入力し、ゲート素子３０２ｂではクロックが起こらないか、あるいはＳＥＬＥＣＴ＝０で３０２ｂもまたクロック信号を入力するならば、遷移は状態４０８に対するものとなる）に対するものとなる。ＣＬＫ０＿ＥＮは、ゲート素子３０８ａ（＝０、ＳＹＮＣ＿ＳＥＬ０＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ０は、ＡＮＤゲート３１０（＝１、ＳＥＬＥＣＴ＝０とＳＹＮＣ＿ＳＥＬ１＝０とによる）の出力においてクロック信号を入力する。もし、ゲート素子３０２ｂでもクロックが起こるならば、ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝０、ＳＹＮＣ＿ＳＥＬ１＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１２（＝０、ＳＹＮＣ＿ＳＥＬ０＝１による）の出力においてクロック信号を入力する。
【００３０】
もし、ゲート素子３０２ｂがＳＥＬＥＣＴ＝１でクロック信号を入力して、ゲート素子３０２ａではクロックが起こらないか、あるいはＳＥＬＥＣＴ＝１で３０２ａがクロック信号を入力するならば、遷移は状態４１６に対するものとなる。ＣＬＫ０＿ＥＮは、潜在的にゲート素子３０８ａ（＝０、ＳＹＮＣ＿ＳＥＬ０＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ０は、潜在的にＡＮＤゲート３１０（＝１、ＳＥＬＥＣＴ＝１による）の出力においてクロック信号を入力する。ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝０、ＳＹＮＣ＿ＳＥＬ１＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１２（＝１、ＳＥＬＥＣＴ＝１とＳＹＮＣ＿ＳＥＬ０＝０とによる）の出力においてクロック信号を入力する。
【００３１】
もし、両方のゲート素子が、ＳＥＬＥＣＴ＝０でクロック信号を入力される３０２ａと、ＳＥＬＥＣＴ＝１でクロック信号を入力される３０２ｂと同時にクロック信号を入力されるならば（０（それは、ＳＥＬＥＣＴで０→１または１→０の遷移の間、クロックエッジが起こるということ）、遷移は状態４１２に対するものとなる。ＣＬＫ０＿ＥＮは、ゲート素子３０８ａ（＝０、ＳＹＮＣ＿ＳＥＬ０＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ０は、ＡＮＤゲート３１０（＝１、ＳＥＬＥＣＴ＝０とＳＹＮＣ＿ＳＥＬ１＝０とによる）の出力においてクロック信号を入力する。ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝０、ＳＹＮＣ＿ＳＥＬ１＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１２（＝１、ＳＥＬＥＣＴ＝１とＳＹＮＣ＿ＳＥＬ０＝０とによる）の出力においてクロック信号を入力する。
【００３２】
もし、ゲート素子３０２ａが、ＳＥＬＥＣＴ＝１でクロック信号を入力する、あるいはゲート素子３０２ｂが、ＳＥＬＥＣＴ＝０でクロック信号を入力する、あるいは両方が同時に起こるならば（それは、ＳＥＬＥＣＴで０→１または１→０の遷移の間、クロックエッジが起こるということ）、遷移は状態４１４に対するものとなる。ＣＬＫ０＿ＥＮは、ゲート素子３０８ａ（＝０、ＳＹＮＣ＿ＳＥＬ０＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ０は、ＡＮＤゲート３１０（＝０、ＳＥＬＥＣＴ＝１による）の出力においてクロック信号を入力する。ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝０、ＳＹＮＣ＿ＳＥＬ１＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１２（＝０、ＳＥＬＥＣＴ＝０による）の出力においてクロック信号を入力する。
【００３３】
状態００１０：一旦、状態４１６（００１０）になれば、システムは状態４１８・４２０・４１６のいずれかに遷移する。
【００３４】
もし、ＳＥＬＥＣＴ＝１がゲート素子３０２ｂにクロック信号を入力されるならば、遷移は状態４２０に対するものとなる。もしゲート素子３０２ａでもクロックが起こるならば、ＣＬＫ０＿ＥＮは、ゲート素子３０８ａ（＝０、ＳＹＮＣ＿ＳＥＬ０＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ０は、ＡＮＤゲート３１０（＝０、ＳＹＮＣ＿ＳＥＬ１＝１による）の出力においてクロック信号を入力する。ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝１、ＳＹＮＣ＿ＳＥＬ１＝１とＣＬＫ０＿ＥＮ＝ＳＹＮＣ＿ＳＥＬ０＝０とによる）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１２（＝１、ＳＥＬＥＣＴ＝１とＳＹＮＣ＿ＳＥＬ０＝０とによる）の出力においてクロック信号を入力する。
【００３５】
もし、ＳＥＬＥＣＴ＝０が、ゲート素子３０２ｂにクロック信号を入力されるならば、遷移は状態４１８に対するものとなる。もし、ゲート素子３０２ａでもクロックが起こるならば、ＣＬＫ０＿ＥＮは、ゲート素子３０８ａ（＝０、ＳＹＮＣ＿ＳＥＬ０＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ０は、ＡＮＤゲート３１０（＝０、ＳＹＮＣ＿ＳＥＬ１＝１による）の出力においてクロック信号を入力する。ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝１、ＳＹＮＣ＿ＳＥＬ１＝１とＣＬＫ０＿ＥＮ＝ＳＹＮＣ＿ＳＥＬ０＝０とによる）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１２（＝０、ＳＥＬＥＣＴ＝０による）の出力においてクロック信号を入力する。
【００３６】
もし、ゲート素子３０２ｂでクロックが発生しないならば、遷移は状態４１６に対するものとなる。もし、ゲート素子３０２ａでクロックが起こるならば、ＣＬＫ０＿ＥＮは、ゲート素子３０８ａ（＝０、ＳＹＮＣ＿ＳＥＬ０＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ０は、ＡＮＤゲート３１２（＝０、ＳＹＮＣ＿ＳＥＬ１＝１による）の出力においてクロック信号を入力する。ＣＬＫ１＿ＥＮとＳＹＮＣ＿ＳＥＬ１とは、クロックがないので変化しない。
【００３７】
状態００１１：一旦、状態４２０（００１１）になれば、システムは状態４２０、４１８のいずれかに遷移する。
【００３８】
もし、ＳＥＬＥＣＴ＝１がゲート素子３０２ｂにクロック信号を入力される、あるいは３０２ｂでクロックは起こらないならば、遷移は状態４２０に対するものとなる。もし、ゲート素子３０２ａでクロックが起こるならば、ＣＬＫ０＿ＥＮは、ゲート素子３０８ａ（＝０、ＳＹＮＣ＿ＳＥＬ０＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ０は、ＡＮＤゲート３１０（＝０、ＳＹＮＣ＿ＳＥＬ１＝１による）の出力においてクロック信号を入力する。ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝１、ＳＹＮＣ＿ＳＥＬ１＝１とＣＬＫ＿ＥＮ＝ＳＹＮＣ＿ＳＥＬ０＝０とによる）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１２（＝１、ＳＥＬＥＣＴ＝１とＳＹＮＣ＿ＳＥＬ０＝０による）の出力においてクロック信号を入力する。
【００３９】
もし、ＳＥＬＥＣＴ＝０が、ゲート素子３０２ｂにクロック信号を入力されるならば、遷移は状態４１８に対するものとなる。もしゲート素子３０２ａでクロックが起こるならば、ＣＬＫ０＿ＥＮは、ゲート素子３０８ａ（＝０、ＣＬＫ１＿ＥＮ＝１による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ０は、ＡＮＤゲート３１０（＝０、ＳＹＮＣ＿ＳＥＬ１＝１による）の出力においてクロック信号を入力する。ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝１、ＳＹＮＣ＿ＳＥＬ１とＣＬＫ０＿ＥＮ＝ＳＹＮＣ＿ＳＥＬ０＝０とによる）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１２（＝０、ＳＥＬＥＣＴ＝０による）の出力においてクロック信号を入力する。
【００４０】
状態０００１：一旦、状態４１８（０００１）になれば、システムは状態４１６・４１０・４１４・４１２・４０８・４１８のいずれかに遷移する。
【００４１】
もし、ＳＥＬＥＣＴ＝１がゲート素子３０２ａと３０２ｂとにクロック信号を入力される、あるいはＳＥＬＥＣＴ＝０がゲート素子３０２ｂのみにクロック信号を入力され、また、３０２ａではクロックエッジが起こらないならば、遷移は状態４１６に対するものとなる。ＣＬＫ０＿ＥＮは、潜在的にゲート素子３０８ａ（＝０、ＳＹＮＣ＿ＳＥＬ０＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ０は、潜在的にＡＮＤゲート３１０（＝０、ＳＥＬＥＣＴ＝１による）の出力においてクロック信号を入力する。ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝０、ＳＹＮＣ＿ＳＥＬ１＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１２（＝１、ＳＥＬＥＣＴ＝１とＳＹＮＣ＿ＳＥＬ＝０による）の出力においてクロック信号を入力する。
【００４２】
もし、ＳＥＬＥＣＴ＝０とクロックとが、ゲート素子３０２ａでのみ起こるならば、遷移は状態４１０に対するものとなる。ＣＬＫ０＿ＥＮは、ゲート素子３０８ａ（＝０、ＳＹＮＣ＿ＳＥＬ０＝０による）の出力においてクロック信号を入力する。ＳＹＮＣ＿ＳＥＬ０は、ＡＮＤゲート３１０（＝１、ＳＥＬＥＣＴ＝０とＳＹＮＣ＿ＳＥＬ１＝０による）の出力においてクロック信号を入力する。ＣＬＫ１＿ＥＮとＳＹＮＣ＿ＳＥＬ１とは、ゲート素子３０２ｂにクロックがないため、変化しないままである。
【００４３】
もし、ＳＥＬＥＣＴ＝０とクロックとが、ゲート素子３０２ｂのみで起こる、あるいは両方のゲート素子は、ＳＥＬＥＣＴ＝１でクロック信号を入力する３０２ａと、ＳＥＬＥＣＴ＝１でクロック信号を入力する３０２ｂとともにクロック信号を入力されるならば（それは、ＳＥＬＥＣＴで０→１または１→０の遷移の間、クロックエッジが起こるということ）、遷移は状態４１４に対するものとなる。ＣＬＫ０＿ＥＮは、潜在的にゲート素子３０８ａ（＝０、ＳＹＮＣ＿ＳＥＬ０＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ０は、潜在的にＡＮＤゲート３１０（＝０、ＳＥＬＥＣＴ＝１による）の出力においてクロック信号を入力する。ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝０、ＳＹＮＣ＿ＳＥＬ１＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１２（＝０、ＳＥＬＥＣＴ＝０による）の出力においてクロック信号を入力する。
【００４４】
もし、ＳＥＬＥＣＴ＝０と両方のゲート素子とが、同時にクロック信号を入力されるならば、遷移は状態４０８に対するものとなる。ＣＬＫ０＿ＥＮは、ゲート素子３０８ａ（＝０、ＳＹＮＣ＿ＳＥＬ０＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ０は、ＡＮＤゲート３１０（＝１、ＳＥＬＥＣＴ＝０とＳＹＮＣ＿ＳＥＬ１＝０とによる）の出力においてクロック信号を入力する。ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝０、ＳＹＮＣ＿ＳＥＬ１＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１２（＝０、ＳＥＬＥＣＴ＝０による）の出力においてクロック信号を入力する。
【００４５】
もし、両方のゲート素子が、ＳＥＬＥＣＴ＝０でクロック信号を入力する３０２ａと、ＳＥＬＥＣＴ＝１でクロック信号を入力する３０２ｂとともに、同時にクロック信号を入力されるならば（それは、ＳＥＬＥＣＴで０→１または１→０の遷移の間、クロックエッジが起こるということ）、遷移は状態４１２に対するものとなる。ＣＬＫ０＿ＥＮは、ゲート素子３０８ａ（＝０、ＳＹＮＣ＿ＳＥＬ０＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ０は、ＡＮＤゲート３１０（＝１、ＳＥＬＥＣＴ＝０とＳＹＮＣ＿ＳＥＬ１＝０とによる）の出力においてクロック信号を入力する。ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝０、ＳＹＮＣ＿ＳＥＬ１による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１２（＝１、ＳＥＬＥＣＴ＝１とＳＹＮＣ＿ＳＥＬ０＝０とによる）の出力においてクロック信号を入力する。
【００４６】
もし、ＳＥＬＥＣＴ＝１がゲート素子３０２ａにクロック信号を入力され、ゲート素子３０２ｂではクロックが起こらないならば、遷移は状態４１８に対するものとなる。ＣＬＫ０＿ＥＮは、ゲート素子３０８ａ（＝０、ＳＹＮＣ＿ＳＥＬ０＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ０は、ＡＮＤゲート３１０（＝０、ＳＹＮＣ＿ＳＥＬ１＝１による）の出力においてクロック信号を入力する。ＣＬＫ１＿ＥＮとＳＹＮＣ＿ＳＥＬ１とは、クロックがないため、変化しない。
【００４７】
状態１０１０：一旦、状態４１２（１０１０）になれば、システムは状態４１４・４１６・４０８のいずれかに遷移する。
【００４８】
もし、両方のゲート素子が同時にクロック信号を入力されるならば、遷移は状態４１４に対するものとなる（ＳＥＬＥＣＴでの値とは独立して）。ＣＬＫ０＿ＥＮは、ゲート素子３０８ａ（＝０、ＳＹＮＣ＿ＳＥＬ１＝１による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ０は、ＡＮＤゲート３１０（＝０、ＳＹＮＣ＿ＳＥＬ１＝１による）の出力においてクロック信号を入力する。ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝０、ＳＹＮＣ＿ＳＥＬ０＝１による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１２（＝０、ＳＹＮＣ＿ＳＥＬ０＝１による）の出力においてクロック信号を入力する。
【００４９】
もし、ゲート素子３０２ａのみがクロック信号を入力されるならば、遷移は状態４１６に対するものとなる。ＣＬＫ０＿ＥＮは、ゲート素子３０８ａ（＝０、ＳＹＮＣ＿ＳＥＬ１＝１による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ０は、ＡＮＤゲート３１０（＝０、ＳＹＮＣ＿ＳＥＬ１＝１による）の出力においてクロック信号を入力する。ＣＬＫ１＿ＥＮとＳＹＮＣ＿ＳＥＬ１とは、ゲート素子３０２ｂのためのクロックがないため、変化しないままである。
【００５０】
もし、ゲート素子３０２ｂのみがクロック信号を入力されるならば、遷移は状態４０８に対するものとなる。ＣＬＫ０＿ＥＮとＳＹＮＣ＿ＳＥＬ０とは、ゲート素子３０２ａのためのクロックがないため、変化しないままである。ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝０、ＳＹＮＣ＿ＳＥＬ０＝１による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１２（＝０、ＳＹＮＣ＿ＳＥＬ０＝１による）の出力においてクロック信号を入力する。
【００５１】
状態１００１：一旦、状態４１０（１００１）になれば、システムは状態４１８・４１４・４０８・４１０のいずれかに遷移する。
【００５２】
もし、ＳＥＬＥＣＴ＝１がゲート素子３０２ａにクロック信号を入力され、ゲート素子３０２ｂにはクロックが起こらないならば、遷移は状態４１８に対するものとなる。ＣＬＫ０＿ＥＮは、ゲート素子３０８ａ（＝０、ＣＬＫ１＿ＥＮ＝１による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ０は、ＡＮＤゲート３１０（＝０、ＳＥＬＥＣＴ＝１による）の出力においてクロック信号を入力する。ＣＬＫ１＿ＥＮとＳＹＮＣ＿ＳＥＬ１とは、ゲート素子３０２ｂのためのクロックがないため、変化しないままである。
【００５３】
もし、両方のゲート素子が、ＳＥＬＥＣＴ＝１でクロック信号を入力する３０２ａととともに同時にクロック信号を入力されるならば、遷移は状態４１４に対するものとなる。ＣＬＫ０＿ＥＮは、ゲート素子３０８ａ（＝０、ＣＬＫ１＿ＥＮ＝１による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ０は、ＡＮＤゲート３１０（＝０、ＳＥＬＥＣＴ＝１による）の出力においてクロック信号を入力する。ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝０、ＳＹＮＣ＿ＳＥＬ１＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１２（＝０、ＳＹＮＣ＿ＳＥＬ１＝１による）の出力においてクロック信号を入力する。
【００５４】
もし、ゲート素子３０２ｂがクロック信号を入力され、ゲート素子３０２ａはクロック信号を入力されないか、あるいはＳＥＬＥＣＴ＝０でクロック信号を入力するならば、遷移は状態４０８に対するものとなる。ＣＬＫ０＿ＥＮは、潜在的にゲート素子３０８ａ（＝０、ＣＬＫ１＿ＥＮ＝１による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ０は、潜在的にＡＮＤゲート３１０（＝１、ＳＥＬＥＣＴ＝０とＳＹＮＣ＿ＳＥＬ１＝０とによる）の出力においてクロック信号を入力する。ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝０、ＳＹＮＣ＿ＳＥＬ１＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１２（＝０、ＳＹＮＣ＿ＳＥＬ０＝１による）の出力においてクロック信号を入力する。
【００５５】
もし、ＳＥＬＥＣＴ＝０がゲート素子３０２ａにクロック信号を入力され、ゲート素子３０２ｂではクロックが起こらないならば、遷移は状態４１０に対するものとなる。ＣＬＫ０＿ＥＮは、ゲート素子３０８ａ（＝０、ＣＬＫ１＿ＥＮ＝１による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ０は、ＡＮＤゲート３１０（＝１、ＳＥＬＥＣＴ＝０とＳＹＮＣ＿ＳＥＬ１＝０とによる）の出力においてクロック信号を入力する。ＣＬＫ１＿ＥＮとＳＹＮＣ＿ＳＥＬ１とは、クロックがないため変化しない。
【００５６】
状態１０００：一旦、状態４０８（１０００）になれば、システムは状態４０２・４０４・４０８のいずれかに遷移する。
【００５７】
もし、ゲート素子３０２ａが、ＳＥＬＥＣＴ＝０でクロック信号を入力するならば、遷移は状態４０２に対するものとなる。ＣＬＫ０＿ＥＮは、ゲート素子３０８ａ（＝１、ＳＹＮＣ＿ＳＥＬ０＝０とＣＬＫ１＿ＥＮ＝ＳＹＮＣ＿ＳＥＬ１＝０とによる）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ０は、ＡＮＤゲート３１０（＝１、ＳＥＬＥＣＴ＝０とＳＹＮＣ＿ＳＥＬ１＝０とによる）の出力においてクロック信号を入力する。もし、ゲート素子３０２ｂでもクロックが起こるならば、ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝０、ＣＬＫ０＿ＥＮ＝１による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１２（＝０、ＳＹＮＣ＿ＳＥＬ０＝１による）の出力においてクロック信号を入力する。
【００５８】
もし、ゲート素子３０２ａがＳＥＬＥＣＴ＝１でクロック信号を入力するならば、遷移は状態４０２に対するものとなる。ＣＬＫ０＿ＥＮは、ゲート素子３０８ａ（＝１、ＳＹＮＣ＿ＳＥＬ０＝０とＣＬＫ１＿ＥＮ＝ＳＹＮＣ＿ＳＥＬ１＝０とによる）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ０は、ＡＮＤゲート３１０（＝０、ＳＥＬＥＣＴ＝１とによる）の出力においてクロック信号を入力する。もし、ゲート素子３０２ｂでもクロックが起こるならば、ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝０、ＳＹＮＣ＿ＳＥＬ１＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１２（＝０、ＳＹＮＣ＿ＳＥＬ０＝１による）の出力においてクロック信号を入力する。
【００５９】
もし、ゲート素子３０２ａでクロックが起こらないならば、遷移は状態４０８に対するものとなる。ＣＬＫ０＿ＥＮとＳＹＮＣ＿ＳＥＬ０とは、クロックがないため変化しない。もし、ゲート素子３０２ｂでクロックが起こるならば、ＣＬＫ１＿ＥＮは、ＡＮＤゲート３０８ｂ（＝０、ＳＹＮＣ＿ＳＥＬ１＝０による）の出力においてクロック信号を入力し、ＳＹＮＣ＿ＳＥＬ１は、ＡＮＤゲート３１０（＝０、ＳＹＮＣ＿ＳＥＬ０＝１による）の出力においてクロック信号を入力する。
【００６０】
上記発明の詳細な説明においてなされた発明の説明は、そのような具体例にのみ定義して狭義に解釈されるべきものではなく、本発明の精神と次に記載する特許請求事項との範囲内で、種々変更して実施することができるものである。
【図面の簡単な説明】
【図１】  図１は、従来のクロックマルチプレクサの説明図である。
【図２】  図２は、公知のクロックマルチプレクサを図示した説明図である。
【図３】  図３は、図２のクロックマルチプレクサのタイミング図である。
【図４】  図４は、本発明の他の実施形態に係るクロックマルチプレクサを図示した説明図である。
【図５】  図５は、図４のクロックマルチプレクサの状態の説明図である。
【図１】
0004219588.tif 000002
【図２】
0004219588.tif 000003
【図３】
0004219588.tif 000004
【図４】
0004219588.tif 000005
【図５】
0004219588.tif 000006