(57)【特許請求の範囲】
【請求項１】
直列的に提供されるデータストリームのためのレジスタ格納先を選択する方法であって、
第１の組のレジスタ（５４，５５，５６）を提供する段階であって、該第１の組のレジスタはＮを有限の正の整数としてビット長さＮの第１のレジスタおよびＭを有限の正の整数でありかつＮがＭに等しくないものとしてビット長さＭの第２のレジスタを備えるもの、
第２の組のレジスタ（５１，５２，５３）を提供する段階であって、前記第２の組のレジスタはビット長さＮの第１のレジスタおよびビット長さＭの第２のレジスタを備えるもの、
イネーブル信号（１４）を提供する段階であって、該イネーブル信号は選択的にパルス化されて前記第１の組のレジスタ（５７）または前記第２の組のレジスタ（５９）のいずれか１つを選択可能であり、前記第１の組のレジスタまたは前記第２の組のレジスタの内の選択されたいずれか１つは選択された組のレジスタであり、そして
直列的に提供されるデータストリーム（１６）を提供する段階であって、前記直列的に提供されるデータストリーム内のビットの数が検出され、前記直列的に提供されるデータストリーム内のビットの数は前記直列的に提供されるデータストリームを含めるために書き込まれるべき前記選択された組のレジスタ内の選択されたレジスタを識別する（７２）もの、
を具備することを特徴とする直列的に提供されるデータストリームのためのレジスタ格納先を選択する方法。
【請求項２】
前記直列的に提供されるデータストリームを提供する段階は、
巡回シフトレジスタ（２０）を使用することにより前記直列的に提供されるデータストリーム内のビットの数を監視し、それによって前記直列的に提供されるデータストリームの入力シフトの後に、前記巡回シフトレジスタにおけるイネーブルされたビットの数が前記選択された組のレジスタ内の選択されたレジスタを決定する段階、
を具備することを特徴とする請求項１に記載の方法。
【請求項３】
直列的に提供されるデータストリームのためのレジスタ格納先を選択する方法であって、
複数のレジスタ（５７，５９）を提供する段階、
イネーブル信号（１４）を提供する段階であって、該イネーブル信号はある期間の間選択的にパルス化されて前記直列的に提供されるデータストリームが提供される前に２進シーケンスを提供するもの、
前記２進シーケンス（７２）を処理して前記複数のレジスタの内の選択されたレジスタ（５１〜５６）を決定する段階、
前記直列的に提供されるデータストリーム（１６）を提供する段階であって、前記イネーブル信号は前記直列的に提供されるデータストリームの受信を可能にするもの、そして
前記直列的に提供されるデータストリームを前記２進シーケンスによって選択される選択されたレジスタへと格納する段階、
を具備することを特徴とする直列的に提供されるデータストリームのためのレジスタ格納先を選択する方法。
【請求項４】
クロック信号（１２）を受けるための第１の入力、イネーブル信号（１４）を受けるための第２の入力、およびレジスタ選択信号を提供するための出力を有する監視回路（７２）、
前記イネーブル信号（１４）を受信しかつ少なくとも１つのバンク選択信号を提供するためのバンク選択回路（７４）であって、該バンク選択回路は複数のビット格納要素を備えるもの、
１つまたはそれ以上のバンク（５７，５９）へと構成された複数のレジスタ（５１〜５６）であって、該複数のレジスタにおける各レジスタは前記イネーブル信号、前記バンク選択回路からの前記少なくとも１つのバンク選択信号、および前記監視回路からの前記レジスタ選択信号の組合せによって選択されるもの、
データの直列ストリームを受けるためのデータ入力（１６）に結合されたデータ直列シフトレジスタ（４０）、そして
前記少なくとも１つのバンク選択信号および前記レジスタ選択信号を受けかつ少なくとも１つの格納制御信号を前記複数のレジスタに提供するための回路（３６〜３８）であって、前記複数のレジスタの内の１つのレジスタが前記データ直列シフトレジスタによって提供されるデータを格納するために選択されるもの、
を具備することを特徴とする回路。
【請求項５】
イネーブル信号（１４）を受けるためのレジスタ選択回路（７２）であって、前記イネーブル信号はデータ入力（１６）によってシリアルデータが提供される前に論理“１”および論理“０”の時間シリアルな２進シーケンスを提供し、前記論理“１”および論理“０”の時間シリアルな２進シーケンスは前記レジスタ選択回路によって処理されて複数のレジスタ格納イネーブル信号（３０の出力）を提供するもの、
データ入力に結合されて論理“１”および論理“０”の前記時間シリアルな２進シーケンスの後に生じる前記イネーブル信号のアクティブ状態に応じて前記データ入力からデータの直列ストリームを受けるためのシリアルシフトレジスタ（４０）、そして
前記シリアルシフトレジスタからデータを受けるよう結合されかつ前記複数のレジスタ格納イネーブル信号を受けるよう結合された複数のレジスタ（５１〜５６）であって、前記複数のレジスタ格納イネーブル信号の１つは論理“１”および論理“０”の時間シリアルな２進シーケンスに応答して前記レジスタ選択回路からイネーブルされそれによって前記シリアルシフトレジスタに格納されたデータの直列ストリームが前記複数のレジスタの内の選択されたレジスタに提供されるもの、
を具備することを特徴とする回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は一般的には集積回路に関し、かつより特定的には時間およびスペース効率のよい方法でレジスタにシリアルまたは直列データを提供することに関する。
【０００２】
【従来の技術】
集積回路のピンのカウント数、パッケージングの寸法、およびコストを低減するためには、シリアルインタフェースを使用して集積回路の間でデータを提供することが好都合である。しかしながら、シリアルインタフェースは通常アドレスおよびデータ２進値の双方が集積回路内におけるかなりの量の性能を消費する時間順次的な方法で提供されることを必要とする。従って、シリアル周辺インタフェースにおけるアドレスビットの必要性を除去してシリアル通信期間のより大きな部分がオーバヘッドよりはデータを通信するのに消費されるようにするステップが取られてきた。
【０００３】
シリアル周辺インタフェース（ＳＰＩ）においてアドレスビットを避けるための１つの従来の技術はバビン（Ｂａｂｉｎ）による米国特許第５，１４６，５７７号に教示されている。この特許においては、データはシリアルデータ入力ポートによって提供される。シリアルデータ入力ポートによって提供されるこのシリアルデータはデータシリアル・シフトレジスタに直列的にシフトされる。データが該データシリアル・シフトレジスタにシフトされている間に、シリアルデータ全体を前記データシリアル・シフトレジスタにシフト入力するのに必要なクロックの数がリップルカウンタによってカウントされる。リップルカウンタの最終的なカウント値はもしシステム内のすべてのレジスタが異なるサイズであればどのレジスタが直列的にシフトされたデータを受けるかを決定するために使用することができる。例えば、もしリップルカウンタがデータシフトシーケンスの終りに８の値を含んでおれば、かつシステム内に８ビットのレジスタのみが配置されておれば、前記シリアルシフトレジスタに提供されるデータは該８ビットの内部レジスタに提供されるべきことが容易に決定できる。もしリップルカウンタが１６ビットを検出しかつシステムにおける唯一のレジスタが１６ビット幅であれば、データは正確に導くことができ、それによってデータビットのカウントがアドレスビットの必要性を置き換えることになる。各レジスタは独自の数のデータビット容量を有するから、データビットをカウントすることはシリアル通信される付加的なアドレスビットの必要性なしに書き込まれるべきレジスタを決定する。
【０００４】
【発明が解決しようとする課題】
しかしながら、システムがより複雑になりかつ、例えば、２つの８ビットのレジスタ（または任意の同じサイズの任意の２つのレジスタ）を含む場合には、このクロックカウント方法は問題のあるものとなる。もし２つまたはそれ以上のレジスタあるいは２つまたはそれ以上の組のレジスタが同じサイズを有していれば、システムにシフト入力されるデータビットの数が知られていても、複数の同じサイズのレジスタのどれがデータを受けるべきかに関して依然として明確ではない。例えば、シリアルデータ入力と通信することを必要とする４つの８ビットレジスタがある場合、リップルカウンタが８のカウントを生成するという事実は前記４つの８ビットレジスタのどれがデータを受けるべきかを決定するための適切な指示ではない。
【０００５】
さらに、シリアルデータ通信の前に、途中で、あるいは後にシリアルアドレス通信を使用することは有利ではない。数多くのシリアル通信インタフェース（ＳＣＩ）およびシリアル周辺インタフェース（ＳＰＩ）はビットがシリアル入力に固定された量またはパケットのビットで提供されることを要求する。例えば、あるインタフェースは機能するために８ビットのセグメントがデータ入力へとユニット全体で直列的に提供されることを要求するかもしれない。これは２８のレジスタをアドレスするために８ビットが必要とされる限り問題はない。しかしながら、もし２つのレジスタのみがシステム内にあり、従ってたった１ビットのアドレシングのみが必要であれば、依然としてアドレシングのために８ビットが提供されなければならず、それによって大部分のデータプロセッサの並列の高周波動作と比較した場合すでに低速であるインタフェースにおいて８ビットの内の７ビットを浪費する。従って、通信ごとにセットされたパケットまたはセットされた数のビットを必要とするデータライン上のシリアルアドレスデコードを避けることが性能を改善することになる。
【０００６】
従って、より多くのレジスタが単一の集積回路に集積され、これらのレジスタが同じサイズでありかつシリアルデータインタフェースへのジョイントまたは合同のアクセスを必要とするため、どのレジスタがシリアルなシフトデータを受けるかを決定する新しい方法が開発される必要がある。この新しい方法は付加的なアドレスピンなしに機能しかつシリアル周辺インタフェース（ＳＰＩ）の制約および改善された性能の要求のためにデータターミナル上にアドレス値を直列的に提供する必要性を避けることが必要である。
【０００７】
【課題を解決するための手段】
一般に、本発明は集積回路内で適切なレジスタにデータビットを含むデータのシリアルストリーム（ｓｅｒｉａｌ  ｓｔｒｅａｍ）を提供する装置および方法に関するものである。ここに教示されるシリアルデータインタフェースはシリアル情報をシリアルデータが提供される前または後にデータ入力に添って通信される直列的に送信されるアドレスビットの必要性なしに適切な格納レジスタに通信することができる。集積回路内の格納レジスタへの直列的に提供されるデータの適切なルーティングは好ましい２レベルデコード手順を使用して達成される。この２レベルデコード方法においては、第１のレベルのデコードがイネーブル信号またはチップ選択ライン上に直列的に提供される２進シーケンスを監視することにより達成される。２レベルまたは２次元デコードの第２のレベルはシフトレジスタにシフト入力されるデータエレメントの数をカウントすることにより達成される。シリアルシフトレジスタへデータを入力するために使用されるクロック（またはデータビット）をカウントする間にイネーブル信号におけるデコードを行うことにより、複数のレジスタの内の１つが入力データストリームを受けるために独自的に選択できる。前記複数のレジスタにおけるこれらのレジスタは同じサイズのものであってもよくかつそれでもデコードのチップ選択／イネーブル信号レベルを介して適切なデータ格納のために選択される。さらに、チップ選択またはイネーブル信号における符号化（ｅｎｃｏｄｉｎｇ）は特定のサイズ（前記発明の背景で説明した８ビットのような）に限定されず、従ってオーバヘッドが低減される。
【０００８】
さらに他の形式では、どのレジスタがシリアルシフトデータを格納するかの決定はシリアル周辺インタフェース（ＳＰＩ）のイネーブルラインまたはチップ選択ライン上に直列的に提供される２進シーケンスを監視するのみで行うことができる。この実施形態では、データ入力に提供されるデータは時間効率のよい方法で選択されたレジスタに導かれ、この場合レジスタは到来ストリームのクロックカウントまたはデータビットのカウントを行わなくても同じデータサイズのものとすることができる。いくつかの実施形態では、イネーブル端子またはチップ選択端子のデコード信号はその部分に到来する実際のデータストリームと並列に生じることができ、それによって転送において観察される唯一の時間はそれがシリアルデータを転送するために必要とする時間となる。この構成においては、フルデータの捕捉を可能にするためにエッジが検出される場合に第１の装置によってイネーブルがローにラッチされる必要があり、一方他の装置はデスティネイションを捕捉しかつデコードするために変化するイネーブルを監視し続けるために使用される。
【０００９】
【発明の実施の形態】
説明の簡略化および明瞭化のために、図面に示された各要素は必ずしも比例した大きさで描かれていないことが理解されるであろう。例えば、いくつかの要素の寸法は明瞭化のために他の要素に対して誇張されている。さらに、適切と考えられる場合には、各図面の間で参照数字が反復されて対応するまたは同様の要素を示している。
【００１０】
本発明は図１〜図９を参照することによりさらに明瞭に理解することができる。
【００１１】
図１は、ブロック図形式で、集積回路（ＩＣ）内で直列的にシフトされるデータを導くために使用できる電気的システムを示している。図１は、上部左手コーナに示されるように、３つの主要な入力信号を備えている。システムクロックは図１におけるクロック端子１２を介して提供され、これはシステム内のラッチ、レジスタ、フリップフロップ、その他を制御するためにクロック信号を提供する。データの直列ストリームはデータ入力端子１６を介して時間的に直列様式で提供することができる。データイネーブル信号はイネーブル端子１４を介して提供され、従って集積回路はいつ有効なデータが端子１６上に提供されているかを通知されるようになる。
【００１２】
クロック端子１２およびイネーブル端子１４はバンク選択回路７４に結合されている。さらに、クロック１２およびイネーブル端子１４は図１のモニタまたは監視回路７２に結合されている。バンク選択回路７４および監視回路７２は２レベルまたは２次元デコードを提供し、これはデータ入力端子１６によって提供される直列シフトデータがどこに最終的に格納されるべきかを決定する（始めに、ＩＣへと到来するすべてのデータは直列的に図１のレジスタ４０に格納され、次に引き続く動作によって該データを並列インタフェースを介して前記２レベルデコードによって決定される最終のデスティネイションレジスタ５１〜５６に格納されることになる）。バンク選択回路７４はイネーブル端子１４によって直列的に提供される２進シーケンスを検出しかつデコードする。短い２進シーケンスの１つの例は図７のシーケンス２００によって示されている。イネーブル端子１４によって提供されるこの２進シーケンスはバンク選択回路７４によって検出されかつ処理されて図１に示される１つまたはそれ以上のバンク選択制御信号を提供する。イネーブル端子１４上に２進シーケンスを提供した後、シリアルデータがデータ入力端子１６を介して提供される。このデータはイネーブル１４が活性化されあるいはアクティベイトされている限りクロック信号１２を使用してレジスタ４０へとクロック入力される（イネーブルは図１および図７においてはアクティブローであるが、他の実施形態ではアクティブハイとすることもできる）。データが端子１６を通して転送されているこの活性化された状態の間に、レジスタ４０へとデータを転送するために使用される端子１２上のクロックサイクルの数が回路７２によって監視される。
【００１３】
第１の実施形態では、前記監視回路７２は端子１６上のデータの直列ストリームをレジスタ４０へと完全に格納するために必要とされるすべてのクロックサイクルをカウントする。言い換えれば、イネーブル信号がアクティブローである限り、クロックの数はカウンタ２０へとカウントされる。例えば、データ端子上に提供されるデータが８ビットのデータである場合は、前記イネーブルはデータの８ビット全体が端子１６上に提供されるまで活性化される。データの８ビットの各々はクロック１２からの単一のクロックサイクルによってクロッキングまたは刻時される。従って、イネーブルが活性化されている間に生じるクロックサイクルの数をカウントすることにより、監視回路７２はデータ入力端子１６を介して提供されるデータビットの数を決定することができる。
【００１４】
１つの形式で、リップルカウンタはデータクロックサイクルのみをカウントするように構成できるが、直列シーケンスクロックサイクルもまたかつ依然として適切な格納先またはデスティネイションレジスタを決定することに注目することが重要である。例えば、イネーブル１４によって提供される２進シーケンスは２つのクロックサイクルでありかつ提供されるデータ部分は８ビット、１６ビットまたは２４ビットの内の１つであると仮定する。カウンタ２０は１０，１８または２６の値を格納するよう設計することができ（これはデータとデコードシーケンス長さを加えたものである）、または２進デコードシーケンスが提供される場合に時間期間を無視することにより８，１６または２４を格納するために使用できる。いずれの場合も、デコーダからの最終的な結果は同じであり、カウントされたビットはデコーダ論理３０がデータを受信すべきレジスタのサイズを決定できるようにする。
【００１５】
リップルカウンタ２０によってカウントされるクロックサイクルの数は図１のデコーダ３０に提供される。デコーダ３０は次にリップルカウンタ２０からの５ビットのカウント値をデコードしかつカウンタ２０によって提供されたカウント値に応じてデコーダ出力信号Ｚ１，Ｚ２またはＺ３の１つを活性化する。イネーブルされたとき、Ｚ１信号はデータが８ビットレジスタに提供されたことを示す。イネーブルされたとき、Ｚ２信号はデータが１６ビットレジスタに提供されたことを示す。イネーブルされたとき、Ｚ３信号はデータが２４ビットレジスタに提供されたことを示す。従って、監視回路７２は１つのアクティブな出力を提供し、前記レジスタ選択制御信号の１つがターミナル１６を通るデータの転送の完了に応じて活性化される。バンク選択制御信号およびレジスタ選択制御信号も、いっしょに、複数のＡＮＤゲート３１〜３３、および３６〜３８に提供されてレジスタ５１〜５６へロード信号を提供する。ＡＮＤゲート３６〜３７は第１のバンクまたは第１の組のレジスタ５７に結合されている。ＡＮＤゲート３１〜３３は第２のバンクまたは第２の組のレジスタ５９に結合されている。第１のバンクのレジスタ５７は３個のレジスタ５４，５５および５６を含んでいる（３個は一例として使用されかつより多いあるいはより少ないレジスタを他の実施形態において使用することができる）。レジスタ５４は８ビットのデータを格納する容量を有するレジスタである。図１のレジスタ５５は１６ビットのデータを格納する容量を有するレジスタである。図１のレジスタ５６は２４ビットのデータを格納する容量を有するレジスタである。
【００１６】
１実施形態では、レジスタ５４は集積回路１０内の第１の位相同期ループ（ＰＬＬ）（図示せず）のための制御レジスタである８ビットのレジスタである。この実施形態では、ロードレジスタ５５は集積回路１０内の前記第１の位相同期ループ（ＰＬＬ）（図示せず）の動作を制御する基準レジスタである。また、この実施形態において、レジスタ５６は集積回路１０に配置された前記第１の位相同期ループ（ＰＬＬ）の動作を制御するための電圧制御発振器（ＶＣＯ）の分周器レジスタである。従って、３つのレジスタ５４〜５６の集まりは１実施形態においてＩＣ内の第１のＰＬＬの動作を集合的に制御するために使用される。
【００１７】
レジスタ５１〜５３はレジスタ５４〜５６と同様のものである。例えば、レジスタ５１はレジスタ５４と同様に８ビットのデータを格納する容量を有する。レジスタ５２はレジスタ５５と同様に１６ビットのデータを格納する容量を有する。レジスタ５３はレジスタ５６と同様に２４ビットのデータを格納する容量を有する。従って、１実施形態では、レジスタ５１〜５３は集積回路１０内の前記第１の位相同期ループ回路（図１には示されていない）と共に配置された第２の位相同期ループ（ＰＬＬ）回路（図１には示されていない）を制御するために使用することができる。
【００１８】
図１は、データ入力（ｄａｔａ  ｉｎ）と名付けられたシリアル入力および２４ビットを有する並列出力を有するシリアルシフトレジスタ４０を示している（より大きなレジスタに対しては２４ビットより多くを必要とする）。このシフトレジスタ４０はターミナル１２におけるクロックサイクルに応答してデータ入力１６からの到来する時間シリアルなデータストリームを格納する。イネーブルが活性化されている間に、シリアルデータは端子１６を介してレジスタ４０に提供され、かつ監視回路７２は前に述べたようにクロックのカウントを行ってイネーブルが不活性にされた（ｄｅａｃｔｉｖａｔｅｄ）ことによりデータシフトが完了した後にデータシフトレジスタ４０内に格納されるデータビットの数を決定する。
【００１９】
図１はシフトレジスタ５０と直列に結合された付加的なシリアルデータ装置６０および７０を示している。装置６０および７０は数多くのシリアルシフト装置がシフトレジスタ４０と直列に結合できあるいは直列に縦続接続できる（ｃａｓｃａｄｅｄ）ことを示している。ゲート３５およびデコーダ３０の最大カウント信号はこのシリアル動作を行うことができるようにする。
【００２０】
図１の回路の動作は次の通りである。ターミナルまたは端子１６からレジスタ５１〜５６の１つにデータ転送を開始するために、イネーブル信号が使用されて該転送を開始する。始めに、該イネーブル信号は短い時間シリアルな２進シーケンスによってパルス化または肯定されあるいはトグルされる（図７を参照）。この時間シリアルな２進シーケンスはバンク選択回路７４によって検知され、該バンク選択回路７４は図２を参照してさらに詳細に説明する。この２進シーケンスは図１のバンク選択制御信号を介して図１におけるバンク５９またはバンク５７のいずれか１つを選択する。図１には２つのバンクが示されているが、イネーブル端子１４におけるより長い２進シーケンスを使用することにより２つより多くのバンクのレジスタの間で選択するためにバンク選択回路を拡張することも可能なことに注意を要する。２進シーケンスがＣＰＵのビットセットおよびピットクリア命令を介してイネーブル信号１４上に提供された後、イネーブル信号は完全に活性化され（すなわち、以後は２進シーケンスを提供せずデータ入力の期間の間常にアクティブローとする）かつデータは端子１６を介して受信される。
【００２１】
データはクロック１２からのクロックサイクルを介してシフトレジスタ４０へとクロック入力される。データ１６をシフトレジスタ６０へとシフトするために使用されるこれらのクロックサイクル１２はリップルカウンタ２０によってカウントされる。いったんイネーブルが不活性にされると、カウンタ２０のカウント値はデコードされて図１におけるデコーダ３０からレジスタ選択制御信号出力を提供し、かつリップルカウンタはＮＯＲゲート３５を介してリセットされる。この時点で、データは完全にレジスタ４０内にシフトされかつ並列インタフェースを介してレジスタ５１〜５６の入力において利用可能である。前記バンク選択制御信号およびレジスタ選択制御信号を提供することはゲート３１〜３３および３６〜３８の１つが活性化されて図１の６個のレジスタの内の１つにアクティブなロード信号を提供できるようにする。従って、図１におけるデコードプロセスは２次元的または２レベルのデコードプロセスであり、それはバンク選択回路７４は２つのバンク５７および５９の内の１つを選択し、一方監視回路７２は選択されたバンク内のどのレジスタがレジスタ４０に格納されたデータによって書き込まれるかを選択するからである。
【００２２】
図２は、図１のバンク選択回路７４をより詳細に示す。バンク選択回路７４はＤフリップフロップ９０および１対のＤフリップフロップ９４および９５を備えている。図２は図１のゲート３１〜３３および３６〜３８の出力のすべてをＯＲゲート入力として受信しかつリセット信号をフリップフロップ９０，９４および９５に提供するリセットＯＲゲート９３を示している。
【００２３】
図６のイネーブルシーケンスは図２の回路において使用されてバンク２（図１のバンク５９）を非選択に保つ一方でバンク１（図１のバンク５７）を選択する。始めに、図６においてイネーブル信号はインアクティブハイ（ｉｎａｃｔｉｖｅ  ｈｉｇｈ）でありかつどのような方法であれトグルはしていない。さらに、フリップフロップ９０，９４および９５はすべてリセットされ（ゲート９３はパワーアップに応じてリセットされるよう設計できる）、従って双方のバンク選択制御信号１および２はローでありかつ不活性である。図６の左側部分において、イネーブルはアクティブローに移行する。しかしながら、フリップフロップ９０はフリップフロップ９０へのクロック入力の立上りエッジにおいてのみＤ入力に際してＶＤＤ値をラッチする。従って、フリップフロップ９０の出力Ｑはイネーブル１４の立下りエッジにおいて（前のリセットのため）ローに留まっている。その後のバンク選択をイネーブルするためにイネーブル１４において短時間のオールゼロ２進シーケンスが提供された後に（バンク１はその後デフォールトにより選択されるが、それはフリップフロップ９０が変更されないからである）、クロック１２は図６に示されるようにトグルを開始する。クロック１２がトグルを開始したとき、論理“１”がフリップフロップ９４にラッチされ、一方論理“０”がインバータ９２のためフリップフロップ９５にラッチされ、それによってバンク１を選択する（図１のバンク５７）。従って、図１のレジスタ４０へとデータをクロッキングする作用はまたどのバンクが直列的に提供されるデータによって書き込まれるべきかを選択する。バンクが今や選択されているにもかかわらず、データは図１のゲート３１〜３３および３６〜３８からの肯定された信号に応じてレジスタ５１〜５６の１つにのみ書き込まれ、これらの信号はイネーブルがハイに移行し（不活性にされ）、バンク選択がハイであり、かつデコーダ３０の１つの出力Ｚ１〜Ｚ３がハイである場合にのみイネーブルされる。イネーブル１４は図６におけるデータのクロッキングの間ローであるから、バンク信号が活性化されても、図１のレジスタ４０へのシリアルシフトデータ入力動作の間は図１のレジスタ５１〜５６のいずれにもデータはラッチされない。レジスタ４０への入力データへのＣＬＫ１２のトグルの反復もまたフリップフロップ９４および９５への安定した値をクロッキングするために続けられる。従って、バンク選択制御信号は図１のレジスタ４０へのデータシフト動作に関連する反復されるクロックの間に逆にまたは不利に変更されることはない。
【００２４】
いったんデータが完全に図１のレジスタ４０にシフトされると、ＣＬＫはトグルを停止する。さらに、クロックがトグルを停止した後、イネーブルが図６の右側部分においてインアクティブハイにされる。この時点で、イネーブルはハイでありバンクの１つがフリップフロップ９４〜９５を介して選択され、かつデコーダ３０の１つの出力がアクティブかつ安定になる。従って、図１のレジスタ５４〜５６の１つが該レジスタ５４〜５６の１つの「ロード」入力においてポジティブゴーイングエッジを介してレジスタ４０の内容を含むよう書き込まれる。
【００２５】
図７のイネーブルシーケンスは図２の回路において使用されバンク１（図１のバンク５７）を非選択に保つ一方でバンク２（図１のバンク５９）を選択する。始めに、イネーブル信号は図７においてインアクティブハイでありかついずれの方法でもトグルしていない。さらに、フリップフロップ９０，９４および９５は全てリセットされ（ゲート９３はパワーアップに応じてリセットされるよう設計できる）、したがって両方のバンク選択制御信号１および２はローでありかつ不活性状態とされまたはデアクティベイトされている。図７の左手部分において、イネーブルはアクティブローに移行する。しかしながら、フリップフロップ９０はフリップフロップ９０へのクロック入力の立上りエッジにおいてのみＤ入力におけるＶＤＤ値をラッチする。したがって、フリップフロップ９０の出力Ｑはポイント２０３においてイネーブル１４の立下りエッジに際して（前のリセットにより）ローに留まっている。ポイント２０３からポイント２０４への立上りエッジは図７のイネーブル１４において遭遇する。この立上りエッジはフリップフロップ９０に論理“１”を格納する。図７のポイント２０４からポイント２０５への立下りエッジはフリップフロップ９０のＱ出力において提供される論理“１”を変更しない。クロック１２は今やデータをレジスタ４０へと捕捉するためにトグルを始める。クロック１２がトグルを始めた時、論理“１”がフリップフロップ９５へとラッチされ、一方論理“０”がインバータ９２を介してフリップフロップ９４へラッチされ、それによってバンク２（図１のバンク５９）を選択する。したがって、データを図１のレジスタ４０へとクロッキングする作用はまた直列に提供されるデータとともにどのバンクが書き込まれるべきかを選択する。バンクがいまや選択されても、データは図１のゲート３１〜３３および３６〜３８からの肯定された信号に応じてレジスタ５１〜５６の１つに書き込まれるのみであり、これらの信号はイネーブルがハイに移行し（不活性とされ）、バンク選択がハイであり、かつデコーダ３０の１つの出力Ｚ１〜Ｚ３がハイである場合にのみイネーブルされる。イネーブル１４は図６のデータのクロッキングの間ローであるから、バンク信号が活性化またはアクティベイトされていなくても図１のレジスタ４０への直列シフトデータ入力動作の間に図１のレジスタ５１〜５６のいずれにもデータはラッチされない。レジスタ４０への入力データに対するＣＬＫ１２の反復されるトグルはまた安定な値をフリップフロップ９４および９５へとクロッキングし続ける。したがって、バンク選択制御信号は図１のレジスタ４０へのデータシフト動作に関連する反復されたクロックの間に逆に変更されることはない。
【００２６】
いったんデータが完全に図１のレジスタ４０へとシフトされると、ＣＬＫ１２はトグルを停止する。さらに、クロック１２がトグルを停止した後、イネーブルが図６の右側部分においてインアクティブハイにされる。このポイントで、イネーブルはハイであり、バンクの１つがフリップフロップ９４〜９５を介して選択され、かつデコーダ３０の１つの出力がアクティブでありかつ安定してする。したがって、図１のレジスタ５１〜５３の１つがレジスタ５１〜５３の１つの「ロード」入力においてポジティブゴーイング・エッジを介してレジスタ４０の内容を含むよう書き込まれる。ゲート３１〜３３および３６〜３８の出力が前記ポジティブゴーイングのレジスタ書き込みエッジの後にバンク選択回路７４を通るフィードバック経路により短い時間の間のみハイに留まっていることに注目することが重要である。図１のゲート３１〜３３および３６〜３８の出力は図２のＯＲゲート９３に提供され、該ＯＲゲート９３は図１のゲート３１〜３３および３６〜３８の１つから立上りまたはポジティブゴーイング・エッジが提供された後に図２のフリップフロップを急速にリセットする。したがって、図２は２つのバンクのレジスタの間で選択を行なう回路を示している。
【００２７】
図３は、図１に示されるシステムの別の実施形態を示す。図３における回路の全ては監視回路７２の内容を除き図１に示されたものと同じである。図３の監視回路７２内にはジョンソンカウンタ（Ｊｏｈｎｓｏｎ  ｃｏｕｎｔｅｒ）を形成する複数のフリップフロップ７６〜８０が示されている。ジョンソンカウンタは図１の回路７２に示されるリップルカウンタ２０、デコーダ３０およびゲート３５を置換える。イネーブル１４がインアクティブハイである場合、フリップフロップ７６および７８はクリアされ、一方フリップフロップ８０はセットされる。いったんイネーブルがアクティブローに移行すると、データ１６をレジスタ４０内へラッチし、かつ回路７２内のジョンソンカウンタをクロッキングするクロックサイクルが端子１２上に生じるに応じて、フリップフロップはセットビットをフリップフロップ８０からフリップフロップ７６を通り８０へと巡回して回転させ始める。バンク選択２進シーケンスがイネーブル１４によって提供されている間に、図３の回路７２のジョンソンカウンタはイネーブルライン上の２進シーケンスの進行の間に１回またはそれ以上スタートされかつリセットされる。２進シーケンスの間のこのスタートおよびリセットは不安定な（ｅｒｒａｔｉｃ）データをロードゲート３１〜３３および３６〜３８に送ることになる。しかしながら、バンク選択回路７４からの信号は不活性とされこの不安定なデータがＮＡＮＤゲート３１〜３３および３６〜３８を通って進むのを防止するから、この不安定なデータは問題にはならない。回路７２が到来するデータビットを処理しかつ状態を変えている間は、イネーブルはローになるであろう。したがって、バンク選択が決定されかつセットされた後に、データを入力するためのローのイネーブル信号は回路７２がデータを入力するために使用するクロック信号を処理している間にＮＡＮＤゲート３１〜３３および３６〜３８が悪いロード信号を受け渡すのを防止する。したがって、イネーブルがローである限り、バンク選択の１つが活性化されかつ回路７２からの３つの出力の内の１つが活性化されることによりイネーブルがハイに移行するまで図３のレジスタ５１〜５６においてはラッチは生じない。したがって、レジスタ５１〜５６の１つは図７のポイント２０１においてラッチされることになる。
【００２８】
レジスタ４０内に２進ビットをラッチするために使用される各々のクロックサイクルに対し、レジスタ８０において始めに生成されたセットビットはフリップフロップ７６〜８０の巡回ループ内の次のレジスタに巡回的に移動される。例えば、ターミナル１６から最初のデータ要素をクロッキングする第１のクロックサイクルはレジスタ８０における論理“１”をレジスタ７６にシフトする。データ１６をレジスタ４０にラッチするターミナル１２上で遭遇する第２のクロックはこのセットビットをフリップフロップ７６からフリップフロップ７８へとシフトする。このプロセスは図３のレジスタ４０内にデータビットをラッチするために使用されるそれぞれのクロックに対して続けられる。
【００２９】
８ビットのデータ値がターミナル１６によって提供されかつ８つのクロックを介してレジスタ４０にラッチされた時、始めにフリップフロップ８０において生成されたセットビットは図３のフリップフロップ７８内で巡回を停止する（すなわち、８／３の余りは２である）。したがって、フリップフロップ７８の出力はバンク選択回路７４によって選択された８ビットのレジスタ５１および５４の内の１つの中での格納をイネーブルするために使用される。フリップフロップ８０において生成させたセットビットは１６ビットのデータ値がシフトレジスタ４０にシフト入力された時にフリップフロップ７６内で巡回を停止する（すなわち、１６／３の余りは１である）。したがって、フリップフロップ７６の出力はバンク選択回路７４によって選択された１６ビットのレジスタ５２または５５の内の１つへの格納をイネーブルするために使用される。最後に、始めにフリップフロップ８０にあったセットビットは一連の２４のデータビットがシフトレジスタ４０へシフトされた後に同じフリップフロップ８０内に最終的に存在することになる（すなわち、２４／３の余りは０である）。したがって、フリップフロップ８０の出力はバンク選択回路７４によって選択されるレジスタ５３および５６の内の１つの中にデータをラッチするために使用される。したがって、図３の回路はカウンタおよびイネーブル−出力−ラッチドデコーダを使用して図１において導入された２次元デコード機構に対しややよりコンパクトな解決を与える。
【００３０】
図４は、図１〜図３に示されたものに対しさらに別の実施形態を示す。図１〜図３に示されたバンク選択およびレジスタ選択を使用する上で２次元デコードシーケンスを行なう代りに、図４は１次元選択プロセスを示している。言い換えれば、図４は複数のレジスタの内の１つがイネーブル１４において直列的に提供される２進コードシーケンスを監視することによってのみ選択されそれによって図４の回路はデータクロックまたはシフトレジスタにシフトされるデータエレメントをカウントするために何等の回路も要求しない。したがって、図４においては図１および図３の監視回路７２と類似する回路は無い（この回路は図４では必要とされない）。
【００３１】
図４は、図１および図３に示されるのと同じクロック１２、イネーブル１４およびデータ入力１６の各入力を含んでいる。しかしながら、図１および図３の監視回路７２および７４は図４では単一のレジスタ選択回路９６に置換えられている。レジスタ選択回路９６は複数のレジスタ選択制御信号を複数のレジスタの各々に提供する（図４では３つが示されているが、イネーブル１４に到来する２進シーケンスを長くすることにより数多くのレジスタを設けることができる）。こられの制御信号は複数のＡＮＤゲート１０３．９７および９８に提供される。ゲート１０３．９７および９８はロード信号を複数のロードレジスタ９９〜１０１に提供する。入力データターミナル１６は図１および図３に示されたのと同様の方法でシフトレジスタ１０２に直列的に結合されている。さらに、同じ直列的に結合された装置６０および７０が図１および図３に示されているように図４に示されている。
【００３２】
前に述べたように、図４は複数のレジスタ９９〜１０１の内のどのレジスタがシフトレジスタ１０２に提供されるデータを格納すべきかを決定する１次元デコードプロセスを示している。どのロードレジスタが選択されるかの決定はレジスタ選択回路９６によって排他的に行なわれる。
【００３３】
レジスタ選択回路９６はさらに図５に示されている。該レジスタ選択回路９６はイネーブル信号１４を監視して該イネーブル１４の立上りエッジの特定の数を検出することによりデータ転送を開始する。データ転送を始めるためにイネーブル信号１４はデータがデータ入力１６に提供される前に２進シーケンスを提供する。この２進シーケンスは立上りエッジを含み、該立上りエッジは回路９６で監視されて図４に示されるレジスタ選択制御信号を提供する。図５の回路は図４に示されるように３つまでのレジスタ９９〜１０１の選択を可能にする。
【００３４】
回路９６はジョンソンカウンタとして構成された第１の組のレジスタ１０４〜１０６を有する。始めに、イネーブル１４はアイドルまたはオフ状態であり、この場合、イネーブルは非肯定値（ｄｅａｓｓｅｒｔｅｄ  ｖａｌｕｅ）または論理“１”を絶えず提供する。したがって、フリップフロップ１０５〜１０６はリセット状態にあり、一方フリップフロップ１０４はセット状態にあり、この場合この１００状態はイネーブル１４によって提供される一定の論理“１”によって乱されることはない。エンコーディングを開始するため、エンコードライン１４にゼロが始めに提供される。このゼロに続きゼロ〜２の立上りエッジが続く。もしイネーブル１４におけるゼロの立上りが検出されれば、フリップフロップ１０４は論理“１”を保持する。もし１の立上りエッジが検出されれば、フリップフロップ１０５は３つのフリップフロップ１０４〜１０６の間で論理“１”のみを含むことになる。もし２つの立上りエッジが検出されれば、フリップフロップ１０６は３つのフリップフロップ１０４〜１０６の間で論理“１”のみを含むことになる。論理“１”を含むフリップフロップは図４の３つのレジスタ９９〜１０１の内のどれが、図２フリップフロップ９４〜９５と同様のフリップフロップ１０７〜１０９へと１をイネーブルした論理“１”をラッチすることにより、書き込みのために選択されるかを決定する。
【００３５】
したがって、図５はデータを図４の３つのレジスタ９９〜１０１に選択的にロードするために使用できるあるいはより多くのフリップフロップを使用することによって図４よりさらに複雑な回路のために使用することができる回路を示している。一般にイネーブル１４によって始めに提供される２進シーケンス（立上りエッジ）はどのレジスタがシフトレジスタ１０２に直列的にシフトされる最終的なデータを格納するかを選択する。
【００３６】
図６にはイネーブル１４およびクロック１２を含むタイミング図が示されている。イネーブル１４はここで示されたシフトレジスタに適切な長さのデータ値を提供するために必要なＮクロックサイクルの期間全体の間ローに留まっている。例えば、８ビットのデータ値に対してはＮ＝８であり、２４ビットのデータ値に対してはＮ＝２４であるなどとなる。図６は図１〜図５の内の１つまたはそれ以上の動作を説明するために前に使用された。
【００３７】
図７にはイネーブル１４およびクロック１２を含むタイミング図が示されている。データライン上のシリアルアドレシングは多くのＳＰＩおよびＳＣＩの制約があると可能ではないから、データ受信フェーズ２０６の前にイネーブルライン１４上にエンコーディングシーケンス２００が設けられている。イネーブルシーケンス２００の発生の間に、１つまたはそれ以上のポイント２０２，２０３，２０４，２０５等に位置する値は図１〜２、図３、または図４〜図５に示された３つの実施形態の１つで示されたように、ラッチされかつ処理される。図７は図１〜図５の回路を説明するために前に使用されている。
【００３８】
【発明の効果】
したがって、本発明によれば、ＩＣ内へとデータを直列的に走査する（ｓｃａｎｎｉｎｇ）ための方法および装置が提供されたことが明らかである。本発明が特定の実施形態に関して説明されかつ示されたが、本発明はこれらの例示的な実施形態に限定されるものでないと考える。当業者は本発明の精神および範囲から離れることなく修正および変更を行なうことが可能なことを認識するであろう。例えば、ここでは８ビット、１６ビットおよび２４ビットのレジスタが説明されたが、任意のサイズのレジスタを使用できることは明らかである。ここで示されたレジスタは任意の機能のために使用できる。ここで示されたレジスタは任意の数のバンクその他に構成することができる。ここではジョンソンカウンタが示されたが、このカウンタはグレイコードカウンタ、２進カウンタ、状態マシン、または他の回路と置換えることができる。したがって、この発明は添付の特許請求の範囲に含まれる全ての変更および修正を含むものと考える。
【図面の簡単な説明】
【図１】本発明に係わる、２つまたはそれ以上のレジスタが同じサイズである複数のレジスタの内の１つにデータを直列的に提供するためのシステムを示すブロック図である。
【図２】本発明に係わる、図１のバンク選択回路のより詳細な構成を示すブロック図である。
【図３】本発明に係わる、図１に示された回路の別の実施形態を示すブロック図である。
【図４】本発明に係わる、図１および図３に示されたシステムのさらに他の実施形態を示すブロック図である。
【図５】本発明に係わる、図４のレジスタ選択回路を示すブロック図である。
【図６】本発明に係わる、図１、図３および図４の内の１つまたはそれ以上において示されたシステムの動作方法を示すタイミング図である。
【図７】本発明に係わる、図１、図３および図４の内の１つまたはそれ以上において示されたシステムの動作方法を示すタイミング図である。
【符号の説明】
１２  クロック端子
１４  イネーブル端子
１６  データ入力端子
２０  リップルカウンタ
３０  デコーダ
４０  シフトレジスタ
３１，３２，３３，３６，３７，３８  ＡＮＤゲート
３５  ＯＲゲート
５１，５２，…，５６  レジスタ
６０，７０  付加的なシリアルデータ装置
７２  監視回路
７４  バンク選択回路
【図１】
0003896204.tif 000002
【図２】
0003896204.tif 000003
【図３】
0003896204.tif 000004
【図４】
0003896204.tif 000005
【図５】
0003896204.tif 000006
【図６】
0003896204.tif 000007
【図７】
0003896204.tif 000008