JP3557975B2 - Signal switching circuit and signal switching method - Google Patents

Signal switching circuit and signal switching method Download PDF

Info

Publication number
JP3557975B2
JP3557975B2 JP35513999A JP35513999A JP3557975B2 JP 3557975 B2 JP3557975 B2 JP 3557975B2 JP 35513999 A JP35513999 A JP 35513999A JP 35513999 A JP35513999 A JP 35513999A JP 3557975 B2 JP3557975 B2 JP 3557975B2
Authority
JP
Japan
Prior art keywords
signal
output
state
input
digital
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP35513999A
Other languages
Japanese (ja)
Other versions
JP2000324135A (en
Inventor
ウエハラ クリントン
ユー チアング クアング
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/287,596 external-priority patent/US6297684B1/en
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Publication of JP2000324135A publication Critical patent/JP2000324135A/en
Application granted granted Critical
Publication of JP3557975B2 publication Critical patent/JP3557975B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、異なる信号レートを有するディジタル信号の生成と切り替えを行なう信号切り替え回路及び信号切り替え方法に関する。より具体的に、本発明は高信号レートを有するディジタル信号を符号化して符号化された信号を生成することに関し、さらにそうした信号を低信号レートを有するアービトレーション信号と同じ信号線に切り替えることに関する。
【0002】
【従来の技術】
近年のエレクトロニクスで、様々な信号タイプを生成する集積回路は普通である。集積回路は、例えば、高信号レートで情報を伝えるデータ信号を生成し、実質的に低信号レートを有すると共に他の装置を制御するのに役立つアービトレーション信号を生成することもできる。実質的に異なる信号レートを有する信号が同じ信号経路を活用する場合、信号レートの差が原因で様々な問題が生じることがある。例えば、一般にグリッチ(glitch, 不調)として知られる疑似信号は信号レートの差が原因で信号経路上の出力信号に発生する。
【0003】
とりわけ重要な一例は、IEEE規格1394に準拠して様々な部品を相互接続するバスを用いたコンピュータシステムにおいて発生する。この文脈において、高信号レートを有する信号は、およそ100 MHzから300 MHzの範囲の信号レートでデータを伝送するデータ信号を含み、また受信装置がデータ信号との同期を維持するために用いる信号レートがデータ信号とほぼ同じストローブ信号(strobe signal,ストロボ信号、以下同様)を含むこともある。低信号レートを有する信号には、ほぼ50 MHzの信号レートを有するアービトレーション信号がある。そのようなアービトレーション信号はバスの動作やバスに接続された装置の動作を制御できるようにIEEE規格1394に指定されている。
【0004】
【発明が解決しようとする課題】
異なる信号レートを有する信号を同じ信号経路に切り替える従来からの手法の一つは、伝統的なマルチプレクサを用いて信号の信号ソースを信号経路に接続することである。信号ソース間の信号レートの最大差がおよそ100 MHzを超える場合は、この伝統的な手法では正常に動作しない。信号レートの差が原因でマルチプレクサが出力でグリッチを発生させるのが普通である。グリッチはデータ信号の一部と解釈されるかもしれないが、その結果データエラーを発生させることがある。マルチプレクサがアービトレーション信号をバスに切り替えるときに生じるグリッチはアービトレーション信号の一部と解釈されるかもしれないが、それが原因で受信装置に誤動作が生じることがある。グリッチは切り替わった信号の始まりに或いは始まり近くに発生するので、信号タイプ間の遷移を示すIEEE規格1394で必要とされる様々な信号のプレフィックスなどといった信号のプレフィックスと干渉してしまうことがある。
【0005】
この分野での更なる問題は、IEEE規格1394に規定されているストローブ信号を生成するための伝統的な非メモリレス符号化回路及び方法によりデータ信号やストローブ信号に生じる1サイクルの遅延である。より具体的に、IEEE規格1394は再帰によってデータ信号を符号化してストローブ信号を生成する伝統的なエンコーダを記述している。この伝統的なエンコーダでは、データ信号が第1のXORゲートの入力の一つと第1のDフリップフロップのD入力に供給される。第1DフリップフロップのQ出力から供給された遅延データ信号は第1のXORゲートの他の入力にフィードバックされ、第1のXORゲートの出力が第2のXORゲートの第1入力を駆動する。第2のXORゲートの出力が第2DフリップフロップのD入力を駆動する。第2DフリップフロップのQ出力はストローブ信号を供給する。 /Q出力は第2 XORゲートの第2出力にフィードバックされる反転されたストローブ信号を供給する。 両Dフリップフロップは共に同じクロック信号によってクロッキングされる。
【0006】
明らかに、この符号化はDフリップフロップの動作のために再帰的である。符号化には2つのソースからのフィードバックが必要である。さらに、データ信号はストローブ信号を生成するにあたり少なくとも1クロックサイクル遅延していなければならないが、バスに供給されるデータ信号は実際には遅延データ信号で、それは少なくとも完全に1クロックサイクル遅れた元々のデータ信号のコピーである。このレイテンシー(latency,待ち時間、以下同様)がさらに加わることによりバスに接続された他の装置へのデータの伝送が遅くなるので、非常に好ましくない。
【0007】
従ってエレクトロニクスの技術分野において実質的に異なる信号レートで信号を供給する信号ソースに信号経路を接続する改善された回路及び改善された方法が常に必要とされている。そうした回路及び方法は出力グリッチがスイッチング動作中生じないようにするのが好ましい。そうした回路及び方法はIEEE規格1394に準拠して実現され、200 MHzを超えるデータ信号及びストローブ信号の信号レートをサポートすることが非常に好ましい。改善されたスイッチング回路は集積回路(IC)チップ上の出力バッファを駆動するのに必要である。そのように改善された回路は実現するにあたりICチップ上の所要空間が最小限で済むのが好ましい。
【0008】
ディジタル信号を並列に符号化する改善されたエンコーダ及び符号化の方法に対するニーズもある。そのようなエンコーダ及び符号化の方法はIEEE規格1394に準拠してストローブ信号を生成するように実現できるのが好ましい。データ信号及びストローブ信号のレイテンシーを最小限に抑えるために、再帰を用いずにそうしたストローブ信号を生成するのが好ましい。さらに、エンコーダの実施例が少なくとも一つはレイテンシーのペナルティを生じさせることなくIEEE規格1394に準拠したストローブ信号を供給するのが非常に好ましい。
【0009】
実質的に異なる信号レートを有するディジタル信号間のスイッチング動作をサポートする改善された回路並びに改善された方法を開示する。この改善された回路並びに方法は、IEEE規格1394に準拠してデータ信号或いはストローブ信号とアービトレーション信号の信号ソース間でバスを切り替えるのにとりわけよく適している。この改善された回路は集積回路(IC)チップ上に最小限度の空間を用いて実現でき、スイッチングされた信号間の信号レートの差が50 MHzを超える場合でもスイッチング動作中にグリッチが発生するのを防ぐことができるので有益である。この改善された回路では多数のトランジスタや他の構成素子を作る必要がなく、規格品の論理ゲートやシフトレジスタを用いて実現することができるので都合がいい。
【0010】
【課題を解決するための手段】
本願の1つの態様によれば、IEEE規格1394に準拠するデータ信号又はストローブ信号などといった第1ディジタル信号と IEEE規格1394に準拠するアービトレーション信号といった第2ディジタル信号との間の切り替えを行なうマルチプレクサは、第1ディジタル信号を指定する第1状態と第2ディジタル信号を指定する第2状態とを有する制御信号に応答する。マルチプレクサは制御器を含み、制御器は制御信号を受け取る入力と、制御信号が第1状態を達成すると実質的に始まり制御信号が第2時間間隔の間第2状態のとどまった後終了する第1時間間隔に第3状態をアサートする第1出力と、制御信号が第2状態を達成すると実質的に始まり制御信号が第4時間間隔の間第1状態にとどまった後終了する第3時間間隔に第4状態をアサートする第2出力とを有する。マルチプレクサはまた第1スイッチを備え、第1スイッチは第1ディジタル信号を受け取る入力と、制御器の第1出力に結合された制御端子と、第3状態がアサートされている間に第1ディジタル信号を表す第1中間信号を供給する出力とを有し、マルチプレクサはさらに第2スイッチを備え、第2スイッチは第2ディジタル信号を受け取る入力と、制御器の第2出力に結合された制御端子と、第4状態がアサートされている間に第2ディジタル信号が表す第2中間信号を供給する出力とを有し、マルチプレクサはさらに出力を備え、出力は出力信号を供給できるように第1スイッチの出力及び第2スイッチの出力に結合される。
【0011】
本願の別の態様によれば、第1ディジタル信号を受け取る第1入力と、第2ディジタル信号を受け取る第2入力と、入力のうちの選択された一つに応答して出力信号を供給する出力を含むマルチプレクサは、第1及び第2のディジタル信号間に実質的な信号レートの差があった場合それが原因でグリッチが出力信号に発生するのを防ぐ手段に結合される。
【0012】
本願のまた別の態様によれば、第1ディジタル信号を指定する第1状態と第2ディジタル信号を指定する第2状態とを有する制御信号に応答して第1ディジタル信号の第2ディジタル信号との多重化を制御するディジタル制御装置を開示している。ディジタル制御装置は遅延素子を具備し、遅延素子は制御信号を受け取る入力を有すると共に制御信号の各状態遷移後の第1時間間隔の経過を示す遅延信号を供給する出力を有し、ディジタル制御装置は第1ゲートを具備し、第1ゲートは制御信号を受け取る第1入力と遅延信号を受け取れるように遅延素子の出力に結合された第2入力を有すると共に制御信号が第1状態に到達すると実質的に始まり第1時間間隔の間第2状態にとどまった後終了する第2時間間隔中に第3状態をアサートする出力を有し、ディジタル制御装置はさらに第2ゲートを具備し、第2ゲートは制御信号を受け取る第1入力と遅延信号を受け取れるように遅延素子の出力に結合された第2入力を有すると共に制御信号が第2状態を達成すると実質的に始まり第1時間間隔の間第1状態にとどまった後終了する第3時間間隔に第4状態をアサートする出力を有する。
【0013】
本願のまた別の態様によれば、第1ディジタル信号を指定する第1状態と第2ディジタル信号を指定する第2状態とを有する制御信号に応答して第1ディジタル信号の第2ディジタル信号との多重化を制御するディジタル制御装置を開示している。ディジタル制御器は遅延素子を具備し、遅延素子は制御信号を受け取る入力を有し、制御信号の第1状態から第2状態への各遷移後の第1時間間隔の経過を示す第1遅延信号を供給する第1出力と、制御信号の第2状態から第1状態への各遷移後の第2時間間隔の経過を示す第2遅延信号を供給する第2出力を有し、ディジタル制御器はまた第1ゲートを有し、第1ゲートは制御信号を受け取る第1入力と、遅延信号を受け取れるように遅延素子の出力に結合された第2入力を有し、制御信号が第1状態を達成すると実質的に始まり制御信号が第1時間間隔の間第2状態にとどまった後終了する第3時間間隔中に第3状態をアサートする出力を有し、ディジタル制御器はさらに第2ゲートを有し、第2ゲートは制御信号を受け取る第1入力と、遅延信号を受け取れるように遅延素子の出力に結合された第2入力を有し、制御信号が第2状態を達成すると実質的に始まり第2時間間隔の間第1状態にとどまった後終了する第4時間間隔中に第4状態を供給する出力を有する。
【0014】
本願のまた別の態様によれば、異なる信号レートを有する信号間のスイッチング法を開示している。この方法は第1状態と第2状態との間に複数の遷移を有する制御信号を用いる。この方法は、第1の信号レートを有する第1ディジタル信号を受け取り、その第1の信号レートとは異なる第2の信号レートを有する第2ディジタル信号を受け取り、状態間の遷移の一つで制御信号を受け取ることからなる。状態間の遷移の一つに応答して、この方法では或る時間間隔の間第1及び第2両方のディジタル信号に応答して出力信号を供給し、その後第1或いは第2いずれかのディジタル信号に応答して出力信号を供給する。この方法の実施例の一つでは、制御信号が第1状態にある間に第1ディジタル信号を供給し、そして制御信号が第2状態にある間に第2ディジタル信号を供給することによってこれを実現する。
【0015】
本願のまた別の態様によれば、異なる信号レートを有する信号間のスイッチング法は、第1の信号レートを有する第1ディジタル信号を受け取り、第1の信号レートとは異なる第2の信号レートを有する第2ディジタル信号を受け取り、第1ディジタル信号を指定する第1状態と第2ディジタル信号を指定する第2状態とを有する制御信号を受け取ることからなり、さらにこの方法は、制御信号が第1状態にある間と制御信号の第1状態から第2状態への遷移後の第1時間間隔中に第1ディジタル信号に応答して第1出力信号を供給し、制御信号が第2状態にある間と制御信号の第2状態から第1状態への遷移後の第2時間間隔中に第2ディジタル信号に応答して第2出力信号を供給することからなる。
【0016】
本願のまた別の態様によれば、第1入力と、第2入力、出力、及び出力に対する入力の接続切り替えを行なう制御端子を有するマルチプレクサのスイッチング法を開示している。この方法は、第1入力に第1ディジタル信号を供給し、第1ディジタル信号の第1部分と実質的に一致する第2信号を第2入力に供給し、さらに第1入力が第1ディジタル信号を受け取り且つ第2入力が第2信号を受け取っている間に、制御端子に制御信号を供給し、それによりマルチプレクサが出力に対する入力の接続切り替えを行なうようにしてなる。
【0017】
改善されたスイッチング回路及び方法の様々なそしてまた別の実施例の様々な特徴は以下に述べる説明並びに添付の図面を参考にすることによりさらにより一層理解できるであろう。図面では類似の要素に類似の参照番号を付けている。以下の説明及び図面の内容はあくまで例として記載しているのであって、本願の範囲を限定すると解釈されてはならない。
【0018】
【発明の実施の形態】
ディジタル信号を符号化する回路及び方法の様々な実施例を開示する。ディジタル信号のビットを並列に符号化して符号化動作のレイテンシーを短縮できるので有益である。信号経路にグリッチを発生させることなく高信号レートを有する信号を低信号レートを有する別の信号と同じ信号経路に切り替える回路及び方法も明らかにする。様々な信号間で信号レートに50 MHz以上の差がある場合でも、グリッチを防ぐことができる。IEEE規格1394に準拠して、データ信号を符号化してストローブ信号を生成し、そうした信号をアービトレーション信号と同じ信号経路に供給できる様々な回路及び方法は非常に有益である。IEEE規格1394は参照することにより本書の一部をなすこととする。
【0019】
図1に、再帰によってデータ信号を符号化してストローブ信号を生成するIEEE規格1394に指定された伝統的なエンコーダ20の概略図を示す。伝統的なエンコーダ20は第1及び第2のXORゲート22, 26を含み、第1及び第2のDフリップフロップ24, 28を含む。 Dフリップフロップ24, 28はともに線CLKのクロック信号でクロッキングされる。入力データ信号(d, d, d, ..., d)は線DATAで第1のXORゲート22の第1入力に、そして第1Dフリップフロップ24のD入力に直列に供給される。ここで、指数mは整数で、各項dはビットを表す。クロックサイクルにつき入力データ信号の1ビットが供給される。遅延出力データ信号(d’=d, d’=d, ..., d’=d)が第1Dフリップフロップ24のQ出力から線DATA’で供給される。遅延出力データ信号の各ビットdは対応する入力データ信号のビットdの受け取り後1クロックサイクルで生成されることに注目している。遅延の出力データ信号d’, d’, ..., d’は第1 XORゲート22の第2入力にフィードバックされ、第1 XORゲート22の出力は第2 XORゲート26の第1入力を駆動する。第2 XORゲート26の出力が第2Dフリップフロップ28のD入力を駆動する。第2Dフリップフロップ28のQ出力は線STROBEでストローブ信号(s, s,s, ..., s)を供給する。第2Dフリップフロップ28の/Q出力は反転されたストローブ信号を供給し、それは第2 XORゲート26の第2入力にフィードバックされる。
【0020】
エンコーダ20によって提供される符号化は次のように表すことができる。
【0021】
=d (方程式1)
=(d XOR d) XOR /s (方程式2)
=(d XOR d) XOR /s (方程式3)
...
(d XOR dm−1) XOR /sm−1 (方程式4)
ここで、指数mは整数。例えば、ストローブビットsを生成するには、入力DからデータビットdがそしてDフリップフロップ24のQ出力からデータビットdがXORゲート22に供給されてビット(d XOR d)が生成される。その生成されたビット(d XOR d)と反転されたストローブビット/sは次に第2 XORゲート26に送られてビット(d XOR d) XOR /sが生成される。その生成されたビット(d XOR d) XOR /sは次に第2Dフリップフロップ28のD入力に供給される。クロック線CLKの次のクロックサイクル中その生成されたビット(d XOR d XOR /s)は第2Dフリップフロップ28のQ出力からストローブビットsとして供給される。各ストローブビットsは対応する遅延出力データ信号のビットd’として同じサイクルで供給される。
【0022】
伝統的なエンコーダ20で提供される符号化はDフリップフロップ24, 28からのフィードバックがあるために再帰的である。i > 0の場合、ストローブビットsは先行するストローブビットsi−1及び先行するデータビットdi−1に依存する。符号化は少なくとも一つのストローブビットが先行データビットに依存するので非メモリレスである。データ信号d, d, d, ..., dはストローブ信号s, s, s, ..., sを生成するのに1クロックサイクル遅れていなければならない。第1Dフリップフロップ24のQ出力から線DATA’に供給された遅延出力データ信号d’, d’, ..., d’は本質的に1クロックサイクル遅れた線DATAの入力データ信号d,d, d, ..., dのコピーである。この遅延によって他の装置へのデータの伝送が遅くなるので、非常に好ましくない。さらに、伝統的なエンコーダ20はデータ信号のビットを並列に符号化することはできず、むしろ複数のゲートを用いて、従って複数のゲート遅延によって、直列にビットごとに符号化しなければならない。これらの問題があるために伝統的なエンコーダ20を用いる符号化プロセスのスピードが制約される。
【0023】
伝統的なエンコーダ20を他の装置と相互接続するのは難しい。例えば、伝統的なエンコーダ20の出力線DATA’とIEEE規格1394に準拠するアービトレーション信号の信号ソースが従来のようにして同じ信号経路に接続されている場合、それらの信号レートに差があるために信号経路でグリッチが発生することがある。従って、データ信号を符号化してストローブ信号を生成し、信号経路でグリッチを発生させることなくアービトレーション信号と同じ信号経路にそうした信号を供給できる改善された回路及び方法が求められている。
【0024】
図2Aに、信号レートが実質的に異なる信号の切り替えを行なう改善されたマルチプレクサ100の実施例のブロック図を示す。改善されたマルチプレクサ100は第1スイッチ110、第2スイッチ120、制御器130、論理ゲート140を含む。改善されたマルチプレクサ100の電源電圧及び接地電圧は、例えば、それぞれ3ボルト、0ボルト。この改善されたマルチプレクサ100の実施例では、HIGHの状態は電源電圧或いは実質的に電源電圧でアサートされ、LOWの状態は接地電圧或いは実質的に接地電圧でアサートされる。この実施例のマルチプレクサ100はIEEE規格1394に準拠して実現することができる。
【0025】
電源電圧、接地電圧、HIGH状態、及びLOW状態は、例えば、システム構成要素の許容差があるので指定した値から変わることがあることに注目している。さらに、改善されたマルチプレクサの別の実施例において、電源電圧及び接地電圧に他の値を用いることができることにも注目している。例えば、電源電圧は代わって5ボルトで、HIGH状態は5ボルトもしくは0ボルトでアサートされるようにしてもいい。
【0026】
改善されたマルチプレクサ100の構成要素は次のような属性を有するのが好ましい。第1スイッチ110は第1ディジタル信号を受け取る入力(A)と、第1スイッチ110を制御する制御端子(N2)と、出力を有する。この改善されたマルチプレクサ100の実施例では、第1スイッチ110がその制御端子に対してHIGH状態をアサートすることによりONになり、その制御端子に対してLOW状態をアサートすることによりOFFになる。第1スイッチがONになると、第1スイッチ110の入力Aが出力と接続されるので、第1ディジタル信号、すなわちその表現が出力に供給される。第1スイッチ110がOFFになると、入力Aは本質的に出力から切断される。これは、例えば、第1スイッチ110がOFFになると出力からLOW状態をアサートし、もしくはスイッチ110の出力からハイインピーダンスを供給することにより実現することができる。実現方法に係わらず、第1スイッチ110が安定したOFFの状態から安定したONの状態に、或いはその反対に状態を変えるにはスイッチングタイムが必要である。第2スイッチ120は同様に、別のディジタル信号を受け取る入力(B) と、第2スイッチ120を制御する制御端子(N3)、及び出力を有する。第2スイッチ120は第1スイッチ110と同じ設計で同じ属性を有するのが好ましく、また同じように制御されるのが好ましい。
【0027】
制御器130は、制御信号を受け取る入力(S)と、第1出力(O)、及び第2出力(O)を有する。各出力O, Oは制御信号の状態に応答する状態でアサートされた中間信号を供給する。より具体的に、制御信号がLOWからHIGHに状態を変えると、出力Oから供給された中間信号が状態をLOWからHIGHに変化させることによって応答する。これは、例えば、1ナノ秒以下という非常に短い時間間隔で行われるのが好ましい。別の出力Oから供給された中間信号は第1スイッチ110を安定したONにするのに要するスイッチング時間よりかすかに長い時間間隔の間HIGH状態にとどまり、その後状態をLOWに変化させる。この改善されたマルチプレクサ100の実施例では、この時間間隔は長さにして約2ナノ秒だが、別の時間間隔を代わりに用いてもいい。制御信号がHIGHからLOWに状態を変化させると、出力Oから供給された中間信号は状態をLOWからHIGHに変化させることにより応答する。これは、例えば、1ナノ秒以下といった非常に短い時間間隔の中で行われるのが好ましい。別の出力Oによって供給された中間信号は第2スイッチ120を安定したONにするのに要するスイッチング時間よりかすかに長い時間間隔の間HIGH状態にとどまる。この改善されたマルチプレクサ100の実施例では、この時間間隔も約2ナノ秒だが、別の時間間隔を代わって用いてもいい。制御信号が状態を変えると、両中間信号が共にHIGH状態でアサートされる時間間隔がある。この時間間隔の後で制御信号が再び状態を変化させるまで、中間信号の片方がLOW状態でアサートされ、他方の中間信号はHIGH状態でアサートされる。
【0028】
論理ゲート140は第1入力と、第2入力、及び出力を有する。論理ゲート140の出力は改善されたマルチプレクサ100のために出力信号を供給する。マルチプレクサがスイッチング動作を完了し安定状態に達した後、この出力信号は論理ゲートの2入力の片方でアサートされた状態に応答する。しかしながら、マルチプレクサ100のスイッチング動作中、しかも安定状態に達する前に、論理ゲート140の出力信号、従ってマルチプレクサ100の出力信号は論理ゲート140の入力のそれぞれでアサートされた状態に応答する。
【0029】
スイッチ110, 120と、制御器130、及び論理ゲート140は次のように相互接続される。制御器の第1出力Oは第1スイッチ110の制御端子N2に結合され、制御器130の第2出力は第2スイッチ120の制御端子N3に接続される。スイッチ110, 120の入力はそれぞれ集積回路(IC)チップのコアといった他の回路(図示せず)から第1及び第2のディジタル信号を受け取る。各スイッチ110, 120の出力は論理ゲート140の入力のそれぞれ一つに結合される。論理ゲート140の出力は改善されたマルチプレクサ100の出力から構成される。
【0030】
この改善されたマルチプレクサ100の実施例は次のように動作する。第1ディジタル信号は第1スイッチ110の入力Aに供給され、第2ディジタル信号は第2スイッチ120の入力Bに供給され、制御信号は制御器130の入力Sに供給される。状態をLOWからHIGHに変化させる制御信号に応答して、制御器130の出力Oから供給された中間信号が直ちに状態をLOWからHIGHに変化させる。これが制御端子N2でHIGH状態をアサートし、それにより第1スイッチ110をONにする。その結果、第1スイッチ110の出力が第1ディジタル信号を論理ゲート140の第1入力に供給する。制御器の動作により、制御器130の出力Oから供給される中間信号は約2ナノ秒HIGH状態にとどまる。この時間間隔の間、HIGH状態は第2スイッチ120の制御端子N3でアサートされたままになる。これが第2スイッチをONのままにする。その結果、第2スイッチの出力が第2ディジタル信号を論理ゲート140の第2入力に供給する。論理ゲート140はブール論理演算に従って第1及び第2のディジタル信号を組み合わせて改善されたマルチプレクサ100の出力信号を生成する。この改善されたマルチプレクサ100の機能は出力信号のグリッチを防ぐのに非常に有益である。一旦この2ナノ秒の間隔が終了すると、制御器130の出力Oから供給された中間信号はHIGHからLOWに状態を変える。これが制御端子N3でLOW状態をアサートし、それにより第2スイッチ120をOFFにする。第2スイッチがOFFになると、その出力はLOW状態を(もしくはハイインピーダンスを)アサートし、論理ゲート140からの出力信号は論理ゲート140の第1入力で受け取った第1ディジタル信号の状態によって決まる。
【0031】
改善されたマルチプレクサ100の動作は、制御信号が状態をHIGHからLOWに変える時、上述した動作に類似している。より具体的に、状態をLOWに変える制御信号に応答して、制御器130の出力Oから供給された中間信号は直ちに状態をLOWからHIGHに変える。これが制御端子N3でHIGH状態をアサートし、それにより第2スイッチ120をONにする。制御器130の動作により、制御器130の出力Oから供給された中間信号は約2ナノ秒HIGH状態にとどまる。この時間間隔の間、HIGH状態が第1スイッチ110の制御端子N2でアサートされたままになる。これにより第1スイッチはONのままになる。従って、この時間間隔の間に、論理ゲート140はブール論理演算に従って第1及び第2のディジタル信号を組み合わせて改善されたマルチプレクサ100の出力信号を生成する。この改善されたマルチプレクサ100の機能は出力信号のグリッチを防ぐのに非常に有益である。一旦この約2ナノ秒の間隔が終わると、制御器130の出力Oから供給された中間信号は状態をHIGHからLOWに変える。これが制御端子N2でLOW状態をアサートし、それにより第1スイッチ110をOFFにする。第1スイッチがOFFになると、その出力がLOW状態を(もしくはハイインピーダンスを)アサートし、論理ゲート140からの出力信号は論理ゲート140の第2出力で受け取った第2ディジタル信号の状態によって決まる。
【0032】
図2Bに、伝統的な論理ゲートから実質的に作られた改善されたマルチプレクサ200の別の実施例のブロック図を示す。改善されたマルチプレクサは、第1スイッチ110と、第2スイッチ120、制御器130、及び改善されたマルチプレクサ100と同じ入出力を有する論理ゲート140を含み、改善されたマルチプレクサ100と実質的に同じように相互接続されている。この改善されたマルチプレクサ200の実施例において、各スイッチ110, 120はANDゲートからなり、論理ゲート140はORゲートからなり、制御器130は以下に述べる特定の構造を有する。改善されたマルチプレクサ200の電源電圧は3ボルトで、接地電圧0ボルトでいい。HIGH状態は電源電圧或いは実質的に電源電圧でアサートされ、LOW状態は接地電圧或いは実質的に接地電圧でアサートされる。他の電源電圧、接地電圧レベルを用いても構わない。電源電圧、接地電圧、HIGH状態、LOW状態は改善されたマルチプレクサ100で指定された値とは異なっていても構わない。
【0033】
制御端子N2に対してLOW状態をアサートすることによって第1スイッチ110はOFFにされる。LOW状態になると、他の入力でアサートされた状態に係わらず第1スイッチ110の出力がLOW状態をアサートする。第1スイッチは制御端子N2に対してHIGH状態をアサートすることによってONになる。HIGH状態になると、第1スイッチ110の出力がその他の出力に対してアサートされた状態をアサートする。第2スイッチ120は同様に動作する。
【0034】
論理ゲート140はこの改善されたマルチプレクサ200の実施例ではORゲートから構成される。まさにスイッチの一つだけがONの時は、ORゲートの入力の一つがOFFになっているスイッチによってアサートされたLOW信号を受け取り、 ORゲートの他の入力はONになっているスイッチから供給されたディジタル信号を受け取る。 ORゲートは従ってこのディジタル信号、或いはその表現を、改善されたマルチプレクサ200の出力信号として供給する。しかしながら、スイッチ110, 120が共にONの時、 ORゲートから供給された出力信号はマルチプレクサ200の入力A及びBで受け取られた2つのディジタル信号の論理ORである。
【0035】
この改善されたマルチプレクサ200の実施例では、制御器130は遅延素子132と、ORゲート134、及びNANDゲート136から構成される。遅延素子132は制御信号を受け取る入力Sと、約2ナノ秒遅れた制御信号のコピーを遅延信号として供給する出力を有する。遅延素子132の入力SはORゲート134の第1入力及びNANDゲート136の第1入力に結合され、遅延素子132の出力はORゲート134の第2入力及びNANDゲート136の第2入力に結合される。従って、制御信号が状態をLOWからHIGHに変えると、 ORゲート134の第1入力はこのHIGH状態を受け取り、 ORゲート134の出力は直ちにHIGH状態をアサートする。しかしながら、制御信号がHIGH状態に変化した後約2ナノ秒間、遅延信号はLOW状態でアサートされ続ける。このLOW状態はNANDゲート136の第2入力で受け取られ、そのためにNANDゲート136の出力がHIGH状態をアサートする。約2ナノ秒後に、制御信号及び遅延信号は共にHIGH状態でアサートされる。これによりNANDゲート136の出力がLOW状態をアサートする。
【0036】
制御信号が状態をHIGH からLOWに変えると、NANDゲート136の第1入力はこのLOW状態を受け取り、NANDゲート136の出力は従って直ちにHIGH状態をアサートする。しかしながら、約2ナノ秒の間、遅延信号はHIGH状態でアサートされることになる。このHIGH状態がORゲートの第2入力で受け取られ、それによりORゲート134の出力がHIGH状態をアサートすることになる。約2ナノ秒後に、制御信号及び遅延信号は共にLOW状態でアサートされる。これによりORゲート134の出力がLOW状態をアサートする。この遅延素子132の実施例は制御信号の状態に係わりなく実質的に同じ遅延持続期間を供給する。
【0037】
さて、図3に、改善されたマルチプレクサ300のまた別の実施例のブロック図を示す。改善されたマルチプレクサ300は第1スイッチ110と、第2スイッチ120、制御器130、及び改善されたマルチプレクサ100, 200と同じ入出力を有する論理ゲート140を有し、改善されたマルチプレクサ100, 200と実質的に同じように相互接続される。制御器130は改善されたマルチプレクサ200と同じ設計になっている。改善されたマルチプレクサ300の他の構成要素は下記の通り改善されたマルチプレクサ100, 200の対応する構成要素とは異なる。
【0038】
改善されたマルチプレクサ300の第1スイッチ110は伝送ゲート114とインバータ112から構成される。伝送ゲート114は入力Aと、制御端子N2, /N2、及び第1スイッチ110の出力を含む。インバータ112は伝送ゲートの制御端子N2と/N2の間に直列結合される。第1伝送ゲート110は制御端子N2に対してHIGH状態をアサートすることによってONになり、制御端子N2に対してLOW状態をアサートすることによってOFFになる。第2スイッチ120は第1スイッチ110と同じ設計で、第1スイッチ110と同じように動作する。より具体的に、第2スイッチ120は伝送ゲート124及びインバータ122から構成され、インバータ122は伝送ゲート124の制御端子N3と/N3の間に直列結合される。伝送ゲート124は入力B及び第2スイッチ120の出力を含み、制御端子N3に対してHIGH状態をアサートすることによりONになり、制御端子N3に対してLOW状態をアサートすることによりOFFになる。
【0039】
論理ゲート140はORゲート142と、2個のパッシブプルダウン144, 146から構成され、パッシブプルダウンはそれぞれ一方の端がORゲート142の入力にそしてもう一方の端が接地(Vss)に結合される。ORゲート142は伝統的な設計になっており、2値の値「1」はHIGH状態を表し、2値の値「0」はLOW状態を表す。論理ゲート140は論理OR演算も提供するが、LOW状態を供給するかもしくはハイインピーダンス条件をアサートするかのいずれかによってその入力に対して2値の値「0」をアサートすることができる。例えば、ハイインピーダンスが論理ゲート140の第1入力に対してアサートされると、パッシブプルダウン144はORゲート142の入力で電圧を実質的にLOW状態に引き下げ、それによりハイインピーダンスが2値の値「0」を表せるようになる。
【0040】
この改善されたマルチプレクサ300の動作はスイッチ110, 120のON状態では改善されたマルチプレクサ200のそれと実質的に全く同じである。例えば、第1スイッチ110はONになると、入力Aで受け取ったディジタル信号を論理ゲート142の第1入力に供給する。このディジタル信号はHIGH状態とLOW状態を有し、LOW状態は「0」を表す。しかしながら、第1スイッチ110がOFFになると、その出力は論理ゲート140の第1入力に対してハイインピーダンスをアサートする。パッシブプルダウン144が次にORゲート142の第1入力で電圧レベルを実質的に接地電圧Vssに引き下げるので、ORゲート142のこの入力に対してLOW状態すなわち論理「0」をアサートする。第2スイッチはOFF状態の間同様に動作する。
【0041】
もしくは、例えば、第1スイッチの出力を第2スイッチ120の出力に結合することによって、改善されたマルチプレクサ300から論理ゲート140を省略することができる。結合された出力によって変更されたマルチプレクサ300用の出力が形成される。マルチプレクサをこのように変更すると、確実に変更後のマルチプレクサ300の入力A及びBは共にスイッチング動作中同じ信号電圧が供給されて変更したマルチプレクサ300の出力で信号のコンテンションが発生しないようにすることが重要である。入力A, Bが変更したマルチプレクサの出力をコントロールしようとして張り合うので、変更したマルチプレクサのスイッチング動作中の入力A,Bでの信号電圧の実質的なずれが入力A、Bの間に過剰な電流の流れを生むことがある。
【0042】
改善されたマルチプレクサ100, 200, 300は、第1ディジタル信号及び第2ディジタル信号が実質的に異なる信号レートを有する時にとりわけ有益である。例えば、第1ディジタル信号はIEEE規格1394に準拠した高い信号レートを有するデータ信号で、第2ディジタル信号はIEEE規格1394に準拠した低い信号レートを有するアービトレーション信号であろう。伝統的なマルチプレクサでは、例えば、低い信号レートを有する信号がアサートできるようにセットアップされているとマルチプレクサの出力が一時的にフロートするので、そうした信号レートの差は出力信号のグリッチを発生させる原因になる。
【0043】
図4に示すのは、そうしたグリッチを防ぐために改善されたマルチプレクサ200によって実行される方法の実施例を示すフローチャートである。図5に示すのは、この方法により動作する時の改善されたマルチプレクサ200のタイミング図である。タイミング図は時間tに対する様々な点A, B, S, N1, N2, N3及びOUTでの信号値を示す。時間tで、第1ディジタル信号が入力Bに供給される第2ディジタル信号の初期状態と同じ状態401で入力Aに供給される。この初期状態は図ではHIGH状態だが、代わってLOW状態のこともある。グリッチを防ぐために、いずれのディジタル信号もマルチプレクサ200のスイッチング動作中にHIGH又はLOW状態とは実質的に異なる中間の状態或いは値でアサートされてはならない。
【0044】
時間tで、制御端子Sに供給された制御信号は状態をHIGHからLOWに変える。その直後に時間tで、制御器130のORゲート134が第1スイッチ110の制御端子N2でHIGH状態をアサートし、それにより第1スイッチ110をONにする403。時間tで遅延素子132の入力に対してLOW状態への制御信号の状態の変化がアサートされる。それに応答して、遅延素子は時間tになるまでおよそ2ナノ秒待ち405、その後遅延信号の状態をLOWに変える。このLOW状態は第2スイッチの制御端子N3でアサートされ、それにより時間tで第2スイッチをOFFにする407。tとtの時間間隔の間に、論理ゲート140の両入力は従ってHIGH状態を受け取り、その結果、マルチプレクサ200の出力OUTはtとtの間の全時間間隔に出力信号をHIGH状態で供給するので、改善されたマルチプレクサ200のスイッチング動作中出力信号のグリッチを防ぐことができる。
【0045】
第1ディジタル信号にスイッチバックするには、類似のプロセスを行なう。具体的に、時間tより前に、両入力A及びBが同じ状態でアサートされる。時間tで、制御信号は状態をHIGHに変え、それにより時間tで第1スイッチ110をONにする。遅延素子132は制御信号の状態変化からおよそ2ナノ秒待ち、その後時間tで遅延信号の状態をHIGHに変える。それに応答して時間tで、第2スイッチ120がOFFになる。
【0046】
スイッチ110, 120を制御する他の条件を用いるなど、改善されたマルチプレクサ100, 200, 300に様々な変更を加えることが考えられる。改善されたマルチプレクサ100の別の実施例では、制御端子N2に対して0ボルトのLOW状態をアサートすることによって第1スイッチをONにし、制御端子N2に対して5ボルトのHIGH状態をアサートすることによってOFFにし、また、制御端子N3に対して3ボルトのHIGH状態をアサートすることによって第2スイッチをONにし、制御端子N3に対して0ボルトのLOW状態をアサートすることによってOFFにする。もしくは、制御端子N2, N3に対して適正レベルをアサートすることにより一つ以上のスイッチ110, 120を制御することもできる。改善されたマルチプレクサ200のまた別の実施例では、遅延素子をさらにもう一つ付加することにより制御器130を変更する。
【0047】
様々な変更は特に制御器130に対して加えることができる。さらに遅延素子をもう一つ図2、3の制御器130に含めるようにする。それは、例えば、遅延素子132の出力をORゲート134の第2入力に結合し、NANDゲート136の第2入力ではなく追加した遅延素子の入力に結合し、そしてその追加した遅延素子の出力をNANDゲート136の第2入力に結合することによって実現できる。例えば、遅延素子132の出力をORゲート134の第2入力ではなくNANDゲート136の第2入力に結合し、追加した遅延素子の入力を遅延素子132の入力に結合し、そして追加した遅延素子の出力をORゲート134の第2入力に結合することによって、遅延素子132と並列に遅延素子をさらにもう一つ制御器130に含めることができる。制御器130のこれら代替え実施例はいずれもNANDゲート136とは異なるORゲート134の遅延存続期間を提供できるので有益である。従って、各スイッチ110, 120がOFFになるのを精確に他のスイッチ120, 110が安定したONになるのにかかる時間間隔だけ遅らせるのに用いることができるので有益である。
【0048】
改善されたマルチプレクサ100, 200, 300は集積回路(IC)チップ上に作ることができ、ICチップ内の信号をICチップ外の回路に供給することができるので非常に有益であり、IEEE規格1394に準拠してそうした使い方をすることができる。一つの実施例において、改善されたマルチプレクサはICチップの出力バッファの一部をなす。この実施例では、改善されたマルチプレクサの両入力A, Bと制御端子SはICチップの駆動ブロックに結合される。駆動ブロックは入力AにIEEE規格1394に準拠した200メガハーツを超えることのある信号レートを有するデータ信号を供給する。駆動ブロックは入力BにIEEE規格1394に準拠した典型的に約50メガハーツの信号レートを有するアービトレーション信号を供給する。駆動ブロックは、その制御端子Sに適正状態の制御信号を供給し、改善されたマルチプレクサのスイッチング動作中に実質的に同等の電圧でデータ信号とアービトレーション信号を供給することによって、改善されたマルチプレクサを制御する。
【0049】
改善されたマルチプレクサは同様にIEEE規格1394に準拠するストローブ信号及びアービトレーション信号を共にICチップ外の回路に供給するのに用いることもできる。エンコーダ20など伝統的なエンコーダを用いてIEEE規格1394に準拠するストローブ信号を生成することができる。しかしながら、エンコーダ20は望ましくない遅延時間をストローブ信号にもたらす再帰的符号化アルゴリズムを用いてストローブ信号を生成する。この遅延時間ではデータ信号が少なくとも1クロックサイクルの間バッファに入れられなければならない。従ってこの遅延時間のために少なくとも1クロックサイクルのレイテンシーがデータ信号とストローブ信号の両方に生じることになる。さらに、エンコーダ20はスイッチング動作中に実質的に同じ値でストローブ信号及びアービトレーション信号を共に供給する手段を備えていない。従ってIEEE規格1394に準拠して動作する改善されたエンコーダが非常に望ましい。
【0050】
図6に示すのは、再帰的符号化アルゴリズムによるが実質的に再帰的論理を用いずに実行するための改善されたエンコーダ600の実施例を示すブロック図である。このように実行される再帰的符号化アルゴリズムはIEEE規格1394に準拠するデータ信号を符号化してこの規格に準拠するストローブ信号を生成できるようにこの規格に指定された複数の符号化アルゴリズムから選択されるのが好ましい。
【0051】
この改善されたエンコーダ600の実施例は初期設定ユニット610と符号化ユニット630から構成される。初期設定ユニット610は8ビット幅の入力Pと9ビット幅の出力Iを含む。初期設定ユニット610は入力Pで受け取られた信号に1ビット幅のプレフィックスを供給して出力Iから中間信号を生成する。符号化ユニット630は入力Dと出力Sを含み、これらは共に9ビット幅である。符号化ユニットは再帰的論理を用いずに組み合わせ的に中間信号を符号化する。符号化ユニット630の入力Dは初期設定ユニット610の出力Iに結合される。
【0052】
図7に、改善されたエンコーダ600によって実行されるディジタル信号のビットを符号化する改善された方法の実施例のフローチャートを示す。この方法はデータ信号を初期設定ユニット610の入力Pで一度に8ビットを並列に受信することにより始まる701。初期設定ユニット610は1ビットのプレフィックスをディジタル信号に供給して中間信号を生成する。中間信号はプレフィックスとその後に続くディジタル信号から構成される。中間信号は出力Iを介して符号化ユニット630の入力Dへ並列に供給される703。符号化ユニット630は中間信号を実質的に組み合わせ的に符号化して符号化された信号を生成し、それは再帰的符号化アルゴリズムによるディジタル信号ビットの符号化を含む。これは1ビットのプレフィックスを符号化し、組み合わせ論理を用いて中間信号の次の8ビットを並列に符号化することにより達成される705のが好ましい。
【0053】
8ビット目以降のディジタル信号のビットは様々なやり方で符号化することができる。例えば、ディジタル信号の8ビット幅の連続ブロックをブロックごとに上述のようにプレフィックスを付けて上述のように符号化された中間信号を生成することができる。しかしながら、そうした8ビット幅の連続ブロックの符号化されたプレフィックスは無視されるのが好ましい。代わって、ディジタル信号の最初の8ビット幅部分のみにプレフィックスを付け、ディジタル信号の他の部分には付けないように初期設定ユニット610を設計することができる。
【0054】
図8及び10に、図6に示すように直列結合されると、改善されたエンコーダ600の好適な実施例をなす初期設定ユニット610及び符号化ユニット630の好適な実施例を示す。この好適なエンコーダ600の実施例はIEEE規格1394に準拠してデータ・ストローブ符号化を実行できるように特別に作られている。この改善されたエンコーダ600の実施例によって実行される符号化プロセスは従来のエンコーダ20によって実現される伝統的なデータ・ストローブ符号化プロセスと比べ計算量が減るので有益である。これによりデータ信号の並列符号化が可能になり、IEEE規格1394に準拠してデータ信号を符号化するのに要する時間が大きく短縮される。
【0055】
従来のエンコーダ20と比べ計算量を次のようにして減らすことができる。IEEE規格1394に指定された伝統的なエンコーダ20は次のようなプロセスによりストローブ信号を生成する。
【0056】
=d (方程式1)
=(d XOR d) XOR /s (方程式2)
=(d XOR d) XOR /s (方程式3)
...
(d XOR dm−1) XOR /sm−1 (方程式4)
方程式1, 2, 3, 4において、各シンボルXORはXORゲートの動作を表す。各方程式におけるシンボルsとdはそれぞれの1クロックサイクルごとのDフリップフロップ24, 28の出力を表す。例えば、方程式3で、シンボルsとdはストローブビット及びデータビットを表し、ストローブ及びデータビットsとdが出力されたクロックサイクル直後のクロックサイクルで出力される。データビットdと反転されたストローブビット/sは共に方程式2におけるフィードバックとなる。伝統的なエンコーダ20で実現された符号化プロセスは再帰的でデータ信号及びストローブ信号にレイテンシーをもたらす。
【0057】
改善されたエンコーダ600では、この更なるレイテンシーを回避することができる。レイテンシーをどのように回避できるかを理解するために、i < 1として各ストローブビットsのそのすぐ前の先行ストローブビットsi−1への依存性を変更した関係において書き直す。そこでは先行ストローブビットsi−2を用いてストローブビットsの依存性を表す。例えば、ストローブビットsのストローブビットsへの依存性を書き替えて変更した関係を得る。
=d XOR d XOR /s=d XOR d XOR /(d XOR d XOR /s)=d XOR d XOR s(方程式5)
i > 2として、ストローブビットsの、連続的にもっと離れた先行ストローブビットsi−3, si−4, ..., sへの依存性を得て変更した関係を得ることができる。
【0058】
=d (方程式6)
=d XOR d XOR /s (方程式7)
=d XOR d XOR s (方程式5)
=d XOR d XOR /s (方程式8)
. . .
2i=d2i XOR d XOR s (方程式9)
2i+1=d2i+1 XOR d XOR /s (方程式10)
方程式6, 7, 8, 9, 10におけるこれらの関係の計算量を減らすために、データビットd−1とストローブビットs−1を追加する。追加したストローブビットs−1は追加したデータビットd−1に依存し、s−1 = /d−1で表すことができる。IEEE規格1394に準拠するために、追加したストローブビットs−1は2値の値「0」に設定され、追加したデータビットd−1は2値の値「1」に設定される。
【0059】
追加データビットd−1及び追加ストローブビットs−1は伝統的なエンコーダ20の符号化プロセスを経てデータビットd及びストローブビットsの値が決定される。これを関係s = d XOR d−1 XOR /s−1によって表すことができる。この関係の2番目の部分(d−1 XOR /s−1)の値は(d−1 XOR /s−1) = 1 XOR /0 = 1 XOR 1 = 0。従って、s = d XOR(d−1 XOR /s−1) = d XOR 0 = d。この等式から、d XOR s = dそしてd XOR /s = /dであることが分かる。これらの関係を方程式5, 7, 8, 9, 10に代入することにより、IEEE規格1394の符号化プロセスを次式で表すことができる。
【0060】
−1=1 (方程式11)
−1=0 (方程式12)
=d (方程式13)
=/d (方程式14)
=d (方程式15)
. . .
=d (方程式16)
+1=/d +1 (方程式17)
方程式11, 12, 13, 14, 15, 16, 17で表したストローブ符号化プロセスは、各ストローブビットsがすべて現在のデータビットdを用いて表現されるので、メモリレス方式で実行することができる。各ストローブビットsは先行するどのストローブビットs(ここで、k < j)にも依存することなしに表現されるので、このプロセスを再帰を用いずに実行することができる。この好適な改善されたエンコーダ600の実施例に基づく初期設定ユニット610及び符号化ユニット630の構造及び動作を次に図8, 9, 10, 11を参照しながら説明する。
【0061】
図8に、改善されたエンコーダ600に組み込むのに適した初期設定ユニット610の好適な実施例のブロック図を示す。この初期設定ユニット610の実施例はIEEE規格1394対応のデータパケットに準拠するビット列からなるデータパケットとしてディジタル信号を受け取るように設計されている。この初期設定ユニット610の実施例はプレフィックスジェネレータ612とシフトレジスタ614を含む。プレフィックスジェネレータ612は8ビット幅ブロックのデータパケットを並列に受け取れるように8ビット幅の入力を有し、プレフィックスをディジタル信号に供給できるように1ビット幅の出力を有する。シフトレジスタ614は9ビット幅の入力(SR−1, SR, SR, ..., SR)と、9ビット幅の出力(I−1, I, I, ...I)を有する。シフトレジスタ614の入力SR−1はプレフィックスジェネレータ612の出力からプレフィックスを受け取るように結合される。シフトレジスタ614の入力SR, SR, ...SRは8ビット幅ブロックのデータパケットを並列に受け取るように結合される。シフトレジスタ614の出力I−1, I, I, ...Iは中間信号を並列に供給する。
【0062】
図9は、図8に示した初期設定ユニット610を動作させる方法を示すフローチャートである。プレフィックスジェネレータ612の入力とシフトレジスタ614の入力SR, SR, ...SRで、データパケットの最初の8ビット(d, d, ...d)を並列に受け取る901ことにより動作が始まる。プレフィックスジェネレータ612は次に実質的に再帰を用いずにデータパケットのビットを符号化できるようにデータパケット用プレフィックスを生成する903。例えば、プレフィックスはIEEE規格1394に準拠してデータストローブ符号化を実現するように2値の値「1」の単一ビットから構成することができる。プレフィックスジェネレータ612はシフトレジスタ614の第1ビットにプレフィックスを供給し905、それによりデータパケットの始まりにプレフィックスを付ける。シフトレジスタ614の出力Iは次に中間信号をビット列(i−1, i, i, i, ...i)で供給し、ビットi−1は2値の値「1」のプレフィックスに等しく、mは整数で、ビットi, i, i, ...iはデータパケットの最初の8ビットd, d, ..., dにそれぞれ等しい。データパケットの最初の8ビットd, d, ..., dがこのように処理された後、データパケットの残りのビットd...d(m > 7)は8ビット幅ブロックd0+8 , d1+8 , ...d7+8 (nは整数)で処理され、処理された値i0+8 , i1+8 , ...i7+8 は初期設定ユニット610の出力IのビットI, I, ...Iから供給される。
【0063】
図10に、改善されたマルチプレクサ600に組み込むのに適した符号化ユニット630の実施例の概略図を示す。この符号化ユニット630の実施例はプレフィックスエンコーダ639と組み合わせ論理ブロック641を含む。プレフィックスエンコーダ639は入力D−1と出力S−1を有するインバータから構成される。プレフィックスエンコーダ639は中間信号のビットi−1を符号化する。組み合わせ論理ブロック641は8つの信号経路631, 632, 633, 634, 635, 636, 637, 638から構成され、その一部632, 634, 636, 638はそれぞれインバータを含む。各信号経路は入力(D)と出力(S)を有し、指数jは集合{0, 1, 2, 3, 4, 5, 6, 7}から選択された対応する整数である。信号経路は並列に構成される。各信号経路は中間信号の対応するビット(モデュロ8)を符号化する。例えば、信号経路631は中間信号のビットi, i, ..., i1+8 を符号化し、同様に、信号経路636は中間信号のビットi, i13, ..., i5+8 を符号化する。より具体的に、インバータ632, 634, 636, 638を含む信号経路は他の信号経路631, 633, 635, 637と段違いになるように配列される。段違い構成のため、インバータを含む信号経路632, 634, 636, 638は奇数指数2m+1を有するビットi2m+1を反転することによってそれらのビットを符号化するのに対し、インバータを含まない信号経路631, 633, 635, 637は偶数指数2mを有するビットi2mを符号化するが反転させない。
【0064】
図11は、図10に示した符号化ユニット630を動作させる方法を示すフローチャートである。入力D−1, D, D, ..., Dで中間信号の最初の9ビットi−1, i, i, ..., iをそれぞれ並列に受け取ることにより動作が始まる。これらのビットi−1, i, i, ..., iは一つ置きに反転させることによって符号化される1103。すなわち、ビットi−1は反転されてs−1 = /i−1により符号化された信号(s)の第1ビット(s−1)が生成される。ビットiは反転されずs = iにより符号化された信号sの2番目のビット(s)が生成される。ビットiは反転されてs = /iにより符号化された信号sの第1ビット(s)が生成されるといった具合になる。これらの符号化は並列に実行され、符号化された信号sの最初の9ビットs−1 = /i−1, s = i, s = /i, s = i, s = /i, s = i, s = /i, s = i, s = /iが符号化ユニット630の出力S−1, S, ..., Sからそれぞれ出力される1105。
【0065】
中間信号の残りのビットi(すなわち、m > 7)は符号化された8ビットブロックで、入力D−1と出力S−1はそうしたブロックには用いられない。従って、整数n ウ 0の場合、s0+8 = i0+8 , s1+8 = /i1+8 , s2+8 = i2+8 , s3+8 = /i3+8 , s4+8 = i4+8 , s5+8 = /i5+8 , s6+8 = i6+8 , s7+8 = /i7+8 。IEEE規格1394に準拠するデータ・ストローブ符号化は、プレフィックスが2値の値「1」を有し、ストローブ信号の第1ビットs−1が2値の値「0」を有していなければならないことに注目している。従って、そうしたデータ・ストローブ符号化の場合、符号化ユニット630は、出力信号が組み合わせ論理ブロック641から供給された後単一ビットd−1の2値の値「1」を連結してIEEE規格1394に準拠するストローブ信号sを生成する。
【0066】
組み合わせ論理ブロック641は中間信号の第1ビットi−1に続く部分のメモリレス符号化を実現することに注目している。この符号化ユニット630の実施例は、中間信号の第1ビットi−1に続くその部分i, i, i, i, i, i, i, i, ...,i2m, i2m+1のメモリレス符号化s = i, s = /i, s = i, s = /i, s = i, s = /i, s = i, s = /i, ..., s2m = i2m, s2m+1 = /i2m+1を実現する。この符号化エンコーダ630は中間信号全体i−1, i, i, i, i, i, i, i, i ... i2m, i2m+1のメモリレス符号化s−1 = /i−1, s = i, s = /i, s =i, s = /i, s = i, s = /i, s = i, s = /i ..., s2m = i2m, s2m+1 = /2m +1を実現し、中間信号全体はデータ・ストローブ符号化用としてIEEE規格1394に記述されている従来からの再帰的エンコーダ(すなわち、XORゲートとDフリップフロップをそれぞれ2つずつ有する)で実現される非メモリレス及び再帰的符号化と同等であることに注目している。さらに、プレフィックスエンコーダ639及び組み合わせ論理ブロック641は共に(そして符号化ユニット630全体として)一対一で動作する。中間信号の各ビットiは別々に符号化されてその符号化された信号の対応する単一ビットsになる。
【0067】
図12に示すのは、 IEEE規格1394に準拠して中間信号を並列に符号化し符号化された信号をストローブ信号として直列に供給する符号化ユニット630の別の実施例の概略図である。この符号化ユニット630の実施例は図10に示したものを以下に説明するように変更したプレフィックスエンコーダ639と組み合わせ論理ブロック641を含み、さらに複数のマルチプレクサ642, 644, 646, 648, 652, 654,
656とシフトレジスタ660を含む。
【0068】
この符号化ユニット630の実施例において、プレフィックスエンコーダ639はインバータ671の出力を伝送ゲート672の入力に結合することによって形成された3ステートインバータから構成される。伝送ゲート672の出力はプレフィックスエンコーダ639の出力としての働きをする。伝送ゲート672の制御端子CD−1, /CD−1は第2インバータ673により直列に結合され、制御端子CD−1に対してHIGH状態(LOW状態)をアサートすることにより伝送ゲート672をON(OFF)にすることができる。制御端子CD−1がHIGH状態でアサートされると、プレフィックスエンコーダ639は入力D−1で受け取ったビットを反転させ、その反転したビットを伝送ゲート672の出力から供給する。制御端子CD−1をLOW状態でアサートすることにより、伝送ゲート672はOFFになり、それが伝送ゲート672の出力をフロートさせるので、プレフィックスエンコーダ639の3ステートモードを実現することができる。
【0069】
この符号化ユニット630の実施例における組み合わせ論理ブロック641は図10と同じ設計である。符号化ユニット630のこの実施例に含まれる複数の導電線BD, BD, BD, BD, BD, BD5, BD, BDは図を明確にするために組み合わせ論理ブロック641の上に描いてある。最後に、シフトレジスタ660は8ビット並列入力と、単一ビット入力、クロック端子(G_CLK)、制御端子(CT−1)、及び直列出力(Strobe_Out)を有する。制御端子(CT−1)をLOW状態でアサートすることにより信号をシフトレジスタ660の8ビット並列入力を介して受け取れるようになり、それに対して制御端子(CT−1)をHIGH状態でアサートすることによりシフトレジスタ660の単一ビット入力を介して信号を受け取ることができる。
【0070】
組み合わせ論理ブロック641の出力はマルチプレクサ642, 644, 646, 648, 652, 654, 656の第1入力(0)に並列結合される。導電線BD, BD, BD, BD, BD, BD5, BD, BDはマルチプレクサ642, 644, 646, 648, 652, 654, 656の第2入力(1)に結合される。マルチプレクサ642, 644, 646, 648, 652, 654, 656の制御端子は第1入力(0)及び第2入力(1)のマルチプレクサ642, 644, 646, 648, 652, 654, 656の出力に対する接続切り替えを行なう共通制御端子(BYPASS)を形成するように結合される。マルチプレクサ642, 644, 646, 648, 652, 654, 656の出力はシフトレジスタ660の8ビット並列入力に並列結合される。プレフィックスエンコーダ639の出力はシフトレジスタ660の単一ビット入力に結合される。
【0071】
図13に示すのは、図12に示した符号化ユニット630の実施例によって実行されるディジタル信号を符号化する改善された方法の別の実施例のフローチャートである。この方法はマルチプレクサ642, 644, 646, 648, 652, 654, 656の制御端子BYPASSでバイパス信号を受け取る1301ことによって始まる。もしバイパス信号がLOW状態でアサートされれば1303、符号化ユニット630の符号化モードが起動する。中間信号の第1ビットi−1を符号化するために、シフトレジスタ660の制御端子(CT−1)がHIGH状態でアサートされる。これによりシフトレジスタ660の単一ビット入力が起動し、シフトレジスタ660の並列入力が活動停止する。中間信号の第1ビットi−1がプレフィックスエンコーダ639の入力で受け取られ、インバータ671で符号化された後伝送ゲート672の入力に供給される。プレフィックスエンコーダ639の制御端子CD−1がHIGH状態でアサートされ、それにより伝送ゲート672をONにして、符号化されたビット/i−1をシフトレジスタ660に供給する。次に制御端子CD−1がLOW状態でアサートされて伝送ゲート672をOFFにし、シフトレジスタ660はG_CLKを必要十分な回数クロッキングして符号化されたビット/i−1をストローブ信号の第1ビットとして直列入力Strobe_Outを介して送り出す。
【0072】
シフトレジスタ660の制御端子CT−1が次にLOW状態でアサートされ、中間信号の次の8ビットがマルチプレクサ642, 644, 646, 648, 652, 654, 656の並列入力(0)で並列に受け取られ1305、ビットi, i, i, i, i, i, i, iを一つ置きに反転させることによって組み合わせ論理ブロック641で符号化を行ない1307ストローブ信号の次の8ビットs = i, s = /i, s = i, s = /i, s = i, s = /i, s = i, s = /iを生成し、これらの生成されたビットs, s, s,s, s, s, s, sが並列にシフトレジスタ660に供給される。シフトレジスタ660は次に8回クロッキングしてこれらのビットs, s, s, s, s, s, s, sを出力Strobe_Outを介して直列に送り出す。中間信号の8ビットの連続ブロックは同じように並列入力(0)で受け取られ1305、符号化され1307、その後シフトレジスタ660によって出力Strobe_Outを介して1309ストローブ信号の8ビットの連続ブロックとして直列に送り出される。
【0073】
バイパス信号がHIGH状態でアサートされる1303と、符号化ユニット630のBYPASSモードが起動する。バイパスモードになると、例えば、アービトレーション信号の初期状態を表すバイパス信号を符号化ユニット630が受け取れるようになる。BYPASSモードが起動すると、バイパス信号がマルチプレクサ642, 644, 646, 648, 652, 654, 656の入力(1)で導電線BD, BD, BD, BD, BD, BD5, BD, BDを介して並列に受け取られ、そこから並列にシフトレジスタ660に供給された後、出力Strobe_Outから直列に供給される。従って、この符号化ユニット630の実施例では、バイパス信号がアービトレーション信号の初期状態と一致していれば、BYPASSモード期間にStrobe_Outから出力される信号もそうなる。
【0074】
この符号化ユニット630の実施例は改善されたマルチプレクサ100, 200, 300を駆動するのに非常に有益である。例えば、スイッチング動作中、アービトレーション信号を改善されたマルチプレクサ200の入力の一つに供給し、出力Strobe_Outからのその一致する出力信号を改善されたマルチプレクサ200の他の入力に供給することができる。これにより、図5に関して先により詳しく説明したように、改善されたマルチプレクサ200の出力でグリッチが生じないようにすることができる。
【0075】
図14に、改善されたエンコーダ1400の別の実施例のブロック図を示す。この図14は、改善されたエンコーダと第2の改善されたエンコーダの両方にIEEE規格1394に準拠するデータ信号を供給する更なる回路と相互接続された改善された第1マルチプレクサを駆動する改善されたエンコーダの別の実施例を示すブロック図で、これら両方のマルチプレクサはさらにIEEE1394に準拠するアービトレーション信号の信号ソースによって駆動される。改善されたエンコーダ1400は、タイミングジェネレータ1410と、Dフリップフロップ1411、シフトレジスタ1413、プレフィックス及びエンドビットユニット1415、ゲーテッドクロック1416、マルチプレクサ1417, 201, 202、及び符号化ユニット630から構成される。図14は、改善されたエンコーダ1400に信号を供給する駆動ブロック1419も示す。これらの信号にはIEEE規格1394に準拠するデータ信号及びアービトレーション信号が含まれ、改善されたエンコーダ1400はデータ信号を符号化してIEEE規格1394に準拠するストローブ信号を生成し、データ、ストローブ、アービトレーションの各信号を他の回路(図示せず)に供給する。好ましくは、改善されたエンコーダ1400をICチップ上に作り、 IEEE規格1394に準拠してそうした信号をICチップ外にある回路に供給するようにすることである。
【0076】
符号化ユニット630は、シフトレジスタ660が直列入力(SI)をさらに含む点とプレフィックスエンコーダ639を省略できる点を除けば、実質的に図12に表示した構造と同じである。タイミングジェネレータ1410は入力C, C, Cと、クロック端子、及び複数の出力を有する。シフトレジスタ1413は直列入力と、8ビット幅の並列入力(P)、クロック端子、及び直列出力(Date_Out)を有する。プレフィックス及びエンドビットユニット1415はデータ信号及びストローブ信号用のプレフィックス(d−1, s−1)をそれぞれ供給し、以下に説明する他のマッチングビットを供給する。ゲーテッドクロック1416は線G_CLKでゲートをもつクロック信号を生成する。ゲーテッドクロック1416を起動して約50 MHzでゲート付きクロック信号を供給し、活動停止して線G_CLKでLOW状態をアサートすることができる。マルチプレクサ1417は伝統的な3入力1出力のマルチプレクサで、入力と出力は8ビット幅、そして出力に対する入力の接続を選択する制御端子を含む。マルチプレクサ201, 202は各々図2Bに示すマルチプレクサ200と同じ設計である。駆動ブロック1419は改善されたエンコーダ1400にデータ信号及びアービトレーション信号を供給する。駆動ブロック1419は改善されたエンコーダ1400にクロック線CLKでクロック信号など様々な制御信号も供給する。
【0077】
駆動ブロック1419はマルチプレクサ1417の入力に、マルチプレクサ201, 202の第2入力(1)に、タイミングジェネレータ1410の入力C, C, Cに、そしてDフリップフロップ1411のリセット端子に接続され、さらにクロック線CLKを介してタイミングジェネレータ1410とDフリップフロップ1411の両方のクロック端子に接続される。タイミングジェネレータ1410はプレフィックス及びエンドビットユニット1415に、ゲーテッドクロック1416に、マルチプレクサ1417の制御端子に、そしてDフリップフロップ1411のD入力に接続される。プレフィックス及びエンドビットユニット1415はシフトレジスタ1413の直列入力に、符号化ユニット630のシフトレジスタ660の直列入力SIに、符号化ユニット630の入力D, D, D, D, D, D, D(集合的にD1−7と呼ぶ)に、そして符号化ユニット630の導電線BD, BD, BD, BD, BD, BD5, BD, BD(集合的にBD1−7と呼ぶ)に接続される。ゲーテッドクロック1416はゲート付きクロック線G_CLKを介してシフトレジスタ1413のクロック端子に、そして符号化ユニット630のシフトレジスタ660のクロック端子に接続される。マルチプレクサ1417の出力はシフトレジスタ1413の並列入力Pに、そして符号化ユニット630の入力D0−7に接続される。シフトレジスタ1413の直列出力Data_Outはマルチプレクサ202の入力(0)に接続され、符号化ユニット630のシフトレジスタ660の直列出力Strobe_Outはマルチプレクサ201の第1入力(0)に接続される。
【0078】
例えば、アービトレーション信号がマルチプレクサ201, 202の出力Out_SA, Out_DAそれぞれから供給されるアービトレーションモードで動作を開始することができる。データ信号及びストローブ信号が出力Out_SA, Out_DAから供給されるデータモードになるようにするには、次の作業を行なう。駆動ユニット1419がマルチプレクサ1417に供給される3つのデータ信号から一つを選択し、選択されたデータ信号を指定する選択信号をタイミングジェネレータ1410の入力Cに送る。タイミングジェネレータ1410は次に第2の選択信号をマルチプレクサ1417の制御端子に送って選択されたデータ信号がずっとマルチプレクサ1417の出力まで接続されるようにする。駆動ユニット1419はデータモードを指定するモード信号も入力C3に供給してタイミングジェネレータ1410に命令を出してアービトレーションモードからデータモードに変えるようにする。モード信号及びクロック信号に応答して、タイミングジェネレータ1410はプレフィックス及びエンドビットユニット1415に命令を出してアービトレーション信号の終りの部分と一致するビット(マッチングビット)を符号化ユニット630の導電線BD0−7に供給するようにする。アービトレーション信号の終りの部分は駆動ブロック1419によって直列にマルチプレクサ201, 202の入力(1)に送られ、マルチプレクサ1417を介して並列にシフトレジスタ1413の並列入力Pにも送られる。駆動ユニット1419はさらにタイミングジェネレータ1410に命令を送るタイミングジェネレータ1410の入力Cに制御信号を送ってゲーテッドクロック1416を起動させる。
【0079】
一旦起動すると、ゲーテッドクロック1416はシフトレジスタ1413及びシフトレジスタ660に対してクロッキングし、それによりシフトレジスタ1413, 660の直列入力Date_Out, Strobe_Outを介してマッチングビットをマルチプレクサ202, 201の入力(0)に供給する。タイミングジェネレータ1410はDフリップフロップ1411の入力Dに対してLOW状態をアサートし、クロック信号の次の立ち上がりエッジになると、Dフリップフロップ1411がマルチプレクサ201, 202の制御端子に対して受け取ったLOW状態をアサートし、それによりこれらのマルチプレクサ201, 202の入力(0)がそのそれぞれの出力Out_SA, Out_DAに接続される。マッチングビットがアービトレーション信号の終りの部分と一致するから、これらの出力Out_SA, Out_DAでグリッチが発生するのを防ぐ。
【0080】
タイミングジェネレータ1410は、プレフィックス及びエンドビットユニット1415に対しても命令を出してストローブ信号の第1ビットs−1を符号化ユニット630のシフトレジスタ660の直列入力SIに送り、データ信号のデータパケット部分の第1ビットd−1をシフトレジスタ1413の直列入力に送るようにする。線G_CLKでのゲート付きクロック信号によるクロッキングに応答して、ビットs−1はシフトレジスタ660の出力Strobe_Outによってマルチプレクサ201の入力(0)に供給され、ビットd−1はシフトレジスタ1413の出力Data_Outによってマルチプレクサ202の入力(0)に供給される。タイミングレジスタ1410はさらにプレフィックス及びエンドビットユニット1415に命令を出してバイパス信号をLOW状態でアサートするようにする。これにより符号化ユニット630の入力D0−7がデータ信号を受け取るようになる。符号化ユニット630は受け取ったデータ信号を再帰を用いずに符号化してストローブ信号s, s, ..., sの第2部分を生成する。その第2部分はストローブ信号s−1の第1ビットの後にシフトレジスタ660の出力Strobe_Outから直列にマルチプレクサ201の入力(0)に供給される。ゲート付きクロック信号によってストローブ信号がシフトレジスタ1413を介して直列に送り出される。ゲート付きクロック信号はシフトレジスタ1413を介してデータ信号も送り出す。
【0081】
改善されたエンコーダ1400は同様にアービトレーションモードに切り替えて戻すことができる。アービトレーションモードにスイッチバックすると、アービトレーション信号はマルチプレクサ1417を介してシフトレジスタ1413に、プレフィックス及びエンドビットユニット1415を介して符号化ユニット630に、そしてマルチプレクサ201, 202を介して入力(1)に供給される、マッチングビットはアービトレーション信号の最初の部分と一致する。マルチプレクサ201, 202の制御端子に供給される信号といった様々な信号の状態を反転させることができる。
【図面の簡単な説明】
【図1】データ信号を符号化してストローブ信号を生成するためのIEEE規格1394に指定された伝統的なエンコーダの概略図。
【図2】A 実質的に異なる信号レートを有する信号間の切り替えを行なう改善されたマルチプレクサの実施例を示すブロック図。B ANDゲートから作られた1対のスイッチと、ORゲート及びNANDゲートの両方に直列に結合された遅延素子を含むそのスイッチを制御するための制御器と、そのスイッチから出力された信号を組み合わせるための論理ゲートとから構成される改善されたマルチプレクサの別の実施例を示すブロック図。
【図3】伝送ゲートから作られた1対のスイッチと、 ORゲート及びNANDゲートの両方に直列に結合された遅延素子を含むそのスイッチを制御するための制御器と、ORゲート及び1対のパッシブプルダウンを含むそのスイッチから出力された信号を組み合わせるための論理ゲートから構成される改善されたまた別の実施例を示すブロック図。
【図4】スイッチング動作中のグリッチの発生を防止するのに有効なマルチプレクサを切り替えための改善された方法の実施例を示すフローチャート。
【図5】図2Bに示した改善されたマルチプレクサの実施例の動作に必要な様々な信号の相対的なタイミングを示すタイミング図。
【図6】初期設定ユニットにおいて受け取ったディジタル信号にプレフィックスを付けて中間信号を生成することによって再帰的符号化アルゴリズムを実行し、中間信号を符号化ユニットで組み合わせ的に符号化して符号化された信号を生成する改善されたエンコーダの実施例を示すブロック図。
【図7】再帰的符号化アルゴリズムによりディジタル信号を符号化する改善された方法の実施例を示すフローチャート。
【図8】改善されたエンコーダを含むのに適した初期設定ユニットの実施例を示すブロック図。
【図9】図8に示した初期設定ユニットを動作させる方法を示すフローチャート。
【図10】様々な符号化動作を並列に実行できるようにプレフィックスエンコーダと組み合わせ論理ブロックを含む改善された符号化ユニットの実施例を示す概略図で、符号化システムは改善されたエンコーダの様々な実施例に組み込むのに適している。
【図11】図10に示した符号化ユニットを動作させる方法を示すフローチャート。
【図12】ディジタル信号を符号化したものを並列にシフトレジスタに供給する改善された符号化ユニットの実施例を示す概略図で、シフトレジスタはそのディジタル信号の符号化されたもの及び別の信号を直列に別の装置に供給する。
【図13】図12に示した符号化ユニットで実行できる改善されたディジタル信号符号化法の実施例を示すフローチャート。
【図14】改善されたエンコーダと第2の改善されたエンコーダの両方にIEEE規格1394に準拠するデータ信号を供給する更なる回路と相互接続された改善された第1マルチプレクサを駆動する改善されたエンコーダの別の実施例を示すブロック図で、これら両方のマルチプレクサはさらにIEEE1394に準拠するアービトレーション信号の信号ソースによって駆動される。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a signal switching circuit and a signal switching method for generating and switching digital signals having different signal rates. More specifically, the present invention relates to encoding digital signals having a high signal rate to generate an encoded signal, and to switching such signals to the same signal line as an arbitration signal having a low signal rate.
[0002]
[Prior art]
In modern electronics, integrated circuits that produce various signal types are commonplace. The integrated circuit may, for example, generate a data signal that conveys information at a high signal rate, and may generate an arbitration signal having a substantially low signal rate and useful for controlling other devices. When signals having substantially different signal rates utilize the same signal path, differences in signal rates can cause various problems. For example, spurious signals, commonly known as glitches, occur in output signals on the signal path due to differences in signal rates.
[0003]
One particularly important example occurs in computer systems that use buses to interconnect various components in accordance with IEEE Standard 1394. In this context, a signal having a high signal rate includes a data signal transmitting data at a signal rate in the range of approximately 100 MHz to 300 MHz, and the signal rate used by the receiving device to maintain synchronization with the data signal. May include a strobe signal (strobe signal, the same applies hereinafter) that is substantially the same as the data signal. Signals having a low signal rate include arbitration signals having a signal rate of approximately 50 MHz. Such an arbitration signal is specified in the IEEE standard 1394 so that the operation of the bus and the operation of a device connected to the bus can be controlled.
[0004]
[Problems to be solved by the invention]
One conventional technique for switching signals having different signal rates to the same signal path is to connect the signal source of the signal to the signal path using a traditional multiplexer. If the maximum difference in signal rate between signal sources exceeds approximately 100 MHz, this traditional approach will not work properly. It is common for multiplexers to glitch at the output due to differences in signal rates. Glitches may be interpreted as part of the data signal, but may result in data errors. The glitch that occurs when the multiplexer switches the arbitration signal to the bus may be interpreted as part of the arbitration signal, which can cause the receiver to malfunction. Since the glitch occurs at or near the beginning of the switched signal, it may interfere with signal prefixes, such as the various signal prefixes required by the IEEE 1394, which indicate transitions between signal types.
[0005]
A further problem in this field is the one-cycle delay introduced into data and strobe signals by traditional non-memoryless coding circuits and methods for generating strobe signals as defined in IEEE Standard 1394. More specifically, IEEE standard 1394 describes a traditional encoder that encodes a data signal by recursion to generate a strobe signal. In this traditional encoder, a data signal is provided to one of the inputs of a first XOR gate and the D input of a first D flip-flop. The delayed data signal provided from the Q output of the first D flip-flop is fed back to the other input of the first XOR gate, and the output of the first XOR gate drives the first input of the second XOR gate. The output of the second XOR gate drives the D input of the second D flip-flop. The Q output of the second D flip-flop provides a strobe signal. The / Q output provides an inverted strobe signal that is fed back to the second output of the second XOR gate. Both D flip-flops are both clocked by the same clock signal.
[0006]
Obviously, this encoding is recursive due to the operation of the D flip-flop. Coding requires feedback from two sources. Further, while the data signal must be delayed by at least one clock cycle in generating the strobe signal, the data signal provided to the bus is actually a delayed data signal, which is at least completely one clock cycle behind the original. This is a copy of the data signal. The addition of this latency (latency, the same applies hereinafter) delays the transmission of data to other devices connected to the bus, which is very undesirable.
[0007]
Therefore, there is always a need in the electronics art for improved circuits and methods for connecting signal paths to signal sources that provide signals at substantially different signal rates. Such circuits and methods preferably prevent output glitches from occurring during switching operations. It is highly preferred that such circuits and methods be implemented in accordance with IEEE Standard 1394 and support signal rates for data and strobe signals exceeding 200 MHz. Improved switching circuits are needed to drive output buffers on integrated circuit (IC) chips. Preferably, such an improved circuit requires minimal space on an IC chip to be implemented.
[0008]
There is also a need for improved encoders and methods of encoding digital signals in parallel. Preferably, such an encoder and encoding method can be implemented to generate strobe signals in accordance with IEEE Standard 1394. Preferably, such strobe signals are generated without recursion to minimize the latency of the data and strobe signals. Further, it is highly preferred that at least one embodiment of the encoder provides a strobe signal in accordance with the IEEE standard 1394 without incurring a latency penalty.
[0009]
Disclosed are improved circuits and methods that support switching operations between digital signals having substantially different signal rates. This improved circuit and method is particularly well-suited for switching buses between signal sources for data signals or strobe signals and arbitration signals in accordance with IEEE Standard 1394. This improved circuit can be implemented with minimal space on an integrated circuit (IC) chip, and glitches will occur during switching operations even when the signal rate difference between the switched signals exceeds 50 MHz. It is beneficial because it can be prevented. This improved circuit is convenient because it does not require the production of a large number of transistors or other components and can be implemented using standard logic gates and shift registers.
[0010]
[Means for Solving the Problems]
According to one aspect of the present application, a multiplexer for switching between a first digital signal such as a data signal or a strobe signal conforming to the IEEE standard 1394 and a second digital signal such as an arbitration signal conforming to the IEEE standard 1394 includes: Responsive to a control signal having a first state designating a first digital signal and a second state designating a second digital signal. The multiplexer includes a controller, the controller having an input for receiving the control signal, and a first end substantially starting when the control signal achieves the first state and ending after the control signal remains in the second state for a second time interval. A first output asserting a third state in the time interval; and a third time interval substantially beginning when the control signal achieves the second state and ending after the control signal remains in the first state for a fourth time interval. A second output that asserts a fourth state. The multiplexer also includes a first switch, the first switch receiving an input of the first digital signal, a control terminal coupled to a first output of the controller, and a first digital signal while the third state is asserted. The multiplexer further comprises a second switch, the second switch having an input for receiving a second digital signal, and a control terminal coupled to a second output of the controller. , An output for providing a second intermediate signal represented by the second digital signal while the fourth state is asserted, the multiplexer further comprising an output, the output of the first switch being adapted to provide an output signal. An output and an output of the second switch.
[0011]
According to another aspect of the present application, a first input for receiving a first digital signal, a second input for receiving a second digital signal, and an output for providing an output signal in response to a selected one of the inputs. Is coupled to means for preventing glitches from occurring in the output signal due to a substantial signal rate difference between the first and second digital signals.
[0012]
According to yet another aspect of the present application, a second digital signal of a first digital signal is responsive to a control signal having a first state designating a first digital signal and a second state designating a second digital signal. Discloses a digital controller for controlling multiplexing. The digital controller includes a delay element having an input for receiving the control signal and an output for providing a delay signal indicating the elapse of a first time interval after each state transition of the control signal. Comprises a first gate, the first gate having a first input for receiving the control signal and a second input coupled to the output of the delay element for receiving the delayed signal, and substantially when the control signal reaches the first state. A digital control device further comprising a second gate, wherein the digital controller further comprises a second gate, wherein the digital controller further comprises a second gate. Has a first input for receiving the control signal and a second input coupled to the output of the delay element for receiving the delayed signal, and substantially begins when the control signal achieves the second state. An output for asserting a fourth state to the third time interval ending after stayed in the first state during the interval.
[0013]
According to yet another aspect of the present application, a second digital signal of a first digital signal is responsive to a control signal having a first state designating a first digital signal and a second state designating a second digital signal. Discloses a digital controller for controlling multiplexing. The digital controller includes a delay element, the delay element having an input for receiving the control signal, and a first delay signal indicating the elapse of a first time interval after each transition of the control signal from the first state to the second state. And a second output for providing a second delay signal indicating the lapse of a second time interval after each transition of the control signal from the second state to the first state. A first gate having a first input for receiving the control signal and a second input coupled to the output of the delay element for receiving the delayed signal, wherein the control signal achieves the first state; The digital controller then has an output that asserts a third state during a third time interval which substantially begins and ends after the control signal remains in the second state for the first time interval. And the second gate has a first input for receiving the control signal and A second input coupled to the output of the delay element for receiving the delayed signal, the second input substantially starting when the control signal achieves the second state and ending after remaining in the first state for the second time interval; It has an output that provides a fourth state during a four hour interval.
[0014]
According to yet another aspect of the present application, a method for switching between signals having different signal rates is disclosed. The method uses a control signal having a plurality of transitions between a first state and a second state. The method receives a first digital signal having a first signal rate, receives a second digital signal having a second signal rate different from the first signal rate, and controls at one of the transitions between states. Receiving a signal. In response to one of the transitions between the states, the method provides an output signal in response to both the first and second digital signals for a time interval, and then supplies either the first or second digital signal. An output signal is provided in response to the signal. In one embodiment of the method, this is achieved by providing a first digital signal while the control signal is in the first state and providing a second digital signal while the control signal is in the second state. Realize.
[0015]
According to yet another aspect of the present application, a method for switching between signals having different signal rates includes receiving a first digital signal having a first signal rate, and generating a second signal rate different from the first signal rate. Receiving a second digital signal having a first state designating the first digital signal and a second state designating a second digital signal. Providing a first output signal in response to the first digital signal while in the state and during a first time interval after the transition of the control signal from the first state to the second state, wherein the control signal is in the second state; Providing a second output signal in response to the second digital signal during and during a second time interval after the transition of the control signal from the second state to the first state.
[0016]
According to yet another aspect of the present application, a switching method for a multiplexer having a first input, a second input, an output, and a control terminal for switching connection of an input to the output is disclosed. The method includes providing a first digital signal at a first input, providing a second signal substantially coincident with a first portion of the first digital signal to a second input, wherein the first input further comprises a first digital signal. And while the second input is receiving the second signal, a control signal is provided to the control terminal so that the multiplexer switches the connection of the input to the output.
[0017]
The various features of various and alternative embodiments of the improved switching circuit and method may be better understood with reference to the following description and accompanying drawings. In the drawings, similar elements have similar reference numerals. The following description and drawings are provided by way of example only, and should not be construed as limiting the scope of the present application.
[0018]
BEST MODE FOR CARRYING OUT THE INVENTION
Various embodiments of circuits and methods for encoding digital signals are disclosed. This is advantageous because the bits of the digital signal can be encoded in parallel to reduce the latency of the encoding operation. Circuits and methods for switching a signal having a high signal rate to the same signal path as another signal having a low signal rate without causing glitches in the signal path are also disclosed. Even if there is a difference in signal rate of 50 MHz or more between various signals, glitches can be prevented. A variety of circuits and methods that can encode a data signal to generate a strobe signal and provide such a signal on the same signal path as the arbitration signal in accordance with IEEE Standard 1394 are highly beneficial. The IEEE standard 1394 is incorporated herein by reference.
[0019]
FIG. 1 shows a schematic diagram of a traditional encoder 20 specified in IEEE standard 1394, which encodes a data signal by recursion to generate a strobe signal. Traditional encoder 20 includes first and second XOR gates 22, 26, and includes first and second D flip-flops 24, 28. Both D flip-flops 24 and 28 are clocked by the clock signal on line CLK. Input data signal (d0, D1, D2,. . . , Dm) Is supplied in series to the first input of the first XOR gate 22 on line DATA and to the D input of the first D flip-flop 24. Here, the index m is an integer, and each term dmRepresents a bit. One bit of the input data signal is provided per clock cycle. The delayed output data signal (d '0= D0, D '1= D1,. . . , D 'm= Dm) Is supplied on the line DATA 'from the Q output of the first D flip-flop 24. Each bit d of the delayed output data signaliIs the bit d of the corresponding input data signaliNote that it is generated in one clock cycle after the reception of the. Delayed output data signal d '0, D '1,. . . , D 'mIs fed back to the second input of the first XOR gate 22, and the output of the first XOR gate 22 drives the first input of the second XOR gate 26. The output of the second XOR gate 26 drives the D input of a second D flip-flop 28. The Q output of the second D flip-flop 28 is connected to the strobe signal (s0, S1, S2,. . . , SmSupply). The / Q output of the second D flip-flop 28 provides an inverted strobe signal, which is fed back to the second input of the second XOR gate 26.
[0020]
The encoding provided by encoder 20 can be expressed as follows.
[0021]
s0= D0                        (Equation 1)
s1= (D1  XOR d0) XOR / s0        (Equation 2)
s2= (D2  XOR d1) XOR / s1        (Equation 3)
. . .
sm(Dm  XOR dm-1) XOR / sm-1      (Equation 4)
Here, the index m is an integer. For example, the strobe bit s1To generate data bits d from input D1And the data bit d from the Q output of the D flip-flop 240Is supplied to the XOR gate 22, and the bit (d1  XOR d0) Is generated. The generated bit (d1  XOR d0) And inverted strobe bit / s0Is sent to the second XOR gate 26 and the bit (d1  XOR d0) XOR / s0Is generated. The generated bit (d1  XOR d0) XOR / s0Is then supplied to the D input of the second D flip-flop 28. During the next clock cycle of clock line CLK, the generated bit (d1  XOR d0  XOR / s0) Is the strobe bit s from the Q output of the second D flip-flop 28.1Supplied as Each strobe bit siIs the bit d 'of the corresponding delayed output data signaliAs in the same cycle.
[0022]
The encoding provided by the traditional encoder 20 is recursive due to the feedback from the D flip-flops 24,28. If i> 0, the strobe bit siIs the preceding strobe bit si-1And the preceding data bit di-1Depends on. The encoding is non-memoryless because at least one strobe bit depends on the preceding data bit. Data signal d0, D1, D2,. . . , DmIs the strobe signal s0, S1, S2,. . . , SmMust be delayed by one clock cycle. The delayed output data signal d 'supplied to the line DATA' from the Q output of the first D flip-flop 240, D '1,. . . , D 'mIs essentially the input data signal d on line DATA delayed by one clock cycle.0, D1, D2,. . . , DmIs a copy of This delay is very undesirable because it slows down the transmission of data to other devices. Furthermore, traditional encoder 20 cannot encode bits of a data signal in parallel, but rather must use multiple gates, and thus multiple gate delays, to serially encode the bits bit by bit. These problems limit the speed of the encoding process using traditional encoder 20.
[0023]
It is difficult to interconnect traditional encoder 20 with other devices. For example, if the output line DATA 'of the traditional encoder 20 and the signal source of the arbitration signal conforming to the IEEE standard 1394 are connected to the same signal path in the conventional manner, there is a difference in their signal rates. Glitches can occur in the signal path. Accordingly, there is a need for improved circuits and methods that can encode data signals to generate strobe signals and provide such signals to the same signal path as the arbitration signal without causing glitches in the signal path.
[0024]
FIG. 2A shows a block diagram of an embodiment of an improved multiplexer 100 that switches between signals having substantially different signal rates. The improved multiplexer 100 includes a first switch 110, a second switch 120, a controller 130, and a logic gate 140. The power supply voltage and the ground voltage of the improved multiplexer 100 are, for example, 3 volts and 0 volts, respectively. In the improved embodiment of the multiplexer 100, the HIGH state is asserted at or substantially at the power supply voltage, and the LOW state is asserted at or substantially at ground voltage. The multiplexer 100 of this embodiment can be realized in compliance with the IEEE standard 1394.
[0025]
It is noted that the power supply voltage, ground voltage, HIGH state, and LOW state may vary from the specified values due to, for example, system component tolerances. It is further noted that in other embodiments of the improved multiplexer, other values for the power supply voltage and ground voltage can be used. For example, the power supply voltage may instead be asserted at 5 volts, and the HIGH state may be asserted at 5 volts or 0 volts.
[0026]
The components of the improved multiplexer 100 preferably have the following attributes: The first switch 110 has an input (A) for receiving the first digital signal, a control terminal (N2) for controlling the first switch 110, and an output. In this improved embodiment of the multiplexer 100, the first switch 110 is turned on by asserting a HIGH state on its control terminal, and is turned off by asserting a LOW state on its control terminal. When the first switch is turned on, the input A of the first switch 110 is connected to the output, so that the first digital signal, that is, its representation, is supplied to the output. When the first switch 110 is turned off, input A is essentially disconnected from the output. This can be realized, for example, by asserting the LOW state from the output when the first switch 110 is turned off, or supplying high impedance from the output of the switch 110. Regardless of the method of implementation, a switching time is required for the first switch 110 to change from a stable OFF state to a stable ON state or vice versa. The second switch 120 also has an input (B) for receiving another digital signal, a control terminal (N3) for controlling the second switch 120, and an output. The second switch 120 preferably has the same design and the same attributes as the first switch 110, and is preferably controlled in the same manner.
[0027]
The controller 130 has an input (S) for receiving a control signal and a first output (O).1) And the second output (O2). Each output O1, O2Supplies an asserted intermediate signal in response to the state of the control signal. More specifically, when the control signal changes state from LOW to HIGH, the output O1Responds by changing the state from LOW to HIGH. This is preferably done at very short time intervals, for example, less than 1 nanosecond. Another output O2The intermediate signal supplied from the controller remains in the HIGH state for a time interval slightly longer than the switching time required for turning on the first switch 110 stably, and then changes the state to LOW. In the embodiment of the improved multiplexer 100, this time interval is approximately 2 nanoseconds in length, but other time intervals may be used instead. When the control signal changes state from HIGH to LOW, the output O2Responds by changing the state from LOW to HIGH. This is preferably done in a very short time interval, for example less than 1 nanosecond. Another output O1The intermediate signal provided by the second switch 120 remains in the HIGH state for a time interval slightly longer than the switching time required to turn on the second switch 120 stably. In the embodiment of the improved multiplexer 100, this time interval is also about 2 nanoseconds, but other time intervals may be used instead. When the control signal changes state, there is a time interval in which both intermediate signals are both asserted HIGH. After this time interval, one of the intermediate signals is asserted in the LOW state and the other intermediate signal is asserted in the HIGH state until the control signal changes state again.
[0028]
Logic gate 140 has a first input, a second input, and an output. The output of logic gate 140 provides an output signal for improved multiplexer 100. After the multiplexer has completed the switching operation and has reached a stable state, this output signal responds to the state asserted at one of the two inputs of the logic gate. However, during the switching operation of multiplexer 100 and before reaching a stable state, the output signal of logic gate 140, and thus the output signal of multiplexer 100, responds to the state asserted at each of the inputs of logic gate 140.
[0029]
Switches 110, 120, controller 130, and logic gate 140 are interconnected as follows. First output O of the controller1Is coupled to the control terminal N2 of the first switch 110, and the second output of the controller 130 is connected to the control terminal N3 of the second switch 120. Switches 110 and 120 each receive first and second digital signals from another circuit (not shown), such as an integrated circuit (IC) chip core. The output of each switch 110, 120 is coupled to a respective one of the inputs of logic gate 140. The output of logic gate 140 comprises the output of enhanced multiplexer 100.
[0030]
This improved embodiment of the multiplexer 100 operates as follows. The first digital signal is provided to input A of first switch 110, the second digital signal is provided to input B of second switch 120, and the control signal is provided to input S of controller 130. In response to a control signal that changes the state from LOW to HIGH, the output O of1Immediately changes the state from LOW to HIGH. This asserts a HIGH state at the control terminal N2, thereby turning on the first switch 110. As a result, the output of first switch 110 provides a first digital signal to a first input of logic gate 140. By the operation of the controller, the output O of the controller 130 is2The intermediate signal supplied from the MIC remains in the HIGH state for about 2 nanoseconds. During this time interval, the HIGH state remains asserted at the control terminal N3 of the second switch 120. This leaves the second switch ON. As a result, the output of the second switch provides a second digital signal to the second input of logic gate 140. Logic gate 140 combines the first and second digital signals according to a Boolean logic operation to produce an enhanced multiplexer 100 output signal. This improved multiplexer 100 function is very beneficial in preventing glitches in the output signal. Once this two nanosecond interval has expired, the output O2Changes the state from HIGH to LOW. This asserts a LOW state at the control terminal N3, thereby turning off the second switch 120. When the second switch is turned off, its output asserts a LOW state (or high impedance) and the output signal from logic gate 140 is determined by the state of the first digital signal received at the first input of logic gate 140.
[0031]
The operation of the improved multiplexer 100 is similar to the operation described above when the control signal changes state from HIGH to LOW. More specifically, in response to a control signal that changes the state to LOW, the output O2Immediately changes the state from LOW to HIGH. This asserts a HIGH state at the control terminal N3, thereby turning on the second switch 120. By the operation of the controller 130, the output O of the controller 1301The intermediate signal supplied from remains in the HIGH state for about 2 nanoseconds. During this time interval, the HIGH state remains asserted at the control terminal N2 of the first switch 110. As a result, the first switch remains ON. Thus, during this time interval, logic gate 140 combines the first and second digital signals according to a Boolean logic operation to produce an enhanced multiplexer 100 output signal. This improved multiplexer 100 function is very beneficial in preventing glitches in the output signal. Once this approximately 2 nanosecond interval is over, the output O1Changes the state from HIGH to LOW. This asserts a LOW state at the control terminal N2, thereby turning off the first switch 110. When the first switch is turned off, its output asserts a LOW state (or high impedance) and the output signal from logic gate 140 is determined by the state of the second digital signal received at the second output of logic gate 140.
[0032]
FIG. 2B shows a block diagram of another embodiment of an improved multiplexer 200 substantially made from traditional logic gates. The improved multiplexer includes a first switch 110, a second switch 120, a controller 130, and a logic gate 140 having the same inputs and outputs as the improved multiplexer 100, and is substantially similar to the improved multiplexer 100. Interconnected. In this improved embodiment of multiplexer 200, each switch 110, 120 comprises an AND gate, logic gate 140 comprises an OR gate, and controller 130 has the specific structure described below. The power supply voltage of the improved multiplexer 200 is 3 volts, and the ground voltage may be 0 volt. The HIGH state is asserted at or substantially at the power supply voltage, and the LOW state is asserted at or substantially at ground voltage. Other power supply voltage and ground voltage levels may be used. The power supply voltage, the ground voltage, the HIGH state, and the LOW state may be different from the values specified in the improved multiplexer 100.
[0033]
The first switch 110 is turned off by asserting a LOW state to the control terminal N2. When the LOW state is entered, the output of the first switch 110 asserts the LOW state regardless of the state asserted by another input. The first switch is turned on by asserting a HIGH state with respect to the control terminal N2. When the HIGH state occurs, the output of the first switch 110 is asserted with respect to the other outputs. The second switch 120 operates similarly.
[0034]
Logic gate 140 comprises an OR gate in this improved multiplexer 200 embodiment. When exactly one of the switches is ON, it receives the LOW signal asserted by the switch whose one of the inputs of the OR gate is OFF, and the other input of the OR gate is supplied from the switch which is ON. Receiving the digital signal. The OR gate thus provides this digital signal, or a representation thereof, as the output signal of the enhanced multiplexer 200. However, when both switches 110 and 120 are ON, the output signal provided by the OR gate is the logical OR of the two digital signals received at inputs A and B of multiplexer 200.
[0035]
In this improved multiplexer 200 embodiment, the controller 130 comprises a delay element 132, an OR gate 134, and a NAND gate 136. Delay element 132 has an input S for receiving the control signal and an output for providing a copy of the control signal about 2 nanoseconds delayed as a delayed signal. The input S of delay element 132 is coupled to a first input of OR gate 134 and a first input of NAND gate 136, and the output of delay element 132 is coupled to a second input of OR gate 134 and a second input of NAND gate 136. You. Thus, when the control signal changes state from LOW to HIGH, the first input of OR gate 134 will receive this HIGH state and the output of OR gate 134 will immediately assert the HIGH state. However, about two nanoseconds after the control signal changes to the HIGH state, the delay signal continues to be asserted in the LOW state. This LOW state is received at the second input of NAND gate 136, so that the output of NAND gate 136 asserts a HIGH state. After about 2 nanoseconds, the control signal and the delay signal are both asserted HIGH. This causes the output of NAND gate 136 to assert a LOW state.
[0036]
When the control signal changes state from HIGH to LOW, the first input of NAND gate 136 receives this LOW state, and the output of NAND gate 136 thus immediately asserts the HIGH state. However, for about 2 nanoseconds, the delayed signal will be asserted HIGH. This HIGH state is received at the second input of the OR gate, thereby causing the output of OR gate 134 to assert the HIGH state. After about 2 nanoseconds, the control signal and the delay signal are both asserted LOW. This causes the output of OR gate 134 to assert a LOW state. This embodiment of delay element 132 provides substantially the same delay duration regardless of the state of the control signal.
[0037]
Referring now to FIG. 3, a block diagram of another embodiment of the improved multiplexer 300 is shown. The improved multiplexer 300 has a first switch 110, a second switch 120, a controller 130, and a logic gate 140 having the same inputs and outputs as the improved multiplexers 100, 200. Interconnected in substantially the same manner. The controller 130 has the same design as the improved multiplexer 200. The other components of the improved multiplexer 300 differ from the corresponding components of the improved multiplexers 100, 200 as described below.
[0038]
The first switch 110 of the improved multiplexer 300 comprises a transmission gate 114 and an inverter 112. The transmission gate 114 includes an input A, a control terminal N2, / N2, and an output of the first switch 110. Inverter 112 is serially coupled between control terminals N2 and / N2 of the transmission gate. The first transmission gate 110 is turned on by asserting a HIGH state with respect to the control terminal N2, and is turned OFF by asserting a LOW state with respect to the control terminal N2. The second switch 120 has the same design as the first switch 110 and operates in the same manner as the first switch 110. More specifically, the second switch 120 includes a transmission gate 124 and an inverter 122, and the inverter 122 is connected in series between the control terminals N3 and / N3 of the transmission gate 124. The transmission gate 124 includes the input B and the output of the second switch 120, and is turned ON by asserting a HIGH state to the control terminal N3 and OFF by asserting a LOW state to the control terminal N3.
[0039]
Logic gate 140 comprises an OR gate 142 and two passive pulldowns 144, 146, each having one end coupled to the input of OR gate 142 and the other end coupled to ground (Vss). The OR gate 142 has a traditional design, with a binary value "1" representing a HIGH state and a binary value "0" representing a LOW state. Logic gate 140 also provides a logical OR operation, but can assert a binary value "0" for its input either by providing a LOW state or asserting a high impedance condition. For example, when high impedance is asserted to the first input of logic gate 140, passive pull-down 144 pulls the voltage at the input of OR gate 142 substantially to a LOW state, such that the high impedance has a binary value " "0".
[0040]
The operation of the improved multiplexer 300 is substantially identical to that of the improved multiplexer 200 when the switches 110 and 120 are ON. For example, when first switch 110 is turned on, it supplies the digital signal received at input A to the first input of logic gate 142. This digital signal has a HIGH state and a LOW state, and the LOW state represents “0”. However, when the first switch 110 is turned off, its output asserts high impedance to the first input of the logic gate 140. The passive pull-down 144 then lowers the voltage level at the first input of the OR gate 142 to substantially the ground voltage Vss, thereby asserting a LOW state or logic "0" for this input of the OR gate 142. The second switch operates similarly during the OFF state.
[0041]
Alternatively, the logic gate 140 can be omitted from the improved multiplexer 300, for example, by coupling the output of the first switch to the output of the second switch 120. The combined output forms the modified output for multiplexer 300. This modification of the multiplexer ensures that both the inputs A and B of the modified multiplexer 300 are supplied with the same signal voltage during the switching operation so that no signal contention occurs at the output of the modified multiplexer 300. is important. Since inputs A and B compete to control the output of the modified multiplexer, a substantial shift in the signal voltage at inputs A and B during the switching operation of the modified multiplexer will result in excessive current between inputs A and B. May create a flow.
[0042]
The improved multiplexers 100, 200, 300 are particularly beneficial when the first digital signal and the second digital signal have substantially different signal rates. For example, the first digital signal may be a data signal having a high signal rate according to the IEEE standard 1394, and the second digital signal may be an arbitration signal having a low signal rate according to the IEEE standard 1394. In traditional multiplexers, for example, when a signal with a low signal rate is set up to be asserted, the output of the multiplexer temporarily floats, and such differences in signal rates can cause glitches in the output signal. Become.
[0043]
FIG. 4 is a flowchart illustrating an embodiment of a method performed by the multiplexer 200 improved to prevent such glitches. FIG. 5 is a timing diagram of the improved multiplexer 200 when operating according to this method. The timing diagram shows the signal values at various points A, B, S, N1, N2, N3 and OUT for time t. Time t0Thus, the first digital signal is supplied to the input A in the same state 401 as the initial state of the second digital signal supplied to the input B. This initial state is a HIGH state in the figure, but may be a LOW state instead. To prevent glitches, no digital signal should be asserted during the switching operation of multiplexer 200 at an intermediate state or value that is substantially different from the HIGH or LOW state.
[0044]
Time t1Then, the control signal supplied to the control terminal S changes the state from HIGH to LOW. Immediately after that, time t2Then, the OR gate 134 of the controller 130 asserts the HIGH state at the control terminal N2 of the first switch 110, thereby turning on the first switch 110 403. Time t1Then, the change of the state of the control signal to the LOW state is asserted for the input of the delay element 132. In response, the delay element3Wait 405 for about 2 nanoseconds, and then change the state of the delayed signal to LOW. This LOW state is asserted at the control terminal N3 of the second switch, so that the time t4Then, the second switch is turned off (407). t1And t4During this time interval, both inputs of logic gate 140 thus receive a HIGH state, so that the output OUT of multiplexer 200 is at t1And t4During the switching operation of the improved multiplexer 200, the output signal is provided in a HIGH state during the entire time interval between the output signals.
[0045]
A similar process is used to switch back to the first digital signal. Specifically, time t5Earlier, both inputs A and B are asserted in the same state. Time t5At which point, the control signal changes state to HIGH, thereby causing time t6Turns on the first switch 110. The delay element 132 waits for about 2 nanoseconds from the change of the state of the control signal, and thereafter, the time t7Changes the state of the delay signal to HIGH. In response, time t8Then, the second switch 120 is turned off.
[0046]
Various modifications to the improved multiplexers 100, 200, 300 are contemplated, such as using other conditions to control the switches 110, 120. In another embodiment of the improved multiplexer 100, the first switch is turned on by asserting a 0 volt LOW state to the control terminal N2, and a 5 volt HIGH state is asserted to the control terminal N2. The second switch is turned on by asserting a 3 volt HIGH state to the control terminal N3, and is turned off by asserting a 0 volt LOW state to the control terminal N3. Alternatively, one or more switches 110 and 120 can be controlled by asserting appropriate levels to control terminals N2 and N3. In another embodiment of the improved multiplexer 200, the controller 130 is modified by adding yet another delay element.
[0047]
Various changes can be made specifically to the controller 130. Further, another delay element is included in the controller 130 of FIGS. It may, for example, couple the output of delay element 132 to the second input of OR gate 134, couple the input of the additional delay element to the second input of NAND gate 136 instead of the second input, and NAND the output of the added delay element. This can be achieved by coupling to the second input of gate 136. For example, the output of delay element 132 is coupled to the second input of NAND gate 136 instead of the second input of OR gate 134, the input of the added delay element is coupled to the input of delay element 132, and the By coupling the output to a second input of OR gate 134, another delay element can be included in controller 130 in parallel with delay element 132. Both of these alternative embodiments of controller 130 are advantageous because they can provide a different OR gate 134 delay duration than NAND gate 136. Therefore, it can be used to delay the turning off of each switch 110, 120 exactly by the time interval required for the other switches 120, 110 to turn on stably.
[0048]
The improved multiplexers 100, 200, 300 are very beneficial because they can be built on an integrated circuit (IC) chip and can provide signals within the IC chip to circuitry outside of the IC chip, and can be used in IEEE standard 1394. Such usage can be done according to. In one embodiment, the improved multiplexer is part of the output buffer of the IC chip. In this embodiment, both inputs A, B and the control terminal S of the improved multiplexer are coupled to a drive block of the IC chip. The drive block supplies to input A a data signal having a signal rate that can exceed 200 megahertz in accordance with IEEE standard 1394. The drive block supplies an input B with an arbitration signal having a signal rate of typically about 50 megahertz according to IEEE standard 1394. The drive block provides the proper state control signal to its control terminal S, and provides the improved multiplexer by providing data and arbitration signals at substantially equal voltages during the switching operation of the improved multiplexer. Control.
[0049]
The improved multiplexer can likewise be used to supply both strobe and arbitration signals according to IEEE standard 1394 to circuits outside the IC chip. A conventional encoder such as the encoder 20 can be used to generate a strobe signal conforming to the IEEE standard 1394. However, encoder 20 generates the strobe signal using a recursive encoding algorithm that introduces an undesirable delay time into the strobe signal. With this delay time, the data signal must be buffered for at least one clock cycle. Therefore, due to this delay time, a latency of at least one clock cycle occurs in both the data signal and the strobe signal. Further, the encoder 20 does not include means for providing both the strobe signal and the arbitration signal at substantially the same value during the switching operation. Accordingly, an improved encoder that operates in accordance with IEEE Standard 1394 is highly desirable.
[0050]
FIG. 6 is a block diagram illustrating an embodiment of an improved encoder 600 for performing according to a recursive encoding algorithm but substantially without recursive logic. The recursive encoding algorithm performed in this manner is selected from a plurality of encoding algorithms specified in this standard so that a data signal conforming to the IEEE standard 1394 can be encoded to generate a strobe signal conforming to the standard. Preferably.
[0051]
This embodiment of the improved encoder 600 comprises an initialization unit 610 and an encoding unit 630. The initialization unit 610 includes an 8-bit wide input P and a 9-bit wide output I. The initialization unit 610 supplies a one bit wide prefix to the signal received at input P to generate an intermediate signal from output I. Encoding unit 630 includes an input D and an output S, both of which are 9 bits wide. The encoding unit encodes the intermediate signal in combination without using recursive logic. Input D of encoding unit 630 is coupled to output I of initialization unit 610.
[0052]
FIG. 7 shows a flowchart of an embodiment of an improved method for encoding bits of a digital signal performed by the improved encoder 600. The method begins 701 by receiving a data signal at the input P of the initialization unit 610 eight bits at a time in parallel 701. The initialization unit 610 supplies a one-bit prefix to the digital signal to generate an intermediate signal. The intermediate signal consists of a prefix followed by a digital signal. The intermediate signal is supplied 703 in parallel to input D of encoding unit 630 via output I. Encoding unit 630 encodes the intermediate signal substantially in a combinatorial manner to produce an encoded signal, which includes encoding the digital signal bits according to a recursive encoding algorithm. This is preferably achieved 705 by encoding a one bit prefix and encoding the next eight bits of the intermediate signal in parallel using combinational logic.
[0053]
The bits of the digital signal after the eighth bit can be encoded in various ways. For example, an 8-bit continuous block of a digital signal can be prefixed for each block as described above to generate an intermediate signal encoded as described above. However, the encoded prefix of such 8-bit wide contiguous blocks is preferably ignored. Alternatively, the initialization unit 610 can be designed so that only the first 8-bit wide portion of the digital signal is prefixed and not the other portions of the digital signal.
[0054]
8 and 10 show preferred embodiments of the initialization unit 610 and the encoding unit 630, which when combined in series as shown in FIG. 6, form a preferred embodiment of the improved encoder 600. This preferred embodiment of the encoder 600 is specifically tailored to perform data strobe encoding in accordance with IEEE Standard 1394. The encoding process performed by this improved embodiment of encoder 600 is beneficial because it requires less computation than the traditional data strobe encoding process implemented by conventional encoder 20. This enables parallel encoding of the data signal, and greatly reduces the time required to encode the data signal according to the IEEE 1394 standard.
[0055]
Compared with the conventional encoder 20, the amount of calculation can be reduced as follows. The traditional encoder 20 specified in the IEEE standard 1394 generates a strobe signal by the following process.
[0056]
s0= D0                        (Equation 1)
s1= (D1  XOR d0) XOR / s0        (Equation 2)
s2= (D2  XOR d1) XOR / s1        (Equation 3)
. . .
sm(Dm  XOR dm-1) XOR / sm-1      (Equation 4)
In equations 1, 2, 3, and 4, each symbol XOR represents the operation of an XOR gate. Symbol s in each equationiAnd diRepresents the outputs of the D flip-flops 24 and 28 for each clock cycle. For example, in equation 3, the symbol s1And d1Represents strobe bits and data bits, and strobe and data bits s0And d0Is output in the clock cycle immediately after the output clock cycle. Data bit d0And inverted strobe bit / s0Are both feedbacks in equation 2. The encoding process implemented in the traditional encoder 20 is recursive and introduces latency to the data and strobe signals.
[0057]
With the improved encoder 600, this additional latency can be avoided. To understand how the latency can be avoided, each strobe bit siPreceding strobe bit s immediately beforei-1Rewrite in relation to changed dependencies on Where the leading strobe bit si-2And the strobe bit siRepresents the dependency of For example, the strobe bit s2Strobe bit s1Rewrite the dependency on to get the changed relationship.
s2= D2  XOR d1  XOR / s1= D2  XOR d1  XOR / (d1  XOR d0  XOR / s0) = D2  XOR d0  XOR s0(Equation 5)
Assuming that i> 2, the strobe bit siLeading strobe bit s successively more aparti-3, Si-4,. . . , S0And get a modified relationship.
[0058]
s0= D0                        (Equation 6)
s1= D1  XOR d0  XOR / s0          (Equation 7)
s2= D2  XOR d0  XOR s0          (Equation 5)
s3= D3  XOR d0  XOR / s0          (Equation 8)
. . .
s2i= D2i  XOR d0  XOR s0        (Equation 9)
s2i + 1= D2i + 1  XOR d0  XOR / s0      (Equation 10)
To reduce the complexity of these relationships in equations 6, 7, 8, 9, and 10, the data bits d-1And strobe bit s-1Add. Additional strobe bit s-1Is the added data bit d-1Depending on s-1  = / D-1Can be represented by In order to comply with the IEEE standard 1394, an additional strobe bit s-1Is set to a binary value “0” and the added data bit d-1Is set to a binary value “1”.
[0059]
Additional data bit d-1And additional strobe bit s-1Goes through the encoding process of the traditional encoder 20 and the data bits d0And strobe bit s0Is determined. This is the relation0  = D0  XOR d-1  XOR / s-1Can be represented by The second part of this relationship (d-1  XOR / s-1) Is (d-1  XOR / s-1) = 1 XOR / 0 = 1 XOR1 = 0. Therefore, s0  = D0  XOR (d-1  XOR / s-1) = D0  XOR 0 = d0. From this equation, d0  XOR s0  = D0And d0  XOR / s0  = / D0It turns out that it is. By substituting these relationships into Equations 5, 7, 8, 9, and 10, the encoding process of the IEEE standard 1394 can be expressed by the following equation.
[0060]
d-1= 1 (Equation 11)
s-1= 0 (Equation 12)
s0= D0                          (Equation 13)
s1= / D1                          (Equation 14)
s2= D2                          (Equation 15)
. . .
s2  i  = D2  i                      (Equation 16)
s2  i  +1= / D2  i  +1                (Equation 17)
The strobe encoding process represented by equations 11, 12, 13, 14, 14, 15, 16, and 17 is performed for each strobe bit sjAre all current data bits djTherefore, it can be executed in a memoryless manner. Each strobe bit sjIs the preceding strobe bit sk(Where k <j), so that this process can be performed without recursion. The structure and operation of the initialization unit 610 and the encoding unit 630 according to this preferred and improved embodiment of the encoder 600 will now be described with reference to FIGS. 8, 9, 10 and 11.
[0061]
FIG. 8 shows a block diagram of a preferred embodiment of an initialization unit 610 suitable for incorporation into the enhanced encoder 600. The embodiment of the initialization unit 610 is designed to receive a digital signal as a data packet composed of a bit string conforming to a data packet conforming to the IEEE 1394 standard. This embodiment of the initialization unit 610 includes a prefix generator 612 and a shift register 614. The prefix generator 612 has an 8-bit wide input so that 8-bit wide blocks of data packets can be received in parallel, and has a 1-bit wide output so that the prefix can be supplied to the digital signal. The shift register 614 has a 9-bit width input (SR-1, SR0, SR1,. . . , SR7) And a 9-bit wide output (I-1, I0, I1,. . . I7). Input SR of shift register 614-1Is coupled to receive a prefix from the output of prefix generator 612. Input SR of shift register 6140, SR1,. . . SR7Are coupled to receive 8-bit wide blocks of data packets in parallel. Output I of shift register 614-1, I0, I1,. . . I7Supply the intermediate signals in parallel.
[0062]
FIG. 9 is a flowchart illustrating a method of operating the initialization unit 610 illustrated in FIG. Input of prefix generator 612 and input SR of shift register 6140, SR1,. . . SR7In the first 8 bits (d0, D1,. . . d7) Are received in parallel, the operation starts. Prefix generator 612 then generates 903 a prefix for the data packet so that the bits of the data packet can be encoded with substantially no recursion. For example, the prefix may consist of a single bit with a binary value “1” to implement data strobe encoding in accordance with IEEE 1394. Prefix generator 612 provides a prefix 905 to the first bit of shift register 614, thereby prefixing the beginning of the data packet. The output I of the shift register 614 then converts the intermediate signal into a bit string (i-1, I0, I1, I2,. . . im) And bit i-1Is equal to the prefix of the binary value "1", m is an integer, bit i0, I1, I2,. . . i7Is the first 8 bits d of the data packet0, D1,. . . , D7Respectively. The first 8 bits d of the data packet0, D1,. . . , D7Are processed in this way, the remaining bits d of the data packet8. . . dm(M> 7) is an 8-bit wide block d0 + 8 x n, D1 + 8 x n,. . . d7 + 8 x n(N is an integer) and the processed value i0 + 8 x n, I1 + 8 x n,. . . i7 + 8 x nIs bit I of output I of initialization unit 6100, I1,. . . I7Supplied from
[0063]
FIG. 10 shows a schematic diagram of an embodiment of a coding unit 630 suitable for incorporation into the enhanced multiplexer 600. This embodiment of the encoding unit 630 includes a prefix encoder 639 and a combination logic block 641. Prefix encoder 639 receives input D-1And output S-1). The prefix encoder 639 calculates the bit i of the intermediate signal.-1Is encoded. Combinational logic block 641 comprises eight signal paths 631, 632, 633, 634, 635, 636, 637, 638, some of which 632, 634, 636, 638 each include an inverter. Each signal path has an input (Dj) And output (Sj), And the index j is the corresponding integer selected from the set {0, 1, 2, 3, 4, 4, 5, 6, 7}. The signal paths are configured in parallel. Each signal path encodes the corresponding bit (Modulo 8) of the intermediate signal. For example, the signal path 631 is the bit i of the intermediate signal0, I8,. . . , I1 + 8 x nAnd the signal path 636 also determines the bit i of the intermediate signal5, IThirteen,. . . , I5 + 8 x nIs encoded. More specifically, the signal paths including the inverters 632, 634, 636, and 638 are arranged so as to be different from the other signal paths 631, 633, 635, and 637. Due to the staggered configuration, the signal paths 632, 634, 636, and 638, including the inverters, have bits i with odd exponents 2m + 12m + 1, While the signal paths 631, 633, 635, and 637 that do not include an inverter have a bit i with an even exponent 2m.2mIs encoded but not inverted.
[0064]
FIG. 11 is a flowchart illustrating a method of operating the encoding unit 630 illustrated in FIG. Input D-1, D0, D1,. . . , D7And the first 9 bits i of the intermediate signal-1, I0, I1,. . . , I7The operation is started by receiving each in parallel. These bits i-1, I0, I1,. . . , I7Is encoded 1103 by inverting every other. That is, bit i-1Is inverted s-1  = / I-1The first bit (s) of the signal (s) encoded by-1) Is generated. Bit i0Is not inverted0  = I0The second bit (s0) Is generated. Bit i1Is inverted s1  = / I1The first bit (s) of the signal s encoded by1) Is generated. These encodings are performed in parallel, the first 9 bits s of the encoded signal s-1  = / I-1, S0  = I0, S1  = / I1, S2  = I2, S3  = / I3, S4  = I4, S5  = / I5, S6  = I6, S7  = / I7Is the output S of the encoding unit 630-1, S0,. . . , S71105 respectively output from.
[0065]
The remaining bits i of the intermediate signalm(Ie, m> 7) is an encoded 8-bit block with input D-1And output S-1Is not used for such blocks. Therefore, for an integer n u 0, s0 + 8 x n  = I0 + 8 x n, S1 + 8 x n  = / I1 + 8 x n, S2 + 8 x n  = I2 + 8 x n, S3 + 8 x n  = / I3 + 8 x n, S4 + 8 x n  = I4 + 8 x n, S5 + 8 x n  = / I5 + 8 x n, S6 + 8 x n  = I6 + 8 x n, S7 + 8 x n  = / I7 + 8 x n. The data strobe coding according to the IEEE standard 1394 has a prefix having a binary value “1” and the first bit s of the strobe signal.-1Must have the binary value “0”. Thus, for such data strobe coding, the coding unit 630 outputs a single bit d after the output signal is provided from the combinational logic block 641.-1Are connected to generate a strobe signal s conforming to the IEEE standard 1394.
[0066]
The combinational logic block 641 calculates the first bit i of the intermediate signal.-1To realize the memoryless encoding of the part following the. An embodiment of this encoding unit 630 is the first bit i of the intermediate signal.-1Followed by that part i0, I1, I2, I3, I4, I5, I6, I7,. . . , I2m, I2m + 1Memoryless encoding of0  = I0, S1  = / I1, S2  = I2, S3  = / I3, S4  = I4, S5  = / I5, S6  = I6, S7  = / I7,. . . , S2m  = I2m, S2m + 1  = / I2m + 1To achieve. This encoding encoder 630 outputs the entire intermediate signal i-1, I0, I1, I2, I3, I4, I5, I6, I7  . . . i2m, I2m + 1Memoryless encoding of-1  = / I-1, S0  = I0, S1  = / I1, S2  = I2, S3  = / I3, S4  = I4, S5  = / I5, S6  = I6, S7  = / I7  . . . , S2m  = I2m, S2m + 1  = /2m  +1And the entire intermediate signal is implemented using a conventional recursive encoder (ie, having two XOR gates and two D flip-flops) as described in IEEE Standard 1394 for data strobe coding. Note that it is equivalent to memoryless and recursive encoding. Further, prefix encoder 639 and combinational logic block 641 operate together (and as a whole encoding unit 630) one-to-one. Each bit i of the intermediate signalmAre separately encoded and the corresponding single bits s of the encoded signalmbecome.
[0067]
FIG. 12 is a schematic diagram of another embodiment of an encoding unit 630 that encodes an intermediate signal in parallel according to IEEE standard 1394 and supplies the encoded signal in series as a strobe signal. This embodiment of the encoding unit 630 includes a prefix encoder 639 modified from the one shown in FIG. ,
656 and a shift register 660.
[0068]
In this embodiment of encoding unit 630, prefix encoder 639 comprises a three-state inverter formed by coupling the output of inverter 671 to the input of transmission gate 672. The output of transmission gate 672 serves as the output of prefix encoder 639. Control terminal CD of transmission gate 672-1, / CD-1Are connected in series by a second inverter 673 and the control terminal CD-1By asserting a HIGH state (LOW state), the transmission gate 672 can be turned ON (OFF). Control terminal CD-1Is asserted in the HIGH state, the prefix encoder 639 outputs the input D-1And inverts the received bit, and supplies the inverted bit from the output of the transmission gate 672. Control terminal CD-1Is asserted in the LOW state, the transmission gate 672 is turned off, which causes the output of the transmission gate 672 to float, so that the three-state mode of the prefix encoder 639 can be realized.
[0069]
The combinational logic block 641 in this embodiment of the encoding unit 630 has the same design as in FIG. The plurality of conductive lines BD included in this embodiment of the encoding unit 6300, BD1, BD2, BD3, BD4, BD5, BD6, BD7Are drawn above the combinational logic block 641 for clarity. Finally, the shift register 660 has an 8-bit parallel input, a single-bit input, a clock terminal (G_CLK), and a control terminal (CT).-1), And a serial output (Strobe_Out). Control terminal (CT-1) Is asserted in the LOW state, so that a signal can be received through the 8-bit parallel input of the shift register 660, and the control terminal (CT)-1) Is asserted HIGH to allow a signal to be received via the single bit input of shift register 660.
[0070]
The output of combinational logic block 641 is coupled in parallel to first inputs (0) of multiplexers 642, 644, 646, 648, 652, 654, 656. Conductive wire BD0, BD1, BD2, BD3, BD4, BD5, BD6, BD7Is coupled to a second input (1) of a multiplexer 642, 644, 646, 648, 652, 654, 656. The control terminals of the multiplexers 642, 644, 646, 648, 652, 654, 656 are connected to the outputs of the multiplexers 642, 644, 646, 648, 652, 654, 656 of the first input (0) and the second input (1). Coupled to form a common control terminal (BYPASS) for switching. The outputs of multiplexers 642, 644, 646, 648, 652, 654, 656 are coupled in parallel to the 8-bit parallel input of shift register 660. The output of prefix encoder 639 is coupled to a single bit input of shift register 660.
[0071]
FIG. 13 is a flowchart of another embodiment of an improved method for encoding a digital signal performed by the embodiment of the encoding unit 630 shown in FIG. The method begins by receiving 1301 a bypass signal at a control terminal BYPASS of a multiplexer 642, 644, 646, 648, 652, 654, 656. If the bypass signal is asserted LOW, 1303, the encoding mode of the encoding unit 630 is activated. The first bit i of the intermediate signal-1Is encoded by the control terminal (CT) of the shift register 660.-1) Is asserted in the HIGH state. This activates the single bit input of shift register 660 and deactivates the parallel input of shift register 660. The first bit i of the intermediate signal-1Is received at the input of the prefix encoder 639, is encoded by the inverter 671, and is supplied to the input of the transmission gate 672. Control terminal CD of prefix encoder 639-1Is asserted in the HIGH state, thereby turning on the transmission gate 672 and causing the encoded bit / i-1Is supplied to the shift register 660. Next, control terminal CD-1Is asserted in the LOW state to turn off the transmission gate 672, and the shift register 660 clocks G_CLK as many times as necessary to encode the encoded bit / i.-1As the first bit of the strobe signal via the serial input Strobe_Out.
[0072]
Control terminal CT of shift register 660-1Is then asserted in the LOW state and the next 8 bits of the intermediate signal are received in parallel at the parallel input (0) of multiplexers 642, 644, 646, 648, 652, 654, 656 1305, bit i0, I1, I2, I3, I4, I5, I6, I7Is inverted by every other to perform encoding in the combinational logic block 641, and the next 8 bits s of the 1307 strobe signal0  = I0, S1  = / I1, S2  = I2, S3  = / I3, S4  = I4, S5  = / I5, S6  = I6, S7  = / I7And these generated bits s0, S1, S2, S3, S4, S5, S6, S7Are supplied to the shift register 660 in parallel. Shift register 660 then clocks these bits s eight times.0, S1, S2, S3, S4, S5, S6, S7Are sent out in series via the output Strobe_Out. An 8-bit contiguous block of the intermediate signal is similarly received at the parallel input (0) 1305, encoded 1307, and then sent out serially as an 8-bit contiguous block of the 1309 strobe signal by the shift register 660 via the output Strobe_Out. It is.
[0073]
When the bypass signal is asserted in the HIGH state 1303, the BYPASS mode of the encoding unit 630 is activated. In the bypass mode, for example, the encoding unit 630 can receive a bypass signal representing the initial state of the arbitration signal. When the BYPASS mode is activated, the bypass signal is supplied to the input (1) of the multiplexers 642, 644, 646, 648, 652, 654, and 656 to the conductive line BD.0, BD1, BD2, BD3, BD4, BD5, BD6, BD7, And is supplied to the shift register 660 in parallel therefrom, and then supplied in series from the output Strobe_Out. Therefore, in this embodiment of the encoding unit 630, if the bypass signal matches the initial state of the arbitration signal, so will the signal output from the Strobe_Out during the BYPASS mode.
[0074]
This embodiment of the encoding unit 630 is very useful for driving the improved multiplexers 100, 200, 300. For example, during a switching operation, an arbitration signal may be provided to one of the inputs of the enhanced multiplexer 200 and its matching output signal from the output Strobe_Out may be provided to the other input of the enhanced multiplexer 200. This can prevent glitches from occurring at the output of the improved multiplexer 200, as described in more detail above with respect to FIG.
[0075]
FIG. 14 shows a block diagram of another embodiment of the improved encoder 1400. This FIG. 14 shows an improved driving first improved multiplexer, interconnected with further circuitry for supplying data signals compliant with IEEE standard 1394 to both the improved encoder and the second improved encoder. FIG. 3 is a block diagram illustrating another embodiment of the present encoder, where both of these multiplexers are further driven by a signal source of an IEEE 1394 arbitration signal. The improved encoder 1400 comprises a timing generator 1410, a D flip-flop 1411, a shift register 1413, a prefix and end bit unit 1415, a gated clock 1416, multiplexers 1417, 201, 202, and an encoding unit 630. FIG. 14 also shows a drive block 1419 that provides signals to the enhanced encoder 1400. These signals include a data signal and an arbitration signal conforming to the IEEE standard 1394, and the improved encoder 1400 encodes the data signal to generate a strobe signal conforming to the IEEE standard 1394, and outputs the data, strobe, and arbitration. Each signal is supplied to another circuit (not shown). Preferably, the improved encoder 1400 is built on an IC chip and supplies such signals to circuitry outside the IC chip in accordance with IEEE Standard 1394.
[0076]
The encoding unit 630 is substantially the same as the structure shown in FIG. 12, except that the shift register 660 further includes a serial input (SI) and the prefix encoder 639 can be omitted. Timing generator 1410 receives input C1, C2, C3, A clock terminal, and a plurality of outputs. The shift register 1413 has a serial input, an 8-bit wide parallel input (P), a clock terminal, and a serial output (Date_Out). The prefix and end bit unit 1415 is a prefix (d) for data signals and strobe signals.-1, S-1) To provide the other matching bits described below. Gated clock 1416 generates a clock signal with a gate on line G_CLK. The gated clock 1416 can be activated to provide a gated clock signal at about 50 MHz and deactivated to assert a LOW state on line G_CLK. Multiplexer 1417 is a traditional three-input one-output multiplexer, the inputs and outputs are 8 bits wide, and include control terminals to select the connection of the input to the output. Each of the multiplexers 201 and 202 has the same design as the multiplexer 200 shown in FIG. 2B. Drive block 1419 provides data and arbitration signals to enhanced encoder 1400. The drive block 1419 also supplies various control signals such as a clock signal on the clock line CLK to the improved encoder 1400.
[0077]
The drive block 1419 has an input of the multiplexer 1417, a second input (1) of the multiplexers 201 and 202, an input C of the timing generator 1410.1, C2, C3To the reset terminal of the D flip-flop 1411 and further connected to both clock terminals of the timing generator 1410 and the D flip-flop 1411 via the clock line CLK. Timing generator 1410 is connected to prefix and end bit unit 1415, to gated clock 1416, to the control terminal of multiplexer 1417, and to the D input of D flip-flop 1411. The prefix and end bit unit 1415 is connected to the serial input of the shift register 1413, the serial input SI of the shift register 660 of the encoding unit 630, and the input D of the encoding unit 630.0, D1, D3, D4, D5, D6, D7(Collectively D1-7) And the conductive line BD of the encoding unit 6300, BD1, BD2, BD3, BD4, BD5, BD6, BD7(Collectively BD1-7Connected). The gated clock 1416 is connected to the clock terminal of the shift register 1413 via the gated clock line G_CLK, and to the clock terminal of the shift register 660 of the encoding unit 630. The output of multiplexer 1417 is connected to parallel input P of shift register 1413 and to input D of encoding unit 630.0-7Connected to. The serial output Data_Out of the shift register 1413 is connected to the input (0) of the multiplexer 202, and the serial output Strobe_Out of the shift register 660 of the encoding unit 630 is connected to the first input (0) of the multiplexer 201.
[0078]
For example, the operation can be started in an arbitration mode in which an arbitration signal is supplied from each of the outputs Out_SA and Out_DA of the multiplexers 201 and 202. In order to set the data mode and the strobe signal to the data mode supplied from the outputs Out_SA and Out_DA, the following operation is performed. The driving unit 1419 selects one of the three data signals supplied to the multiplexer 1417, and outputs a selection signal designating the selected data signal to the input C of the timing generator 1410.1Send to Timing generator 1410 then sends a second select signal to the control terminal of multiplexer 1417 so that the selected data signal is permanently connected to the output of multiplexer 1417. The driving unit 1419 also supplies a mode signal designating the data mode to the input C3 to issue a command to the timing generator 1410 to change the mode from the arbitration mode to the data mode. In response to the mode signal and the clock signal, the timing generator 1410 commands the prefix and end bit unit 1415 to output a bit (matching bit) corresponding to the end of the arbitration signal to the conductive line BD of the encoding unit 630.0-7To be supplied. The last part of the arbitration signal is sent to the input (1) of the multiplexers 201 and 202 in series by the drive block 1419, and is also sent to the parallel input P of the shift register 1413 in parallel via the multiplexer 1417. The driving unit 1419 further inputs an input C of the timing generator 1410 for sending a command to the timing generator 1410.2To start the gated clock 1416.
[0079]
Once activated, the gated clock 1416 clocks the shift register 1413 and shift register 660 so that the matching bits are input via the serial inputs Date_Out and Strobe_Out of the shift registers 1413 and 660 to the inputs (0) of the multiplexers 202 and 201. To supply. The timing generator 1410 asserts a LOW state with respect to the input D of the D flip-flop 1411, and when the next rising edge of the clock signal occurs, the D flip-flop 1411 changes the LOW state received by the control terminals of the multiplexers 201 and 202. Assert, thereby connecting the input (0) of these multiplexers 201, 202 to their respective outputs Out_SA, Out_DA. Since the matching bits match the end of the arbitration signal, glitches are prevented from occurring at these outputs Out_SA, Out_DA.
[0080]
The timing generator 1410 also issues a command to the prefix and end bit unit 1415 to output the first bit s of the strobe signal.-1To the serial input SI of the shift register 660 of the encoding unit 630, and outputs the first bit d of the data packet portion of the data signal.-1To the serial input of the shift register 1413. In response to clocking with the gated clock signal on line G_CLK, bits s-1Is supplied to the input (0) of the multiplexer 201 by the output Strobe_Out of the shift register 660, and the bit d-1Is supplied to the input (0) of the multiplexer 202 by the output Data_Out of the shift register 1413. Timing register 1410 also issues a command to prefix and end bit unit 1415 to assert the bypass signal LOW. This allows input D of encoding unit 630 to be0-7Receive the data signal. Encoding unit 630 encodes the received data signal without using recursion to generate strobe signal s.0, S1,. . . , SmGenerate the second part of. The second part is the strobe signal s-1After the first bit of, the output Strobe_Out of the shift register 660 is supplied to the input (0) of the multiplexer 201 in series. The strobe signal is sent out in series via the shift register 1413 by the gated clock signal. The gated clock signal also sends out a data signal via the shift register 1413.
[0081]
The improved encoder 1400 can also switch back to the arbitration mode. Upon switching back to arbitration mode, the arbitration signal is provided to shift register 1413 via multiplexer 1417, to encoding unit 630 via prefix and end bit unit 1415, and to input (1) via multiplexers 201 and 202. The matching bit matches the first part of the arbitration signal. The state of various signals such as the signal supplied to the control terminals of the multiplexers 201 and 202 can be inverted.
[Brief description of the drawings]
FIG. 1 is a schematic diagram of a traditional encoder specified in IEEE Standard 1394 for encoding a data signal to generate a strobe signal.
FIG. 2A is a block diagram illustrating an embodiment of an improved multiplexer for switching between signals having substantially different signal rates. Combining a pair of switches made from a B AND gate, a controller for controlling the switch including a delay element coupled in series to both the OR gate and the NAND gate, and a signal output from the switch. And FIG. 10 is a block diagram illustrating another embodiment of an improved multiplexer comprising a logic gate for the first embodiment.
FIG. 3 shows a pair of switches made from a transmission gate, a controller for controlling the switch including a delay element coupled in series to both the OR gate and the NAND gate, a pair of switches, and an OR gate and a pair of switches. FIG. 9 is a block diagram illustrating an improved alternative embodiment comprising logic gates for combining signals output from the switch including a passive pull-down.
FIG. 4 is a flowchart illustrating an embodiment of an improved method for switching a multiplexer effective to prevent the occurrence of glitches during a switching operation.
FIG. 5 is a timing diagram illustrating the relative timing of various signals required for operation of the improved multiplexer embodiment shown in FIG. 2B.
FIG. 6 performs a recursive encoding algorithm by prefixing a digital signal received in an initialization unit to generate an intermediate signal, and encoding the intermediate signal in combination by the encoding unit; FIG. 2 is a block diagram illustrating an embodiment of an improved encoder for generating a signal.
FIG. 7 is a flowchart illustrating an embodiment of an improved method for encoding a digital signal with a recursive encoding algorithm.
FIG. 8 is a block diagram illustrating an embodiment of an initialization unit suitable for including an improved encoder.
FIG. 9 is a flowchart showing a method of operating the initialization unit shown in FIG. 8;
FIG. 10 is a schematic diagram illustrating an embodiment of an improved encoding unit that includes a prefix encoder and combinational logic blocks so that various encoding operations can be performed in parallel, wherein the encoding system includes various of the improved encoders. Suitable for incorporation in the examples.
FIG. 11 is a flowchart showing a method of operating the encoding unit shown in FIG. 10;
FIG. 12 is a schematic diagram illustrating an embodiment of an improved encoding unit that supplies an encoded version of a digital signal to a shift register in parallel, wherein the shift register is an encoded version of the digital signal and another signal. To another device in series.
FIG. 13 is a flowchart illustrating an embodiment of an improved digital signal encoding method that can be performed by the encoding unit shown in FIG.
FIG. 14 is an improved driving first improved multiplexer, interconnected with further circuitry for supplying data signals compliant with IEEE standard 1394 to both the improved encoder and the second improved encoder; In a block diagram illustrating another embodiment of an encoder, both of these multiplexers are further driven by a signal source of an IEEE 1394 arbitration signal.

Claims (29)

第1状態と第2状態との間に複数の遷移を有する制御信号を用い、その方法は、
第1状態を示し、第1の信号レートを有する第1ディジタル信号を受け取るステップと、
第2状態を示し、第1の信号レートとは異なる第2の信号レートを有する第2ディジタル信号を受け取るステップと、
前記第1状態と前記第2状態との状態間の遷移の一つに、制御信号を受け取るステップと、
その制御信号を受け取るステップに応答して、或る時間間隔の間に前記第1ディジタル信号及び前記第2ディジタル信号の両ディジタル信号に応答して、第1の出力信号を供給するステップと、
その出力信号を供給するステップの後、前記第1ディジタル信号及び前記第2ディジタル信号の一方にだけ応答して、第2の出力信号を供給するステップと、
を有することを特徴とする信号切り替え方法。
Using a control signal having a plurality of transitions between a first state and a second state, the method comprises:
Receiving a first digital signal indicating a first state and having a first signal rate;
Receiving a second digital signal indicating a second state and having a second signal rate different from the first signal rate;
Receiving a control signal at one of the transitions between the first state and the second state;
Providing a first output signal in response to receiving the control signal in response to both the first digital signal and the second digital signal during a time interval;
Providing a second output signal in response to only one of the first digital signal and the second digital signal after providing the output signal;
A signal switching method, comprising:
前記第1の信号レートは、前記第2の信号レートより高いことを特徴とする請求項1に記載の信号切り替え方法。2. The signal switching method according to claim 1, wherein the first signal rate is higher than the second signal rate. 前記第1ディジタル信号は、IEEE規格1394に準拠するデータ信号であり、前記第2ディジタル信号は、IEEE規格1394に準拠するアービトレーション信号であることを特徴とする請求項1に記載の信号切り替え方法。2. The signal switching method according to claim 1, wherein the first digital signal is a data signal conforming to IEEE standard 1394, and the second digital signal is an arbitration signal conforming to IEEE standard 1394. 前記第1ディジタル信号は、IEEE規格1394に準拠するストローブ信号であり、前記第2ディジタル信号は、IEEE規格1394に準拠するアービトレーション信号であることを特徴とする請求項1に記載の信号切り替え方法。2. The signal switching method according to claim 1, wherein the first digital signal is a strobe signal conforming to IEEE standard 1394, and the second digital signal is an arbitration signal conforming to IEEE standard 1394. 前記第1の信号レートは、少なくとも前記第2の信号レートの2倍であることを特徴とする請求項1に記載の信号切り替え方法。2. The signal switching method according to claim 1, wherein the first signal rate is at least twice as large as the second signal rate. 前記第1の信号レートは、少なくとも100 MHzであり、前記第2の信号レートは約50 MHzであることを特徴とする請求項1に記載の信号切り替え方法。The signal switching method according to claim 1, wherein the first signal rate is at least 100 MHz, and the second signal rate is about 50 MHz. 前記第1の出力信号及び前記第2の出力信号は、共通導電線に供給されていることを特徴とする請求項1に記載の信号切り替え方法。2. The signal switching method according to claim 1, wherein the first output signal and the second output signal are supplied to a common conductive line. 制御信号に応答して、第1ディジタル信号及び第2ディジタル信号との間の切り替えを行なう信号切り替え回路であって、その制御信号は、前記第1ディジタル信号を指定する第1状態と前記第2ディジタル信号を指定する第2状態とを有しており、
前記制御信号を受け取る入力と、前記制御信号が前記第1状態を達成すると実質的に始まり、前記制御信号が第2時間間隔の間、前記第2状態にとどまった後終了する、第1時間間隔中に第3状態をアサートする第1出力と、前記制御信号が前記第2状態を達成すると実質的に始まり、前記制御信号が第4時間間隔の間、前記第1状態にとどまった後終了する、第3時間間隔中に第4状態をアサートする第2出力とを備える制御器と、
前記第1ディジタル信号を受け取る入力と、前記制御器の前記第1出力に結合された制御端子と、前記第3状態がアサートされている間に前記第1ディジタル信号を表す第1中間信号を供給する出力とを備える第1スイッチと、
前記第2ディジタル信号を受け取る入力と、前記制御器の前記第2出力に結合された制御端子と、前記第4状態がアサートされている間に前記第2ディジタル信号を表す第2中間信号を供給する出力とを備える第2スイッチと、
出力信号を供給できるように前記第1スイッチ及び前記第2スイッチの出力に結合された出力と、
を有することを特徴とする信号切り替え回路。
A signal switching circuit for switching between a first digital signal and a second digital signal in response to a control signal, the control signal comprising: a first state designating the first digital signal; A second state designating the digital signal,
An input receiving the control signal, a first time interval substantially beginning when the control signal achieves the first state, and ending after the control signal remains in the second state for a second time interval. A first output that asserts a third state during and substantially begins when the control signal achieves the second state and ends after the control signal remains in the first state for a fourth time interval. A second output that asserts a fourth state during a third time interval; and
An input for receiving the first digital signal, a control terminal coupled to the first output of the controller, and a first intermediate signal representing the first digital signal while the third state is asserted. A first switch comprising:
An input for receiving the second digital signal, a control terminal coupled to the second output of the controller, and a second intermediate signal representing the second digital signal while the fourth state is asserted. A second switch having an output to
An output coupled to the outputs of the first switch and the second switch to provide an output signal;
A signal switching circuit comprising:
前記第1スイッチ及び前記第2スイッチの出力に結合されており、前記出力信号を中間信号のブール論理組み合わせとして供給する論理ゲートをさらに有することを特徴とする請求項8に記載の信号切り替え回路。9. The signal switching circuit according to claim 8, further comprising a logic gate coupled to outputs of the first switch and the second switch, the logic gate providing the output signal as a Boolean combination of intermediate signals. 論理OR演算に従って中間信号を組み合わせることにより、前記出力信号を供給できるようにORゲートをさらに有することを特徴とする請求項8に記載の信号切り替え回路。9. The signal switching circuit according to claim 8, further comprising an OR gate so as to supply the output signal by combining intermediate signals according to a logical OR operation. 前記第1スイッチが安定してONになる間、前記出力信号は両中間信号に応答するものであることを特徴とする請求項8に記載の信号切り替え回路。9. The signal switching circuit according to claim 8, wherein the output signal responds to both intermediate signals while the first switch is stably turned on. 前記出力信号が、前記第1中間信号に対して応答することから、前記第1中間信号及び前記第2中間信号の論理ORに対して応答し、そして前記第2中間信号に対して応答し、と応答相手を切り替えるものであることを特徴とする請求項8に記載の信号切り替え回路。The output signal responds to the first intermediate signal, responds to a logical OR of the first intermediate signal and the second intermediate signal, and responds to the second intermediate signal; 9. The signal switching circuit according to claim 8, wherein the signal switching circuit switches between a response partner and a response partner. 前記第2時間間隔は、前記第2スイッチがOFFになる前に前記第1スイッチが安定してONになるのに必要十分な長さであることを特徴とする請求項8に記載の信号切り替え回路。The signal switching according to claim 8, wherein the second time interval is a length necessary and sufficient for the first switch to be stably turned on before the second switch is turned off. circuit. 前記第2時間間隔は、前記第1ディジタル信号と第2ディジタル信号との間の信号レートの差分に比例して選択されるものであり、そうした信号レートの差分によって前記出力信号にグリッチが発生するのを防ぐものであることを特徴とする請求項8に記載の信号切り替え回路。The second time interval is selected in proportion to a difference in signal rate between the first digital signal and the second digital signal, and such a difference in signal rate causes a glitch in the output signal. 9. The signal switching circuit according to claim 8, wherein the signal switching circuit prevents the switching. 前記第1ディジタル信号は、IEEE規格1394に準拠してデータを伝送するものであり、前記第2ディジタル信号は、IEEE規格1394に準拠してアービトレーション情報を伝送するものであることを特徴とする請求項8に記載の信号切り替え回路。The first digital signal transmits data according to IEEE standard 1394, and the second digital signal transmits arbitration information according to IEEE standard 1394. Item 9. The signal switching circuit according to item 8. 前記第1ディジタル信号は、IEEE規格1394に準拠したデータ信号であり、前記第2ディジタル信号は、IEEE規格1394に準拠したアービトレーション情報であることを特徴とする請求項8に記載の信号切り替え回路。9. The signal switching circuit according to claim 8, wherein the first digital signal is a data signal based on IEEE standard 1394, and the second digital signal is arbitration information based on IEEE standard 1394. 前記第1ディジタル信号は、IEEE規格1394に準拠したデータ信号に対応するストローブ信号であり、前記第2ディジタル信号は、IEEE規格1394に準拠したアービトレーション情報であるを特徴とする請求項16に記載の信号切り替え回路。The method according to claim 16, wherein the first digital signal is a strobe signal corresponding to a data signal conforming to IEEE standard 1394, and the second digital signal is arbitration information conforming to IEEE standard 1394. Signal switching circuit. 前記第1ディジタル信号は、IEEE規格1394に準拠したストローブ信号であり、前記第2ディジタル信号は、IEEE規格1394に準拠したアービトレーション情報であるを特徴とする請求項8に記載の信号切り替え回路。9. The signal switching circuit according to claim 8, wherein the first digital signal is a strobe signal based on IEEE Standard 1394, and the second digital signal is arbitration information based on IEEE Standard 1394. 第1ディジタル信号を受け取る第1入力と、第2ディジタル信号を受け取る第2入力と、選択された一つの入力に応答して出力信号を供給する出力とを有するスイッチであって
前記第 1 ディジタル信号は、 IEEE 規格 1394 に準拠してデータを伝送する信号であり、第 2 ディジタル信号は、 IEEE 規格 1394 に準拠してアービトレーション情報を伝送する信号であり、
前記スイッチに結合されており、前記第1ディジタル信号と前記第2ディジタル信号との間の信号レートに実質的な差分があった場合に、前記スイッチの切り替え時において、
前記「選択された一つの入力」がある時間だけ遅延させて、選択から非選択に切り替える遅延切り替え入力信号と、
前記「選択された一つの入力」でないもう一方の入力信号を直ちに非選択から選択に切り替える非遅延切り替え入力信号の
両者のブール論理和信号を前記出力信号とすることで、
前記出力信号にグリッチが発生するのを防ぐ手段とすることを特徴とする信号切り替え回路。
A first input for receiving a first digital signal, a second input for receiving a second digital signal, a switch having an output for providing an output signal in response to one of the selected inputs,
The first digital signal is a signal for transmitting data according to IEEE Standard 1394 , the second digital signal is a signal for transmitting arbitration information according to IEEE Standard 1394 ,
Being coupled to said switch, when there is a substantial difference in the signal rate between the first digital signal and said second digital signal, at the time of switching of the switch,
A delay switching input signal that delays the “one selected input” by a certain time and switches from selection to non-selection,
The non-delay switching input signal for immediately switching the other input signal that is not the “selected one input” from non-selection to selection ,
By using the Boolean OR signal of both as the output signal,
A signal switching circuit as means for preventing a glitch from occurring in the output signal.
前記信号レートの実質的な差分は、前記第1ディジタル信号が前記第2ディジタル信号より、少なくとも2倍高い信号レートを有する場合にのみ生じるものであることを特徴とする請求項19に記載の信号切り替え回路。20. The signal of claim 19, wherein the substantial difference in signal rate occurs only when the first digital signal has a signal rate that is at least twice as high as the second digital signal. Switching circuit. 前記信号レートの実質的な差分は、前記第1ディジタル信号と第2ディジタル信号とで、周波数に少なくとも50 MHzの違いがある場合にのみ生じるものであることを特徴とする請求項19に記載の信号切り替え回路。The method according to claim 19, wherein the substantial difference between the signal rates occurs only when the first digital signal and the second digital signal have a frequency difference of at least 50 MHz. Signal switching circuit. 第1ディジタル信号を指定する第1状態と第2ディジタル信号を指定する第2状態とを有する制御信号に応答して、前記第1ディジタル信号の前記第2ディジタル信号との多重化を制御するディジタル制御器であって、
前記制御信号を受け取る入力と、前記制御信号の各状態遷移後の、第1時間間隔の経過を示す遅延信号を供給する出力とを備える遅延素子と、
前記制御信号を受け取る第1入力と、前記遅延信号を受け取れるように前記遅延素子の出力に結合された第2入力と、前記制御信号が前記第1状態を達成すると実質的に始まり、前記制御信号が前記第1時間間隔の間、前記第2状態にとどまった後、終了する第2時間間隔中に第3状態をアサートする出力とを備える第1ゲートと、
前記制御信号を受け取る第1入力と、前記遅延信号を受け取れるように前記遅延素子の出力に結合された第2入力と、前記制御信号が前記第2状態を達成すると実質的に始まり、前記制御信号が前記第1時間間隔の間、前記第1状態にとどまった後、終了する第3時間間隔中に第4状態をアサートする出力とを備える第2ゲートと、
を有することを特徴とするディジタル制御器。
A digital control unit that controls multiplexing of the first digital signal with the second digital signal in response to a control signal having a first state specifying a first digital signal and a second state specifying a second digital signal. A controller,
A delay element having an input for receiving the control signal, and an output for supplying a delay signal indicating a lapse of a first time interval after each state transition of the control signal;
A first input for receiving the control signal; a second input coupled to an output of the delay element for receiving the delayed signal; substantially starting when the control signal achieves the first state; During the first time interval, after staying in the second state, a first gate having an output that asserts a third state during a second time interval that ends.
A first input for receiving the control signal; a second input coupled to an output of the delay element for receiving the delayed signal; substantially starting when the control signal achieves the second state; A second gate having an output that asserts a fourth state during a third time interval that ends after staying in the first state during the first time interval.
A digital controller comprising:
前記遅延信号は、前記第1時間間隔だけ遅延した制御信号を表すものであることを特徴とする請求項22に記載のディジタル制御器。23. The digital controller according to claim 22, wherein the delay signal represents a control signal delayed by the first time interval. 前記第1ゲートはORゲートであり、前記第2ゲートはNANDゲートであることを特徴とする請求項22に記載のディジタル制御器。23. The digital controller according to claim 22, wherein the first gate is an OR gate, and the second gate is a NAND gate. 前記第1ゲートはNORゲートであり、前記第2ゲートはANDゲートであることを特徴とする請求項22に記載のディジタル制御器。23. The digital controller according to claim 22, wherein the first gate is a NOR gate, and the second gate is an AND gate. 前記第1ディジタル信号を受け取る第1入力と、前記第1ゲートの出力に結合された第2入力と、前記第1ゲートが第3状態をアサートしている間にその受け取った前記第1ディジタル信号を供給する出力とを備える第1 ANDゲートと、
前記第2ディジタル信号を受け取る第1入力と、前記第2ゲートの出力に結合された第2入力と、前記第2ゲートが第4状態をアサートしている間にその受け取った前記第2ディジタル信号を供給する出力とを有する第2 ANDゲートと、
前記第1 ANDゲート及び前記第2 ANDゲートから供給される信号を組み合わせて、出力信号を供給する第5ゲートと、
をさらに有することを特徴とする請求項22に記載のディジタル制御器。
A first input for receiving the first digital signal; a second input coupled to an output of the first gate; and the first digital signal received while the first gate is asserting a third state. A first AND gate with an output that provides
A first input for receiving the second digital signal; a second input coupled to an output of the second gate; and the second digital signal received while the second gate is asserting a fourth state. A second AND gate having an output that provides
A fifth gate that supplies an output signal by combining signals supplied from the first AND gate and the second AND gate;
23. The digital controller according to claim 22, further comprising:
前記第5ゲートは、ブール論理演算に従って、前記第1 ANDゲート及び前記第2 ANDゲートから供給される信号を組み合わせる論理ゲートであることを特徴とする請求項26に記載のディジタル制御器。27. The digital controller according to claim 26, wherein the fifth gate is a logic gate that combines signals supplied from the first AND gate and the second AND gate according to a Boolean logic operation. 第1ディジタル信号を指定する第1状態と第2ディジタル信号を指定する第2状態を有する制御信号に応答して第1ディジタル信号の第2ディジタル信号との多重化を制御するディジタル制御器であって、
制御信号を受け取る入力を有し、制御信号の第1状態から第2状態への各遷移後の第1時間間隔の経過を示す第1遅延信号を供給する第1出力を有し、制御信号の第2状態から第1状態への各遷移後の第2時間間隔の経過を示す第2遅延信号を供給する第2出力を有する遅延素子を具備し、
制御信号を受け取る第1入力と、遅延信号を受け取れるように遅延素子の出力に結合された第2入力と、制御信号が第1状態を達成すると実質的に始まり制御信号が第1時間間隔の間第2状態にとどまった後終了する第3時間間隔中に第3状態を供給する出力とを有する第1ゲートを具備し、
制御信号を受け取る第1入力と、遅延信号を受け取れるように遅延素子の出力に結合された第2入力と、制御信号が第2状態を達成すると実質的に始まり制御信号が第2時間間隔の間第1状態にとどまった後終了する第4時間間隔中に第4状態を供給する出力を有する第2ゲートを具備することを特徴とするディジタル制御器。
A digital controller for controlling multiplexing of a first digital signal with a second digital signal in response to a control signal having a first state designating a first digital signal and a second state designating a second digital signal. hand,
Having an input for receiving a control signal, having a first output for supplying a first delay signal indicating the elapse of a first time interval after each transition of the control signal from the first state to the second state, A delay element having a second output for supplying a second delay signal indicating the elapse of a second time interval after each transition from the second state to the first state,
A first input for receiving the control signal, a second input coupled to the output of the delay element for receiving the delayed signal, and substantially starting when the control signal achieves the first state, wherein the control signal is for a first time interval. An output for providing a third state during a third time interval ending after staying in the second state; and
A first input for receiving the control signal, a second input coupled to the output of the delay element for receiving the delayed signal, and substantially starting when the control signal achieves the second state, wherein the control signal is for a second time interval. A digital controller comprising a second gate having an output for providing a fourth state during a fourth time interval ending after remaining in the first state.
信号切り替え回路を切り替える方法であって、前記信号切り替え回路は、第1入力と、第2入力と、出力と、及び入力の出力とへの接続を切り替えるための制御端子を含んでおり、
前記第1入力に第1ディジタル信号を供給するステップと、
前記第2入力に第2ディジタル信号を供給するステップと、
前記第1入力が前記第1ディジタル信号を、そして前記第2入力が前記第2信号を受け取っており、且つ前記第 1 ディジタル信号と前記第 2 ディジタル信号の状態が安定した同一の論理値状態である期間に、前記制御端子制御信号を状態変化させるステップと、
を備え、それにより信号切り替え回路が出力への入力の接続切り替えを行ってなることを特徴とする信号切り替え回路を切り替える方法。
A method of switching a signal switching circuit, wherein the signal switching circuit includes a first input, a second input, an output, and a control terminal for switching a connection to an output of the input,
Supplying a first digital signal to the first input;
Supplying a second digital signal to the second input;
The first input receives the first digital signal, the second input receives the second signal , and the states of the first digital signal and the second digital signal are stable and have the same logical value. a step in the period, which Ru is the state change of the control signal of the control terminal,
A method for switching a signal switching circuit, characterized in that the signal switching circuit switches connection of an input to an output.
JP35513999A 1998-12-14 1999-12-14 Signal switching circuit and signal switching method Expired - Fee Related JP3557975B2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US11232298P 1998-12-14 1998-12-14
US60/112322 1999-04-06
US09/287,596 US6297684B1 (en) 1998-12-14 1999-04-06 Circuit and method for switching between digital signals that have different signal rates
US09/287596 1999-04-06

Publications (2)

Publication Number Publication Date
JP2000324135A JP2000324135A (en) 2000-11-24
JP3557975B2 true JP3557975B2 (en) 2004-08-25

Family

ID=26809831

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35513999A Expired - Fee Related JP3557975B2 (en) 1998-12-14 1999-12-14 Signal switching circuit and signal switching method

Country Status (1)

Country Link
JP (1) JP3557975B2 (en)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6760772B2 (en) 2000-12-15 2004-07-06 Qualcomm, Inc. Generating and implementing a communication protocol and interface for high data rate signal transfer
US8812706B1 (en) 2001-09-06 2014-08-19 Qualcomm Incorporated Method and apparatus for compensating for mismatched delays in signals of a mobile display interface (MDDI) system
CN103220282B (en) 2003-06-02 2016-05-25 高通股份有限公司 Generate and implement one for more signal protocol and the interface of High Data Rate
EP2363989B1 (en) 2003-08-13 2018-09-19 Qualcomm Incorporated A signal interface for higher data rates
RU2369033C2 (en) 2003-09-10 2009-09-27 Квэлкомм Инкорпорейтед High-speed data transmission interface
CN1894931A (en) 2003-10-15 2007-01-10 高通股份有限公司 High data rate interface
RU2331160C2 (en) 2003-10-29 2008-08-10 Квэлкомм Инкорпорейтед Interface with high speed of data transmission
US8606946B2 (en) 2003-11-12 2013-12-10 Qualcomm Incorporated Method, system and computer program for driving a data signal in data interface communication data link
CA2546971A1 (en) 2003-11-25 2005-06-09 Qualcomm Incorporated High data rate interface with improved link synchronization
CA2731363C (en) 2003-12-08 2013-10-08 Qualcomm Incorporated High data rate interface with improved link synchronization
CN101827103B (en) 2004-03-10 2012-07-04 高通股份有限公司 High data rate interface apparatus and method
KR101245962B1 (en) 2004-03-17 2013-03-21 퀄컴 인코포레이티드 High data rate interface apparatus and method
WO2005096594A1 (en) 2004-03-24 2005-10-13 Qualcomm Incorporated High data rate interface apparatus and method
US8650304B2 (en) 2004-06-04 2014-02-11 Qualcomm Incorporated Determining a pre skew and post skew calibration data rate in a mobile display digital interface (MDDI) communication system
CA2569106C (en) 2004-06-04 2013-05-21 Qualcomm Incorporated High data rate interface apparatus and method
US8873584B2 (en) 2004-11-24 2014-10-28 Qualcomm Incorporated Digital data interface device
CN101449255B (en) * 2004-11-24 2011-08-31 高通股份有限公司 Methods and systems for updating a buffer
US8667363B2 (en) 2004-11-24 2014-03-04 Qualcomm Incorporated Systems and methods for implementing cyclic redundancy checks
US8692838B2 (en) 2004-11-24 2014-04-08 Qualcomm Incorporated Methods and systems for updating a buffer
US8539119B2 (en) 2004-11-24 2013-09-17 Qualcomm Incorporated Methods and apparatus for exchanging messages having a digital data interface device message format
US8699330B2 (en) 2004-11-24 2014-04-15 Qualcomm Incorporated Systems and methods for digital data transmission rate control
US8692839B2 (en) 2005-11-23 2014-04-08 Qualcomm Incorporated Methods and systems for updating a buffer
US8730069B2 (en) 2005-11-23 2014-05-20 Qualcomm Incorporated Double data rate serial encoder

Also Published As

Publication number Publication date
JP2000324135A (en) 2000-11-24

Similar Documents

Publication Publication Date Title
JP3557975B2 (en) Signal switching circuit and signal switching method
US6297684B1 (en) Circuit and method for switching between digital signals that have different signal rates
US6252526B1 (en) Circuit and method for fast parallel data strobe encoding
JP3657918B2 (en) Programmable logic device with high-speed serial interface circuit
US6768363B2 (en) Output driver circuit for controlling up-slew rate and down-slew rate independently and up-driving strength and down-driving strength independently
US6665219B2 (en) Method of reducing standby current during power down mode
US6956407B2 (en) Pre-emphasis circuitry and methods
US7969802B2 (en) Apparatus and method of generating output enable signal for semiconductor memory apparatus
US5646553A (en) Driver for tri-state bus
TW201840132A (en) Digital controlled delay line
JP3696812B2 (en) I / O interface and semiconductor integrated circuit
JP2003044349A (en) Register and signal generating method
JP4025276B2 (en) Integrated circuit device
TW200926600A (en) Clockless serialization using delay circuits
JP2004104797A (en) Method and system for improved defferential form of transitional coding
JP3825209B2 (en) Digital circuit for jitter reduction
US7961000B1 (en) Impedance matching circuit and method
JPH11145786A (en) Flip-flop reset circuit
JP4872228B2 (en) Output buffer circuit
US6072329A (en) Method and system of minimizing simultaneous switching noise in an electronic device
US6194938B1 (en) Synchronous integrated clock circuit
KR20010084970A (en) A Semiconductor Circuit and Device with Clock Synchronize Circuit and Internal Voltage Circuit
KR101053523B1 (en) Delay device of semiconductor integrated circuit and its control method
JP2002517935A (en) Tunable digital oscillator circuit and method for generating clock signals of different frequencies
WO2006004705A2 (en) Dynamic-to-static logic converter

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040202

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040427

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040510

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080528

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090528

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100528

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110528

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120528

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130528

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees