(57)【特許請求の範囲】
【請求項１】
第１のイネーブル状態と、第２のディスエーブル状態とを有し、前記第２のディスエーブル状態にあるときにトライステート状態に置かれ、第２のフリップフロップに結合している第１のフリップフロップと；
第１のディスエーブル状態と、第２のイネーブル状態とを有し、前記第１のディスエーブル状態にあるときにトライステート状態に置かれる第２のフリップフロップとを具備し、前記第１の状態では、前記第１のフリップフロップからのデータが前記第２のフリップフロップに渡され、前記第２の状態では、前記第２のフリップフロップからのデータが前記第１のフリップフロップに渡される論理素子。
【請求項２】
第１の出力ノードと、第２の出力ノードとを含み、前記第２の出力ノードは第１の出力ノードに相補出力信号を供給する第１のフリップフロップと；
第３の出力ノードと、第４の出力ノードとを含み、前記第４の出力ノードは第３の出力ノードに相補出力信号を供給する第２のフリップフロップと；
第１の制御信号が第１の状態にあるときに第３の出力ノードを前記第１の出力ノードに接続し、前記第１の制御信号が第２の状態にあるときには第３の出力ノードを前記第１の出力ノードから遮断する第１のパスゲートと；
前記第１の制御信号が前記第２の状態にあるときに第３の出力ノードを前記第２の出力ノードに接続し、前記第１の制御信号が前記第１の状態にあるときには前記第３の出力ノードを前記第２の出力ノードから遮断する第２のパスゲートと；
第１の制御信号が第１の状態にあるときに第３の出力ノードを前記第１の出力ノードに接続し、前記第２の制御信号が第２の状態にあるときには第３の出力ノードを前記第１の出力ノードから遮断する第３のパスゲートと；
前記第１の制御信号が前記第２の状態にあるときに第３の出力ノードを前記第２の出力ノードに接続し、前記第１の制御信号が前記第１の状態にあるときには前記第３の出力ノードを前記第２の出力ノードから遮断する第４のパスゲートとを具備するセレクタ回路。
【請求項３】
第１の状態では電源に結合され、第２の状態では前記電源から遮断される第１のフリップフロップと；
パスゲートを介して前記第１のフリップフロップに結合し、前記第１の状態では前記電源から遮断され、前記第２の状態では前記電源に結合される第２のフリップフロップと
を具備するセレクタ回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は論理回路に関し、特に、事象論理回路と共に使用する改良されたセレクタ回路に関する。
【０００２】
【従来の技術】
コンピュータシステム内部で情報を搬送するための周知の技法の１つが事象の概念である。「遷移信号方式」規約では、事象は通常は信号の状態の変化から構成されている。システムが事象の伝送のために単一の導体を使用する場合、導体の状態が変化して、事象を指示する。導体の状態は先の状態から上がるか又は下がるかのいずれかである。その結果として発生する立上がり端又は立下がり端が事象の発生を指示する。たとえば、導体は最初に０ボルトのような低電位にあったとする。その後、電位源を導体に切替え自在に結合すると、導体の電位は、事象を報告する異なる電位に変化する。電位源が遮断されると、導体は０ボルト状態に戻り、別の事象を報知する。立上がり端と立下がり端はいずれも事象の発生を指示する。
【０００３】
多くのデジタルシステムにおいては、制御信号の状態に従って事象を入力ノードから２つ（以上）の出力ノードの中の１つへ向けるためにセレクタ回路を使用している。たとえば、セレクタ回路の入力端子に現れた事象を、同様にセレクタ回路に供給される２進制御信号の状態に従って、セレクタ回路の２つの出力端子のいずれか一方へ向けることができる。制御信号が真であれば、セレクタ回路に入力した事象は一方の端子に出力事象を発生させ、制御信号が偽である場合には、入力事象は別の端子に出力事象を発生させる。
【０００４】
セレクタ回路の一般的な機能性は良く知られている。たとえば、ワシントン大学の以前の研究、「Ｍａｃｒｏｍｏｄｕｌａｒ  Ｃｏｍｐｕｔｅｒ  Ｄｅｓｉｇｎ，第１部、Ｄｅｖｅｌｏｐｍｅｎｔ  ｏｆ  Ｍａｃｒｏｍｏｄｕｌｅｓ」第II巻、Ａ  Ｍａｃｒｏｍｏｄｕｌｅ  Ｕｓｅｒ’ｓ  Ｍａｎｕａｌ，２８ページ；「Ｍａｃｒｏｍｏｄｕｌａｒ  Ｃｏｍｐｕｔｅｒ  Ｄｅｓｉｇｎ，第２部，Ｍａｎｕｆａｃｔｕｒｉｎｇ  Ｄｅｓｃｒｉｐｔｉｏｎ」第 Ｖ巻，Ｌｏｇｉｃ  Ｄｒａｗｉｎｇｓ，２０４．１０Ｄ３ページを参照。これらは、共にＡＲＰＡとミズーリ州セントルイスのワシントン大学コンピュータシステムズラボラトリとの間の契約ＳＤ−３０２のファイナルレポート（１９７４年２月）の一部である。
【０００５】
【発明が解決しようとする課題】
本発明は、特に事象論理回路に有用な改良されたセレクタ回路を提供する。
【０００６】
【課題を解決するための手段】
本発明は高性能セレクタ回路を提供する。セレクタ回路はデジタルシステム、特に事象論理を採用するデジタルシステムで使用される論理素子である。本発明は多くの種類のデジタル回路やデジタルシステム、たとえば、コンピュータシステム又はマイクロプロセッサで使用することができる。
【０００７】
本発明のセレクタ回路は、単一の入力端子からの事象をセレクタを制御するデータ信号の２進値に従って２つの出力端子のいずれか一方へ急速に指向させる。動作中、事象は事象入力端子で受信される。制御端子に印加される選択値は、セレクタ回路に事象を出力端子の１つへ指向させる。事象、入力端子の値が変化するたびに、出力ノードのいずれか一方が変化する。どの出力が変化するかは、制御端子に印加される選択値によって決まる。本発明のセレクタ回路は事象入力の状態、すなわち、立上がり入力事象であるか又は立下がり入力事象であるかにかかわらず同じように動作するので、このセレクタ回路は対称である。さらに、本発明の回路は、入力端子に事象が存在していないときには、選択値の状態の変化を感知しない。
【０００８】
本発明のセレクタ回路は、好ましくは同一である２つのフリップフロップを含む。制御端子の状態に従って、２つのフリップフロップのいずれか一方がイネーブルされ、他方のフリップフロップはディスエーブルされる。ディスエーブルされたフリップフロップはトライステートモードに置かれる。すなわち、このフリップフロップはその出力端子に高インピーダンスを与える。イネーブルされたフリップフロップはデータを記憶し、このデータによってディスエーブルされたフリップフロップを駆動する。セレクタ回路は、事象入力の状態に基づいてフリップフロップの出力端子を互いに結合するためのパスゲートをさらに含む。
【０００９】
本発明によれば、第１の状態でイネーブルされ、第２の状態ではディスエーブルされる第１のフリップフロップを含む論理素子が開示される。第２の状態では、第１のフリップフロップの出力端子の出力はトライステートになる。回路は、第１の状態でディスエーブルされ、第２の状態ではイネーブルされる第２のフリップフロップをさらに含む。第１の状態では、第２のフリップフロップの出力端子の出力はトライステートになる。第１の状態においては第１のフリップフロップからのデータが第２のフリップフロップに渡され、第２の状態においては、第２のフリップフロップからのデータが第１のフリップフロップに渡される。
【００１０】
セレクタ回路の第１のフリップフロップは第１のフリップフロップ反転出力端子を含んでいても良く、第２のフリップフロップは第２のフリップフロップ反転出力端子をさらに含んでいても良い。第１の状態では、第１のフリップフロップの出力端子は第２のフリップフロップの出力端子に結合し、第１のフリップフロップの反転出力端子は第２のフリップフロップの反転出力端子に結合する。第２のモードにおいては、第１のフリップフロップの出力端子は第２のフリップフロップの反転出力端子に結合し、第１のフリップフロップの反転出力端子は第２のフリップフロップの出力端子に結合する。
【００１１】
【発明の実施の形態】
図１は、デジタルシステム、特に事象論理を採用するシステムにおいて具現化できるようなセレクタ回路のブロック線図である。セレクタ１００は、制御入力信号Ｄ２２０の値に従って単一の入力端子Ａからの事象を２つ以上の出力端子Ｔ２３０及びＦ２４０のうち１つへ指向させる回路である。図１で、信号Ｄ２２０が真であれば、入力端子Ａ２１０の１つ又は複数の事象は１つ又は複数の出力事象を出力端子Ｔ２３０に発生させる。制御信号Ｄ２２０が偽であれば、入力端子Ａ２１０の事象は出力端子Ｆ２４０に出力事象を発生させる。言いかえれば、各入力事象は制御信号Ｄに基づいて２つの出力端子のいずれか一方へ指向されるということになる。
【００１２】
セレクタ１００はバンドリング（bundling）制約を有する。データ値、すなわち、制御入力又は情報信号Ｄ２２０は、事象入力端子Ａ２１０で事象が起こった時点で安定していなければならない。出力ノードのいずれか一方又は双方で部分的な変化を引き起こすと思われる不完全な選択を回避するためには、データ値は安定していなければならない。従って、ノードＤ２２０のデータ値は入力端子Ａ２１０の入力事象と「バンドリング」されるという。これは、入力端子２１０の事象はデータ値が安定しているときにのみ起こることを示唆している。この「バンドリング」は、図２の外側の回路を入力事象と、安定したセレクタ値の双方が同時に提示されるよう保証すべく設計することによって実現できる。
【００１３】
図２は、本発明のセレクタ回路１００の好ましい一実施形態の概略図である。回路は２つのフリップフロップ、すなわち、フリップフロップ３１０と、フリップフロップ３１５とを含む。この実施形態では、フリップフロップ３１０及び３１５は同一の回路である。これは、本発明のセレクタ回路１００の対称性をもたらす原因の１つとなっている。
【００１４】
フリップフロップ３１０は出力ノードＴ２３０と、出力ノード¬Ｔ３２０（Ｔ２３０の補数）とを駆動する。フリップフロップ３１５は出力ノードＦ２４０と、出力ノード¬Ｆ３２５（Ｆ２４０の補数）とを駆動する。通常の動作中には、信号Ｄ２２０及び信号¬Ｄ３３０（Ｄ２２０の補数）の状態に従って、一方のフリップフロップはイネーブル（給電）され、他方のフリップフロップはディスエーブルされる（給電されない）。詳細にいえば、Ｄ２２０が論理値ハイであるときは、フリップフロップ３１５がイネーブルされ、フリップフロップ３１０はディスエーブルされる。Ｄ２２０が論理値ローであるときには、フリップフロップ３１０がイネーブルされ、フリップフロップ３１５はディスエーブルされる。イネーブルされると、フリップフロップは論理状態を記憶する。フリップフロップがディスエーブルされたときには、フリップフロップの出力端子はトライステートになる。しかしながら、ディスエーブルされたフリップフロップに新たなデータを記憶しても良い。この新たなデータは、イネーブルされたフリップフロップから得られても良い。
【００１５】
フリップフロップ３１０の上側は、それぞれ２個ずつの直列に接続されたＰＭＯＳトランジスタから成る２つの並列に接続されたトランジスタスタックから構成されている。一方のＰＭＯＳスタックは第１の電位源１０と、ノードＴ２３０との間に結合している。第１の電位源１０は通常はＶＤＤ（又はＶＣＣ）である。ＶＤＤは一般に約５ボルトであるが、３．３ボルトや、他の電圧を利用することも可能である。第１の電位源１０は、システムのＶＤＤとは別の「局所」ＶＤＤであっても良い。このスタックのＰＭＯＳトランジスタ３４０は第１の電位源１０と、スタック中のＰＭＯＳトランジスタ３４３のソースとの間に結合している。ＰＭＯＳトランジスタ３４０のゲートはノードＤ２２０に結合している。ＰＭＯＳトランジスタ３４０と直列であるＰＭＯＳトランジスタ３４３はＰＭＯＳトランジスタ３４０のドレインと、ノードＴ２３０との間に結合している。ＰＭＯＳトランジスタ３４３のゲートはノード¬Ｔ２３０に結合している。
【００１６】
もう一方のＰＭＯＳスタックは第１の電位源１０と、ノード¬Ｔ３２０との間に結合している。このスタックのＰＭＯＳトランジスタ３４６は第１の電位源１０と、ＰＭＯＳトランジスタ３４９のソースとの間に結合している。ＰＭＯＳトランジスタ３４６のゲートはノードＤ２２０に結合している。ＰＭＯＳトランジスタ３４６と直列であるＰＭＯＳトランジスタ３４９はＰＭＯＳトランジスタ３４６のドレインと、ノード¬Ｔ３２０との間に結合している。ＰＭＯＳトランジスタ３４９のゲートはノードＴ２３０に結合している。
【００１７】
フリップフロップ３１０は、それぞれが２個ずつの直列に結合したＮＭＯＳトランジスタを含む２つの並列スタックを下側にさらに有する。一方のＮＭＯＳスタックはノードＴ２３０と、第２の電位源２０との間に結合している。第２の電位源２０は通常はＶＳＳ又は接地点である。ＶＳＳは一般にゼロボルトであると考えられる。第２の電位源２０は、システムのＶＳＳとは別の「局所」ＶＳＳであっても良い。このスタックのＮＭＯＳトランジスタ３５１は第２の電位源２０と、スタック中のＮＭＯＳトランジスタ３５４のソースとの間に結合している。ＮＭＯＳトランジスタ３５１のゲートはノード¬Ｄ３３０に結合している。ＮＭＯＳトランジスタ３５１と直列であるＮＭＯＳトランジスタ３５４はＮＭＯＳトランジスタ３５１のドレインと、ノードＴ２３０との間に結合している。ＮＭＯＳトランジスタ３５４のゲートはノード¬Ｔ３２０に結合している。
【００１８】
もう１つのＮＭＯＳトランジスタのスタックは第２の電位源２０と、ノード¬Ｔ３２０との間に結合している。このスタックのＮＭＯＳトランジスタ３５７は第２の電位源２０と、スタック中のＮＭＯＳトランジスタ３５９のソースとの間に結合している。ＮＭＯＳトランジスタ３５７のゲートはノード¬Ｄ３３０に結合している。ＮＭＯＳトランジスタ３５７と直列であるＮＭＯＳトランジスタ３５９はＮＭＯＳトランジスタ３５７のドレインと、ノード¬Ｔ３２０との間に結合している。ＮＭＯＳトランジスタ３５９のゲートはノードＴ２３０に結合している。
セレクタ１００はさらにフリップフロップ３１５を具備しているが、好ましい実施形態では、このフリップフロップ３１５は、信号入力ノード及び出力ノードを除いてフリップフロップ３１０と同一の回路である。
【００１９】
フリップフロップ３１０とフリップフロップ３１５は、４つのパスゲート３８１，３８２，３８４及び３８６を使用して互いに結合されている。好ましい実施形態においては、それら４つのパスゲートは同じである。第１のパスゲート３８１は、ノードＡ２１０が論理値ローであるときにノードＴ２３０とノードＦ２４０を結合し、ノードＡ２１０が論理値ハイであるときには、それらのノードを分離する。第２のパスゲート３８２は、ノードＡ２１０が論理値ハイであるときにノードＴ２３０とノード¬Ｆ３２５を結合し、ノードＡ２１０が論理値ローであるときには、それらのノードを分離する。第３のパスゲート３８４は、ノードＡ２１０が論理値ハイであるときにノード¬Ｔ３２０とノードＦ２４０を結合し、ノードＡ２１０が論理値ローであるときには、それらのノードを分離する。第４のパスゲート３８６は、ノードＡ２１０が論理値ローであるときにノード¬Ｔ３２０とノード¬Ｆ３２５を結合し、ノードＡ２１０が論理値ハイであるときには、それらのノードを分離する。
【００２０】
それぞれのパスゲート３８１，３８２，３８４及び３８６は周知の何らかの技法を使用して設計されていれば良い。本発明の好ましい実施形態では、パスゲートはＣＭＯＳ伝送ゲートから構成されており、１つのＮＭＯＳトランジスタ３８３が１つのＰＭＯＳトランジスタ３８５と並列に接続する構成になっている。説明の便宜上、各パスゲートはトランジスタ３８３及び３８５から構成されるものとして図示してあるが、回路を実際に具現化する場合には、各パスゲートは他のゲートとトランジスタを共有せずに、独自の１対のトランジスタから形成されることになる。パスゲート３８１の場合、ＮＭＯＳトランジスタ３８３のゲートは¬Ａ３９０入力ノード（ノードＡ２１０の補数）に結合し、ＰＭＯＳトランジスタ３８５のゲートはノードＡ２１０に結合している。その他のパスゲートも、図示するように、これと同様に構成・接続されている。
【００２１】
動作中、ノードＤ２２０及びＡ２１０は、フリップフロップ３１０及び３１５のノードＴ２３０及びＦ２４０にデータがいかにして渡されるかを制御する。ノードＤ２２０は、ノードＴ２３０又はノードＦ２４０のどちらの出力がアクティブになるかを選択する。ノードＤ２２０が論理値ハイであるとき、ノードＴ２３０は変化することもあるが、ノードＦ２４０は固定される。さらに詳細にいえば、この実施形態において、ノードＤ２２０がハイであるときは、フリップフロップ３１５は第１の電位源１０及び第２の電位源２０に結合したままであるが、フリップフロップ３１０はそれらの電位源から遮断されるので、変化することができる。ノードＴ２３０とノード¬Ｆ３２０はトライステートになる。そこで、フリップフロップ３１０にはアクティブとなっているフリップフロップ３１５に記憶されているデータをロードされても良い。入力ノードであるノードＡ２１０の信号は、出力ノードＴ２３０及びＦ２４０に互いにいかにして結合されるかを選択する。すなわち、ノードＡ２１０が論理値ローであるとき、パスゲート３８１及び３８６はノードＴ２３０をノードＦ２４０に結合すると共に、ノード¬Ｔ３２０をノード¬３２５に結合する。ノードＡ２１０が論理値ハイであるときには、パスゲート３８２及び３８４はノードＴ２３０をノード¬Ｆ３２５に結合すると共に、ノード¬Ｔ３２０をノードＦ２４０に結合する。
【００２２】
同様に、ノードＤ２２０の信号が論理値ローであるとき、ノードＴ２３０は固定されるが、ノードＦ２４０は変化できる。さらに詳細にいえば、この実施形態では、フリップフロップ３１０は第１の電位源１０及び第２の電位源２０に結合したままであるが、フリップフロップ３１５はそれらの電位源から遮断される。ノードＦ２４０とノード¬Ｆ３２５はトライステートになる。そこで、フリップフロップ３１５はアクティブとなっているフリップフロップ３１０に記憶されているデータがロードされる。さらに、ノードＡ２１０が論理値ローであるときには、パスゲート３８１及び３８６はノードＴ２３０をノードＦ２４０に結合すると共に、ノード¬Ｔ３２０をノード¬Ｆ３２５に結合する。ノードＡ２１０が論理値ハイであるときには、パスゲート３８２及び３８６はノードＴ２３０をノード¬Ｆ３２５に結合すると共に、ノード¬Ｔ３２０をノードＦ２４０に結合する。
【００２３】
以上、説明を目的として、本発明の好ましい実施形態の説明を提示した。これは本発明を余す所なく説明するものでも、本発明を上述の厳密な形態に限定するものでもなく、上記の教示に照らして改変及び変形が可能である。たとえば、以上の説明が与えられれば、多重ビット制御信号に応答して一群の出力ノードの中のどのノードに入力事象を渡すべきかを選択するという本発明の原理を使用してセレクタ回路を設計できることは理解されるであろう。
【図面の簡単な説明】
【図１】  セレクタ回路のブロック線図。
【図２】  本発明のセレクタ回路の概略図。
【符号の説明】
１００…セレクタ回路、２３０…出力ノードＴ、２４０…出力ノードＦ、３１０，３１５…フリップフロップ、３２０…出力ノード¬Ｔ、３２５…出力ノード¬Ｆ、３４０，３４３，３４６，３４９…ＰＭＯＳトランジスタ、３５１，３５４，３５７，３５９…ＮＭＯＳトランジスタ、３８１，３８２，３８４，３８６…パスゲート。
【図１】
0003869073.tif 000002
【図２】
0003869073.tif 000003