(57)【要約】【課題】送信イネーブル信号の信号ラインの配線長が長くなると、波形のなまり（スリュー）の影響による遅延値のずれなどが発生し、安定した高速シリアル転送が困難になる。【解決手段】複数のセレクタ４ａ〜４ｅがシリーズに接続され、それぞれの入力がデータバス１に接続されている。最終段のセレクタの出力には転送ゲート４ｆが接続され、複数のセレクタに対する送信イネーブル信号Ｓsenの信号ラインには各セレクタ間ごとにスリュー対策用バッファ７ａ〜７ｆが挿入され、送信イネーブル信号のネゲート状態で複数のセレクタにデータバス上のデータをセットし、送信イネーブル信号をアサートして複数のセレクタおよび転送ゲートをシリーズに接続し、セットされたデータを隣接するセレクタ間に存在するセレクタ間遅延時間による遅延作用を利用してシリアルに転送する。【選択図】図１
2006221348.tif 000002
【特許請求の範囲】
【請求項１】
複数のセレクタの各一方の入力がデータバスの各ラインに転送ビットの並び順に個別的に接続され、他方の入力が前記並び順で他のセレクタの出力に接続され、
最終段のセレクタの出力には転送ゲートが接続され、
前記複数のセレクタに対する送信イネーブル信号の信号ラインには各セレクタ間ごとにスリュー対策用バッファが挿入され、
送信イネーブル信号のネゲート状態で前記複数のセレクタに前記データバス上のデータをセットし、前記送信イネーブル信号をアサートすることにより前記複数のセレクタおよび前記転送ゲートをシリーズに接続し、前記セットされたデータを隣接するセレクタ間に存在するセレクタ間遅延時間による遅延作用を利用してシリアルに転送するように構成されているシリアルデータ転送装置。
【請求項２】
複数のセレクタの各一方の入力がデータバスの各ラインに転送ビットの並び順に個別的に接続され、他方の入力が前記並び順でデータ保持回路を介して他のセレクタの出力に接続され、
最終段のセレクタの出力には転送ゲートが接続され、
前記複数のデータ保持回路に対する送信イネーブル信号の信号ラインには各データ保持回路間ごとにスリュー対策用バッファが挿入され、
データセット信号のアサート状態で前記複数のセレクタに前記データバス上のデータをセットし、前記データセット信号をネゲートすることにより前記複数のセレクタを前記各データ保持回路を介してシリーズに接続しかつ前記転送ゲートもシリーズに接続するとともに、前記送信イネーブル信号を前記データ保持回路に印加することにより、前記セットされたデータを隣接するセレクタ間に存在するセレクタ間遅延時間による遅延作用を利用してシリアルに転送するように構成されているシリアルデータ転送装置。
【請求項３】
請求項１または請求項２に記載のシリアルデータ転送装置と、
前記シリアルデータ転送装置と同様の回路構成を有し、その複数のセレクタには、前記データバスの各ラインに代えて論理が前記並び順で交互となる固定の電位が印加されており、前記送信イネーブル信号のネゲート状態で前記複数のセレクタに前記論理が交互のデータをセットし、前記送信イネーブル信号をアサートすることにより前記複数のセレクタおよび転送ゲートをシリーズに接続し、前記セットされた論理が交互のデータを転送同期クロックとして隣接するセレクタ間に存在するセレクタ間遅延時間による遅延作用を利用してシリアルに転送するシリアルクロック転送装置と、
システムクロックに同期した同期回路セルの出力と反転したシステムクロックに同期した同期回路セルの出力を論理積した信号で、前記システムクロックの１周期分以上の受信イネーブル信号を生成出力する受信イネーブル信号生成回路とを備えるシリアル転送システム。
【請求項４】
バスマスタと、前記バスマスタからの遅延時間が互いに異なる複数のバススレイブとからなるシリアル転送システムであって、
前記バスマスタは、請求項１または請求項２のシリアルデータ転送装置と、シリアルクロック転送装置と、複数の遅延値を選択設定可能な遅延調整回路とを有し、
前記バススレイブは、前記バスマスタで生成され送信された転送データと転送同期クロックについて前記転送同期クロックを用いて前記転送データを受信するように構成され、
前記遅延調整回路において遅延値を設定するとともに、前記バスマスタと前記バススレイブとの間のテストパターンの送受信に基づく前記テストパターンの比較判定を行って、判定結果良の前記遅延値を前記遅延調整回路に設定するコントロール回路とを備えたシリアル転送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムＬＳＩ内部の回路間でのシリアルデータ転送を高速に行うためのシリアルデータ転送装置およびシリアル転送システムに関するものである。
【背景技術】
【０００２】
近年、システムＬＳＩが大規模化し、内蔵する機能が増大するのに伴い、システムＬＳＩ内部の回路間でのデータ転送に使用する回路および配線が増大してきている。この中でも特に配線に関しては、実際にシステムＬＳＩの内部を接続しているため、システムＬＳＩ内の配線リソースの多くを占めることになり、システムＬＳＩのサイズの増大すなわちコストの上昇を引き起している。
【０００３】
そこで、システムＬＳＩ内部の回路間をシリーズに接続する方法が提案されている。そのような従来のシリアルデータ転送装置を図１１（ａ）に示す。これは、送信用のデータバス９０、フリップフロップ９１ａ〜９１ｅ、セレクタ９２ａ〜９２ｄ、出力バッファ９３、逓倍器（ＰＬＬ）９４などから構成され、図１１（ｂ）に示すように動作する。すなわち、逓倍器９４によりシステムクロックＣＬＫを逓倍して高速の送信イネーブル信号Ｓsenを生成し、フリップフロップ９１ａ〜９１ｄのクロック入力に印加する。データセット信号ＤＳが“Ｌ”のアサート状態にあるとき、セレクタ９２ａ〜９２ｄは“Ｌ”入力を選択してデータバス９０上の各ビットＡ３〜Ａ０を出力する。ただし、最終段の転送ゲート９１ｅが閉じているため、出力バッファ９３からは“Ｌ”の連続信号が出力されることになる。
【０００４】
データセット信号ＤＳが“Ｈ”になるとシリアル転送状態に移行し、フリップフロップ９１ａ〜９１ｄとセレクタ９２ａ〜９２ｄがシリーズに接続される。また、転送ゲート９１ｅに対する転送クロックＳtrを“Ｌ”から“Ｈ”に立ち上げる。これにより、逓倍器９４からの送信イネーブル信号Ｓsenが立ち上がるたびに各ビットの値が転送ゲート９１ｅおよび出力バッファ９３からシリアルに出力される（例えば、特許文献１参照。）。ただしこの技術によると、高速転送を実現するためにシステムクロックの逓倍器（ＰＬＬ）が必須で、面積増大を招くとともに、超高速クロックを供給するためのクロックラインの増強が必要であり、物理設計を非常に困難なものとしているとともに、消費電力の増大を招いている。
【０００５】
そこで、上記の課題を解決するためにシリアルデータ転送をクロックに同期させるのでなく、シリアルデータ転送経路自身が有する遅延時間を利用し、遅延時間毎にデータを転送させる。また、シリアルデータ受信に関してもデータ送信と同様にシリアル受信経路自身が有する遅延時間を利用し、遅延時間毎にデータを取り込むことでシリアル転送を実現する。
【０００６】
図１２（ａ）は本出願人にかかわるシリアルデータ転送装置におけるシリアル送信回路部の構成を示す回路図である。図１２（ａ）において、１０はシリアル送信回路、１は複数ビットラインの送信用のデータバス、３は出力バッファ、４ａ〜４ｄはセレクタ、４ｅは転送ゲートとしてのセレクタ（転送ゲートセレクタ）、６ａ〜６ｅはデータ保持回路としてのラッチ、ＤＳはデータセット信号、Ｓsen′は送信イネーブル信号である。複数のセレクタ４ａ〜４ｅと複数のラッチ６ａ〜６ｅとが交互に並ぶ状態でシリーズに接続されている。データバス１の各ビットＣ０〜Ｃ３がセレクタ４ａ〜４ｄの“Ｈ”入力に接続され、セレクタ４ａ〜４ｄの各出力がそれぞれラッチ６ａ〜６ｄを介して次段のセレクタ４ｂ〜４ｅの“Ｌ”入力に接続されている。データバス１の各ビットは、転送ビットの並び順にセレクタ４ａ〜４ｄに接続されている。初段のセレクタ４ａの“Ｌ”入力および転送ゲートセレクタ４ｅの“Ｈ”入力はグランドの“Ｌ”に接続され、セレクタ４ｅの出力はラッチ６ｅを介して出力バッファ３に接続されている。ラッチ６ａ〜６ｄの各出力がそれぞれ次段のセレクタ４ｂ〜４ｅの“Ｌ”入力に接続され、最終段のラッチ６ｅの出力が出力バッファ３に接続されている。転送ゲートセレクタ４ｅを除いてセレクタ４ａ〜４ｄの総数は、データバス１のビットＣ０〜Ｃ３の総数と同じである。これらのセレクタ４ａ〜４ｅがそれぞれの間にラッチ６ａ〜６ｄを介在する状態でシリーズに接続されている。ロウアクティブの送信イネーブル信号Ｓsen′がラッチ６ａ〜６ｅのゲート入力のそれぞれに与えられている。
【０００７】
セレクタ４ａ〜４ｅは、データセット信号ＤＳが“Ｈ”のアサート状態のときは上側の“Ｈ”入力の信号を選択して出力し、データセット信号ＤＳが“Ｌ”のネゲート状態のときは下側の“Ｌ”入力の信号を選択して出力する。すなわち、データセット信号ＤＳがアサート状態のとき、セレクタ４ａ〜４ｄはデータバス１側を選択するとともに、転送ゲートセレクタ４ｅはグランドの“Ｌ”を選択し、データセット信号ＤＳがネゲート状態のとき、初段のセレクタ４ａはグランドの“Ｌ”を選択するとともに、セレクタ４ｂ〜４ｅは前段のラッチ６ａ〜６ｄの出力を選択する。
【０００８】
次に、以上のように構成されたシリアルデータ転送装置におけるシリアル送信回路の動作を図１２（ｂ）のタイミングチャートに基づいて説明する。
【０００９】
データセット信号ＤＳが“Ｈ”のアサート状態では、セレクタ４ａ〜４ｄはデータバス１の各ビットＣ０〜Ｃ３を選択している。そして、セレクタ４ａ〜４ｄの出力すなわちデータバス１の各ビットＣ０〜Ｃ３がラッチ６ａ〜６ｄに保持されている。しかし、転送ゲートセレクタ４ｅにおいては、データセット信号ＤＳが“Ｈ”のアサート状態の期間は、グランドの“Ｌ”を選択しているため、出力バッファ３から出力されるシリアル転送データＳoutは、ビットＣ０〜Ｃ３の値がどのようなものであれ、それには無関係に“Ｌ”の連続データとなっている。
【００１０】
次に、データセット信号ＤＳを“Ｌ”のネゲート状態に遷移させ、次いで送信イネーブル信号Ｓsen′を“Ｌ”のアサート状態に遷移させると、シリアル転送モードに移行する。その結果、セレクタ４ａ〜４ｄは、それまでデータバス１側に接続されていた状態から、セレクタ４ａ〜４ｅおよびラッチ６ａ〜６ｅをシリーズに接続した状態へ切り替わる。この切り替わり直後の瞬間では、各ラッチ６ａ〜６ｄの出力には、まだそれぞれ接続されているビットＣ０〜Ｃ３の値が保持されている。
【００１１】
以下、シリアル転送モードの動作を説明する。セレクタとセレクタとの間には、１つのセレクタおよび１つのラッチの遅延を含む遅延が存在し、この遅延時間をセレクタ間遅延時間τ2とする。
【００１２】
送信イネーブル信号Ｓsen′のアサート後、セレクタ間遅延時間τ2が経過したタイミングＴ1において、初段のラッチ６ａに保持されていたビットＣ０の値は次段のセレクタ４ｂを介して次段のラッチ６ｂへ転送され、ラッチ６ｂに保持されていたビットＣ１の値は次段のセレクタ４ｃを介して次段のラッチ６ｃへ転送され、ラッチ６ｃに保持されていたビットＣ２の値は次段のセレクタ４ｄを介して次段のラッチ６ｄへ転送され、ラッチ６ｄに保持されていたビットＣ３の値は転送ゲートセレクタ４ｅを介して次段のラッチ６ｅへ転送され、ラッチ６ｅに保持されていた値“Ｌ”は出力バッファ３を介して、シリアル転送データＳoutの１ビット目として出力される。ただし、この出力は、出力バッファ３の遅延時間Ｔｂだけ遅れる（以下同様）。この期間では、初段のセレクタ４ａはグランドの“Ｌ”を選択し、その出力は“Ｌ”となる。
【００１３】
タイミングＴ1からさらにセレクタ間遅延時間τ2が経過したタイミングＴ2において、ラッチ６ｂの出力のビットＣ０の値は次段のラッチ６ｃへ転送され、ラッチ６ｃの出力のビットＣ１の値は次段のラッチ６ｄへ転送され、ラッチ６ｄの出力のビットＣ２の値は最終段のラッチ６ｅへ転送され、さらに出力バッファ３を介してビットＣ２の値が出力され、シリアル転送データＳoutはビットＣ３からビットＣ２へと転送データが変化する。この期間でも、初段のセレクタ４ａは“Ｌ”を選択し、セレクタ４ａ，４ｂの出力は“Ｌ”レベルとなる。
【００１４】
タイミングＴ2からさらにセレクタ間遅延時間τ2が経過したタイミングＴ3において、ビットＣ０の値はラッチ６ｄへ転送され、ラッチ６ｄの出力のビットＣ１の値は最終段のラッチ６ｅへ転送され、さらに出力バッファ３を介してビットＣ１の値が出力され、シリアル転送データＳoutはビットＣ２からビットＣ１へと転送データが変化する。この期間でも、初段のセレクタ４ａは“Ｌ”を選択し、ラッチ６ａ〜６ｃの出力は“Ｌ”レベルとなる。
【００１５】
タイミングＴ3からさらにセレクタ間遅延時間τ2が経過したタイミングＴ4において、ビットＣ０の値は最終段のラッチ６ｅへ転送され、さらに出力バッファ３を介してビットＣ０の値が出力され、シリアル転送データＳoutはビットＣ１からビットＣ０へと転送データが変化する。この期間でも、初段のセレクタ４ａは“Ｌ”を選択し、ラッチ６ａ〜６ｄの出力は“Ｌ”レベルとなる。この期間でも、初段のセレクタ４ａは“Ｌ”を選択し、ラッチ６ａ〜６ｄの出力は“Ｌ”レベルとなる。
【００１６】
さらに時間が経過すると、最終段のラッチ６ｅの出力は“Ｌ”レベルとなり、以降、次のデータセット信号ＤＳの立ち上がりがあるまで、“Ｌ”の連続データとなる。すなわち、当初、ラッチ６ａに存在したビットＣ０がシリアル転送データＳoutの最終データとして転送が終了すると、最終的に“Ｌ”の連続データの出力に切り替わり、シリアル転送が完了する。
【００１７】
このようにセレクタ４ａ〜４ｅがシリーズに接続されたことに伴うデータのシリアル転送は、セレクタ間遅延時間τ2よる遅延作用に基づいて実現されている。転送用クロックを用いてのシリアル転送ではなく、シリアル送信回路自身が有する遅延作用を利用してのシリアル転送となっている。
【００１８】
その後、再びデータセット信号ＤＳが“Ｈ”に変化すると、ラッチ６ａ〜６ｄはデータバス１側を選択し、それに伴って、ラッチ６ａ〜６ｄには新たにデータバス１上に新たにセットされたビットＣ０′〜Ｃ３′の値が取り込まれる。
【特許文献１】特開平５−２７４２６０号公報（第２−３頁、第１−２図）
【発明の開示】
【発明が解決しようとする課題】
【００１９】
上記の構成においては、送信イネーブル信号の信号ラインの配線長が長くなると、波形のなまり（スリュー）の影響による遅延値のずれなどが発生し、安定した高速シリアル転送が困難になる可能性があった。
【課題を解決するための手段】
【００２０】
本発明によるシリアルデータ転送装置は、
複数のセレクタの各一方の入力がデータバスの各ラインに転送ビットの並び順に個別的に接続され、他方の入力が前記並び順で他のセレクタの出力に接続され、
最終段のセレクタの出力には転送ゲートが接続され、
前記複数のセレクタに対する送信イネーブル信号の信号ラインには各セレクタ間ごとにスリュー対策用バッファが挿入され、
送信イネーブル信号のネゲート状態で前記複数のセレクタに前記データバス上のデータをセットし、前記送信イネーブル信号をアサートすることにより前記複数のセレクタおよび前記転送ゲートをシリーズに接続し、前記セットされたデータを隣接するセレクタ間に存在するセレクタ間遅延時間による遅延作用を利用してシリアルに転送するように構成されている。
【００２１】
この構成によれば、スリュー対策用バッファを挿入しているので、送信イネーブル信号の信号ラインの配線長が長くなることに起因する波形なまりを抑えることができ、高速シリアル転送を安定的に行うことができる。
【００２２】
また、本発明によるシリアルデータ転送装置は、
複数のセレクタの各一方の入力がデータバスの各ラインに転送ビットの並び順に個別的に接続され、他方の入力が前記並び順でデータ保持回路を介して他のセレクタの出力に接続され、
最終段のセレクタの出力には転送ゲートが接続され、
前記複数のデータ保持回路に対する送信イネーブル信号の信号ラインには各データ保持回路間ごとにスリュー対策用バッファが挿入され、
データセット信号のアサート状態で前記複数のセレクタに前記データバス上のデータをセットし、前記データセット信号をネゲートすることにより前記複数のセレクタを前記各データ保持回路を介してシリーズに接続しかつ前記転送ゲートもシリーズに接続するとともに、前記送信イネーブル信号を前記データ保持回路に印加することにより、前記セットされたデータを隣接するセレクタ間に存在するセレクタ間遅延時間による遅延作用を利用してシリアルに転送するように構成されている。
【００２３】
この構成によれば、上記と同様に、スリュー対策用バッファを挿入しているので、送信イネーブル信号の信号ラインの配線長が長くなることに起因する波形なまりを抑えることができ、高速シリアル転送を安定的に行うことができる。
【００２４】
ところで、シリアル転送の受信回路側では、受信したシリアル転送データをパラレルデータに変換して出力する必要がある。シリアル転送データは順次に受信するものであるから、全ビットが貯まるまで一定の時間がかかる。データが意味をもつためには、メインのデータバスへ出力するのは、全ビットが貯まってからでないといけない。つまり、メインのデータバスに対して受信用のデータバスを設け、両データバスを転送ゲートを介して接続しておく。受信用のデータバスでシリアル転送データを受信し、そのシリアル転送データの転送完了を待って、転送ゲートを開いて、転送完了したシリアルデータを一斉にメインのデータバスに出力することでパラレルデータに変換する。
【００２５】
受信イネーブル信号を利用し、そのアサートのタイミングで転送ゲートを開くのが原則である。しかし、送信側と受信側との間の遅延等のために、システムクロックと受信イネーブル信号との間にずれが生じることがある。そのずれの状態で転送ゲートを開くと、正しい受信ができなくなるおそれがある。
【００２６】
そこで、受信用のデータバスからメインのデータバスへ受信データの一斉のパラレル出力を行う転送ゲートに対して受信イネーブル信号を送出するのに、システムクロックの１周期分以上の幅をもたせて受信イネーブル信号を送出する遅延手段を設けるのがよい。
【００２７】
これに対応する本発明によるシリアル転送システムは、
上記のいずれかのシリアルデータ転送装置と、
前記シリアルデータ転送装置と同様の回路構成を有し、その複数のセレクタには、前記データバスの各ラインに代えて論理が前記並び順で交互となる固定の電位が印加されており、前記送信イネーブル信号のネゲート状態で前記複数のセレクタに前記論理が交互のデータをセットし、前記送信イネーブル信号をアサートすることにより前記複数のセレクタおよび転送ゲートをシリーズに接続し、前記セットされた論理が交互のデータを転送同期クロックとして隣接するセレクタ間に存在するセレクタ間遅延時間による遅延作用を利用してシリアルに転送するシリアルクロック転送装置と、
システムクロックに同期した同期回路セルの出力と反転したシステムクロックに同期した同期回路セルの出力を論理積した信号で、前記システムクロックの１周期分以上の受信イネーブル信号を生成出力する受信イネーブル信号生成回路とを備えている。
【００２８】
この構成によれば、シリアル転送データと転送同期クロックとともに受信イネーブル信号を受信回路側に送出するもので、受信イネーブル信号がシステムクロックの１周期分以上の時間幅をもつので、データ受信を正確に行うことができる。
【００２９】
また、本発明によるシリアル転送システムは、
バスマスタと、前記バスマスタからの遅延時間が互いに異なる複数のバススレイブとからなるシリアル転送システムであって、
前記バスマスタは、上記のいずれかのシリアルデータ転送装置と、シリアルクロック転送装置と、複数の遅延値を選択設定可能な遅延調整回路とを有し、
前記バススレイブは、前記バスマスタで生成され送信された転送データと転送同期クロックについて前記転送同期クロックを用いて前記転送データを受信するように構成され、
前記遅延調整回路において遅延値を設定するとともに、前記バスマスタと前記バススレイブとの間のテストパターンの送受信に基づく前記テストパターンの比較判定を行って、判定結果良の前記遅延値を前記遅延調整回路に設定するコントロール回路とを備えている。
【００３０】
この構成によれば、送信したテストパターンと受信したテストパターンを比較することにより、正確に送信されているかを確認することができる。
【発明の効果】
【００３１】
本発明によれば、スリュー対策用バッファの挿入により、送信イネーブル信号の信号ラインの配線長が長くなることに起因する波形なまりを抑えることができ、高速シリアル転送を安定的に行うことができる。
【発明を実施するための最良の形態】
【００３２】
以下、本発明にかかわるシリアルデータ転送装置の実施の形態を図面に基づいて詳細に説明する。
【００３３】
（実施の形態１）
図１は本発明の実施の形態１のシリアルデータ転送装置におけるシリアル送信回路部の構成を示す回路図である。図１において、２０はシリアル送信回路、１は複数ビットラインの送信用のデータバス、２はフリップフロップ、３は出力バッファ、４ａ〜４ｅはセレクタ、４ｆは転送ゲートとしてのセレクタ（転送ゲートセレクタ）、５ａ〜５ｅは増幅用のバッファ、ＣＬＫはシステムＬＳＩにおける基本のクロックであるシステムクロック、Ｓｉは転送開始指令信号、Ｓsenは送信イネーブル信号、Ｓoutはシリアル転送データである。７ａ〜７ｆは複数のセレクタ４ａ〜４ｆに対する送信イネーブル信号Ｓsenの信号ラインにおいて各セレクタ間ごとに挿入されたスリュー対策用バッファである。
【００３４】
複数のセレクタ４ａ〜４ｆと複数のバッファ５ａ〜５ｅとが交互に並ぶ状態でシリーズに接続されている。データバス１の各ビットＢ０〜Ｂ４がセレクタ４ａ〜４ｅの“Ｈ”入力に接続され、セレクタ４ａ〜４ｅの各出力がそれぞれバッファ５ａ〜５ｅを介して次段のセレクタ４ｂ〜４ｆの“Ｌ”入力に接続されている。データバス１の各ビットは、転送ビットの並び順にセレクタ４ａ〜４ｅに接続されている。初段のセレクタ４ａの“Ｌ”入力はグランドの“Ｌ”に接続され、転送ゲートセレクタ４ｆの“Ｈ”入力もグランドの“Ｌ”に接続され、転送ゲートセレクタ４ｆの出力は出力バッファ３に接続されている。転送ゲートセレクタ４ｆを除いてセレクタ４ａ〜４ｅの総数は、データバス１のビットＢ０〜Ｂ４の総数と同じである。セレクタ４ａ〜４ｆがそれぞれの間にバッファ５ａ〜５ｅを介在する状態でシリーズに接続されている。フリップフロップ２は、転送開始指令信号Ｓｉの入力に伴ってシステムクロックＣＬＫに同期して送信イネーブル信号Ｓsenを生成出力するもので、送信イネーブル信号Ｓsenはバッファ７ａ〜７ｆを介してセレクタ４ａ〜４ｆのそれぞれの選択制御入力に与えられている。転送開始指令信号Ｓｉ、送信イネーブル信号Ｓsenはロウアクティブである。
【００３５】
セレクタ４ａ〜４ｆは、送信イネーブル信号Ｓsenが論理“Ｈ”のときは上側の“Ｈ”入力の信号を選択して出力し、送信イネーブル信号Ｓsenが論理“Ｌ”のときは下側の入力を選択して出力する。すなわち、送信イネーブル信号Ｓsenが“Ｈ”のとき、セレクタ４ａ〜４ｅはデータバス１側を選択するとともに、転送ゲートセレクタ４ｆはグランドの“Ｌ”を選択し、送信イネーブル信号Ｓsenが“Ｌ”のとき、初段のセレクタ４ａはグランドの“Ｌ”を選択するとともに、セレクタ４ｂ〜４ｆは前段のバッファ５ａ〜５ｅの出力を選択する。
【００３６】
送信イネーブル信号Ｓsenはすべてのセレクタ４ａ〜４ｆの選択制御入力に入力されているため、フリップフロップ２の出力から転送ゲートセレクタ４ｆの選択制御入力までの配線長が長くなることがある。この場合、波形のなまり（スリュー）が発生することになる。このクロックスリューが発生することにより、図２のような現象が発生する。
【００３７】
フリップフロップ２にロウアクティブの転送開始指令信号Ｓｉが入力され、システムクロックＣＬＫが立ち上がると、フリップフロップ２のセットアップ時間Ｔｓの経過後、送信イネーブル信号Ｓsenが“Ｌ”レベルに遷移しアサート状態となる。セレクタとセレクタとの間には、１つのバッファの遅延を含む遅延が存在し、この遅延時間をセレクタ間遅延時間τ1とする。また、送信イネーブル信号Ｓsenはセレクタを１つ通過するごとにスリュー時間τsが発生するものとする。
【００３８】
送信イネーブル信号Ｓsenのアサート後、スリュー時間τsが経過した後のタイミングｔ１において、初段のセレクタ４ａのイネーブル信号が“Ｈ”から“Ｌ”へ遷移する。このとき初段のセレクタ４ａは、それまで“Ｈ”入力においてデータバス１側に接続されていた状態から、“Ｌ”入力がグランドの“Ｌ”に接続された状態へ切り替わる。セレクタ間遅延時間τ1の経過後に論理“Ｌ”となる。
【００３９】
タイミングｔ1からさらにスリュー時間τsが経過した後のタイミングｔ2において、セレクタ４ｂのイネーブル信号が“Ｈ”から“Ｌ”へ遷移する。このときセレクタ４ｂは、それまで“Ｈ”入力においてデータバス１側に接続されていた状態から、“Ｌ”入力が前段のバッファ５ａにシリーズに接続された状態へ切り替わる。セレクタ間遅延時間τ1＋スリュー時間τsの経過後に論理“Ｌ”となる。
【００４０】
タイミングｔ2からさらにスリュー時間τsが経過した後のタイミングｔ3において、セレクタ４ｃのイネーブル信号が“Ｈ”から“Ｌ”へ遷移する。このときセレクタ４ｃは、それまで“Ｈ”入力においてデータバス１側に接続されていた状態から、“Ｌ”入力が前段のバッファ５ｂにシリーズに接続された状態へ切り替わる。セレクタ間遅延時間τ1＋スリュー時間τs×２の経過後に論理“Ｌ”となる。
【００４１】
タイミングｔ3からさらにスリュー時間τsが経過した後のタイミングｔ4において、セレクタ４ｄのイネーブル信号が“Ｈ”から“Ｌ”へ遷移する。このときセレクタ４ｄは、それまで“Ｈ”入力においてデータバス１側に接続されていた状態から、“Ｌ”入力が前段のバッファ５ｃにシリーズに接続された状態へ切り替わる。セレクタ間遅延時間τ1＋スリュー時間τs×３の経過後に論理“Ｌ”となる。
【００４２】
タイミングｔ4からさらにスリュー時間τsが経過した後のタイミングｔ5において、セレクタ４ｅのイネーブル信号が“Ｈ”から“Ｌ”へ遷移する。このときセレクタ４ｅは、それまで“Ｈ”入力においてデータバス１側に接続されていた状態から、“Ｌ”入力が前段のバッファ５ｄにシリーズに接続された状態へ切り替わる。セレクタ間遅延時間τ1＋スリュー時間τs×４の経過後に論理“Ｌ”となる。
【００４３】
同様に、転送ゲートセレクタ４ｆはスリュー時間τs×５の区間だけ“Ｌ”信号が出力された後、Ｂ４が出力されることになる。
【００４４】
このことは、フリップフロップ２の出力から離れているセレクタであるほど、シリアルデータを出力する区間が短くなることを意味し、安定したシリアルデータ転送を実現することが困難になる。
【００４５】
そこで、スリュー時間τsを可能な限り小さくするため、送信イネーブル信号Ｓsenの信号ライン上に各セレクタ間ごとにスリュー対策用バッファ７ａ〜７ｆを配置している。ただし、スリュー対策用バッファ７ａ〜７ｆの遅延時間はセレクタ間遅延時間τ1に比べ、十分小さいものとする。
【００４６】
次に、以上のように構成された本実施の形態のシリアルデータ転送装置におけるシリアル送信回路の動作を図３のタイミングチャートに基づいて説明する。
【００４７】
送信イネーブル信号Ｓsenが“Ｈ”のネゲート状態では、セレクタ４ａ〜４ｅはデータバス１の各ビットＢ０〜Ｂ４を選択し、転送ゲートセレクタ４ｆはグランドの“Ｌ”を選択している。そして、セレクタ４ａ〜４ｅの出力がバッファ５ａ〜５ｅを介して次段のセレクタ４ｂ〜４ｆへ伝播されている。しかし、転送ゲートセレクタ４ｆがグランドの“Ｌ”を選択しているため、出力バッファ３から出力されるシリアル転送データＳoutは、ビットＢ０〜Ｂ４の値がどのようなものであれ、それには無関係に“Ｌ”の連続データとなっている。
【００４８】
次に、フリップフロップ２にロウアクティブの転送開始指令信号Ｓｉが入力され、システムクロックＣＬＫが立ち上がると、フリップフロップ２のセットアップ時間Ｔｓの経過後、送信イネーブル信号Ｓsenが“Ｌ”レベルに遷移しアサート状態となる。送信イネーブル信号Ｓsenはスリュー対策用バッファ７ａ〜７ｆにより、スリューを抑制した状態で伝搬させることができる。その結果、セレクタ４ａ〜４ｅは、それまで“Ｈ”入力においてデータバス１側に接続されていた状態から、セレクタ４ａ〜４ｆをシリーズに接続した状態へ切り替わる。この切り替わり直後の瞬間では、各セレクタ４ａ〜４ｅの出力およびバッファ５ａ〜５ｅの出力には、まだそれぞれ接続されているビットＢ０〜Ｂ４の値が保持されている。
【００４９】
以下、シリアル転送モードの動作を説明する。
【００５０】
送信イネーブル信号Ｓsenのアサート後、セレクタ間遅延時間τ1が経過したタイミングＴ1において、初段のセレクタ４ａ・バッファ５ａの出力にあったビットＢ０の値は次段のセレクタ４ｂ・バッファ５ｂの出力へ転送され、セレクタ４ｂ・バッファ５ｂの出力にあったビットＢ１の値は次段のセレクタ４ｃ・バッファ５ｃの出力へ転送され、セレクタ４ｃ・バッファ５ｃの出力にあったビットＢ２の値は次段のセレクタ４ｄ・バッファ５ｄの出力へ転送され、セレクタ４ｄ・バッファ５ｄの出力にあったビットＢ３の値は次段のセレクタ４ｅ・バッファ５ｅの出力へ転送され、セレクタ４ｅ・バッファ５ｅの出力にあったビットＢ４の値は転送ゲートセレクタ４ｆへ転送され、さらに出力バッファ３を介してビットＢ４の値がシリアル転送データＳoutの１ビット目として出力される。このシリアル転送において、転送ゲートセレクタ４ｆでは、直前でグランドの“Ｌ”を選択していたところ、セレクタ４ｅ・バッファ５ｅの出力にあったビットＢ４が転送されてきて、シリアル転送データＳoutの１ビット目として出力される。ただし、この出力は、出力バッファ３の遅延時間Ｔｂだけ遅れる（以下同様）。この期間では、初段のセレクタ４ａはグランドの“Ｌ”を選択し、その出力は“Ｌ”となる。
【００５１】
タイミングＴ1からさらにセレクタ間遅延時間τ1が経過したタイミングＴ2において、セレクタ４ｂの出力のビットＢ０の値は次段のセレクタ４ｃの出力へ転送され、セレクタ４ｃの出力のビットＢ１の値は次段のセレクタ４ｄの出力へ転送され、セレクタ４ｄの出力のビットＢ２の値は次段のセレクタ４ｅの出力へ転送され、セレクタ４ｅの出力のビットＢ３の値は転送ゲートセレクタ４ｆの出力へ転送され、さらに出力バッファ３を介してビットＢ３の値が出力され、シリアル転送データＳoutはビットＢ４からビットＢ３へと転送データが変化する。この期間でも、初段のセレクタ４ａはグランドの“Ｌ”を選択し、セレクタ４ａ，４ｂの出力は“Ｌ”レベルとなる。
【００５２】
タイミングＴ2からさらにセレクタ間遅延時間τ1が経過したタイミングＴ3において、ビットＢ０の値はセレクタ４ｄの出力へ転送され、ビットＢ１の値はセレクタ４ｅの出力へ転送され、ビットＢ２の値は転送ゲートセレクタ４ｆの出力へ転送され、さらに出力バッファ３を介してビットＢ２の値が出力され、シリアル転送データＳoutはビットＢ３からビットＢ２へと転送データが変化する。この期間でも、初段のセレクタ４ａはグランドの“Ｌ”を選択し、セレクタ４ａ〜４ｃの出力は“Ｌ”レベルとなる。
【００５３】
タイミングＴ3からさらにセレクタ間遅延時間τ1が経過したタイミングＴ4において、ビットＢ０の値はセレクタ４ｅの出力へ転送され、ビットＢ１の値は転送ゲートセレクタ４ｆの出力へ転送され、シリアル転送データＳoutはビットＢ２からビットＢ１へと転送データが変化する。この期間でも、初段のセレクタ４ａはグランドの“Ｌ”を選択し、セレクタ４ａ〜４ｄの出力は“Ｌ”レベルとなる。
【００５４】
タイミングＴ4からさらにセレクタ間遅延時間τ1が経過したタイミングＴ5において、ビットＢ０の値は転送ゲートセレクタ４ｆの出力へ転送され、シリアル転送データＳoutはビットＢ１からビットＢ０へと転送データが変化する。この期間でも、初段のセレクタ４ａはグランドの“Ｌ”を選択し、セレクタ４ａ〜４ｅの出力は“Ｌ”レベルとなる。
【００５５】
以上のタイミングＴ1からＴ5にかけて、シリアル転送データＳoutは、Ｂ４，Ｂ３，Ｂ２，Ｂ１，Ｂ０のように推移する。
【００５６】
さらに時間が経過すると、転送ゲートセレクタ４ｆの出力は“Ｌ”レベルとなり、以降、次の転送開始指令信号Ｓｉの入力があるまで、“Ｌ”の連続データとなる。すなわち、当初、初段のセレクタ４ａに存在したビットＢ０がシリアル転送データＳoutの最終データとして転送が終了すると、最終的に“Ｌ”の連続データの出力に切り替わり、シリアル転送が完了する。
【００５７】
このようにセレクタ４ａ〜４ｆがシリーズに接続されたことに伴うデータのシリアル転送は、セレクタ間遅延時間τ1による遅延作用に基づいて実現されている。転送用クロックを用いてのシリアル転送ではなく、シリアル送信回路自身が有する遅延作用を利用してのシリアル転送となっている。
【００５８】
その後、再び転送開始指令信号Ｓｉが“Ｈ”に変化すると、セレクタ４ａ〜４ｅはデータバス１側を選択し、それに伴って、セレクタ４ａ〜４ｅには新たにデータバス１上に新たにセットされたビットＢ０′〜Ｂ４′の値が取り込まれる。
【００５９】
上記において、セレクタ間遅延時間τ1はシステムクロックＣＬＫの周期に比べて充分に短いものであり、実質的に高速なシリアル転送を実現している。
【００６０】
上記において、送信イネーブル信号Ｓsenが“Ｈ”のネゲート状態のときに転送ゲートセレクタ４ｆが選択するのが“Ｌ”であり、これに合わせて、送信イネーブル信号Ｓsenが“Ｌ”のアサート状態のときに初段のセレクタ４ａが選択するのを“Ｌ”としている。このようにするのは、データ転送を行わない期間のシリアル転送データＳoutを“Ｌ”の連続データとするためである。すなわち、データ列を固定化している。非転送期間で誤ったデータを転送させないためである。
【００６１】
なお、固定のデータ列としては“Ｈ”の連続データでもよく、その場合には、送信イネーブル信号Ｓsenがネゲート状態のときに転送ゲートセレクタ４ｆが選択するのを“Ｈ”とし、これに合わせて、送信イネーブル信号Ｓsenがアサート状態のときに初段のセレクタ４ａが選択するのを“Ｈ”とすればよい。また、転送開始指令信号Ｓｉや送信イネーブル信号Ｓsenについても、これをロウアクティブに代えて、ハイアクティブとしてもよい。
【００６２】
本実施の形態によれば、データのなまりによるシリアルデータの欠けを少なくすることが可能で、安定したシリアル転送が可能となる。
【００６３】
（実施の形態２）
本発明の実施の形態２のシリアルデータ転送装置は、実施の形態１の変形の態様であって、データ保持回路としてのラッチを用いたものである。
【００６４】
図４は本発明の実施の形態２のシリアルデータ転送装置におけるシリアル送信回路部の構成を示す回路図である。図４において、４ａ〜４ｄはセレクタ、４ｅは転送ゲートセレクタ、６ａ〜６ｅはデータ保持回路としてのラッチ、７ａ〜７ｅは複数のラッチ６ａ〜６ｅに対する送信イネーブル信号Ｓsen′の信号ラインにおいて各ラッチ間ごとに挿入されたスリュー対策用バッファ、ＤＳはデータセット信号である。
【００６５】
複数のセレクタ４ａ〜４ｅと複数のラッチ６ａ〜６ｅとが交互に並ぶ状態でシリーズに接続されている。データバス１の各ビットＣ０〜Ｃ３がセレクタ４ａ〜４ｄの“Ｈ”入力に接続され、セレクタ４ａ〜４ｄの各出力がそれぞれラッチ６ａ〜６ｄを介して次段のセレクタ４ｂ〜４ｅの“Ｌ”入力に接続されている。データバス１の各ビットは、転送ビットの並び順にセレクタ４ａ〜４ｄに接続されている。初段のセレクタ４ａの“Ｌ”入力および転送ゲートセレクタ４ｅの“Ｈ”入力はグランドの“Ｌ”に接続され、セレクタ４ｅの出力はラッチ６ｅを介して出力バッファ３に接続されている。ラッチ６ａ〜６ｄの各出力がそれぞれ次段のセレクタ４ｂ〜４ｅの“Ｌ”入力に接続され、最終段のラッチ６ｅの出力が出力バッファ３に接続されている。転送ゲートセレクタ４ｅを除いてセレクタ４ａ〜４ｄの総数は、データバス１のビットＣ０〜Ｃ４の総数と同じである。これらのセレクタ４ａ〜４ｅがそれぞれの間にラッチ６ａ〜６ｄを介在する状態でシリーズに接続されている。ロウアクティブの送信イネーブル信号Ｓsen′がラッチ６ａ〜６ｅのゲート入力のそれぞれに与えられている。
【００６６】
セレクタ４ａ〜４ｅは、データセット信号ＤＳが“Ｈ”のアサート状態のときは上側の“Ｈ”入力の信号を選択して出力し、データセット信号ＤＳが“Ｌ”のネゲート状態のときは下側の“Ｌ”入力の信号を選択して出力する。すなわち、データセット信号ＤＳがアサート状態のとき、セレクタ４ａ〜４ｄはデータバス１側を選択するとともに、転送ゲートセレクタ４ｅはグランドの“Ｌ”を選択し、データセット信号ＤＳがネゲート状態のとき、初段のセレクタ４ａはグランドの“Ｌ”を選択するとともに、セレクタ４ｂ〜４ｅは前段のラッチ６ａ〜６ｄの出力を選択する。その他の構成については、実施の形態１と同様である。
【００６７】
送信イネーブル信号Ｓsen′はすべてのラッチに入力されているため、配線長が長くなることがある。この場合、波形のなまり（スリュー）が発生することになる。このクロックスリューが発生することにより、図５のような現象が発生する。
【００６８】
データセット信号ＤＳを“Ｌ”のネゲート状態に遷移させると、セレクタ４ａ〜４ｅおよびラッチ６ａ〜６ｅがシリーズに接続した状態へ切り替わる。次いで送信イネーブル信号Ｓsen′を“Ｌ”のアサート状態に遷移させると、シリアル転送モードに移行する。また、セレクタとセレクタとの間には、１つのセレクタおよび１つのラッチの遅延を含む遅延が存在し、この遅延時間をセレクタ間遅延時間τ2とする。送信イネーブル信号Ｓsen′はラッチを１つ通過するごとにスリュー時間τsが発生するものとする。
【００６９】
送信イネーブル信号Ｓsen′のアサート後、スリュー時間τsが経過した後のタイミングｔ1において、初段のラッチ６ａのゲート入力が“Ｈ”から“Ｌ”へ遷移する。このときラッチ６ａは、データ保持状態からデータ送出状態に切り替わる。セレクタ間遅延時間τ2の経過後に論理“Ｌ”となる。
【００７０】
タイミングｔ1からさらにスリュー時間τsが経過した後のタイミングｔ2においてラッチ６ｂのゲート入力が“Ｈ”から“Ｌ”へ遷移する。このときラッチ６ｂは、データ保持状態からデータ送出状態に切り替わる。セレクタ間遅延時間τ2＋スリュー時間τsの経過後に論理“Ｌ”となる。
【００７１】
タイミングｔ2からさらにスリュー時間τsが経過した後のタイミングｔ3においてラッチ６ｃのゲート入力が“Ｈ”から“Ｌ”へ遷移する。このときラッチ６ｃは、データ保持状態からデータ送出状態に切り替わる。セレクタ間遅延時間τ2＋スリュー時間τs×２の経過後に論理“Ｌ”となる。
【００７２】
タイミングｔ3からさらにスリュー時間τsが経過した後のタイミングｔ4においてラッチ６ｄのゲート入力が“Ｈ”から“Ｌ”へ遷移する。このときラッチ６ｄは、データ保持状態からデータ送出状態に切り替わる。セレクタ間遅延時間τ2＋スリュー時間τs×３の経過後に論理“Ｌ”となる。
【００７３】
同様に、ラッチ６ｅはスリュー時間τs×４の区間だけ“Ｌ”信号が出力された後、Ｃ３が出力されることになる。
【００７４】
このことは、送信イネーブル信号Ｓsen′の入力端から離れているラッチであるほど、シリアルデータの出力区間が短くなることを意味し、安定したシリアルデータ転送が実現することが困難になる。
【００７５】
そこで、スリュー時間τsを可能な限り小さくするため、送信イネーブル信号Ｓsen′の信号ライン上に各ラッチ間ごとにスリュー対策用バッファ７ａ〜７ｅを配置する。ただし、スリュー対策用バッファ７ａ〜７ｅの遅延時間はセレクタ間遅延時間τ2に比べ、十分小さいものとする。
【００７６】
次に、以上のように構成された本実施の形態のシリアルデータ転送装置におけるシリアル送信回路の動作を図６のタイミングチャートに基づいて説明する。
【００７７】
データセット信号ＤＳが“Ｈ”のアサート状態では、セレクタ４ａ〜４ｄはデータバス１の各ビットＣ０〜Ｃ３を選択している。そして、セレクタ４ａ〜４ｄの出力すなわちデータバス１の各ビットＣ０〜Ｃ３がラッチ６ａ〜６ｄに保持されている。しかし、転送ゲートセレクタ４ｅがグランドの“Ｌ”を選択しているため、出力バッファ３から出力されるシリアル転送データＳoutは、ビットＣ０〜Ｃ３の値がどのようなものであれ、それには無関係に“Ｌ”の連続データとなっている。
【００７８】
次に、データセット信号ＤＳを“Ｌ”のネゲート状態に遷移させると、セレクタ４ａ〜４ｅは、それまで“Ｈ”入力においてデータバス１側に接続されていた状態から、ラッチ６ａ〜６ｄを介してセレクタ４ａ〜４ｅをシリーズに接続した状態へ切り替わる。次いで送信イネーブル信号Ｓsen′を“Ｌ”のアサート状態に遷移させると、シリアル転送モードに移行する。送信イネーブル信号Ｓsen′はスリュー対策用バッファ７ａ〜７ｅにより、スリューを抑制した状態で伝搬させることができる。この直後では、各ラッチ６ａ〜６ｄの出力には、まだそれぞれ接続されているビットＣ０〜Ｃ３の値が保持されている。
【００７９】
以下、シリアル転送モードの動作を説明する。
【００８０】
送信イネーブル信号Ｓsen′のアサート後、セレクタ間遅延時間τ2が経過したタイミングＴ1において、初段のラッチ６ａに保持されていたビットＣ０の値は次段のセレクタ４ｂを介して次段のラッチ６ｂへ転送され、ラッチ６ｂに保持されていたビットＣ１の値は次段のセレクタ４ｃを介して次段のラッチ６ｃへ転送され、ラッチ６ｃに保持されていたビットＣ２の値は次段のセレクタ４ｄを介して次段のラッチ６ｄへ転送され、ラッチ６ｄに保持されていたビットＣ３の値は転送ゲートセレクタ４ｅを介して次段のラッチ６ｅへ転送され、ラッチ６ｅに保持されていた値“Ｌ”は出力バッファ３を介して、シリアル転送データＳoutの１ビット目として出力される。ただし、この出力は、出力バッファ３の遅延時間だけ遅れる（以下同様）。この期間では、初段のセレクタ４ａはグランドの“Ｌ”を選択し、その出力は“Ｌ”となる。
【００８１】
タイミングＴ1からさらにセレクタ間遅延時間τ2が経過したタイミングＴ2において、ラッチ６ｂの出力のビットＣ０の値は次段のラッチ６ｃへ転送され、ラッチ６ｃの出力のビットＣ１の値は次段のラッチ６ｄへ転送され、ラッチ６ｄの出力のビットＣ２の値は最終段のラッチ６ｅへ転送され、さらに出力バッファ３を介してビットＣ２の値が出力され、シリアル転送データＳoutはビットＣ３からビットＣ２へと転送データが変化する。この期間でも、初段のセレクタ４ａは“Ｌ”を選択し、セレクタ４ａ，４ｂの出力は“Ｌ”レベルとなる。
【００８２】
タイミングＴ2からさらにセレクタ間遅延時間τ2が経過したタイミングＴ3において、ビットＣ０の値はラッチ６ｄへ転送され、ラッチ６ｄの出力のビットＣ１の値は最終段のラッチ６ｅへ転送され、さらに出力バッファ３を介してビットＣ１の値が出力され、シリアル転送データＳoutはビットＣ２からビットＣ１へと転送データが変化する。この期間でも、初段のセレクタ４ａは“Ｌ”を選択し、ラッチ６ａ〜６ｃの出力は“Ｌ”レベルとなる。
【００８３】
タイミングＴ3からさらにセレクタ間遅延時間τ2が経過したタイミングＴ4において、ビットＣ０の値は最終段のラッチ６ｅへ転送され、さらに出力バッファ３を介してビットＣ０の値が出力され、シリアル転送データＳoutはビットＣ１からビットＣ０へと転送データが変化する。この期間でも、初段のセレクタ４ａは“Ｌ”を選択し、ラッチ６ａ〜６ｄの出力は“Ｌ”レベルとなる。この期間でも、初段のセレクタ４ａは“Ｌ”を選択し、ラッチ６ａ〜６ｄの出力は“Ｌ”レベルとなる。
【００８４】
さらに時間が経過すると、最終段のラッチ６ｅの出力は“Ｌ”レベルとなり、以降、次のデータセット信号ＤＳの立ち上がりがあるまで、“Ｌ”の連続データとなる。すなわち、当初、ラッチ６ａに存在したビットＣ０がシリアル転送データＳoutの最終データとして転送が終了すると、最終的に“Ｌ”の連続データの出力に切り替わり、シリアル転送が完了する。
【００８５】
このようにセレクタ４ａ〜４ｅがシリーズに接続されたことに伴うデータのシリアル転送は、セレクタ間遅延時間τ2よる遅延作用に基づいて実現されている。転送用クロックを用いてのシリアル転送ではなく、シリアル送信回路自身が有する遅延作用を利用してのシリアル転送となっている。
【００８６】
その後、再びデータセット信号ＤＳが“Ｈ”に変化すると、ラッチ６ａ〜６ｄはデータバス１側を選択し、それに伴って、ラッチ６ａ〜６ｄには新たにデータバス１上に新たにセットされたビットＣ０′〜Ｃ３′の値が取り込まれる。
【００８７】
上記において、セレクタ間遅延時間τ2はシステムクロックＣＬＫの周期に比べて充分に短いものであり、実質的に高速なシリアル転送を実現している。
【００８８】
上記において、データセット信号ＤＳが“Ｈ”のアサート状態のときに転送ゲートセレクタ４ｅが選択するのが“Ｌ”であり、これに合わせて、データセット信号ＤＳが“Ｌ”のときに初段のセレクタ４ａが選択するのを“Ｌ”としている。このようにするのは、データ転送を行わない期間のシリアル転送データＳoutを“Ｌ”の連続データに固定化するためと、非転送期間で誤ったデータを転送させないためである。
【００８９】
なお、固定のデータ列としては“Ｈ”の連続データでもよく、その場合には、データセット信号ＤＳがアサート状態のときに転送ゲートセレクタ４ｅが選択するのを“Ｈ”とし、これに合わせて、送信イネーブル信号Ｓsen′がアサート状態のときに初段のセレクタ４ａが選択するのを“Ｈ”とすればよい。また、データセット信号ＤＳや送信イネーブル信号Ｓsen′についても、これらをロウアクティブに代えて、ハイアクティブとしてもよい。
【００９０】
本実施の形態によれば、データのなまりによるシリアルデータの欠けを少なくすることが可能で、安定したシリアル転送が可能となる。
【００９１】
（実施の形態３）
図７は本発明の実施の形態３のシリアル転送システムの構成を示すブロック図である。実施の形態１のシリアルデータ転送装置に対し、転送同期クロックＳclkの生成回路シリアルクロック転送装置と、受信イネーブル信号Ｓrenの生成回路とを追加した構成となっている。２０はデータのシリアル送信回路、２１は転送同期クロックのシリアル送信回路、２ａ〜２ｄはフリップフロップ、８ａ〜８ｅはセレクタ、８ｆは転送ゲートセレクタ、９ａ〜９ｅは増幅用のバッファ、１０ａ〜１０ｆは送信イネーブル信号Ｓsenのスリュー対策用バッファ、１１は転送同期クロックＳclkの出力バッファ、Ｓrenは受信イネーブル信号である。
【００９２】
シリアル転送データＳoutの生成については実施の形態１と同様である。
【００９３】
以下に、転送同期クロックＳclkの生成について説明する。
【００９４】
転送同期クロックのシリアル送信回路２１において、複数のセレクタ８ａ〜８ｆと複数のバッファ９ａ〜９ｅとが交互に並ぶ状態でシリーズに接続されている。セレクタ８ａ〜８ｆの“Ｈ”入力には電源電圧の“Ｈ”とグランドの“Ｌ”が交互に接続されている。つまり、電源電圧の“Ｈ”がセレクタ８ａ，８ｃ，８ｅの“Ｈ”入力に接続され、グランドがセレクタ８ｂ，８ｄ，８ｆの“Ｈ”入力に接続されている。セレクタ８ａ〜８ｅの各出力はバッファ９ａ〜９ｅを介して次段のセレクタ８ｂ〜８ｆの“Ｌ”入力に接続されている。初段のセレクタ８ａの“Ｌ”入力はグランドに接続され、転送ゲートセレクタ８ｆの出力は出力バッファ１１に接続されている。転送ゲートセレクタ８ｆを除いてセレクタ８ａ〜８ｅの総数はデータバス１のビットＢ０〜Ｂ４の総数と同じであり、これはシリアル転送データＳoutの生成部のセレクタ４ａ〜４ｅの総数と同じである。また、セレクタ４ａ〜４ｆと８ａ〜８ｆを同一に、バッファ５ａ〜５ｅと９ａ〜９ｅを同一に、スリュー対策用バッファ７ａ〜７ｆと１０ａ〜１０ｆを同一にすることで、シリアル転送データＳoutと転送同期クロックＳclkのタイミングを合わせることができる。
【００９５】
以下に、受信イネーブル信号Ｓrenについて説明する。
【００９６】
送信イネーブル信号Ｓsenは、フリップフロップ２ａがシステムクロックＣＬＫの立ち上がりで転送開始命令信号Ｓｉを受け取り、次のシステムクロックＣＬＫの立ち上がりでフリップフロップ２ａの出力をフリップフロップ２ｂが受け取ることで生成される。フリップフロップ２ａと同じエッジで動作するフリップフロップ２ｂの出力と、フリップフロップ２ａの反転エッジで動作し送信イネーブル信号Ｓsenを受け取るフリップフロップ２ｃの出力と、フリップフロップ２ａの反転エッジで動作するフリップフロップ２ｄの出力の３入力の論理積をとる論理積ゲート１２によって受信イネーブル信号Ｓrenが生成される。転送開始命令信号Ｓｉ、送信イネーブル信号Ｓsen、受信イネーブル信号Ｓrenはいずれもロウアクティブである。
【００９７】
次に、以上のように構成された本実施の形態のシリアルデータ転送装置の動作を図７（ｂ）のタイミングチャートに基づいて説明する。
【００９８】
図７（ｂ）において、システムクロックＣＬＫの立ち上がりタイミングをＴ０，Ｔ１，Ｔ２，Ｔ３とし、立ち下がりタイミングをＴ０′，Ｔ１′，Ｔ２′，Ｔ３′とする。初期状態は転送開始指令信号Ｓｉとして論理“Ｈ”が入力されており、フリップフロップ２ａ〜２ｄの状態も“Ｈ”となっている。タイミングＴ０の少し後に転送開始指令信号Ｓｉに“Ｌ”を入力する。シリアル通信は１サイクル以内に行われるため、次のシステムクロックＣＬＫの立ち上がりタイミングＴ１で転送開始指令信号Ｓｉを“Ｈ”にする。
【００９９】
タイミングＴ１で、フリップフロップ２ａが転送開始指令信号Ｓｉの“Ｌ”信号を受け取り“Ｌ”を出力する。そしてタイミングＴ１′で反転クロックで動作しているフリップフロップ２ｄがフリップフロップ２ａの“Ｌ”信号を受け取りタイミングＴ１′のやや後に“Ｌ”を出力する。フリップフロップ２ｄの出力が“Ｌ”になったことで、３入力の論理積ゲート１２の出力も“Ｌ”となり、受信イネーブル信号Ｓrenが“Ｌ”となる。ここで、転送開始指令信号Ｓｉ信号は“Ｈ”にする。
【０１００】
タイミングＴ２において、正転クロックで動作しているフリップフロップ２ｂがフリップフロップ２ａの出力信号“Ｌ”を受け取り、タイミングＴ２のやや後に“Ｌ”を出力する。フリップフロップ２ａへの入力は“Ｈ”となったため、フリップフロップ２ａの出力が“Ｈ”と変わる。フリップフロップ２ｂの出力信号は送信イネーブル信号Ｓsenであり、これよりタイミングＴ３までの間に実施の形態１で説明したシリアル転送が行われる。転送同期クロックＳclkの動作については、図７（ｂ）のＢ０〜Ｂ４の変化のタイミングで“Ｈ”，“Ｌ”が交互に入れ替わるクロック動作をする構成となっている。つまり、シリアル転送データＳoutと転送同期クロックＳclkは同じタイミングで変化し、出力されていることになる。
【０１０１】
タイミングＴ２′において反転クロックで動作しているフリップフロップ２ｃがフリップフロップ２ｂの出力信号“Ｌ”を受け取り、タイミングＴ２′のやや後に“Ｌ”を出力する。ここで、フリップフロップ２ａの出力が“Ｈ”と変わっているため、フリップフロップ２ｄの出力も“Ｈ”に変わるが、フリップフロップ２ｂ〜２ｄの３入力の論理積ゲート１２の出力する受信イネーブル信号Ｓrenは“Ｌ”のままである。
【０１０２】
タイミングＴ３において、フリップフロップ２ａの出力が“Ｈ”であるため、フリップフロップ２ｂが“Ｈ”を受け取り、タイミングＴ３のやや後に“Ｈ”を出力する。この時点でもフリップフロップ２ｂ〜２ｄの論理積ゲート１２の出力する受信イネーブル信号Ｓrenは“Ｌ”のままである。
【０１０３】
タイミングＴ３′においてフリップフロップ２ｂの出力が“Ｈ”であるため、フリップフロップ２ｃが“Ｈ”を受け取り、タイミングＴ３′のやや後に“Ｈ”を出力する。この時点でフリップフロップ２ｂ〜２ｄの出力はすべて“Ｈ”となるため、論理積ゲート１２の出力する受信イネーブル信号Ｓrenは“Ｈ”となる。
【０１０４】
シリアル転送はタイミングＴ２からＴ３の１サイクルの間に行われ、そのシリアル転送データＳoutと転送同期クロックＳclkが同じタイミングで出力されている。しかし、受信側でシリアル転送データＳoutと転送同期クロックＳclkを同じタイミングで受けることができなければ正しいデータを転送することができない。そのため、受信イネーブル信号ＳrenをタイミングＴ１′からＴ３′までの間に出力させることにより、シリアル転送期間の前後に半サイクル分のマージンをとっている。
【０１０５】
本実施の形態によれば、シリアル転送データ、転送同期クロックとともに同時に出力する受信イネーブル信号は、シリアル転送データに対してデータ出力期間前後にマージンがあるため、受信側が確実にシリアル転送データを受け取ることが可能となる。
【０１０６】
（実施の形態４）
以下では、バスマスタと複数のバススレイブとの間の遅延調整について説明する。
【０１０７】
図８に示すように、上記で説明したいずれかのシリアル送信回路部とシリアル受信回路部を１つずつ持つバスマスタＭと、バスマスタＭと同様の構成を持つ複数のバススレイブＳがあり、バスマスタＭの送信回路Ｍ１は複数のバススレイブＳの各受信回路Ｓ２に対して並列に接続されている。バスマスタＭにはまた、シリアル転送の制御およびテストパターン比較を行うコントロール回路３０が接続されている。バスマスタＭと各バススレイブＳには、バスマスタＭと各バススレイブＳ間の遅延時間の調整を行うための遅延調整回路４０が接続されている。すなわち、シリアルデータ転送装置の出力側に遅延調整回路４０を持つ。この遅延調整回路４０は、次のように構成されている。転送ゲートセレクタ４ｆの出力と出力バッファ３との間にシリアル転送データＳoutの遅延を調整するためのもので、遅延時間が互いに異なる複数の遅延素子ｄ1，ｄ2，ｄ3の並列接続と遅延セレクタ４１とが挿入されている。また、転送ゲートセレクタ８ｆの出力と出力バッファ１１との間に転送同期クロックＳclkの遅延を調整するためのもので、遅延時間が互いに異なる複数の遅延素子ｄ4，ｄ5，ｄ6の並列接続と遅延セレクタ４２とが挿入されている。両遅延セレクタ４１，４２の選択制御入力には遅延制御レジスタ４３が接続されている。この遅延制御レジスタ４３は、遅延セレクタ４１，４２を制御することにより、バスマスタＭとバススレイブＳの間に存在する遅延時間を管理するものである。遅延制御レジスタ４３は、図９（ｂ）に示す遅延時間と遅延制御のレジスタ値が対応する遅延テーブルを備えている。レジスタ値を遅延制御レジスタに設定することで希望の遅延値を決定するものである。
【０１０８】
なお、ここでは、各シリアル送信回路の遅延素子を３つとしたが、遅延素子はこれより多くても少なくても構わないものとする。また、遅延素子ｄ1，ｄ2，ｄ3の遅延時間と遅延素子ｄ4，ｄ5，ｄ6の遅延時間とは互いに同一にするのを原則とするが、必要に応じて異ならせてもよい。
【０１０９】
次に、動作を説明する。図１０のシーケンスを用いて、バスマスタＭとバススレイブＳ間の遅延値の設定の処理を説明する。
【０１１０】
遅延調整回路４０の遅延テーブル（図９（ｂ））をもとに、バスマスタＭの送信回路Ｍ１およびバススレイブＳの送信回路Ｓ１の各遅延制御レジスタ４３に対して、テーブル上で最小の遅延値を設定する。
【０１１１】
遅延値設定後、バススレイブＳおよびバスマスタＭを通常シリアル転送モードに設定する。コントロール回路３０で生成したテストパターンをバスマスタＭの送信回路Ｍ１へセットする。バスマスタＭの送信回路Ｍ１からテストパターンをバススレイブＳに送信する。バススレイブＳの受信回路Ｓ２で受信したテストパターンを直ちにバススレイブＳの送信回路Ｓ１へ転送する。バススレイブＳの送信回路Ｓ１からテストパターンを直ちにバスマスタＭに返信する。バスマスタＭの受信回路Ｍ２がテストパターンを受信したら直ちにコントロール回路３０へ送信する。コントロール回路３０は、送信したテストパターンと受信したテストパターンを比較し、正確に送信されているかを確認する。
【０１１２】
ここで比較結果が一致せず正確にシリアルデータが送信されていなければ、再度、遅延調整回路４０の遅延テーブルをもとに２番目に小さい遅延値を遅延制御レジスタ４３に設定し、再度、テストパターン送受信を行い、コントロール回路３０での比較によりテストパターンが正確に送信されたことが確認されたら、遅延値の設定は完了となる。これを正確な送受信が実行されるまで続ける。これにより、シリアル転送に正確に対応することができる。
【産業上の利用可能性】
【０１１３】
本発明は、ゲート規模や配線リソースの削減の効果を有し、システムＬＳＩ内部の回路間での高速シリアル転送等の技術として有用である。
【図面の簡単な説明】
【０１１４】
【図１】本発明の実施の形態１のシリアルデータ転送装置におけるシリアル送信回路部の構成を示す回路図
【図２】本発明の実施の形態１において波形のなまり（スリュー）に起因する不具合現象を説明するタイミングチャート
【図３】本発明の実施の形態１のシリアルデータ転送装置の動作を説明するタイミングチャート
【図４】本発明の実施の形態２のシリアルデータ転送装置におけるシリアル送信回路部の構成を示す回路図
【図５】本発明の実施の形態２において波形のなまりに起因する不具合現象を説明するタイミングチャート
【図６】本発明の実施の形態２のシリアルデータ転送装置の動作を説明するタイミングチャート
【図７】（ａ）は本発明の実施の形態３のシリアルデータ転送装置におけるシリアル送信回路部の構成を示す回路図、（ｂ）はその動作を説明するタイミングチャート
【図８】本発明の実施の形態４のシリアル転送システムの構成を示すブロック図
【図９】（ａ）は本発明の実施の形態４のシリアルデータ転送装置におけるシリアル送信回路部の構成を示す回路図、（ｂ）は遅延テーブルの説明図
【図１０】本発明の実施の形態４のシリアル転送システムの動作を示すフローチャート
【図１１】（ａ）は従来技術のシリアルデータ転送装置の構成を示す回路図、（ｂ）はその動作を説明するタイミングチャート
【図１２】（ａ）は先行技術のシリアルデータ転送装置の構成を示す回路図、（ｂ）はその動作を説明するタイミングチャート
【符号の説明】
【０１１５】
１  送信用のデータバス
２  フリップフロップ
３  出力バッファ
４ａ〜４ｅ  セレクタ
４ｆ  転送ゲートセレクタ
５ａ〜５ｅ  バッファ
６ａ〜６ｅ  ラッチ（データ保持回路）
７ａ〜７ｆ  スリュー対策用バッファ
８ａ〜８ｅ  セレクタ
８ｆ  転送ゲートセレクタ
９ａ〜９ｅ  バッファ
１０ａ〜１０ｆ  スリュー対策用バッファ
１１  出力バッファ
１２  論理積ゲート
２０  データのシリアル送信回路
２１  転送同期クロックのシリアル送信回路
３０  コントロール回路
４０  遅延調整回路
４１，４２  遅延セレクタ
４３  遅延制御レジスタ
ＣＬＫ  システムクロック
ＤＳ  データセット信号
ｄ1，ｄ2，ｄ3，ｄ4，ｄ5，ｄ6  遅延素子
Ｍ  バスマスタ
Ｓ  バススレイブ
Ｓｉ  転送開始指令信号
Ｓsen，Ｓsen′  送信イネーブル信号
Ｓout  シリアル転送データ
Ｓclk  転送同期クロック
Ｓren  受信イネーブル信号
τs  スリュー時間 
【図１】
2006221348.tif 000003
【図２】
2006221348.tif 000004
【図３】
2006221348.tif 000005
【図４】
2006221348.tif 000006
【図５】
2006221348.tif 000007
【図６】
2006221348.tif 000008
【図７】
2006221348.tif 000009
【図８】
2006221348.tif 000010
【図９】
2006221348.tif 000011
【図１０】
2006221348.tif 000012
【図１１】
2006221348.tif 000013
【図１２】
2006221348.tif 000014