JP3417472B2 - プライオリティ・エンコーダ及びそのエンコード方法 - Google Patents

プライオリティ・エンコーダ及びそのエンコード方法

Info

Publication number
JP3417472B2
JP3417472B2 JP30208899A JP30208899A JP3417472B2 JP 3417472 B2 JP3417472 B2 JP 3417472B2 JP 30208899 A JP30208899 A JP 30208899A JP 30208899 A JP30208899 A JP 30208899A JP 3417472 B2 JP3417472 B2 JP 3417472B2
Authority
JP
Japan
Prior art keywords
input
bit
highest
true value
order
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
JP30208899A
Other languages
English (en)
Other versions
JP2001144619A (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
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP30208899A priority Critical patent/JP3417472B2/ja
Priority to US09/694,528 priority patent/US6462694B1/en
Publication of JP2001144619A publication Critical patent/JP2001144619A/ja
Application granted granted Critical
Publication of JP3417472B2 publication Critical patent/JP3417472B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/74Selecting or encoding within a word the position of one or more bits having a specified value, e.g. most or least significant one or zero detection, priority encoders

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プライオリティ・
エンコーダ及びそのエンコード方法に関し、より詳しく
は、小型かつ高速なプライオリティ・エンコーダ及び高
速なエンコード方法に関する。
【0002】
【従来の技術】プライオリティ・エンコーダは、それぞ
れに順位及びコードが付けられた入力線の内、複数の入
力線に入力が与えられると、真値が与えられた入力線の
中で順位が最も高い入力線に対応するコードを出力す
る。プライオリティ・エンコーダの一構成例を図13
に、その入出力を図14に示す。図13のプライオリテ
ィ・エンコーダ100(入力は全て負論理)は、8つの
データ入力(IN7N,IN6N,IN5N,IN4N,IN3N,IN2N,IN
1N,IN0N)の内、同時に複数の入力が活性化(“0”)
された場合、その中で順位が最も高い入力(以下、最高
位入力という)を表す3ビットのコード(2進コード)
を出力する。このコードは、図13に示すように、入力
信号とその反転信号を組み合わせて生成される。
【0003】入力の順位はIN7Nが最も高く、入力の番号
(INtNのt )が低くなるほど順位は低くなる。本例で
は、アクティブな入力(“0”)に対して最高位入力を
求める。エンコーダ100の出力(“A2 A1 A0”)
は、図14に示すように、順位が最も高いIN7Nが最高位
入力となる場合は“0 0 0”、順位が最も低いIN0N
が最高位入力となる場合は“1 1 1”のように、最
高位入力の番号(INtNのt)に対応する2進コードを反
転した信号となっている。ここで、図14中の「‐」
は、“0”と“1”のどちらでもよいことを示してい
る。出力GSはエンコーダ100への入力の有無を表す信
号であり、入力EI及び出力EOは拡張用の信号で、出力EO
を次段のプライオリティ・エンコーダのEIに接続する。
【0004】プライオリティ・エンコーダの他の構成例
を図15(a)に、その入出力を図15(b)に示す。
図15(a)のプライオリティ・エンコーダ110は、
セレクタ回路(116)と複数のプライオリティ・エン
コーダ(112,114)を含む。4to2プライオリテ
ィ・エンコーダ112の一構成例を図16(a)に、そ
の入出力を図16(b)に示す。セレクタ回路116の
一構成例を図17に示す。このプライオリティ・エンコ
ーダ110では、図13及び図14に示したプライオリ
ティ・エンコーダ100及びその入出力とは異なり、入
力の順位はIN0Nが最も高く、入力の番号(INtNのt )が
高くなるほど順位は低くなる。エンコーダ110の出力
(“A2 A1 A0”)は、図15(b)に示すように、順
位が最も高いIN0Nが最高位入力となる場合は“0 0
0”、順位が最も低いIN7Nが最高位入力となる場合は
“1 1 1”のように、最高位入力の番号(INtNのt
)を表す2進コードとなっている。
【0005】8つのデータ入力(IN0N,IN1N,IN2N,IN
3N,IN4N,IN5N,IN6N,IN7N)は、上位4入力(IN0N,
IN1N,IN2N,IN3N)と下位4入力(IN4N,IN5N,IN6N,
IN7N)に分けられ、これら上位4入力,下位4入力を4
to2プライオリティ・エンコーダ112,114にそれ
ぞれ入力している。4to2プライオリティ・エンコーダ
112,114は、4入力の中で活性化された最も順位
の高い入力を表す2ビットの2進コードを出力する。セ
レクタ回路116は、上位のエンコーダ112の出力に
応じて、出力(“A2 A1 A0”)の下位2ビット(“A1
A0”)を出力する。
【0006】このようなセレクタ回路と複数のプライオ
リティ・エンコーダを組み合わせる方法を用いると、セ
レクタ回路の入出力を拡張することにより、例えば図1
8に示すように、16to4プライオリティ・エンコーダ
122を4つ用いて64to6プライオリティ・エンコー
ダ120を構成することもできる。しかし、プライオリ
ティ・エンコーダは図13に示すように素子数が多く、
図18に示すように複数のプライオリティ・エンコーダ
を組み合わせた場合は、プライオリティ・エンコーダ全
体の素子数がさらに多くなる。素子数が多くなると、プ
ライオリティ・エンコーダ全体の回路規模が大きくなる
と同時に、回路の段数が増えて処理速度が遅くなる。
【0007】
【発明が解決しようとする課題】本発明の目的は、プラ
イオリティ・エンコーダの素子数を削減して小型化する
と同時に、エンコードを高速に行うことにある。
【0008】
【課題を解決するための手段】本発明のプライオリティ
・エンコーダは、(m+n)ビットの出力コードの上位
mビットが同一の2本の入力線で構成される2個の
グループ(以下、上位ビット別グループという)に対
し、真値入力が与えられた上位ビット別グループの中で
順位が最も高い上位ビット別グループ(以下、最高位上
位ビット別グループという)に対応する前記上位mビッ
トのコードを出力する上位ビット・エンコード手段と、
最高位上位ビット別グループを構成し、各々が前記(m
+n)ビットの出力コードの下位nビットで区別される
本の入力線に対し、真値入力が与えられた入力線の
中で順位が最も高い入力線に対応する前記下位nビット
のコードを出力する下位ビット・エンコード手段とを含
む。前記下位ビット・エンコード手段は、前記最高位上
位ビット別グループよりも順位の低い上位ビット別グル
ープに含まれる入力線に与えられた真値入力を無効化す
る手段と、前記(m+n)ビットのコードの下位nビッ
トが同一の2 本の入力線で構成される2 個の各グル
ープ(以下、下位ビット別グループという)への真値入
力を検出する手段と、真値入力が検出された下位ビット
別グループの中で順位が最も高い下位ビット別グループ
に対応する前記下位nビットのコードを出力する手段
と、を含む。
【0009】本発明のプライオリティ・エンコーダのエ
ンコード方法は、出力コードの上位ビットに基づいてグ
ループ分けされた入力線群(以下、上位ビット別グルー
プという)の内、真値入力が与えられた中で最も順位が
高い上位ビット別グループ(以下、最高位上位ビット別
グループという)に対応する前記上位ビットを出力する
上位ビット・エンコード・ステップと、最高位上位ビッ
ト別グループを構成し、各々が前記コードの下位ビット
で区別される入力線の内、真値入力が与えられた中で最
も順位が高い入力線に対応する前記下位ビットを出力す
る下位ビット・エンコード・ステップとを含む。前記下
位ビット・エンコード・ステップは、前記最高位上位ビ
ット別グループよりも順位の低い上位ビット別グループ
に含まれる入力線に与えられた真値入力を無効化するス
テップと、前記無効化を行った後、前記コードの下位ビ
ットが同一の各入力線群(以下、下位ビット別グループ
という)への真値入力を検出するステップと、真値入力
が検出された下位ビット別グループの中で順位が最も高
い下位ビット別グループに対応する前記下位ビットを出
力するステップと、を含む。
【0010】
【発明の実施の形態】次に、本発明に係るプライオリテ
ィ・エンコーダ及びそのエンコード方法の実施の形態に
ついて、図面に基づいて詳しく説明する。本実施形態で
は、図1に示すように、16個の入力(IN0,IN1,IN2,IN
3,IN4,IN5,IN6,IN7,IN8,IN9,IN10,IN11,IN12,IN13,IN1
4,IN15) に対し、アクティブ(“1”)になった入力の
中で最も順位の高い入力の番号(INt のt )に対応する
4ビットのコード(“A3 A2 A1A0”)を出力する。こ
のコードは入力の番号に対応する2進コードを反転した
信号である。入力の順位は、入力の番号(INt のt )が
小さいほど高い。本実施形態では、出力コード(“A3
A2 A1 A0”)の上位2ビット(“A3 A2”)が同一の
入力線をブロックA〜Dにそれぞれ分ける。出力コード
の上位2ビット(“A3 A2”)は4to2プライオリティ
・エンコーダ20から出力される。出力コードの下位2
ビット(“A1 A0”)はブロックEの出力を基に4to2
プライオリティ・エンコーダ40から出力される。
【0011】ブロックAは出力コードの上位ビットが
“1 1”の入力のグループであり、ブロックB,C,
Dは、出力コードの上位ビットがそれぞれ“1 0”,
“01”,“0 0”の入力のグループである。具体的
には、ブロックAにはIN0,IN1,IN2,IN3 が入力され、ブ
ロックBにはIN4,IN5,IN6,IN7 が入力され、ブロックC
にはIN8,IN9,IN10,IN11 が入力され、ブロックDにはIN
12,IN13,IN14,IN15 が入力される。
【0012】ブロックAは、NOR回路12aを含む。
NOR回路12aにはIN0,IN1,IN2,IN3 が入力される。
ブロックAからは、NOR回路12aの出力(NOR _A
)が出力される。NOR回路12aの一例を図2
(a)に示す。TP0はpMOSトランジスタ、TN0
〜TN3はnMOSトランジスタである。PRCHG 信号を
非アクティブにしてNOR _A をHレベル(“1”)にプ
リチャージし、その後IN0 〜IN3 の少なくとも1つがア
クティブ(“1”)になると、NOR _A はLレベル
(“0”)となる。
【0013】ブロックBは、NOR回路12bと4つの
AND回路22を含む。NOR回路12bにはIN4,IN5,
IN6,IN7 が入力される。AND回路22には、ブロック
AのNOR回路12aの出力(NOR _A )がそれぞれ入
力されると共に、IN4,IN5,IN6,IN7 が個々に入力され
る。ブロックBからは、NOR _A とIN4 が入力されたA
ND回路の出力(IN4v)と、NOR _A とIN5 が入力され
たAND回路の出力(IN5v)と、NOR _A とIN6 が入力
されたAND回路の出力(IN6v)と、NOR _A とIN7 が
入力されたAND回路の出力(IN7v)と、NOR回路1
2bの出力(NOR_B )が出力される。
【0014】ブロックCは、NOR回路12cと4つの
AND回路24を含む。NOR回路12cにはIN8,IN9,
IN10,IN11 が入力される。AND回路24には、ブロッ
クAのNOR回路12aの出力(NOR _A )とブロック
BのNOR回路12bの出力(NOR _B )との論理積
(AND _C )がそれぞれ入力されると共に、IN8,IN9,IN
10,IN11 が個々に入力される。論理積(AND _C )は、
AND回路14で求める。ブロックCからは、AND _C
とIN8 が入力されたAND回路の出力(IN8v)と、AND
_C とIN9 が入力されたAND回路の出力(IN9v)と、
AND _C とIN10が入力されたAND回路の出力(IN10v
)と、AND _C とIN11が入力されたAND回路の出力
(IN11v )と、NOR回路12cの出力(NOR _C )が
出力される。
【0015】ブロックDは、NOR回路12dと4つの
AND回路26を含む。NOR回路12dにはIN12,IN1
3,IN14,IN15 が入力される。AND回路26には、ブロ
ックAのNOR回路12aの出力(NOR _A )とブロッ
クBのNOR回路12bの出力(NOR _B )とブロック
CのNOR回路12cの出力(NOR _C )との論理積
(AND _D )がそれぞれ入力されると共に、IN12,IN13,
IN14,IN15 が個々に入力される。論理積(AND _D )
は、AND回路16で求める。ブロックDからは、AND
_D とIN12が入力されたAND回路の出力(IN12v )
と、AND _D とIN13が入力されたAND回路の出力(IN
13v )と、AND _D とIN14が入力されたAND回路の出
力(IN14v )と、AND _D とIN15が入力されたAND回
路の出力(IN15v )と、NOR回路12dの出力(NOR
_D )が出力される。
【0016】ブロックEは、4つのOR回路(18a,
18b,18c,18d)を含む。OR回路には、出力
(“A3 A2 A1 A0”)の下位2ビット(“A1 A0”)
が同一の入力が入力される。OR回路18aには下位ビ
ットが“1 1”の入力が入力され、OR回路18b,
18c,18dには、下位ビットがそれぞれ“1
0”,“0 1”,“0 0”の入力が入力される。具
体的には、OR回路18aにはIN0,IN4v,IN8v,IN12v が
入力され、OR回路18bにはIN1,IN5v,IN9v,IN13v が
入力され、OR回路18cにはIN2,IN6v,IN10v,IN14vが
入力され、OR回路18dにはIN3,IN7v,IN11v,IN15vが
入力される。ブロックEからは、OR回路18aの出力
(OR_0 )と、OR回路18bの出力(OR_1 )と、O
R回路18cの出力(OR_2 )と、OR回路18dの出
力(OR_3 )が出力される。OR回路18aの一例を図
2(b)に示す。TP0〜TP3はpMOSトランジス
タ、TN0はnMOSトランジスタである。PRCHG 信号
をアクティブにしてOR_0 をLレベル(“0”)にプリ
チャージし、プリチャージ後にIN0,IN4v,IN8v,IN12v の
少なくとも1つがアクティブ(“1”)になると、OR_
0 はHレベル(“1”)となる。
【0017】NOR回路12aの出力(NOR _A )は、
ブロックAの真値或いはアクティブな入力(IN0,IN1,IN
2,IN3 )の有無を表し、少なくとも1つの真値入力が有
れば“0”となり、真値入力が全く無ければ“1”とな
る。同様に、NOR回路12b,12c,12dの出力
(NOR _B,NOR _C,NOR _D )は、ブロックBの入力
(IN4,IN5,IN6,IN7 ),ブロックCの入力(IN8,IN9,IN
10,IN11 ),ブロックDの入力(IN12,IN13,IN14,IN15
)の真値入力の有無をそれぞれ表し、少なくとも1つ
の真値入力が有れば“0”となり、真値入力が全く無け
れば“1”となる。NOR回路12a〜12dの出力
(NOR _A 〜NOR _D )により、各ブロックの入力の有
無が分かる。
【0018】NOR回路12a,12b,12c,12
dからの出力NOR _A ,NOR _B ,NOR _C ,NOR _D
は、4to2プライオリティ・エンコーダ20に入力さ
れる。NOR _A は出力コードの上位ビットが“1 1”
の入力の有無を表し、NOR _B ,NOR _C ,NOR _D は
それぞれ出力コードの上位ビットが“1 0”,“0
1”,“0 0”の入力の有無を表す。図3及び図4に
示すように、NOR _A〜NOR _D をプライオリティ・エ
ンコーダ20でエンコードすることにより、出力コード
(“A3 A2 A1 A0”)の上位ビット(“A3 A2”)が
得られる。
【0019】一方、AND回路22は、ブロックBへの
入力IN4,IN5,IN6,IN7 を無効化してブロックEへ送るこ
とができる。無効化するかどうかは、ブロックAのNO
R回路12aの出力(NOR _A )によって決まる。入力
IN0 〜IN3 の少なくとも1つが“1”であればNOR _A
は“0”になるので、入力IN4 〜IN7 に関係なく、IN4
v,IN5v,IN6v,IN7v は無効化される(“IN4v IN5v IN6
v IN7v”=“0 00 0”)。入力IN0 〜IN3 が全
く真で無い場合のみNOR _A は“1”になるので、ブロ
ックBへの入力IN4 〜IN7 がブロックEへ送られる
(“IN4v IN5v IN6v IN7v”=“IN4 IN5 IN6
IN7 ”)。
【0020】AND回路24は、ブロックCへの入力IN
8,IN9,IN10,IN11 を無効化してブロックEへ送ることが
できる。無効化するかどうかは、AND回路14の出力
(AND _C )によって決まる。入力IN0 〜IN7 の少なく
とも1つが“1”であれば、NOR _A とNOR _B の少な
くとも1つが“0”となってAND _C が“0”になるの
で、入力IN8 〜IN11に関係なくIN8v,IN9v,IN10v,IN11v
は無効化される(“IN8v IN9v IN10v IN11v ”=
“0 0 0 0”)。入力IN0 〜IN7 が全く真で無い
場合のみ、NOR _A 及びNOR _B が共に“1”となって
AND _C が“1”になるので、ブロックCへの入力IN8
〜IN11がブロックEへ送られる(“IN8vIN9v IN10v
IN11v ”=“IN8 IN9 IN10 IN11”)。
【0021】AND回路26は、ブロックDへの入力IN
12,IN13,IN14,IN15 を無効化してブロックEへ送ること
ができる。無効化するかどうかは、AND回路16の出
力(AND _D )によって決まる。入力IN0 〜IN11の少な
くとも1つが“1”であれば、NOR _A とNOR _B とNO
R _C の少なくとも1つが“0”になってAND _D が
“0”になるので、入力IN12〜IN15に関係なくIN12v,IN
13v,IN14v,IN15v は無効化される(“IN12v IN13v
IN14v IN15v ”=“0 0 0 0”)。入力IN0 〜
IN11が全く真で無い場合のみ、NOR _A ,NOR _B 及び
NOR _C の全てが“1”になってAND _D が“1”にな
るので、ブロックDへの入力IN12〜IN15がブロックEへ
送られる(“IN12v IN13v IN14v IN15v ”=“IN
12 IN13IN14 IN15”)。
【0022】以上説明したAND回路22,24,26
による入力IN4 〜IN7 ,IN8 〜IN11,IN12〜IN15の無効
化により、ブロックA(IN0 〜IN3 )に入力があれば、
IN0〜IN3 以外は無効化された状態でブロックEに送ら
れる。ブロックAに真値入力が全く無く(“IN0 IN1
IN2 IN3 ”=“0 0 0 0”)、ブロックB
(IN4 〜IN7 )に真値入力があれば、IN4 〜IN7 以外は
無効化された状態でブロックEに送られる。ブロック
A,Bに全く真値入力が無く(“IN0 IN1 IN2IN3
IN4 IN5 IN6 IN7 ”=“0 0 0 0 0 0
0 0”)、ブロックC(IN8 〜IN11)に真値入力が
あれば、IN8 〜IN11以外は無効化された状態でブロック
Eに送られる。ブロックA,B,Cに真値入力が全く無
く(“IN0IN1 IN2 IN3 IN4 IN5 IN6 IN7 I
N8 IN9 IN10 IN11”=“00 0 0 0 0
0 0 0 0 0 0”)、ブロックD(IN12〜IN1
5)に真値入力があれば、IN12〜IN15以外は無効化され
た状態でブロックEに送られる。OR回路18a〜18
dの出力(OR_0 〜OR_3 )により、真値入力が与えら
れた中で最も順位が高いブロック(ブロックA or B o
r C or D)に含まれる各入力線への真値入力の有無が
分かる。
【0023】OR回路18a,18b,18c,18d
からの出力OR_0 ,OR_1 ,OR_2,OR_3 は、4to
2プライオリティ・エンコーダ40に入力される。OR_
0 ,OR_1 ,OR_2 ,OR_3 は、真値入力が与えられた
中で最も順位が高いブロック内の各入力の有無を表す。
OR_0 は出力コードの下位ビットが“1 1”に対応す
る入力の有無を表し、OR_1 ,OR_2 ,OR_3 はそれぞ
れ出力コードの下位ビットが“1 0”,“0 1”,
“0 0”に対応する入力の有無を表す。図3及び図5
に示すように、OR_0 〜OR_3 をプライオリティ・エン
コーダ40でエンコードすることにより、出力(“A3
A2 A1 A0”)の下位ビット(“A1 A0”)が得られ
る。
【0024】本発明では、ブロックA,B,C,Dに
は、プライオリティ・エンコーダは含まれていない。ブ
ロックAにはNOR回路が含まれ、ブロックB,C,D
にはNOR回路とAND回路が含まれるだけである。使
用しているプライオリティ・エンコーダは、出力コード
の上位ビットを出力するエンコーダ20と下位ビットを
出力するエンコーダ40の2つだけである。一般に、O
R回路やAND回路の方がプライオリティ・エンコーダ
よりも回路規模を小さくできる。本発明のプライオリテ
ィ・エンコーダ及びそのエンコード方法を用いることに
より、使用するプライオリティ・エンコーダを減らして
回路規模を小さくできる。ブロックA,B,C,Dで
は、プライオリティ・エンコーダを用いずにNOR回路
やAND回路を用いているので、その分回路の段数も少
なくなり、エンコード処理を高速化できる。上位ビット
のエンコードと下位ビットのエンコードは異なるエンコ
ーダ20,40で並列に実行できるので、エンコード処
理を更に高速化できる。
【0025】本発明に係るプライオリティ・エンコーダ
の他の構成例を図6に示す。このプライオリティ・エン
コーダ30は、64個の入力(IN0 〜IN63)の内、アク
ティブ(“1”)になった複数の入力の中で最も順位の
高い入力を表す6ビットのコード(“A5 A4 A3 A2
A1 A0”)を出力する。図6の64to6プライオリティ
・エンコーダ30は、図1のプライオリティ・エンコー
ダ10の下位ビットを4ビットに増やした構成をしてい
る。ブロックAにはIN0 〜IN15が入力され、ブロック
B,C,DにはそれぞれIN16〜IN31,IN32〜IN47,IN48
〜IN63が入力される。ブロックEは各ブロックの下位ビ
ットが同一の入力線からの信号が入力されるOR回路3
8a〜38pを含む。OR回路38a〜38pの出力
(OR_0 〜OR_15)は、16to4プライオリティ・エン
コーダ48に入力される。この場合も、使用するプライ
オリティ・エンコーダは、上位ビット用の4to2プラ
イオリティ・エンコーダ20と下位ビット用の16to
4プライオリティ・エンコーダ48の2つのみである。
図16に示した従来の64to6プライオリティ・エン
コーダ120と比較すると、回路規模の大きな16to
4プライオリティ・エンコーダの数を大幅に減少させて
いることがわかる。
【0026】本発明のプライオリティ・エンコーダ及び
そのエンコード方法を連想メモリに用いることができ
る。メモリの記憶容量が大きくなると、図7に示すよう
に、メモリ102を複数のサブアレイに分割するのが一
般的である。図7では、4つのサブアレイA,B,C,
Dに分割している。各サブアレイ内のメモリ・セル・ア
レイからの出力(104)(例えばワードの一致不一致
を示す出力)をプライオリティ・エンコーダに入力す
る。このメモリ・セル・アレイの配置は規則的に分散し
ている。従来では、サブアレイA,B,C,Dのそれぞ
れにプライオリティ・エンコーダを含ませる必要があっ
たが、本発明のプライオリティ・エンコーダ及びそのエ
ンコード方法では、図1及び図6に示すブロックA〜D
をサブアレイA〜Dに含ませるので、各サブアレイには
NOR回路やAND回路を含ませるだけでよい。従来の
ようにプライオリティ・エンコーダをサブアレイに含ま
せる必要が無いので、サブアレイを小型化できる。サブ
アレイの小型化は、メモリ全体の小型化を意味するのは
勿論、メモリ全体を制御する信号線やグローバル・ワー
ド・ライン等の広領域に渡る信号線を短くできることを
意味し、メモリ全体の小型化、高速化、低消費電力化が
実現できる。
【0027】図8(b)に示すように、ブロックB,
C,DにOR回路42a,44a,46aを設けて、各
ブロック間を通る配線を1本に減らすことも可能であ
る。図8(a)は、図6に示したプライオリティ・エン
コーダ30の要部拡大図であり、主にIN0,IN16,IN32,IN
48とOR回路38a部分を示している。図8(a)に示
すように、ブロックEのOR回路38aでIN0,IN16v,IN
32v,IN48v の論理和を求める場合は、ブロックB−C間
を通る配線は2本(W0,W16)、ブロックC−D間を通る
配線は3本(W0,W16,W32)、ブロックD−E間を通る配
線は4本(W0,W16,W32,W48)である。図8(b)に示す
ように、ブロックB,C,DにOR回路42a,44
a,46aを設けた場合は、各ブロック間を通る配線は
それぞれ1本になる(W'0,W'16,W'32,W'48)。
【0028】図9に示すように、ブロックA,B,C,
DがNOR回路12a,12b,12c,12dを含
み、ブロックEがセレクタ回路0,1,2,3を含んだ
構成にすることもできる。各セレクタ回路の選択制御信
号入力には、NOR回路からの出力(NOR _A ,NOR _
B ,NOR _C ,NOR _D )が入力される。セレクタ回路
0は各NOR回路の出力に応じて、入力IN0 ,IN4 ,IN
8 ,IN12の中から1つを選択して4to2プライオリティ
・エンコーダ40へ出力する(OR_0 )。セレクタ回路
1,2,3は各NOR回路の出力に応じて、それぞれ入
力(IN1,IN5,IN9,IN13)の中,入力(IN2,IN6,IN10,IN1
4 )の中,入力(IN3,IN7,IN11,IN15 )の中から1つを
選択して4to2プライオリティ・エンコーダ40へ出力
する(OR_1,OR_2,OR_3 )。セレクタ回路0,1,
2,3で選択される入力は、真値入力が与えられた中で
最も順位の高いブロック(ブロックA or B or C or
D)に含まれる入力である。
【0029】図10(a)に示すように、OR回路52
とAND回路54を設けて、上位のブロックがアクティ
ブ(“0”)な場合は、それより下位のNOR _A ,NOR
_B,NOR _C ,NOR _D をそれぞれ無効化(“1”)
することもできる。この無効化後の出力(NOR _A',NO
R _B',NOR _C',NOR _D')を図10(b)に示す。
この図10(b)に示す信号を通常の優先順位を持たな
いエンコーダに入力することにより、出力コードの上位
2ビット(“A3 A2”)を得ることができる。また、図
10の回路を用いれば、図9のセレクタ0、1、2、3
を優先順位を持たない単純なセレクタにすることができ
る。
【0030】以上、本発明に係るプライオリティ・エン
コーダ及びエンコード方法の実施例について、図面に基
づいて種々説明したが、本発明は図示したプライオリテ
ィ・エンコーダ及びエンコード方法に限定されるもので
はない。例えば、図8(b)の回路に図6に示すAND
回路34,36を付け加えた図11(a)の回路は、正
論理、負論理を用いれば更に素子数(トランジスタ数)
を削減することができる。図11(a)の回路をCMO
Sスタティック回路で構成すると、AND回路22,2
4,26,34及びOR回路42a,44a,46aは
6個のトランジスタ、AND回路36は8個のトランジ
スタが必要である。よって、計50個のトランジスタが
必要になる。図11(b)のようにすると、α部及びβ
部及びγ部の回路はそれぞれ6個のトランジスタで構成
でき、NAND回路は4個のトランジスタで構成でき、
NOT回路は2個のトランジスタで構成できる。よっ
て、計34個のトランジスタで構成できる。更に、α部
の出力Y1及びγ部の出力Y3が負論理、β部の出力Y
2及びNOT回路33の出力Y4は正論理になっている
ので、OR_0を受ける回路が負論理で受けるようにな
っていれば、最終段のNOT回路33も省略できて、計
32個のトランジスタで構成できる。ここで、AND回
路34及びNAND回路35及びAND回路36はそれ
ぞれ各上位ビット別グループで一度だけ使われ、それ以
外は各上位ビット別グループ内で同じ回路パターンが繰
り返し使われる。この繰り返し数をnとすると、図11
(a)では(36n+14)個のトランジスタが必要で
あるのに対し、図11(b)では(22n+12)個と
なり、差は(14n+2)個で、nが大きいほど削減効
果が大きい。
【0031】また、図2(a),(b)にそれぞれ示し
たNOR回路やOR回路を図12(a),(b)にそれ
ぞれ示すNOR回路やOR回路にしてもよい。図1のN
OR回路(12a,12b,12c,12d)は、IN
0からIN15がnMOSFETのオープンドレイン回
路で駆動されるようにすれば、プルアップ抵抗付きのワ
イヤードAND回路が使用でき、図2(a)に比べて極
めて簡単になる。但し、IN0NからIN15Nは負論
理であるので、図12(a)の回路はNOR回路の働き
をする。また、TP0は抵抗の代用である。次に、図1
のOR回路(18a,18b,18c,18d)も、I
N0からIN15vがpMOS FETのオープンドレ
イン回路で駆動されるようにすれば、プルダウン抵抗付
きのワイヤードOR回路が使用でき、図12(b)のよ
うに簡単になる。また、TN0は抵抗の代用である。こ
の回路にすれば、図1におけるブロックAからDを横切
る配線が一本になる。図12(a),(b)どちらの回
路も、トランジスタをプリチャージ時だけONするよう
にゲートを制御すれば、DC電流を制御できる。その
他、本発明はその趣旨を逸脱しない範囲で当業者の知識
に基づき種々なる改良,修正,変形を加えた態様で実施
できるものである。
【0032】
【発明の効果】本発明のプライオリティ・エンコーダ及
びそのエンコード方法は、プライオリティ・エンコーダ
全体の内部で使用するプライオリティ・エンコーダ数を
減少させて回路規模を小さくすることができる。内部で
使用するプライオリティ・エンコーダの代わりにOR回
路やAND回路を用いると、その分回路の段数も減り、
エンコードを高速化できる。出力するコードの上位ビッ
トと下位ビットをそれぞれ独立したプライオリティ・エ
ンコーダで並列にエンコードできるので、全体のエンコ
ード処理を高速化することができる。本発明のプライオ
リティー・エンコーダ及びそのエンコード方法を連想メ
モリー(CAM)に用いると、メモリーサブアレイを小
さくでき、従って、メモリー全体としても小型、高速、
省電力になる。
【図面の簡単な説明】
【図1】本発明に係るプライオリティ・エンコーダの一
実施例を示す回路図である。
【図2】同図(a)は、図1に示すプライオリティ・エ
ンコーダに含まれるNOR回路の一例を示し、同図
(b)は、図1に示すプライオリティ・エンコーダに含
まれるOR回路の一例を示す。又、同図(c),(d)
は、NOR回路とOR回路の他の一例を示す。
【図3】図1に示すプライオリティ・エンコーダの入出
力を示す図である。
【図4】図1に示すプライオリティ・エンコーダに含ま
れる4to2プライオリティ・エンコーダ20の入出力
を示す図である。
【図5】図1に示すプライオリティ・エンコーダに含ま
れる4to2プライオリティ・エンコーダ40の入出力
を示す図である。
【図6】本発明に係るプライオリティ・エンコーダの他
の実施例を示す回路図である。
【図7】サブアレイに分割されたメモリの概念図であ
る。
【図8】本発明に係るプライオリティ・エンコーダの更
に他の実施例を示す要部拡大回路図である。
【図9】本発明に係るプライオリティ・エンコーダの更
に他の実施例を示す回路図である。
【図10】本発明に係るプライオリティ・エンコーダの
更に他の実施例を示す要部拡大回路図である。
【図11】図8の他の一例を示す回路図。
【図12】図2の他の一例を示す回路図。
【図13】従来のプライオリティ・エンコーダの一例を
示す回路図である。
【図14】図13に示すプライオリティ・エンコーダの
入出力を示す図である。
【図15】同図(a)は従来のプライオリティ・エンコ
ーダの他の例を示す回路図であり、同図(b)は、同図
(a)に示すプライオリティ・エンコーダの入出力を示
す図である。
【図16】同図(a)は図15に示すプライオリティ・
エンコーダに含まれるプライオリティ・エンコーダ11
2の一例を示す回路図であり、同図(b)は、同図
(a)に示すプライオリティ・エンコーダ112の入出
力を示す図である。
【図17】図15に示すプライオリティ・エンコーダに
含まれるセレクタ回路の一例を示す回路図である。
【図18】従来のプライオリティ・エンコーダの更に他
の例を示すブロック図である。
【符号の説明】
10,50:本発明に係るプライオリティ・エンコーダ
(16to4) 12,32:NOR回路 14,16,22,24,26,34,36:AND回
路 18,38,42,44,46:OR回路 33:NOT回路 35:NAND回路 20,40,112,114:プライオリティ・エンコ
ーダ(4to2) 30:本発明に係るプライオリティ・エンコーダ(64
to6) 48,122:プライオリティ・エンコーダ(16to
4) 100,110:従来のプライオリティ・エンコーダ
(8to3) 102:メモリ 104:メモリ出力 116,124:セレクタ回路 120:従来のプライオリティ・エンコーダ(64to
6)
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平5−27946(JP,A) 特開 平11−177429(JP,A) (58)調査した分野(Int.Cl.7,DB名) H03M 7/14

Claims (12)

    (57)【特許請求の範囲】
  1. 【請求項1】 それぞれに番号とその番号に基づく順位
    が付けられた2m+n本の入力線の内、複数の入力線に
    真値入力が与えられると、この真値入力が与えられた入
    力線の中で前記順位が最も高い入力線の番号に対応する
    (m+n)ビットのコードを出力するために、 前記(m+n)ビットのコードの上位mビットが同一の
    本の入力線で構成される2個のグループ(以下、
    上位ビット別グループという)に対し、真値入力が与え
    られた上位ビット別グループの中で順位が最も高い上位
    ビット別グループ(以下、最高位上位ビット別グループ
    という)に対応する前記上位mビットのコードを出力す
    る上位ビット・エンコード手段と、 前記最高位上位ビット別グループを構成し、各々が前記
    (m+n)ビットのコードの下位nビットで区別される
    本の入力線に対し、真値入力が与えられた入力線の
    中で順位が最も高い入力線に対応する前記下位nビット
    のコードを出力する下位ビット・エンコード手段とを含
    むプライオリティ・エンコーダであって、 前記下位ビット・エンコード手段が、 前記最高位上位ビット別グループよりも順位の低い上位
    ビット別グループに含まれる入力線に与えられた真値入
    力を無効化する手段と、 前記(m+n)ビットのコードの下位nビットが同一の
    本の入力線で構成される2 個の各グループ(以
    下、下位ビット別グループという)への真値入力を検出
    する手段と、 真値入力が検出された下位ビット別グループの中で順位
    が最も高い下位ビット別グループに対応する前記下位n
    ビットのコードを出力する手段とを含むプライオリティ
    ・エンコーダ。
  2. 【請求項2】 前記上位ビット・エンコード手段が、 前記上位ビット別グループに含まれる入力線の少なくと
    も1つに真値入力が与えられたことを検出する手段と、 真値入力が検出された上位ビット別グループの中で順位
    が最も高い上位ビット別グループに対応する前記上位m
    ビットのコードを出力する手段とを含む請求項1のプラ
    イオリティ・エンコーダ。
  3. 【請求項3】 それぞれに番号とその番号に基づく順位
    が付けられた2 m+n 本の入力線の内、複数の入力線に
    真値入力が与えられると、この真値入力が与えられた入
    力線の中で前記順位が最も高い入力線の番号に対応する
    (m+n)ビットのコードを出力するために、 前記(m+n)ビットのコードの上位mビットが同一の
    本の入力線で構成される2 個のグループ(以下、
    上位ビット別グループという)に対し、真値入力が与え
    られた上位ビット別グループの中で順位が最も高い上位
    ビット別グループ(以下、最高位上位ビット別グループ
    という)に対応する前記上位mビットのコードを出力す
    る上位ビット・エンコード手段と、 前記最高位上位ビット別グループを構成し、各々が前記
    (m+n)ビットのコードの下位nビットで区別される
    本の入力線に対し、真値入力が与えられた入力線の
    中で順位が最も高い入力線に対応する前記下位nビット
    のコードを出力する下位ビット・エンコード手段とを含
    むプライオリティ・エンコーダであって、 前記下位ビット・エンコード手段が、 前記下位ビット別グループの中から前記最高位上位ビッ
    ト別グループに含まれる入力線を選択する手段と、 前記各下位ビット別グループの中から選択された2
    の入力線に対し、真値入力が与えられた中で最も順位が
    高い入力線に対応する前記下位nビットのコードを出力
    する手段とを含むプライオリティ・エンコーダ。
  4. 【請求項4】 前記上位ビット・エンコード手段が、 前記上位ビット別グループに含まれる入力線の少なくと
    も1つに真値入力が与えられたことを検出する手段と、 真値入力が検出された上位ビット別グループの中で順位
    が最も高い上位ビット別グループに対応する前記上位m
    ビットのコードを出力する手段とを含む請求項3のプラ
    イオリティ・エンコーダ。
  5. 【請求項5】 前記上位ビット別グループに含まれる入
    力線の少なくとも1つに真値入力が与えられたことを検
    出する手段が、上位ビット別グループの回路ブロックに
    含まれる請求項乃至請求項4のいずれかのプライオリ
    ティ・エンコーダ。
  6. 【請求項6】 前記上位ビット別グループに含まれる入
    力線の少なくとも1つに真値入力が与えられたことを検
    出する手段が、上位ビット別グループ内の全入力が入力
    されるOR回路又はNOR回路を含む請求項乃至請求
    項4のいずれかのプライオリティ・エンコーダ。
  7. 【請求項7】 前記真値入力を無効化する手段が、上位
    ビット別グループの回路ブロックに含まれる請求項1又
    は請求項2のプライオリティ・エンコーダ。
  8. 【請求項8】 前記真値入力を無効化する手段が、上位
    ビット別グループ内の各入力とこの上位ビット別グルー
    プよりも高順位の上位ビット別グループへの真値入力の
    有無を示す信号とがそれぞれ入力されるAND回路又は
    NAND回路を含む請求項1又は請求項2のプライオリ
    ティ・エンコーダ。
  9. 【請求項9】 前記上位ビット別グループの回路ブロッ
    クがメモリー装置の各サブアレイに配置される請求項5
    乃至請求項7のプライオリティ・エンコーダ。
  10. 【請求項10】 それぞれに順位及びコードが付けられ
    た入力線の内、複数の入力線に真値入力が与えられる
    と、真値入力が与えられた入力線の中で前記順位が最も
    高い入力線に対応する前記コードを出力するために、 前記コードの上位ビットに基づいてグループ分けされた
    入力線群(以下、上位ビット別グループという)の内、
    真値入力が与えられた中で最も順位が高い上位ビット別
    グループ(以下、最高位上位ビット別グループという)
    に対応する前記上位ビットを出力する上位ビット・エン
    コード・ステップと、 前記最高位上位ビット別グループを構成し、各々が前記
    コードの下位ビットで区別される入力線の内、真値入力
    が与えられた中で最も順位が高い入力線に対応する前記
    下位ビットを出力する下位ビット・エンコード・ステッ
    プとを含むプライオリティ・エンコーダのエンコード方
    であって、 前記下位ビット・エンコード・ステップが、 前記最高位上位ビット別グループよりも順位の低い上位
    ビット別グループに含 まれる入力線に与えられた真値入
    力を無効化するステップと、 前記無効化を行った後、前記コードの下位ビットが同一
    の各入力線群(以下、下位ビット別グループという)へ
    の真値入力を検出するステップと、 真値入力が検出された下位ビット別グループの中で順位
    が最も高い下位ビット別グループに対応する前記下位ビ
    ットを出力するステップとを含むプライオリティ・エン
    コーダのエンコード方法。
  11. 【請求項11】 それぞれに順位及びコードが付けられ
    た入力線の内、複数の入力線に真値入力が与えられる
    と、真値入力が与えられた入力線の中で前記順位が最も
    高い入力線に対応する前記コードを出力するために、 前記コードの上位ビットに基づいてグループ分けされた
    入力線群(以下、上位ビット別グループという)の内、
    真値入力が与えられた中で最も順位が高い上位ビット別
    グループ(以下、最高位上位ビット別グループという)
    に対応する前記上位ビットを出力する上位ビット・エン
    コード・ステップと、 前記最高位上位ビット別グループを構成し、各々が前記
    コードの下位ビットで区別される入力線の内、真値入力
    が与えられた中で最も順位が高い入力線に対応する前記
    下位ビットを出力する下位ビット・エンコード・ステッ
    プとを含むプライオリティ・エンコーダのエンコード方
    法であって、 前記下位ビット・エンコード・ステップが、 前記下位ビット別グループから前記最高位上位ビット別
    グループに含まれる入力線を選択するステップと、 前記各下位ビット別グループから選択した入力線の内、
    真値入力が与えられた中で順位が最も高い入力線に対応
    する前記下位ビットを出力するステップとを含むプライ
    オリティ・エンコーダのエンコード方法。
  12. 【請求項12】 前記上位ビット・エンコード・ステッ
    プが、 前記上位ビット別グループに含まれる入力線の少なくと
    も1つに真値入力が与えられたことを検出するステップ
    と、 真値入力が検出された上位ビット別グループの中で順位
    が最も高い上位ビット別グループに対応する前記上位ビ
    ットを出力するステップとを含む請求項10又は請求項
    11のプライオリティ・エンコーダのエンコード方 法。
JP30208899A 1999-10-25 1999-10-25 プライオリティ・エンコーダ及びそのエンコード方法 Expired - Fee Related JP3417472B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP30208899A JP3417472B2 (ja) 1999-10-25 1999-10-25 プライオリティ・エンコーダ及びそのエンコード方法
US09/694,528 US6462694B1 (en) 1999-10-25 2000-10-23 Priority encoder and encoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30208899A JP3417472B2 (ja) 1999-10-25 1999-10-25 プライオリティ・エンコーダ及びそのエンコード方法

Publications (2)

Publication Number Publication Date
JP2001144619A JP2001144619A (ja) 2001-05-25
JP3417472B2 true JP3417472B2 (ja) 2003-06-16

Family

ID=17904790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30208899A Expired - Fee Related JP3417472B2 (ja) 1999-10-25 1999-10-25 プライオリティ・エンコーダ及びそのエンコード方法

Country Status (2)

Country Link
US (1) US6462694B1 (ja)
JP (1) JP3417472B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2321466C (en) * 2000-09-29 2006-06-06 Mosaid Technologies Incorporated Priority encoder circuit and method
US7991947B2 (en) * 2002-12-30 2011-08-02 Micron Technology, Inc. Multi-priority encoder
US6864810B2 (en) 2003-07-24 2005-03-08 Micron Technology, Inc. Converting digital signals
US6831587B1 (en) 2003-07-31 2004-12-14 Micron Technology, Inc. Priority encoding
US7152141B2 (en) * 2003-07-31 2006-12-19 Micron Technology, Inc. Obtaining search results for content addressable memory
US7057546B1 (en) * 2004-06-18 2006-06-06 Xilinx, Inc. Binary priority encoder
US7839164B1 (en) 2009-05-14 2010-11-23 Lsi Corporation Low depth programmable priority encoders
US8022854B2 (en) * 2009-08-31 2011-09-20 Semtech Corporation Thermometer code transcoding and encoding methods and systems

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4346369A (en) * 1979-10-01 1982-08-24 Phillips Petroleum Company Keyboard encoder-decoder
JP2504312B2 (ja) * 1990-08-29 1996-06-05 三菱電機株式会社 プライオリティエンコ―ダ及びそれを備えたデ―タ処理装置
US5555397A (en) * 1992-01-10 1996-09-10 Kawasaki Steel Corporation Priority encoder applicable to large capacity content addressable memory
JP3029376B2 (ja) * 1994-07-15 2000-04-04 株式会社東芝 プライオリティエンコ−ダ
US5714949A (en) * 1995-01-13 1998-02-03 Matsushita Electric Industrial Co., Ltd. Priority encoder and variable length encoder using the same
US5964857A (en) * 1997-05-30 1999-10-12 Quality Semiconductor, Inc. Priority encoder for a content addressable memory system

Also Published As

Publication number Publication date
US6462694B1 (en) 2002-10-08
JP2001144619A (ja) 2001-05-25

Similar Documents

Publication Publication Date Title
US5555397A (en) Priority encoder applicable to large capacity content addressable memory
US20210082503A1 (en) Apparatuses, memories, and methods for address decoding and selecting an access line
JP2812262B2 (ja) 連想記憶装置
KR970049545A (ko) 프로그래머블 패리티 체킹 및 비교 회로
WO1983001880A1 (en) Programmable multiplexer
US5465234A (en) Semiconductor memory device having shifting circuit connected between data bus lines and data buffer circuits for changing connections therebetween
JP3417472B2 (ja) プライオリティ・エンコーダ及びそのエンコード方法
JPH07105726B2 (ja) プライオリティ・エンコーダ
US6263400B1 (en) Memory cells configurable as CAM or RAM in programmable logic devices
KR100298029B1 (ko) 배럴시프터
JPH0830435A (ja) プライオリティエンコ−ダ
US5448682A (en) Programmable multilayer neural network
US5768198A (en) Semiconductor memory having redundancy function in block write operation
JP2950276B2 (ja) 半導体記憶装置
US6675182B1 (en) Method and apparatus for performing rotate operations using cascaded multiplexers
US5504710A (en) Semiconductor memory device having a bit control circuit
GB2272088A (en) Rom burst transfer continuous read-out method
US5771268A (en) High speed rotator with array method
CA1260559A (en) Mask signal generator
US5724302A (en) High density decoder
JP2838033B2 (ja) 内容アドレス式メモリ
JP3214086B2 (ja) 桁上げ先見回路
JPS59225615A (ja) ゲ−トアレイ内のram構成方法
US6590511B2 (en) Retrievable memory capable of outputting a piece of data with respect to a plurality of results of retrieve
JPH05234395A (ja) 冗長アドレス一致検出回路

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080411

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees