JP4114722B2 - ステート回路 - Google Patents

ステート回路 Download PDF

Info

Publication number
JP4114722B2
JP4114722B2 JP2005148140A JP2005148140A JP4114722B2 JP 4114722 B2 JP4114722 B2 JP 4114722B2 JP 2005148140 A JP2005148140 A JP 2005148140A JP 2005148140 A JP2005148140 A JP 2005148140A JP 4114722 B2 JP4114722 B2 JP 4114722B2
Authority
JP
Japan
Prior art keywords
state
flip
flop
signal
output
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
JP2005148140A
Other languages
English (en)
Other versions
JP2005333652A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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
Priority claimed from US10/850,402 external-priority patent/US7061284B2/en
Priority claimed from US10/850,400 external-priority patent/US7119587B2/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2005333652A publication Critical patent/JP2005333652A/ja
Application granted granted Critical
Publication of JP4114722B2 publication Critical patent/JP4114722B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K21/00Details of pulse counters or frequency dividers
    • H03K21/40Monitoring; Error detection; Preventing or correcting improper counter operation

Landscapes

  • Manipulation Of Pulses (AREA)
  • Error Detection And Correction (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本発明は誤り訂正に関し、特にステートマシン回路における誤り訂正に関する。
高周波分周器と呼ばれるタイプのインクリメンタが存在する。高周波分周器においては、インクリメンタ内の値が予め定められた方法で変化するが、必ずしも数学的な加算または減算により行われるものではない。例えば、000000が第1ステート(状態)になってもよく、000001が第2ステートに、000011が第3ステートに、000111が第4ステートに、001111が第5ステートに、011111が第6ステートに、111111が第7ステートに、011111が第8ステートになってもよい。また、その他、様々な例をあげることができる。これらの値により、方形波を表現できるが、他に利用することも可能である。ステート値からステート値への特有のインクリメントは、高周波分周器の内部ロジックの機能である。
しかしながら、高周波分周器に関しては問題もある。そのような問題の一つは、システムが正しくないステートで起動することである。例えば、ステート010101で開始したらどうなるであろうか。システムへの電源投入時、システム内のラッチのステートが不確定となりうるために、このことは起こりうる。あるいは、電磁パルスなどの最悪なイベントも発生しうる。これが起きると、8分周カウンタ内のステートが、不所望なステートになるおそれがある。
しかしながら従来の技術では、訂正しないまま放置した場合には、所望のステートにならず、そして正常に戻ることのないまま、望ましくないステートから別の望ましくないステートにサイクルすることがある。システムをリセットして、プレロードした”シード”ステートをシステムに導入すことは可能である。しかしながら、これは時間的にみてコストのかかる提案であり、また何らかの原因で最初の”シード”ステートが不正確である場合には、誤りが発生することになる。電磁パルスが、回路内のステートを正しくないステートまたはシーケンスに変化させることもある。余分な時間を浪費し、また回路領域も圧迫するため、この正しくないステートまたはシーケンスは除かれるべきであり、また、システムのリセット信号を発行することも時間の浪費である。
そのため、従来技術に関連する課題の少なくとも一部を解決するべく、状態遷移をある回数行った後には、所望のステートがくることを保証する必要がある。
本発明は、ステート回路に関するものである。このステート回路において、第2のフリップフロップが第1のフリップフロップに接続され、ステート訂正回路が、第2のフリップフロップの出力に接続され、第3のフリップフロップが、ステート訂正回路の出力に接続され、第4のフリップフロップが、第3のフリップフロップの出力に接続される。
また本発明は、ステート訂正に関する技術を提供する。ステート回路における第1の値が、第1のフリップフロップから受け取られる。受け取られた値は、第2のフリップフロップに送られる。エラー状況が発生している場合、第2のフリップフロップ内で受け取られた値は変更もしくは反転される。受け取られた値は、第3のフリップフロップに送られる。一つの態様において、第3のフリップフロップに送られる値は、変更もしくは反転されない値を含んでいる。別の態様において、第3のフリップフロップに送られる値は、変更もしくは反転された値を含んでいる。
上記課題を解決するために、本発明のある態様のステート回路は、第1フリップフロップと、第1フリップフロップに接続する第2フリップフロップと、第2フリップフロップの出力に接続するステート訂正回路と、ステート訂正回路の出力に接続する第3フリップフロップと、第3フリップフロップの出力に接続する第4フリップフロップとを備える。
ステート訂正回路は、当該ステート回路が所定のステートにあるときに、第2フリップフロップの出力を反転するように構成されていてもよい。
当該ステート回路は、6分周訂正回路であってもよい。また当該ステート回路は、8分周訂正回路であってもよい。少なくとも1つのフリップフロップは、D型フリップフロップであってもよい。第1フリップフロップは、当該ステート回路の別のフリップフロップからの出力を受け取るように構成されていてもよい。第4フリップフロップの出力が、第1フリップフロップの入力に接続されてもよい。
本発明の別の態様は、コンピュータプログラム製品である。このコンピュータプログラム製品は、ステート訂正を行うためのコンピュータプログラム製品であって、当該コンピュータプログラム製品は、コンピュータプログラムを記憶した媒体を有し、コンピュータプログラムは、第1フリップフロップをイネーブルにするコンピュータコードと、第2フリップフロップを第1フリップフロップに接続させるコンピュータコードと、ステート訂正回路を第2フリップフロップの出力に接続させるコンピュータコードと、第3フリップフロップをステート訂正回路の出力に接続させるコンピュータコードと、第4フリップフロップを第3フリップフロップの出力に接続させるコンピュータコードとを有する。
本発明のさらに別の態様は、プロセッサである。このプロセッサは、コンピュータプログラムを含んだステート訂正を行うプロセッサであって、コンピュータプログラムは、第1フリップフロップをイネーブルにするコンピュータコードと、第2フリップフロップを第1フリップフロップに接続させるコンピュータコードと、ステート訂正回路を第2フリップフロップの出力に接続させるコンピュータコードと、第3フリップフロップをステート訂正回路の出力に接続させるコンピュータコードと、第4フリップフロップを第3フリップフロップの出力に接続させるコンピュータコードとを有する。
また、上記課題を解決するために、本発明の別の態様は、第1フリップフロップと、第1フリップフロップに接続する第2フリップフロップと、第2フリップフロップに接続する第3フリップフロップとを備え、第2フリップフロップは、第2フリップフロップの入力を、エラー信号の要素として、第2フリップフロップの出力に伝達するように構成されているステート回路を提供する。
当該ステート回路は、6分周訂正回路であってもよい。また当該ステート回路は、8分周訂正回路であってもよい。少なくとも1つのフリップフロップは、D型フリップフロップであってもよい。エラー信号は、OR(論理和)回路により生成されてもよい。このOR回路は、定められた少なくとも1つの妥当でないステートに対して、ネガティブに遷移、例えばハイからローに遷移してもよい。第1フリップフロップは、当該ステート回路の別のフリップフロップからの出力を受け取るように構成されてもよい。
ステート回路は、第3フリップフロップの出力に接続する第4フリップフロップをさらに備え、第4フリップフロップの出力が、第1フリップフロップの入力に接続されてもよい。またフリップフロップは複数のラッチを有し、複数のラッチの少なくとも1つが、エラー信号を受け取るXOR(排他的論理和)回路に接続されたクロック入力を有してもよい。
本発明のさらに別の態様は、ステート訂正を行う方法であって、ステート回路における第1のフリップフロップから第1の値を受け取るステップと、受け取った値を、第2のフリップフロップに送るステップと、エラー状況が発生している場合に、第2のフリップフロップ内で受け取られた値を変更するステップと、受け取られた値を第3のフリップフロップに送るステップとを備える。受け取られた値を第3のフリップフロップに送るステップは、受け取られた値を変更せずに送ってもよい。また受け取られた値を第3のフリップフロップに送るステップは、受け取られた値を変更して送ってもよい。
本発明のさらに別の態様は、ステート訂正を行うためのコンピュータプログラム製品であって、当該コンピュータプログラム製品は、コンピュータプログラムを記憶した媒体を有し、コンピュータプログラムは、ステート回路における第1のフリップフロップから第1の値を受け取らせるコンピュータコードと、受け取らせた値を、第2のフリップフロップに送らせるコンピュータコードと、エラー状況が発生している場合に、第2のフリップフロップ内で受け取らせた値を変更させるコンピュータコードと、変更させた値を第3のフリップフロップに送らせるコンピュータコードとを有するコンピュータプログラム製品に関する。
本発明のさらに別の態様は、コンピュータプログラムを含んだステート訂正を行うプロセッサであって、コンピュータプログラムは、ステート回路における第1のフリップフロップから第1の値を受け取らせるコンピュータコードと、受け取らせた値を、第2のフリップフロップに送らせるコンピュータコードと、エラー状況が発生している場合に、第2のフリップフロップ内で受け取らせた値を変更させるコンピュータコードと、変更させた値を第3のフリップフロップに送らせるコンピュータコードとを有するプロセッサに関する。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明の理解および本発明の利点を完全なものとするために、添付図面に関連して、以下の詳細な説明を行う。
本発明の理解のために、以下にいくつかの特定の詳細例について説明するが、当業者であればこうした特定の詳細例がなくとも、本発明を実施することができる。いくつかの例では、本発明を不必要に詳細に説明することによってその主旨が不明確にならないよう、周知の構成は簡単な回路図またはブロック図で表している。さらに、本発明を十分理解するために必要ではないと思われる範囲で、以下の説明の大半において、ネットワーク通信、電磁的な信号生成技術その他について省略している。これらの詳細は、当業者には十分に理解できるところである。
本明細書において、処理ユニット(PU)は、デバイスにおける単独の演算処理プロセッサとして構成されてもよい。その場合、PUは、典型的にはMPU(メインプロセッシングユニット)と称される。また処理ユニットは、任意の演算処理デバイス用に開発された何らかの方法論ないしはアルゴリズムにしたがって演算処理負荷を共有する複数の処理ユニットの1つであってもよい。本明細書においては、特に示さない限り、プロセッサを示すものとして、用語「MPU」を使用し、MPUがデバイスにおいて単独の演算処理部として機能するか、または他のMPUとともに演算処理部として機能するかは問わない。
特に示さない限り、以下の全ての機能はハードウェアまたはソフトウェアにより、さらにはそれらの組み合わせにより実施することができる。しかし、いくつかの好ましい実施形態においては、特に断らない限り、それらの機能はコンピュータプログラムやソフトウェアなどのコードにしたがって動作するコンピュータや電子データプロセッサなどのプロセッサ、またはそれらの機能を実行するようコーディングされた集積回路の少なくとも一方ないしは両方により実行される。
図1は、許容されるステートと許容されないステートを含んだ8分周(ディバイド)ステートフロー(状態遷移)図である。図1において、特別に定められたステートまたは一連の複数のステートが生じた後、許容されないステートフローが許容されるステートフローに遷移する。一般に、図1において、例えば00110011や00110000などの、特別に定められた許可されないステートが検出されると、高周波分周(ディバイダ)回路内で値を内部的に変化させ、これにより従来の技術では00011001または10011000となっていた内部Dラッチのステートを、00000001や10000000などの所望のステートに変化させる。
例えば、図1において、電源投入時に01100111という望ましくないステートが発生した場合について説明する。(右シフトして、最右ビットからシフトされたビット値を反転し、反転したビット値を最左ビットに回り込ませる)回路の内部ロジックによると、ステートは00110011となり、2つめの許容されないステートとなる。同様のロジックにより、続くステートは00011001となる。しかしながら、図1に示す遷移図は、この問題を解決する。
図2は、6分周ステートフローを示す。特別に定められたステートが生じた後、許容されないステートフローが許容されるステートフローに遷移する。図2において、特別に定められた許容されないステートが001100として検出されると、回路は、許容されないステートである100110に遷移するのではなく、許容されるステート100000に遷移する。
図3は、8分周ステート回路を示す。D型フリップフロップ(DFF)1_215が、クロック信号をクロック源235からC入力に入力させる。DFF1_215のQ出力(q1信号ステート)は、DFF2_220のD入力に接続される。DFF1_220のQ出力(q2信号ステート)は、DFF3_225のD入力に接続される。DFF3_225のQ出力(q3信号ステート)は、DFF4_230のD入力に接続される。DFF4_230の反転されたQ出力(q4信号ステート)は、DFF1_215のD入力に接続される。
DFF1_215、DFF2_220、DFF3_225、DFF4_230のQステートは、論理演算子210に接続される。論理演算子210は、DFF2_220のゲートに接続される。別の実施例においては、フリップフロップ215、220および225のみが使用される。ゲートメモリ205は、時間遅延を導入するために利用されてもよい。そうでない場合、実質的に同時にフィードバックすることに問題が発生するかもしれず、ロジックステートが収束せずに、エラー状況が生じる可能性がある。この構成は、図1に示すように、所望でないステートから所望のステートへの状態遷移を可能とする。
図4は、DFF1_215、DFF3_225、DFF4_230などの従来のDフリップフロップの内部構成300を示す。このDフリップフロップにおいて、データ入力用の入力1(D)とクロック入力用の入力2(C)の2つの入力が設けられる。フリップフロップは、メモリデバイスとしての用途を有している。フリップフロップDFF3_225は、2つの異なるラッチ310と320を備えて構成される。
当業者に理解されるように、フリップフロップはクロック信号によりイネーブルにされると、入力端子における信号データの状態(ステート)を、データ出力すなわちQラインに出力する。しかしながら、フリップフロップがクロック信号によりディスエーブルにされると、D端子における入力値は出力端子に伝えられず、前回記憶されたD値が、D入力の出力となる。
図4において、例えばDFF1_215に関して、2つのDラッチ、すなわちラッチ310とラッチ320とが直列に接続される。D端子の入力値が1であり、クロック値がイネーブルであるとき、qint1の値はD値と同じであり、またqintbの値はqint1の反転値となる。しかしながら、NOT論理演算子330により、2つめのDラッチ320はディスエーブルにされる。このことは、qint値がこの回路において何であろうとも、その前のqint値がQ値としての出力となることを意味している。換言すると、クロックが”ハイ”である間、DFF1_215の出力は変化することができず、前回のステートを記憶しておき、出力する。
しかしながら、例えば次のクロックパルスにおいて、入力されるクロックパルスが”ロー”になったとする。入力されたデータは、データ入力端子からこのフリップフロップのQ端子すなわちqint出力には伝わらず、前回のクロックサイクルにおけるqint値が、最初のDラッチ310により保持される。しかしながら、第2のフリップフロップにおいては、入力されるクロック値が”ハイ”に反転されるため、第2のフリップフロップは、qint値を、その出力Qに伝える。図4において、出力Qは、符号3で示している。したがって、DFF1_215が出力ステートを変化させるためには、少なくとも1回の完全なクロックサイクルを要し、交互に変化するクロックサイクルから、入力データのステートが受け入れられることになる。
図3に戻って、このことは、例えば値00000011を本システムにおいて使用できることを意味している。次のクロックサイクルで、この値は00000001となる。既述したように、アンダーラインを付していない内部ステート(qint1、qint2、qint3)などと、アンダーラインを付したステートq1、q2、q3などが存在している。DFF4_230の出力端子で反転が生じ、DFF1_215のD端子へのデータとしてフィードバックされるために、ステートが変化する。図1において所望ステートへの遷移として示されるように、ステートは本システムにおいて段階的に変化する。これは、最終段のフリップフロップが出力値を反転して、反転した値を入力に転送しているためである。
しかしながら、所望でないステートが発生すると、システム200は以下のように動作する。例えば、従来の8分周システムが最初のステートを01100111として起動した場合、従来のシステムは、同じく妥当でないステートである00110011に遷移する。このとき、何の訂正もしなければ、このステートは、続いて00011001に遷移する。
しかしながら、図3に示すロジックは、許容されない00011001ではなく、許容されるステートである00000001に遷移するように構成される。図3において、ステート00xxxxxxの第2ビットが、このステートにおいて続く3つのビットをオーバライトするために用いられ、したがって00000xxxとなる。同様に、妥当でないステートである00110000は、10011000ではなく、10000000に遷移する。換言すると、図1に示されるように、第1の出力ステート(q1)が、q2内部ステート(qint2)、q2出力ステート(q2)、q3内部ステート(qint3)となる。
本システム200は、以下に示すように、妥当でないステートを検出できる。出力q1、q2(の反転値)およびq3は、OR210に入力される。xxxxxxxx(xは変数)が値x0x1x0xxをとるとき、ORゲートの出力はネガティブとなり、出力invalidbはローになって、許容されないステートから許容されるステートへの遷移がイネーブルとされる。図1において、この遷移は、00110011と00110000の両方で起こり、またこの2つのステートのときに、所望のステートへの遷移が発生する。
図5は、論理演算子210が特定のエラーステートの状況を検出したときにステートの遷移を実行するフリップフロップであるDFF220の内部構成400を示し、DFF220はラッチ410、420を有している。図4のNOT論理演算子(インバータ)330は、XOR430に置き換えられている。当業者に知られているように、XORは、両方の入力値が異なるときにトルー(真)値(値1)を出力し、両方の入力値が等しいときに、フォルス値(値0)を出力する。図3において、このことは、特定の予め定められた許容されないステートに対して、OR210の出力が0であり、また許容されたステートないしは予め定められていない許容されないステートに対しては、OR210の出力が1であることを意味している。OR出力は、DFF2_220フリップフロップの”ゲート”値となる。
図5において、ORゲート210により出力されたゲート値が1であって、入力されたC値が1であるとき、出力値は0となる。これは、フリップフロップ220が従来のフリップフロップと同様のふるまいを示すことを意味しており、XORは、インバータとして機能する。同様に、ゲート値が1であり、C入力値が0であるとき、出力値は1となる。これは、XOR論理演算子430がC値に対して、インバータとして機能することを意味している。
図5において、ゲート値が0であり、C入力値が1であるとき、XOR出力値は1となる。これは、フリップフロップ220が従来のフリップフロップとは異なるように動作し、Dに対して同一の値が、Dラッチ1とDラッチ2の両方に伝わっていることを意味する。同様に、ゲート値が0であり、C入力値が0であるとき、XOR出力値は0となる。XORの出力はDラッチ2_420に対してC入力として送られ、Dラッチ1およびDラッチ2において前回のステートが保持される。
換言すると、OR210の出力、すなわちXOR430へのゲート入力が0であるとき、Dラッチ1_410およびDラッチ2_420の両方は、DFF2_220の内部で同一のクロック値を共有することになる。図3において、図5のゲート3の入力が0であるとき、ネガティブなクロックパルスに対してqintの値は変化しない。しかしながら、従来技術とは異なり、Q出力値も同様に変化しない。そのため、qintおよびq値は両方ともロックされ、これは図4とは異なり、Q出力値は変化しない。
さらに、入力クロックパルスがポジティブであり、ゲート入力が0であるとき、入力されたD値は、ラッチ410、420の双方に伝達され、qint2を通って、それからQから出力される。また、ポジティブなクロックステートがDFF3_225に入力されるため、3つめのフリップフロップqint(q3int)がq2と等しくなる。換言すると、D値がQとなり、これは従来の技術では実現しなかったことである。
言い換えると、ゲート値が0であり、ポジティブなクロックサイクルに対して、q1値がqint2値、q2出力値、およびq3int値に伝達される。図1において、このことは、 00110000が、許容されないステートである10011000となる代わりに、10000000となる。これにより、所望でないステートから所望のステートに強制的に変化させることができる。同様に、q1値が伝達されて、q3intまで複製することにより、従来では00110011のステートの後には00011001となっていたところを、00000001に変化させる。
図6は、分周回路500の変形例を示す。D型フリップフロップ(DFF)1_510は、クロック信号を、そのC入力端子に入力させる。DFF1_510のQ出力(q1信号ステート)は、DFF2_520のD入力に接続される。DFF2_520のQ出力(Q2B信号ステート)は、回路550に接続される。回路550の出力は、DFF3_530のD入力に接続される。DFF3_530のQ出力(q3信号ステート)は、DFF4_540のD入力に接続される。出力q1、q2、q3、q4は、セレクタ512、522、532、542のそれぞれにより選択され、これにより回路500を、2分周、4分周、6分周または8分周の訂正回路として構成できる。
分周器訂正回路550は、DFF2_520の反転された出力(qb2)と、DFF3_530へのデータ入力の間に接続される。当業者に理解されるように、CMOS回路のドレイン−ソース間の電圧は、CMOSがターンオンまたはオフされる場合、ソースに接続したノードとドレイン間の電位差の関数である。訂正回路550は、以下の真理値表に対応するロジックの一つの例である。
Figure 0004114722
この真理値表において、q1b(DFF1_510の反転出力)と、q2b(DFF2_520の反転出力)と、q3b(DFF3_530の反転出力)が利用される。図6において、回路550は、反転出力q2bと、D3へのデータ入力との間に接続される。これにより、D3new値を生成できる。回路550は、以下のように動作する。
本システム500において、q1b(反転値)、q2b(反転値)、q3b(反転値)が、回路550に入力される。q1bが0であるとき、D3newはq2bの逆の値に等しくなる。q3またはq3bのステートは、上記した真理値表の要素ではない。
しかしながら、q1bが1であり、q2bが0であり、q3bが0であるとき、D3newは1に等しくセットされる。したがって、エラー訂正が実現される。
さらに、複数の所望のステートの中で、所望でないステートにスキップするものは存在しない。例えば、q1およびq3が所望のステートにおいて0に等しい場合、これはx0xxx0xxとなる。図6の真理値表の定義によると、これは、x0x0x0xxまたはx0x1x0xxとなる。言い換えると、q1およびq2が0である場合、q2は自動的に0となり、したがって、問題を発生するステートが存在していない。
当業者に理解されるように、CMOS回路のドレイン−ソース間の電圧は、回路全体の機能の関数であり、回路がターンオンまたはオフされる。訂正回路550において、示した真理値表に対応するロジックは1つの例である。真理値表は2つの状況を表現し、そこではq1がD2newと異なる。
システム500において、q1b(反転)値とq3b(反転)値とが使用されており、q1bがD3newと等しくなるときに、ステートの実際の変化が発生する。これは、q1が0であり、q3が0のときである。そのため、次の値も0になってから、次段のフリップフロップに入力し、q3とqint3の両方が1ではなく、q1の値である0となる。図1において、このことは、00011001が00000001になること、また10011000が10000000になることと相互に関係がある。言い換えると、q1およびq3の出力値が1であるとき、q3intは0となる。
さらに、複数の所望のステートの中で、所望でないステートにスキップするものは存在しない。例えば、q1およびq3が所望のステートにおいて0に等しい場合、これはx0xxx0xxとなる。図6の真理値表の定義によると、これは、x0x0x0xxとなる。このグラフにおいて実行されるタイプの周波数分割によると、q1およびq3が0であれば、所望のステートにおいてq2が0でなければならない。そのため、問題を発生するステートがない。
図7は、本ダイアグラムの動作をシミュレートした波形図を示す。図示されるように、q1からq4の波形が正常でないステートにて開始した場合であっても、いくつかのクロックが遷移した後、1sおよび0sの正常なシーケンスに遷移する。
本発明は、いろいろな形式や実施の形態を取りうる。したがって、本発明の精神や範囲から逸脱することなく、既述した技術において種々の変形技術が存在する。ここで説明した技術的可能性の延長として、さまざまなプログラミングモデルの可能性がある。しかしながら、本開示はいずれか特定のプログラミングモデルを好んで採用するように読まれるべきではなく、そうしたプログラミングモデルが構築される基本構造を指向しているものと理解されるべきである。
以上、本発明をいくつかの好ましい実施の形態をもとに説明した。これらの実施の形態は、本来発明の内容を例示するものであって、限定するものではない。また、以上の開示内容から、変形例、修正例、変更または置換が考えられ、またいくつかの実施例においては、本発明のいくつかの構成要素が対応する他の構成要素を使用することなく実現可能であることも理解されるところである。そうした多くの変形例や修正例は、好ましい実施の形態の説明に鑑み、当業者によってなされることは望まれるところである。したがって、添付の特許請求の範囲は、広くかつ本発明の範囲と一貫する方法で解釈されるべきである。
許容されるステートと許容されないステートを含んだ8分周ステートフローを示す図である。 許容されるステートと許容されないステートを含んだ6分周ステートフローを示す図である。 ステート訂正を伴う8分周ステートフロー訂正回路を示す図である。 従来のDフリップフロップを示す図である。 誤り訂正を行うDフリップフロップを示す図である。 分周回路の変形例を示す図である。 図3のフリップフロップの外部ステートおよび内部ステートの様々なタイイングチャートを示す図である。
符号の説明
215・・・DFF1、220・・・DFF2、225・・・DFF3、230・・・DFF4

Claims (7)

  1. フィードバック信号およびクロック信号を受け取り、受け取ったフィードバック信号およびクロック信号に基づいて、第1出力信号を生成する第1フリップフロップと、
    第1出力信号およびクロック信号と、エラーステートを示すエラー信号を受け取り、受け取ったクロック信号およびエラー信号に基づいて内部クロック信号を生成し、第1出力信号、クロック信号および内部クロック信号に基づいて第2出力信号を生成する第2フリップフロップと、
    第2出力信号およびクロック信号を受け取り、受け取った第2出力信号およびクロック信号に基づいて第3出力信号を生成する第3フリップフロップと、を備え、
    エラー信号は、第1出力信号、第2出力信号を反転した第2反転出力信号および第3出力信号をもとに生成され、
    クロック信号の周波数よりも低い周波数をもつ出力信号を生成することを特徴とするステート回路。
  2. エラー信号は、OR回路により生成されることを特徴とする請求項に記載のステート回路。
  3. OR回路は、定められた少なくとも1つの妥当でないステートに対して、ローレベルのエラー信号を生成することを特徴とする請求項に記載のステート回路。
  4. 第3出力信号およびクロック信号を受け取り、受け取った第3出力信号およびクロック信号に基づいてフィードバック信号を生成する第4フリップフロップをさらに備えることを特徴とする請求項1から3のいずれかに記載のステート回路。
  5. 第1フリップフロップ、第2フリップフロップおよび第3フリップフロップは、複数のラッチを有することを特徴とする請求項1から4のいずれかに記載のステート回路。
  6. エラー信号を受け取り、エラー信号を時間遅延させるメモリをさらに備え、
    第2フリップフロップは、第1出力信号、クロック信号および時間遅延されたエラー信号を受け取り、第2出力信号を生成することを特徴とする請求項1から5のいずれかに記載のステート回路。
  7. 第2フリップフロップは、クロック信号およびエラー信号を受け取り、内部クロック信号を生成する排他的OR回路を有することを特徴とする請求項1から6のいずれかに記載のステート回路。
JP2005148140A 2004-05-20 2005-05-20 ステート回路 Expired - Fee Related JP4114722B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/850,402 US7061284B2 (en) 2004-05-20 2004-05-20 High frequency divider state correction circuit with data path correction
US10/850,400 US7119587B2 (en) 2004-05-20 2004-05-20 High frequency divider state correction circuit

Publications (2)

Publication Number Publication Date
JP2005333652A JP2005333652A (ja) 2005-12-02
JP4114722B2 true JP4114722B2 (ja) 2008-07-09

Family

ID=34968281

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005148140A Expired - Fee Related JP4114722B2 (ja) 2004-05-20 2005-05-20 ステート回路

Country Status (2)

Country Link
JP (1) JP4114722B2 (ja)
WO (1) WO2005114842A1 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3530284A (en) * 1968-03-25 1970-09-22 Sperry Rand Corp Shift counter having false mode suppression
NL8800390A (nl) * 1988-02-17 1989-09-18 Philips Nv Tellerschakeling met foutendetectie, alsmede schakeling bevattende zo een tellerschakeling.
JP2002246895A (ja) * 2001-02-16 2002-08-30 Mitsubishi Electric Corp カウンタ回路

Also Published As

Publication number Publication date
JP2005333652A (ja) 2005-12-02
WO2005114842A1 (en) 2005-12-01

Similar Documents

Publication Publication Date Title
JP5522050B2 (ja) クロック分周回路、クロック分配回路、クロック分周方法及びクロック分配方法
US7652517B2 (en) Method and apparatus for generating synchronous clock signals from a common clock signal
US8675810B2 (en) Programmable low power multi-modulus divider with 50/50 duty cycle
US8786347B1 (en) Delay circuits for simulating delays based on a single cycle of a clock signal
JP2007200293A (ja) 情報処理システムにおいてデジタル信号をx.5で除算するための方法及び装置
US9552328B2 (en) Reconfigurable integrated circuit device
CN110569038B (zh) 随机验证参数设计方法、装置、计算机设备及存储介质
JP4114722B2 (ja) ステート回路
US7760843B2 (en) High frequency divider state correction circuit
CN1842964B (zh) 高频分频器状态纠正
JP2012161061A (ja) デジタルフィルタ回路
RU82888U1 (ru) Микропрограммный автомат
US7200173B2 (en) Method and apparatus for generating a distortionless pulse width modulated waveform
Carvalho et al. Enhancing I2C robustness to soft errors
WO2015068207A1 (ja) プログラマブルデバイス
US9564904B2 (en) Asynchronous high-speed programmable divider
US6581084B1 (en) Circuit for multiplication in a Galois field
US11934799B2 (en) Combinatorial logic circuits with feedback
US6856172B1 (en) Sequential logic circuit for frequency division
CN105703745A (zh) 一种时钟状态指示电路及方法
JP2814978B2 (ja) フレーム同期回路
KR100418574B1 (ko) 로드가능 업/다운 카운터 회로
IL118203A (en) Precision time of day counting system
WO2020005223A1 (en) Spectrally efficient digital logic
CN111010880A (zh) 随机数发生器的建模方法、装置、介质及随机数发生器

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060914

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070306

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070911

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071112

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: 20080408

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080408

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

Free format text: PAYMENT UNTIL: 20110425

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: 20110425

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120425

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130425

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees