(57)【特許請求の範囲】
【請求項１】
第１、第２および第３のｎＭＯＳＦＥＴを含むバイパス・スタック；
第１、第２および第３のグループを構成するｎＭＯＳＦＥＴのブロークン・スタック；
を含む優先エンコーダであって：
前記第１のグループは、前記バイパス・スタック内の前記第１のｎＭＯＳＦＥＴのソースに結合されるソースを有するｎＭＯＳＦＥＴを含み；
前記第２のグループは、互いに直列に結合される第１および第２のｎＭＯＳＦＥＴを含み、それにおいて前記第２のグループの前記第２のｎＭＯＳＦＥＴは、前記バイパス・スタック内の前記第２のｎＭＯＳＦＥＴのソースに結合されるソースを有し；かつ、
前記第３のグループは、互いに直列に結合される第１および第２のｎＭＯＳＦＥＴを含み、それにおいて前記第３のグループの前記第２のｎＭＯＳＦＥＴは、前記バイパス・スタック内の前記第３のｎＭＯＳＦＥＴのソースに結合されるソースを有することを特徴とする優先エンコーダ。
【請求項２】
さらに：
前記第１のグループ内の前記ｎＭＯＳＦＥＴのゲート電圧がＢ１を示し；
前記第２のグループ内の前記第１のｎＭＯＳＦＥＴのゲート電圧がＢ３であり；
前記第２のグループ内の前記第２のｎＭＯＳＦＥＴのゲート電圧がＢ４であり；
前記第３のグループ内の前記第１のｎＭＯＳＦＥＴのゲート電圧がＢ６であり；
前記第３のグループ内の前記第２のｎＭＯＳＦＥＴのゲート電圧がＢ７であり；
前記バイパス・スタック内の前記第１のｎＭＯＳＦＥＴのゲート電圧が、論理積を「・」で表したブール式Ｂ０・Ｂ１であり；
前記バイパス・スタック内の前記第２のｎＭＯＳＦＥＴのゲート電圧がブール式Ｂ２・Ｂ３・Ｂ４であり；かつ、
前記バイパス・スタック内の前記第３のｎＭＯＳＦＥＴのゲート電圧がブール式Ｂ５・Ｂ６・Ｂ７であるとき；
バイナリ・ワード（Ｂ７Ｂ６．．．Ｂ０）のリーディングゼロを示す少なくとも１つの電圧を提供する出力回路を備えることを特徴とする前記請求項１記載の優先エンコーダ。
【請求項３】
さらに：
前記第１のグループ内の前記ｎＭＯＳＦＥＴのゲート電圧がＢ１であり；
前記第２のグループ内の前記第１のｎＭＯＳＦＥＴのゲート電圧がＢ３であり；
前記第２のグループ内の前記第２のｎＭＯＳＦＥＴのゲート電圧がＢ４であり；
前記第３のグループ内の前記第１のｎＭＯＳＦＥＴのゲート電圧がＢ６であり；
前記第３のグループ内の前記第２のｎＭＯＳＦＥＴのゲート電圧がＢ７であり；
前記バイパス・スタック内の前記第１のｎＭＯＳＦＥＴのゲート電圧が、論理積を「・」で表したブール式Ｂ０・Ｂ１であり；
前記バイパス・スタック内の前記第２のｎＭＯＳＦＥＴのゲート電圧がブール式Ｂ２・Ｂ３・Ｂ４であり；かつ、
前記バイパス・スタック内の前記第３のｎＭＯＳＦＥＴのゲート電圧がブール式Ｂ５・Ｂ６・Ｂ７を示すとき；
バイナリ・ワード（Ｂ７Ｂ６．．．Ｂ０）のリーディング１を示す少なくとも１つの電圧を提供する出力回路を備えることを特徴とする前記請求項１記載の優先エンコーダ。
【請求項４】
さらに：
クロック信号が第１の状態にあるとき、すべての前記ｎＭＯＳＦＥＴのドレインを「ハイ」に充電する、クロックが印加される少なくとも１つのトランジスタを備え、前記クロック信号が前記第１の状態の補数となる第２の状態にあるとき、前記ｎＭＯＳＦＥＴのそれぞれのゲートへ提供されるゲート電圧に基づいて、前記ｎＭＯＳＦＥＴのドレインの少なくとも幾つかが「ロー」に放電されることを特徴とする前記請求項１記載の優先エンコーダ。
【請求項５】
さらに：
前記クロック信号が前記第２の状態にあり；
前記第１のグループ内の前記ｎＭＯＳＦＥＴのゲート電圧がＢ１であり；
前記第２のグループ内の前記第１のｎＭＯＳＦＥＴのゲート電圧がＢ３であり；
前記第２のグループ内の前記第２のｎＭＯＳＦＥＴのゲート電圧がＢ４であり；
前記第３のグループ内の前記第１のｎＭＯＳＦＥＴのゲート電圧がＢ６であり；
前記第３のグループ内の前記第２のｎＭＯＳＦＥＴのゲート電圧がＢ７であり；
前記バイパス・スタック内の前記第１のｎＭＯＳＦＥＴのゲート電圧が、論理積を「・」で表したブール式Ｂ０・Ｂ１であり；
前記バイパス・スタック内の前記第２のｎＭＯＳＦＥＴのゲート電圧がブール式Ｂ２・Ｂ３・Ｂ４であり；かつ、
前記バイパス・スタック内の前記第３のｎＭＯＳＦＥＴのゲート電圧がブール式Ｂ５・Ｂ６・Ｂ７を示すとき；
バイナリ・ワード（Ｂ７Ｂ６．．．Ｂ０）のリーディングゼロを示す少なくとも１つの電圧を提供する出力回路を備えることを特徴とする前記請求項４記載の優先エンコーダ。
【請求項６】
さらに：
前記クロック信号が前記第２の状態にあり；
前記第１のグループ内の前記ｎＭＯＳＦＥＴのゲート電圧がＢ１であり；
前記第２のグループ内の前記第１のｎＭＯＳＦＥＴのゲート電圧がＢ３であり；
前記第２のグループ内の前記第２のｎＭＯＳＦＥＴのゲート電圧がＢ４であり；
前記第３のグループ内の前記第１のｎＭＯＳＦＥＴのゲート電圧がＢ６であり；
前記第３のグループ内の前記第２のｎＭＯＳＦＥＴのゲート電圧がＢ７であり；
前記バイパス・スタック内の前記第１のｎＭＯＳＦＥＴのゲート電圧が、論理積を「・」で表したブール式Ｂ０・Ｂ１であり；
前記バイパス・スタック内の前記第２のｎＭＯＳＦＥＴのゲート電圧がブール式Ｂ２・Ｂ３・Ｂ４であり；かつ、
前記バイパス・スタック内の前記第３のｎＭＯＳＦＥＴのゲート電圧がブール式Ｂ５・Ｂ６・Ｂ７を示すとき；
バイナリ・ワード（Ｂ７Ｂ６．．．Ｂ０）のリーディング１を示す少なくとも１つの電圧を提供する出力回路を備えることを特徴とする前記請求項４記載の優先エンコーダ。
【請求項７】
Ｎ＋１個のノードのセット｛Ｎ０，Ｎ１，．．．ＮＮ｝；
直列接続されたＫ＋１個のＩＧＦＥＴ  Ｈ［ｋ］（ｋ＝０，１，．．．Ｋ）のバイパス・スタック；および、
（Ｎ−Ｋ）のＩＧＦＥＴのブロークン・スタックであって、直列接続されたＩＧＦＥＴのＫ＋１のグループＧｋ（ｋ＝０，１，．．．Ｋ）を構成し、各Ｇｋはｎｋ−１の直列接続されたＩＧＦＥＴ  Ｇｋ［ｉ］（ｉ＝１，２，．．．（ｎｋ−１））を含むものとするブロークン・スタック；を含む優先エンコーダにおいて：
整数のセットＩ＝｛ｎ０，ｎ１，．．．ｎｋ｝およびＫが：
ｎｉ≧１
【数１】
0004394284.tif 000013
一部のｎｉについてはｎｉ＞１
を満たし；
各ｋ＝０，１，．．．Ｋ；ｉ＝１，２，．．．（ｎｋ−１）について、ＩＧＦＥＴ  Ｇｋ［ｉ］のドレインは、順序付きのｎｋ個の整数のセット
Ｉｋ＝｛Ｓｋ，（Ｓｋ＋１），．．．（Ｓｋ＋１−１）｝
のｉ番目の要素（左から右にゼロからカウントを開始する）をＩｋ［ｉ］とし、Ｉ［ｋ，ｉ］＝Ｉｋ［ｉ］とするとき、ノードＮＩ［ｋ，ｉ］に接続され、それにおいて、Ｓｋ（ｋ＝０，１，．．．Ｋ＋１）は、
【数２】
0004394284.tif 000014
を満たし；
各ｋ＝０，１，．．．Ｋについて、ＩＧＦＥＴ  Ｈ［ｋ］のドレインは、ノードＮＩ［ｋ，０］に、ＩＧＦＥＴ  Ｈ［ｋ］のソースは、ＩＧＦＥＴ  Ｇｋ［ｎｋ−１］のソースにそれぞれ接続されることを特徴とする優先エンコーダ。
【請求項８】
前記整数のセットＩは、コスト関数を最小にすることを特徴とする前記請求項７記載の優先エンコーダ。
【請求項９】
前記コスト関数は、
【数３】
0004394284.tif 000015
とすることを特徴とする前記請求項８記載の優先エンコーダ。
【請求項１０】
さらに：
各ｋ＝０，１，．．．Ｋ；ｉ＝１，２，．．．（ｎｋ−１）について、ｎＭＯＳＦＥＴ  Ｇｋ［ｉ］のゲート電圧がＢＩ［ｋ，ｉ］であり；
各ｋ＝０，１，．．．Ｋについて、ｎＭＯＳＦＥＴ  Ｈ［ｋ］のゲート電圧が
積は論理積を表すものとした
【数４】
0004394284.tif 000016
で与えられるＡｋを示すとき、Ｎ＋１ビットのバイナリ・ワード（ＢＮＢＮ−１．．．Ｂ０）のリーディングゼロを示す少なくとも１つの電圧を提供する出力回路を備えることを特徴とする前記請求項７記載の優先エンコーダ。
【請求項１１】
さらに：
各ｋ＝０，１，．．．Ｋ；ｉ＝１，２，．．．（ｎｋ−１）について、ｎＭＯＳＦＥＴ  Ｇｋ［ｉ］のゲート電圧がＢＩ［ｋ，ｉ］であり；
各ｋ＝０，１，．．．Ｋについて、ｎＭＯＳＦＥＴ  Ｈ［ｋ］のゲート電圧が
積は論理積を表すものとした
【数５】
0004394284.tif 000017
で与えられるＡｋを示すとき、Ｎ＋１ビットのバイナリ・ワード（ＢＮＢＮ−１．．．Ｂ０）のリーディング１を示す少なくとも１つの電圧を提供する出力回路を備えることを特徴とする前記請求項７記載の優先エンコーダ。
【請求項１２】
さらに：
それぞれが電圧Ｃｉ［０］を有する第１の入力および電圧Ｃｉ［１］を有する第２の入力を有するＮ個の出力回路Ｃｉ（ｉ＝０，１，．．．（Ｎ−１））であって、論理積演算を「・」で表し、論理補数演算をオーバーラインを用いて表すとき、それぞれの第１の入力がノードＮｉに接続され、その第２の入力がノードＮｉ＋１に接続されて、
【数６】
0004394284.tif 000018
を示す出力電圧を提供する出力回路Ｃｉを備えることを特徴とする前記請求項７記載の優先エンコーダ。
【請求項１３】
前記整数のセットＩは、コスト関数を最小にすることを特徴とする前記請求項１２記載の優先エンコーダ。
【請求項１４】
前記コスト関数は、
【数７】
0004394284.tif 000019
とすることを特徴とする前記請求項１３記載の優先エンコーダ。
【請求項１５】
Ｎ＋１個のノードのセット｛Ｎ０，Ｎ１，．．．ＮＮ｝；
Ｋ＋１個のトランジスタＨ［ｋ］（ｋ＝０，１，．．．Ｋ）；および、
Ｋ＋１のトランジスタのグループＧｋ（ｋ＝０，１，．．．Ｋ）であって、それぞれがｎｋ−１のトランジスタＧｋ［ｉ］（ｉ＝１，２，．．．（ｎｋ−１））を含むグループＧｋ；を含む優先エンコーダにおいて：
整数のセットＩ＝｛ｎ０，ｎ１，．．．ｎｋ｝およびＫが：
ｎｉ≧１
【数８】
0004394284.tif 000020
一部のｎｉについてはｎｉ＞１
を満たし；
各ｋ＝０，１，．．．Ｋ；ｉ＝１，２，．．．（ｎｋ−１）について、トランジスタＧｋ［ｉ］は、順序付きのｎｋ個の整数のセット
Ｉｋ＝｛Ｓｋ，（Ｓｋ＋１），．．．（Ｓｋ＋１−１）｝
のｉ番目の要素（左から右にゼロからカウントを開始する）をＩｋ［ｉ］とし、Ｉ［ｋ，ｉ］＝Ｉｋ［ｉ］とするとき、ノードＮＩ［ｋ，ｉ］に結合されて、トランジスタ｛Ｇｋ［ｊ］，ｊ＝ｉ，（ｉ＋１），．．．（ｎｋ−１）｝および｛Ｈ［ｊ］，ｊ＝（ｋ＋１），（ｋ＋２），．．．Ｋ｝がオンのとき、ノードＮＩ［ｋ，ｉ］を「ロー」にプル・ダウンし、
それにおいて、Ｓｋ（ｋ＝０，１，．．．Ｋ＋１）は、
【数９】
0004394284.tif 000021
を満たし；
各ｋ＝０，１，．．．Ｋについて、トランジスタＨ［ｋ］は、ノードＮＩ［ｋ，０］に結合されて、トランジスタ｛Ｈ［ｊ］，ｊ＝ｋ，（ｋ＋１），．．．Ｋ｝がオンのとき、ノードＮＩ［ｋ，０］を「ロー」にプル・ダウンすることを特徴とする優先エンコーダ。
【請求項１６】
前記整数のセットＩは、コスト関数を最小にすることを特徴とする前記請求項１５記載の優先エンコーダ。
【請求項１７】
前記コスト関数は、
【数１０】
0004394284.tif 000022
とすることを特徴とする前記請求項１６記載の優先エンコーダ。
【請求項１８】
さらに：
それぞれが電圧Ｃｉ［０］を有する第１の入力および電圧Ｃｉ［１］を有する第２の入力を有するＮ個の出力回路Ｃｉ（ｉ＝０，１，．．．（Ｎ−１））であって、論理積演算を「・」で表し、論理補数演算をオーバーラインを用いて表すとき、それぞれの第１の入力がノードＮｉに結合され、その第２の入力がノードＮｉ＋１に結合されて、
【数１１】
0004394284.tif 000023
を示す出力電圧を提供する出力回路Ｃｉを備えることを特徴とする前記請求項１５記載の優先エンコーダ。
【請求項１９】
前記整数のセットＩは、コスト関数を最小にすることを特徴とする前記請求項１８記載の優先エンコーダ。
【請求項２０】
前記コスト関数は、
【数１２】
0004394284.tif 000024
とすることを特徴とする前記請求項１９記載の優先エンコーダ。
【請求項２１】
さらに：
各ｋ＝０，１，．．．Ｋ；ｉ＝１，２，．．．（ｎｋ−１）について、トランジスタＧｋ［ｉ］がＢＩ［ｋ，ｉ］に応答し；
各ｋ＝０，１，．．．Ｋについて、トランジスタＨ［ｋ］が
積は論理積を表すものとした
【数１３】
0004394284.tif 000025
で与えられるＡｋに応答するとき、Ｎ＋１ビットのバイナリ・ワード（ＢＮＢＮ−１．．．Ｂ０）のリーディングゼロを示す少なくとも１つの電圧を提供する出力回路を備えることを特徴とする前記請求項１５記載の優先エンコーダ。
【請求項２２】
さらに：
各ｋ＝０，１，．．．Ｋ；ｉ＝１，２，．．．（ｎｋ−１）について、トランジスタＧｋ［ｉ］がＢＩ［ｋ，ｉ］に応答し；
各ｋ＝０，１，．．．Ｋについて、トランジスタＨ［ｋ］が
積は論理積を表すものとした
【数１４】
0004394284.tif 000026
で与えられるＡｋに応答するとき、Ｎ＋１ビットのバイナリ・ワード（ＢＮＢＮ−１．．．Ｂ０）のリーディング１を示す少なくとも１つの電圧を提供する出力回路を備えることを特徴とする前記請求項１５記載の優先エンコーダ。
【請求項２３】
前記整数のセットＩは、コスト関数を最小にし、それにおいてコスト関数は、
【数１５】
0004394284.tif 000027
とすることを特徴とする前記請求項２１記載の優先エンコーダ。
【請求項２４】
前記整数のセットＩは、コスト関数を最小にし、それにおいてコスト関数は、
【数１６】
0004394284.tif 000028
とすることを特徴とする前記請求項２２記載の優先エンコーダ。
【請求項２５】
さらに：
クロック信号が第１の状態にあるとき、セット｛Ｎ０，Ｎ１，．．．ＮＮ｝内のすべてのノードをプル・アップする、クロックが印加される少なくとも１つのトランジスタを備え、それにおいて、前記トランジスタＨ［ｋ］（ｋ＝０，１，．．．Ｋ）およびＧｋ［ｉ］（ｉ＝１，．．．（ｎｋ−１），ｋ＝０，１，．．．Ｋ）は、前記クロック信号が前記第１の状態の補となる第２の状態にあるとき、トランジスタＨ［ｋ］（ｋ＝０，１，．．．Ｋ）およびＧｋ［ｉ］（ｉ＝１，．．．（ｎｋ−１），ｋ＝０，１，．．．Ｋ）のいずれがオンであるかに基づいて、前記ノードのサブセットを「ロー」にプル・ダウンすべく前記ノードに結合されることを特徴とする前記請求項１５記載の優先エンコーダ。
【請求項２６】
さらに：
各ｉ＝０，１，．．．Ｎについて、ノードＮｉに結合され、前記トランジスタＨ［ｋ］（ｋ＝０，１，．．．Ｋ）およびＧｋ［ｉ］（ｉ＝１，．．．（ｎｋ−１），ｋ＝０，１，．．．Ｋ）がノードＮｉを「ロー」にプル・ダウンしない場合に限り、ノードＮｉを「ハイ」にプル・アップする少なくとも１つのトランジスタを備えることを特徴とする前記請求項１５記載の優先エンコーダ。
【請求項２７】
バイナリ・ワード（Ｂ７Ｂ６．．．Ｂ０）のリーディングゼロまたは１を示す少なくとも１つの電圧を提供する優先エンコーダであって：
前記バイナリ・ワード（Ｂ７Ｂ６．．．Ｂ０）の少なくとも１つのサブセットに印加される第１の論理積演算を示す少なくとも１つの電圧を提供するトランジスタのバイパス・スタック；および、
前記バイナリ・ワードのビット値の少なくとも１つの第２のサブセットに印加される第２の論理積演算を示す、少なくとも１つの電圧を提供するトランジスタのブロークン・スタック；
を含むことを特徴とする優先エンコーダ。
【請求項２８】
第１、第２および第３のｎＭＯＳＦＥＴを含むバイパス・スタック；
第１、第２および第３のグループを構成するｎＭＯＳＦＥＴのブロークン・スタック；
を含む優先エンコーダにおいて：
前記第１のグループは、前記バイパス・スタック内の前記第１のｎＭＯＳＦＥＴのソースに接続されるソースを有するｎＭＯＳＦＥＴを含み；
前記第２のグループは、互いに直列接続される第１および第２のｎＭＯＳＦＥＴを含み、それにおいて前記第２のグループの前記第２のｎＭＯＳＦＥＴは、前記バイパス・スタック内の前記第２のｎＭＯＳＦＥＴのソースに接続されるソースを有し；かつ、
前記第３のグループは、互いに直列接続される第１および第２のｎＭＯＳＦＥＴを含み、それにおいて前記第３のグループの前記第２のｎＭＯＳＦＥＴは、前記バイパス・スタック内の前記第３のｎＭＯＳＦＥＴのソースに接続されるソースを有することを特徴とする優先エンコーダ。
【発明の詳細な説明】
【０００１】
（技術分野）
本発明は回路に関し、より詳細には優先エンコーダ回路に関する。
【０００２】
（背景技術）
優先エンコーダは、バイナリ・ワードにおけるリーディング１（「１｝）またはリーディングゼロ（「０」）を示す信号を提供する。通常、優先エンコーダは、バイナリ・ワードの長さ、つまりそのビット数に等しい数の出力ラインを有し、出力ライン上の電圧がバイナリ・ワードにおけるリーディング１またはリーディングゼロを示す。たとえば、８ビットのワードにおけるリーディング１を示す優先エンコーダは、８本の出力ラインを有することになり、多くとも１本の出力ラインはロジック・ハイを示す「ハイ」電圧を有し（残りはロジック・ローを示す「ロー」電圧）、「ハイ」電圧を伴う出力ラインがリーディング１のポジションを表す。
【０００３】
優先エンコーダ回路内においては、ワードのビット値に応じて、各種のノードを「ロー」（グラウンド）電圧に引き込む直列接続されたトランジスタからなる１ないしは複数のグループ（またはスタック）を含むことがある。このトランジスタ・スタックは、ノードを「ロー」に放電（またはプル・ダウン）するためにノードとグラウンドの間に導通パスを構成する。それにより、これらのノードに接続されている出力回路は、そのワードにおけるリーディングゼロまたはリーディング１を示す必要な信号を提供することができる。
【０００４】
ドミノ（または動的）タイプの優先エンコーダ回路においては、クロック信号のプリチャージ状態またはフェーズの間にノードが「ハイ」電圧に充電（プル・アップ）され、その後、クロック信号の評価状態またはフェーズの間に、各種のトランジスタ・スタックによってこれらのノードの一部または全部が放電される。ドミノ優先エンコーダが動作可能な速度は、各種ノードが放電可能な速度によって制限される。ある種のテクノロジの場合、トランジスタのスタックの深さ（つまり、ノードとグラウンドの間の導通パス内に直列接続されているトランジスタの数）を小さくすると、この速度が増加する（つまり放電時間が短くなる）。静的タイプの優先エンコーダ回路についても、速度を増すためにはスタックの深さを抑えることが望ましい。また、ＣＭＯＳ（相補形金属酸化膜半導体）テクノロジの場合には、いわゆるボディ効果からもスタックの深さを抑えることが望ましい。
【０００５】
このように、優先エンコーダ回路内のトランジスタ・スタックの深さは、浅いほうが望ましい。
【０００６】
（実施態様の詳細な説明）
まず用語についての定義を行う。２エレメント・ブール代数は、スイッチング回路に適している。回路内の任意のポイントについて、「ロー」は２つのブール・エレメントの一方をマップする電圧のセットを、「ハイ」は、ブール・エレメントの他方をマップする電圧のセットをそれぞれ指すものとする。ブール・エレメントをマップする個々の電圧の範囲は、使用するテクノロジに依存し、単一回路内の部品によってもそれが異なることがある。セットという用語の使用を省略するため、ここで電圧が「ロー」（「ハイ」）であると言うときには、それが「ロー」（「ハイ」）のセットに属することとする。また、回路内の任意のノードについて「ロー」電圧は「ハイ」電圧より低いものとする。
【０００７】
ここに述べる特定の実施形態について言えば、電圧として定義した用語「ハイ」および「ロー」に２つの役割を持たせることにより、つまり「ハイ」および「ロー」によって２エレメントブール代数の２つのブール・エレメントも表すことによって、わずかながら表記の濫用（ただし誤用ではない）を招いている。しかし、「ハイ」または「ロー」が電圧を表すか、ブールのエレメントを表すかは文脈から明らかである。「ハイ」をバイナリ・ブール演算の「アンド（論理積）」用の識別エレメントに、「ロー」をバイナリ・ブール演算の「オア（論理和）」用の識別エレメントに結びつけることは慣例であり、ここでもこの慣例に従っている。この種の同一視は、衒学的に有用であるが、恣意的であり、電圧をブール・エレメントに結びつけるこの同一視によって本発明が限定されないことを理解されたい。
【０００８】
８ビットのワードＷを（Ｂ７Ｂ６・・・Ｂ０）として表し、それにおいてＢｉは、ワードＷのｉ番目（０番目から）のビットとする。Ｂ７はワードＷの最上位ビット、Ｂ０はその最下位ビットである。ここでもわずかながら表記を濫用し、Ｂｉにより電圧およびブールのエレメントを表し、一般性を失うことなく、ワードＷのｉ番目のビットが１であればＢｉは「ハイ」であると言い、ワードＷのｉ番目のビットが０であればそれが「ロー」であると言うことにする。なお、ここで用いている「ワード」とコンピュータ・システムのワード長の混同に注意する必要がある。ここでの「ワード」は、単にバイナリ・タプルを指す。
【０００９】
図１は、ワードＷ用の優先エンコーダ１００の実施形態を示す。図１の出力は、セット｛Ｅ０，Ｅ１，．．．Ｅ７｝であり、それにおいてＥｉは、文脈に応じて電圧またはブール・エレメントのいずれかを表すことになる。図１において、ｉ≠ｋのすべてのｉについてＥｉが「ロー」であり、Ｅｋが「ハイ」である値のセットは、ワードＷのリーディングゼロがビットＢｋであることを示す。すべてのｉについてＥｉが「ロー」であれば、ワードＷにはリーディングゼロがないこと、つまりＷのすべてのビットが１であることになる。
【００１０】
図１において、Ａ０、Ａ１、およびＡ２は、文脈に応じて電圧またはブール・エレメントを表す。電圧の場合は、それぞれｎＭＯＳＦＥＴ（ｎ−酸化金属半導体電界効果トランジスタ）１１４、１１６、および１１８のゲート電圧を表す。ブール・エレメントとして考えた場合、次に示すブール代数式によってＡ０、Ａ１、およびＡ２が与えられる。
Ａ０＝Ｂ０・Ｂ１
Ａ１＝Ｂ２・Ｂ３・Ｂ４
Ａ２＝Ｂ５・Ｂ６・Ｂ７
ただしこれにおいて、「・」は、論理積（ブール代数の積）を表す。図１においては、Ａ０、Ａ１、およびＡ２を提供するためにドミノ・ゲート１２２、１２４、および１２６が使用されているが、別のタイプの論理ゲートを使用してもよい。
【００１１】
図１には、８つのノードのセットに｛Ｎ０，Ｎ１，．．．Ｎ７｝がラベル付けされている。記号Ｎｉは、ラベルのほかに、文脈に応じてノードＮｉの電圧またはブール値として使用される。クロック信号ＣＬＫが「ロー」（ＶＳＳまたはグラウンド）のとき、ｐＭＯＳＦＥＴ  １０２がオン、ｎＭＯＳＦＥＴ  １０３がオフになり、その結果、すべてのノードが「ハイ」（ＶＣＣ）に充電（プル・アップ）される。これがプリチャージ状態（フェーズ）である。評価状態（フェーズ）は、ＣＬＫが「ハイ」になることによって特徴づけられる。評価フェーズの間、ｐＭＯＳＦＥＴ  １０２がオフ、ｎＭＯＳＦＥＴ  １０３がオンになり、それにより、Ｂｉ（ｉ＝０，１，．．．７）対応の値に応じてノードの一部が「ロー」にプル・ダウンされる。
【００１２】
ｎＭＯＳＦＥＴ  １０４、１０６、１０８、１１０、および１１２のゲート電圧は、それぞれＢｉ（ｉ＝１，３，４，６，および７）となり、ｎＭＯＳＦＥＴ  １１４、１１６、および１１８のゲート電圧は、それぞれＡｉ（ｉ＝０，１，および２）となる。評価フェーズの間は、図１から、ビット値Ｂｉ（ｉ＝０，１，．．．７）によって表されるノードＮｉ対応の値は、
【数１７】
0004394284.tif 000002
によって与えられ、これにおいてオーバーラインはブール代数の補数を表し、積はブール積演算を表す。
【００１３】
上記の式は、トランジスタの導通パスを介してグラウンドに放電されなければ、評価フェーズの間、ノードが電荷を保持することを前提としている。この仮定は、ノードのキャパシタンスおよびＣＬＫのスイッチング周波数に依存する。必要であれば、一部の実施形態においてはノードにハーフ−キーパを使用し、トランジスタの導通パスを介してグラウンドに放電されない場合にそれらを「ハイ」に充電された状態に維持することもできる。
【００１４】
図１において、いずれかのノードからグラウンドへのパスが、３つのトランジスタだけから構成されていることに注意されたい（ｎＭＯＳＦＥＴ  １０３は数に加えない）。任意のノードの放電時間が、そのノードをグラウンドに放電させる直列接続されたトランジスタの数に依存することから、これらのパスを可能な限り小さく維持することが望ましい。ある意味では、トランジスタのスタック１０４、１０６、１０８、１１０、および１１２がノードＮｉ（ｉ＝０，２，および５）において「分断」されており（ブロークン）、トランジスタ１１４、１１６、および１１８の一部または全部がこれらのノードとグラウンドの間にバイパス・パスを形成させる。「ブロークン・スタック」優先エンコーダという名前はこれに由来する。
【００１５】
Ｅｉ（ｉ＝０，１，．．．６）は、論理ゲート１２０を介したノード電圧を表す。ノードのブール値については、値Ｅｉが、式
【数１８】
0004394284.tif 000003
で与えられ、ブールまたはビット入力（Ｂ７Ｂ６．．．Ｂ０）については、値Ｅｉが、式
【数１９】
0004394284.tif 000004
で与えられる。上記の２つのブール式は、Ｂｋが「ロー」であり、かつＢｋ＋１，Ｂｋ＋２，．．．Ｂ７がすべて「ハイ」のときに限り、Ｅｋが「ハイ」になると述べることに等しい。したがって、図１に示した実施形態は優先エンコーダであると考えることができる。
【００１６】
任意のワード長Ｎ＋１の、（ＢＮＢＮ−１．．．Ｂ０）によって表される任意のワードＷに関する実施形態の全クラスは、次のように記述することができる。次式を満たすように、ｎｉ≧１とするＫ＋１個の整数のセットＩ、つまりＩ＝｛ｎ０，ｎ１，．．．ｎｋ｝を選択する。
【数２０】
0004394284.tif 000005
ｋ＝０，１，．．．Ｋ＋１について、Ｋ＋２個の和Ｓｋを次のように定義する。
【数２１】
0004394284.tif 000006
ただし、Ｓｋ＋１＝Ｎ＋１である。
【００１７】
順序付き整数｛０，１，．．．Ｎ｝を、次のようにＫ＋１個の共通のエレメントを持たない順序付き整数のセットＩｋ（ｋ＝０，１，．．．Ｋ）に分割する。
Ｉｋ＝｛Ｓｋ，（Ｓｋ＋１），．．．（Ｓｋ＋１−１）｝
ただし、セットＩｋ内のエレメントの数はｎｋである。Ｉｋ内のエレメントに、Ｉｋ［ｉ］（（ｉ＝０，１，．．．（ｎｋ−１））としてラベルを付ける。Ｋ＋１個の値（ブールまたは電圧）｛Ａ０，Ａ１，．．．Ａｋ｝を定義し、それにおいては
【数２２】
0004394284.tif 000007
とする。ただし、Ａｋはｎｋ項の論理積である。
【００１８】
上記の形式を使用すると、任意に選択した整数のセットＩについての実施形態を次のように記述することができる。Ｎ＋１個のノード｛Ｎ０，Ｎ１，．．．ＮＮ｝、直列接続されたＫ＋１個のｎＭＯＳＦＥＴからなるバイパス・スタック、および（Ｎ−Ｋ）個のｎＭＯＳＦＥＴのブロークン・スタックがある。このブロークン・スタックは、直列接続されたｎＭＯＳＦＥＴからなるＫ＋１組のグループＧｋ（ｋ＝０，１，．．．Ｋ）を構成する。グループＧｋは、ｎｋ−１個の直列接続されたｎＭＯＳＦＥＴからなり、Ｇｋ［ｉ］（ｉ＝１，２，．．．（ｎｋ−１））とラベル付けされる。ｎＭＯＳＦＥＴ  Ｇｋ［ｉ］のゲート電圧はＢＩ［ｋ，ｉ］であるが、それにおいては下付き文字がさらに下付き文字を含む表記を避けるために、Ｉ［ｋ，ｉ］＝Ｉｋ［ｉ］としている。（この最後の記述は、ワードＷ＝（Ｂ  ＮＢＮ−１．．．Ｂ０）からビットＢｉ（ｉ＝ＳＮ，ＳＮ−１，．．．Ｓ０）を除くことによってブロークン・スタック内のｎＭＯＳＦＥＴのゲート電圧となる値を持つベクトルが得られるという表現によって、おそらくはより容易に理解が得られよう。）ｎＭＯＳＦＥＴ  Ｇｋ［ｉ］のドレインは、ノードＮＩ［ｋ，ｉ］に接続される（または定義している）。バイパス・スタック内のＫ＋１のｎＭＯＳＦＥＴには、Ｈ［ｋ］（ｋ＝０，１，．．．Ｋ）としてラベル付けを行う。ｎＭＯＳＦＥＴ  Ｈ［ｋ］のゲート電圧はＡｋであり、ｎＭＯＳＦＥＴ  Ｈ［ｋ］のドレインはノードＮＩ［ｋ，０］を定義し、ｎＭＯＳＦＥＴ  Ｈ［ｋ］のソースは、ｎＭＯＳＦＥＴ  Ｇｋ［ｎｋ−１］のソースに接続される。
【００１９】
選択した整数のセットＩに関する上記の実施形態の説明を続けるが、ｐＭＯＳＦＥＴが各ノードに接続され、ゲートがクロック信号ＣＬＫによってコントロールされ、さらに、ｎＭＯＳＦＥＴがＧｋ［ｎｋ−１］のソースに接続され、ゲートがクロック信号ＣＬＫによってコントロールされる。Ｎ個の出力回路Ｃｉ（ｉ＝０，１，．．．（Ｎ−１））があり、それぞれが出力電圧Ｅｉ（ｉ＝０，１，．．．（Ｎ−１））を有する。各出力回路Ｃｉは、それぞれＣｉ［０］およびＣｉ［１］とラベル付けされた、それぞれ電圧Ｃｉ［０］およびＣｉ［１］を有する入力を有する。（ここでも表記に２とおりの意味を持たせている。）任意の出力回路Ｃｉ（ｉ＝０，１，．．．（Ｎ−１））について見ると、その出力電圧は、
【数２３】
0004394284.tif 000008
により与えられ、入力Ｃｉ［０］はノードＮｉに接続され、入力Ｃｉ［１］はノードＮｉ＋１に接続される。この実施形態は、ノードＮＮの出力電圧として定義される出力電圧ＥＮを有する。
【００２０】
ブールまたはビット入力（Ｂ７Ｂ６．．．Ｂ０）については、値Ｅｉが、式
【数２４】
0004394284.tif 000009
で与えられる。上記の２つのブール式は、Ｂｋが「ロー」であり、かつＢｋ＋１，Ｂｋ＋２，．．．ＢＮがすべて「ハイ」のときに限り、Ｅｋが「ハイ」になると述べることに等しい。したがって、上記の形式は優先エンコーダであることがわかる。
【００２１】
最適整数セットは、コスト関数を最小にする整数のセットとして定義することができる。１つの特定のコスト関数は、Ａｉに関する各式における項の数を含めた、各ノードをグラウンドに接続するトランジスタの最大スタックの深さである。簡略化のためクロックが印加されるトランジスタは、スタックの深さに加えていない。Ａｉに関するブール式における項の数をコスト関数に含めることは、これらの電圧が、適切な項Ｂｉに印加される論理積を実行するドミノ論理ゲートによって得られ、これらの項の数が、Ａｉを得るために使用されるこの種のドミノ論理ゲートのスタックの深さを表すことになる場合に正当化される。
【００２２】
この種のコスト関数Ｃ（Ｉ）は、次のようにして得られる。ノード｛ＮＩ［ｋ，ｉ］，ｉ＝１，２，．．．（ｎｋ−１）；ｋ＝０，１，．．．Ｋ｝のスタックの深さは（ｎｋ−ｉ＋Ｋ−ｋ）である。またノード｛ＮＩ［ｋ，０］，ｋ＝０，１，．．．Ｋ｝のスタックの深さは（Ｋ＋１−ｋ）である。しかしながら、ノード｛ＮＩ［ｋ，０］，ｋ＝０，１，．．．Ｋ｝のスタックの最大の深さがＫ＋１、つまりバイパス・スタック内のｎＭＯＳＦＥＴの総数であることは明らかである。Ａｉに関するブール式内の項の数は、ｎｉである。したがって、コスト関数を次のように記述することができる。
【数２５】
0004394284.tif 000010
つまり、Ｎが与えられたとき、特定の最適整数セットは、ｎｉ≧１とするＩ＝｛ｎ０，ｎ１，．．．ｎｋ｝であり、それにおいて
【数２６】
0004394284.tif 000011
であり、その結果、
【数２７】
0004394284.tif 000012
を得る。上記の整数セットはいわゆる「ミニマックス」解である。ワード長８（つまりＮ＝７）の場合は、上記のコスト評価基準または関数に関するミニマックス整数セットが単一であり、図１に示した実施形態の整数セットに等しいＩ＝｛２，３，３｝となることが検証できる。
【００２３】
別のコスト関数を選択することもできる。たとえば、スタックの深さが比較的小さい回路によって電圧Ａｉが得られる場合、次に示すコスト関数が有効になると見られる。
Ｃ（Ｉ）＝ｍａｘ［（Ｋ＋１），｛（ｎｋ−ｉ＋Ｋ−ｋ），ｉ＝１，２，．．．（ｎｋ−１）；ｋ＝０，１，．．．Ｋ｝］
このほかのコスト関数は、最大のスタックの深さではなく、平均のスタックの深さをベースにしていることがある。平均は、一部のノードが残りのノードより放電しやすいというアプリオリな情報がある場合に、重み付け係数に従ってスタックの深さに重み付けしてもよい。ミニマックス・アプローチは、より保守的なアプローチであり、多くのコスト関数が使用可能なことは明らかである。
【００２４】
ここで、すべてのｉ＝１，２，．．．Ｋについてｎｉ＝１となるように整数セットを選択すると、Ｋ＝Ｎとなり、結果として得られる優先エンコーダは、スタックが１つだけ（Ａｉを得るためのスタックを除いて、ブロークン・スタックなしの１つのバイパス・スタックだけ）存在するケースまで後退し、ノードＮ０のスタックの深さはＮ＋１となることに注意が必要である。つまり、ブロークン・スタックを存在させるためには、ｎｉ＞１となる整数セット内に少なくとも１つの整数ｎｉが存在する必要がある。
【００２５】
ここで説明したいくつかの優先エンコーダは、大きなワード長を取り扱うための単一の優先エンコーダに結合してもよい。たとえば、６４ビット・ワードの場合は、ここで説明したＮ＝７用の４つの優先エンコーダを使用して、並列に、６４ビット・ワードの８つの８ビット・ブロックをエンコードすることができる。Ｎ＝７の優先エンコーダからの出力に基づき、比較的簡単な論理ゲートを使用して、６４ビット・ワードのリーディング１またはゼロを示すことができる。
【００２６】
上記の実施形態には、各種の変更が可能である。たとえば、別のドミノ論理ゲートにおいて、そのドミノ論理ゲートと優先エンコーダの間にインバータを使用し、それからゲート電圧を獲得して、プリチャージ・フェーズの間にすべてのゲート電圧が「ロー」になるようにすれば、クロックが印加されるｎＭＯＳＦＥＴが不要になる。その場合、ブロークン・スタック内の最終トランジスタのソースをグラウンドに接続する。これに対して、電圧Ａｉがドミノ論理ゲートを介して得られない場合には、バイパス・スタック内の最終トランジスタのソースに、クロックが印加されるｎＭＯＳＦＥＴが必要になる。
【００２７】
上記の実施形態は、各種のノードが、直列接続されたトランジスタのスタックによる潜在的な放電（プル・ダウン）の前に「ハイ」にプリチャージ（プル・アップ）されるという点において、ドミノ（または動的）タイプとされる点を理解する必要がある。しかしながら別の実施形態として、静的タイプ（デュアル−レール）の回路を含めることができる。
【００２８】
静的なケースにおいては、クロックが印加されるトランジスタが不要であり、関連ノードごとに１ないしは複数のｐＭＯＳＦＥＴが並列に接続されて、ｐＭＯＳＦＥＴがオンになるとそのノードが「ハイ」にプル・アップされる。動的なケースにおいては、すべての関連ノードがプリチャージ・フェーズの間に「ハイ」にプル・アップされ、評価フェーズの間に関連ノードのサブセットが「ロー」にプル・ダウンされたのに対して、静的なケースにおいては、すべての関連ノードが、各種のｎＭＯＳＦＥＴおよびｐＭＯＳＦＥＴの現在のゲート電圧に応じて、（セトリング(settling)または遅延時間の後に）「ハイ」または「ロー」のいずれかになる。煩わしい用語を回避するために、スタックがノード電圧を「ハイ」から「ロー」にするとき、またはそのノードがすでに「ロー」であればそれを「ロー」に維持するとき、ｎＭＯＳＦＥＴのスタックがノードを「ロー」にプル・ダウンするという表現を用いる。ｐＭＯＳＦＥＴがノードを「ハイ」にプル・アップ（または維持）する場合にも類似の表現を適用する。
【００２９】
静的な実施形態は、次のようにして動的な実施形態を修正することによって容易に得ることができる。クロックが印加されるすべてのｐＭＯＳＦＥＴおよびクロックが印加されるすべてのｎＭＯＳＦＥＴを取り除き、クロックが印加されるｎＭＯＳＦＥＴに接続されていたトランジスタのソースをグラウンドに接続する。深さｎのトランジスタ・スタックに接続される各Ｎｉにｎ個のｐＭＯＳＦＥＴを追加し、それぞれのドレインをＮｉに接続し、それぞれのソースを「ハイ」電圧ソースに接続し、それにおいて追加されるｐＭＯＳＦＥＴに属する各ｐＭＯＳＦＥＴのゲートは、Ｎｉに関するトランジスタ・スタック内のｎＭＯＳＦＥＴのゲートの１つだけに接続する。
【００３０】
図１に示した動的な優先エンコーダに対応する静的な優先エンコーダの一例を図２に示すが、それにおいて図１および図２のそれぞれの対応するエレメントには同一のラベルを付している。図２は、ｎＭＯＳＦＥＴ  １１２のソースがグラウンドに接続され、クロックが印加されるすべてのトランジスタが除去され、前述したようにプル・アップｐＭＯＳＦＥＴが追加されていることを除けば図１に類似である。
【００３１】
ここで、別の実施形態が、ＣＭＯＳ以外のテクノロジを含み得ることにも注意されたい。たとえば、別のタイプのＩＧＦＥＴ（絶縁ゲート電界効果トランジスタ）またはＦＥＴ（電界効果トランジスタ）を上記のｎＭＯＳＦＥＴおよびｐＭＯＳＦＥＴに代えて使用することができる。より一般的に述べれば、バイポーラ・トランジスタ等の別のタイプのトランジスタをｎＭＯＳＦＥＴおよびｐＭＯＳＦＥＴに代えて使用することも考えられる。
【００３２】
別の実施形態においては、出力Ｅｉの補数が求められて、「ロー」の出力信号がリーディングゼロ・ビットを表す情報を提供する。また、任意のリーディングゼロ優先エンコーダは、ワードＷの補数を求めることによって、リーディング１優先エンコーダに容易に変換することができる。したがって、優先エンコーダという用語は、ワードのリーディング１またはリーディングゼロのいずれかを示す出力信号を提供する回路を包含する。
【００３３】
このように、特許請求の範囲に示した本発明の範囲から逸脱することなく、ここに説明した実施形態に対して多くの修正を行うことが可能である。
【図面の簡単な説明】
【図１】  動的タイプのブロークン・スタック優先エンコーダの実施形態を示す。
【図２】  静的タイプのブロークン・スタック優先エンコーダの実施形態を示す。
【図１】
0004394284.tif 000029
【図２】
0004394284.tif 000030