(57)【要約】【課題】省電力化を図りつつ演算の高速化を実現可能な新しい相関演算回路の提案。【解決手段】第１の非同期相関演算回路１００Ａにおいて、受信データ供給部１１０が有する受信データ２線符号化部１１０Ｂは、Ｍビット（Ｍ≧１）の受信データの系列でなる受信系列データを２線符号化する。また、レプリカデータ供給部１２０が有するレプリカデータ２線符号化部１２０Ｂは、１ビットのレプリカデータの系列でなるレプリカコードを２線符号化する。非同期全加算部１５０は、加算結果記憶部１７０の記憶値を２線符号化する加算結果２線符号化部１８０の出力値に、受信データ供給部１１０からの出力値を、レプリカデータ供給部１２０からの出力値に応じた符号で加算して出力する。そして、２線復号部１６０は、非同期全加算部１５０による２線符号の出力値を復号して加算結果記憶部１７０に出力する。【選択図】図２
2014022975.tif 000002
【特許請求の範囲】
【請求項１】
Ｍビット（Ｍ≧１）の第１のデータの系列でなる第１の系列データを２線符号化する第１の２線符号化部を有し、演算が完了する毎に次の演算に供すべき第１のデータを供給する第１のデータ供給部と、
１ビットの第２のデータの系列でなる第２の系列データを２線符号化する第２の２線符号化部を有し、演算が完了する毎に次の演算に供すべき第２のデータを供給する第２のデータ供給部と、
加算結果を記憶する加算結果記憶部と、
前記加算結果記憶部の記憶値を２線符号化する第３の２線符号化部と、
前記第３の２線符号化部の出力値に、前記第１のデータ供給部からの出力値を、前記第２のデータ供給部からの出力値に応じた符号で加算して出力する非同期全加算部と、
前記非同期全加算部による２線符号の出力値を復号して前記加算結果記憶部に出力する２線復号部と、
を備えた非同期相関演算回路。
【請求項２】
前記第１のデータ供給部は、前記第１のデータそれぞれに対応して当該第１のデータを格納する第１のデータレジスタ群を有し、
前記第２のデータ供給部は、前記第２のデータそれぞれに対応して当該第２のデータを格納する第２のデータレジスタ群を有し、
前記第１の２線符号化部は、前記第１のデータレジスタ群を構成する第１のデータレジスタにそれぞれ対応付けられ、当該第１のデータレジスタに格納された第１のデータを２線符号化する第１の２線符号化器を有し、
前記第２の２線符号化部は、前記第２のデータレジスタ群を構成する第２のデータレジスタそれぞれに対応付けられ、当該第２のデータレジスタに格納された第２のデータを２線符号化する第２の２線符号化器を有し、
前記第１のデータ供給部は、次の演算に供すべき第１のデータに対応する前記第１の２線符号化器を選択する第１の選択部を有し、
前記第２のデータ供給部は、次の演算に供すべき第２のデータに対応する前記第２の２線符号化器を選択する第２の選択部を有する、
請求項１に記載の非同期相関演算回路。
【請求項３】
前記第１の選択部は、互いに４相ハンドシェイキングのプロトコルによって通信し合う読出トークンレジスタ段を前記第１のデータそれぞれに対応付けて設け、読出トークンが前記読出トークンレジスタ段を循環するように構成された読出用レジスタ機構であって、前記非同期全加算部の演算が完了する毎に読出トークンを次段の読出トークンレジスタ段に移動させる第１の読出用レジスタ機構を有し、当該読出トークンに基づいて次の演算に供すべき第１のデータに対応する前記第１の２線符号化器を選択し、
前記第２の選択部は、互いに４相ハンドシェイキングのプロトコルによって通信し合う読出トークンレジスタ段を前記第２のデータそれぞれに対応付けて設け、読出トークンが前記読出トークンレジスタ段を循環するように構成された読出用レジスタ機構であって、前記非同期全加算部の演算が完了する毎に読出トークンを次段の読出トークンレジスタ段に移動させる第２の読出用レジスタ機構を有し、当該読出トークンに基づいて次の演算に供すべき第２のデータに対応する前記第２の２線符号化器を選択する、
請求項２に記載の非同期相関演算回路。
【請求項４】
前記非同期全加算部は、２K個（Ｋは１以上の整数）の前記第１のデータを加算する（２K−１）個の非同期全加算器をトーナメント型に配置構成したトーナメント型全加算器群を有し、
前記第１の選択部は、互いに４相ハンドシェイキングのプロトコルによって通信し合う読出トークンレジスタ段を前記第１のデータそれぞれに対応付けて設け、読出トークンが前記読出トークンレジスタ段を循環するように構成された読出用レジスタ機構であって、各読出トークンレジスタ段が、前記非同期全加算部の演算対象の２K個の第１のデータに対応する前記第１の２線符号化器に対応付けられ、前記非同期全加算部の演算が完了する毎に読出トークンを次段の読出トークンレジスタ段に移動させる第１の読出用レジスタ機構を有し、当該読出トークンに基づいて次の演算に供すべき２K個の前記第１のデータに対応する前記第１の２線符号化器を選択し、
前記第２の選択部は、互いに４相ハンドシェイキングのプロトコルによって通信し合う読出トークンレジスタ段を前記第２のデータそれぞれに対応付けて設け、読出トークンが前記読出トークンレジスタ段を循環するように構成された読出用レジスタ機構であって、各読出トークンレジスタ段が、相関演算の相手方となる２K個の第２のデータに対応する前記第２の２線符号化器に対応付けられ、前記非同期全加算部の演算が完了する毎に読出トークンを次段の読出トークンレジスタ段に移動させる第２の読出用レジスタ機構を有し、当該読出トークンに基づいて次の演算に供すべき２K個の前記第２のデータに対応する前記第２の２線符号化器を選択し、
前記トーナメント型全加算器群のうち、最下段の前記非同期全加算器それぞれは、演算対象となる２つの前記第１のデータのうちの一方の第１のデータに係る前記第１の２線符号化器の出力値に、他方の第１のデータに係る前記第１の２線符号化器の出力値を、相関演算の相手方となる２つの前記第２のデータに係る前記第２の２線符号化器の出力値に応じた符号で加算する、
請求項２に記載の非同期相関演算回路。
【請求項５】
互いに４相ハンドシェイキングのプロトコルによって通信し合う書込トークンレジスタ段を書込トークンが循環するように構成された書込用レジスタ機構であって、書込トークンを次段の書込トークンレジスタ段に順次移動させ、当該書込トークンに基づいて前記第１のデータを前記第１のデータレジスタに記憶させる第１の書込用レジスタ機構と、
互いに４相ハンドシェイキングのプロトコルによって通信し合う書込トークンレジスタ段を書込トークンが循環するように構成された書込用レジスタ機構であって、書込トークンを次段の書込トークンレジスタ段に順次移動させ、当該書込トークンに基づいて前記第２のデータを前記第２のデータレジスタに記憶させる第２の書込用レジスタ機構と、
を備えた請求項２に記載の非同期相関演算回路。
【請求項６】
前記第２のデータ供給部は、長さ２L−１（Ｌは３以上の整数）の前記第２の系列データを生成する非同期データ生成回路を有し、
前記非同期データ生成回路は、
１ビットデータレジスタ部を２線復号器及び２線符号化器で挟んで構成したＬ段の第１のデータレジスタ部と（Ｌ−１）段の第１の排他的論理和演算回路とを線形フィードバック接続した第１の線形フィードバックシフトレジスタ回路と、
１ビットデータレジスタ部を２線復号器及び２線符号化器で挟んで構成したＬ段の第２のデータレジスタ部と（Ｌ−１）段の第２の排他的論理和演算回路とを線形フィードバック接続した第２の線形フィードバックシフトレジスタ回路と、
前記第１の線形フィードバックシフトレジスタ回路からの出力値と前記第２の線形フィードバックシフトレジスタ回路からの出力値とを結合する結合部と、
を有し、
前記第１のデータレジスタ部の２線符号化器及び前記第２のデータレジスタ部の２線符号化器によって前記第２の２線符号化部が構成され、
前記第１の線形フィードバックシフトレジスタ回路は、前記第１のデータレジスタ部それぞれの第１の初期値と、排他的論理和の演算を実行させる前記第１の排他的論理和演算回路とを設定可能に構成され、
前記第２の線形フィードバックシフトレジスタ回路は、前記第２のデータレジスタ部それぞれの第２の初期値と、排他的論理和の演算を実行させる前記第２の排他的論理和演算回路とを設定可能に構成された、
請求項１に記載の非同期相関演算回路。
【請求項７】
前記第２のデータ供給部は、前記非同期データ生成回路に生成させる前記第２の系列データに応じた前記第１の初期値及び前記第１の排他的論理和演算回路の設定を行うとともに、当該第２の系列データに応じた前記第２の初期値及び前記第２の排他的論理和演算回路の設定を行う設定部を有する、
請求項６に記載の非同期相関演算回路。
【請求項８】
前記第１の系列データは、衛星からの受信信号を時系列にサンプリングした系列データであり、
前記第２の系列データは、前記衛星のレプリカコードを時系列にサンプリングした系列データであり、
前記受信信号と前記レプリカコードとの相関値を算出する非同期回路である、
請求項１〜７の何れか一項に記載の非同期相関演算回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非同期で相関演算を行う非同期相関演算回路に関する。
【背景技術】
【０００２】
測位用衛星信号を利用した測位システムとしては、ＧＰＳ（Global Positioning System）が広く知られており、携帯型電話機やカーナビゲーション装置等に内蔵されたＧＰＳ受信機に利用されている。ＧＰＳでは、複数のＧＰＳ衛星の位置や各ＧＰＳ衛星からＧＰＳ受信機までの擬似距離等の情報に基づいて位置算出装置の位置座標と時計誤差とを求める位置算出計算を行う。
【０００３】
ＧＰＳ衛星から送出されるＧＰＳ衛星信号は、Ｃ／Ａ（Coarse and Acquisition）コードと呼ばれるＧＰＳ衛星毎に異なる拡散符号で変調されている。ＧＰＳ受信機は、微弱な受信信号の中からＧＰＳ衛星信号を捕捉するために、受信信号とＣ／Ａコードを模擬したレプリカコードとの相関演算を行ってＧＰＳ衛星信号を捕捉する。
【０００４】
例えば、特許文献１には、入力信号とレプリカコードとの積和演算を行う積和演算器を並列に配置して積和演算を行わせることによって、入力信号とレプリカコードとの相関演算を実現する相関演算装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１５１５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
近年、ＧＰＳ受信機が内蔵される電子機器の小型化とバッテリーによる長時間駆動の実現のために、ＧＰＳ受信機の省電力化が要求されている。ＧＰＳ受信機の中でも相関演算回路は稼働率が高く、消費電力が大きいため、相関演算回路の省電力化が望まれている。
【０００７】
いわゆるディープ・サブミクロンの半導体技術を用いれば、低電圧化による相関演算回路における消費電力の削減や相関演算の高速化をある程度実現することが可能ではある。しかし、従来の相関演算回路は、同期設計手法に基づき設計されており、クロックが必須であるため、消費電力の削減や演算の高速化には自ずと限界がある。例えば、演算の高速化を実現するためには、相関演算回路の駆動用のクロックの周波数を上げるか回路の並列化を図ることが必要となるが、その場合、クロックの周波数と回路の並列化の度数に比例して消費電力が増大してしまうという問題がある。
【０００８】
本発明は上述した課題に鑑みてなされたものであり、その目的とするところは、省電力化を図りつつ演算の高速化を実現可能な新しい相関演算回路を提案することにある。
【課題を解決するための手段】
【０００９】
以上の課題を解決するための第１の形態は、Ｍビット（Ｍ≧１）の第１のデータの系列でなる第１の系列データを２線符号化する第１の２線符号化部を有し、演算が完了する毎に次の演算に供すべき第１のデータを供給する第１のデータ供給部と、１ビットの第２のデータの系列でなる第２の系列データを２線符号化する第２の２線符号化部を有し、演算が完了する毎に次の演算に供すべき第２のデータを供給する第２のデータ供給部と、加算結果を記憶する加算結果記憶部と、前記加算結果記憶部の記憶値を２線符号化する第３の２線符号化部と、前記第３の２線符号化部の出力値に、前記第１のデータ供給部からの出力値を、前記第２のデータ供給部からの出力値に応じた符号で加算して出力する非同期全加算部と、前記非同期全加算部による２線符号の出力値を復号して前記加算結果記憶部に出力する２線復号部と、を備えた非同期相関演算回路である。
【００１０】
この第１の形態によれば、第１のデータ供給部が有する第１の２線符号化部によって第１の系列データが２線符号化される。また、第２のデータ供給部が有する第２の２線符号化部によって第２の系列データが２線符号化される。そして、第１のデータ供給部は、非同期全加算部の演算が完了する毎に次の演算に供すべき第１のデータを非同期全加算部に供給し、第２のデータ供給部は、非同期全加算部の演算が完了する毎に次の演算に供すべき第２のデータを非同期全加算部に供給する。非同期全加算部は、加算結果の記憶値を２線符号化した値に、第１のデータ供給部からの出力値を、第２のデータ供給部からの出力値に応じた符号で加算して出力する。
【００１１】
非同期全加算部が２線符号化されたデータを入力するように構成したことで、非同期全加算部は、有効データの到来を確実に検知して演算を行うことが可能となる。非同期全加算部では、当該非同期全加算部の最新の加算結果に第１のデータを加算する演算が行われる。この場合において、第２のデータの符号が正であれば第１のデータを足し込み（すなわち加算する）、第２のデータの符号が負であれば第１のデータの符号を反転して足し込む（すなわち減算する）ことで、相関演算を正しく行うことが可能となる。
【００１２】
本形態の非同期相関演算回路では、グローバル信号（クロック）によって全ての回路が駆動されるために最も遅い回路によって全体のパフォーマンスが決まる最悪ケース・シナリオに従う同期回路と違って、都度必要な回路のみがイベント・ドリブンに動作する平均ケース・シナリオに従うため、比較的小さい回路粒度の回路ブロックによって並列度を高く構成することができるため相関演算回路全体として高速な回路動作を実現することができる。また、ＣＭＯＳ（Complementary Metal Oxide Semiconductor）ロジックではスイッチング延べ回数に比例した電力が消費されるが、意味論的に不要なスイッチング動作が行われないために、大幅な電力削減も実現することができる。
【００１３】
また、第２の形態として、第１の形態の非同期相関演算回路において、前記第１のデータ供給部は、前記第１のデータそれぞれに対応して当該第１のデータを格納する第１のデータレジスタ群を有し、前記第２のデータ供給部は、前記第２のデータそれぞれに対応して当該第２のデータを格納する第２のデータレジスタ群を有し、前記第１の２線符号化部は、前記第１のデータレジスタ群を構成する第１のデータレジスタにそれぞれ対応付けられ、当該第１のデータレジスタに格納された第１のデータを２線符号化する第１の２線符号化器を有し、前記第２の２線符号化部は、前記第２のデータレジスタ群を構成する第２のデータレジスタそれぞれに対応付けられ、当該第２のデータレジスタに格納された第２のデータを２線符号化する第２の２線符号化器を有し、前記第１のデータ供給部は、次の演算に供すべき第１のデータに対応する前記第１の２線符号化器を選択する第１の選択部を有し、前記第２のデータ供給部は、次の演算に供すべき第２のデータに対応する前記第２の２線符号化器を選択する第２の選択部を有する、非同期相関演算回路を構成することとしてもよい。
【００１４】
この第２の形態によれば、第１のデータ供給部は第１のデータレジスタ群を有し、第１のデータは、当該第１のデータレジスタ群を構成する第１のデータレジスタのうちの、対応する第１のデータレジスタに格納される。また、第１のデータレジスタ群を構成する第１のデータレジスタそれぞれに対応付けて第１の２線符号化器が設けられている。このため、第１の選択部が、次の演算に供すべき第１のデータに対応する第１の２線符号化器を選択することで、当該第１のデータが対応する第１の２線符号化器によって２線符号化されて、非同期全加算器に供給されることになる。第２のデータについても同様である。
【００１５】
また、第３の形態として、第２の形態の非同期相関演算回路において、前記第１の選択部は、互いに４相ハンドシェイキングのプロトコルによって通信し合う読出トークンレジスタ段を前記第１のデータそれぞれに対応付けて設け、読出トークンが前記読出トークンレジスタ段を循環するように構成された読出用レジスタ機構であって、前記非同期全加算部の演算が完了する毎に読出トークンを次段の読出トークンレジスタ段に移動させる第１の読出用レジスタ機構を有し、当該読出トークンに基づいて次の演算に供すべき第１のデータに対応する前記第１の２線符号化器を選択し、前記第２の選択部は、互いに４相ハンドシェイキングのプロトコルによって通信し合う読出トークンレジスタ段を前記第２のデータそれぞれに対応付けて設け、読出トークンが前記読出トークンレジスタ段を循環するように構成された読出用レジスタ機構であって、前記非同期全加算部の演算が完了する毎に読出トークンを次段の読出トークンレジスタ段に移動させる第２の読出用レジスタ機構を有し、当該読出トークンに基づいて次の演算に供すべき第２のデータに対応する前記第２の２線符号化器を選択する、非同期相関演算回路を構成することとしてもよい。
【００１６】
この第３の形態によれば、読出トークンが読出トークンレジスタ段を循環するように構成された読出用レジスタ機構であって、非同期全加算部の演算が完了する毎に読出トークンを次段の読出トークンレジスタ段に移動させる第１の読出用レジスタ機構において、読出トークンを次段の読出トークンレジスタ段に移動させていき、当該読出トークンに基づいて次の演算に供すべき第１のデータに対応する第１の２線符号化器を選択することで、次の演算に供すべき第１のデータを簡単に選択することができる。また、この第１の読出用レジスタ機構では、読出トークンレジスタ段同士が互いに４相ハンドシェイキングのプロトコルによって通信し合うため、読出トークンレジスタ段同士が互いの動作状態を把握した上で、矛盾のない回路動作を実現することができる。この場合、読出トークンが遷移していく過程で各読出トークンレジスタ段は元の状態に復帰することとなる。
第２の読出用レジスタ機構についても同様である。
【００１７】
また、第４の形態として、第２の形態の非同期相関演算回路において、前記非同期全加算部は、２K個（Ｋは１以上の整数）の前記第１のデータを加算する（２K−１）個の非同期全加算器をトーナメント型に配置構成したトーナメント型全加算器群を有し、前記第１の選択部は、互いに４相ハンドシェイキングのプロトコルによって通信し合う読出トークンレジスタ段を前記第１のデータそれぞれに対応付けて設け、読出トークンが前記読出トークンレジスタ段を循環するように構成された読出用レジスタ機構であって、各読出トークンレジスタ段が、前記非同期全加算部の演算対象の２K個の第１のデータに対応する前記第１の２線符号化器に対応付けられ、前記非同期全加算部の演算が完了する毎に読出トークンを次段の読出トークンレジスタ段に移動させる第１の読出用レジスタ機構を有し、当該読出トークンに基づいて次の演算に供すべき２K個の前記第１のデータに対応する前記第１の２線符号化器を選択し、前記第２の選択部は、互いに４相ハンドシェイキングのプロトコルによって通信し合う読出トークンレジスタ段を前記第２のデータそれぞれに対応付けて設け、読出トークンが前記読出トークンレジスタ段を循環するように構成された読出用レジスタ機構であって、各読出トークンレジスタ段が、相関演算の相手方となる２K個の第２のデータに対応する前記第２の２線符号化器に対応付けられ、前記非同期全加算部の演算が完了する毎に読出トークンを次段の読出トークンレジスタ段に移動させる第２の読出用レジスタ機構を有し、当該読出トークンに基づいて次の演算に供すべき２K個の前記第２のデータに対応する前記第２の２線符号化器を選択し、前記トーナメント型全加算器群のうち、最下段の前記非同期全加算器それぞれは、演算対象となる２つの前記第１のデータのうちの一方の第１のデータに係る前記第１の２線符号化器の出力値に、他方の第１のデータに係る前記第１の２線符号化器の出力値を、相関演算の相手方となる２つの前記第２のデータに係る前記第２の２線符号化器の出力値に応じた符号で加算する、非同期相関演算回路を構成することとしてもよい。
【００１８】
この第４の形態によれば、２K個（Ｋは１以上の整数）の第１のデータを加算する（２K−１）個の非同期全加算器をトーナメント型に配置構成したトーナメント型全加算器群を構成する。この場合、第３の形態と同様に、いわゆるトークンパッシング方式を利用することで、次の演算に供すべき第１のデータ及び第２のデータを、それぞれ２K個ずつ簡単に非同期全加算部に供給することが可能となる。この場合、相関演算の相手方となる第２のデータの符号によっては、トーナメント型全加算器群のうちの最下段の非同期全加算器で演算を行う際に、２つの第１のデータが加算されるのではなく、減算されるようにする必要がある。そこで、トーナメント型全加算器群の最下段の非同期全加算器それぞれが、加算対象となる２つの第１のデータのうちの一方の第１のデータに係る第１の２線符号化器の出力値に、他方の第１のデータに係る第１の２線符号化器の出力値を、相関演算の相手方となる２つの前記第２のデータに係る第２の２線符号化器の出力値に応じた符号で加算するようにする。
【００１９】
また、第５の形態として、第２の形態の非同期相関演算回路において、互いに４相ハンドシェイキングのプロトコルによって通信し合う書込トークンレジスタ段を書込トークンが循環するように構成された書込用レジスタ機構であって、書込トークンを次段の書込トークンレジスタ段に順次移動させ、当該書込トークンに基づいて前記第１のデータを前記第１のデータレジスタに記憶させる第１の書込用レジスタ機構と、互いに４相ハンドシェイキングのプロトコルによって通信し合う書込トークンレジスタ段を書込トークンが循環するように構成された書込用レジスタ機構であって、書込トークンを次段の書込トークンレジスタ段に順次移動させ、当該書込トークンに基づいて前記第２のデータを前記第２のデータレジスタに記憶させる第２の書込用レジスタ機構と、を備えた非同期相関演算回路を構成することとしてもよい。
【００２０】
この第５の形態によれば、書込トークンを次段の書込トークンレジスタ段に順次移動させ、当該書込トークンに基づいて第１のデータを対応する第１のデータレジスタに記憶させる第１の書込用レジスタ機構を用いることで、第１のデータレジスタへの第１のデータの書き込みを簡単に行うことができる。また、この第１の書込用レジスタ機構では、書込用レジスタ段同士が互いに４相ハンドシェイキングのプロトコルによって通信し合うため、書込トークンレジスタ段同士が互いの動作状態を把握した上で、矛盾のない回路動作を実現することができる。この場合、書込トークンが遷移していく過程で各書込用レジスタ段は元の状態に復帰することとなる。
第２の書込用レジスタ機構についても同様である。
【００２１】
また、第６の形態として、第１の形態の非同期相関演算回路における前記第２のデータ供給部が、長さ２L−１（Ｌは３以上の整数）の前記第２の系列データを生成する非同期データ生成回路を有し、前記非同期データ生成回路は、１ビットデータレジスタ部を２線復号器及び２線符号化器で挟んで構成したＬ段の第１のデータレジスタ部と（Ｌ−１）段の第１の排他的論理和演算回路とを線形フィードバック接続した第１の線形フィードバックシフトレジスタ回路と、１ビットデータレジスタ部を２線復号器及び２線符号化器で挟んで構成したＬ段の第２のデータレジスタ部と（Ｌ−１）段の第２の排他的論理和演算回路とを線形フィードバック接続した第２の線形フィードバックシフトレジスタ回路と、前記第１の線形フィードバックシフトレジスタ回路からの出力値と前記第２の線形フィードバックシフトレジスタ回路からの出力値とを結合する結合部と、を有し、前記第１のデータレジスタ部の２線符号化器及び前記第２のデータレジスタ部の２線符号化器によって前記第２の２線符号化部が構成され、前記第１の線形フィードバックシフトレジスタ回路は、前記第１のデータレジスタ部それぞれの第１の初期値と、排他的論理和の演算を実行させる前記第１の排他的論理和演算回路とを設定可能に構成され、前記第２の線形フィードバックシフトレジスタ回路は、前記第２のデータレジスタ部それぞれの第２の初期値と、排他的論理和の演算を実行させる前記第２の排他的論理和演算回路とを設定可能に構成された、非同期相関演算回路を構成することとしてもよい。
【００２２】
この第６の形態によれば、第２のデータ供給部は、長さ２L−１（Ｌは３以上の整数）の第２の系列データを生成する非同期データ生成回路を有する。この非同期データ生成回路は、１ビットデータレジスタ部を２線復号器及び２線符号化器で挟んで構成したＬ段のデータレジスタ部と（Ｌ−１）段の排他的論理和演算回路とを線形フィードバック接続した線形フィードバックシフトレジスタ回路を２個有して構成され、それぞれの線形フィードバックシフトレジスタ回路からの出力値を結合することで第２の系列データを生成する。第１のデータレジスタ部の２線符号化器及び第２のデータレジスタ部の２線符号化器によって第２の２線符号化部が構成されているため、第２の系列データを構成する第２のデータが２線符号化されて非同期全加算部に供給されることになる。また、それぞれの線形フィードバックシフトレジスタ回路は、データレジスタ部それぞれの初期値と排他的論理和の演算を実行させる排他的論理和演算回路とを設定可能に構成されており、これらの設定を適切に行うことで、非同期データ生成回路に第２の系列データを適切に生成させることが可能となる。
【００２３】
この場合、第７の形態のように、第６の形態の非同期相関演算回路における前記第２のデータ供給部が、前記非同期データ生成回路に生成させる前記第２の系列データに応じた前記第１の初期値及び前記第１の排他的論理和演算回路の設定を行うとともに、当該第２の系列データに応じた前記第２の初期値及び前記第２の排他的論理和演算回路の設定を行う設定部を有する非同期相関演算回路を構成するようにすると効果的である。
【００２４】
この第７の形態によれば、第２のデータ供給部は、非同期データ生成回路に生成させる第２の系列データに応じた第１の初期値及び第１の排他的論理和演算回路の設定を行うとともに、当該第２の系列データに応じた第２の初期値及び第２の排他的論理和演算回路の設定を行う設定部を有する。これにより、第２の系列データとして異なる複数の系列データが存在する場合であっても、生成させたい系列データに応じた初期値及び排他的論理和演算回路の設定を行うことで、所望の第２の系列データを非同期データ生成回路に生成させることが可能となる。
【００２５】
また、第８の形態として、第１〜第７の何れかの形態の非同期相関演算回路において、前記第１の系列データは、衛星からの受信信号を時系列にサンプリングした系列データであり、前記第２の系列データは、前記衛星のレプリカコードを時系列にサンプリングした系列データであり、前記受信信号と前記レプリカコードとの相関値を算出する非同期回路である、非同期相関演算回路を構成することとしてもよい。
【００２６】
この第８の形態によれば、衛星からの受信信号とレプリカコードとの相関演算を行う非同期相関演算回路を実現することが可能となる。
【図面の簡単な説明】
【００２７】
【図１】ＧＰＳ受信機の機能構成の一例を示すブロック図。
【図２】第１の非同期相関演算回路の回路構成の一例を示す図。
【図３】非同期全加算部の回路構成の一例を示す図。
【図４】第１の非同期相関演算回路における受信データの書込用レジスタ機構及び読出用レジスタ機構の説明図。
【図５】第１の非同期相関演算回路におけるレプリカデータの書込用レジスタ機構及び読出用レジスタ機構の説明図。
【図６】レジスタ機構の構成及び動作の説明図。
【図７】読出用レジスタ機構の動作の説明図。
【図８】読出用レジスタ機構の動作の説明図。
【図９】読出用レジスタ機構における４相ハンドシェイキングの説明図。
【図１０】書込用レジスタ機構の動作の説明図。
【図１１】書込用レジスタ機構の動作の説明図。
【図１２】第２の非同期相関演算回路の回路構成の一例を示す図。
【図１３】第２の非同期相関演算回路における受信データ読出用レジスタ機構の説明図。
【図１４】第３の非同期相関演算回路におけるレプリカデータの供給の説明図。
【図１５】第３の非同期相関演算回路におけるレプリカデータ読出用レジスタ機構の説明図。
【図１６】第４の非同期相関演算回路の回路構成の一例を示す図。
【図１７】非同期レプリカデータ生成回路の回路構成の一例を示す図。
【図１８】排他的論理和演算回路の回路構成の一例を示す図。
【図１９】排他的論理和演算回路の演算に係る真理値表。
【図２０】設定用データのデータ構成の一例を示す図。
【発明を実施するための形態】
【００２８】
以下、図面を参照して、本発明を適用した好適な実施形態の一例について説明する。本実施形態は、衛星測位システムの一種であるＧＰＳを適用した実施形態である。本発明を適用可能な形態が以下説明する実施形態に限定されるわけでないことは勿論である。
【００２９】
図１は、ＧＰＳ衛星信号を受信する衛星信号受信装置の一種であるＧＰＳ受信機１の機能構成の一例を示すブロック図である。ＧＰＳ受信機１は、不図示のＧＰＳアンテナで受信されたＲＦ（Radio Frequency）信号からＧＰＳ衛星信号を捕捉し、捕捉したＧＰＳ衛星信号を利用して、位置を算出可能に構成された装置である。
【００３０】
ＧＰＳ受信機１は、ＲＦ受信回路部１０と、ベースバンド処理回路部２０とを備えて構成される。なお、ＲＦ受信回路部１０と、ベースバンド処理回路部２０とは、それぞれ別のＬＳＩ（Large Scale Integration）として製造することも、１チップとして製造することも可能である。
【００３１】
ＲＦ受信回路部１０は、ＧＰＳアンテナから出力されるＲＦ信号を受信する受信回路と、受信した信号（アナログ信号）を所与のサンプル時間間隔でサンプリングすることでＡ／Ｄ変換するＡ／Ｄ変換回路とを有し、受信信号を受信系列データとして出力する。
【００３２】
本実施形態では、１ミリ秒分の受信信号をＮ個にサンプリングして、Ｄ１〜ＤＮのＮ個の受信データを得るものとして説明する。また、受信データＤ１〜ＤＮは、量子化によってＭビット（Ｍ≧１）のデジタルデータに変換されるものとして説明する。本実施形態では、受信データの番号を“ｉ”を用いて表記する。すなわち、“Ｄｉ”は第ｉ番目の受信データであることを意味する。受信データは第１のデータに相当する。
【００３３】
ベースバンド処理回路部２０は、ＲＦ受信回路部１０から出力される受信系列データに対して、搬送波（キャリア）の除去や相関演算等を行ってＧＰＳ衛星信号を捕捉する。そして、捕捉したＧＰＳ衛星信号から抽出した時刻情報や衛星軌道情報等を利用して、位置や時計誤差を算出する。
【００３４】
本実施形態において、ベースバンド処理回路部２０は、主要な構成として、非同期相関演算回路１００と、レプリカコード生成部２００と、処理部３００と、記憶部４００とを有して構成される。
【００３５】
非同期相関演算回路１００は、ＲＦ受信回路部１０から出力される第１の系列データとしての受信系列データと、レプリカコード生成部２００によって生成される第２の系列データとしてのレプリカコードとの相関演算を行う非同期式の相関演算回路である。非同期相関演算回路１００の構成及び動作については、第１実施形態〜第４実施形態で詳細に説明する。
【００３６】
レプリカコード生成部２００は、ＧＰＳ衛星信号の拡散符号であるＣ／Ａコードを模擬した擬似的なコードであるレプリカコードを生成する回路である。レプリカコード生成部２００は、処理部３００から出力されるＰＲＮ番号（衛星番号）に従って、当該ＰＲＮ番号が割り当てられたＧＰＳ衛星に係るレプリカコードを生成する。レプリカコード生成部２００は、コードＮＣＯ（Numerical Controlled Oscillator）等の発振器を有して構成される。
【００３７】
本実施形態において、レプリカコードは、受信信号と同じサンプリングレートでサンプリングされる。具体的には、１ミリ秒分のレプリカコードは、受信データと同数のＮ個のレプリカデータＣ１〜ＣＮにサンプリングされる。本実施形態では、レプリカデータの番号を“ｊ”を用いて表記する。すなわち、“Ｃｊ”は第ｊ番目のレプリカデータであることを意味する。レプリカデータは、“０”又は“１”の１ビットで表される。レプリカデータは第２のデータに相当する。
【００３８】
処理部３００は、ベースバンド処理回路部２０の各機能部を統括的に制御する制御装置及び演算装置であり、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）等のプロセッサーを有して構成される。
【００３９】
処理部３００は、本実施形態に関わる主要な機能部として、演算完了検知部３１０と、受信データ書込制御部３２０と、受信データ読出制御部３３０と、レプリカデータ書込制御部３４０と、レプリカデータ読出制御部３５０とを有する。これらの機能部については後述する。
【００４０】
記憶部４００は、ベースバンド処理回路部２０のシステムプログラムや、衛星捕捉・追尾制御機能、位置算出機能といった各種機能を実現するための各種プログラム、データ等を記憶する。また、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを有する。
【００４１】
１．第１実施形態
１−１．非同期相関演算回路の構成
図２は、第１実施形態における第１の非同期相関演算回路１００Ａの回路構成の一例を示す図である。以下参照する図面では、２線符号化されたデータの流れを太線で図示し、２線符号化されていないデータと区別する。
【００４２】
第１の非同期相関演算回路１００Ａは、受信データ供給部１１０と、レプリカデータ供給部１２０と、非同期全加算部１５０と、２線復号部１６０と、加算結果記憶部１７０と、加算結果２線符号化部１８０とを有して構成される。
【００４３】
受信データ供給部１１０は、ＲＦ受信回路部１０から出力される受信系列データを時系列にサンプリングしたＭビットの受信データのうち、非同期全加算部１５０の演算が完了する毎に次の演算に供すべき受信データを供給するデータ供給部である。受信データ供給部１１０は、受信データ記憶部１１０Ａと、受信データ２線符号化部１１０Ｂと、受信データ選択部１１０Ｃとを有して構成される。
【００４４】
受信データ記憶部１１０Ａは、ＲＦ受信回路部１０から出力される受信系列データを構成するＭビットの受信データを記憶する記憶回路である。本実施形態において、受信データ記憶部１１０Ａは、受信データそれぞれに対応して当該受信データを記憶する受信データレジスタ群を有して構成される。
【００４５】
受信データ２線符号化部１１０Ｂは、受信データ記憶部１１０Ａから出力される受信データを２線符号化方式に従って２線符号化する。本実施形態において、受信データ２線符号化部１１０Ｂは、受信データ記憶部１１０Ａを構成する受信データレジスタそれぞれに対応する２線符号化器を有して構成される。受信データ２線符号化部１１０Ｂは、第１の２線符号化部に相当する。
【００４６】
受信データ選択部１１０Ｃは、非同期全加算部１５０の演算が完了する毎に読出トークンを次段の読出トークンレジスタ段に移動させる受信データ読出用レジスタ機構を有し、当該読出トークンに基づいて次の演算に供すべき受信データに対応する受信データ２線符号化器を選択することで、非同期全加算部１５０に受信データを順次に供給する。
【００４７】
レプリカデータ供給部１２０は、レプリカコード生成部２００から出力されるレプリカコードを時系列にサンプリングした１ビットのレプリカデータのうち、次の演算に供すべきレプリカデータを非同期全加算部１５０の演算が完了する毎に供給するデータ供給部である。レプリカデータ供給部１２０は、レプリカデータ記憶部１２０Ａと、レプリカデータ２線符号化部１２０Ｂと、レプリカデータ選択部１２０Ｃとを有して構成される。
【００４８】
レプリカデータ記憶部１２０Ａは、レプリカコード生成部２００から出力されるレプリカコードを構成するレプリカデータを記憶する記憶装置である。本実施形態において、レプリカデータ記憶部１２０Ａは、レプリカデータそれぞれに対応して当該レプリカデータを記憶するレプリカデータレジスタ群を有して構成される。
【００４９】
レプリカデータ２線符号化部１２０Ｂは、レプリカデータ記憶部１２０Ａから出力されるレプリカデータを２線符号化方式に従って２線符号化する符号化部である。本実施形態において、レプリカデータ２線符号化部１２０Ｂは、レプリカデータ記憶部１２０Ａを構成するレプリカデータレジスタそれぞれに対応する２線符号化器を有して構成される。レプリカデータ２線符号化部１２０Ｂは、第２の２線符号化部に相当する。
【００５０】
レプリカデータ選択部１２０Ｃは、非同期全加算部の演算が完了する毎に読出トークンを次段の読出トークンレジスタ段に移動させるレプリカデータ読出用レジスタ機構を有する。そして、当該読出トークンに基づいて次の演算に供すべきレプリカデータに対応するレプリカデータ２線符号化器を選択することで、非同期全加算部１５０にレプリカデータを順次に供給させる。
【００５１】
表１に、２線符号化方式の真理値表を示す。
【表１】
2014022975.tif 000003
【００５２】
２線符号化方式は、１ビットのデータｂを２本の信号線対“（ｂ＿１，ｂ＿０）”を用いて表現する方式である。“ｂ＿１”が肯定の信号線に対応し、“ｂ＿０”が否定の信号線に対応する。“（ｂ＿１，ｂ＿０）”が“（０，０）”の状態はＮｕｌｌと呼ばれ、データとデータの区切りに用いられる。“（０，１）”の状態は“０”を表し、“（１，０）”の状態は“１”を表す。また、“（１，１）”の状態はＩｎｈｉｂｉｔと呼ばれ、動作上とり得ない不正値である。
【００５３】
非同期回路では、この２線符号化方式に従って２線符号化したデータを用いて、回路ブロック間でのデータの入出力を行う。データの入出力は、有効符号語“１”或いは“０”を用いて行われる。無効符号語“Ｎｕｌｌ”は、非演算時や、各データ間の区切りに用いられる。同一の有効符号語が連続して送信されると、受信側ではデータの区切りを識別することができないため、有効符号語と無効符号語とを交互に伝送することで、有効符号語の識別を可能にしている。
【００５４】
非同期全加算部１５０は、加算結果２線符号化部１８０の出力値に、受信データ供給部１１０からの出力値を、レプリカデータ供給部１２０からの出力値に応じた符号で加算して出力する。非同期全加算部１５０は、第１の入力ポートＸと、第２の入力ポートＹと、キャリー入力ポートＣｉｎと、出力ポートＺとを有して構成される。
【００５５】
第１の入力ポートＸには、受信データ２線符号化部１１０Ｂによって２線符号化された受信データ“（Ｄｉ＿１，Ｄｉ＿０）”が入力される。
第２の入力ポートＹには、加算結果２線符号化部１８０によって２線符号化された非同期全加算部１５０の積和演算値“（Ａ＿１，Ａ＿０）”がフィードバック入力される。
キャリー入力ポートＣｉｎには、レプリカデータ２線符号化部１２０Ｂによって２線符号化されたレプリカデータ“（Ｃｊ＿１，Ｃｊ＿０）”が入力される。
【００５６】
受信データＤｉはそれぞれＭビットのデータである。それに対し、レプリカデータＣｊは１ビットのデータである。非同期全加算部１５０は、１ビットのレプリカデータＣｊをキャリー入力とし、非同期全加算部１５０の最新の積和演算値Ａに、受信データＤｉを、レプリカデータＣｊに応じた符号で加算する。受信データＤｉとレプリカデータＣｊとを非同期全加算部１５０に順次に供給することで、非同期全加算部１５０では、受信データＤｉとレプリカデータＣｊとの積和演算が行われる。
【００５７】
２線復号部１６０は、非同期全加算部１５０から出力される積和演算値Ａを２線符号化方式に従って復号する。非同期全加算部１５０では、２線符号化されたビット値を用いた演算が行われ、その演算結果も２線符号化されているため、表１の真理値表に従って積和演算値Ａを復号して、加算結果記憶部１７０に出力する。
【００５８】
加算結果記憶部１７０は、２線復号部１６０によって復号された積和演算値Ａを記憶する記憶回路であり、例えばアキュムレーターとして構成される。加算結果記憶部１７０に記憶された積和演算値Ａは、処理部３００に出力されるとともに、加算結果２線符号化部１８０にフィードバック出力される。
【００５９】
加算結果２線符号化部１８０は、加算結果記憶部１７０から入力した積和演算値Ａを２線符号化する２線符号化器である。２線符号化された積和演算値Ａは、非同期全加算部１５０の第２の入力ポートＹに入力される。加算結果２線符号化部１８０は、第３の２線符号化部に相当する。
【００６０】
受信データに対するレプリカデータのずらし量を“ｋ”とした場合、非同期全加算部１５０において演算される相関値“Ｃｏｒｒ（ｋ）”は、次式（１）で与えられる。
【数１】
2014022975.tif 000004
【００６１】
例えば、レプリカデータのずらし量をゼロとする場合（ｋ＝０）、非同期全加算部１５０によって演算される相関値“Ｃｏｒｒ（０）”は、次式（２）で与えられる。
【数２】
2014022975.tif 000005
【００６２】
処理部３００は、演算完了検知部３１０が、非同期全加算部１５０の演算が完了したことを検知する毎に、受信データ読出制御部３３０が、受信データのうちの次の演算に供すべき受信データを受信データレジスタから順次に読み出させる制御を行って、受信データ２線符号化部１１０Ｂから当該受信データを出力させる。また、これと併せて、レプリカデータ読出制御部３５０が、レプリカデータのうちの次の演算に供すべきレプリカデータをレプリカデータレジスタから順次に読み出させる制御を行って、レプリカデータ２線符号化部１２０Ｂから当該レプリカデータを出力させる。
【００６３】
演算完了検知部３１０は、例えば、加算結果記憶部１７０から出力される積和演算値Ａの変化に基づいて、非同期全加算部１５０による演算の完了を検知する。つまり、加算結果記憶部１７０に記憶されている積和演算値Ａが直前の値から変化したことで以って、非同期全加算部１５０において新たな１回分の演算が完了したと判断する。
【００６４】
１−２．非同期全加算部の構成
図３は、非同期全加算部１５０の回路構成の一例を示す図である。非同期全加算部１５０は、論理否定回路１５１と、選択回路１５３と、全加算器１５５とを有して構成される。
【００６５】
論理否定回路１５１は、受信データ２線符号部１１０Ｂから入力した２線符号化された受信データを論理否定する回路であり、論理否定結果を選択回路１５３に出力する。
【００６６】
選択回路１５３は、レプリカデータ２線符号化部１２０Ｂから入力した２線符号化されたレプリカデータに基づいて、受信データ２線符号部１１０Ｂから出力された受信データと、論理否定回路１５１によって論理否定された受信データとを択一的に選択する回路である。選択回路１５３は、選択した受信データを全加算器１５５に出力する。
【００６７】
選択回路１５３は、入力したレプリカデータＣｊが“０”である場合は、受信データ２線符号部１１０Ｂから出力される受信データを選択して全加算器１５５に出力する。それに対し、入力したレプリカデータＣｊが“１”である場合は、論理否定回路１５１から出力される論理否定された受信データを選択して全加算器１５５に出力する。
【００６８】
論理否定回路１５１では、受信データの１の補数が演算される。この演算結果にレプリカデータの“１”を加算すると、受信データの２の補数となる。被減数に減数の２の補数を加算すると減算が実現される。この場合の減数は受信データＤｉであり、被減数は積和演算値Ａである。従って、レプリカデータＣｊが“１”である場合は、全加算器１５５において、最新の積和演算値Ａに受信データＤｉが符号を反転して加算（すなわち減算）されることになる。一方、レプリカデータＣｊが“０”の場合は、全加算器１５５において、最新の積和演算値Ａに受信データＤｉが符号を反転せずにそのまま加算される。
【００６９】
つまり、非同期全加算部１５０は、２の補数表現に基づき、レプリカデータＣｊが“０”と“１”の何れであるかによって、積和演算値Ａに受信データＤｉを加算或いは減算する演算部であると言える。
【００７０】
１−３．レジスタ機構の構成
受信データ選択部１１０Ｃは、演算完了検知部３１０が非同期全加算部１５０の演算の完了を検知する毎に、受信系列データのうちの次の演算に供すべき受信データを順次切り替えて選択するための機構として受信データ読出用レジスタ機構を有する。また、レプリカデータ選択部１２０Ｃは、演算完了検知部３１０が非同期全加算部１５０の演算の完了を検知する毎に、レプリカコードのうちの次の演算に供すべきレプリカデータを順次切り替えて選択するための機構としてレプリカデータ読出用レジスタ機構を有する。
【００７１】
受信データ読出用レジスタ機構は、互いに４相ハンドシェイキングのプロトコルによって通信し合う読出トークンレジスタ段を受信データそれぞれに対応付けて設け、読出トークンが読出トークンレジスタ段を循環するように構成された読出用レジスタ機構である。受信データ読出用レジスタ機構は、非同期全加算部１５０の演算が完了する毎に読出トークンを次段の読出トークンレジスタ段に移動させる。そして、当該読出トークンに基づいて次の演算に供すべき受信データに対応する受信データ２線符号化器を選択することで、２線符号化した受信データを非同期全加算部１５０に供給する。
レプリカデータ読出用レジスタ機構についても同様である。
【００７２】
また、第１の非同期相関演算回路１００Ａは、受信データレジスタへの受信データの書き込みを実現するための機構として、受信データ書込用レジスタ機構を備える。また、レプリカデータレジスタへのレプリカデータの書き込みを実現するための機構として、レプリカデータ書込用レジスタ機構を備える。
【００７３】
受信データ書込用レジスタ機構は、互いに４相ハンドシェイキングのプロトコルによって通信し合う書込トークンレジスタ段を受信データレジスタそれぞれに対応付けて設けた書込用レジスタ機構であって、書込トークンを次段の書込トークンレジスタ段に順次移動させ、当該書込トークンに基づいて受信データを対応する受信データレジスタに記憶させる機構である。
レプリカデータ書込用レジスタ機構についても同様である。
【００７４】
１−３−１．受信データ用のレジスタ機構
図４は、受信データの読み出し及び書き込みに係る受信データ読出用レジスタ機構及び受信データ書込用レジスタ機構の概略構成図である。
受信データ記憶部１１０Ａは、受信データＤ１〜ＤＮをそれぞれ記憶するための受信データレジスタＲｄ１〜ＲｄＮを有して構成される。また、受信データ２線符号化部１１０Ｂは、受信データレジスタＲｄ１〜ＲｄＮと一対一に対応付けられた受信データ２線符号化器Ｅｄ１〜ＥｄＮを有して構成される。受信データレジスタＲｄ１〜ＲｄＮからは、記憶している受信データが、対応する受信データ２線符号化器Ｅｄ１〜ＥｄＮに随時出力される。また、受信データ選択部１１０Ｃは、次の演算に供すべき受信データに対応する受信データ２線符号化器を選択するための機構として、受信データ読出用レジスタ機構を有して構成される。
【００７５】
（１）受信データ読出用レジスタ機構
受信データ読出用レジスタ機構は、受信データ２線符号化器Ｅｄ１〜ＥｄＮにそれぞれ接続されたＮ個の読出トークンレジスタ段Ｓｄ１〜ＳｄＮを環状に接続して構成される。読出トークンレジスタ段Ｓｄ１〜ＳｄＮが環状に接続されていることで、読出トークンは、読出トークンレジスタ段を循環することになる。つまり、読出トークンは、Ｓｄ１から順番に読出トークンレジスタ段を移動（遷移）していき、ＳｄＮに到達した後、再びＷｄ１に戻る。受信データ読出用レジスタ機構は、読出トークンレジスタ段の間で読出トークンを移動させ、受信データ２線符号化器Ｅｄ１〜ＥｄＮへのアクセス権を順次に切り替えることで、受信データ２線符号化器Ｅｄ１〜ＥｄＮから、２線符号化した受信データを非同期全加算部１５０に出力させる機構である。
【００７６】
この読出用レジスタ機構の動作については詳細に後述するため、ここでは受信データ２線符号化器に２線符号化を実行させるまでの手順を簡単に述べる。受信データ読出制御部３３０が、演算完了検知部３１０による非同期全加算部１５０の演算完了の検知を受けて、読出トークンを保持している読出トークンレジスタ段に読出要求信号Ｇｅｔを出力する。読出要求信号Ｇｅｔを入力した読出トークンレジスタ段は、接続先の受信データ２線符号化器に対して２線符号化指示信号Ｓｅｎｄを出力し、対応する受信データレジスタから出力されている受信データを当該受信データ２線符号化器に２線符号化させて出力させる。
【００７７】
例えば、図４では、読出トークンを読出トークンレジスタ段Ｓｄ２が保持している（Ｓｄ２を二重丸で図示）。そのため、受信データ読出制御部３３０は、読出トークンレジスタ段Ｓｄ２に対して読出要求信号Ｇｅｔを出力する（実線矢印参照）。すると、読出トークンレジスタ段Ｓｄ２は、受信データ２線符号化器Ｅｄ２に対して２線符号化指示信号Ｓｅｎｄを出力する（実線矢印参照）。これを受けて、受信データ２線符号化器Ｅｄ２は、受信データレジスタＲｄ２から出力される受信データＤ２を２線符号化して出力する（太実線矢印参照）。
【００７８】
（２）書込用レジスタ機構
受信データ書込用レジスタ機構は、受信データレジスタＲｄ１〜ＲｄＮにそれぞれ接続されたＮ個の書込トークンレジスタ段Ｗｄ１〜ＷｄＮを環状に接続して構成される。書込トークンレジスタ段Ｗｄ１〜ＷｄＮが環状に接続されていることで、書込トークンは、書込トークンレジスタ段を循環することになる。つまり、書込トークンは、Ｗｄ１から順番に書込トークンレジスタ段を移動（遷移）していき、ＷｄＮに到達した後、再びＷｄ１に戻る。受信データ書込用レジスタ機構は、書込トークンレジスタ段の間で書込トークンを移動させ、受信データレジスタＲｄ１〜ＲｄＮへのアクセス権を切り替えることで、受信データレジスタＲｄ１〜ＲｄＮへの受信データの書き込みを順次に実現する機構である。
【００７９】
受信データ書込制御部３２０は、書込トークンを保持している書込トークンレジスタ段に対して書込要求信号Ｐｕｔを出力する。これを受けて、当該書込トークンレジスタ段は、接続先の受信データレジスタに取込指示信号Ｗｒを出力することで、対応する番号の受信データを当該受信データレジスタに取り込ませる。
【００８０】
例えば、図４では、書込トークンを書込トークンレジスタ段Ｗｄ３が保持している（Ｗｄ３を二重丸で図示）。そのため、受信データ書込制御部３２０は、書込トークンレジスタ段Ｗｄ３に対して書込要求信号Ｐｕｔを出力する（実線矢印参照）。これを受けて、書込トークンレジスタ段Ｗｄ３は、受信データレジスタＲｄ３に対して取込指示信号Ｗｒを出力し（実線矢印参照）、受信データレジスタＲｄ３に受信データＤ３を取り込ませる（実線矢印参照）。
【００８１】
１−３−２．レプリカデータ用のレジスタ機構
図５は、レプリカデータ用のレジスタ機構の構成を図示したものである。
レプリカデータ記憶部１２０Ａは、レプリカデータＣ１〜ＣＮそれぞれに対応して、当該レプリカデータを記憶するレプリカデータレジスタ群を有する。レプリカデータレジスタ群は、Ｎ個のレプリカデータレジスタＲｃ１〜ＲｃＮで構成される。また、レプリカデータ２線符号化部１２０Ｂは、レプリカデータレジスタ群を構成するレプリカデータレジスタそれぞれに対応するレプリカデータ２線符号化器Ｅｃ１〜ＥｃＮを有して構成される。また、レプリカデータ選択部１２０Ｃは、次の演算に供すべきレプリカデータに対応するレプリカデータ２線符号化器を選択するための機構として、レプリカデータ読出用レジスタ機構を有して構成される。
【００８２】
レプリカデータ読出用レジスタ機構は、レプリカデータ２線符号化器Ｅｃ１〜ＥｃＮにそれぞれ接続されたＮ個の読出トークンレジスタ段Ｓｃ１〜ＳｃＮを環状に接続して構成される。また、レプリカデータ書込用レジスタ機構は、レプリカデータレジスタＲｃ１〜ＲｃＮにそれぞれ接続されたＮ個の書込トークンレジスタ段Ｗｃ１〜ＷｃＮを環状に接続して構成される。
【００８３】
レプリカデータ読出用レジスタ機構及びレプリカデータ書込用レジスタ機構の動作は、図４で説明した受信データ読出用レジスタ機構及び受信データ書込用レジスタ機構の動作と同一である。但し、レジスタ機構の制御の主体が異なり、レプリカデータ読出用レジスタ機構の制御はレプリカデータ読出制御部３５０が行い、レプリカデータ書込用レジスタ機構の制御はレプリカデータ書込制御部３４０が行う。
【００８４】
１−３−３．レジスタ機構の具体的な構成及び動作
次に、上述した読出用レジスタ機構及び書込用レジスタ機構の構成及び動作について詳細に説明する。これらのレジスタ機構の構成及び動作は、受信データ用のレジスタ機構もレプリカデータ用のレジスタ機構も変わるところがない。そのため、ここでは一般化して説明を行う。つまり、受信データ読出用レジスタ機構及びレプリカデータ読出用レジスタ機構を包括して読出用レジスタ機構とし、受信データ書込用レジスタ機構及びレプリカデータ書込用レジスタ機構を包括して書込用レジスタ機構として説明する。
【００８５】
図６（１）は、書込用レジスタ機構及び読出用レジスタ機構の全体構成図であり、図６（２）は、そのうちの第ｎ番目の書込トークンレジスタ段及び読出トークンレジスタ段に着目した回路構成図である。レジスタ段を一般化し、書込トークンレジスタ段を“Ｗｎ＝Ｗ１〜ＷＮ”と表記し、読出トークンレジスタ段を“Ｓｎ＝Ｓ１〜ＳＮ”と表記する。また、データが格納されるデータレジスタを一般化して“Ｒｎ＝Ｒ１〜ＲＮ”と表記し、データを２線符号化する２線符号化器を一般化して“Ｅｎ＝Ｅ１〜ＥＮ”と表記する。
【００８６】
図６（１）に示すように、書込用レジスタ機構の隣接する２つの書込トークンレジスタ段同士は、２本の信号線によって接続されている。また、末端部に位置する書込トークンレジスタ段Ｗ１及びＷＮでは、それぞれ信号線が折り返されている。各書込トークンレジスタ段Ｗ１〜ＷＮは、データレジスタＲ１〜ＲＮにそれぞれ接続されている。
【００８７】
同様に、読出用レジスタ機構の隣接する２つの読出トークンレジスタ段同士は、２本の信号線によって接続されている。また、末端部に位置する読出トークンレジスタ段Ｓ１及びＳＮでは、それぞれ信号線が折り返されている。但し、各読出トークンレジスタ段Ｓ１〜ＳＮは、２線符号化器Ｅ１〜ＥＮにそれぞれ接続されている。
【００８８】
図６（２）に示すように、書込トークンレジスタ段及び読出トークンレジスタ段は、それぞれ、ＡＮＤ素子Ｐ１と、否定入力型のＡＮＤ素子Ｐ２と、Ｃ素子Ｑ１と、否定出力型のＣ素子Ｑ２とを接続してなる回路である。
【００８９】
Ｃ素子は、マラー（Muller）のＣ素子として知られる論理素子であり、その真理値表を表２に示す。
【表２】
2014022975.tif 000006
【００９０】
表２に示すように、Ｃ素子は、入力がともに“０”になったときに“０”を出力し、入力がともに“１”になったときに“１”を出力する素子である。内部に記憶素子を有しており、２つの入力が異なっている間は直前の値を保持し、出力を変化させない。
【００９１】
次に、書込用レジスタ機構で用いられる信号について説明する。信号線を表す矢印の始点側のレジスタ段を上流側のレジスタ段と定義し、矢印の終点側のレジスタ段を下流側のレジスタ段と定義する。
【００９２】
図６（２）に示す書込用レジスタ機構において、“ｌｃＰｕｔ”及び“ｒｃＰｕｔ”は、書込用レジスタ機構の上側の信号線を伝送する信号であり、書込トークンの転送モードであることを示す信号（以下、「書込トークン転送モード信号」と称す。）である。“ｌｃＰｕｔ”は上流の書込トークンレジスタ段からの信号を示し、“ｒｃＰｕｔ”は下流の書込トークンレジスタ段への信号を示している。これらの書込トークン転送モード信号がアサートされると書込トークンの転送モードがＯＮとなり、ネゲートされるとＯＦＦとなる。
【００９３】
“ｒｄＰｕｔ”及び“ｌｄＰｕｔ”は、書込用レジスタ機構の下側の信号線を伝送する信号であり、書込トークンを転送させることを表す信号（以下、「書込トークン転送信号」と称す。）である。“ｒｄＰｕｔ”は上流の書込トークンレジスタ段からの信号であり、“ｌｄＰｕｔ”は下流の書込トークンレジスタ段への信号である。これらの書込トークン転送信号は、書込トークンを次段の書込トークンレジスタ段に転送させるための信号である。
【００９４】
“Ｐｕｔ”は書込制御部からの書込要求信号であり、“ａｃｋＰｕｔ”は書込制御部に対する書込認証信号である。受信データ書込用レジスタ機構では、受信データ書込制御部３２０が書込制御部となり、レプリカデータ書込用レジスタ機構では、レプリカデータ書込制御部３４０が書込制御部となる。また、“Ｗｒ”は当該書込トークンレジスタ段から接続先のデータレジスタに対して出力されるデータの取込指示信号である。
【００９５】
同様に、読出用レジスタ機構で用いられる信号について説明する。図６（２）の回路において、“ｌｃＧｅｔ”及び“ｒｃＧｅｔ”は、読出用レジスタ機構の下側の信号線を伝送する信号であり、読出トークンの転送モードであることを表す信号（以下、「読出トークン転送モード信号」と称す。）である。“ｌｃＧｅｔ”は上流の読出トークンレジスタ段からの信号である。“ｒｃＧｅｔ”は下流の読出トークンレジスタ段への信号である。これらの読出トークン転送モード信号がアサートされることで読出トークンの転送モードがＯＮとなり、ネゲートされることでＯＦＦとなる。
【００９６】
“ｒｄＧｅｔ”及び“ｌｄＧｅｔ”は、読出用レジスタ機構の上側の信号線を伝送する信号であり、読出トークンを転送させることを表す信号（以下、「読出トークン転送信号」と称す。）である。“ｒｄＧｅｔ”は上流の読出トークンレジスタ段からの信号である。“ｌｄＧｅｔ”は下流の読出トークンレジスタ段への信号である。これらの読出トークン転送信号は、読出トークンを次段の読出トークンレジスタ段に転送させるための信号である。
【００９７】
“Ｇｅｔ”は読出制御部からの読出要求信号であり、“ａｃｋＧｅｔ”は読出制御部に対する読出認証信号である。受信データ読出用レジスタ機構では、受信データ読出制御部３３０が読出制御部となり、レプリカデータ読出用レジスタ機構では、レプリカデータ読出制御部３５０が書込制御部となる。また、“Ｓｅｎｄ”は当該書込トークンレジスタ段から接続先の２線符号化器に対して出力される２線符号化指示信号である。
【００９８】
次に、各レジスタ機構の動作について説明する。書込用レジスタ機構及び読出用レジスタ機構の動作は互いに似通っており、一方のレジスタ機構の動作を説明すれば、他方のレジスタ機構の動作は自明である。そのため、ここでは、読出用レジスタ機構の動作に着目して説明する。
【００９９】
図７及び図８は、読出用レジスタ機構の動作の説明図である。なお、図７及び図８では、アサートされてアクティブ状態になっている信号に係る信号線を太実線で図示し、ネゲートされてインアクティブ状態になっている信号に係る信号線を通常の実線で図示している。また、値が変化した信号については、その値を矩形で囲んで示している。
【０１００】
初期状態では、図７（１）に示すように、全ての読出トークンレジスタ段について、ｌｃＧｅｔ、ｒｃＧｅｔ、ｒｄＧｅｔ、ｌｄＧｅｔ及びＧｅｔが“０”となっている。この場合、各論理素子の出力は図７（１）のようになる。
【０１０１】
次に、読出トークンの転送モードに移行するために、読出トークンレジスタ段ＳＮを起点として、読出トークンレジスタ段ＳＮのｌｃＧｅｔをアサートする。すると、ＡＮＤ素子Ｐ２の出力が“１”に変化し、それに伴い、下流の読出トークンレジスタ段に対するｒｃＧｅｔがアサートされる。
【０１０２】
前述したように、読出トークンレジスタ段は２本の信号線によって接続されている。そのため、最上流の読出トークンレジスタ段ＳＮのｒｃＧｅｔがアサートされることで、最下流側の読出トークンレジスタ段Ｓ１までのｌｃＧｅｔ及びｒｃＧｅｔが全てアサートされる。すなわち、読出トークンレジスタ段ＳＮのｒｃＧｅｔがアサートされると、その直下の読出トークンレジスタ段Ｓ（Ｎ−１）のｌｃＧｅｔがアサートされる。すると、読出トークンレジスタ段Ｓ（Ｎ−１）のｒｃＧｅｔがアサートされる。
【０１０３】
これを繰り返して、最下流の読出トークンレジスタ段Ｓ１のｌｃＧｅｔがアサートされ、ｒｃＧｅｔがアサートされる。これは、読出用レジスタ機構が、読出トークンを転送するための転送モードに移行したことを意味する。この状態が、図７（２）に示す状態である。
【０１０４】
ここからは、読出トークンレジスタ段Ｓ１からＳＮまで順番に読出トークンを転送させていくことになる。読出トークンレジスタ段Ｓ１では信号線が折り返している。そのため、読出トークンレジスタ段Ｓ１のｒｃＧｅｔがアサートされると、読出トークンレジスタ段Ｓ１に対して読出トークンの転送を要求するｒｄＧｅｔがアサートされる。これは、読出トークンが読出トークンレジスタ段Ｓ１に移動したことを意味する。この状態が、図７（３）に示す状態である。
【０１０５】
読出制御部は、読出トークンを保持している読出トークンレジスタ段Ｓ１に対してデータの読み出しを行わせるために、Ｇｅｔをアサートする。すると、Ｃ素子Ｑ１の出力が“０”から“１”に変化することで、２線符号化器に対する２線符号化指示信号Ｓｅｎｄがアサートされる。これにより、２線符号化器Ｅ１では、データレジスタから出力されるデータの２線符号化が行われ、２線符号化されたデータが非同期全加算部１５０に出力される。
【０１０６】
また、Ｇｅｔがアサートされることで、ａｃｋＧｅｔがアサートされる。また、ＡＮＤ素子Ｐ１の出力が“１”から“０”に変化することで、ｒｃＧｅｔがネゲートされる。この状態が、図８（１）に示す状態である。
【０１０７】
ｒｃＧｅｔがネゲートされたことで、読出トークンレジスタ段Ｓ１に折り返して入力されるｒｄＧｅｔがネゲートされる。この状態が、図８（２）に示す状態である。
【０１０８】
読出トークンレジスタ段Ｓ１から読出認証信号を入力した読出制御部は、読出トークンレジスタ段Ｓ１に対する読出要求信号Ｇｅｔをネゲートする。すると、Ｃ素子Ｑ１の出力が“１”から“０”に変化し、それに伴い、２線符号化指示信号Ｓｅｎｄがネゲートされる。これにより、２線符号化器でのデータの２線符号化が停止される。
【０１０９】
また、これに伴い、ａｃｋＧｅｔがネゲートされる。また、ＡＮＤ素子Ｐ２の出力が“０”から“１”に変化することで、ｌｄＧｅｔがアサートされる。これは、次段の読出トークンレジスタ段Ｓ２に対して読出トークンを転送することを意味する。この状態が、図８（３）に示す状態である。
【０１１０】
ここまでの手順で、読出トークンレジスタ段Ｓ１でのデータの読み出しに係る動作が終了となる。図８（３）において次段の読出トークンレジスタ段Ｓ２に読出トークンが転送されると、次は読出トークンレジスタ段Ｓ２でのデータの読み出しが同様の手順で行われる。この手順を読出トークンレジスタ段ＳＮまで繰り返すことで、読出トークンレジスタ段Ｓ１から順番にデータの読み出しが実行され、２線符号化されたデータが非同期全加算部１５０に順次に供給されることになる。
【０１１１】
非同期全加算部１５０による１回分の相関演算が終了すると、次はレプリカデータの読出開始位置を１つだけずらして、再びレプリカデータを順番に読み出して非同期全加算部１５０に供給することで、レプリカコードの位相をずらして受信信号との相関演算を行うことができる。この場合は、初期状態において読出トークンを格納する読出トークンレジスタ段を１つだけずらし、当該読出トークンレジスタ段を起点として、読出トークンを順番に移動させていくように制御すればよい。
【０１１２】
図９は、読出用レジスタ機構における４相ハンドシェイキングによる通信の説明図であり、各々の信号の遷移を時系列に図式化したものである。最初にｌｃＧｅｔのアサートに伴いｒｃＧｅｔがアサートされ（図７（２）の状態）、それに伴い、ｒｄＧｅｔがアサートされる（図７（３）の状態）。この状態でＧｅｔがアサートされると、Ｓｅｎｄがアサートされる（図８（１）の状態）。
【０１１３】
ＳｅｎｄがアサートされるとｒｃＧｅｔがネゲートされ、それに伴いｒｄＧｅｔがネゲートされる（図８（２）の状態）。そして、この状態でＧｅｔがネゲートされると、Ｓｅｎｄがネゲートされ、ｌｄＧｅｔがアサートされる（図８（３）の状態）。
【０１１４】
隣接する読出トークンレジスタ段は、互いに４相ハンドシェイキングのプロトコルによって通信し合っている。すなわち、読出トークン転送モード信号ｒｃＧｅｔがアサートされたことを受けて、ある読出トークンレジスタ段（以下、「要求元読出トークンレジスタ段」と称す。）が１つ下流の読出トークンレジスタ段（以下、「要求先読出トークンレジスタ段」と称す。）に対してリクエストとして読出トークン転送モード信号ｒｄＧｅｔをアサートすると、要求先読出トークンレジスタ段は、要求元読出トークンレジスタ段に対するアクノレッジとして、読出トークン転送モード信号ｒｃＧｅｔをネゲートする。読出トークン転送モード信号ｒｃＧｅｔのネゲートを受けて、要求元読出トークンレジスタ段は、要求先読出トークンレジスタ段に対する読出トークン転送信号ｒｄＧｅｔをネゲートする。
【０１１５】
つまり、隣り合う読出トークンレジスタ段の間で、送信側がリクエスト信号をアサートすると、これを受けて受信側はアクノレッジ信号をアサートする。すると、送信側はリクエスト信号をネゲートし、これを受けて受信側はアクノレッジ信号をネゲートする。従って、読出トークンレジスタ段は、お互いに４相ハンドシェイキングのプロトコルによって通信し合っていることになる。
【０１１６】
図１０及び図１１は、書込用レジスタ機構における動作の手順を図示したものである。先に述べたように、書込用レジスタ機構の動作は、読出用レジスタ機構の動作に準じており、図７及び図８で説明した読出用レジスタ機構の動作に基づいて、書込用レジスタ機構の動作も同様に導き出すことができる。そのため、図示のみを行うこととして、書込用レジスタ機構の動作については詳細な説明を省略する。
【０１１７】
１−４．作用効果
第１の非同期相関演算回路１００Ａにおいて、非同期全加算部１５０が２線符号化されたデータを入力するように構成したことで、非同期全加算部１５０は、有効データの到来を確実に検知して演算を行うことが可能となる。非同期全加算部１５０では、当該非同期全加算部１５０の最新の加算結果に受信データを加算する演算が行われる。この場合において、相関演算の相手方となるレプリカデータの符号が正であれば受信データを足し込み（すなわち加算する）、相関演算の相手方となるレプリカデータの符号が負であれば受信データの符号を反転して足し込む（すなわち減算する）ようにしたことで、受信信号とレプリカコードとの相関演算を正しく行うことが可能となる。
【０１１８】
第１の非同期相関演算回路１００Ａは、相関演算回路の駆動用のクロック等の同期機構を必要とせず、原則としてデータの授受が行われる回路ブロックでのみ動作が可能であるため、高速動作が可能であるとともに、消費電力を低減することができる。一般に、ＣＭＯＳ（Complementary Metal Oxide Semiconductor）回路では、消費電力は一定時間内のトランジスタのスイッチング総数に比例する。しかし、第１の非同期相関演算回路１００Ａでは、動作に必要なトランジスタのみがスイッチングするため、スイッチング総数を最小限に抑えることができる。これは、消費電力の削減に繋がる。
【０１１９】
また、第１の非同期相関演算回路１００Ａでは、受信データ及びレプリカデータの記憶部への入力機構及び出力機構を、書込用レジスタ機構及び読出用レジスタ機構によって実現している。受信データ及びレプリカデータをそれぞれ一対一に対応付けられたデータレジスタに演算前に書き込み、トークンパッシング方式を利用して演算毎にデータレジスタから順次に供給する構成とした。かかる構成により、データの供給に係るエネルギーの削減と位相のシフトとを実現する。
【０１２０】
より具体的には、従来一般的であったシフトレジスタ方式でデータの供給を行う場合には、データそのものを移動させる必要があるため、トランジスタのスイッチング総数は膨大となる。しかし、本実施形態のトークンパッシング方式では、データそのものを移動させる必要はなく、トークンを移動させるだけで済むため、トランジスタのスイッチング総数を大幅に削減し、コヒーレントノイズの大幅な削減及び消費電力の大幅な削減を実現することができる。
【０１２１】
また、ＧＰＳ受信機では、受信信号のコード位相を検出するために、受信信号とレプリカコードとの相関演算を、受信信号又はレプリカコードの位相をずらして行う。本実施形態の非同期相関演算回路では、受信データ読出用レジスタ機構及びレプリカデータ読出用レジスタ機構の何れか一方について、読出トークンの初期格納位置をずらしてデータの読出開始位置をずらすことによって、簡易に位相シフトを実現することができる。
【０１２２】
これらに加えて、第１の非同期相関演算回路１００Ａでは、クロック信号の伝播遅延や回路の配線遅延等に起因して生ずるクロックスキューの問題や、相関演算回路のクロックとベースバンド処理回路部２０の主回路のクロックとの周波数の相違による同期問題、それに由来する相関演算回路の移植性の問題といった、同期設計手法で相関演算回路を設計した場合に生じ得る問題を回避することができる。
【０１２３】
２．第２実施形態
第２実施形態における非同期相関演算回路は、非同期全加算部が、２K個（Ｋは１以上の整数）の受信データを加算する（２K−１）個の非同期全加算器をトーナメント型に配置構成したトーナメント型全加算器群を有する構成である。
【０１２４】
第１実施形態で説明した第１の非同期相関演算回路１００Ａでは、受信データＤｉとレプリカデータＣｊとを１つずつ非同期全加算部に入力し、最新の積和演算値Ａに加算する演算を繰り返すことで、式（１）で与えられる相関値を演算していた。しかし、この方法では、最終的に相関値が得られるまでに多くの演算ステップを要する。そこで、受信データＤｉとレプリカデータＣｊとの乗算を並列的に行い、その乗算値同士を加算するように構成することで、相関値が得られるまでの演算ステップを低減させ、演算処理時間の短縮を図る。
【０１２５】
２−１．非同期相関演算回路の構成
図１２は、第２実施形態における第２の非同期相関演算回路１００Ｂの回路構成の一例を示す図である。ここでは「Ｋ＝２」として第２の非同期相関演算回路１００Ｂを構成した場合を例に挙げて説明する。第１の非同期相関演算回路１００Ａと同一の構成要素については同一の符号を付して再度の説明を省略する。
【０１２６】
図１２では、簡明化のために、受信データ記憶部１１０Ａ及び受信データ２線符号化部１１０Ｂと、レプリカデータ記憶部１２０Ａ及びレプリカデータ２線符号化部１２０Ｂとの図示を省略している。つまり、２線符号化器によって２線符号化済みの受信データＤｉ及びレプリカデータＣｊが第２の非同期相関演算回路１００Ｂに供給されるものとして図示している。
【０１２７】
第２の非同期相関演算回路１００Ｂは、トーナメント型全加算器群２５０と、非同期全加算部１５０と、２線復号部１６０と、加算結果記憶部１７０と、加算結果２線符号化部１８０とを有して構成される。
【０１２８】
トーナメント型全加算器群２５０は、第１の非同期全加算部２５１〜第３の非同期全加算部２５３の３個の非同期全加算部を有して構成される。具体的には、トーナメント型全加算器群２５０は、「２2＝４個」の受信データを加算する「（２2−１）＝３個」の非同期全加算器をトーナメント型に配置して構成される。すなわち、下段に第１の非同期全加算部２５１と第２の非同期全加算部２５２を配置し、その上段に第３の非同期全加算器２５３を配置して構成される。これらの非同期全加算部の構成は、図３で説明した非同期全加算部１５０の構成と同一である。
【０１２９】
トーナメント型全加算器群２５０のうち、最下段の非同期全加算器である非同期全加算部２５１，２５２は、加算対象となる２つの受信データのうちの一方の受信データに係る受信データ２線符号化部の出力値に、他方の受信データに係る受信データ２線符号化部の出力値を、相関演算の相手方となる２つのレプリカデータに係るレプリカデータ２線符号化部の出力値に応じた符号で加算する。
【０１３０】
具体的には、第１の非同期全加算部２５１において、第１の入力ポートＸには、受信データ２線符号化部によって２線符号化された受信データＤ１が入力される。第２の入力ポートＹには、受信データ２線符号化部によって２線符号化された受信データＤ２が入力される。また、キャリー入力ポートＣｉｎには、レプリカデータ２線符号化部によって２線符号化されたレプリカデータＣ１とＣ２との排他的論理和が入力される。
【０１３１】
第１の非同期全加算部２５１では、レプリカデータＣ１及びＣ２が、相関演算の相手方の２つのレプリカデータとなる。レプリカデータＣ１とＣ２との排他的論理和が“０”である場合は、受信データＤ１が受信データＤ２にそのまま加算される。それに対し、レプリカデータＣ１とＣ２との排他的論理和が“１”である場合は、受信データＤ１が符号を反転させて受信データＤ２に加算（すなわち減算）される。
【０１３２】
第２の非同期全加算部２５２では、第１の非同期全加算部２５１と同様に、２線符号化された受信データＤ３とＤ４とが、相関演算の相手方となる２つのレプリカデータであるレプリカデータＣ３とＣ４との排他的論理和に応じた符号で加算される。つまり、レプリカデータＣ３とＣ４との排他的論理和が“０”である場合は、受信データＤ３が受信データＤ４にそのまま加算される。それに対し、レプリカデータＣ３とＣ４との排他的論理和が“１”である場合は、受信データＤ３が符号を反転させて受信データＤ４に加算（すなわち減算）される。
【０１３３】
レプリカコードの位相のずらし量をゼロとした場合（ｋ＝０）、相関値を求めるための演算式は式（２）で与えられる。この場合、第１の非同期全加算部２５１では、式（２）の右辺における第１項と第２項との積和値が演算され、その積和演算値Ａ１が第３の非同期全加算部２５３に出力される。また、第２の非同期全加算部２５２では、式（２）の右辺における第３項と第４項との積和値が演算され、その積和演算値Ａ２が第３の非同期全加算部２５３に出力される。
【０１３４】
第３の非同期全加算部２５３では、第１の入力ポートＸには、第１の非同期全加算部２５１の積和演算値Ａ１が入力され、第２の入力ポートＹには、第２の非同期全加算部２５２の積和演算値Ａ２が入力される。また、キャリー入力ポートＣｉｎには、レプリカデータＣ１とＣ３との排他的論理和が入力される。そして、レプリカデータＣ１とＣ３との排他的論理和に応じた符号で積和演算値Ａ１とＡ２とが加算され、その加算結果である積和演算値Ａ３が非同期全加算部１５０に出力される。
【０１３５】
非同期全加算部１５０において、第１の入力ポートＸには、第３の非同期全加算部２５３の積和演算値Ａ３が入力され、第２の入力ポートＹには、加算結果２線符号化部１８０から出力される最新の積和演算値Ａ４が入力される。そして、キャリー入力ポートＣｉｎには、レプリカデータＣ１が入力される。そして、レプリカデータＣ１に応じた符号で積和演算値Ａ３とＡ４とが加算され、その加算結果が２線符号復号部１６０に出力される。
【０１３６】
２−２．読出用レジスタ機構の構成
図１２の第２の非同期相関演算回路１００Ｂでは、非同期全加算部１５０の演算が完了する毎に、次の演算に供すべき２K個の受信データを選択して、トーナメント型全加算器群２５０に供給する必要がある。そこで、第１実施形態と同様に、互いに４相ハンドシェイキングのプロトコルによって通信し合う読出トークンレジスタ段を受信データそれぞれに対応付けて設けた受信データ読出用レジスタ機構を、第２の非同期相関演算回路１００Ｂに設ける。この場合、各読出トークンレジスタ段は、非同期全加算部の演算対象の２K個の受信データに対応する受信データ２線符号化器に対応付けられるように構成する。
【０１３７】
図１３は、「Ｋ＝２」の場合の受信データ読出用レジスタ機構の構成例を示す図である。この受信データ読出用レジスタ機構では、１つの読出トークンで４個の受信データが同時に２線符号化されてトーナメント型全加算器群２５０に供給されるように構成されている。
【０１３８】
具体的には、受信データの読出用レジスタ機構は「Ｌ＝Ｎ／４個」の読出トークンレジスタ段Ｓｄ１〜ＳｄＬを有して構成される。各読出トークンレジスタ段は、連続する４個の受信データに係るデータレジスタに対応する４個の２線符号化器に接続されている。但し、隣接する読出トークンレジスタ段同士で接続先の２線符号化器が重複しないように、受信データの時系列順に４個ずつ接続先が選ばれている。
【０１３９】
より具体的には、読出トークンレジスタ段Ｓｄ１は、受信データレジスタＲｄ１〜Ｒｄ４に対応する受信データ２線符号化器Ｅｄ１〜Ｅｄ４に接続されている。次の読出トークンレジスタ段Ｓｄ２は、受信データレジスタＲｄ５〜Ｒｄ８に対応する受信データ２線符号化器Ｅｄ５〜Ｅｄ８に接続されている。以下同様である。
【０１４０】
この場合、各読出トークンレジスタ段は、接続先の４個の受信データ２線符号化器に対して同時に２線符号化指示信号Ｓｅｎｄを出力することで、連続する４個の受信データを対応する２線符号化器に２線符号化させて、トーナメント型全加算器群２５０に供給する。図１３の例では、二重丸で示した読出トークンレジスタ段Ｓｄ１が、受信データ２線符号化器Ｅｄ１〜Ｅｄ４に対して実線で示すように２線符号化指示信号Ｓｅｎｄを出力する様子を示している。
【０１４１】
レプリカデータについても同様に、非同期全加算部の演算が完了する毎に、次の演算に供すべき「２2＝４個」のレプリカデータを選択して、トーナメント型全加算器群２５０に供給する必要がある。そのため、図示は省略するが、図１３の受信データ読出用レジスタ機構と同様に、「Ｌ＝Ｎ／４個」の読出トークンレジスタ段Ｓｃ１〜ＳｃＬを有して構成されるレプリカデータ読出用レジスタ機構を構成すればよい。
【０１４２】
第２の非同期相関演算回路１００Ｂに設けられる受信データ読出用レジスタ機構は、第１の非同期相関演算回路１００Ａに設けられる受信データ読出用レジスタ機構と同様に、互いに４相ハンドシェイキングのプロトコルによって通信し合う読出トークンレジスタ段を受信データそれぞれに対応付けて設けた読出用レジスタ機構である。このレジスタ機構では、各読出トークンレジスタ段が、トーナメント型全加算器群の演算対象の２K個の受信データに対応する受信データ２線符号化器に対応付けられ、非同期全加算部の演算が完了する毎に読出トークンを次段の読出トークンレジスタ段に移動させる。また、読出トークンに基づいて次の演算に供すべき２K個の受信データに対応する受信データ２線符号化器を選択し、選択した受信データ２線符号化器に受信データを２線符号化させる。
レプリカデータ読出用レジスタ機構についても同様である。
【０１４３】
３．第３実施形態
第３実施形態は、第２実施形態で説明した第２の非同期相関演算回路を複数個配置し、互いにレプリカコードの位相をずらして、各々の第２の非同期相関演算回路に相関演算を並列的に行わせる構成を適用した実施形態である。
【０１４４】
具体例として、図１２で説明した「Ｋ＝２」とした場合の第２の非同期相関演算回路１００Ｂを４個配置して相関演算を行う場合について説明する。この場合は、受信データ及びレプリカデータを、４個の第２の非同期相関演算回路１００Ｂのそれぞれに対して「２２＝４個」ずつ供給してトーナメント型全加算器群２５０に演算を行わせる。
【０１４５】
受信データＤｉについては、１回の演算において、４個の第２の非同期相関演算回路１００Ｂに同一のデータが供給されるように制御する。すなわち、第１回目の演算では、各々の第２の非同期相関演算回路１００Ｂに対して受信データＤ１〜Ｄ４を同時に供給し、第２回目の演算では、各々の第２の非同期相関演算回路１００Ｂに対して受信データＤ５〜Ｄ８を同時に供給する。以下同様にして、受信データＤＮまで４個ずつ時系列に受信データを供給する。
【０１４６】
このような受信データの供給を実現するための機構としては、図１３に示した受信データ読出用レジスタ機構を適用することができる。つまり、図１３に示した受信データ読出用レジスタ機構を、４個の第２の非同期相関演算回路１００Ｂそれぞれに対応付けて設けて、トークンパッシング方式で受信データの読み出しを行えばよい。
【０１４７】
一方、レプリカデータＣｊについては、４個の第２の非同期相関演算回路１００Ｂに対して、読出開始位置を１つずつずらした４個のデータがそれぞれ供給されるように制御する。これは、レプリカコードの位相をずらして、４個の第２の非同期相関演算回路１００Ｂにそれぞれ異なる位相で相関演算を行わせるためである。
【０１４８】
図１４は、この場合におけるレプリカデータの供給の説明図である。便宜的に、４個の第２の非同期相関演算回路１００Ｂに「Ａ〜Ｄ」の番号を割り当てて説明する。図１４には、第２の非同期相関演算回路の番号と、各々の第２の非同期相関演算回路に対して供給するレプリカデータとを対応付けたテーブルを図示している。レプリカデータの欄においてハッチングを示した部分が、１回の演算で供給するレプリカデータ組を示す。また、レプリカデータ組の先頭に記した数字は演算の番号を示し、末尾に記したアルファベットは第２の非同期相関演算回路の番号を示す。
【０１４９】
このテーブルによれば、第１回目の演算では、非同期相関演算回路ＡにはレプリカデータＣ１〜Ｃ４を供給し、非同期相関演算回路ＢにはレプリカデータＣ２〜Ｃ５を供給し、非同期相関演算回路ＣにはレプリカデータＣ３〜Ｃ６を供給し、非同期相関演算回路ＤにはレプリカデータＣ４〜Ｃ７を供給する。
【０１５０】
第２回目の演算では、非同期相関演算回路ＡにはレプリカデータＣ５〜Ｃ８を供給し、非同期相関演算回路ＢにはレプリカデータＣ６〜Ｃ９を供給し、非同期相関演算回路ＣにはレプリカデータＣ７〜Ｃ１０を供給し、非同期相関演算回路ＤにはレプリカデータＣ８〜Ｃ１１を供給する。以下同様である。
【０１５１】
図１５は、上記のレプリカデータの供給を実現するためのレジスタ機構であるレプリカデータ読出用レジスタ機構の構成図である。図１５（１）〜（４）は、それぞれ図１４の非同期相関演算回路Ａ〜Ｄに具備させるレプリカデータ読出用レジスタ機構の構成を図示したものである。
【０１５２】
これらのレプリカデータ読出用レジスタ機構では、１つの読出トークンで４個のレプリカデータが同時に２線符号化されるように構成されている。それぞれのレプリカデータ読出用レジスタ機構は「Ｌ＝Ｎ／４個」の読出トークンレジスタ段Ｓｃ１〜ＳｃＬを有する。
【０１５３】
各読出トークンレジスタ段は、連続する４個のレプリカデータに係るデータレジスタに対応する４個の２線符号化器に接続されている。但し、隣接する読出トークンレジスタ段同士で接続先の２線符号化器が重複しないように、レプリカデータの時系列順に４個ずつ接続先が選ばれている。
【０１５４】
非同期相関演算回路Ａ〜Ｄで異なるのは、読出トークンレジスタ段Ｓｃ１〜ＳｃＬの接続先のレプリカデータ２線符号化器Ｅｃが１つずつずれている点である。例えば、読出トークンレジスタ段Ｓｃ１に着目すると、非同期相関演算回路Ａでは２線符号化器Ｅｃ１〜Ｅｃ４に接続されているのに対し、非同期相関演算回路Ｂでは２線符号化器Ｅｃ２〜Ｅｃ５に接続されている。また、非同期相関演算回路Ｃでは２線符号化器Ｅｃ３〜Ｅｃ６に接続されており、非同期相関演算回路Ｄでは２線符号化器Ｅｃ４〜Ｅｃ７に接続されている。
【０１５５】
このようにレプリカデータ読出トークンレジスタ段を構成することで、それぞれの非同期相関演算回路Ａ〜Ｄに読出開始位置を１つずつずらしてレプリカデータを２線符号化させて、トーナメント型全加算器群での演算に供することが可能となる。
【０１５６】
４．第４実施形態
第４実施形態は、レプリカデータを生成する非同期回路を非同期相関演算回路に設ける実施形態である。
【０１５７】
ＧＰＳ衛星信号に変調されているＣ／Ａコードは、１０２３チップを１ＰＮフレームとする繰返し周期１ｍｓの擬似ランダム雑音符号であり、各ＧＰＳ衛星に固有のコードである。このＣ／Ａコードはゴールド系列のコード（ゴールドコード）として知られている。ゴールドコードは、周期が等しく、プリファードペアである２つのＭ系列を結合することで生成することができる。本実施形態では、この原理に基づき、２線符号化されたレプリカデータを生成する非同期回路を実現する。
【０１５８】
図１６は、第４実施形態における第４の非同期相関演算回路１００Ｄの回路構成の一例を示す図である。第４の非同期相関演算回路１００Ｄの大きな構成は、第１の非同期相関演算回路１００Ａと同じである。異なるのは、レプリカデータ供給部１２０が、非同期レプリカデータ生成回路１３０と、設定部１４０とを有して構成される点である。非同期レプリカデータ生成回路１３０は、Ｃ／Ａコードのコード長と同じ長さ１０２３（＝２10−１）のレプリカデータを生成する回路である。
【０１５９】
図１７は、非同期レプリカデータ生成回路１３０の回路構成の一例を示す図である。非同期レプリカデータ生成回路１３０は、第１の線形フィードバックシフトレジスタ回路１３１と、第２の線形フィードバックシフトレジスタ回路１３２と、結合部１３３とを有して構成される。
【０１６０】
第１の線形フィードバックシフトレジスタ回路１３１は、１０段（＝Ｌ段）の第１のデータレジスタ部１３１Ａと９段（＝（Ｌ−１）段）の第１の排他的論理和演算回路１３１Ｂとを線形フィードバック接続してなる回路である。同様に、第２の線形フィードバックシフトレジスタ回路１３２は、１０段（＝Ｌ段）の第２のデータレジスタ部１３２Ａと９段（＝（Ｌ−１）段）の第２の排他的論理和演算回路１３２Ｂとを線形フィードバック接続してなる回路である。
【０１６１】
第１のデータレジスタ部１３１Ａ及び第２のデータレジスタ部１３２Ａは、それぞれ１ビットデータレジスタ部を２線復号器及び２線符号化器で挟んで構成される。この第１のデータレジスタ部１３１Ａの２線符号化器及び第２のデータレジスタ部１３２Ａの２線符号化器によって、第１実施形態で説明したレプリカデータ２線符号化部１２０Ｂが構成される。
【０１６２】
１ビットデータレジスタ部は、例えば１ビットのデータレジスタで構成することができる。つまり、１ビットデータレジスタを２線復号器及び２線符号化器で挟んでデータレジスタ部を構成する。この場合、１ビットデータレジスタ部には、２線復号器によって２線復号された１ビットのデータが格納される。そして、１ビットデータレジスタ部から出力される１ビットのデータが２線符号化器によって２線符号化されて、次段のデータレジスタ部に出力される。
【０１６３】
図中では、データレジスタ部を構成する１ビットデータレジスタ部を“ＢＲｎ”と表記し、２線復号器を“Ｄｎ”と表記し、２線符号化器を“Ｅｎ”と表記している。“ｎ＝１〜１０”はデータレジスタ部の番号を示す。また、第１のデータレジスタ部１３１Ａを構成する１ビットデータレジスタ部、２線復号器及び２線符号化器には末尾に（１）を付し、第２のデータレジスタ部１３２Ａを構成する１ビットデータレジスタ部、２線復号器及び２線符号化器には末尾に（２）を付すことで、両者を区別している。
【０１６４】
なお、本実施形態では、第１のデータレジスタ部１３１Ａ及び第２のデータレジスタ部１３２Ａを構成する１ビットデータレジスタ部が、それぞれ単一の１ビットデータレジスタで構成されることとして図示・説明するが、これに代えて、例えばそれぞれの駆動信号の位相が異なる２段の１ビットデータレジスタを接続して１ビットデータレジスタ部を構成してもよい。これは、非同期回路において特に問題となるレーシングを回避するための機構である。
【０１６５】
データレジスタ部を構成する２線復号器は、前段のデータレジスタ部を構成する２線符号化器から出力される２線符号化された１ビットのデータを２線復号し、その復号結果を１ビットデータレジスタ部に出力する。また、データレジスタ部を構成する２線符号化器は、設定部１４０からデータの２線符号化の開始を指示する２線符号化開始信号Ｓｅｎｄが入力されると、１ビットデータレジスタ部から出力される１ビットのデータの２線符号化を開始し、非同期的にデータのシフト動作を行う。
【０１６６】
各線形フィードバックシフトレジスタ回路は、データレジスタ部それぞれの初期値と、排他的論理和の演算を実行させる排他的論理和演算回路とが、設定部１４０によって設定可能に構成されている。具体的には、第１の線形フィードバックシフトレジスタ回路１３１について、第１のデータレジスタ部１３１Ａを構成する１ビットデータレジスタ部ＢＲ１（１）〜ＢＲ１０（１）それぞれの初期値Ｂ１（１）〜Ｂ１０（１）が、設定部１４０によって設定される。また、第１の排他的論理和演算回路ＥＸＯＲ１（１）〜ＥＸＯＲ９（１）に対して回路設定値Ｐａｓｓ１（１）〜Ｐａｓｓ９（１）が設定部１４０によってそれぞれ出力され、この回路設定値Ｐａｓｓ１（１）〜Ｐａｓｓ９（１）によって、第１の排他的論理和演算回路ＥＸＯＲ１（１）〜ＥＸＯＲ９（１）に排他的論理和の演算を実行させるか否かが設定される。
第２の線形フィードバックシフトレジスタ回路１３２についても同様である。
【０１６７】
第１の排他的論理和演算回路１３１Ｂ及び第２の排他的論理和演算回路１３２Ｂは、最下流のデータレジスタ部（第１０番のデータレジスタ部）からの出力をフィードバックするフィードバックループのデータ線上に、隣接するデータレジスタ部の間に介在するようにそれぞれ１個ずつ設けられている。
【０１６８】
図中では、排他的論理和演算回路を“ＥＸＯＲｍ”と表記している。“ｍ＝１〜９”は排他的論理和演算回路の番号を示す。また、第１の排他的論理和演算回路１３１Ｂには末尾に（１）を付し、第２の排他的論理和演算回路１３２Ｂには末尾に（２）を付すことで、両者を区別している。
【０１６９】
図１８は、第１の排他的論理和演算回路１３１Ｂ及び第２の排他的論理和演算回路１３２Ｂの回路構成の一例を示す図である。これらの排他的論理和演算回路１３１Ｂ，１３２Ｂは、複数の論理素子を有し、２線符号化されたデータを入力して排他的論理和の演算を行う論理回路である。排他的論理和演算回路１３１Ｂ，１３２Ｂには、前段の排他的論理和演算回路から入力データＩｎが入力される。また、当該排他的論理和演算回路と同一の番号を付したデータレジスタ部の出力がタップデータＴａｐとして入力される。また、排他的論理和演算回路には、設定部１４０から回路設定値Ｐａｓｓが入力され、この回路設定値Ｐａｓｓによって、入力データＩｎとタップデータＴａｐとの排他的論理和の演算を実行するか否かが制御される。
【０１７０】
図１９は、排他的論理和演算回路の演算に係る真理値表である。回路設定値Ｐａｓｓが“０”の場合は（Ｐａｓｓ＝０）、入力データＩｎとタップデータＴａｐとの排他的論理和の演算を実行せず（つまりタップデータＴａｐを無視して）、入力データＩｎをそのまま出力データＯｕｔとする（Ｏｕｔ＝Ｉｎ）。それに対し、回路設定値Ｐａｓｓが“１”の場合は（Ｐａｓｓ＝１）、タップデータＴａｐと入力データＩｎとの排他的論理和の演算を実行し、その演算結果を出力データＯｕｔとする（Ｏｕｔ＝Ｉｎ ｘｏｒ Ｔａｐ）。
【０１７１】
これは、回路設定値Ｐａｓｓによって排他的論理和の演算箇所が定められることを意味する。つまり、本実施形態の線形フィードバックシフトレジスタ回路には、９段の排他的論理和演算回路が設けられているが、入力データＩｎとタップデータＴａｐとの排他的論理和の演算を、これら全ての排他的論理和演算回路に実行させるのではなく、レプリカデータの生成に必要な排他的論理和演算回路にのみ実行させる。
【０１７２】
結合部１３３は、第１の線形フィードバックシフトレジスタ回路１３１から出力される２線符号化された出力値と、第２の線形フィードバックシフトレジスタ回路１３２から出力される２線符号化された出力値との排他的論理和を演算する。そして、その演算結果を、２線符号化したレプリカデータとして非同期全加算部１５０に出力する。
【０１７３】
設定部１４０は、非同期レプリカデータ生成回路１３０に生成させるレプリカコードに応じた第１のデータレジスタ１３１Ａの初期値及び第１の排他的論理和演算回路１３１Ｂの設定を行うとともに、当該レプリカコードに応じた第２のデータレジスタ１３２Ａの初期値及び第２の排他的論理和演算回路１３２Ｂの設定を行う。また、設定部１４０は、各線形フィードバックシフトレジスタ回路を構成するデータレジスタ部の２線符号化器に対して２線符号化開始信号Ｓｅｎｄを出力する。
【０１７４】
図２０は、設定部１４０が上記の設定を行うために用いる設定用データ１４１のデータ構成の一例を示す図である。設定用データ１４１には、ＰＲＮ番号（レプリカＩＤ）１４１Ａと、第１の線形フィードバックシフトレジスタ回路１３１に係る第１の設定値１４１Ｂと、第２の線形フィードバックシフトレジスタ回路１３２に係る第２の設定値１４１Ｃとが対応付けて定められている。
【０１７５】
第１の設定値１４１Ｂには、第１のデータレジスタ部１３１Ａに対する１０ビットの初期値ｂ（１）（＝ｂ１（１）〜ｂ１０（１））と、第１の排他的論理和演算回路１３１Ｂに対する９ビットの回路設定値Ｐａｓｓ（１）（＝Ｐａｓｓ１（１）〜Ｐａｓｓ９（１））とが定められている。また、第２の設定値１４１Ｃには、第２のデータレジスタ部１３２Ａに対する１０ビットの初期値ｂ（２）（＝ｂ１（２）〜ｂ１０（２））と、第１の排他的論理和演算回路１３１Ｂに対する９ビットの回路設定値Ｐａｓｓ（２）（＝Ｐａｓｓ１（２）〜Ｐａｓｓ９（２））とが定められている。
【０１７６】
設定部１４０は、処理部３００から出力されるＰＲＮ番号１４１Ａに対応する第１の設定値１４１Ｂ及び第２の設定値１４１Ｃを、それぞれ第１の線形フィードバックシフトレジスタ回路１３１及び第２の線形フィードバックシフトレジスタ回路１３２に出力する。
【０１７７】
第１の線形フィードバックシフトレジスタ回路１３１によって生成される系列データは、第１のデータレジスタ部１３１Ａそれぞれに設定する初期値と、排他的論理和の演算を実行させる第１の排他的論理和演算回路１３１Ｂとによって一意に定まる。これは、第２の線形フィードバックシフトレジスタ回路１３２についても同様である。このため、２つの線形フィードバックシフトレジスタ回路それぞれに対する初期値及び回路設定値をＰＲＮ番号（レプリカＩＤ）別に予め定めておき、捕捉対象とするＧＰＳ衛星（捕捉対象衛星）のＰＲＮ番号に対応する初期値及び回路設定値を非同期レプリカデータ生成回路１３０に出力することで、当該捕捉対象衛星に係るレプリカデータを非同期レプリカデータ生成回路１３０に生成させることが可能となる。
【０１７８】
５．変形例
本発明を適用可能な実施例は、上記の実施例に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能であることは勿論である。以下、変形例について説明する。
【０１７９】
５−１．第１の系列データ及び第２の系列データ
上記の実施形態では、第１の系列データをＧＰＳ衛星からＧＰＳ衛星信号を受信した受信信号とし、第２の系列データをレプリカコードとして説明したが、第１の系列データや第２の系列データの種類はこれらに限られるわけではない。
【０１８０】
ＣＤＭＡ（Code Division Multiple Access）方式でデータ通信を行うシステムでは、送信機側で拡散符号を用いて送信データを拡散変調し、受信機側で拡散変調されたデータを逆拡散して送信データを復調する。逆拡散では、受信信号の拡散符号の位相を知る必要があるため、受信信号と擬似的な拡散符号との相関演算が必要となる。従って、衛星測位システム以外の通信システムにおいても本発明を適用可能であり、第１の系列データ及び第２の系列データは、適用する通信システムに応じて適宜選択することが可能である。
【０１８１】
５−２．第１の非同期相関演算回路の並列化
第３実施形態と同様に、第１実施形態で説明した第１の非同期相関演算回路１００Ａを複数個配置構成し、それぞれの第１の非同期相関演算回路１００Ａにレプリカコードの位相をずらして並列的に相関演算を行わせるように構成してもよい。
【０１８２】
５−３．レジスタ機構
上記の実施形態では、データ（受信データ及びレプリカデータ）の読出用レジスタ機構が、読出トークンレジスタ段を環状に接続して構成されることとして説明したが、この読出用レジスタ機構の構成は一例に過ぎない。例えば、読出トークンレジスタ段をバス型やスター型で接続して読出用レジスタ機構を構成してもよく、読出トークンが読出トークンレジスタ段を循環するような構成であればよい。
書込用レジスタ機構についても同様である。
【０１８３】
また、上記の実施形態では、データ（受信データ及びレプリカデータ）の書込用レジスタ機構について、データレジスタと書込トークンレジスタ段とが一対一に対応付けられていることとして説明した。しかし、１つの書込トークンレジスタ段に対して複数（例えば４個）のデータレジスタを対応付けることとして、１つの書込トークンで同時に複数のデータレジスタにデータの書き込みを行わせるようにしてもよい。
【０１８４】
５−４．非同期データ生成回路
本発明の非同期データ生成回路は、レプリカデータを生成する回路に適用する場合に限らず、他のゴールド系列のデータを生成する回路にも適用可能であることは勿論である。例えば、長さ“３１＝２5−１”のゴールド系列のデータを生成するのであれば、５段（＝Ｌ段）のデータレジスタ部と４段（＝（Ｌ−１）段）の排他的論理和演算回路とを線形フィードバック接続した線形フィードバックシフトレジスタ回路を２個設け、これらの出力値を結合するように非同期データ生成回路を構成すればよい。
【０１８５】
５−５．適用例
本実施形態の非同期相関演算回路は、種々の受信機に内蔵配置して相関演算に利用することが可能である。また、このような受信機を具備する電子機器として、例えば、携帯型電話機やカーナビゲーション装置、携帯型ナビゲーション装置、パソコン、ＰＤＡ（Personal Digital Assistance）、歩数計、腕時計といった種々の電子機器を想定することが可能である。
【０１８６】
５−６．衛星測位システム
上記の実施形態では、衛星測位システムとしてＧＰＳを適用した場合の実施形態について説明したが、ＷＡＡＳ（Wide Area Augmentation System）やＱＺＳＳ（Quasi Zenith Satellite System）、ＧＬＯＮＡＳＳ（GLObal NAvigation Satellite System）、ＧＡＬＩＬＥＯ等の他の衛星測位システムとしてもよいことは勿論である。
【符号の説明】
【０１８７】
１  ＧＰＳ受信機、  １０  ＲＦ受信回路部、  ２０  ベースバンド処理回路部、  １００Ａ  第１の非同期相関演算回路、  １００Ｂ  第２の非同期相関演算回路、  １００Ｄ  第４の非同期相関演算回路、  １１０  受信データ供給部、  １１０Ａ  受信データ記憶部、  １１０Ｂ  受信データ２線符号化部、  １１０Ｃ  受信データ選択部、  １２０  レプリカデータ供給部、  １２０Ａ  レプリカデータ記憶部、  １２０Ｂ  レプリカデータ２線符号化部、  １２０Ｃ  レプリカデータ選択部、  １３０  非同期レプリカデータ生成回路、  １４０  設定部、  １５０  非同期全加算部、  １６０  ２線復号部、  １７０  加算結果記憶部、  １８０  加算結果２線符号化部、  ２００  レプリカコード生成部、  ３００  処理部、  ４００  記憶部
【図１】
2014022975.tif 000007
【図２】
2014022975.tif 000008
【図３】
2014022975.tif 000009
【図４】
2014022975.tif 000010
【図５】
2014022975.tif 000011
【図６】
2014022975.tif 000012
【図７】
2014022975.tif 000013
【図８】
2014022975.tif 000014
【図９】
2014022975.tif 000015
【図１０】
2014022975.tif 000016
【図１１】
2014022975.tif 000017
【図１２】
2014022975.tif 000018
【図１３】
2014022975.tif 000019
【図１４】
2014022975.tif 000020
【図１５】
2014022975.tif 000021
【図１６】
2014022975.tif 000022
【図１７】
2014022975.tif 000023
【図１８】
2014022975.tif 000024
【図１９】
2014022975.tif 000025
【図２０】
2014022975.tif 000026