(57)【要約】【課題】同時に複数のビットを処理する必要があるようなアプリケーションに対しても周波数を増大させる必要のない巡回符号回路を提供する。【解決手段】本発明の巡回符号回路では、加算数Ａと最大次数Ｂとを用いて表現される生成多項式により表される巡回符号を同時にＣビットずつ出力する為に、Ａ＊（２B−１−Ｂ）で示される個数の排他的論理和回路（ＸＯＲ）群（１１−２１）と、初期データ及び排他的論理和回路の出力とを入力して、アドレス信号により選択されたＣビットのデータを出力するバレルシフタ２３と、アドレス信号を出力するアドレス発生器２２とを備えている。【選択図】図１
2006060663.tif 000002
【特許請求の範囲】
【請求項１】
加算数Ａと最大次数Ｂとを用いて表現される生成多項式により表される巡回符号を同時にＣビットずつ出力する為の巡回符号回路であって、
Ａ＊（２B−１−Ｂ）で示される個数の排他的論理和回路（ＸＯＲ）群と、
前記初期データ及び前記排他的論理和回路の出力とを入力して、アドレス信号により選択されたＣビットのデータを出力するバレルシフタと、
前記アドレス信号を出力するアドレス発生器と、
を備えたことを特徴とする巡回符号回路。
【請求項２】
前記アドレス発生回路は、
Ｂビット構成のレジスタと、
該レジスタ値と（２B−１）−Ｃ−１の値を比較する比較器と、
前記レジスタ出力と前記比較器出力と値Ｃとを加算する加算器と、
を備えたことを特徴とする請求項１記載の巡回符号回路。
【請求項３】
前記バレルシフタは、
（２B−１）個の巡回符号と、Ｂビットから成る前記アドレス発生回路からのアドレス信号とを入力して、一つのアドレスに対してＣビットから成るデータを出力することを特徴とする請求項１記載の巡回符号回路。
【請求項４】
加算数Ａを有する生成多項式により表される巡回符号を同時にＣビットずつ出力する巡回符号回路であって、
Ｃ個のレジスタと、
Ａ×Ｃ個の排他的論理和回路群と、
を備えたことを特徴とする巡回符号回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、巡回符号を生成するための巡回符号回路、特に、暗号化或いはスクランブル装置に用いられる巡回符号回路に関する。
【背景技術】
【０００２】
従来、この種の巡回符号回路に於ける巡回符号処理は図４に示されるように、生成多項式（図４の例では、Ｙ＝Ｘ4＋Ｘ＋１）によって決まるレジスタ２６，２７，２８，２９と排他的論理和回路３０から成る巡回符号回路において、ＲＥＳＥＴ信号により、レジスタ２９は初期値”１”に設定され、また、レジスタ２６，２７，２８は”０”に設定される。
【０００３】
その後、レジスタ２８の出力と巡回符号回路の出力であるレジスタ２９の出力とが排他的論理和回路３０に入力されてＸＯＲ論理演算が実行され、その結果がレジスタ２６に入力される。各レジスタはシフトレジスタ構成になっており、レジスタ２７にはレジスタ２６の値が、レジスタ２８にはレジスタ２７の値が、レジスタ２９にはレジスタ２８の値が次のクロック（ＣＬＫ）のタイミングで格納される。
【０００４】
この結果、図６に示すようにレジスタ（２６，２７，２８，２９）の内容は（０，０，０，１）→（１，０，０，０）→（０，１，０，０）→（０，０，１，０）のように変化し、出力データは、１→０→０→０・・・のように変化する。このように変化するデータを暗号化或いはスクランブル処理対象のデータと排他的論理和演算を行うことにより暗号化データ或いはスクランブルデータが生成される。
【０００５】
【特許文献１】特開平５−３４４００６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、前記構成の巡回符号回路を用いる場合、シリアル処理である為、同時に複数のビットデータを処理することが出来ないため、暗号化或いはスクランブル処理対象の入力データがビット幅を持つような場合に従来の巡回符号回路を用いて暗号化などの処理をする場合、入力データのビットレートに応じて、ビット幅分だけ周波数を増大させる等の対策を講じる必要が有った。
【０００７】
本発明の課題は、同時に複数のビットを処理する必要があるようなアプリケーションに対しても周波数を増大させる必要のない巡回符号回路を提供することにある。
【課題を解決するための手段】
【０００８】
本発明に係る第一の巡回符号回路では、加算数Ａと最大次数Ｂとを用いて表現される生成多項式により表される巡回符号を同時にＣビットずつ出力する為に、Ａ＊（２B−１−Ｂ）で示される個数の排他的論理和回路（ＸＯＲ）群と、初期データ及び排他的論理和回路の出力とを入力して、アドレス信号により選択されたＣビットのデータを出力するバレルシフタと、アドレス信号を出力するアドレス発生器とを備えている。
【０００９】
また、本発明に係る第二の巡回符号回路では、加算数Ａを有する生成多項式により表される巡回符号を同時にＣビットずつ出力する為に、Ｃ個のレジスタと、Ａ×Ｃ個の排他的論理和回路群と、を備えた構成としている。
【発明の効果】
【００１０】
本発明によれば、複数ビットを同時に出力可能な巡回符号回路を構成することが可能となるので、暗号化もしくはスクランブル装置などのアプリケーションに適用すると好適である。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【実施例１】
【００１２】
図１は、本発明による巡回符号回路の実施例１に於ける構成を示すブロック図であり、この構成は、生成多項式として、従来技術の説明で用いた生成多項式と同一の多項式を用いた場合の例である。この実施例１の巡回符号回路の出力ビットは４ビットである。
【００１３】
先ず、入力データとして値”１”がＣ［０］としてバレルシフタ２３に入力され、それと共に排他的論理和回路ＸＯＲ（１１）にも入力される。次の値”０”がＣ［１］としてバレルシフタ２３に入力されると共に排他的論理和回路ＸＯＲ（１１）、ＸＯＲ（１２）にも入力される。同様に値”０”がＣ［２］及びＣ［３］としてバレルシフタ２３に入力されると共に、排他的論理和回路ＸＯＲ（１２）、ＸＯＲ（１３）、及びＸＯＲ（１３）、ＸＯＲ（１４）にそれぞれ入力される。ＸＯＲ（１４）にはＸＯＲ（１１）の出力も入力される。
【００１４】
この構成により、排他的論理和回路ＸＯＲ（１１）からは値”１”が出力され、Ｃ［４］としてバレルシフタ２３に入力される。ＸＯＲ（１２）からは、値”０”が出力され、Ｃ［５］としてバレルシフタ２３に入力される。ＸＯＲ（１３）からは、値”０”が出力されＣ［６］としてバレルシフタ２３に入力される。ＸＯＲ（１４）からは、値”１”が出力されＣ［７］としてバレルシフタ２３に入力される。
【００１５】
排他的論理和回路ＸＯＲ（１５）には、ＸＯＲ（１１）とＸＯＲ（１２）の出力データが入力されて値”１”が出力され、この値がＣ［８］としてバレルシフタ２３に入力される。ＸＯＲ（１６）には、ＸＯＲ（１２）とＸＯＲ（１３）の出力データが入力されて値”０”が出力され、この値がＣ［９］としてバレルシフタ２３に入力される。ＸＯＲ（１７）には、ＸＯＲ（１３）とＸＯＲ（１４）の出力データが入力されて値”１”が出力され、この値がＣ［１０］としてバレルシフタ２３に入力される。ＸＯＲ（１８）には、ＸＯＲ（１４）とＸＯＲ（１５）の出力データが入力されて値”０”が出力され、この値がＣ［１１］としてバレルシフタ２３に入力される。
【００１６】
排他的論理和回路ＸＯＲ（１９）には、ＸＯＲ（１５）とＸＯＲ（１６）の出力データが入力されて値”１”が出力され、この値がＣ［１２］としてバレルシフタ２３に入力され、ＸＯＲ（２０）には、ＸＯＲ（１６）とＸＯＲ（１７）の出力データが入力されて値”１”が出力され、この値がＣ［１３］としてバレルシフタ２３に入力され、ＸＯＲ（２１）には、ＸＯＲ（１７）とＸＯＲ（１８）の出力データが入力されて値”１”が出力され、この値がＣ［１４］としてバレルシフタ２３に入力される。
【００１７】
アドレス発生器２２にはリセット信号（ＲＥＳＥＴ）とクロック信号（ＣＬＫ）が入力され４ビットのアドレス信号（ＡＤＲ［３：０］）が出力され、バレルシフタ２３に入力される。バレルシフタ２３は、前記アドレス信号に応じて、排他的論理和回路ＸＯＲ（１１）からＸＯＲ（２１）により出力されるＣ［０］〜Ｃ［１４］の信号の中から４ビットを選択して出力データ（ＯＵＴ［３：０］）を出力する。
【００１８】
図２は、実施例１における前記アドレス発生器２２の内部構成を示すブロック図であり、このアドレス発生器２２は、巡回符号の１巡の数である１５で値が”０”に戻るように作られた１５進のアドレス発生器である。
【００１９】
このアドレス発生器２２において、リセット信号（ＲＥＳＥＴ）とクロック信号（ＣＬＫ）がレジスタ２２−１に入力されると、アドレス信号（ＡＤＲ［３：０］）が出力され、このアドレス信号は、ＡＤＲ［３：０］＞”１０”の時出力信号としてＣＩＮ＝１を出力し、ＡＤＲ［３：０］≦”１０”の時ＣＩＮ＝０を出力する。この信号ＣＩＮは、前記アドレス信号と共に加算器２２−３に入力され、値”４”と加算される。この加算機の出力信号はレジスタ２２−１に入力される。
【００２０】
図３は、実施例１におけるバレルシフタ２３の処理機能テーブルであり、入力されるアドレス信号（ＡＤＲ［３：０］）に応じて、入力データＣ［１４：０］の中の４ビットを選択する規則を示しており、この規則に基づいて出力データ（ＯＵＴ［３：０］）が出力される。例えば、アドレス信号（ＡＤＲ［３：０］）が”０”の場合はＣ［３：０］の４ビットが選択されて出力されることになる。
【００２１】
実施例１の構成で必要となる排他的論理和回路ＸＯＲの数は、生成多項式で使用される加算数をＡ（この値Ａは、図４に於ける排他的論理和回路（ＸＯＲ）の数を意味しており、本実施例では、従来と同じ生成多項式を用いている為、Ａ＝１である）とし、最大次数をＢ（本実施例においてはＢ＝４）とすると、Ａ＊（２B−１−Ｂ）で表され、実施例１の回路の場合は１×（２4−１−４）＝１１となる。
【００２２】
アドレス発生器２２において、一度に出力するビット数Ｃ及び内部レジスタ２２−１のビット数は最大次数Ｂビットに等しく、出力信号もＢビットとなる。また、アドレス発生器２２内部の比較器２２−２の比較対象となる値は、（２B−１）−Ｃ−１となり、本実施例においては１０となる。また、加算器２２−３においては、最大次数Ｂビットの加算処理が行われ、レジスタ２２−１の最大次数Ｂビットと”４”と比較器からの出力ＣＩＮとが加算される。
【００２３】
バレルシフタ２３の入力数は、巡回符号数である（２B−１）であり、アドレス信号としてＢビットを入力し、Ｃビット数のデータを出力する。
【００２４】
以下、実施例１の巡回符号回路の動作を説明する。
【００２５】
まず、リセット信号（ＲＥＳＥＴ）が入力されると、アドレス発生器２２内部のレジスタ２２−１の値は”０”（００００）となり、アドレス信号”０”がバレルシフタ２３に入力され、バレルシフタ２３の出力としてＣ［３：０］が選択されて、値”１”（０００１）が出力される。アドレス発生器２２内では、レジスタ２２−１の出力が”０”であるので比較器２２−２は、ＣＩＮ信号として値”０”を出力し、加算器２２−３では、アドレス値”０”とＣＩＮ値”０”と被加算値”４”とが加算されて出力値”４”（０１００）がレジスタ２２−１に格納される。
【００２６】
次のタイミングでは、前記レジスタ２２−１は、値”４”を出力してアドレス信号としてバレルシフタ２３に入力され、バレルシフタ２３の出力としてＣ［７：４］が選択され、値”９”（１００１）が出力される。このとき、アドレス発生器２２内では、レジスタ２２−１の出力値が”４”であるので、比較器２２−２はＣＩＮ信号として値”０”を出力し、加算器２２−３では、アドレス値”４”とＣＩＮ値”０”と被加算値”４”とが加算されて値”８”（１０００）がレジスタ２２−１に格納される。
【００２７】
次のタイミングでは、前記レジスタ２２−１は、値”８”を出力してアドレス信号としてバレルシフタ２３に入力され、バレルシフタ２３の出力としてＣ［１１：８］が選択され、値”５”（０１０１）が出力される。このとき、アドレス発生器２２内では、レジスタ２２−１の出力値が”８”であるので、比較器２２−２はＣＩＮ信号として値”０”を出力し、加算器２２−３では、アドレス値”８”とＣＩＮ値”０”と被加算値”４”とが加算されて値”１２”（１１００）がレジスタ２２−１に格納される。
【００２８】
次のタイミングでは、前記レジスタ２２−１は、値”１２”を出力してアドレス信号としてバレルシフタ２３に入力され、バレルシフタ２３の出力として｛Ｃ［０］、Ｃ［１４：１２］｝が選択され、値”Ｆ”（１１１１）が出力される。このとき、アドレス発生器２２内では、レジスタ２２−１の出力値が”１２”であるので、比較器２２−２はＣＩＮ信号として値”１”を出力し、加算器２２−３では、アドレス値”１２”とＣＩＮ値”１”と被加算値”４”とが加算されて値”１”（０００１）がレジスタ２２−１に格納される。
【００２９】
次のタイミングでは、前記レジスタ２２−１は、値”１”を出力してアドレス信号としてバレルシフタ２３に入力され、バレルシフタ２３の出力としてＣ［４：１］が選択され、値”８”（１０００）が出力される。このとき、アドレス発生器２２内では、レジスタ２２−１の出力値が”１”であるので、比較器２２−２はＣＩＮ信号として値”０”を出力し、加算器２２−３では、アドレス値”１”とＣＩＮ値”０”と被加算値”４”とが加算されて値”５”（０１０１）がレジスタ２２−１に格納される。
【００３０】
以上のような処理を繰り返すことにより、アドレス発生器２２から発生される１５進のアドレス信号がバレルシフタ２３に入力され、バレルシフタ２３からは図３に示す機能テーブルに従って４ビットの巡回符号が出力される。
【００３１】
図６は、図４の従来の回路から直列に出力されるデータと本実施例の巡回符号回路において、アドレス（ＡＤＲ［３：０］）が”０”→’４”→”８”・・・と変化する場合の４ビットの出力データの関係を、図３の機能テーブルとの関係において示しており、図４の回路において１→０→０→０→１→０→０→１・・・、の順にシリアルに出力されていたデータが（１０００）→（１００１）→（１０１０）→（１１１１）→（０００１）・・・のように４ビット単位で一括して出力される。
【００３２】
以上説明したように、実施例１の巡回符号回路においては、従来のように入力データのデータレートに応じた高速のクロックを用いることなく、１サイクルで複数ビットの巡回符号を出力することが出来る。
【実施例２】
【００３３】
図５は、本発明による実施例２の巡回符号回路の構成を示すブロック図であり、この実施例においては、実施例１で用いた生成多項式と同一の多項式を用いた場合の構成を示している。この実施例２では、実施例１の巡回符号回路と同様に出力ビットは４ビットである。
【００３４】
本実施例のような構成の場合、加算数Ａを有する生成多項式により表される巡回符号を同時にＣビットずつ出力する巡回符号回路は、Ｃ個のレジスタと、Ａ×Ｃ個の排他的論理和回路群とで構成することが可能である。本実施例２では、Ａ＝１、Ｃ＝４であるので、レジスタ数は４、排他的論理和回路の数は４となる。
【００３５】
この実施例２の巡回符号回路においては、入力クロック信号（ＣＬＫ）とリセット信号（ＲＥＳＥＴ）がレジスタ３１−３４に入力され、レジスタ３１の出力は出力信号ＯＵＴ［０］として出力されると共に排他的論理和回路ＸＯＲ（３５）に入力される。レジスタ３２の出力は出力信号ＯＵＴ［１］として出力されると共に排他的論理和回路ＸＯＲ（３５）とＸＯＲ（３６）に入力される。レジスタ３３の出力は出力信号ＯＵＴ［２］として出力されると共に排他的論理和回路ＸＯＲ（３６）、ＸＯＲ（３７）に入力される。レジスタ３４の出力は出力信号ＯＵＴ［３］として出力されると共に排他的論理和回路ＸＯＲ（３７）、ＸＯＲ（３８）に入力される。
【００３６】
排他的論理和回路ＸＯＲ（３５）の出力は、レジスタ３１とＸＯＲ（３８）に入力され、ＸＯＲ（３６）の出力はレジスタ３２に入力され、ＸＯＲ（３７）の出力はレジスタ３３に入力され、ＸＯＲ（３８）の出力はレジスタ３４に入力される。
【００３７】
以下、実施例２に於ける巡回符号回路の動作を説明する。
【００３８】
リセット信号（ＲＥＳＥＴ）が入力されると、レジスタ３１−３４の値は｛１，０，００｝に初期化され、その値がそのまま出力信号（ＯＵＴ［３：０］）として出力される。
【００３９】
次のクロックタイミングで、排他的論理和回路ＸＯＲ（３５−３８）の出力｛１，０，０，１｝がレジスタ３１−３４に入力され、この値”９”（１００１）が出力信号として出力され、これにより排他的論理和回路ＸＯＲ（３５−３８）の出力は｛１，０，１，０｝と成る。
【００４０】
次のクロックタイミングで、排他的論理和回路ＸＯＲ（３５−３８）の出力｛１，０，１，０｝がレジスタ３１−３４に入力され、この値”５”（０１０１）が出力信号として出力され、これにより排他的論理和回路ＸＯＲ（３５−３８）の出力は｛１，１，１，１｝と成る。
【００４１】
次のクロックタイミングで、排他的論理和回路ＸＯＲ（３５−３８）の出力｛１，１，１，１｝がレジスタ３１−３４に入力され、この値”Ｆ”（１１１１）が出力信号として出力され、これにより排他的論理和回路ＸＯＲ（３５−３８）の出力は｛０，０，１，１｝と成る。
【００４２】
以上説明したように、実施例２の巡回符号回路においては、入力データのデータレートより高速のクロックを用いる必要が無く、１サイクルで複数ビットの巡回符号を出力することができる。また、実施例１で示したように巡回数に依存して回路規模が大きくなることがなく、回路規模の縮小化を図ることが出来る利点がある。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施例１における巡回符号回路の構成を示すブロック図である。
【図２】実施例１におけるアドレス発生器２２の構成を示すブロック図である。
【図３】実施例１に於けるバレルシフタ２３の内部機能テーブルの内容を示す図である。
【図４】従来の巡回符号回路の構成を示すブロック図である。
【図５】本発明の実施例２に於ける巡回符号回路の構成を示すブロック図である。
【図６】実施例１に於ける巡回符号回路の出力を従来の巡回符号回路と対比して説明した図である。
【符号の説明】
【００４４】
１１−２１    排他的論理和回路
２２      アドレス発生器
２３      バレルシフタ
２２−１    レジスタ
２２−２    比較器
２２−３    加算器
３１−３４    レジスタ
３５−３８    排他的論理和回路
【図１】
2006060663.tif 000003
【図２】
2006060663.tif 000004
【図３】
2006060663.tif 000005
【図４】
2006060663.tif 000006
【図５】
2006060663.tif 000007
【図６】
2006060663.tif 000008