JP2011244212A - Bit conversion circuit, transfer unit, communication system, bit conversion method and program - Google Patents
Bit conversion circuit, transfer unit, communication system, bit conversion method and program Download PDFInfo
- Publication number
- JP2011244212A JP2011244212A JP2010114598A JP2010114598A JP2011244212A JP 2011244212 A JP2011244212 A JP 2011244212A JP 2010114598 A JP2010114598 A JP 2010114598A JP 2010114598 A JP2010114598 A JP 2010114598A JP 2011244212 A JP2011244212 A JP 2011244212A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- data
- output data
- conversion
- values
- 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.)
- Pending
Links
Images
Landscapes
- Dc Digital Transmission (AREA)
Abstract
Description
本発明は、高速シリアル転送に用いられるビット変換を行うビット変換回路、転送ユニット、通信システム、ビット変換方法及びプログラムに関する。 The present invention relates to a bit conversion circuit for performing bit conversion used for high-speed serial transfer, a transfer unit, a communication system, a bit conversion method, and a program.
データの送受信を行う通信方式として、複数のデータ信号を同時並行的にそれぞれの通信リンクで送るパラレル通信と、単一の通信リンクで伝送が行われるシリアル通信とがある。
一般的に、コンピュータネットワークの分野では、同期やコストの問題から、シリアル通信が使用される。
As communication methods for transmitting and receiving data, there are parallel communication in which a plurality of data signals are simultaneously transmitted through respective communication links, and serial communication in which transmission is performed through a single communication link.
Generally, in the field of computer networks, serial communication is used due to synchronization and cost problems.
高速にデータの伝送を行うシリアル通信の方式の1つに、8b/10b通信方式がある。
8b/10b通信方式は、8ビットのデータを10ビットのデータに変換して伝送する方式である。
図1は、8b/10b変換テーブルの一部を示す図である。
8b/10b変換では、入力されたデータを上位ビットと下位ビットに分割し、連続する‘0’または‘1’を制限するランレングス制限(RLL:Run Length limited)を考慮して変換を行う。また、8ビットの入力データを10ビットに拡張変換することにより、エラー訂正を図っている。
図1に示すように、バイトデータ‘00’〜‘FF’に対応する8ビットのデータを上位ビット‘HGF’と下位ビット‘EDCBA’に分け、それぞれに1ビット‘i’、‘j’を付加して6ビットの‘abcdei’と4ビットの‘fghj’に変換している。
One of the serial communication methods for transmitting data at high speed is an 8b / 10b communication method.
The 8b / 10b communication method is a method of converting 8-bit data into 10-bit data and transmitting the data.
FIG. 1 is a diagram showing a part of the 8b / 10b conversion table.
In the 8b / 10b conversion, input data is divided into upper bits and lower bits, and conversion is performed in consideration of run length limitation (RLL) that limits consecutive “0” or “1”. Further, error correction is performed by extending and converting 8-bit input data to 10 bits.
As shown in FIG. 1, 8-bit data corresponding to byte data “00” to “FF” is divided into upper bit “HGF” and lower bit “EDCBA”, and 1 bit “i” and “j” are respectively assigned to each bit. In addition, it is converted into 6-bit 'abcdei' and 4-bit 'fghj'.
8b/10b変換によって変換された10ビットのデータは、シンボルと呼ばれ、Dx.yのように表記される。
6ビットデータは32個のビットパターンを有し、4ビットデータは8個のビットパターンを有する。従って、8ビットのデータは、D00.0〜D31.7の256個のシンボルのいずれかで表現される。
The 10-bit data converted by the 8b / 10b conversion is called a symbol, and Dx. It is expressed as y.
6-bit data has 32 bit patterns, and 4-bit data has 8 bit patterns. Therefore, 8-bit data is expressed by any of 256 symbols D00.0 to D31.7.
そして、各シンボルは、‘0’と‘1’とを反転させた+と−の2種類のパターンをそれぞれ有する。この+と−をランニング・ディスパリティ(RD)と呼ぶ。図1において、CurrentRD−の欄がRDの極性が−を示す欄であり、CurrentRD+の欄がRDの極性が+を示す欄である。
RD極性+/−を考慮すると、8ビットの入力データは、8b/10b変換により512通りのシンボルに変換される。これら512個のシンボルは、Dコードと呼ばれる。
512個のDコードは、データを示すシンボルであるが、これとは別に制御信号を示すKコードと呼ばれるシンボルが24個存在する。
従って、8b/10b変換では、合計536通りもの組み合わせが存在する。
Each symbol has two types of patterns of + and − obtained by inverting “0” and “1”. These + and-are called running disparity (RD). In FIG. 1, the CurrentRD− column is a column in which the RD polarity is −, and the CurrentRD + column is a column in which the RD polarity is +.
Considering RD polarity +/−, 8-bit input data is converted into 512 symbols by 8b / 10b conversion. These 512 symbols are called D codes.
The 512 D codes are symbols indicating data, but there are 24 symbols called K codes indicating control signals.
Therefore, there are a total of 536 combinations in the 8b / 10b conversion.
上述したように、8b/10b変換では、合計536通りもの組み合わせが存在する変換テーブルが使用される。従って、この変換テーブルを半導体回路に実装しようとした場合、非常に多くの組み合わせ回路が必要となる。これにより、半導体回路のゲート規模が大きくなるだけでなく、動作速度が制限される。これを改善するためには、パイプライン処理等の回路追加が必要となり、さらにゲート規模が増大してしまう。
なお、以上では8b/10b変換について説明したが、その他のビット変換、例えば8b/14b変換等でもこれらの不利益は同様に発生する。
As described above, in the 8b / 10b conversion, a conversion table having a total of 536 combinations is used. Therefore, when this conversion table is to be mounted on a semiconductor circuit, a large number of combinational circuits are required. This not only increases the gate scale of the semiconductor circuit, but also limits the operation speed. In order to improve this, it is necessary to add a circuit such as pipeline processing, which further increases the gate scale.
Although the 8b / 10b conversion has been described above, these disadvantages occur similarly in other bit conversions such as the 8b / 14b conversion.
本発明は、ビット変換の変換テーブルを小さいゲート規模で実装したビット変換回路を提供することを目的とする。
また、本発明は、このようなビット変換回路を使用した、転送ユニット、通信システムを提供することを目的とする。
また、本発明は、このようなビット変換回路において使用されるビット変換方法及びプログラムを提供することを目的とする。
本願発明は、例えば、8b/10b変換における入力データを出力データに変換する変換テーブルに規則性を見出し、その規則性を活用してゲート数を少なくした回路を構成することを見出した。本発明は、この知見に基づくものである。
An object of the present invention is to provide a bit conversion circuit in which a conversion table for bit conversion is mounted on a small gate scale.
It is another object of the present invention to provide a transfer unit and a communication system using such a bit conversion circuit.
It is another object of the present invention to provide a bit conversion method and program used in such a bit conversion circuit.
The present invention has found that, for example, regularity is found in a conversion table for converting input data into output data in 8b / 10b conversion, and a circuit with a reduced number of gates is formed by utilizing the regularity. The present invention is based on this finding.
本発明のビット変換回路は、mビットの入力データを、ビット変換テーブルを参照して変換してnビットの出力データを生成するビット変換回路であって(m及びnは正の整数、かつ、n>m)、入力データを、データを示すDコードの出力データに変換するとき、前記ビット変換テーブルから、入力データに対する出力データが0値の数と1値の数が異なるシンボルを抽出した第1の変換テーブルと、前記ビット変換テーブルから、出力データが、0値の数と1値の数が等しいシンボルを抽出した第2の変換テーブルと、を参照して前記ビット変換を行う。 The bit conversion circuit of the present invention is a bit conversion circuit that generates m-bit output data by converting m-bit input data with reference to a bit conversion table (m and n are positive integers, and n> m), when the input data is converted into D-code output data indicating the data, the output data corresponding to the input data is extracted from the bit conversion table with a symbol having a different number of 0 values and 1 values. The bit conversion is performed with reference to a conversion table of 1 and a second conversion table in which symbols having the same number of 0 values and 1 value are extracted from the bit conversion table.
本発明の転送ユニットは、mビットの入力データをビット変換してnビットの出力データを生成するビット符号化回路と、nビットの入力データをビット変換して、mビットの出力データを生成する第2のビット復号化回路と、を有する転送ユニットであって(m及びnは正の整数、かつ、n>m)、前記ビット符号化回路は、入力データを、データを示すDコードの出力データに変換するとき、前記ビット変換テーブルから、入力データに対する出力データが0値の数と1値の数が異なるシンボルを抽出した第1の変換テーブルと、前記ビット変換テーブルから、出力データが、0値の数と1値の数が等しいシンボルを抽出した第2の変換テーブルと、を参照して前記ビット変換を行う。 The transfer unit according to the present invention generates a m-bit output data by bit-converting the n-bit input data by bit-converting the m-bit input data to generate n-bit output data. A transfer unit having a second bit decoding circuit (m and n are positive integers and n> m), and the bit encoding circuit outputs an input data as an output of a D code indicating the data When converting to data, the output data from the bit conversion table, the first conversion table in which the output data for the input data is extracted from the bit conversion table, the first conversion table that is different from the number of 0 values and the number of 1 values. The bit conversion is performed with reference to the second conversion table in which symbols having the same number of 0 values and 1 values are extracted.
本発明の通信システムは、mビットの入力データをビット変換してnビットの出力データを生成するビット符号化回路と、nビットの入力データをビット変換して、mビットの出力データを生成する第2のビット復号化回路と、を有する転送ユニットを複数有する通信システムであって(m及びnは正の整数、かつ、n>m)、前記ビット符号化回路は、入力データを、データを示すDコードの出力データに変換するとき、前記ビット変換テーブルから、入力データに対する出力データが0値の数と1値の数が異なるシンボルを抽出した第1の変換テーブルと、前記ビット変換テーブルから、出力データが、0値の数と1値の数が等しいシンボルを抽出した第2の変換テーブルと、を参照して前記ビット変換を行う。 The communication system according to the present invention generates a m-bit output data by bit-converting the n-bit input data by bit-converting the m-bit input data to generate n-bit output data. A communication system having a plurality of transfer units having a second bit decoding circuit (m and n are positive integers and n> m), and the bit encoding circuit receives input data, When converting into output data of the D code shown, from the bit conversion table, a first conversion table in which the output data for the input data is extracted with symbols having different numbers of 0 values and 1 values, and the bit conversion table. The bit conversion is performed with reference to the second conversion table in which the output data extracts symbols having the same number of 0 values and 1 values.
本発明の通信方法は、mビットの入力データをビット変換してnビットの出力データを生成するビット変換回路のビット変換方法であって(m及びnは正の整数、かつ、n>m)、入力データを、データを示すDコードの出力データに変換するとき、前記ビット変換テーブルから、入力データに対する出力データが0値の数と1値の数が異なるシンボルを抽出した第1の変換テーブルと、前記ビット変換テーブルから、出力データが、0値の数と1値の数が等しいシンボルを抽出した第2の変換テーブルと、を参照して前記ビット変換を行う。 The communication method of the present invention is a bit conversion method of a bit conversion circuit that converts n-bit input data to generate n-bit output data (m and n are positive integers and n> m). When the input data is converted into D-code output data indicating the data, a first conversion table in which symbols having different numbers of 0 values and 1 values are extracted from the bit conversion table. The bit conversion is performed with reference to the second conversion table in which the output data is extracted from the bit conversion table by extracting symbols having the same 0-value number and 1-value number.
本発明のプログラムは、mビットの入力データをビット変換してnビットの出力データを生成するビット変換回路を有するコンピュータが実行するプログラムであって(m及びnは正の整数、かつ、n>m)、入力データを、データを示すDコードの出力データに変換するとき、前記ビット変換テーブルから、入力データに対する出力データが0値の数と1値の数が異なるシンボルを抽出した第1の変換テーブルと、前記ビット変換テーブルから、出力データが、0値の数と1値の数が等しいシンボルを抽出した第2の変換テーブルと、を参照して前記ビット変換を行う手順を前記コンピュータに実行させる。 The program of the present invention is a program executed by a computer having a bit conversion circuit that converts n-bit input data to generate n-bit output data (m and n are positive integers, and n> m) First, when the input data is converted into D-code output data indicating the data, a first symbol in which the output data corresponding to the input data has different numbers of 0 values and 1 values is extracted from the bit conversion table. A procedure for performing the bit conversion on the computer with reference to a conversion table and a second conversion table in which the output data is extracted from the bit conversion table by extracting symbols having the same number of 0 values and 1 values. Let it run.
本発明のビット変換方法は、分割回路と、5b/6b変換回路と、3b/4b変換回路と、RD制御回路と、合成回路と、を有する8b/10b変換回路のビット変換方法であって、
前記分割回路が、8ビットの入力データを、5ビットのデータと3ビットのデータとに分割する第1の工程と、
前記第1の工程において分割された5ビットのデータを、前記5b/6b変換回路が、5b/6b変換により6ビットのデータに変換して出力する第2の工程と、
前記第1の工程において分割された3ビットのデータを、前記3b/4b変換回路が、3b/4b変換により4ビットのデータに変換して出力する第3の工程と、
前記RD制御回路が、現在の出力データのRDの極性を基に、次の出力データのランニング・ディスパリティ(RD)の極性を決定する第4の工程と、
前記合成回路が、前記第2の工程においてが変換された6ビットのデータと、前記第3の工程において変換された4ビットのデータと、を合成して10ビットの出力データを生成する第5の工程と、
を有し、
前記第2の工程は、
前記5b/6b変換回路が、入力データに対する出力データが、0値の数と1値の数が異なる出力データであるか、出力データが、0値の数と1値の数が等しい出力データであるか、を判断する第6の工程と、
前記第6の工程において、0値の数と1値の数が異なる出力データであると判断された場合に、前記5b/6b変換回路が、0値の数と1値の数が異なる出力データである場合に対応する第1の変換テーブルを参照して、入力データを基に、いずれか片方のRDの極性の出力データの変換を行う第7の工程と、
前記第7の工程において変換された出力データを基に、インバータにより他方のRDの極性の出力データを生成する第8の工程と、
前記第4の工程において決定された次の出力データの極性に応じて出力する出力データの極性を決定する第9の工程と、
前記第6の工程において、0値の数と1値の数が等しい出力データであると判断された場合に、0値の数と1値の数が等しい出力データである場合に対応する第2の変換テーブルを参照して、出力データの0値の数と1値の数が同じになるように、前記入力データの0値の数と1値の数を基に1ビットの拡張ビットを生成する第10の工程と、
前記第10の工程において生成された前記拡張ビットを、入力データの各値と同値のデータと合成して出力データを生成する第11の工程と、
を有し、
前記第3の工程は、
前記3b/4b変換回路が、入力データに対する出力データが、0値の数と1値の数が異なる出力データであるか、出力データが、0値の数と1値の数が等しい出力データであるか、を判断する第12の工程と、
前記第12の工程において、0値の数と1値の数が異なる出力データであると判断された場合に、前記3b/4b変換回路が、0値の数と1値の数が異なる出力データである場合に対応する第3の変換テーブルを参照して、入力データを基に、いずれか片方のRDの極性の出力データの変換を行う第13の工程と、
前記第12の工程において変換された出力データを基に、インバータにより他方のRDの極性の出力データを生成する第14の工程と、
前記第4の工程において決定された次の出力データの極性に応じて出力する出力データの極性を決定する第15の工程と、
前記第12の工程において、0値の数と1値の数が等しい出力データであると判断された場合に、0値の数と1値の数が等しい出力データである場合に対応する第4の変換テーブルを参照して、出力データの0値の数と1値の数が同じになるように、前記入力データの0値の数と1値の数を基に1ビットの拡張ビットを生成する第16の工程と、
前記第16の工程において生成された前記拡張ビットを、入力データの各値と同値のデータと合成して出力データを生成する第17の工程と、
を有する。
The bit conversion method of the present invention is a bit conversion method of an 8b / 10b conversion circuit having a dividing circuit, a 5b / 6b conversion circuit, a 3b / 4b conversion circuit, an RD control circuit, and a synthesis circuit,
A first step in which the dividing circuit divides 8-bit input data into 5-bit data and 3-bit data;
A second step in which the 5b / 6b conversion circuit converts the 5-bit data divided in the first step into 6-bit data by 5b / 6b conversion and outputs the data;
A third step in which the 3b / 4b conversion circuit converts the 3-bit data divided in the first step into 4-bit data by 3b / 4b conversion and outputs the data;
A fourth step in which the RD control circuit determines the polarity of the running disparity (RD) of the next output data based on the polarity of the RD of the current output data;
The synthesis circuit synthesizes the 6-bit data converted in the second step and the 4-bit data converted in the third step to generate 10-bit output data. And the process of
Have
The second step includes
In the 5b / 6b conversion circuit, the output data corresponding to the input data is output data in which the number of 0 values is different from the number of 1 values, or the output data is output data in which the number of 0 values is equal to the number of 1 values. A sixth step of determining whether there is,
In the sixth step, when it is determined that the number of 0 values is different from the number of 1 values, the 5b / 6b conversion circuit outputs the output data having different numbers of 0 values and 1 values. A seventh step of referring to the first conversion table corresponding to the case where the output data of one of the RDs is converted based on the input data;
An eighth step of generating output data of the polarity of the other RD by the inverter based on the output data converted in the seventh step;
A ninth step of determining the polarity of output data to be output according to the polarity of the next output data determined in the fourth step;
In the sixth step, when it is determined that the number of 0 values is equal to the number of 1 values, the second value corresponds to the case where the number of 0 values is equal to the number of 1 values. Referring to the conversion table, a 1-bit extension bit is generated based on the number of zero values and one value of the input data so that the number of zero values and one value of the output data are the same. A tenth step of:
An eleventh step of generating output data by combining the extension bits generated in the tenth step with data having the same value as each value of input data;
Have
The third step includes
In the 3b / 4b conversion circuit, the output data corresponding to the input data is output data in which the number of 0 values is different from the number of 1 values, or the output data is output data in which the number of 0 values is equal to the number of 1 values. A twelfth step of determining whether there is,
In the twelfth step, when it is determined that the number of zero values is different from the number of one values, the 3b / 4b conversion circuit outputs the output data having different numbers of zero values and one values. A thirteenth step of referring to the third conversion table corresponding to the case where the output data of one of the RDs is converted based on the input data;
A fourteenth step of generating output data having the polarity of the other RD by an inverter based on the output data converted in the twelfth step;
A fifteenth step of determining the polarity of output data to be output according to the polarity of the next output data determined in the fourth step;
In the twelfth step, when it is determined that the number of 0 values is equal to the number of 1 values, the fourth value corresponds to the case where the number of 0 values is equal to the number of 1 values. Referring to the conversion table, a 1-bit extension bit is generated based on the number of zero values and one value of the input data so that the number of zero values and one value of the output data are the same. A sixteenth step of
A seventeenth step of generating output data by combining the extension bits generated in the sixteenth step with data having the same value as each value of input data;
Have
本発明は、ビット変換の変換テーブルを小さいゲート規模で実装することができる。また、本発明は、ビット変換を高速かつ省電力で行うことができる。 The present invention can implement a conversion table for bit conversion with a small gate scale. Further, the present invention can perform bit conversion at high speed and power saving.
以下、本発明の実施形態について説明する。
まず、本発明におけるビット変換の1実施形態である、8b/10b変換について説明する。
Hereinafter, embodiments of the present invention will be described.
First, 8b / 10b conversion, which is one embodiment of bit conversion in the present invention, will be described.
8b/10b変換は、8ビットのデータを10ビットのデータに変換する方式である。
8b/10b変換は、例えばシリアルデータ通信に利用される。
シリアルデータの転送には、データと、そのデータを抽出するタイミングを作るクロックの存在が必要である。
8b/10b方式では、シリアルデータの中にクロックを埋め込むことで、データとクロックの転送を同じ配線で行うことが特徴である。この方式は、エンベデッド・クロック方式と呼ばれる。
The 8b / 10b conversion is a method for converting 8-bit data into 10-bit data.
The 8b / 10b conversion is used for serial data communication, for example.
Transfer of serial data requires the presence of data and a clock that creates the timing for extracting the data.
The 8b / 10b system is characterized in that the clock is embedded in the serial data so that the data and the clock are transferred through the same wiring. This method is called an embedded clock method.
シリアルデータでは、Low(‘0’)やHigh(‘1’)どちらかの状態が長期間に亘って続く可能性や、‘0’と‘1’の状態が不定期に変動する可能性がある。
データを受信する側は、受信したデータのトグルからクロックを再生させるため、‘0’或いは‘1’の状態が長期間に及んだ場合、そこからクロックを取り出す事が出来ない。また、従って8b/10b方式では、どのようなデータであっても6ビット以上同じレベルが連続しないように変換を行うように決められている。
これによって、帯域の約20%をロスしてしまうが、データとクロックとを同じ配線で同時に伝送する事ができるようになる。また、信号のビット変化が多くなり、雑音などに起因する転送エラーの発生を低減できる。
With serial data, either Low (“0”) or High (“1”) may continue for a long period of time, or the states of “0” and “1” may fluctuate irregularly. is there.
Since the data receiving side regenerates the clock from the toggle of the received data, the clock cannot be taken out from the “0” or “1” state when the state is “long”. Therefore, in the 8b / 10b system, conversion is determined so that the same level does not continue for 6 bits or more for any data.
As a result, about 20% of the bandwidth is lost, but the data and the clock can be simultaneously transmitted through the same wiring. In addition, the bit change of the signal increases, and the occurrence of transfer errors due to noise or the like can be reduced.
次に、図1を参照して、8b/10b変換の具体例について説明する。
8ビットのデータ‘HGF EDCBA’について考える。
図1に示すように、8b/10b変換では、下位ビット‘EDCBA’(5ビット)のデータブロックx(10進表記)と上位ビット‘HGF’(3ビット)のデータブロックy(10進表記)に分離する。そして、分離したデータブロックを、Dコードと呼ばれるキャラクタコード(シンボル)に置き換えて考える。Dコードは、Dx.yのように表記する。
‘EDCBA’のブロックには5b/6b変換を行い、‘abcdei’(6ビット)に変換する。
同様に、‘HGF’のブロックには3b/4b変換を行い、‘fghj’(4ビット)に変換する。
そして‘abcdei’と‘fghj’をまとめる事により、10ビットの符号化されたデータを得る。
このビット変換は、例えば図1に例示するようなテーブルにより行われる。
Next, a specific example of 8b / 10b conversion will be described with reference to FIG.
Consider 8-bit data 'HGF EDCBA'.
As shown in FIG. 1, in the 8b / 10b conversion, the data block x (decimal notation) of the lower bit 'EDCBA' (5 bits) and the data block y (decimal notation) of the upper bit 'HGF' (3 bits) To separate. Then, the separated data blocks are considered by replacing them with character codes (symbols) called D codes. The D code is Dx. It is expressed as y.
The “EDCBA” block is converted to “abcdei” (6 bits) by performing 5b / 6b conversion.
Similarly, 3b / 4b conversion is performed on the 'HGF' block to convert it to 'fghj' (4 bits).
Then, “abcdei” and “fghj” are combined to obtain 10-bit encoded data.
This bit conversion is performed, for example, using a table illustrated in FIG.
8b/10b変換により、8ビットの256種類のデータが10ビットの256種類のデータに符号化される。
すなわち、ビット幅が8ビットから10ビットに拡張されるため、データ以外の特殊コードを埋め込むことが可能になる。本実施形態では、このような特殊コードとして、制御信号K(Kコード)を埋め込んでいる。また、ビット幅が8ビットから10ビットに拡張されることにより、エラー訂正が可能となる、という効果もある。
By 8b / 10b conversion, 256 types of 8-bit data are encoded into 256 types of data of 10 bits.
That is, since the bit width is expanded from 8 bits to 10 bits, special codes other than data can be embedded. In this embodiment, a control signal K (K code) is embedded as such a special code. In addition, the bit width is expanded from 8 bits to 10 bits, so that an error correction can be achieved.
ところで、8b/10b変換では、送信中の符号列の‘0’と‘1’の数を揃えてDCバランスをとり、情報の欠落が生じにくくするために、各データブロックが、‘0’と‘1’とを反転させた2種類のパターンを有する。
これらの2種類のパターンを、プラスコード(ポジティブシンボルのコード)とマイナスコード(ネガティブシンボルのコード)と称する。マイナスコードはプラスコードの各ビットをビット反転したコードである。この2種類のパターンを符号+(プラスコード)/−(マイナスコード)で示す。
By the way, in the 8b / 10b conversion, the number of '0's and'1's in the code string being transmitted is aligned to achieve DC balance, and each data block is set to '0' in order to reduce the loss of information. It has two types of patterns that are inverted from '1'.
These two types of patterns are referred to as a plus code (positive symbol code) and a minus code (negative symbol code). The minus code is a code obtained by inverting each bit of the plus code. These two types of patterns are indicated by a sign + (plus code) /-(minus code).
この+/−は、ランニング・ディスパリティ(RD)と呼ばれる。RD+に対し、RD−はビットを反転したものに等しい。そして、データ伝送時には、直前がRD+なら次はRD−を、直前がRD−ならば次はRD+を、というように交互に送信することで、‘0’の数の抑制を行なっている。
ただし、データブロック内で‘0’の数と‘1’の数が同じであれば、原則として反転パターンを持たず、RDの符号(極性)は継続される。
このような仕組みにより、‘0’または‘1’が6個以上連続して伝送されないように定められている。
This +/− is called running disparity (RD). For RD +, RD- is equal to the bit inverted. During data transmission, the number of '0's is suppressed by alternately transmitting RD- if the immediately preceding is RD +, and RD + if the immediately preceding is RD-.
However, if the number of “0” and the number of “1” are the same in the data block, in principle, there is no inversion pattern and the sign (polarity) of RD is continued.
With such a mechanism, it is determined that six or more “0” s or “1” s are not transmitted continuously.
上述したように、RDにより、各シンボルは2つずつの極性(+と−)を有する。
このため、8b/10b変換では、512個のシンボル(Dコード)が用意される。また、制御信号K(Kコード)と呼ばれる制御用のシンボルを、24個用意する。
本願発明では、図1に示す8b/10b変換テーブルの規則性を見出すことにより、より小規模な変換テーブルにより8b/10b変換を行うことを可能としている。
以下、本願発明の実施形態の構成について、詳細に説明する。
As described above, due to RD, each symbol has two polarities (+ and-).
For this reason, 512 symbols (D codes) are prepared in the 8b / 10b conversion. In addition, 24 control symbols called control signals K (K codes) are prepared.
In the present invention, by finding the regularity of the 8b / 10b conversion table shown in FIG. 1, it is possible to perform 8b / 10b conversion with a smaller conversion table.
Hereinafter, the configuration of the embodiment of the present invention will be described in detail.
図2は、本発明の実施形態の8b/10bエンコーダ及び8b/10bデコーダを有するシリアル通信ユニット100を示す図である。
図2に示すように、シリアル通信ユニット100は、送信回路10と、受信回路20と、シリアル伝送路30とを有する。
図2に示すように、8ビットのデータブロック‘HGF EDCBA’が送信回路10に入力され、10ビットのデータブロック‘abcdei fghj’に変換されてシリアル伝送路30を介して受信回路20に伝送される。そして、受信回路20において10ビットのデータブロック‘abcdei fghj’が復号され、8ビットの出力データブロック‘HGF EDCBA’が出力される。
FIG. 2 is a diagram illustrating a
As shown in FIG. 2, the
As shown in FIG. 2, an 8-bit data block 'HGF EDCBA' is input to the
送信回路10は、8b/10bエンコーダ11と、パラレル/シリアル変換器12とを有する。
8ビットの入力データは、8b/10bエンコーダ11によって10ビットのデータに変換され、パラレル/シリアル変換器12によってシリアルデータに変換される。そして変換されたデータはシリアル伝送路30により1ビットずつ逐次的に伝送され、受信回路20に受信される。
受信回路20は、シリアル/パラレル変換器21と10b/8bデコーダ22とを有する。
シリアル伝送路30を介して伝送されたシリアルデータは、シリアル/パラレル変換器21によってパラレルの10ビットのデータに変換される。そして、10ビットのデータは10b/8bデコーダ22により8ビットのデータに変換され、出力データとして出力される。
The
The 8-bit input data is converted into 10-bit data by the 8b /
The receiving
Serial data transmitted through the
図3は、8b/10bエンコーダと10b/8bデコーダを複数使用した、複数の伝送路を有するシリアル通信システム200の一例を示す図である。
図3に示すように、シリアル通信システム200は、送信回路インタフェース101と、受信回路インタフェース201と、シリアル伝送路30−1〜30−n(nは正の整数)を有する。
送信回路インタフェース101は、n個の8b/10bエンコーダ11−1〜11−nとパラレル/シリアル変換器12−1〜12−nとを有する。
受信回路インタフェース201は、n個のシリアル/パラレル変換器21−1〜21−nと、10b/8bデコーダ22−1〜22−nとを有する。
シリアル伝送路30−1〜30−nは、これらの間のデータ伝送を行う。
FIG. 3 is a diagram illustrating an example of a
As illustrated in FIG. 3, the
The
The
The serial transmission lines 30-1 to 30-n perform data transmission between them.
次に、本願発明の実施形態の8b/10bエンコーダの詳細について説明する。
図4は、本願発明の実施形態の8b/10bエンコーダ11のブロック図の一例を示す図である。
8b/10bエンコーダ11が、本発明のビット変換回路に対応している。
図4に示すように、8b/10bエンコーダ11は、分割回路111、5b/6b変換回路112、3b/4b変換回路113、制御信号変換回路114、RD制御回路115、合成回路116、セレクタ・FF(フリップフロップ)117を有する。また、8b/10bエンコーダ11は、データの入力/出力端子として、データ入力端子118、制御信号入力端子119、クロック信号入力端子120、及びデータ出力端子121を有する。
Next, details of the 8b / 10b encoder according to the embodiment of the present invention will be described.
FIG. 4 is a diagram illustrating an example of a block diagram of the 8b /
The 8b /
As shown in FIG. 4, the 8b /
まず、図4に示す8b/10bエンコーダ11における、データの流れについて簡単に説明する。
図4に示すように、分割回路111は、データ入力端子118から入力された8ビットデータ‘HGF EDCBA’を、5ビットの‘EDCBA’と3ビットの‘HGF’に分割する。
そして、5ビットのデータ‘EDCBA’は5b/6b変換回路112に、3ビットのデータ‘HGF’は3b/4b変換回路113に、それぞれ入力される。また、8ビットデータ‘HGF EDCBA’が、制御信号変換回路114に入力される。
First, the data flow in the 8b /
As shown in FIG. 4, the dividing
The 5-bit data “EDCBA” is input to the 5b / 6b conversion circuit 112, and the 3-bit data “HGF” is input to the 3b /
5b/6b変換回路112は、入力された5ビットのデータ‘EDCBA’を、後述する変換テーブルに従って変換し、1ビット加えた6ビットのデータ‘abcdei_d’を生成する。なお、ここで‘_d’はデータを意味する。
そして、現在のデータ‘EDCBA’のRD極性(符号)を示す信号currentRD_5b6bをRD制御回路115に出力する。
The 5b / 6b conversion circuit 112 converts the input 5-bit data “EDCBA” according to a conversion table to be described later, and generates 6-bit data “abcdei_d” by adding 1 bit. Here, '_d' means data.
Then, the signal currentRD_5b6b indicating the RD polarity (sign) of the current data 'EDCBA' is output to the
一方、3b/4b変換回路113は、入力された3ビットのデータ‘HGF’を、後述する変換テーブルに従って変換し、1ビット加えた4ビットのデータ‘fghj_d’を生成する。
そして、現在のデータ‘fghj_d’のRD極性(符号)を示す信号currentRD_3b4bをRD制御回路115に出力する。
On the other hand, the 3b /
Then, a signal currentRD_3b4b indicating the RD polarity (sign) of the current data 'fghj_d' is output to the
そして、合成回路116は、5b/6b変換回路112から出力された6ビットのデータ‘abcdei_d’と3b/4b変換回路113から出力された4ビットのデータ‘fghj_d’とを合成し、10ビットのデータ‘abcdeifghj_d’とする。
The synthesizing
一方、制御信号入力端子119から入力された制御信号Kは、制御信号変換回路114、RD制御回路115、セレクタ・FF116に入力される。
制御信号変換回路114は、入力された8ビットデータ‘HGF EDCBA’と、制御信号Kを基に、後述する変換テーブルに従って変換し、10ビットのデータ‘abcdefifghj_k’を生成する。なお、ここで‘_k’は制御信号Kを意味している。
そして、現在のデータ‘abcdeifghj_k’のRD極性(符号)を示す信号currentRD_kをRD制御回路115に出力する。
On the other hand, the control signal K input from the control
The control
Then, the signal currentRD_k indicating the RD polarity (sign) of the current data “abcdififj_k” is output to the
RD制御回路115には、5b/6b変換回路112からcurrentRD_5b6b、3b/4b変換回路113からcurrentRD_3b4bが、制御信号変換回路114からcurrentRD_kがそれぞれ入力される。次の入力データブロックのRD極性は、現在のRD極性から反転されるように定められている。従って、RD制御回路115は、現在のRD極性を反転した極性を示す信号nextRDを5b/6b変換回路112、3b/4b変換回路113、及び制御信号変換回路114に出力する。
The
セレクタ・FF(フリップフロップ)116は、入力された‘abcdeifghj_d’と、‘abcdeifghj_k’と、を基に10ビットのデータ‘abcdeifghj’を生成してデータ出力端子121から出力する。
また、クロック信号入力端子120から入力されたクロック信号CLKがRD制御回路115及びセレクタ・FF116に入力される。RD制御回路115及びセレクタ・FF116は、クロック信号CLKにより同期をとって動作する。
The selector FF (flip-flop) 116 generates 10-bit data “abcdififj_j” based on the input “abcdififj_d” and “abcdififj_k”, and outputs the generated data from the
The clock signal CLK input from the clock
[5b/6b変換テーブル]
以下では、5b/6b変換回路112において入力された5ビットのデータ‘EDCBA’を変換するための変換テーブルについて説明する。
図5は、本実施形態の5b/6b変換テーブルを示す図である。
図5に示すように、本実施形態の5b/6b変換回路112において使用する5b/6b変換テーブルは、図5(a)に示すパターン1と、図5(b)に示すパターン2の2つのテーブルに分けられる。
この2つのテーブルは、変換後の出力データがRD極性に応じてビット反転の関係になっている場合のテーブルと、変換後の出力データがRD極性によらず入力データと同じ出力データとなっている場合のテーブルである。
上記説明したように、出力データブロック内の‘0’と‘1’の数が異なるときは、RD+に対してRD−なる反転パターンが存在するが、データブロック内の‘0’と‘1’の数が等しいときは、反転パターンが存在しない。
すなわち、換言すれば、図5(a)に示すパターン1のテーブルは、出力データブロック内の‘0’と‘1’の数が異なる場合のテーブルであり、図5(b)に示すパターン2のテーブルは、出力データブロック内の‘0’と‘1’の数が等しい場合のテーブルである。
[5b / 6b conversion table]
Hereinafter, a conversion table for converting the 5-bit data “EDCBA” input in the 5b / 6b conversion circuit 112 will be described.
FIG. 5 is a diagram showing a 5b / 6b conversion table of the present embodiment.
As shown in FIG. 5, the 5b / 6b conversion table used in the 5b / 6b conversion circuit 112 of the present embodiment has two patterns,
These two tables are a table in the case where the output data after conversion has a bit inversion relationship according to the RD polarity, and the output data after conversion becomes the same output data as the input data regardless of the RD polarity. It is a table when there is.
As described above, when the numbers of “0” and “1” in the output data block are different, there is an inversion pattern of RD− with respect to RD +, but “0” and “1” in the data block exist. When the numbers are equal, there is no inversion pattern.
In other words, the
以下、図5に示す5b/6b変換テーブルを使用して5b/6b変換回路112が変換処理を行う際の具体例について説明する。
上述したように、5b/6b変換回路112には、入力された5ビットのデータブロック‘EDCBA’と、次に出力データのRD極性を示す信号であるnextRDとを基に、変換処理を行う。
Hereinafter, a specific example when the 5b / 6b conversion circuit 112 performs the conversion process using the 5b / 6b conversion table shown in FIG. 5 will be described.
As described above, the 5b / 6b conversion circuit 112 performs conversion processing based on the input 5-bit data block 'EDCBA' and nextRD, which is a signal indicating the RD polarity of the output data.
まず、5b/6b変換回路112は、図5に示す5b/6b変換テーブルを参照して、入力された5ビットのデータブロック‘EDCBA’が、パターン1のテーブルに該当するか、パターン2のテーブルに該当するかを判断する。
First, the 5b / 6b conversion circuit 112 refers to the 5b / 6b conversion table shown in FIG. 5 to determine whether the input 5-bit data block 'EDCBA' corresponds to the
図5(a)に示すパターン1のテーブルに該当すると判断した場合は、5b/6b変換回路112は、どちらかの極性の変換のみを行い、もう片方の極性はインバータにより求める。
そして、上述したRD制御回路115から入力されたnextRDが示す次の出力データのRD極性に応じた極性のデータを出力データとして出力する。
When it is determined that the table corresponds to the
Then, data having a polarity corresponding to the RD polarity of the next output data indicated by nextRD input from the
一方、パターン2のテーブルでは、図5(b)を参照すれば分かるように、入力データブロック‘EDCBA’と出力データブロックのうち5桁目までの‘edcba’は、例外を除いて同じ出力である。
例えば、D03.xでは、入力データブロック‘EDCBA’=‘00011’、出力データブロック‘abcdei’=‘110001’である。すなわち、‘E’=‘e’=0、‘D’=‘d’=0、‘C’=‘c’=0、‘B’=‘b’=1、‘A’=‘a’=1となっている。図5(b)に示すパターン2のテーブルでは、例外であるD07.xを除いて、入力データと出力データの関係は全てこのようになっている。
On the other hand, in the
For example, D03. In x, the input data block 'EDCBA' = '00011' and the output data block 'abcdei' = '110001'. That is, 'E' = 'e' = 0, 'D' = 'd' = 0, 'C' = 'c' = 0, 'B' = 'b' = 1, 'A' = 'a' = It is 1. In the table of
従って、図5(b)に示すパターン2のテーブルに該当すると判断した場合は、5b/6b変換回路112は、出力データブロック‘abcdei’の拡張ビットである‘i’を除いて、各値を入力データブロック‘EDCBA’と同じ値とする。
パターン2のテーブルでは、出力データブロック内の‘0’と‘1’の数が同じでなければならないことを利用して、拡張ビット‘i’を算出する。
例えば、図5(b)に示すD03.xでは、入力データブロック内の‘0’の数=出力データブロック内の‘0’の数=3個であり、入力データブロック内の‘1’の数=出力データブロック内の‘1’の数=2個である。従って、拡張ビットの値は‘1’である必要がある。
このようにして、変換後の出力データがRD極性によらず入力データと同じ出力データとなっている場合の変換を行う。
ただし、例外であるD07.xだけは別途、図5(b)に示す変換テーブルを参照して変換する。
ここで、例外であるD07.xは、出力データの‘0’と‘1’の数が同じであるにもかかわらず、+と−の極性を有するシンボルである。従って、例外であるD07.xを変換するときは、5b/6b変換回路112は、RD制御回路から通知された次の出力データのRD極性を基に出力する極性を決定する。
Therefore, if it is determined that the table corresponds to the
In the
For example, D03. In x, the number of “0” in the input data block = the number of “0” in the output data block = 3, and the number of “1” in the input data block = “1” in the output data block. Number = 2. Therefore, the value of the extension bit needs to be “1”.
In this way, conversion is performed when the converted output data is the same output data as the input data regardless of the RD polarity.
However, there is an exception D07. Only x is converted by referring to the conversion table shown in FIG.
Here, D07. x is a symbol having + and-polarities even though the number of output data '0' and '1' is the same. Therefore, an exception is D07. When converting x, the 5b / 6b conversion circuit 112 determines the polarity to be output based on the RD polarity of the next output data notified from the RD control circuit.
このように、5b/6b変換回路112は、変換後の出力データがRD極性に応じてビット反転の関係になっている場合と、変換後の出力データがRD極性によらず同じ出力データとなっている場合とで異なる2つのテーブルを参照する。
変換後の出力データがRD極性に応じてビット反転の関係になっている場合は、テーブルを参照していずれかの極性の出力データを生成した後、インバータにより別の極性の出力データを生成する。
そして、変換後の出力データがRD極性によらず同じ出力データとなっている場合は、入力データの各値と同じ値を変換後の出力データの各値に与えた後、‘0’と‘1’の値の数が同じであることを利用して、拡張ビットの値を算出する。
すなわち、5b/6b変換回路112が参照する5b/6b変換テーブルは、本願発明者が、例えば図1に示す8b/10b変換テーブルの規則性を見出したことにより、その規則性を用いた小規模なテーブルとなっている。
As described above, the 5b / 6b conversion circuit 112 has the same output data regardless of the RD polarity when the converted output data has a bit inversion relationship according to the RD polarity. Refer to two different tables.
If the converted output data has a bit inversion relationship according to the RD polarity, the output data of one polarity is generated by referring to the table, and then the output data of another polarity is generated by the inverter .
If the converted output data is the same output data regardless of the RD polarity, the same value as each value of the input data is given to each value of the converted output data, and then “0” and “ Using the fact that the number of 1 'values is the same, the value of the extension bit is calculated.
That is, the 5b / 6b conversion table referred to by the 5b / 6b conversion circuit 112 is a small scale that uses the regularity of the 8b / 10b conversion table shown in FIG. It has become a table.
[3b/4b変換テーブル]
次に、3b/4b変換回路113において入力された3ビットのデータ‘HGF’を変換するための変換テーブルについて説明する。
図6は、本実施形態の3b/4b変換テーブルを示す図である。
図6に示すように、本実施形態の3b/4b変換回路113において使用する3b/4b変換テーブルは、図6(a)に示すパターン1と、図6(b)に示すパターン2の2つのテーブルに分けられる。
この2つのテーブルは、図5で説明した5b/6b変換テーブルと同様に、変換後の出力データがRD極性に応じてビット反転の関係になっている場合と、変換後の出力データがRD極性によらず入力データと同じ出力データとなっている場合のテーブルである。
[3b / 4b conversion table]
Next, a conversion table for converting the 3-bit data “HGF” input in the 3b /
FIG. 6 is a diagram showing a 3b / 4b conversion table of the present embodiment.
As shown in FIG. 6, the 3b / 4b conversion table used in the 3b /
These two tables are similar to the 5b / 6b conversion table described in FIG. 5 when the converted output data has a bit inversion relationship according to the RD polarity and the converted output data has the RD polarity. This is a table when the output data is the same as the input data regardless of the input data.
以下、図6に示す3b/4b変換テーブルを使用して3b/4b変換回路113が変換処理を行う際の具体例について説明する。
上述したように、3b/4b変換回路113には、入力された3ビットのデータブロック‘HGF’と、次に出力データのRD極性を示す信号であるnextRDとを基に、変換処理を行う。
Hereinafter, a specific example when the 3b /
As described above, the 3b /
まず、3b/4b変換回路113は、図6に示す3b/4b変換テーブルを参照して、入力された3ビットのデータブロック‘HGF’が、パターン1のテーブルに該当するか、パターン2のテーブルに該当するかを判断する。
First, the 3b /
図6(a)に示すパターン1のテーブルに該当すると判断した場合は、3b/4b変換回路113は、どちらかの極性の変換のみを行い、もう片方の極性はインバータにより求める。
そして、上述したRD制御回路115から入力されたnextRDが示す次の出力データのRD極性に応じた極性のデータを出力データとして出力する。
When it is determined that the table corresponds to the
Then, data having a polarity corresponding to the RD polarity of the next output data indicated by nextRD input from the
一方、パターン2のテーブルでは、図6(b)を参照すれば分かるように、入力データブロック‘HGF’と出力データブロックのうち3桁目までの‘hgf’は、例外を除いて同じ出力である。
例えば、Dx.1では、入力データブロック‘HGF’=‘001’、出力データブロック‘fghj’=‘1001’である。すなわち、‘H’=‘h’=0、‘G’=‘g’=0、‘F’=‘f’=1となっている。図6(b)に示すパターン2のテーブルでは、例外であるDx.3を除いて、入力データと出力データの関係は全てこのようになっている。
On the other hand, in the
For example, Dx. 1, the input data block 'HGF' = '001' and the output data block 'fghj' = '1001'. That is, 'H' = 'h' = 0, 'G' = 'g' = 0, and 'F' = 'f' = 1. In the
従って、図6(b)に示すパターン2のテーブルに該当すると判断した場合は、3b/4b変換回路113は、出力データブロック‘fghj’の拡張ビットである‘j’を除いて、各値を入力データブロック‘HGF’と同じ値とする。
パターン2のテーブルでは、出力データブロック内の‘0’と‘1’の数が同じでなければならないことを利用して、拡張ビット‘j’を算出する。
例えば、図6(b)に示すDx.1では、入力データブロック内の‘0’の数=出力データブロック内の‘0’の数=2個であり、入力データブロック内の‘1’の数=出力データブロック内の‘1’の数=1個である。従って、拡張ビットの値は‘1’である必要がある。
このようにして、変換後の出力データがRD極性によらず入力データと同じ出力データとなっている場合の変換を行う。
ただし、例外であるDx.3だけは別途テーブルを参照して変換する。
ここで、例外であるDx.3は、出力データの‘0’と‘1’の数が同じであるにもかかわらず、+と−の極性を有するシンボルである。従って、例外であるD.3を変換するときは、3b/4b変換回路113は、RD制御回路から通知された次の出力データのRD極性を基に出力する極性を決定する。
Therefore, when it is determined that the table corresponds to the
In the
For example, Dx. 1, the number of “0” in the input data block = the number of “0” in the output data block = 2, and the number of “1” in the input data block = “1” in the output data block. Number = 1. Therefore, the value of the extension bit needs to be “1”.
In this way, conversion is performed when the converted output data is the same output data as the input data regardless of the RD polarity.
However, an exception is Dx. Only 3 is converted by referring to a separate table.
Here, Dx. 3 is a symbol having + and-polarities even though the number of output data '0' and '1' is the same. Therefore, an exception is D.I. When converting 3, the 3b /
このように、3b/4b変換回路113は、入力データに応じて、変換後の出力データがRD極性に応じてビット反転の関係になっている場合と、変換後の出力データがRD極性によらず同じ出力データとなっている場合とで異なる2つのテーブルを参照する。
変換後の出力データがRD極性に応じてビット反転の関係になっている場合は、テーブルを参照していずれかの極性の出力データを生成した後、インバータにより別の極性の出力データを生成する。
そして、変換後の出力データがRD極性によらず同じ出力データとなっている場合は、入力データの各値と同じ値を変換後の出力データの各値に与えた後、‘0’と‘1’の値の数が同じであることを利用して、拡張ビットの値を算出する。
すなわち、3b/4b変換回路113が参照する3b/4b変換テーブルは、本願発明者が、例えば図1に示す8b/10b変換テーブルの規則性を見出したことにより、その規則性を用いた小規模なテーブルとなっている。
As described above, the 3b /
If the converted output data has a bit inversion relationship according to the RD polarity, the output data of one polarity is generated by referring to the table, and then the output data of another polarity is generated by the inverter .
If the converted output data is the same output data regardless of the RD polarity, the same value as each value of the input data is given to each value of the converted output data, and then “0” and “ Using the fact that the number of 1 'values is the same, the value of the extension bit is calculated.
That is, the 3b / 4b conversion table referred to by the 3b /
[制御信号変換テーブル]
次に、制御信号変換回路114において入力された8ビットの制御信号K(Kコード)‘HGF EDCBA’を変換するための変換テーブルについて説明する。
図7は、本実施形態の制御信号変換テーブルを示す図である。
制御信号Kとして、上述したように24個のシンボルが存在する。図7に示すように、制御信号Kを、Kx.yと記載する。制御信号Kとして、K28.0〜K28.7、K23.7、K27.7,K29.7、K30.7の+/−の24個が存在する。
[Control signal conversion table]
Next, a conversion table for converting the 8-bit control signal K (K code) 'HGF EDCBA' input in the control
FIG. 7 is a diagram showing a control signal conversion table of the present embodiment.
As the control signal K, there are 24 symbols as described above. As shown in FIG. Indicated as y. There are 24 control signals K, +/- K28.0 to K28.7, K23.7, K27.7, K29.7, and K30.7.
図7に示すように、制御信号Kの場合は、全て変換後の出力データがRD極性に応じてビット反転の関係になっている。従って、5b/6b変換回路112のパターン1の場合のアルゴリズムと同様のアルゴリズムを使用することができる。
このため、制御信号変換回路114は、入力データに応じて、どちらかの極性の変換のみを行い、もう片方の極性はインバータにより求める。
そして、上述したRD制御回路115から入力されたnextRDが示す次の出力データのRD極性に応じた極性のデータを出力データとして出力する。
As shown in FIG. 7, in the case of the control signal K, all converted output data has a bit inversion relationship according to the RD polarity. Therefore, an algorithm similar to the algorithm in the case of
For this reason, the control
Then, data having a polarity corresponding to the RD polarity of the next output data indicated by nextRD input from the
[8b/10bエンコーダ11のエンコードアルゴリズム]
以下、8b/10bエンコーダ11のエンコードアルゴリズムの具体的なプロセスの一例について説明する。
図8は、8b/10bエンコーダ11のエンコードアルゴリズムのフローチャートである。
[Encoding algorithm of 8b / 10b encoder 11]
Hereinafter, an example of a specific process of the encoding algorithm of the 8b /
FIG. 8 is a flowchart of the encoding algorithm of the 8b /
ステップST1:
入力データが、Dコードであるか、それともKコード(制御信号K)であるかの判別を行う。
入力データがDコードである場合は、ステップST2に進み、入力データがKコードである場合は、ステップST5に進む。
ステップST2:
分割回路111は、入力されたDコードの8ビットデータを、5ビットのデータブロックと3ビットのデータブロックに分割する。
そして、5ビットデータブロックの場合はステップST3の処理に進み、3ビットデータブロックの場合はステップST4の処理に進む。
Step ST1:
It is determined whether the input data is a D code or a K code (control signal K).
If the input data is a D code, the process proceeds to step ST2, and if the input data is a K code, the process proceeds to step ST5.
Step ST2:
The dividing
If the block is a 5-bit data block, the process proceeds to step ST3. If the block is a 3-bit data block, the process proceeds to step ST4.
ステップST3:
分割された5ビットデータブロックは、後述する図9に示す5ビットデータ変換処理に進む。
ステップST4:
分割された3ビットデータブロックは、後述する図10に示す3ビットデータ変換処理に進む。
ステップST5:
Kコード(制御信号K)のデータブロックは、後述する図11に示すKコード変換処理に進む。
Step ST3:
The divided 5-bit data block proceeds to a 5-bit data conversion process shown in FIG.
Step ST4:
The divided 3-bit data block proceeds to a 3-bit data conversion process shown in FIG.
Step ST5:
The data block of the K code (control signal K) proceeds to a K code conversion process shown in FIG.
[5ビットデータ変換処理のフローチャート]
図9は、5b/6b変換回路112による5ビットデータ変換処理の一例を示すフローチャートである。
ステップST11:
5b/6b変換回路112は、上記説明した5b/6b変換テーブルを参照して、入力された5ビットデータが、パターン1に該当するか、パターン2に該当するかのいずれであるかを判断する。
上記説明したように、パターン1は、変換後の出力データがRD極性に応じてビット反転の関係になっている場合のテーブルであり、パターン2は、変換後の出力データがRD極性によらず同じ出力データとなっている場合のテーブルである。
5b/6b変換回路112がパターン1であると判断した場合は、ステップST12に進み、パターン2であると判断した場合は、ステップST13に進む。
[Flowchart of 5-bit data conversion processing]
FIG. 9 is a flowchart illustrating an example of a 5-bit data conversion process by the 5b / 6b conversion circuit 112.
Step ST11:
The 5b / 6b conversion circuit 112 refers to the above-described 5b / 6b conversion table and determines whether the input 5-bit data corresponds to the
As described above,
If it is determined that the 5b / 6b conversion circuit 112 is the
ステップST12:
5b/6b変換回路112は、入力された5ビットデータブロックを基に、パターン1の5b/6b変換テーブルを参照して、いずれかの極性(+か−か)の変換を行う。
ステップST13:
5b/6b変換回路112は、ステップST12において生成したいずれかの極性の変換後の6ビットのデータブロックを基に、インバータにより他方の極性の6ビットのデータブロックを生成する。
ステップST14:
5b/6b変換回路112は、RD制御回路115から入力されたnextRDが示す次の出力データのRD極性に応じた極性のデータを出力データとして決定する。
Step ST12:
The 5b / 6b conversion circuit 112 refers to the 5b / 6b conversion table of
Step ST13:
The 5b / 6b conversion circuit 112 generates a 6-bit data block of the other polarity by an inverter based on the converted 6-bit data block of any polarity generated in step ST12.
Step ST14:
The 5b / 6b conversion circuit 112 determines data having polarity according to the RD polarity of the next output data indicated by nextRD input from the
ステップST15:
5b/6b変換回路112は、パターン2の5b/6b変換テーブルを参照して、入力された5ビットデータブロックが例外処理に該当するデータであるか否かを判断する。
例外処理に該当しない場合はステップST16に進み、例外処理に該当する(図5(b)に示した例ではD07.x)場合はステップST19に進む。
ステップST16:
5b/6b変換回路112は、各値を入力データブロック‘EDCBA’と同じ値としたデータブロック‘abcde’を生成する。
Step ST15:
The 5b / 6b conversion circuit 112 refers to the 5b / 6b conversion table of
If it does not correspond to the exception process, the process proceeds to step ST16, and if it corresponds to the exception process (D07.x in the example shown in FIG. 5B), the process proceeds to step ST19.
Step ST16:
The 5b / 6b conversion circuit 112 generates a data block 'abcde' in which each value is the same value as the input data block 'EDCBA'.
ステップST17:
5b/6b変換回路112は、パターン2のテーブルでは、出力データブロック内の‘0’と‘1’の数が同じでなければならないことを利用して、拡張ビット‘i’を算出する。
ステップST18:
5b/6b変換回路112は、ステップST16において生成したデータブロック‘abcde’と、ステップST17において生成したデータブロック‘i’とを基に、出力データブロック‘abcdei’を生成する。
Step ST17:
The 5b / 6b conversion circuit 112 calculates the extension bit “i” using the fact that the number of “0” and “1” in the output data block must be the same in the
Step ST18:
The 5b / 6b conversion circuit 112 generates an output data block 'abcdei' based on the data block 'abcde' generated in step ST16 and the data block 'i' generated in step ST17.
ステップST19:
5b/6b変換回路112は、パターン2の5b/6b変換テーブルを参照して、例外処理を行う。
ステップST20:
5b/6b変換回路112は、生成した出力データブロックを出力する。
Step ST19:
The 5b / 6b conversion circuit 112 refers to the 5b / 6b conversion table of
Step ST20:
The 5b / 6b conversion circuit 112 outputs the generated output data block.
[3ビットデータ変換処理のフローチャート]
図10は、3b/4b変換回路113による3ビットデータ変換処理の一例を示すフローチャートである。
ステップST21:
3b/4b変換回路113は、上記説明した3b/4b変換テーブルを参照して、入力された3ビットデータが、パターン1に該当するか、パターン2に該当するかのいずれであるかを判断する。
上記説明したように、パターン1は、変換後の出力データがRD極性に応じてビット反転の関係になっている場合のテーブルであり、パターン2は、変換後の出力データがRD極性によらず同じ出力データとなっている場合のテーブルである。
3b/4b変換回路113がパターン1であると判断した場合は、ステップST22に進み、パターン2であると判断した場合は、ステップST25に進む。
[Flowchart of 3-bit data conversion processing]
FIG. 10 is a flowchart illustrating an example of 3-bit data conversion processing by the 3b /
Step ST21:
The 3b /
As described above,
If the 3b /
ステップST22:
3b/4b変換回路113は、入力された3ビットデータブロックを基に、パターン1の3b/4b変換テーブルを参照して、いずれかの極性(+か−か)の変換を行う。
ステップST23:
3b/4b変換回路113は、ステップST22において生成したいずれかの極性の変換後の4ビットのデータブロックを基に、インバータにより他方の極性の4ビットのデータブロックを生成する。
ステップST24:
3b/4b変換回路113は、RD制御回路115から入力されたnextRDが示す次の出力データのRD極性に応じた極性のデータを出力データとして決定する。
Step ST22:
The 3b /
Step ST23:
The 3b /
Step ST24:
The 3b /
ステップST25:
3b/4b変換回路113は、パターン2の3b/4b変換テーブルを参照して、入力された3ビットデータブロックが例外処理に該当するデータであるか否かを判断する。
例外処理に該当しない場合はステップST26に進み、例外処理に該当する(図6(b)に示した例ではDx.P7、Dx.A7)場合はステップST29に進む。
ステップST26:
3b/4b変換回路113は、各値を入力データブロック‘HGF’と同じ値としたデータブロック‘fgh’を生成する。
Step ST25:
The 3b /
If it does not correspond to the exception process, the process proceeds to step ST26, and if it corresponds to the exception process (Dx.P7, Dx.A7 in the example shown in FIG. 6B), the process proceeds to step ST29.
Step ST26:
The 3b /
ステップST27:
3b/4b変換回路113は、パターン2のテーブルでは、出力データブロック内の‘0’と‘1’の数が同じでなければならないことを利用して、拡張ビット‘j’を算出する。
ステップST28:
3b/4b変換回路113は、ステップST26において生成したデータブロック‘fgh’と、ステップST27において生成したデータブロック‘j’とを基に、出力データブロック‘fghj’を生成する。
Step ST27:
The 3b /
Step ST28:
The 3b /
ステップST29:
3b/4b変換回路113は、パターン2の3b/4b変換テーブルを参照して、例外処理を行う。
ステップST30:
3b/4b変換回路113は、生成した出力データブロックを出力する。
Step ST29:
The 3b /
Step ST30:
The 3b /
[Kコード変換処理のフローチャート]
図11は、制御信号変換回路114によるKコード変換処理の一例を示すフローチャートである。
ステップST51:
制御信号変換回路114は、入力されたデータブロックを基に、上述したKコード変換テーブルを参照して、いずれかの極性(+か−か)の変換を行う。
ステップST52:
制御信号変換回路114は、ステップST51において生成したいずれかの極性の変換後のデータブロックを基に、インバータにより他方の極性のデータブロックを生成する。
ステップST53:
制御信号変換回路114は、RD制御回路115から入力されたnextRDが示す次の出力データのRD極性に応じた極性のデータを出力データとして決定する。
ステップST54:
制御信号変換回路114は、生成した出力データを出力する。
[Flowchart of K code conversion process]
FIG. 11 is a flowchart showing an example of the K code conversion process by the control
Step ST51:
The control
Step ST52:
The control
Step ST53:
The control
Step ST54:
The control
以上説明したように、本実施形態の8b/10bエンコーダ11によれば、8ビットの入力データがDコードである場合には、5ビットデータと3ビットデータとに分割し、テーブルを参照して以降の処理を行う。
すなわち、5ビットデータの場合と3ビットデータの場合でそれぞれ、入力データに対する変換後の出力データの‘0’の値と‘1’の値の数が異なるか、出力データの‘0’の値と‘1’の値の数が同じであるか、を判断する。
As described above, according to the 8b /
That is, in the case of 5-bit data and 3-bit data, the number of “0” values and “1” values in the output data after conversion with respect to the input data are different, or the value of “0” in the output data. And whether the number of values of “1” is the same.
入力データに対する変換後の出力データの‘0’の値と‘1’の値の数が異なる場合には、5b/6b変換回路112により、5b/6b変換回路112は、どちらかの極性の変換のみを行い、もう片方の極性はインバータにより求める。
そして、5b/6b変換回路112は、上述したRD制御回路115から入力されたnextRDが示す次の出力データのRD極性に応じた極性のデータを出力データとして出力する。
出力データの‘0’の値と‘1’の値の数が同じである場合は、5b/6b変換回路112は、入力データの各値と同じ値を変換後の出力データの各値に与えた後、‘0’と‘1’の数が同じであることを利用して、拡張ビットの値を算出する。
3ビットデータの場合も、3b/4b変換回路113により、同様の処理が行われる。
When the number of “0” values and “1” values in the output data after conversion with respect to the input data are different, the 5b / 6b conversion circuit 112 causes the 5b / 6b conversion circuit 112 to convert either polarity. The other polarity is obtained by an inverter.
Then, the 5b / 6b conversion circuit 112 outputs, as output data, data having a polarity corresponding to the RD polarity of the next output data indicated by nextRD input from the
When the number of values of “0” and “1” in the output data is the same, the 5b / 6b conversion circuit 112 gives the same value as each value of the input data to each value of the output data after conversion. Then, using the fact that the numbers of “0” and “1” are the same, the value of the extension bit is calculated.
In the case of 3-bit data, the 3b /
また、Kコード(制御信号K)の場合は、制御信号変換回路114は、入力されたデータブロックを基に、Kコード変換テーブルを参照して、いずれかの極性(+か−か)の変換を行う。そして、制御信号変換回路114は、生成したいずれかの極性の変換後のデータブロックを基に、インバータにより他方の極性のデータブロックを生成する。制御信号変換回路114は、RD制御回路115から入力されたnextRDが示す次の出力データのRD極性に応じた極性のデータを出力データとして決定する。
In the case of the K code (control signal K), the control
本実施形態の8b/10bエンコーダ11によれば、上記説明したように、変換後のデータが有する‘0’と‘1’の数が一致するか否かに応じて、8b/10b変換の際に利用するエンコードテーブルのパターン分けを行っている。そして、入力データがデータを示すDコードであるとき、‘0’と‘1’の数が同じである場合には、入力データの数が同じであることを利用して算出し、そうでない場合には、エンコードテーブルに従って片方の極性の変換を行った後、インバータにより他方の極性の変換を行うことにより、変換工程の圧縮を行っている。
このように、本発明において参照される変換テーブルは、8b/10b変換テーブルの規則性を見出すことにより、その規則性を利用して、より小さい規模の変換テーブルで同様の変換を行うことができるように構成されている。
従って、本発明では、圧縮したエンコードテーブルをハードウェア上で実装する際に、テーブルが圧縮され、組み合わせパターンや演算回数が縮小されているため、ゲート規模を小さくすることができる。
また、組み合わせパターンが少なくなっていることにより、動作速度が早くなり、タイミング制御も容易となる。このため、タイミング調整用のフリップフロップ回路の数を削減することができるので、回路全体の消費電力を少なくすることができる。
さらに、8b/10bエンコーダ11において使用される変換テーブルでは、重複する論理回路を削減することができるので、エンコーダ全体の論理段数、ディレイを少なくすることができる。
さらに、8b/10bエンコーダ11のソフトウェア実装上、コード量を大幅に削減することができる。
According to the 8b /
As described above, the conversion table referred to in the present invention finds the regularity of the 8b / 10b conversion table, and can use the regularity to perform the same conversion with a smaller conversion table. It is configured as follows.
Therefore, in the present invention, when the compressed encoding table is mounted on the hardware, the table is compressed and the combination pattern and the number of operations are reduced, so that the gate scale can be reduced.
Further, since the combination pattern is reduced, the operation speed is increased and the timing control is facilitated. For this reason, the number of flip-flop circuits for timing adjustment can be reduced, so that the power consumption of the entire circuit can be reduced.
Furthermore, in the conversion table used in the 8b /
Furthermore, the amount of code can be significantly reduced due to software implementation of the 8b /
なお、本発明は上述した実施形態には限定されない。
すなわち、本発明の実施に際しては、本発明の技術的範囲またはその均等の範囲内において、上述した実施形態の構成要素に関し様々な変更、コンビネーション、サブコンビネーション、並びに代替を行ってもよい。
上述した実施形態では、8b/10b変換を行う8b/10bエンコーダ、及び8b/10bエンコーダにおいて使用される5b/6b変換テーブル、3b/4b変換テーブルについて説明したが、本発明はこれには限定されない。
すなわち、例えばmビットの入力データをnビットの出力データに変換する変換回路(m、nは正の整数、n>m)においても、入力データを上位ビットと下位ビットに分割し、それぞれを出力データの‘0’の値と‘1’の値の数で場合分けする。このようにすることで、mビットの入力データをnビットの出力データに変換する場合でも、上記説明した本願発明と同様の効果を得ることができる。
In addition, this invention is not limited to embodiment mentioned above.
That is, when implementing the present invention, various modifications, combinations, sub-combinations, and alternatives may be made to the components of the above-described embodiments within the technical scope of the present invention or an equivalent scope thereof.
In the above-described embodiment, the 8b / 10b encoder that performs the 8b / 10b conversion and the 5b / 6b conversion table and the 3b / 4b conversion table used in the 8b / 10b encoder have been described. However, the present invention is not limited to this. .
That is, for example, even in a conversion circuit that converts m-bit input data to n-bit output data (m, n is a positive integer, n> m), the input data is divided into upper bits and lower bits, and each is output. Cases are divided according to the number of data “0” and “1” values. In this way, even when m-bit input data is converted to n-bit output data, the same effects as those of the present invention described above can be obtained.
10…送信回路、100…シリアル通信ユニット、101…送信回路インタフェース、11…8b/10bエンコーダ、111…分割回路、112…5b/6b変換回路、113…3b/4b変換回路、114…制御信号変換回路、115…RD制御回路、116…合成回路、117…セレクタ・FF、118…データ入力端子、119…制御信号入力端子、120…クロック信号入力端子、121…データ出力端子、12…パラレル/シリアル変換器、20…受信回路、201…受信回路インタフェース、21…シリアル/パラレル変換器、22…10b/8bデコーダ、30…シリアル伝送路、200…シリアル通信システム
DESCRIPTION OF
Claims (17)
入力データを、データを示すDコードの出力データに変換するとき、前記ビット変換テーブルから、入力データに対する出力データが0値の数と1値の数が異なるシンボルを抽出した第1の変換テーブルと、前記ビット変換テーブルから、出力データが、0値の数と1値の数が等しいシンボルを抽出した第2の変換テーブルと、を参照して前記ビット変換を行う
ビット変換回路。 A bit conversion circuit that converts m-bit input data with reference to a bit conversion table to generate n-bit output data (m and n are positive integers and n> m),
A first conversion table obtained by extracting, from the bit conversion table, symbols whose output data is different from the number of 0 values and the number of 1 values when converting input data into D code output data indicating data; A bit conversion circuit that performs the bit conversion with reference to a second conversion table in which symbols having the same number of 0 values and 1 values are extracted from the bit conversion table.
請求項1に記載のビット変換回路。 The bit conversion circuit according to claim 1, wherein m = 8 and n = 10.
前記分割回路が分割した5ビットのデータを、5b/6b変換により6ビットのデータに変換して出力する5b/6b変換回路と、
前記分割回路が分割した3ビットのデータを、3b/4b変換により4ビットのデータに変換して出力する3b/4b変換回路と、
現在の出力データのランニング・ディスパリティ(RD)の極性を基に、次の出力データのRDの極性を決定するRD制御回路と、
前記5b/6b変換回路が変換した6ビットのデータと、前記3b/4b変換回路が変換した4ビットのデータと、を合成して10ビットの出力データを生成する合成回路と、
を有する請求項2に記載のビット変換回路。 A dividing circuit for dividing 8-bit input data into 5-bit data and 3-bit data;
A 5b / 6b conversion circuit that converts the 5-bit data divided by the dividing circuit into 6-bit data by 5b / 6b conversion and outputs the data;
A 3b / 4b conversion circuit that converts the 3-bit data divided by the division circuit into 4-bit data by 3b / 4b conversion and outputs the data;
An RD control circuit that determines the RD polarity of the next output data based on the running disparity (RD) polarity of the current output data;
A synthesis circuit that synthesizes 6-bit data converted by the 5b / 6b conversion circuit and 4-bit data converted by the 3b / 4b conversion circuit to generate 10-bit output data;
The bit conversion circuit according to claim 2, comprising:
を有する請求項3に記載のビット変換回路。 The bit conversion circuit according to claim 3, further comprising: a control signal conversion circuit that converts an input K code control signal into 10-bit data by 8b / 10b conversion and outputs the data.
前記第3の変換テーブルを参照して変換を行う場合には、入力データを基に、いずれか片方のRDの極性の出力データの変換を行った後、変換した出力データを基に、インバータにより他方のRDの極性の出力データを生成し、前記RD制御回路により通知された次の出力データの極性に応じて出力する出力データの極性を決定し、
前記第4の変換テーブルを参照して変換を行う場合には、出力データの0値の数と1値の数が同じになるように、前記入力データの0値の数と1値の数を基に1ビットの拡張ビットを生成し、入力データの各値と同値のデータと合成して出力データを生成する
請求項3に記載のビット変換回路。 The 5b / 6b conversion circuit includes a third conversion table in which output data corresponding to input data is output data in which the number of 0 values is different from the number of 1 values, and the output data is the number of 0 values and the number of 1 values. A fourth conversion table in which the output data are equal to each other, and
When conversion is performed with reference to the third conversion table, the output data having the polarity of one of the RDs is converted based on the input data, and then converted by the inverter based on the converted output data. Generating output data of the other RD polarity, and determining the polarity of the output data to be output according to the polarity of the next output data notified by the RD control circuit;
When conversion is performed with reference to the fourth conversion table, the number of 0 values and the number of 1 values in the input data are set so that the number of 0 values and the number of 1 values in the output data are the same. 4. The bit conversion circuit according to claim 3, wherein 1-bit extension bit is generated based on the generated data, and output data is generated by synthesizing with the same value as each value of input data.
請求項5に記載のビット変換回路。 The 5b / 6b conversion circuit excludes input data and extension bits even when the conversion is performed with reference to the fourth conversion table, even though the number of 0 values and the number of 1 values in the output data are equal. When the output data values are different, as an exception processing, after converting the output data of one of the RD polarities based on the input data, the inverter outputs the other RD based on the converted output data. The bit conversion circuit according to claim 5, wherein output data having a polarity is generated, and a polarity of output data to be output is determined according to a polarity of next output data notified by the RD control circuit.
前記第5の変換テーブルを参照して変換を行う場合には、入力データを基に、いずれか片方のRDの極性の出力データの変換を行った後、変換した出力データを基に、インバータにより他方のRDの極性の出力データを生成し、前記RD制御回路により通知された次の出力データの極性に応じて出力する出力データの極性を決定し、
前記第6の変換テーブルを参照して変換を行う場合には、出力データの0値の数と1値の数が同じになるように、前記入力データの0値の数と1値の数を基に1ビットの拡張ビットを生成し、入力データの各値と同値のデータと合成して出力データを生成する
請求項3に記載のビット変換回路。 The 3b / 4b conversion circuit includes a fifth conversion table in which output data corresponding to input data is output data in which the number of 0 values is different from the number of 1 values, and the output data is the number of 0 values and the number of 1 values. A sixth conversion table in which the output data are equal to each other, and
When conversion is performed with reference to the fifth conversion table, after conversion of output data having one of the RD polarities based on input data, an inverter is used based on the converted output data. Generating output data of the other RD polarity, and determining the polarity of the output data to be output according to the polarity of the next output data notified by the RD control circuit;
When conversion is performed with reference to the sixth conversion table, the number of 0 values and the number of 1 values in the input data are set so that the number of 0 values and the number of 1 values in the output data are the same. 4. The bit conversion circuit according to claim 3, wherein 1-bit extension bit is generated based on the generated data, and output data is generated by synthesizing with the same value as each value of input data.
請求項7に記載のビット変換回路。 When the 3b / 4b conversion circuit performs conversion with reference to the sixth conversion table, the 3b / 4b conversion circuit excludes input data and extension bits even though the number of 0 values and the number of 1 values of output data are equal. When the output data values are different, as an exception processing, after converting the output data of one of the RD polarities based on the input data, the inverter outputs the other RD based on the converted output data. The bit conversion circuit according to claim 7, wherein the output data of polarity is generated, and the polarity of output data to be output is determined according to the polarity of the next output data notified by the RD control circuit.
前記ビット符号化回路は、入力データを、データを示すDコードの出力データに変換するとき、前記ビット変換テーブルから、入力データに対する出力データが0値の数と1値の数が異なるシンボルを抽出した第1の変換テーブルと、前記ビット変換テーブルから、出力データが、0値の数と1値の数が等しいシンボルを抽出した第2の変換テーブルと、を参照して前記ビット変換を行う
転送ユニット。 A bit encoding circuit that converts m-bit input data to generate n-bit output data, and a second bit decoding circuit that converts n-bit input data to generate m-bit output data (M and n are positive integers and n> m),
When the bit encoding circuit converts input data into D-code output data indicating data, the bit conversion table extracts symbols having different numbers of 0 values and 1 values of output data for the input data. The bit conversion is performed with reference to the first conversion table and the second conversion table in which the output data is extracted from the bit conversion table, the symbol having the same number of 0 values and 1 values. unit.
前記ビット符号化回路は、入力データを、データを示すDコードの出力データに変換するとき、前記ビット変換テーブルから、入力データに対する出力データが0値の数と1値の数が異なるシンボルを抽出した第1の変換テーブルと、前記ビット変換テーブルから、出力データが、0値の数と1値の数が等しいシンボルを抽出した第2の変換テーブルと、を参照して前記ビット変換を行う
通信システム。 A bit encoding circuit that converts m-bit input data to generate n-bit output data, and a second bit decoding circuit that converts n-bit input data to generate m-bit output data A communication system having a plurality of transfer units including (m and n are positive integers and n> m),
When the bit encoding circuit converts input data into D-code output data indicating data, the bit conversion table extracts symbols having different numbers of 0 values and 1 values of output data for the input data. The bit conversion is performed with reference to the first conversion table and the second conversion table from which the output data is extracted from the bit conversion table, the output data having the same number of 0 values and 1 value. system.
入力データを、データを示すDコードの出力データに変換するとき、前記ビット変換テーブルから、入力データに対する出力データが0値の数と1値の数が異なるシンボルを抽出した第1の変換テーブルと、前記ビット変換テーブルから、出力データが、0値の数と1値の数が等しいシンボルを抽出した第2の変換テーブルと、を参照して前記ビット変換を行う
ビット変換方法。 A bit conversion method of a bit conversion circuit for generating m-bit output data by bit-converting m-bit input data (m and n are positive integers and n> m),
A first conversion table obtained by extracting, from the bit conversion table, symbols whose output data is different from the number of 0 values and the number of 1 values when converting input data into D code output data indicating data; A bit conversion method for performing the bit conversion by referring to a second conversion table in which symbols having the same number of 0 values and 1 values are extracted from the bit conversion table.
入力データを、データを示すDコードの出力データに変換するとき、前記ビット変換テーブルから、入力データに対する出力データが0値の数と1値の数が異なるシンボルを抽出した第1の変換テーブルと、前記ビット変換テーブルから、出力データが、0値の数と1値の数が等しいシンボルを抽出した第2の変換テーブルと、を参照して前記ビット変換を行う手順
を前記コンピュータに実行させるプログラム。 A program executed by a computer having a bit conversion circuit for converting m-bit input data to generate n-bit output data (m and n are positive integers and n> m),
A first conversion table obtained by extracting, from the bit conversion table, symbols whose output data is different from the number of 0 values and the number of 1 values when converting input data into D code output data indicating data; A program for causing the computer to execute a procedure for performing the bit conversion with reference to a second conversion table in which the output data is extracted from the bit conversion table as a symbol having the same number of zero values and zero values. .
前記分割回路が、8ビットの入力データを、5ビットのデータと3ビットのデータとに分割する第1の工程と、
前記第1の工程において分割された5ビットのデータを、前記5b/6b変換回路が、5b/6b変換により6ビットのデータに変換して出力する第2の工程と、
前記第1の工程において分割された3ビットのデータを、前記3b/4b変換回路が、3b/4b変換により4ビットのデータに変換して出力する第3の工程と、
前記RD制御回路が、現在の出力データのRDの極性を基に、次の出力データのランニング・ディスパリティ(RD)の極性を決定する第4の工程と、
前記合成回路が、前記第2の工程においてが変換された6ビットのデータと、前記第3の工程において変換された4ビットのデータと、を合成して10ビットの出力データを生成する第5の工程と、
を有し、
前記第2の工程は、
前記5b/6b変換回路が、入力データに対する出力データが、0値の数と1値の数が異なる出力データであるか、出力データが、0値の数と1値の数が等しい出力データであるか、を判断する第6の工程と、
前記第6の工程において、0値の数と1値の数が異なる出力データであると判断された場合に、前記5b/6b変換回路が、0値の数と1値の数が異なる出力データである場合に対応する第1の変換テーブルを参照して、入力データを基に、いずれか片方のRDの極性の出力データの変換を行う第7の工程と、
前記第7の工程において変換された出力データを基に、インバータにより他方のRDの極性の出力データを生成する第8の工程と、
前記第4の工程において決定された次の出力データの極性に応じて出力する出力データの極性を決定する第9の工程と、
前記第6の工程において、0値の数と1値の数が等しい出力データであると判断された場合に、0値の数と1値の数が等しい出力データである場合に対応する第2の変換テーブルを参照して、出力データの0値の数と1値の数が同じになるように、前記入力データの0値の数と1値の数を基に1ビットの拡張ビットを生成する第10の工程と、
前記第10の工程において生成された前記拡張ビットを、入力データの各値と同値のデータと合成して出力データを生成する第11の工程と、
を有し、
前記第3の工程は、
前記3b/4b変換回路が、入力データに対する出力データが、0値の数と1値の数が異なる出力データであるか、出力データが、0値の数と1値の数が等しい出力データであるか、を判断する第12の工程と、
前記第12の工程において、0値の数と1値の数が異なる出力データであると判断された場合に、前記3b/4b変換回路が、0値の数と1値の数が異なる出力データである場合に対応する第3の変換テーブルを参照して、入力データを基に、いずれか片方のRDの極性の出力データの変換を行う第13の工程と、
前記第12の工程において変換された出力データを基に、インバータにより他方のRDの極性の出力データを生成する第14の工程と、
前記第4の工程において決定された次の出力データの極性に応じて出力する出力データの極性を決定する第15の工程と、
前記第12の工程において、0値の数と1値の数が等しい出力データであると判断された場合に、0値の数と1値の数が等しい出力データである場合に対応する第4の変換テーブルを参照して、出力データの0値の数と1値の数が同じになるように、前記入力データの0値の数と1値の数を基に1ビットの拡張ビットを生成する第16の工程と、
前記第16の工程において生成された前記拡張ビットを、入力データの各値と同値のデータと合成して出力データを生成する第17の工程と、
を有するビット変換方法。 A bit conversion method of an 8b / 10b conversion circuit having a dividing circuit, a 5b / 6b conversion circuit, a 3b / 4b conversion circuit, an RD control circuit, and a synthesis circuit,
A first step in which the dividing circuit divides 8-bit input data into 5-bit data and 3-bit data;
A second step in which the 5b / 6b conversion circuit converts the 5-bit data divided in the first step into 6-bit data by 5b / 6b conversion and outputs the data;
A third step in which the 3b / 4b conversion circuit converts the 3-bit data divided in the first step into 4-bit data by 3b / 4b conversion and outputs the data;
A fourth step in which the RD control circuit determines the polarity of the running disparity (RD) of the next output data based on the polarity of the RD of the current output data;
The synthesis circuit synthesizes the 6-bit data converted in the second step and the 4-bit data converted in the third step to generate 10-bit output data. And the process of
Have
The second step includes
In the 5b / 6b conversion circuit, the output data corresponding to the input data is output data in which the number of 0 values is different from the number of 1 values, or the output data is output data in which the number of 0 values is equal to the number of 1 values. A sixth step of determining whether there is,
In the sixth step, when it is determined that the number of 0 values is different from the number of 1 values, the 5b / 6b conversion circuit outputs the output data having different numbers of 0 values and 1 values. A seventh step of referring to the first conversion table corresponding to the case where the output data of one of the RDs is converted based on the input data;
An eighth step of generating output data of the polarity of the other RD by the inverter based on the output data converted in the seventh step;
A ninth step of determining the polarity of output data to be output according to the polarity of the next output data determined in the fourth step;
In the sixth step, when it is determined that the number of 0 values is equal to the number of 1 values, the second value corresponds to the case where the number of 0 values is equal to the number of 1 values. Referring to the conversion table, a 1-bit extension bit is generated based on the number of zero values and one value of the input data so that the number of zero values and one value of the output data are the same. A tenth step of:
An eleventh step of generating output data by combining the extension bits generated in the tenth step with data having the same value as each value of input data;
Have
The third step includes
In the 3b / 4b conversion circuit, the output data corresponding to the input data is output data in which the number of 0 values is different from the number of 1 values, or the output data is output data in which the number of 0 values is equal to the number of 1 values. A twelfth step of determining whether there is,
In the twelfth step, when it is determined that the number of zero values is different from the number of one values, the 3b / 4b conversion circuit outputs the output data having different numbers of zero values and one values. A thirteenth step of referring to the third conversion table corresponding to the case where the output data of one of the RDs is converted based on the input data;
A fourteenth step of generating output data having the polarity of the other RD by an inverter based on the output data converted in the twelfth step;
A fifteenth step of determining the polarity of output data to be output according to the polarity of the next output data determined in the fourth step;
In the twelfth step, when it is determined that the number of 0 values is equal to the number of 1 values, the fourth value corresponds to the case where the number of 0 values is equal to the number of 1 values. Referring to the conversion table, a 1-bit extension bit is generated based on the number of zero values and one value of the input data so that the number of zero values and one value of the output data are the same. A sixteenth step of
A seventeenth step of generating output data by combining the extension bits generated in the sixteenth step with data having the same value as each value of input data;
A bit conversion method comprising:
請求項13に記載のビット変換方法。
input:入力データ
Data byte name:データバイト名
Bits:入力ビット
output:出力データ
RD=-:ランニング・ディスパリティの極性が−
RD=+:ランニング・ディスパリティの極性が+ The bit conversion method according to claim 13, wherein the first conversion table is a conversion table shown in Table 1.
input: Input data
Data byte name: Data byte name
Bits: Input bits
output: Output data
RD =-: The polarity of running disparity is-
RD = +: The polarity of running disparity is +
請求項13に記載のビット変換方法。
input:入力データ
Data byte name:データバイト名
Bits:入力ビット
output:出力データ
RD=-:ランニング・ディスパリティの極性が−
RD=+:ランニング・ディスパリティの極性が+ The bit conversion method according to claim 13, wherein the second conversion table is a conversion table shown in Table 2.
input: Input data
Data byte name: Data byte name
Bits: Input bits
output: Output data
RD =-: The polarity of running disparity is-
RD = +: The polarity of running disparity is +
請求項13に記載のビット変換方法。
input:入力データ
Data byte name:データバイト名
Bits:入力ビット
output:出力データ
RD=-:ランニング・ディスパリティの極性が−
RD=+:ランニング・ディスパリティの極性が+ The bit conversion method according to claim 13, wherein the third conversion table is a conversion table shown in Table 3.
input: Input data
Data byte name: Data byte name
Bits: Input bits
output: Output data
RD =-: The polarity of running disparity is-
RD = +: The polarity of running disparity is +
請求項13に記載のビット変換方法。
input:入力データ
Data byte name:データバイト名
Bits:入力ビット
output:出力データ
RD=-:ランニング・ディスパリティの極性が−
RD=+:ランニング・ディスパリティの極性が+ The bit conversion method according to claim 13, wherein the fourth conversion table is a conversion table shown in Table 4.
input: Input data
Data byte name: Data byte name
Bits: Input bits
output: Output data
RD =-: The polarity of running disparity is-
RD = +: The polarity of running disparity is +
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010114598A JP2011244212A (en) | 2010-05-18 | 2010-05-18 | Bit conversion circuit, transfer unit, communication system, bit conversion method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010114598A JP2011244212A (en) | 2010-05-18 | 2010-05-18 | Bit conversion circuit, transfer unit, communication system, bit conversion method and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011244212A true JP2011244212A (en) | 2011-12-01 |
Family
ID=45410411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010114598A Pending JP2011244212A (en) | 2010-05-18 | 2010-05-18 | Bit conversion circuit, transfer unit, communication system, bit conversion method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011244212A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013153394A (en) * | 2012-01-26 | 2013-08-08 | Keio Gijuku | Conversion method of transmission line code for digital communication, and code generation method for the conversion method |
WO2021039099A1 (en) * | 2019-08-30 | 2021-03-04 | ソニーセミコンダクタソリューションズ株式会社 | Encoding device, encoding method, decoding device, decoding method, and program |
-
2010
- 2010-05-18 JP JP2010114598A patent/JP2011244212A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013153394A (en) * | 2012-01-26 | 2013-08-08 | Keio Gijuku | Conversion method of transmission line code for digital communication, and code generation method for the conversion method |
WO2021039099A1 (en) * | 2019-08-30 | 2021-03-04 | ソニーセミコンダクタソリューションズ株式会社 | Encoding device, encoding method, decoding device, decoding method, and program |
US11962329B2 (en) | 2019-08-30 | 2024-04-16 | Sony Semiconductor Solutions Corporation | Encoding device, encoding method, decoding device, decoding method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4617039B2 (en) | Method and apparatus for encoding and decoding with constant weight | |
US5917364A (en) | Bi-directional interface circuit of reduced signal alteration | |
JP3204672B2 (en) | Transition controlled digital encoding and signal transmission system | |
EP0098153A2 (en) | Digital data code conversion circuit for variable-word-length data code | |
US7548179B2 (en) | MASH sigma delta modulator | |
CN101674089A (en) | High-speed 8B/10B coder, decoder and processing method thereof for error input | |
US6606328B1 (en) | Look ahead encoder/decoder architecture | |
JP2011244212A (en) | Bit conversion circuit, transfer unit, communication system, bit conversion method and program | |
TWI810620B (en) | Light-emitting diode driver and light-emitting diode driving device | |
US6346895B1 (en) | Apparatus and method for using nibble inversion code | |
US6438728B1 (en) | Error character generation | |
JP4851947B2 (en) | Logic circuit | |
CN115733606A (en) | Method for encoding and decoding data and transcoder | |
CN113157247B (en) | Reconfigurable integer-floating point multiplier | |
US20060139189A1 (en) | Gray code conversion method and apparatus embodying the same | |
WO2001091306A1 (en) | Encoder for transmitting digital image | |
US11632127B2 (en) | Near-optimal transition encoding codes | |
JP2011155330A (en) | Transmission system | |
KR20100064442A (en) | Encoding/decoding method and device using the same | |
KR20090077414A (en) | Apparatus and method transmitting - receivering data | |
KR100681944B1 (en) | Segmented group inversion encoding method for parallel dsta transmission | |
KR101114667B1 (en) | Apparatus and method for viterbi decoding | |
JP2003037504A (en) | Device for generating gray code | |
Sinha et al. | A new number system using alternate Fibonacci numbers as the positional weights with some engineering applications | |
JPS61145935A (en) | Decoder for run length limited code |