(57)【要約】【課題】カットダウン設計により入力されるデータのビット数が減少し、入力ビット空間が低減しても、従来例に比較して入力回路の仕様を大幅に変更せず、入力ビット空間によって、よりビット幅の多いビット空間を制御するビット空間制御回路を提供する【解決手段】本発明のビット空間制御回路は、内部で使用するビット空間の制御を、該ビット空間に比較してより少ないビット幅の入力ビット空間から入力されるデータにより制御するものであり、デコーダ１Ａ及びＳＲフリップフロップ２Ａからなるビット補完回路３と、デコーダ１Ｂ及びＳＲフリップフロップ２Ｂからなるビット補完回路４と、イクスクルーシブオア回路５と、インバータ６とを有し、ビット補完回路３及び４においてデータを生成する制御権を有する方が、ビット空間と入力ビット空間との差分である差分ビット空間のビットのデータを生成する。【選択図】図２
2010049724.tif 000002
【特許請求の範囲】
【請求項１】
所定数のビット幅から成るビット空間を、前記所定数より少ないビット幅からなる入力ビット空間で制御するビット空間制御回路であって、
前記入力ビット空間のデータからなるコマンドにより、前記ビット空間と前記入力ビット空間の差分のビット幅に対応する差分ビット空間におけるビットの補完データを生成するビット補完回路を有し、
当該差分ビット空間の補完データと次のタイミングにて入力される前記入力ビット空間のビットのデータとを組み合わせ、前記所定のビット幅から成るビット空間のデータを構成することを特徴とするビット空間制御回路。
【請求項２】
前記ビット補完回路が複数設けられ、
直前の前記補完データに基づいて、いずれかの前記ビット補完回路に対し、入力される前記コマンドをデコードする制御権が直前の補完データにより、与えられ、制御権を与えられたビット補完回路が予めデコード対象として設定された前記コマンドが入力されると、該コマンドをデコードし、新たな補完データを生成する順序回路の構成となっていることを特徴とする請求項１に記載のビット空間制御回路。
【請求項３】
前記ビット補完回路が、
第１の制御コードが入力されると第１の出力端子からワンショット信号を出力し、また第２の制御コードが入力されると第２の出力端子からワンショット信号を出力するデコーダと、
前記第１の出力端子にセット端子が接続され、前記第２の出力端子にリセット端子が接続されたＳＲラッチと
を有し、
複数の前記ビット補完回路における前記ＳＲラッチの出力信号の組合せにより、前記補完データが生成されることを特徴とする請求項２に記載のビット空間制御回路。
【請求項４】
複数の前記ビット補完回路各々がデコード結果として出力するワンショット信号に応じてカウント動作を行うカウンタをさらに有し、
前記カウンタの計数値を補完データとして出力することを特徴とする請求項２に記載のビット空間制御回路。
【請求項５】
複数の前記ビット補完回路各々から前記カウンタの計数値の組合せにより前記補完データを生成することを特徴とする請求項４に記載のビット空間制御回路。
【請求項６】
複数の前記ビット補完回路各々の出力端子に、各々入力端子が接続されたオア回路を有し、
該オア回路の出力端子を前記カウンタのクロック入力端子に接続し、制御権を有する前記ビット補完回路から出力されるワンショット信号に応じてカウント動作を行うことを特徴とする請求項請求項４または請求項５に記載のビット空間制御回路。
【請求項７】
前記ビット補完回路と同様の構成を有するビット設定回路を、前記ビット補完回路にそれぞれ対応して設け、
前記ビット補完回路は、第１の制御コードが入力されると、第１の出力端子から第１のワンショット信号を出力し、
前記ビット設定回路が第２の制御コードが入力されると、第２の出力端子から第２のワンショット信号を出力し、
前記カウンタは、前記第１のワンショット信号及び前記第２のワンショット信号に応じてカウント動作を行い、前記カウンタの出力端子に接続されたラッチ回路が、前記第２のワンショット信号により前記カウンタの出力をラッチし、該ラッチ回路の出力を補完データとすることを特徴とする請求項４に記載のビット空間制御回路。
【請求項８】
所定数のビット幅から成るビット空間を有し、半導体装置のテスト回路に設定されているいずれのテストを行うかを示すフラグを、前記所定数のビット幅のテストモードコードのデコード結果として出力するテストモードデコーダに対し、前記入力ビット空間のビットと前記補完データのビットとを組み合わせ、前記ビット空間のビットのビット幅のテストモードコードを生成することを特徴とする請求項１から請求項７のいずれかに記載のビット空間制御回路。
【請求項９】
メモリセルアレイと、
各々入出力ポートを有し、前記メモリセルアレイに共通に接続された複数の制御ブロックとを備え、
前記制御ブロックが、所定数のビット幅から成るビット空間を、前記所定数より少ないビット幅からなる入力ビット空間で制御するビット空間制御回路を備え、
前記ビット空間と前記入力ビット空間との差分のビット幅に対応する差分ビット空間におけるビットの補完データを用いて、いずれの前記制御ブロックが前記メモリセルアレイに対する制御権を有するかが制御されることを特徴とする半導体記憶装置。
【請求項１０】
前記入力ビット空間が、前記メモリセルアレイ内のメモリセルを選択するアドレスサイズと等しいことを特徴とする請求項９に記載の半導体記憶装置。
【請求項１１】
前記ビット空間制御回路が、前記差分ビット空間におけるビットを生成する複数のビット補完回路を有し、
各々の前記ビット補完回路が、前記入力ビット空間のビットである入力アドレスをデコードするデコーダと、当該デコーダの出力信号に応じてカウント動作を行うカウンタとを有し、
前記カウンタの計数値を前記補完データとして用いることを特徴とする請求項９に記載の半導体記憶装置。
【請求項１２】
前記ビット空間制御回路が、複数の前記ビット補完回路にそれぞれ対応して、前記ビット補完回路と同様の構成を有するビット設定回路を備え、
前記ビット補完回路は、第１の前記入力アドレスが入力されると、出力端子から第１のワンショット信号を出力し、
前記ビット設定回路は、第２の前記入力アドレスが入力されると、出力端子から第２のワンショット信号を出力し、
前記カウンタは、前記第１のワンショット信号及び前記第２のワンショット信号に応じてカウント動作を行い、前記カウンタの出力端子に接続されたラッチ回路が、前記第２のワンショット信号により前記カウンタの出力をラッチし、該ラッチ回路の出力を補完データとすることを特徴とする請求項１１に記載の半導体記憶装置。
【請求項１３】
所定数のビット幅から成るビット空間を、前記所定数より少ないビット幅からなる入力ビット空間で制御するビット空間制御方法であって、
ビット補完回路が前記入力ビット空間のデータからなるコマンドにより、前記ビット空間と前記入力ビット空間の差分のビット幅に対応する差分ビット空間におけるビットの補完データを生成し、
当該補完データと次のタイミングにて入力される前記入力ビット空間のビットのデータとを組み合わせることにより、前記所定のビット幅から成るビット空間のデータを構成することを特徴とするビット空間制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内部で使用するビット空間を、このビット空間よりビット幅の小さい入力ビット空間から入力されるデータにより制御するビット空間制御制回路に関する。
【背景技術】
【０００２】
シンクロナスＤＲＡＭ（以降、ＳＤＲＡＭ）には、データの読み出し及び書き込みの制御を示す動作モードを決定するコマンドを、モードレジスタで設定するため、モードレジスタセット（以後ＭＲＳ）なる命令が設けられている。
このＭＲＳは、バースト読み出しあるいは書き込みにおけるＣＡＳレイテンシ設定やバースト長設定などＳＤＲＡＭの動作モードを設定するための命令であるが、テスティング用途などのテストモードレジスタセット（以後ＴＭＲＳ）にも用いられる。
ＭＲＳにおいて、例えば、動作モード決定用コードとして使用するアドレスはビットＡ＜６：４＞（ＣＡＳレイテンシ設定）、Ａ３（ラップタイプ設定）、ビットＡ＜２：０＞（バースト長設定）とによって、ビットＡ＜６：０＞程度のビット幅が用いられる。ここで、ビットＡ＜Ｙ：Ｘ＞は、Ｘ〜Ｙのアドレスのビット範囲、例えば、ビットＡ＜２：０＞は、ビットＡ０、ビットＡ１、ビットＡ２のビットＡ０〜Ａ２を示し、ビットＡ＜１３＞はビットＡ１３を示している。
【０００３】
しかしながら、半導体記憶装置としてのＳＤＲＡＭが実際に有しているアドレスのビット幅は、例えば５１２ＭｂｉｔｓのＳＤＲＡＭで、ビットＡ＜１３：０＞を有する種類のものもあり、ＴＭＲＳとして用いる際、テストコードを可能な限り複数使用できるようにアドレスＡ７以降のビット、例えばアドレスＡ１３のビットまで使用することもある。
ところが、ＴＭＲＳとしてビットＡ＜６：０＞を超えてテストモードコードを設定している製品を、メモリ容量を削減するカットダウン設計などをした場合、アドレス空間が小さくなり、外部から入力されるアドレスのビット幅が小さくなる。
すなわち、ＴＭＲＳとしてビットＡ＜１３：７＞を含めてテストモードを設定していた場合、メモリ空間が小さくなると、例えば、入力されるアドレスがビットＡ＜１３：０＞ではなく、ビットＡ＜１２：０＞となると、アドレスＡ１３のビットに対応するテストコードを、テスト回路に対して入力することができなくなり、親製品（カットダウン設計を行う前の製品）のテストモードをそのまま流用することができない。
【０００４】
上述したように、ＭＲＳ（ＴＭＲＳを含む）に使用できるアドレスのビット幅が、カットダウン設計を行う前の親製品に対して１ビット減少する場合、親製品の既存のテスト回路におけるテストモードデコーダを用いて選択できるテストモードの数は、親製品の既存のテストモードの半数であり、２ビット減少の場合は１／４、ｎビット減少の場合は（１／２）のｎ乗の数となってしまう。
このような場合、従来においては、シリアル／パラレル変換を積極的に利用し、テストモードの設定に用いる入力ピンを絞り、時分割にモードコード（テストモードコードを含む）を入力し、ＭＲＳ（ＴＭＲＳを含む）をテスト回路内部において再構成し、再構成されたモードコードを親製品の既存のテストモードデコーダに投入して、既存のテストモードを選択して半導体記憶装置のテストを行っている（例えば、特許文献１及び特許文献２参照）。
【０００５】
また、他の従来例としては、シフトレジスタを用い、シフトレジスタのクロックを、あるテストモードで制御し、そのテストモードコードの投入回数でテストモードを選択する方法がある（例えば、特許文献３参照）。
この方法においては、テスト投入回数がテストモードコードに相当し、必要な入力ピンも、そのテストモードにエントリする分のみに絞られる。
また、テストプログラムに記述する際も、ループ記述を利用すれば、短く、単純に記述可能となる。
【特許文献１】特開平１１−３０６７９６号公報
【特許文献２】特開２０００−２５１４９７号公報
【特許文献３】特開２００２−２３０９９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、シリアル／パラレル変換を用いる場合、テストモードエントリのためのサイクルが、シリアル／パラレル変換に必要なクロックサイクル分の数だけ必要になり、また、投入するコードも、シリアル／パラレル変換を考慮して時分割に組みなおす必要が生じることになる。
また、ラムバス（登録商標）方式を用いたＳＤＲＡＭのように、クロックの立ち上がり及び立ち下がりのタイミングにて、時分割にモードコードを読み込み、分割して入力されるモードコードをまとめてパケットとして扱うタイプも、シリアル／パラレル変換を用いるタイプと同様な部類と考えられる。
【０００７】
上述した特許文献１及び２ように、テストモードコードを時分割してテストコードエントリを行うと、テストモードエントリ仕様に大きな変更が生じてしまう。
このため、親製品のテストプログラムを流用して、変更を行った後に使用する際、半導体記憶装置内部におけるテスト自体は変わらないが、テストモードコードが親製品と見かけ上において大きく異なり、テストモードコードの変更が煩雑となってしまう。
また、上記特許文献１において、１端子を用いてシリアル入力し、半導体記憶装置内部にて、テストモードコードを作成する場合、入力するテストモードコードを複数のコード入力行にて作成する必要がある。
すなわち、テストモードコードにおけるコード入力行を記述する際、各入力行のデータが異なるため、ループで記述することが難しく、コード入力行の種類が複数に渡り、テストモードコード長に対して使用可能な文字数の限界値が小さく、パターン発生器内に低速で大容量な低速パターンメモリを有するテスタにおけるプログラミングが困難となる。
【０００８】
また、特許文献３のように、テストモードコードの投入回数でテストモードを選択する場合、テストコードエントリに必要な時間を考慮すると、例えば、アドレスＡ０〜Ａ１３で選択されるときと同等な１６３８４通りを選択する場合、最後の１６３８４番目のテストモードを設定するためには１６３８４クロックが必要となる。
テスティング装置によっては、１クロックの時間を大きく取る必要がある装置もあり、特許文献３の場合には、１つのテストモードに入るのに大きな時間がかかってしまう欠点がある。  
さらに、テストモードは単独で使われる場合は少なく、複数のテストモードコードをエントリする際、テストコードエントリの処理にかなり長い時間を必要とすることになる。そのため、特許文献３のエントリ方法は、多数のテストモードを制御するには適当でない。
上述したように、アドレスピンが削減された際、親製品のテストモードを変更して使用する場合、従来のテストコードエントリの方法は使いにくい欠点を有している。
【０００９】
本発明は、このような事情に鑑みてなされたもので、例えば、カットダウン設計により入力データ（アドレス）のビット数が減少し、入力ビット空間のビット幅が低減しても、従来例に比較して入力回路の仕様を大幅に変更することなく、少ないビット幅の入力ビット空間によって、よりビット幅の多いビット空間を制御することができるビット空間制御回路を提供する。
【課題を解決するための手段】
【００１０】
本発明のビット空間制御回路は、所定数のビット幅から成るビット空間を、前記所定数より少ないビット幅からなる入力ビット空間で制御するビット空間制御回路であって、前記入力ビット空間のデータからなるコマンドにより、前記ビット空間と前記入力ビット空間の差分のビット幅に対応する差分ビット空間におけるビットの補完データを生成するビット補完回路を有し、当該差分ビット空間の補完データと次のタイミングにて入力される前記入力ビット空間のビットのデータとを組み合わせ、前記所定のビット幅から成るビット空間のデータを構成することを特徴とする。
【発明の効果】
【００１１】
以上説明したように、本発明によれば、あるビット空間をデコードすることで機能を選択するような構成に対し、そのビット空間より少ないビット幅の入力ビット空間にて、上記ビット空間を制御する場合、そのビット空間の一部、すなわちビット空間のビット幅と入力ビット空間のビット幅との差である差ビット空間のビットのデータ（補完データ）を、入力ビット空間のデータにより生成するようにし、この生成された差ビット空間のビットと、改めて入力した入力ビット空間のビットとを組み合わせることで、前記ビット空間のビットを形成している。
【００１２】
このため、本発明によれば、外部から入力する入力ビット空間のビット幅が、内部にて用いるビット空間のビット幅より少ない場合、例えば、カットダウン設計によって入力ビット空間のビット幅が削減され、内部のビット空間のビット幅をそのまま用いる場合においても、従来例のようにデータの入力仕様を大幅に変更することなく、内部回路のビット空間のビット幅より少ない入力ビット空間のビットにて、内部回路に対してビット幅を削減する前の元のビット空間のビット幅のデータを容易に与えることが可能となる。
したがって、本願発明によれば、カットダウン設計の前の親製品におけるビット空間のビット幅に対応して構成された上記内部回路の大幅な設計変更をする必要が無く、元の内部回路の機能を維持させることができる。
【発明を実施するための最良の形態】
【００１３】
＜第１の実施形態＞
以下、本発明の第１の実施形態によるビット空間制御回路を図面を参照して説明する。図１は同実施形態の構成例を示すブロック図である。本実施形態においては、従来例において説明したシンクロナスＤＲＡＭ等の半導体記憶装置におけるテストモードデコーダに入力されるアドレスデータのビット空間を例として説明する。
また、前提として、従来例に示したように、カットダウン設計する前の親製品に比較して、カットダウン設計された子製品において、アドレスのビット数が減少することにより、入力ビット空間のビット幅が削減されている。このとき、内部のテストモードデコーダ、テスト回路を親製品と同一の構成とし、かつテストモードエントリ時におけるテストモードコードの入力仕様も親製品の仕様と同様である。すなわち、半導体記憶装置内部のテストモードコードのビット幅は、親製品のビット空間のビット幅をそのまま利用した構成となっている。
【００１４】
図１において、本実施形態の半導体記憶装置１００は、ビット空間制御回路１１、テストモードデコーダ７、テスト回路１３及びメモリ領域１４を有している。ここで、メモリ領域１４には、メモリセルを選択するアドレスデコーダ、データの書き込み及び読み出しを制御する制御回路等が含まれている。また、アドレスデータであるビットＡ＜ｎ：０＞、すなわちビットＡ0〜Ａn（ｎ＝１，２，３，４，…）の入力を行う入力回路、及びデータの入出力を行う入出力回路は図示していない。
例えば、親製品がアドレスの１４ビット幅のビット空間であるビットＡ＜１３：０＞にて定義されたＴＭＲＳ（テストモードレジスタセット）を有していたのに対し、子製品においては、ビットＡ＜１２：０＞の入力ビット空間のビット幅（上記入力回路におけるビットＡ０〜Ａ１２の１３ビットに対応）にカットダウン設計されたとする。
そして、カットダウン設計した子製品においても、親製品と同様なビットＡ＜１３：０＞の１４ビット幅のビット空間にて定義されたＴＭＲＳを用い、内部回路のテストの処理を制御する構成を例とし、以下に本実施形態のビット空間制御回路１１におけるビット空間の拡張処理の説明を行う。
【００１５】
上記ビット空間制御回路１１は、外部から入力されるアドレスの入力ビット空間におけるビットＡ＜１２：０＞の１３ビットのビット幅を、ビットＡ＜１２：０＞の２回の入力により、テストモードコードのビットＡ＜１３：０＞の１４ビットのビット幅に拡張し、すなわち入力ビット空間を上記ビット空間へと拡張し、テストモードデコーダ７に対して拡張して生成した上記テストモードデータを出力する。すなわち、ビットＡ＜１２：０＞の１回目の入力により、ビット空間と入力ビット空間とのビット差、ここでは１ビットからなる差ビット空間（後述するＺ空間のビット）の補完データを生成し、この差ビット空間により、入力ビット空間のビットＡ＜１３＞を補完してビット空間を形成する。
テストモードデコーダ７は、入力されるテストモードコード（ビットＡ＜１３：０＞のビット幅）をデコードし、入力されたテストモードコードに対応したフラグを立て、このフラグをテスト制御信号としてテスト回路１３に対して出力する。
テスト回路１３は、入力されるテスト制御信号に対応して、メモリ領域１４のメモリセルに対する読み出し及び書き込み処理、入出力回路の動作など、予め各テスト制御信号に対して設定されたテストそれぞれの処理を行う。
【００１６】
次に、図１におけるビット空間制御回路１１の構成を図２を用いて説明する。図２は、ビット空間制御回路１１の構成例を示すブロック図であり、拡張した補完情報の出力先であるテストモードデコーダ７も記載されている。
本実施形態におけるビット空間制御回路１１は、デコーダ１Ａ及びＳＲ（セットリセット）フリップフロップ２Ａからなるビット補完回路３と、デコーダ１Ｂ及びＳＲフリップフロップ２Ｂからなるビット補完回路４と、イクスクルーシブオア回路５と、インバータ６とを有している。
デコーダ１Ａ及び１Ｂは、入力が１３ビットであり、２ビットの出力を有するとともに、動作の可否を設定するセレクト端子ＳＥＬを有している。
【００１７】
ここで、デコーダ１Ａは、上記セレクト端子ＳＥＬがインバータ６を介してイクスクルーシブオア回路５の出力と接続され、入力in-1からin-13各々に対して、ビットＡ＜１２：０＞におけるビットＡ＜０＞、ビットＡ＜１＞、ビットＡ＜２＞、…、ビットＡ＜１２＞がそれぞれ入力されており、出力端子out-1がＳＲフリップフロップ２Ａのセット端子Ｓに接続され、出力端子out-2がＳＲフリップフロップ２Ａのリセット端子Ｒに接続されている。
また、デコーダ１Ａは、ビットＡ＜１２：０＞がデータｓ１として入力された場合、出力端子out-1から１ショットパルスを、入力されるクロックCLKの立ち上がりにて出力し、一方、ビットＡ＜１２：０＞がデータｒ１として入力された場合、出力端子out-2から１ショットパルスを、入力されるクロックCLKの立ち上がりにて出力する。
ＳＲフリップフロップ２Ａは、出力端子Ｑの出力の初期値が「０」であり、入力端子Ｓにワンショットパルスが入力されると出力端子Ｑの出力を「１」として保持し、入力端子Ｒにワンショットパルスが入力されると出力端子Ｑの出力を「０」として保持する。
【００１８】
同様に、デコーダ１Ｂは、セレクト端子ＳＥＬがイクスクルーシブオア回路５の出力と直接に接続され、入力端子in-1からin-13各々に対して、ビットＡ＜１２：０＞におけるビットＡ＜０＞、ビットＡ＜１＞、ビットＡ＜２＞、…、ビットＡ＜１２＞がそれぞれ入力されており、出力端子out-1がＳＲフリップフロップ２Ｂのセット端子Ｓに接続され、出力端子out-2がＳＲフリップフロップ２Ｂのリセット端子Ｒに接続されている。
また、デコーダ１Ｂは、ビットＡ＜１２：０＞がデータｓ２として入力された場合、出力端子out-1から１ショットパルスを、入力されるクロックCLKの立ち上がりにて出力し、一方、ビットＡ＜１２：０＞がデータｒ２として入力された場合、出力端子out-2から１ショットパルスを、入力されるクロックCLKの立ち上がりにて出力する。
ＳＲフリップフロップ２Ｂは、出力端子Ｑの出力の初期値が「０」であり、入力端子Ｓにワンショットパルスが入力されると出力端子Ｑの出力を「１」として保持し、入力端子Ｒにワンショットパルスが入力されると出力端子Ｑの出力を「０」として保持する。
【００１９】
イクスクルーシブオア回路５は、２つの入力端子を有しており、一方の入力端子にＳＲフリップフロップ２Ａの出力端子Ｑが接続され、他方の入力端子にＳＲフリップフロップ２Ｂの出力端子Ｑが接続されている。
また、デコーダ１Ａは、セレクト端子ＳＥＬに「１」が入力されることにより選択されて動作する（制御権が与えられた状態）。
ここで、デコーダ１Ａは、セレクト端子ＳＥＬとイクスクルーシブオア回路５の出力端子との間にインバータ６が介挿されているため、イクスクルーシブオア回路５の出力端子が「０」の場合に、インバータ６により反転された「１」がセレクト端子ＳＥＬに入力するため動作することになる。
また、デコーダ１Ｂは、セレクト端子ＳＥＬに「１」が入力されると動作するため、イクスクルーシブオア回路５の出力端子と直接に接続されているため、イクスクルーシブオア回路５の出力端子が「１」の場合に動作する（制御権が与えられた状態）ことになる。
このように、ビット空間制御回路１１は、ＳＲフリップフロップ２Ａ及び２Ｂの保持している出力（直前の補完データ）に基づき、イクスクルーシブオア回路５が出力する「０」または「１」のデータにより、デコーダ１Ａまたは１Ｂいずれが動作可能となるかの順序回路が構成されている。
【００２０】
テストモードデコーダ７は、アドレスの入力が１４ビット幅（親製品のビット空間）であり、入力端子in-1からin-13各々に対し、１３ビット幅の入力ビット空間であるビットＡ＜１２：０＞におけるビットＡ＜０＞、ビットＡ＜１＞、ビットＡ＜２＞、…、ビットＡ＜１２＞がそれぞれ入力されており、１４ビット目のin-14に対してイクスクルーシブオア回路５の出力端子が接続されている。また、テストモードデコーダ７は、入力端子in-1〜in-14に入力されるテストモードコードに対応して、いずれのテストを行うかを示すフラグFlag1〜Flag16380を、それぞれ出力端子out-1〜out-2１４へ出力する。
ここで、テストモードデコーダ７は、ビット空間制御回路１１においてビット空間のビット幅の補完を行うために用いるビットＡ＜１３：０＞の１４ビット幅におけるビットデータ組み合わせとして、入力端子in-14に「０」が入力され、かつ上記データｓ１及びｒ１の組み合わせと、また入力端子in-14に「１」が入力され、かつ上記データｓ２及びｒ２の組み合わせの４通りのコード以外のテストモードコードをデコードする。
【００２１】
つまり、テストモードデコーダ７は、最大で、２の１４乗のビットデータの組み合わせの１６３８４通りから、上記４通りの組み合わせを差し引いた１６３８０通りのテストモードを選択できる。本実施形態においては、ここでは１６３８０通りのテストモードを選択できる場合にて説明する。
また、テストモードデコーダ７は、初期状態において、いずれのフラグ（Flag1〜Flag16380）も選択されておらず、すなわちフラグのいずれもが出力されておらず、各調査された１４ビット幅のビットＡ＜１３：０＞における１６３８０通りのビットデータの組み合わせにより各フラグが選択され、例えば、入力されるビットＡ＜１３：０＞において、入力端子in-14に「１」が入力され（イクスクルーシブオア回路５の出力であるビットＡ＜１３＞が「１」）、ビットＡ＜１２：０＞がデータｖ１の場合、フラグFlag16000が選択され、また、入力端子in-14に「０」が入力され（イクスクルーシブオア回路５の出力であるビットＡ＜１３＞が「０」）、ビットＡ＜１２：０＞がデータｖ２の場合、フラグFlag3が選択される。
【００２２】
ここで、親製品におけるテストモードデコーダ７は、ビットＡ＜１３：０＞入力の際、入力端子in-14に入力されるデータが外部から入力されるビットＡ＜１３＞により制御されていたものとする。
つまり、本実施形態のビット空間制御回路１１は、イクスクルーシブオア回路５の出力に、親製品において外部から入力されていたビットＡ＜１３＞の役割をさせ、入力ビット空間のビットＡ＜１２：０＞の入力により、親製品のビット空間のビットＡ＜１３：０＞相当のＴＭＲＳ制御を行うための、差ビット空間であるビットＡ＜１３＞を補完する補完データを生成し、内部にて使用するビット空間よりビット幅の小さい入力ビット空間を、内部にて使用するビット空間に拡張する。
なお、図２に示すクロック信号ＣＬＫは、ビット空間制御回路１１を動作させるためのクロックであり、動作の必要がないときは停止していてかまわない（後述する図９において詳述する）。この場合、後述するように外部入力コマンドＴＭＲＳが入力された際にのみ動作するクロック信号で良い。以降のタイミングチャートにおいても同様である。
【００２３】
次に、本実施形態におけるビット空間制御回路１１の動作を図２及び図３を用いて説明する。図３は、図２のビット空間制御回路１１の動作例を説明するタイミングチャートである。
初期状態として、ＳＲフリップフロップ２Ａの出力端子Ｑから出力されている信号Ｘと、ＳＲフリップフロップ２Ｂの出力端子Ｑから出力されている信号Ｙとがともに「０」であるため、イクスクルーシブオア回路５の出力する信号Ｚ（Ｚ空間のビットのデータ）も「０」である。このとき、信号Ｚが「０」であり、デコーダ１Ａのセレクト端子ＳＥＬに「１」の信号が入力されているため、ビット補完回路３にデータ生成、すなわち信号Ｚのデータの変更を行う制御権がある。
また、この時点において、テストモードデコーダ７は、入力端子in-14に対し、信号Ｚが「０」で入力されているため、ビットＡ＜１３＞が「１」に対応するＴＭＲＳの選択ができず、すなわちビットＡ＜１３＞が「０」に対応するＴＭＲＳの選択しかできない状態にある。
そして、ビットＡ＜１３＞が「１」に対応するＴＭＲＳの選択を行う場合、イクスクルーシブオア回路５の出力する信号Ｚを「１」にする必要がある。
【００２４】
時刻ｔ１において、ビットＡ＜１２：０＞がデータｓ１が入力されている状態にて、クロック信号ＣＬＫが入力されると、デコーダ１Ａは、クロック信号ＣＬＫのち上がりにて出力端子out-1からワンショットパルスを、ＳＲフリップフロップ２Ａの入力端子Ｓに対して出力する。このとき、テストモードデコーダ７は、入力端子in-14に「０」が入力され、デコーダ１Ａと同様に、入力端子in-1からin-13にデータｓ１が入力されるが、このデータの組み合わせが予めフラグを出力する組み合わせとして設定されていないため、いずれのフラグも出力されない。
これにより、ＳＲフリップフロップ２Ａは、入力端子Ｓにワンショットパルスが入力されることにより、出力端子Ｑから出力する出力信号Ｘを「０」から「１」に遷移させる。
信号Ｘが「１」となり、信号Ｙが「０」のままであるため、イクスクルーシブオア回路５は出力信号Ｚを「０」から「１」へ遷移させる。
そして、テストモードデコーダ７は、入力端子in-14に対し、ビットＡ＜１３＞として「１」が入力されることで、ビットＡ＜１３＞が「１」に相当するテストコードのＴＭＲＳの制御を行うことができる状態となる。また、データを生成する制御権がビット補完回路３からビット補完回路４へ移行する。
【００２５】
次に、時刻ｔ２において、ビットＡ＜１２：０＞がデータｖ１として入力され、クロック信号ＣＬＫが入力されると、テストモードデコーダ７は、ビットＡ＜１３＞が「１」であり、ビットＡ＜１２：０＞がデータｖ１の組み合わせとして設定されているフラグFlag16000をデコード結果として、例えば「１」を出力する。
このとき、ビット空間制御回路１１において、信号Ｚが「１」に変化したため、データ生成の制御権がビット補完回路４に移行している。
しかしながら、デコーダ１Ｂは、データｖ１でワンショットを生成する設定とはなっていないため、出力端子out-1及びout-2のいずれからもワンショット信号を出力しない。
このため、ＳＲフリップフロップ２Ｂは、出力端子Ｑから出力する信号Ｙを「０」のまま保持する。
【００２６】
次に、時刻ｔ３において、ビットＡ＜１２：０＞がデータｓ２が入力されている状態にて、クロック信号ＣＬＫが入力されると、デコーダ１Ｂは、ロック信号ＣＬＫの立ち上がりにおいて、出力端子out-1からワンショットパルスを、ＳＲフリップフロップ２Ｂの入力端子Ｓに対して出力する。このとき、テストモードデコーダ７は、入力端子in-14に「１」が入力され、デコーダ１Ｂと同様に、入力端子in-1からin-13にデータｓ２が入力されるが、このデータの組み合わせが予めフラグを出力する組み合わせとして設定されていないため、いずれのフラグも出力しない。
これにより、ＳＲフリップフロップ２Ｂは、入力端子Ｓにワンショットパルスが入力されることにより、出力端子Ｑから出力する出力信号Ｙを「０」から「１」に遷移させる。
信号Ｙが「１」となり、信号Ｘが「１」のままであるため、イクスクルーシブオア回路５は出力信号Ｚを「１」から「０」へ遷移させる。
そして、テストモードデコーダ７は、入力端子in-14に対し、ビットＡ＜１３＞として「０」が入力されることで、ビットＡ＜１３＞が「０」に相当するテストコードのＴＭＲＳの制御を行うことができる状態となる。また、データを生成する制御権がビット補完回路４からビット補完回路３へ移行する。
【００２７】
次に、時刻ｔ４において、ビットＡ＜１２：０＞がデータｖ２として入力され、クロック信号ＣＬＫが入力されると、テストモードデコーダ７は、ビットＡ＜１３＞が「０」であり、ビットＡ＜１２：０＞がデータｖ２の組み合わせとして設定されているフラグFlag3をデコード結果として、例えば「１」として出力する。
このとき、ビット空間制御回路１１において、信号Ｚが「０」に変化したため、データ生成の制御権がビット補完回路３に移行している。
しかしながら、デコーダ１Ａは、データｖ２てワンショットを生成する設定とはなっていないため、出力端子out-1及びout-2のいずれからもワンショット信号を出力しない。
このため、ＳＲフリップフロップ２Ｂは、出力端子Ｑから出力する信号Ｙを「１」のまま保持する。
【００２８】
次に、時刻ｔ５において、ビットＡ＜１２：０＞がデータｒ１が入力されている状態にて、クロック信号ＣＬＫが入力されると、デコーダ１Ａは、出力端子out-2からワンショットパルスを、ＳＲフリップフロップ２Ａの入力端子Ｒに対して出力する。このとき、テストモードデコーダ７は、入力端子in-14に「０」が入力され、デコーダ１Ａと同様に、入力端子in-1からin-13にデータｒ１が入力されるが、このデータの組み合わせが予めフラグを出力する組み合わせとして設定されていないため、いずれのフラグも出力されない。
これにより、ＳＲフリップフロップ２Ａは、入力端子Ｒにワンショットパルスが入力されることにより、出力端子Ｑから出力する出力信号Ｘを「１」から「０」に遷移させる。
信号Ｘが「０」となり、信号Ｙが「１」のままであるため、イクスクルーシブオア回路５は出力信号Ｚを「０」から「１」へ遷移させる。
そして、テストモードデコーダ７は、入力端子in-14に対し、ビットＡ＜１３＞として「０」が入力されることで、ビットＡ＜１３＞が「０」に相当するテストコードのＴＭＲＳの制御を行うことができる状態となる。また、データを生成する制御権がビット補完回路３からビット補完回路４へ移行する。
【００２９】
次に、時刻ｔ６において、ビットＡ＜１２：０＞がデータｒ２が入力されている状態にて、クロック信号ＣＬＫが入力されると、デコーダ１Ｂは、出力端子out-2からワンショットパルスを、ＳＲフリップフロップ２Ｂの入力端子Ｒに対して出力する。このとき、テストモードデコーダ７は、入力端子in-14に「１」が入力され、デコーダ１Ｂと同様に、入力端子in-1からin-13にデータｒ２が入力されるが、このデータの組み合わせが予めフラグを出力する組み合わせとして設定されていないため、いずれのフラグも出力されない。
これにより、ＳＲフリップフロップ２Ｂは、入力端子Ｒにワンショットパルスが入力されることにより、出力端子Ｑから出力する出力信号Ｙを「１」から「０」に遷移させる。
信号Ｙが「０」となり、信号Ｘが「０」のままであるため、イクスクルーシブオア回路５は出力信号Ｚを「１」から「０」へ遷移させる。
そして、テストモードデコーダ７は、入力端子in-14に対し、ビットＡ＜１３＞として「０」が入力されることで、ビットＡ＜１３＞が「０」に相当するテストコードのＴＭＲＳの制御を行うことができる状態となる。また、データを生成する制御権がビット補完回路４からビット補完回路３へ移行する。
上述した動作により、出力信号のＺの制御シーケンスの一周期が一巡したことになる。
【００３０】
上述したように、親製品をカットダウン設計を行うことにより、削減されたビットＡ＜１３＞に相当するビットデータを、ビット空間制御回路１１により出力信号Ｚとして生成して出力する。そして、ビット空間制御回路１１は、出力信号Ｚが「０」の場合に、出力信号Ｚを制御可能な回路としてビット補完回路３を選択する様にし、また、出力信号Ｚが「１」の場合に、出力信号Ｚを制御可能な回路としてビット補完回路４を選択する様に構成されている。
このため、互いに出力信号Ｚの反転制御を行うことにより、「Ｚ」が「０」の状態と、Ｚが「１」の状態とを自由に行き来できるようになり、省略されたビットＡ＜１３＞が入力されているのと同じ状態を作り出す。
すなわち、この場合、ビットＡ＜１２：０＞が入力されるアドレスのビット幅であり、このビット幅の入力ビット空間が、外部から入力されるビットＡ＜１２：０＞により制御可能な範囲である。そして、出力信号Ｚの値を変更することにより、「０」または「１」いずれのビットＡ＜１３＞に相当するビット空間が制御可能かを切り替えることができる。入力されるビットＡ＜１２：０＞によるコマンド（データｓ１、ｓ２、ｒ１、ｒ２）により、信号ＸまたはＹが各ビット補完回路３、４から出力され、これら信号Ｘ及びＹにより決定される出力信号Ｚによって、現在制御権を持っているビット空間から、この制御権が移動する先のビット空間を決める制御が行われる。
【００３１】
上述した構成により、本実施形態においては、カットダウン設計によりアドレスのビット数が減少し、入力ビット空間低減しても、差ビット空間におけるビットのデータを入力ビット空間に入力するコマンドのデータ（ｓ１、ｓ２など）により補完することにより、従来例に比較してテストコードの入力仕様を大幅に変更することなく、少ない入力ビット空間によって、カットダウン設計前の親製品の入力ビット空間によって設定可能なテストモード数を維持することができる。
【００３２】
＜第２の実施形態＞
以下、本発明の第２の実施形態によるビット空間制御回路を図面を参照して説明する。図４は同実施形態の構成例を示すブロック図である。本実施形態においても、第１の実施形態と同様に、従来例において説明したシンクロナスＤＲＡＭ（半導体記憶装置）におけるテストモードデコーダに入力されるアドレスデータのビット空間を例として説明する。
第１の実施形態に説明した図２のイクスクルーシブオア回路５の反転動作を考えると、信号Ｘの値をスタートアドレスとすると、信号Ｙの値がカウント後のアドレスに相当し、信号Ｙの値をスタートアドレスとすると、信号Ｘの値がカウント後のアドレスに相当し、出力信号が信号Ｘと信号Ｙとの値の加算値となっていることが分かる。
すでに説明した第１の実施形態の場合、信号Ｘ及び信号Ｙの現在値を使用者が記憶しておき、セット命令とリセット命令を使い分ける必要がある。本実施形態においては、記憶部分を回路として構成し、カウントアップの起動命令のみにて、この回路を制御する。以下、第１の実施形態と異なる構成及び動作のみを説明する。
【００３３】
図４は、図１のビット空間制御回路１１における第２の実施形態によるビット空間制御回路１１の構成例を示すブロック図である。本実施形態によるビット空間制御回路と、テストモードデコーダ７との接続については、第１の実施形態における図２と同様である。
本実施形態におけるビット空間制御回路１１は、デコーダ１０１Ａ及びトグルフリップフロップ１０２Ａからなるビット補完回路３と、デコーダ１０１Ｂ及びトグルフリップフロップ１０２Ｂからなるビット補完回路４と、イクスクルーシブオア回路５と、インバータ６とを有している。
デコーダ１０１Ａ及び１０１Ｂは、入力が１３ビットであり、１ビットの出力を有するとともに、動作の可否を設定するセレクト端子ＳＥＬを有している。
【００３４】
ここで、デコーダ１０１Ａは、セレクト端子ＳＥＬがイクスクルーシブオア回路５の出力とインバータ６を介して接続され、入力in-1からin-13各々に対して、ビットＡ＜１２：０＞におけるビットＡ＜０＞、ビットＡ＜１＞、ビットＡ＜２＞、…、ビットＡ＜１２＞がそれぞれ入力されており、出力端子out-1がトグルフリップフロップ１０２Ａのクロック端子に接続されている。
また、デコーダ１０１Ａは、ビットＡ＜１２：０＞がデータｓ１として入力された場合、出力端子out-1からワンショットパルス（カウントアップの起動命令）を、入力されるクロック信号ＣＬＫの立ち上がりにて出力する。
トグルフリップフロップ１０２Ａは、出力端子Ｑの出力の初期値が「０」であり、クロック端子にワンショットパルスが入力されると出力端子Ｑの出力を「０」から「１」として保持し、次に、クロック端子にワンショットパルスが入力されると出力端子Ｑの出力を「１」から「０」として保持する。
【００３５】
同様に、デコーダ１Ｂは、セレクト端子ＳＥＬがイクスクルーシブオア回路５の出力と直接に接続され、入力端子in-1からin-13各々に対して、ビットＡ＜１２：０＞におけるビットＡ＜０＞、ビットＡ＜１＞、ビットＡ＜２＞、…、ビットＡ＜１２＞がそれぞれ入力されており、出力端子out-1がトグルフリップフロップ１０２Ｂのクロック端子に接続されている。
また、デコーダ１０１Ｂは、ビットＡ＜１２：０＞がデータｓ２として入力された場合、出力端子out-1からワンショットパルスを、入力されるクロックCLKの立ち上がりにて出力する。
トグルフリップフロップ１０２Ａは、Ｄフリップフロップの出力端子ＱＢ（出力端子Ｑの反転信号、すなわち相補出力を出力する端子／Ｑ）と、データ入力端子Ｄとが接続されて構成されている。
トグルフリップフロップ１０２Ｂは、出力端子Ｑの出力の初期値が「０」であり、クロック端子にワンショットパルスが入力されると出力端子Ｑの出力を「０」から「１」として保持し、次に、クロック端子にワンショットパルスが入力されると出力端子Ｑの出力を「１」から「０」として保持する。
トグルフリップフロップ１０２Ｂは、Ｄフリップフロップの出力端子ＱＢ（出力端子Ｑの反転信号を出力する端子）と、データ入力端子Ｄとが接続されて構成されている。
【００３６】
イクスクルーシブオア回路５は、２つの入力端子を有しており、一方の入力端子にトグルフリップフロップ１０２Ａの出力端子Ｑが接続され、他方の入力端子にトグルフリップフロップ１０２Ｂの出力端子Ｑが接続されている。
また、デコーダ１０１Ａは、セレクト端子ＳＥＬに「１」が入力されると動作するため、セレクト端子ＳＥＬとイクスクルーシブオア回路５の出力端子との間にインバータ６が介挿されているため、イクスクルーシブオア回路５の出力端子が「０」の場合に動作することになる。
また、デコーダ１０１Ｂは、セレクト端子ＳＥＬに「１」が入力されると動作するため、イクスクルーシブオア回路５の出力端子と直接に接続されているため、イクスクルーシブオア回路５の出力端子が「１」の場合に動作することになる。
このように、ビット空間制御回路１１は、トグルフリップフロップ１０２Ａ及び１０２Ｂの保持している出力に基づき、イクスクルーシブオア回路５が出力する「０」または「１」のデータにより、デコーダ１０１Ａまたは１０１Ｂいずれが動作可能となるかの順序回路が構成されている。
【００３７】
次に、本実施形態におけるビット空間制御回路１１の動作を図４び図５を用いて説明する。図５は、図４のビット空間制御回路１１の動作例を説明するタイミングチャートである。
初期状態として、トグルフリップフロップ１０２Ａの出力端子Ｑから出力されている信号Ｘと、トグルフリップフロップ１０２Ｂの出力端子Ｑから出力されている信号Ｙとがともに「０」であるため、イクスクルーシブオア回路５の出力する信号Ｚも「０」である。このとき、信号Ｚが「０」であり、デコーダ１０１Ａのセレクト端子ＳＥＬに「１」の信号が入力されているため、ビット補完回路３にデータ生成、すなわち信号Ｚのデータの変更を行う制御権がある。
また、この時点において、テストモードデコーダ７は、入力端子in-14に対し、信号Ｚが「０」で入力されているため、ビットＡ＜１３＞が「１」に対応するＴＭＲＳの選択ができず、すなわちビットＡ＜１３＞が「０」に対応するＴＭＲＳの選択しかできない状態にある。
そして、ビットＡ＜１３＞が「１」に対応するＴＭＲＳの選択を行う場合、イクスクルーシブオア回路５の出力する信号Ｚを「１」にする必要がある。
【００３８】
時刻ｔ１において、ビットＡ＜１２：０＞がデータｓ１が入力されている状態にて、クロック信号ＣＬＫが入力されると、デコーダ１０１Ａは、出力端子out-1からワンショットパルスを、トグルフリップフロップ１０２Ａのクロック端子に対して出力する。このとき、テストモードデコーダ７は、入力端子in-14に「０」が入力され、デコーダ１０１Ａと同様に、入力端子in-1からin-13にデータｓ１が入力されるが、このデータの組み合わせが予めフラグを出力する組み合わせとして設定されていないため、いずれのフラグも出力されない。
これにより、トグルフリップフロップ１０２Ａは、クロック端子にワンショットパルスが入力されることにより、出力端子Ｑから出力する出力信号Ｘを「０」から「１」に遷移させる。
信号Ｘが「１」となり、信号Ｙが「０」のままであるため、イクスクルーシブオア回路５は出力信号Ｚを「０」から「１」へ遷移させる。
そして、テストモードデコーダ７は、入力端子in-14に対し、ビットＡ＜１３＞として「１」が入力されることで、ビットＡ＜１３＞が「１」に相当するテストコードのＴＭＲＳの制御を行うことができる状態となる。また、データを生成する制御権がビット補完回路３からビット補完回路４へ移行する。
【００３９】
次に、時刻ｔ２において、ビットＡ＜１２：０＞がデータｖ１として入力され、クロック信号ＣＬＫが入力されると、テストモードデコーダ７は、ビットＡ＜１３＞が「１」であり、ビットＡ＜１２：０＞がデータｖ１の組み合わせとして設定されているフラグFlag16000をデコード結果として、例えば「１」として出力する。
このとき、ビット空間制御回路１１において、信号Ｚが「１」に変化したため、データ生成の制御権がビット補完回路４に移行している。
しかしながら、デコーダ１０１Ｂは、データｖ１でワンショットを生成する設定とはなっていないため、出力端子out-1からワンショット信号を出力しない。
このため、トグルフリップフロップ１０２Ｂは、出力端子Ｑから出力する信号Ｙを「０」のまま保持する。
【００４０】
次に、時刻ｔ３において、ビットＡ＜１２：０＞がデータｓ２が入力されている状態にて、クロック信号ＣＬＫが入力されると、デコーダ１０１Ｂは、出力端子out-1からワンショットパルスを、トグルフリップフロップ１０２Ｂのクロック端子に対して出力する。このとき、テストモードデコーダ７は、入力端子in-14に「１」が入力され、デコーダ１０１Ｂと同様に、入力端子in-1からin-13にデータｓ２が入力されるが、このデータの組み合わせが予めフラグを出力する組み合わせとして設定されていないため、いずれのフラグも出力されない。
これにより、トグルフリップフロップ１０２Ｂは、クロック端子にワンショットパルスが入力されることにより、出力端子Ｑから出力する出力信号Ｙを「０」から「１」に遷移させる。
信号Ｙが「１」となり、信号Ｘが「１」のままであるため、イクスクルーシブオア回路５は出力信号Ｚを「１」から「０」へ遷移させる。
そして、テストモードデコーダ７は、入力端子in-14に対し、ビットＡ＜１３＞として「０」が入力されることで、ビットＡ＜１３＞が「０」に相当するテストコードのＴＭＲＳの制御を行うことができる状態となる。また、データを生成する制御権がビット補完回路４からビット補完回路３へ移行する。
【００４１】
次に、時刻ｔ４において、ビットＡ＜１２：０＞がデータｖ２として入力され、クロック信号ＣＬＫが入力されると、テストモードデコーダ７は、ビットＡ＜１３＞が「０」であり、ビットＡ＜１２：０＞がデータｖ２の組み合わせとして設定されているフラグFlag3をデコード結果として、例えば「１」として出力する。
このとき、ビット空間制御回路１１において、信号Ｚが「０」に変化したため、データ生成の制御権がビット補完回路３に移行している。
しかしながら、デコーダ１０１Ａは、データｖ２でワンショットを生成する設定とはなっていないため、出力端子out-1からワンショット信号を出力しない。
このため、トグルフリップフロップ１０２Ｂは、出力端子Ｑから出力する信号Ｙを「１」のまま保持する。
【００４２】
次に、時刻ｔ５において、ビットＡ＜１２：０＞がデータｓ１が入力されている状態にて、クロック信号ＣＬＫが入力されると、デコーダ１０１Ａは、出力端子out-1からワンショットパルスを、トグルフリップフロップ１０２Ａのクロック端子に対して出力する。このとき、テストモードデコーダ７は、入力端子in-14に「０」が入力され、デコーダ１０１Ａと同様に、入力端子in-1からin-13にデータｓ１が入力されるが、このデータの組み合わせが予めフラグを出力する組み合わせとして設定されていないため、いずれのフラグも出力されない。
これにより、トグルフリップフロップ１０２Ａは、クロック端子にワンショットパルスが入力されることにより、出力端子Ｑから出力する出力信号Ｘを「１」から「０」に遷移させる。
信号Ｘが「０」となり、信号Ｙが「１」のままであるため、イクスクルーシブオア回路５は出力信号Ｚを「０」から「１」へ遷移させる。
そして、テストモードデコーダ７は、入力端子in-14に対し、ビットＡ＜１３＞として「０」が入力されることで、ビットＡ＜１３＞が「０」に相当するテストコードのＴＭＲＳの制御を行うことができる状態となる。また、データを生成する制御権がビット補完回路３からビット補完回路４へ移行する。
【００４３】
次に、時刻ｔ６において、ビットＡ＜１２：０＞がデータｓ２が入力されている状態にて、クロック信号ＣＬＫが入力されると、デコーダ１０１Ｂは、出力端子out-1からワンショットパルスを、トグルフリップフロップ１０２Ｂのクロック端子に対して出力する。このとき、テストモードデコーダ７は、入力端子in-14に「１」が入力され、デコーダ１０１Ｂと同様に、入力端子in-1からin-13にデータｓ２が入力されるが、このデータの組み合わせが予めフラグを出力する組み合わせとして設定されていないため、いずれのフラグも出力されない。
これにより、トグルフリップフロップ１０２Ｂは、クロック端子にワンショットパルスが入力されることにより、出力端子Ｑから出力する出力信号Ｙを「１」から「０」に遷移させる。
信号Ｙが「０」となり、信号Ｘが「０」のままであるため、イクスクルーシブオア回路５は出力信号Ｚを「１」から「０」へ遷移させる。
そして、テストモードデコーダ７は、入力端子in-14に対し、ビットＡ＜１３＞として「０」が入力されることで、ビットＡ＜１３＞が「０」に相当するテストコードのＴＭＲＳの制御を行うことができる状態となる。また、データを生成する制御権がビット補完回路４からビット補完回路３へ移行する。
上述した動作により、出力信号のＺの制御シーケンスの一周期が一巡したことになる。
【００４４】
上述したように、信号Ｘを制御するのは出力信号Ｚを「０」から「１」に制御させたい場合であり、信号Ｙを制御するのは出力信号Ｚを「１」から「０」に制御させたい場合である。図５から分かるように、第１の実施形態におけるＳＲフリップフロップを、トグルフリップフロップに変更したため、それぞれ１種類のデータ（ｓ１及びｓ２）のみで、出力信号Ｚのデータの変更ができるため、第１の実施形態に比較して制御性が向上する。
【００４５】
＜第３の実施形態＞
以下、本発明の第３の実施形態によるビット空間制御回路を図面を参照して説明する。図６は同実施形態の構成例を示すブロック図である。本実施形態においても、第１の実施形態と同様に、従来例において説明したシンクロナスＤＲＡＭ（半導体記憶装置）におけるテストモードデコーダに入力されるアドレスデータのビット空間を例として説明する。
第１の実施形態をさらに簡易な回路として変形すると、本実施形態においては、出力信号Ｚをカウンタから直接に出力させ、このカウンタを出力信号Ｚが「０」のときに制御権を有しているビット補完回路、出力信号Ｚが「１」のときに制御権を有しているビット補完回路の双方のいずれかにより駆動する構成を用いている。以下、第１及び第２の実施形態と異なる構成及び動作のみを説明する。
【００４６】
図６は、図１のビット空間制御回路１１における第３の実施形態によるビット空間制御回路１１の構成例を示すブロック図である。本実施形態によるビット空間制御回路と、テストモードデコーダ７との接続については、第１の実施形態における図２と同様である。
本実施形態におけるビット空間制御回路１１は、デコーダ１０１Ａからなるビット補完回路３と、デコーダ１０１Ｂからなるビット補完回路４と、インバータ６と、トグルフリップフロップ１０４と、オア回路１０５を有している。
デコーダ１０１Ａ及び１０１Ｂについては第２の実施形態と同様な構成であるため、説明を省略する。
【００４７】
オア回路１０５は、２入力であり、一方の入力端子にデコーダ１０１Ａの出力端子out-1が接続され、他方の入力端子にデコーダ１０１Ｂの出力端子out-1が接続されている。
このため、オア回路１０５は、デコーダ１０１Ａまたはデコーダ１０１Ｂのいずれかからワンショットパルスが入力されると、このワンショットパルスをトグルフリップフロップ１０４のクロック端子に対して出力する。
トグルフリップフロップ１０４は、第２の実施形態のトグルフリップフロップ１０２Ａ（あるいは１０２Ｂ）と同様の構成であり、クロック端子にオア回路１０５の出力端子が接続されている。
【００４８】
このため、トグルフリップフロップ１０４は、１ビットカウンタを構成しており、オア回路１０５からワンショットパルスが入力されるごとに出力が「０」→「１」→「０」と、出力の状態が変化する。
また、トグルフリップフロップ１０４は、出力端子Ｑがインバータ６を介してデコーダ１０１Ａのセレクト端子ＳＥＬに接続され、同様に出力端子Ｑが直接にセレクト端子ＳＥＬに接続されている。
このように、ビット空間制御回路１１は、トグルフリップフロップ１０４の保持している出力に基づき、この出力が「０」または「１」のデータにより、デコーダ１０１Ａまたは１０１Ｂいずれが動作可能となるかの順序回路が構成されている。
【００４９】
次に、本実施形態におけるビット空間制御回路１１の動作を図６び図７を用いて説明する。図７は、図６のビット空間制御回路１１の動作例を説明するタイミングチャートである。
初期状態として、トグルフリップフロップ１０４の出力端子Ｑから出力されている信号Ｚが「０」であり、出力端子／Ｑの出力が「１」である。このとき、信号Ｚが「０」であり、デコーダ１０１Ａのセレクト端子ＳＥＬに、インバータ６を介して「１」の信号が入力されているため、ビット補完回路３にデータ生成、すなわち信号Ｚのデータの変更を行う制御権がある。
また、この時点において、テストモードデコーダ７は、入力端子in-14に対し、信号Ｚが「０」で入力されているため、ビットＡ＜１３＞が「１」に対応するＴＭＲＳの選択ができず、すなわちビットＡ＜１３＞が「０」に対応するＴＭＲＳの選択しかできない状態にある。
そして、ビットＡ＜１３＞が「１」に対応するＴＭＲＳの選択を行う場合、トグルフリップフロップ１０４の出力する信号Ｚを「１」にする必要がある。
【００５０】
時刻ｔ１において、ビットＡ＜１２：０＞がデータｓ１が入力されている状態にて、クロック信号ＣＬＫが入力されると、デコーダ１０１Ａは、出力端子out-1からワンショットパルスを、オア回路１０５の一方の入力端子に対して出力する。
これにより、トグルフリップフロップ１０４は、クロック端子に対し、オア回路１０５からワンショットパルスが入力され、出力端子Ｑから出力する信号Ｚを「０」から「１」へ変化させ、一方、相補的な出力端子／Ｑの出力を「１」から「０」に変化させる。
そして、テストモードデコーダ７は、入力端子in-14に対し、ビットＡ＜１３＞として「１」が入力されることで、ビットＡ＜１３＞が「１」に相当するテストコードのＴＭＲＳの制御を行うことができる状態となる。また、データを生成する制御権がビット補完回路３（デコーダ１０１Ａ）からビット補完回路４（デコーダ１０１Ｂ）へ移行する。
【００５１】
次に、時刻ｔ２における動作は第２の実施形態と同様のため、説明を省略する。
このとき、ビット空間制御回路１１において、信号Ｚが「１」に変化したため、データ生成の制御権がビット補完回路４に移行している。
しかしながら、デコーダ１０１Ｂは、データｖ１でワンショットを生成する設定とはなっていないため、出力端子out-1からワンショット信号を出力しない。
このため、トグルフリップフロップ１０４は、出力端子Ｑから出力する信号Ｚを「１」のまま保持する。
【００５２】
次に、時刻ｔ３において、ビットＡ＜１２：０＞がデータｓ２が入力されている状態にて、クロック信号ＣＬＫが入力されると、デコーダ１０１Ｂは、出力端子out-1からワンショットパルスを、オア回路１０５の他方の入力端子に対して出力する。
このとき、テストモードデコーダ７は、入力端子in-14に「１」が入力され、デコーダ１０１Ｂと同様に、入力端子in-1からin-13にデータｓ２が入力されるが、このデータの組み合わせが予めフラグを出力する組み合わせとして設定されていないため、いずれのフラグも出力されない。
これにより、トグルフリップフロップ１０４は、クロック端子に対し、オア回路１０５からワンショットパルスが入力され、出力端子Ｑから出力する信号Ｚを「０」から「１」に変化させ、一方、相補的な出力端子／Ｂの出力を「０」から「１」に変化させる。
信号Ｙが「１」となり、信号Ｘが「１」のままであるため、イクスクルーシブオア回路５は出力信号Ｚを「１」から「０」へ遷移させる。
そして、テストモードデコーダ７は、入力端子in-14に対し、ビットＡ＜１３＞として「０」が入力されることで、ビットＡ＜１３＞が「０」に相当するテストコードのＴＭＲＳの制御を行うことができる状態となる。また、データを生成する制御権がビット補完回路４からビット補完回路３へ移行する。
【００５３】
次に、時刻ｔ４における動作は第２の実施形態と同様のため、説明を省略する。
しかしながら、デコーダ１０１Ａは、データｖ２でワンショットを生成する設定とはなっていないため、出力端子out-1からワンショット信号を出力しない。
このため、トグルフリップフロップ１０４は、出力端子Ｑから出力する信号Ｚを「０」のまま保持する。
【００５４】
次に、時刻ｔ５において、ビットＡ＜１２：０＞がデータｓ１が入力されている状態にて、クロック信号ＣＬＫが入力されると、デコーダ１０１Ａは、出力端子out-1からワンショットパルスを、オア回路１０５の一方の入力端子に対して出力する。このとき、テストモードデコーダ７は、入力端子in-14に「０」が入力され、デコーダ１０１Ａと同様に、入力端子in-1からin-13にデータｓ１が入力されるが、このデータの組み合わせが予めフラグを出力する組み合わせとして設定されていないため、いずれのフラグも出力されない。
これにより、トグルフリップフロップ１０４は、クロック端子にオア回路１０５からワンショットパルスが入力されることにより、出力端子Ｑから出力する信号Ｚを「０」から「１」に遷移させる。
そして、テストモードデコーダ７は、入力端子in-14に対し、ビットＡ＜１３＞として「１」が入力されることで、ビットＡ＜１３＞が「１」に相当するテストコードのＴＭＲＳの制御を行うことができる状態となる。また、データを生成する制御権がビット補完回路３からビット補完回路４へ移行する。
【００５５】
次に、時刻ｔ６において、ビットＡ＜１２：０＞がデータｓ２が入力されている状態にて、クロック信号ＣＬＫが入力されると、デコーダ１０１Ｂは、出力端子out-1からワンショットパルスを、トグルフリップフロップ１０２Ｂのクロック端子に対して出力する。このとき、テストモードデコーダ７は、入力端子in-14に「１」が入力され、デコーダ１０１Ｂと同様に、入力端子in-1からin-13にデータｓ２が入力されるが、このデータの組み合わせが予めフラグを出力する組み合わせとして設定されていないため、いずれのフラグも出力されない。
これにより、トグルフリップフロップ１０４は、クロック端子にオア回路１０５からワンショットパルスが入力されることにより、出力端子Ｑから出力する信号Ｚを「１」から「０」に遷移させる。
そして、テストモードデコーダ７は、入力端子in-14に対し、ビットＡ＜１３＞として「０」が入力されることで、ビットＡ＜１３＞が「０」に相当するテストコードのＴＭＲＳの制御を行うことができる状態となる。また、データを生成する制御権がビット補完回路４からビット補完回路３へ移行する。
上述した動作では、第１の実施形態や第２の実施形態とは異なり、出力信号のＺの制御シーケンスの一周期が二巡したことになる。
【００５６】
上述したように、信号Ｘを制御するのは出力信号Ｚを「０」から「１」に制御させたい場合であり、信号Ｙを制御するのは出力信号Ｚを「１」から「０」に制御させたい場合である。図７から分かるように、第１の実施形態におけるＳＲフリップフロップを、トグルフリップフロップに変更したため、それぞれ１種類のデータ（ｓ１及びｓ２）のみで、出力信号Ｚのデータの変更ができるため、第１の実施形態に比較して制御性が向上し、かつ第２の実施形態に比較して、回路構成が簡易化される。
【００５７】
＜第４の実施形態＞
以下、本発明の第４の実施形態によるビット空間制御回路を図面を参照して説明する。図８は同実施形態の構成例を示すブロック図である。本実施形態においても、第１の実施形態と同様に、従来例において説明したシンクロナスＤＲＡＭ（半導体記憶装置）におけるテストモードデコーダに入力されるアドレスデータのビット空間を例として説明する。
第１の実施形態から第３の実施形態においては、ビット空間と入力ビット空間とのビット幅の差の差ビット空間が１ビットである場合を説明したが、本実施形態においては複数ビットの差ビット空間を制御可能な構成を説明する。一例として、ビット空間（親製品の入力ビット空間）のビット幅がビットＡ＜１３：０＞をカットダウン設計し、カットダウン設計後の子製品において入力ビット空間のビットＡ＜１１：０＞とし、差ビット空間が２ビットである場合を説明する。
【００５８】
本実施形態におけるビット空間制御回路１１は、デコーダ２０１、２０２、２０３及び２０４と、オア回路２０５と、トグルフリップフロップ２１０及び２１１とを有している。
デコーダ２０１、２０２、２０３、２０４各々は、それぞれ第２の実施形態のビット補完回路に対応し、第２の実施形態におけるデコーダ１０１Ａ及び１０１Ｂと同様の構成であるため、説明を省略する。
デコーダ２０１は、データｓ１が入力された状態にて、クロック端子にクロック信号ＣＬＫが入力されると、このクロック信号ＣＬＫの立ち上がりにてワンショットパルスＸ１を出力する。
デコーダ２０２は、データｓ２が入力された状態にて、クロック端子にクロック信号ＣＬＫが入力されると、このクロック信号ＣＬＫの立ち上がりにてワンショットパルスＸ２を出力する。
【００５９】
デコーダ２０３は、データｓ３が入力された状態にて、クロック端子にクロック信号ＣＬＫが入力されると、このクロック信号ＣＬＫの立ち上がりにてワンショットパルスＸ３を出力する。
デコーダ２０４は、データｓ４が入力された状態にて、クロック端子にクロック信号ＣＬＫが入力されると、このクロック信号ＣＬＫの立ち上がりにてワンショットパルスＸ４を出力する。
オア回路２０５は、４入力のオア回路であり、４つの入力端子にそれぞれデコーダ２０１〜２０４のいずれか一つの出力端子outが接続され、デコーダ２０１〜２０４のいずれかからワンショットパルスＸｎ（ｎ＝１，２，３，４）が入力されることにより、入力したワンショットパルスをトグルフリップフロップ２１１のクロック端子へ出力する。
また、トグルフリップフロップ２１０及び２１１の構成は、第２の実施形態におけるトグルフリップフロップ１０２Ａ及び１０２Ｂと同様の構成であるため、説明を省略する。
【００６０】
デコーダ２０８は、２入力のデコーダであり、入力端子in-1と入力端子in-2とに入力される差ビット空間としての（Ｚ２，Ｚ１）におけるＺ１及びＺ２の信号の組み合わせにより、出力端子out-1、out-2、out-3及びout-4のいずれか一つの出力端子から選択信号を出力する。
ここで、デコーダ２０８の出力端子out-1がデコーダ２０１のセレクト端子ＳＥＬに接続され、デコーダ２０８の出力端子out-2がデコーダ２０２のセレクト端子ＳＥＬに接続され、デコーダ２０８の出力端子out-3がデコーダ２０３のセレクト端子ＳＥＬに接続され、デコーダ２０８の出力端子out-4がデコーダ２０４のセレクト端子ＳＥＬに接続されている。
【００６１】
オア回路２０５は、４入力のオア回路であり、各入力端子に対して、それぞれデコーダ２０１、２０２、２０３、２０４それぞれの出力端子outが接続されている。
トグルフリップフロップ２１０は、クロック端子が上記オア回路２０５の出力端子と接続され、出力端子Ｑから信号Ｚ１を出力する。
トグルフリップフロップ２１１は、クロック端子が、上記トグルフリップフロップ２１１における出力端子Ｑと相補出力である出力端子／Ｂと接続され、出力端子Ｑから信号Ｚ２を出力する。
トグルフリップフロップ２１０は、クロック端子に入力されるクロック信号ＣＬＫの立ち上がりにより、クロック信号ＣＬＫが入力される毎に、出力端子Ｑから出力される信号Ｚが「０」から「１」、あるいは「１」から「０」に変化させる。
一方、トグルフリップフロップ２１１は、クロック端子に入力されるトグルフリップフロップ２１０の出力端子／Ｑが「０」から「１」に変化する毎に、出力端子Ｑから出力される信号Ｚが「０」から「１」、あるいは「１」から「０」に変化させる。
すなわち、トグルフリップフロップ２１０及びトグルフリップフロップ２１１は、２ビットのカウンタを形成している。
【００６２】
ここで、差分ビット空間におけるＭＳＢに信号Ｚ２が対応し、ＬＳＢに信号Ｚ１が対応する。したがって、本実施形態によれば、信号Ｚ２をビットＡ＜１３＞とし、信号Ｚ１をビットＡ＜１２＞とし、テストモードデコーダ７を制御することにより、入力ビット空間ビットＡ＜１１：０＞により内部のビット空間ビットＡ＜１３：０＞を制御することができる。
また、上記デコーダ２０８は、（Ｚ２，Ｚ１）＝（０，０）の場合、出力端子out-1から選択信号を出力し、デコーダ２０１に差分ビット空間の変更を行う制御権を与え、（Ｚ２，Ｚ１）＝（０，１）の場合、出力端子out-2から選択信号を出力し、デコーダ２０２に差分ビット空間の変更を行う制御権を与え、（Ｚ２，Ｚ１）＝（１，０）の場合、出力端子out-3から選択信号を出力し、デコーダ２０３に差分ビット空間の変更を行う制御権を与え、（Ｚ２，Ｚ１）＝（１，１）の場合、出力端子out-4から選択信号を出力し、デコーダ２０４に差分ビット空間の変更を行う制御権を与える。
このように、ビット空間制御回路１１は、トグルフリップフロップ２１０及びトグルフリップフロップ２１１の出力するＺ空間（Ｚ２，Ｚ１）のデータの組み合わせに基づき、この出力が（０，０）、（０，１）、（１，０）または（１，１）それぞれの場合に応じ、デコーダ２０１〜２０４のいずれが動作可能となるかの順序回路が構成されている。
【００６３】
次に、本実施形態におけるビット空間制御回路１１の動作を図８び図９を用いて説明する。図９は、図８のビット空間制御回路１１の動作例を説明するタイミングチャートである。この図において、外部入力クロック（外部入力ＣＫ）に対応して、時刻ｔ３、時刻ｔ５及び時刻ｔ６に外部入力コマンドＴＭＲＳ（ＤＲＡＭであると/CAS、/RAS信号）が入力されている。外部コマンドＴＭＲＳはテストモードコードの入力が行われていることを示すコマンドである。この外部入力コマンドＴＭＲＳが入力された時点の外部入力クロックに同期し（実際にはタイミング調整用のディレイを有している）、ＴＭＲＳコマンドクロック信号ＣＬＫ（第１、第２及び第３の実施形態におけるクロック信号ＣＬＫ、以下クロック信号ＣＬＫ）が図示しない周辺回路により生成される。
すなわち、外部入力コマンドＴＭＲＳが入力された、時刻ｔ３、時刻ｔ５及び時刻ｔ６のみにおいて、クロック信号ＣＬＫがデコーダ２０１〜２０４のクロック端子、及びテストモードデコーダ７のクロック端子に入力される。
そして、この生成されたクロック信号ＣＬＫが、デコーダ２０１〜２０４それぞれのクロック端子に入力され、デコーダ２０１〜２０４において、制御権のあるデコーダにより、外部から入力される入力ビット空間（ＴＭＲＳ用内部アドレス）のビットのデータがデコード処理されることになる。
また、テストモードデコーダ７対して供給される、入力ビット空間及びＺ空間の各ビットにより生成されるビット空間のビットが、クロック信号ＣＬＫの入力によりデコード処理される。
上述したように、トグルフリップフロップ２１０及び２１１から構成されるカウンタの出力する（Ｚ２，Ｚ１）の組み合わせにより、デコーダ２０１〜２０４の制御権が２０１→２０２→２０３→２０４→２０１…のようにサイクリック（循環）に移動する。
以下、ビット空間制御回路１１の動作として、（Ｚ２，Ｚ１）＝（１，０）のデコーダ２０３に制御権がある状態から、（Ｚ２，Ｚ１）＝（０，０）のデコーダ２０１に制御権を移す場合を例にとり説明する。時刻ｔ１及びｔ２を経過し、時刻ｔ３直前の状態が（Ｚ２，Ｚ１）＝（１，０）である。
【００６４】
時刻ｔ３において、（Ｚ２，Ｚ１）＝（１，０）であるため、デコーダ２０３は、データ入力端子in-1〜in-12（図９のin＜１２：１＞）に対してビットＡ＜１１：０＞がデータｓ３で入力され、クロック信号ＣＬＫが入力されると、このクロック信号の立ち上がりにてワンショットパルスＸ３を出力する。
このとき、上記カウンタは、インクリメントされて出力を、（Ｚ２，Ｚ１）＝（１，０）から、（Ｚ２，Ｚ１）＝（１，１）に変化する。
このとき、テストモードデコーダ７は、入力端子in-14及びin-13に対して、（Ｚ２，Ｚ１）＝（１，０）が入力され、ビットＡ＜１３＞が「１」、ビットＡ＜１４＞が「０」に対応するＴＭＲＳの選択のみしかできず、（Ｚ２，Ｚ１）＝（１，０）でデータｓ３に対応するデコード処理が設定されていないため、フラグの出力を行わない。
【００６５】
時刻ｔ４においては、テストモードデコーダ７に対してフラグを出力させる必要が無ければ、外部入力コマンドＴＭＲＳを入力せずに（投入しないことによって）、クロック信号ＣＬＫを生成させないようにすればよい。
また、フラグを出力させる必要があれば、ＴＭＲＳ投入とともに、テストモードデコーダ７に対してテストコードとしてビットＡ＜１１：０＞をデータｖ４として与えることにより、（Ｚ２，Ｚ１）＝（１，１）であり、かつデータｖ４に対応したフラグを出力する。
【００６６】
次に、時刻ｔ５において、（Ｚ２，Ｚ１）＝（１，１）であるため、デコーダ２０４は、データ入力端子in-1〜in-12（図９のin＜１２：１＞）に対してビットＡ＜１１：０＞がデータｓ４で入力され、クロック信号ＣＬＫが入力されると、このクロック信号の立ち上がりにてワンショットパルスＸ４         を出力する。
このとき、上記カウンタは、インクリメントされて出力を、（Ｚ２，Ｚ１）＝（１，１）から、（Ｚ２，Ｚ１）＝（０，０）に変化する。
このとき、テストモードデコーダ７は、入力端子in-14及びin-13に対して、（Ｚ２，Ｚ１）＝（１，１）が入力され、ビットＡ＜１３＞が「１」、ビットＡ＜１４＞が「１」に対応するＴＭＲＳの選択のみしかできず、（Ｚ２，Ｚ１）＝（１，１）でデータｓ４に対応するデコード処理が設定されていないため、フラグの出力を行わない。
【００６７】
時刻ｔ６においては、テストモードデコーダ７に対してテストコードとしてビットＡ＜１１：０＞をデータｖ１３６として与えることにより、テストモードデコーダ７は、（Ｚ２，Ｚ１）＝（０，０）であり、かつデータｖ１３６に対応したフラグを出力する。
上述したように、クロック信号ＣＬＫの２周期により、デコーダ２０３から、デコーダ２０４を経由して、デコーダ２０１に対して差分ビット空間を変更する制御権を移す。
本実施形態においては、差分ビット空間を２ビットとして説明したが、当然に、ｎビット（ｎ＝１，２，３，４，５）等の複数ビットに拡張することが可能である。
【００６８】
＜第５の実施形態＞
以下、本発明の第５の実施形態によるビット空間制御回路を図面を参照して説明する。図１０は同実施形態の構成例を示すブロック図である。本実施形態においても、第１の実施形態と同様に、従来例において説明したシンクロナスＤＲＡＭ（半導体記憶装置）におけるテストモードデコーダに入力されるアドレスデータのビット空間を例として説明する。
第４の実施形態においては、第３の実施形態におけるように制御権が移動する順番が連続しているビット補完回路間において、移動する順番が連続していないビット補完回路間にて制御権を移す場合、必ず途中のＺ空間（Ｚ（Ｚ２，Ｚ１））の状態を経由する必要がある。
例えば、図８におけるデコーダ２０１から２０４の間にて、デコーダ２０１が制御権を有する状態から、デコーダ２０４が制御権を有する状態に変化させる場合、デコーダ２０２、２０３それぞれに一旦制御権を移すして経由させる必要がある。
【００６９】
以下に説明するように、本実施形態においては、遷移前の状態から遷移後の状態に、制御権が移動する順番が不連続であったとしても、途中のＺ空間の状態を経由せずに、制御権を移行する構成を提供するものである。実施形態４と同様な構成については、同一の符号を付し、説明を省略する。
本実施形態におけるビット空間制御回路１１は、ビット補完回路であるデコーダ２０１〜デコーダ２０４及びビット設定回路であるデコーダ２０１Ａ〜２０４Ａと、デコーダ２０８と、トグルフリップフロップ２１０、２１１と、オア回路２５１と、オア回路２５２と、ディレイ２５３と、ラッチ回路２５４及び２５６から構成されている。
【００７０】
デコーダ２０１〜デコーダ２０４については、第４の実施形態におけるデコーダ２０１〜デコーダ２０４と構成は同様である。
また、デコーダ２０１Ａ〜デコーダ２０４Ａについても、第４の実施形態におけるデコーダ２０１〜デコーダ２０４と構成は同様である。
デコーダ２０１〜デコーダ２０４と、デコーダ２０１Ａ〜２０４Ａとの入力端子in-1〜in-12（図におけるin＜１２：１＞）の各ビットには、入力ビット空間のビットＡ＜１１：０＞の各ビットがそれぞれ対応して入力されている。
【００７１】
デコーダ２０１及びデコーダ２０１Ａのセレクト端子ＳＥＬには、デコーダ２０８の出力端子out-1が接続されている。デコーダ２０２及びデコーダ２０２Ａのセレクト端子ＳＥＬには、デコーダ２０８の出力端子out-2が接続されている。デコーダ２０３及びデコーダ２０３Ａのセレクト端子ＳＥＬには、デコーダ２０８の出力端子out-3が接続されている。デコーダ２０４及びデコーダ２０４Ａのセレクト端子ＳＥＬには、デコーダ２０８の出力端子out-4が接続されている。
このため、デコーダ２０１及び２０１Ａは（Ｚ２，Ｚ１）＝（０，０）にて制御権を有し、デコーダ２０２及び２０２Ａは（Ｚ２，Ｚ１）＝（０，１）にて制御権を有し、デコーダ２０３及び２０３Ａは（Ｚ２，Ｚ１）＝（１，０）にて制御権を有し、デコーダ２０４及び２０４Ａは（Ｚ２，Ｚ１）＝（１，１）にて制御権を有する。
【００７２】
デコーダ２０１Ａは、ビットＡ＜１１：０＞としてデータｓ１’が入力され、クロック信号ＣＬＫが入力されると、このクロック信号ＣＬＫの立ち上がりにてワンショットパルスＸ１’を出力する。デコーダ２０２Ａは、ビットＡ＜１１：０＞としてデータｓ２’が入力され、クロック信号ＣＬＫが入力されると、このクロック信号ＣＬＫの立ち上がりにてワンショットパルスＸ２’を出力する。デコーダ２０３Ａは、ビットＡ＜１１：０＞としてデータｓ３’が入力され、クロック信号ＣＬＫが入力されると、このクロック信号ＣＬＫの立ち上がりにてワンショットパルスＸ３’を出力する。デコーダ２０４Ａは、ビットＡ＜１１：０＞としてデータｓ４’が入力され、クロック信号ＣＬＫが入力されると、このクロック信号ＣＬＫの立ち上がりにてワンショットパルスＸ４’を出力する。
【００７３】
オア回路２５１は、８入力のオア回路であり、各入力端子に対して、それぞれデコーダ２０１、２０２、２０３、２０４、２０１Ａ、２０２Ａ、２０３Ａ、２０４Ａそれぞれの出力端子outが接続されている。
トグルフリップフロップ２１０は、クロック端子が上記オア回路２５１の出力端子と接続され、出力端子Ｑから信号Ｗ１を出力する。
トグルフリップフロップ２１１は、クロック端子が、上記トグルフリップフロップ２１１における出力端子Ｑと相補出力である出力端子／Ｂと接続され、出力端子Ｑから信号Ｗ２を出力する。
そして、トグルフリップフロップ２１０及び２１１は、（Ｗ２，Ｗ１）の出力を有するカウンタを形成している。
オア回路２５２は、４入力のオア回路であり、各入力端子に対して、それぞれデコーダ２０１Ａ、２０２Ａ、２０３Ａ、２０４Ａそれぞれの出力端子outが接続されている。
ディレイ２５３は、オア回路２５２の出力端子と、ラッチ回路２５４及び２５５の書込制御端子Ｒに接続されている。
すなわち、オア回路２５２は、ワンショットパルスＸ１’、Ｘ２’、Ｘ３’、Ｘ４’を、書込制御信号Ｖとして、上記ラッチ回路２５４及び２５５へ、ディレイ２５３を介して出力する。
【００７４】
ここで、ラッチ回路２５４及び２５５は、同様な構成をしており、それぞれがＭＯＳトランジスタ３００、インバータ３０１、３０２、３０３から構成されている。
すなわち、データ入力端子inがＭＯＳトランジスタのソースまたはドレインのいずれか一方が接続され、他方がインバータ３０１の入力端子に接続されている。
インバータ３０２は、入力端子がインバータ３０１の出力端子に接続され、出力端子がインバータ３０１の入力端子に接続されている。すなわち、ＭＯＳトランジスタ３００とインバータ３０２及び３０３とによりラッチが形成されている。
インバータ３０３は、入力端子がインバータ３０１の出力端子に接続され、出力端子がラッチ回路２５４（あるいは２５５）の出力端子outに接続されている。
【００７５】
ここで、ＭＯＳトランジスタ３００のゲートには、書込制御端子Ｒが接続されている。すなわち、ＭＯＳトランジスタ３００のゲートに書込制御信号が印加し、ＭＯＳトランジスタ３００をオン状態とし、インバータ３０１の入力端子にデータを伝達し、書込制御信号がゲートに印加されなくなると、ＭＯＳトランジスタ３００がオフ状態となり、インバータ３０１、３０２によりデータが保持されることになる。そして、インバータ３０３は、ラッチに保持されているデータを反転して、書き込まれた情報として、ラッチ回路（２５４または２５５）の出力端子に出力する。
【００７６】
上述した構成により、ラッチ回路２５４及び２５５は、入力端子にデータが入力され、書込制御信号Ｖが書込制御端子Ｒに入力されることにより、書き込まれたデータが保持され、出力端子outから出力される。
また、ラッチ回路２５４は、入力端子inがトグルフリップフロップ２１０の出力端子Ｑに接続され、データとして信号Ｗ１が入力され、出力端子outから信号Ｚ１を出力する。
同様に、ラッチ回路２５５は、入力端子inがトグルフリップフロップ２１１の出力端子Ｑに接続され、データとして信号Ｗ２が入力され、出力端子outから信号Ｚ２を出力する。
【００７７】
上述した同一のＺ空間にあるデコーダの使い分けは以下のように行う。遷移前の状態から遷移後の状態に、制御権が移動する順番が連続の場合、例えば、Ｚ空間が（Ｚ２，Ｚ１）＝（１，０）のときに制御権を有するデコーダ２０３及び２０３Ａの場合、制御権を移行する順序方向にて隣接するＺ空間である（Ｚ２，Ｚ１）＝（１，１）に対して制御権を移行する際、ラッチ回路２５４及び２５５に接続する側（すなわち、ワンショットパルスをラッチ回路２５４及び２５５の書込制御信号Ｖとする側）のデコーダ２０３Ａを用い、ビットＡ＜１１：０＞においてデータｓ３’を入力してカウンタをインクリメントする。
そして、インクリメントしたカウンタの出力Ｗ１、Ｗ２が、それぞれラッチ回路２５４及び２５５に対して出力され、ディレイ回路２５３を介して、ラッチ回路２５４及び２５５の書込制御端子Ｒに対して書込制御信号Ｖ（ワンショットパルスＸ’の遅延信号）が入力されると、ラッチ回路２５４は出力Ｗ１を保持して信号Ｚ１として出力し、ラッチ回路２５４は出力Ｗ２を保持して信号Ｚ２として出力する。
このように、ビット空間制御回路１１は、ラッチ回路２５４及びラッチ回路２５５の出力するＺ空間（Ｚ２，Ｚ１）のデータの組み合わせに基づき、この出力が（０，０）、（０，１）、（１，０）または（１，１）それぞれの場合に応じ、デコーダ２０１及び２０１’と、２０２及び２０２’と、２０３及び２０３’と、２０４及び２０４’とのいずれが動作可能となるかの順序回路が構成されている。
【００７８】
次に、遷移前の状態から遷移後の状態に、制御権が移動する順番が不連続の場合について、本実施形態におけるビット空間制御回路１１の動作を図１０び図１１を用いて説明する。図１１は、図１０のビット空間制御回路１１の動作例を説明するタイミングチャートである。この図１１は、すでに説明した図９に外部入力クロックからクロック信号ＣＬＫの生成については図９と同様であるため、説明を省略する。上述したように、トグルフリップフロップ２１０及び２１１から構成されるカウンタの出力する（Ｚ２，Ｚ１）の組み合わせにより、デコーダ２０１〜２０４の制御権が２０１→２０２→２０３→２０４→２０１…のようにサイクリック（循環）に移動する。
以下、ビット空間制御回路１１の動作として、ビット空間が（Ｚ２，Ｚ１）＝（１，０）であり、デコーダ２０３に制御権がある状態から、離れたビット空間の（Ｚ２，Ｚ１）＝（０，０）のデコーダ２０１に制御権を移す場合を例にとり説明する。時刻ｔ１及びｔ２を経過し、時刻ｔ３直前の状態が（Ｚ２，Ｚ１）＝（１，０）である。
【００７９】
時刻ｔ３において、（Ｚ２，Ｚ１）＝（１，０）であるため、デコーダ２０３は、データ入力端子in-1〜in-12（図９のin＜１２：１＞）に対してビットＡ＜１１：０＞がデータｓ３で入力され、クロック信号ＣＬＫが入力されると、このクロック信号の立ち上がりにてワンショットパルスＸ３を出力する。
このとき、上記カウンタは、インクリメントされて出力を、（Ｗ２，Ｗ１）＝（１，０）から、（Ｗ２，Ｗ１）＝（１，１）に変化する。
このとき、テストモードデコーダ７は、入力端子in-14及びin-13に対して、（Ｚ２，Ｚ１）＝（１，０）が入力され、ビットＡ＜１３＞が「１」、ビットＡ＜１４＞が「０」に対応するＴＭＲＳの選択のみしかできず、（Ｚ２，Ｚ１）＝（１，０）でデータｓ３に対応するデコード処理が設定されていないため、フラグの出力を行わない。
【００８０】
また、デコーダ２０３Ａは、入力ビット空間におけるビットＡ＜１１：０＞がデータｓ３に対応してワンショットパルスＸ１’を生成する構成とはなっていないため、クロック信号が入力されてもワンショットパルスＸ１’を出力しない。
このため、上述したように、カウンタの出力が（Ｗ２，Ｗ１）＝（１，０）から、（Ｗ２，Ｗ１）＝（１，１）に変化しても、ラッチ回路２５４及び２５５に書込制御信号Ｖが入力されないため、差分ビット空間は（Ｚ２，Ｚ１）＝（１，０）のまま変化しない。
【００８１】
時刻ｔ４においては、クロック信号ＣＬＫが入力されるが、ラッチ回路２５４及び２５５に対してのテストモードデコーダ７に対してフラグを出力させる必要が無ければ、外部入力コマンドＴＭＲＳを入力せずに、クロック信号ＣＬＫを生成させないようにすればよい。
また、フラグを出力させる必要があれば、ＴＭＲＳ投入とともに、テストモードデコーダ７に対してテストコードとしてビットＡ＜１１：０＞をデータｖ４として与えることにより、（Ｚ２，Ｚ１）＝（１，０）であり、かつデータｖ４に対応したフラグを出力する。
【００８２】
次に、時刻ｔ５において、（Ｚ２，Ｚ１）＝（１，０）であるため、デコーダ２０３Ａは、データ入力端子in-1〜in-12（図９のin＜１２：１＞）に対してビットＡ＜１１：０＞がデータｓ３’で入力され、クロック信号ＣＬＫが入力されると、このクロック信号の立ち上がりにてワンショットパルスＸ３’を出力する。
このとき、上記カウンタは、インクリメントされて出力を、（Ｗ２，Ｗ１）＝（１，１）から、（Ｗ２，Ｗ１）＝（０，０）に変化する。
このとき、テストモードデコーダ７は、入力端子in-14及びin-13に対して、（Ｚ２，Ｚ１）＝（１，０）が入力され、ビットＡ＜１３＞が「１」、ビットＡ＜１４＞が「１」に対応するＴＭＲＳの選択のみしかできず、（Ｚ２，Ｚ１）＝（１，０）でデータｓ４に対応するデコード処理が設定されていないため、フラグの出力を行わない。
【００８３】
また、デコーダ２０３ＡがワンショットパルスＸ１’を出力するため、オア回路２５２及びディレイ２５３を介して、ラッチ回路２５４及び２５５に対して書込制御信号Ｖを出力する。
このため、上述したように、カウンタの出力が（Ｗ２，Ｗ１）＝（１，１）から、（Ｗ２，Ｗ１）＝（０，０）に変化したため、ラッチ回路２５４及び２５５に書込制御信号Ｖが入力されることにより、差分ビット空間は、（Ｚ２，Ｚ１）＝（１，０）が（Ｚ２，Ｚ１）＝（０，０）に、（Ｚ２，Ｚ１）＝（１，１）の状態を経由せずに変化し、離れたＺ空間に対応するビット補完回路に対して制御権を移行させることができる。
すなわち、本実施形態によれば、開始状態（変更前）のＺ空間から、終了状態（変更後）のＺ空間に対して、途中のＺ空間の状態を経由せずに制御権を移行させることができる。
【００８４】
＜第６の実施形態＞
以下、本発明の第６の実施形態によるビット空間制御回路を図面を参照して説明する。図１２は同実施形態の構成例を示すブロック図である。本実施形態は、多数の独立した制御ブロックが、ある１つの機能ブロックを共有する際、その機能ブロックの制御権を制御ブロック間で受け渡す構成である。
本実施形態においては、各々入出力ポートを有する複数の制御ブロック、例えば４つの制御ブロックＢＬＯＣＫ１、制御ブロックＢＬＯＣＫ２、制御ブロックＢＬＯＣＫ３及び制御ブロックＢＬＯＣＫ４が、１つのメモリセルアレイ５００を共有する半導体記憶装置の構成例について説明する。
【００８５】
上記制御ブロックＢＬＯＣＫ１〜制御ブロックＢＬＯＣＫ４各々は、メモリセルアレイ５００の制御機能（書き込み及び読み出し等のアクセス機能）を有するブロックであり、図においてはアドレス制御部とデータ制御部の概略が示してある。
すなわち、アドレス（ＡＤＤ）、コマンド（ＣＭＤ）、データ（ＤＱ）の入力をインターフェイス部（interface）が受ける。
また、アドレスに関しては、出力バッファ（output buffer）を通じて制御ブロック共通のアドレスバス（address bus）に乗り伝達され、続いてデコーダ（decoder）５０１を介してメモリアレイ（shared ARRAY）５００を制御する。
また、書き込みデータに関しては、Ｉ／Ｏ制御部（I/O controller）で制御し、出力バッファ（output buffer）を通じて制御ブロック共通のデータバス（data bus）を介して、メモリセルアレイ５００に書き込まれる。一方、読み出しデータに関しては、メモリセルアレイ５００から、データバスを通って、各制御ブロックのＩ／Ｏ制御部（I/O controller）に達し、各制御ブロックで取捨選択を含めた制御が行われ、インターフェイス部（interface）を通じて外部に出力される。
【００８６】
上述した構成において、制御ブロックＢＬＯＣＫ１〜制御ブロックＢＬＯＣＫ４各々にあるアドレス及びデータの出力バッファの形式は様々考えられるが、本実施形態においては、例えば３ステート制御（「１」、「０」及びハイインピーダンスの３状態のいずれかとなる）を想定している。
すなわち、制御ブロックＢＬＯＣＫ１〜制御ブロックＢＬＯＣＫ４各々のＺ制御部（Z controller）が共有して制御するＺバス（Ｚ２，Ｚ１）の値によって、出力バッファ（output buffer）の出力状態が上記３ステート制御により決定される。
ここで、各制御ブロックにおいて、（Ｚ２，Ｚ１）＝（０，０）の場合、制御ブロックＢＬＯＣＫ１の出力バッファがデータ及びアドレスを出力する制御権を有し、（Ｚ２，Ｚ１）＝（０，１）の場合、ＢＬＯＣＫ２の出力バッファがデータ及びアドレスを出力する制御権を有し、（Ｚ２，Ｚ１）＝（１，０）の場合、ＢＬＯＣＫ３の出力バッファがデータ及びアドレスを出力する制御権を有し、（Ｚ２，Ｚ１）＝（１，１）の場合、ＢＬＯＣＫ４の出力バッファがデータ及びアドレスを出力する制御権を有するよう選択される。
【００８７】
上述したように、本実施形態においては、Ｚ空間の値の組み合わせにより、メモリセルアレイ５００をアクセスする制御権が制御される。
ここで、制御ブロックＢＬＯＣＫ１〜制御ブロックＢＬＯＣＫ４各々のアドレスサイズを＜１１：０＞の１２ビットとすると、Ｚ空間におけるＺ１及びＺ２の値を制御しているＺ制御部（Z controller）は、第５の実施形態における図１０で示した回路構成と同様の構成となる。
すなわち、各Ｚ制御部は、図１０に示すビット空間制御回路１１で構成されており、出力するＺ空間の（Ｚ２，Ｚ１）における各ビットのデータを、第５の実施形態にて説明した処理により、２入力のアンド回路を有する選択回路（５１１、５１２、５１３、５１４）に出力する。
【００８８】
制御ブロックＢＬＯＣＫ１における選択回路５１１は、（Ｚ２，Ｚ１）＝（０，０）の場合のみ、出力バッファ（output buffer）の出力を有効（インターフェース及びＩ／Ｏ制御部の出力を各バスに出力できる状態）とし、それ以外の組み合わせの場合、出力バッファ（output buffer）をハイインピーダンス状態とする。
同様に、制御ブロックＢＬＯＣＫ２における選択回路５１２は、（Ｚ２，Ｚ１）＝（０，１）の場合のみ、出力バッファ（output buffer）の出力を有効とし、それ以外の組み合わせの場合、出力バッファ（output buffer）をハイインピーダンス状態とする。
また、制御ブロックＢＬＯＣＫ３における選択回路５１３は、（Ｚ２，Ｚ１）＝（１，０）の場合のみ、出力バッファ（output buffer）の出力を有効とし、それ以外の組み合わせの場合、出力バッファ（output buffer）をハイインピーダンス状態とする。
また、制御ブロックＢＬＯＣＫ４における選択回路５１４は、（Ｚ２，Ｚ１）＝（１，１）の場合のみ、出力バッファ（output buffer）の出力を有効とし、それ以外の組み合わせの場合、出力バッファ（output buffer）をハイインピーダンス状態とする。
【００８９】
本実施形態における動作において、制御ブロックＢＬＯＣＫ３から制御ブロックＢＬＯＣＫ１に制御権を渡す処理については、すでに実施形態において図１０及び図１１を用いて説明しように、データｓ３及びデータｓ３’を順次入力して制御権を移行した処理そのままである。
このように、制御ブロックＢＬＯＣＫ１〜制御ブロックＢＬＯＣＫ４に入力可能なアドレスビットサイズを第５の実施形態における入力ビット空間と見なし、制御ブロック間におけるメモリセルアレイ５００の制御権の遷移を本実施形態における回路構成により制御することができる。
この結果、１つの機能ブロックを複数のポートで制御するマルチポートデバイスにおいて、その機能ブロックの制御権を他の制御ブロックに委譲する手段を実現することができる。
【００９０】
一方、従来の制御権を制御する方法としては、各制御ブロックが各々要求を出して、その要求を調停する回路、いわゆるアービタ、によって、制御権を与える方法や、制御権を制御ブロックＢＬＯＣＫ１→制御ブロックＢＬＯＣＫ２→制御ブロックＢＬＯＣＫ３→制御ブロックＢＬＯＣＫ４→制御ブロックＢＬＯＣＫ１→、、、と順次移動させ、制御したい場合は制御権が回ってくるのを待って制御する、時分割多元接続方式などある。
しかしながら、前者のアービタ等を用いる制御は、制御権の受け渡しの自由度が大きい代わりに、調停回路のメタステーブル状態に対応するために、アクセス方法やクロック周期に様々な制限が生じ、後者は調停回路が存在しない代わりに、制御権の受け渡しの自由度は小さい。
【００９１】
本実施形態においては、上述したアービタ等を用いる制御と異なり、制御権を持つブロックが制御権を引き渡す方式であるため、調停回路などは存在せず、制御権がどのブロックにも渡せるために自由度も高い。
なお、本実施形態における図１２の構成においては、データバスを制御ブロック間で共有するため、制御権を待たない制御ブロックでも、メモリアレイに対して読み書きしているデータを読み取ることが可能であり、かつこの読み取ったデータに対して様々な演算することも可能である。
すなわち、各制御ブロックを別々の演算機能（加算、減算、乗算、ある設定した式による解析処理などの）とすることも、もちろん可能である。
また、Ｚバス数を増やし、すなわちＺ空間のビット幅を増加させて、さらに制御ブロック数を増やすことももちろん可能である。
【図面の簡単な説明】
【００９２】
【図１】本発明による半導体記憶装置の構成例を示すブロック図である。
【図２】図１における第１の実施形態によるビット空間制御回路１１の構成例を示すブロック図である。
【図３】第１の実施形態によるビット空間制御回路１１の動作を説明するタイミングチャートである。
【図４】図１における第２の実施形態によるビット空間制御回路１１の構成例を示すブロック図である。
【図５】第２の実施形態によるビット空間制御回路１１の動作を説明するタイミングチャートである。
【図６】図１における第３の実施形態によるビット空間制御回路１１の構成例を示すブロック図である。
【図７】第３の実施形態によるビット空間制御回路１１の動作を説明するタイミングチャートである。
【図８】図１における第４の実施形態によるビット空間制御回路１１の構成例を示すブロック図である。
【図９】第４の実施形態によるビット空間制御回路１１の動作を説明するタイミングチャートである。
【図１０】図１における第５の実施形態によるビット空間制御回路１１の構成例を示すブロック図である。
【図１１】第５の実施形態によるビット空間制御回路１１の動作を説明するタイミングチャートである。
【図１２】第６の実施形態における半導体記憶装置の構成例を示すブロック図である。
【符号の説明】
【００９３】
１Ａ，１Ｂ，１０１Ａ，１０１Ｂ，２０１，２０２，２０３，２０４…デコーダ
２Ａ，２Ｂ…ＳＲフリップフロップ
３，４…ビット補完回路
５…イクスクルーシブオア回路
６，３０１，３０２，３０３…インバータ
７…テストモードデコーダ
１１…ビット空間制御回路
１３…テスト回路
１４…メモリ領域
１００…半導体記憶装置
１０２Ａ，１０２Ｂ，１０４，２１０，２１１…トグルフリップフロップ
１０５，２０５，２５１，２５２…オア回路
２０１Ａ，２０２Ａ，２０３Ａ，２０４Ａ，２０８，５０１…デコーダ
２５４，２５５…ラッチ回路
３００…ＭＯＳトランジスタ
５００…メモリセルアレイ
５１１，５１２，５１３，５１４…選択回路
ＢＬＯＣＫ１，ＢＬＯＣＫ２，ＢＬＯＣＫ３，ＢＬＯＣＫ，ＢＬＯＣＫ４…ブロック
【図１】
2010049724.tif 000003
【図２】
2010049724.tif 000004
【図３】
2010049724.tif 000005
【図４】
2010049724.tif 000006
【図５】
2010049724.tif 000007
【図６】
2010049724.tif 000008
【図７】
2010049724.tif 000009
【図８】
2010049724.tif 000010
【図９】
2010049724.tif 000011
【図１０】
2010049724.tif 000012
【図１１】
2010049724.tif 000013
【図１２】
2010049724.tif 000014