説明

1ステージの遅延による投機的なアドレスデコーダ

アドレスレコーダを提供する。アドレスデコーダは、複数のデコーダ回路を備える。各デコーダ回路は、n−1個の入力を有する第1論理回路を含む第1ステージを有し、n−1個の入力は、各デコーダ回路に送られるn個の入力のサブセットである。各デコーダ回路は、第2論理回路および第3論理回路を含む第2ステージを更に有する。第2論理回路と第3論理回路の両方は、第1論理回路によって供給される出力を受け取る。また、第2論理回路は、nビットの別の1つを受け取り、第3論理回路はその補数を受け取る。第2論理回路と第3論理回路は、それぞれ第2出力と第3出力を供給する。アドレスデコーダは、デコーダ回路の1つの第2出力または第3出力の一方をアサートし、他のデコーダ回路の第2出力または第3出力の両方をディアサートすることによって、複数のアドレス選択出力の1つをアサートするように構成されている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、論理回路に関し、より詳細には、デコーダ回路に関する。
【背景技術】
【0002】
メモリアレイは、アドレスを供給することで、特定のロケーションでアクセスされる。それぞれのアドレスは特定のビット数を有する。多数のロケーションが含まれる大規模メモリアレイでは、多くのアドレスビット数が必要となる。このため、広いアドレス空間を有する大規模メモリアレイでは、アドレスをデコードするために多くの論理が必要となる。技術の進歩により、メモリ空間に対する要求が高まるのに伴い、アドレス空間が広がり、このため必要なアドレスデコーダの論理数が増えている。
【0003】
多くの場合、アドレスデコーダが大きくなると、論理の多さがメモリアクセス速度のボトルネックとなる。更に、広いアドレス空間に必要な論理を追加すると、かなりの回路面積や、電力、その他のリソースが消費されかねない。速度の向上と演算リソースの追加(広いメモリも含む)に対する要求は、回路面積および消費電力と相反する。このため、回路面積や、消費電力、動作速度を求める高い要求に関連する問題が、大きなアドレス空間をデコードすることに対する要求によって悪化している。
【発明の開示】
【0004】
アドレスデコーダと、アドレスのデコード方法とが開示される。一実施形態では、アドレスデコーダは、それぞれがアドレススライスを表している複数のデコーダ回路を有する。各デコーダ回路は、n−1個の入力を有する第1論理回路を含む第1ステージを有し、前記n−1個の入力は、各デコーダ回路に送られるn個の入力の一部である。各デコーダ回路は、第2論理回路および第3論理回路を含む第2ステージを更に有する。第2論理回路と第3論理回路は、いずれも、前記第1論理回路が供給する出力信号を受け取る。また、前記第2論理回路は、前記n−1ビットに含まれない前記nビットの別の1つを受け取り、前記第3論理回路はその補数を受け取る。前記第2論理回路と前記第3論理回路は、それぞれ第2出力信号と第3出力信号を供給する。前記アドレスデコーダは、前記デコーダ回路の1つの前記第2出力または前記第3出力信号の一方をアサートすることによって、複数のアドレス選択出力の1つをアサートするように構成されている。
【0005】
アドレスのデコード方法は、半分がnビットアドレスのアドレス信号を表しており、半分が前記アドレス信号の補数を表している2nビットを、アドレスデコーダに送るステップを含む。複数のビットスライスの各々のn−1ビットの組み合わせに対して第1論理関数が実行され、前記組み合わせは、各ビットスライスのそれぞれについて、別のビットスライスに対して一意である。前記第1論理関数は、第1出力信号を生成する。前記第1出力信号、および前記n−1ビットに含まれない前記nビットの1ビットに第2論理関数が実行され、前記第1出力および前記1ビットの補数に第3論理関数が実行される。一実施形態では、前記1ビットは、最下位アドレスビットであってもよく、前記n−1ビットは、アドレス信号および/またはその補数を含む信号の組み合わせの残りの最上位ビットである。前記第2論理回路と前記第3論理回路は、それぞれ第2出力信号と第3出力信号を生成する。前記アドレスデコーダは、前記複数のビットスライスの1つに対して、前記第2出力信号または第3出力信号の一方のアサートとしてアドレス選択出力を提供し、前記残りのビットスライスの各々では、第2出力信号と第3出力信号の両方がディアサートされる。
【0006】
以下の詳細な説明を読み、添付図面を参照することにより、本発明のほかの態様が明らかとなるであろう。
【0007】
本発明は、様々に変形されたり、代替形態を取り得るが、その特定の実施形態は、例として図面に図示され、かつ本明細書に詳細に記載される。しかし、図面およびその詳細な説明は、本発明を開示された特定の形状に限定するようには意図されてはおらず、逆に、本発明は、特許請求の範囲によって規定される本発明の趣旨および範囲に入るあらゆる変更、均等物および代替物を網羅するものであることが理解されるべきである。
【発明を実施するための最良の形態】
【0008】
図1は、アドレスデコーダの一実施形態を示す論理図である。図の実施形態では、アドレスデコーダ100は、複数のデコーダ回路200を備える。複数のデコーダ回路のそれぞれは、2ステージデコーダであり、アドレスビットのスライスに関連している。本実施形態では、デコードされるアドレスは、4アドレスビットを含む。しかし、この2ステージデコーダは、ステージを追加することなく、任意のサイズのアドレス空間に拡張することができる。
【0009】
デコードされるアドレスは、nビットアドレスである。アドレスデコーダは、2nビットの入力を受け取るように接続されており、この2nビットには、n個のアドレスビットと、n個のアドレスビットのそれぞれの補数が含まれる。各デコーダ回路200は、2n個の入力ビットを、アドレスビットのスライスに対応する組み合わせで受け取るように接続されている。このため、デコーダ回路200の特定の1つが受け取るビットの組み合わせは、他のデコーダ回路が受け取るビットの組み合わせに対して一意である。各デコーダ回路200が受け取るビットには、アドレス信号と、このアドレス信号の補数との組み合わせが含まれる。各デコーダ回路は、少なくとも1つの真のアドレス信号と、少なくとも1つの相補アドレス信号とを受け取るように接続されている。
【0010】
各デコーダ回路200が受け取るビットは、群に分割されている。第1群は、n−1であり、ビット各デコーダ回路200の第1ステージへの入力群として受信される。受信される各ビットは、当該ビットが真のアドレス信号の場合でも、その補数の場合でも、アドレス中のビット位置に対応している。各デコーダ回路200の第1ステージは、論理関数を実装しており、本例の場合は、図に示すゲートによってNOR関数が実装されている。デコーダ回路200のそれぞれに示すNORゲートは、n−1個の入力信号を受け取り、第1論理関数(本実施形態では論理NOR)を実行するように接続されている。第1の論理ゲートによって実行される論理関数により第1出力が生成され、これがノードN1に送られる。
【0011】
各デコーダ回路200によって受け取られる、分割されたビットの第2群には、真のアドレス信号とその補数とが含まれており、第1ビット群に含まれないビット位置に対応している。図の実施形態では、アドレスビットの最下位ビットとその補数が第2ステージに供給される。しかし、第2ステージに供給されるアドレス信号とその補数の特定のビット位置は、アドレス内の最上位から最下位までの、どのビット位置に対応していてもよい。概して、アドレスデコーダ100の第1ステージと第2ステージが受け取るビットは、特定の設計に合わせてどのような組み合わせに分割してもよく、第2ステージが受け取る特定のビットとその補数が、最下位アドレスビットに必ずしも対応していなくてもよい。
【0012】
各デコーダ回路200の第2ステージは、並列に動作するように構成された第2論理ゲートと第3論理ゲートを有し、本例では、第2論理ゲートと第3論理ゲートのそれぞれの出力に接続された反転器も有する。本実施形態では論理ゲートはNANDゲートである。本実施形態で実行される第2論理関数と第3論理関数には、NANDゲートとそれぞれに接続された反転器との組み合わせによって実行される論理関数が含まれる。各NANDゲートはノードN1に送られた第1出力を受け取るように接続されている。NANDゲートの一方は、真のアドレス信号(本実施形態ではA0)を受け取るように接続され、NANDゲートのもう一方は、アドレス信号の補数(本例ではA0X)を受け取るように接続されている。一方のNANDゲートの出力はノードN3に送られ、もう一方のNANDゲートの出力はノードN4に送られる。各デコーダ回路200は、ノードN3またはノードN4の信号を反転させることによって提供される一対の出力を有し、選択されているアドレススライスに対応する特定のデコーダ回路である。
【0013】
アドレスデコーダ100の機能の例をここに記載する。選択されているアドレスが、スライス2に関連するデコーダ回路の出力の一方である出力05に対応しているとする。このアドレスは、図中の例では16のうちの5番目のアドレスであり、ビット形式で“0101”で表現されるアドレスを有する。このアドレスが、その補数(1010)と共にアドレスデコーダ100に送られる。スライス2に対応するデコーダ回路200の第1ステージのNORゲートは、A3、A2XおよびA1を受信するように接続されている。0101の入力アドレスによれば、A3、A2XおよびA1の値は全て論理ゼロであり(A3=0、A2=1であるためA2X=0、A1=0)、このためノードN1が論理ハイにアサートされる。他のスライスに関連するそれぞれのデコーダ回路200では、スライス2に関連するデコーダ回路と受け取る入力信号の組み合わせが異なるため、ノードN1が論理0となる。
【0014】
出力05に関連するNANDゲートは、ノードN1上の信号と、A0に対応するアドレス信号を入力として受け取るように接続されている。出力04に関連するNANDゲートも、ノードN1上の信号と、アドレス信号A0の補数であるA0Xを受け取るように接続されている。ノード出力05に関連するNANDゲートに供給される入力信号の組み合わせにより、ノードN3が論理0となる。出力04に関連するNANDゲートに供給される入力信号の組み合わせにより、ノードN4が論理1となる。ノードN4上の論理1は、このノードに接続された反転器により、出力04で論理0となる。一方、ノードN3上の論理0は、それぞれに接続されている反転器により、出力05で論理1となり、このため、出力05が、0101の入力アドレスに対応する選択されているアドレス出力である。
【0015】
一般に、本実施形態における所定のスライスに関連するデコーダ回路200の出力を、以下の論理式によって迅速に求めることができる。任意のデコーダ回路の奇数番号の出力では、ノードN3の値=N1 NAND A0であり、このため、その対応する出力は、N3の補数であるN3Xに等しい。同様に、任意のデコーダ回路の偶数番号の出力では、ノードN4の値=N1 NAND A0Xであり、このため、その対応する出力は、N4の補数であるN4Xに等しい。ノードN1が、所定のアドレスの1つのビットスライスに対してのみ論理ハイとなるため、選択されているスライスと値A0を求めることにより、アドレスを迅速に求めることができる。
【0016】
各アドレススライスが、2以下のデコードステージで処理される図1に示すような回路構成を使用することにより、アドレス空間のサイズを問わず、高速なデコードが得られる。図の実施形態は、アドレススライスを追加して、N1出力を供給するNORゲート(あるいは別の実施形態では、実装可能な他の論理関数)に対する入力アドレスビット数を増やすだけで、任意のサイズのアドレス空間に拡張することができる。このため、非常に広いアドレス空間であっても、本明細書で説明した基本的な回路構成を使用することで、デコード操作を2ステージで実行することが可能となる。更に、遅延ステージが1つ(つまり第2ステージ)しかないため、アドレス空間のサイズに関わらず、遅延量が等しくなるような回路構成である。このため、アドレス空間のサイズに関わらず、アドレスのデコード時の遅延が実質的に等しくなり、この点は、アドレス空間が大きくなると遅延が大きくほかのタイプのアドレスデコーダとは対照的である。
【0017】
図2は、アドレスデコーダに使用される回路の一実施形態の模式図である。デコーダ回路200は、上で説明したアドレスデコーダ100に使用することができる回路の一実施形態である。図の実施形態では、デコーダ回路は、複数の入力トランジスタA1〜ANを備える。これらのトランジスタのそれぞれのゲート端子への入力は、図1に示した各デコーダ回路の第1ステージへのn−1個の入力の1つに対応している。これらの入力トランジスタは、結線NOR構成に構成されており、このため、これらのトランジスタの任意の1つのゲート端子に論理ハイ電圧が印加されると、ノードN1が論理ロー電圧となる。
【0018】
デコーダ回路200は、パスゲート(passgate)構成で接続された入力トランジスタ対も備える。トランジスタQ0のチャネルが、ノードN2(反転器I1によりノードN1の補数となる)とノードN3間に接続され、トランジスタQ0XのチャネルがノードN1とノードN4間に接続されている。これらのトランジスタの一方のゲート端子に論理ハイが印加されると、ノードN2上の論理値が、接続されているもう一方のノードに送られる。これらの2つのトランジスタへの入力値は互いの補数であるため、所定の時間に、これらのトランジスタの一方のみが作動している。
【0019】
2つの出力ノードの両方が、ノードN3とN4上の論理ハイを保持するように構成されたキーパー回路に接続されている。キーパーは、反転器の出力を変更して、これによりクローバー電流を最小化するために、ノードN3およびN4を大幅に引き下げることができる弱いキーパー回路であってもよい。
【0020】
デコーダ回路200は、アドレスを受け取る前に、プリチャージ動作をするように構成されている。本実施形態では、ノードN1、N3およびN4がプリチャージされる。このプリチャージ動作により、これらのノードがそれぞれ論理ハイ電圧となり、回路の出力O1,O2の両方が論理ロー電圧に下がる。このため、アドレスの受信時には、アドレスデコーダにある各デコーダ回路200のN1ノードは論理ハイ(このため、N2は論理ロー)になっている。アドレスを受信すると、N1ノードは、入力A1〜ANの少なくとも1つが論理ハイであるために、選択されているスライスに関連するデコーダ回路200以外は、放電されて論理ローとなる。しかし、選択されているビットスライスに関連するデコーダ回路200はハイに保持されるため、N2はローに保持され、このため、アドレスを受信すると、ノードN3またはN4の一方にノードN2のローが迅速に送られる。したがって、より高速なデコード動作が可能となる。要するに、プリチャージ動作が各デコーダ回路200のノードN1をハイに引き上げ、その後、第1ステージに供給されるn−1ビットを受信すると、選択されているビットスライスに関連するデコーダ回路200以外のN1がローに下がる。
【0021】
第1ステージがn−1ビットを受け取る前に、各デコーダ回路200のN1ノードをハイに引き上げることは、実質的には投機的デコードとなる。すなわち、アドレスデコーダ100のデコーダ回路200がアドレスビットを受け取る前に、各アドレススライス(選択しようとしているアドレスに関連するアドレススライスを含む)のノードN1上の電圧が、既に論理ハイ状態にされている。動作のこの時点で、各アドレススライスのノードN1上の電圧が論理ハイ状態であるため、ノードN2上の電圧は論理ロー状態であるが、ノードN3およびN4は、(プリチャージ動作により)論理ハイ状態である。上で説明したように、n−1個のアドレスビットを受け取った結果、選択されているビットスライスに関連するN1ノード以外の全てのデコーダ回路のN1ノードが、論理ロー状態に下がる。選択されているアドレススライスに関連するデコーダ回路200ではN1がハイに保持されるため、ノードN2はローである。このため、分割されたアドレスビットの第二群(本例ではA0およびA0X)を受け取ると、ノードN2のローが、選択されているアドレススライスのN3またはN4の一方に伝えられ、これにより、アドレスデコーダ100に供給されたアドレスに関連する出力がアサートされる。
【0022】
次に、回路の動作を図3を参照して以下で説明する。この図は、デコーダ回路200の真のデコード動作を示すタイミング図である。ここに示すタイミング図は、ビットA0が論理1の値を有し、更に、デコーダ回路が選択されているビットスライスに対応しているとする。クロック信号の立ち上がりエッジが受信され、僅かな遅延ののちに、デコーダ回路200でプリチャージ動作が開始される。プリチャージ動作は、プリチャージ入力(PCH)に低電圧を駆動することで開始され、これにより、それぞれの接続されたトランジスタがオンとなり、ノードN1、N3およびN4が論理ハイ状態(すなわち論理ハイ電圧)に引き上げられる。プリチャージ動作前に、N1が既に論理ハイ状態となっている場合もあるが、ここに示す例では、初期状態がロー状態であるという点に留意すべきである。
【0023】
プリチャージ動作後、短い遅延ののちに、アドレスデコーダに、アドレスビットとその補数とが送られる。デコーダ回路200は、それぞれのビットA1〜ANを受け取る。これらは、第1ステージに送られたn−1ビットに対応しており、デコーダ回路が、選択されているビットスライスに関連しているため、全てローである。各入力A1〜ANがローであるため、ノードN1は論理ハイ電圧に保持される(このため、N2は論理ロー電圧に保持される)。別の短い遅延ののちに、トランジスタQ0への入力でビットA0が受信され、これにより、このトランジスタがオンとなる。トランジスタQ0がオンになると、ノードN2上の論理ローの伝達が許可されて、これによりノードN3がローに引き下げられる(N4は、プリチャージと、図2に示すキーパー回路によりハイに保持される)。N3がローでN4がハイであるため、出力O1がアサートされ、出力O2はディアサート状態に保持される。
【0024】
この回路の動作は図4に更に詳しく示されている。この図は、デコーダ回路200の偽(false)デコード動作を示すタイミング図である。クロックの立ち上がりエッジとプリチャージ動作後に、デコーダ回路200がビットA1〜ANを受け取る。この場合、回路は、選択されているアドレススライスに関連しておらず、このためビットA1〜ANの少なくとも1つが論理ハイである。これらのビットの少なくとも1つが論理ハイであるため、トランジスタQ1〜QNの少なくとも1つがオンになる。これらのトランジスタの1つがオンになったため、ノードN1がローに引き下げられ、このため、ノードN2が反転器I1によってハイに駆動される。ノードN2がハイの場合、Q0またはQ0Xがオンかどうかに関わらず、ノードN3とN4がハイに保持される。この例では、A0がハイであるため、一部の実施形態でノードN3に僅かなグリッチが発生することがある。しかし、このグリッチは、出力経路に反転器を設けることで、容易にフィルタ除去することができる。
【0025】
特定の実施形態を参照して本発明を説明したが、これらの実施形態は例示であり、本発明の範囲がこれに制限されないことが理解されよう。記載した実施形態のどのような変形、変更、追加および改良も可能である。これらの変形、変更、追加および改良は、特許請求の範囲に詳述されている発明の範囲に含まれる。
【図面の簡単な説明】
【0026】
【図1】アドレスデコーダの一実施形態を示す論理図。
【図2】アドレスデコーダに使用される回路の一実施形態の模式図。
【図3】真のデコードの場合に、アドレスデコーダに使用される回路の一実施形態の真のデコード操作を示すタイミング図。
【図4】偽のデコードの場合に、アドレスデコーダに使用される回路の一実施形態の偽のデコード操作を示すタイミング図。

【特許請求の範囲】
【請求項1】
nビットアドレスをデコードするように構成されたアドレスデコーダ(100)であって、
それぞれがアドレススライスを表している複数のデコーダ回路(200)を備え、前記デコーダ回路の各々は、
n−1個の入力を有し、第1出力信号を供給するように構成された第1論理回路を含む第1ステージと、
前記第1出力信号を受け取るように結合された入力を有する第2論理回路、および前記第1出力信号を受け取るように結合された入力を有する第3論理回路を含む第2ステージとを有し、前記第2論理回路は、前記n−1ビットの1つを受け取るように更に結合され、前記第3論理回路は、前記n−1ビットの前記1つの補数を受け取るように更に結合され、前記第2論理回路は、第2出力信号を供給するように構成され、前記第3論理回路は、第3出力信号を供給するように構成されており、
前記アドレスデコーダは、前記複数のデコーダ回路の1つの前記第2出力または前記第3出力信号の一方をアサートすることによって、複数のアドレス選択出力の1つをアサートするように構成され、前記アドレス選択出力は、前記nビットアドレスに対応しているアドレスデコーダ。
【請求項2】
前記アドレスデコーダは、2n個の入力信号を受け取るように接続され、前記2n個の入力信号の半分はアドレス信号であり、前記2nの入力の半分は前記アドレス信号の補数である、請求項1に記載のアドレスデコーダ。
【請求項3】
前記複数のデコーダ回路の各々は、アドレス信号と相補アドレス信号との組み合わせを受け取るように結合されている、請求項2に記載のアドレスデコーダ。
【請求項4】
前記複数のデコーダ回路の特定の1つが受け取るアドレス信号と相補アドレス信号との前記組み合わせは、当該デコーダ回路が表している前記アドレススライスによって決まる、請求項3に記載のアドレスデコーダ。
【請求項5】
前記アドレスデコーダは、前記アドレスデコーダが前記nビットアドレスを受け取る前に、第1ノードでプリチャージ動作を実行することによって、前記複数のデコーダ回路のそれぞれの前記第1出力信号をアサートするように構成されている、請求項1に記載のアドレスデコーダ。
【請求項6】
アドレスのデコード方法であって、
半分がnビットアドレスのアドレス信号を表しており、半分が前記アドレス信号の補数を表している2nビットを、アドレスデコーダ(100)に送るステップと、
複数のビットスライスの各々の、nビット中のn−1ビットの組み合わせに対して、第1出力信号を供給する第1論理関数を実行するステップであって、前記n−1ビットの組み合わせは、前記複数のビットスライスのそれぞれについて、前記複数のビットスライスのほかのビットスライスに対して一意であるステップと、
前記第1出力信号および前記nビットの1つに対して実行され、第2出力信号を生成する第2論理関数を、前記複数のビットスライスの各々に実行するステップと、
前記第1出力信号および前記nビットの前記1つの補数に対して実行され、第3出力信号を生成する第3論理関数を、前記複数のビットスライスの各々に実行するステップと、
前記複数のビットスライスの1つに対して、前記第2出力信号または前記第3出力信号の一方をアサートすることによって、前記nビットアドレスに対応するアドレス選択出力を供給するステップと、を含む方法。
【請求項7】
前記第1論理関数からの出力が第1回路ノードに送られ、前記第1出力の反転が第2回路ノードに送られ、前記第1出力の前記反転が、第3ノードまたは第4ノードの一方に送られる、請求項6に記載の方法。
【請求項8】
前記アドレスデコーダに前記2nビットを送る前に、前記第1ノードでプリチャージ動作を実行することによって、前記複数のビットスライスのそれぞれについて前記第1出力信号をアサートするステップをさらに含む、請求項7に記載の方法。
【請求項9】
前記アドレスデコーダが前記2nビットを受け取ると、前記1つのデコーダ回路以外の前記第1出力信号をディアサートするステップをさらに含む、請求項8に記載の方法。
【請求項10】
前記アドレスデコーダに前記2nビットを送る前に、前記複数のビットスライスのそれぞれに対して、前記第3回路ノードおよび第4回路ノードの各々にプリチャージ関数を実行するステップをさらに含む、請求項7に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公表番号】特表2009−517980(P2009−517980A)
【公表日】平成21年4月30日(2009.4.30)
【国際特許分類】
【出願番号】特願2008−543309(P2008−543309)
【出願日】平成18年11月15日(2006.11.15)
【国際出願番号】PCT/US2006/044303
【国際公開番号】WO2007/061710
【国際公開日】平成19年5月31日(2007.5.31)
【出願人】(591016172)アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド (439)
【氏名又は名称原語表記】ADVANCED MICRO DEVICES INCORPORATED
【Fターム(参考)】