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