JP4353052B2 - 半導体集積回路 - Google Patents
半導体集積回路 Download PDFInfo
- Publication number
- JP4353052B2 JP4353052B2 JP2004290890A JP2004290890A JP4353052B2 JP 4353052 B2 JP4353052 B2 JP 4353052B2 JP 2004290890 A JP2004290890 A JP 2004290890A JP 2004290890 A JP2004290890 A JP 2004290890A JP 4353052 B2 JP4353052 B2 JP 4353052B2
- Authority
- JP
- Japan
- Prior art keywords
- transmission
- transition
- data
- state
- configuration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/0003—Software-defined radio [SDR] systems, i.e. systems wherein components typically implemented in hardware, e.g. filters or modulators/demodulators, are implented using software, e.g. by involving an AD or DA conversion stage such that at least part of the signal processing is performed in the digital domain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/38—Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
- H04B1/40—Circuits
- H04B1/403—Circuits using the same oscillator for generating both the transmitter frequency and the receiver local oscillator frequency
- H04B1/406—Circuits using the same oscillator for generating both the transmitter frequency and the receiver local oscillator frequency with more than one transmission mode, e.g. analog and digital modes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Transceivers (AREA)
Description
かかる先行技術では、FGPAに代表されるような回路ではコンフィグレーション情報に従ってハードウェアを変更することにより専用回路に近い構成を実現することが可能であるため、要求性能を達成できることが予想される。
また、特許文献3に示される従来の方法では、リコンフィギュラブル回路方式に対する汎用性、ハードウェア容量、およびユーザインターフェースに対して、課題が残されている。以下でこれらの課題について、順に述べる。
また、本明細書に開示される発明の他の一つの目的は、ソフトウェア無線処理等に代表される処理量の多いアプリケーションにおいて、自律的にコンフィグレーションを変更するために最適のコンフィグレーションの変更方法を実現することである。
無線信号処理は、動的にコンフィグレーションの変更が可能な回路(Dynamically Reconfigurable Circuit、以下、DRCと称する)と汎用プロセッサを含んだ、ソフトウェア無線チップを用いて処理する。
ソフトウェア無線チップ中の汎用プロセッサでは、無線通信処理のうち、プロトコル層の処理を行い、DRCでは、物理層の処理を行うように処理を分担する。
回路の利用効率の向上と、面積削減のため、無線信号処理の一部は専用回路を用いて行う。ここで専用回路としている処理は、複数の無線信号処理で共通に用いられる処理であるため、複数の無線通信方式において利用することが可能である。
図1は、車100に搭載されたテレマティクス端末104の一例を示すものであり、テレマティクス端末の一部をなすソフトウェア無線機106のシステム適用の例である。ここで、ソフトウェア無線機とは、従来、途中で切り替えることのなかった無線機の仕様を、ソフトウェアにより変更する無線機である。
切り替え対象の無線仕様としては、例えば、無線LAN、ETC(DSRC)、地上DTV通信などがある。
以下では、このソフトウェア無線機の構成と、ダイナミックリコンフィギュラブル回路を利用したDRチップの位置付け、構成、利用方法を述べる。
1.ソフトウェア無線機の構成とDRチップの位置付け
図1において、テレマティクス端末104は、カーナビゲーションシステム107の画像や音声などの情報処理をつかさどり、カーナビゲーションシステム107に情報データを通信するために、ソフトウェア無線機106を利用する。
カーナビゲーションシステム107とソフトウェア無線機106間のインターフェース108は、USBなどの標準のデータ通信インターフェースを利用する。
送信動作は、受信の合間を縫って行う。受信を行っているあいだ、送信はウエイトする(605)。受信終了の後、送信動作を実施してよいかどうかの送信可否判断606を行い、OKとなったら送信開始607を実行し、1パケットデータを送信したら送信終了動作608を行う。
以上のように、受信と送信を同一のハードウェアで処理することによりソフトウェア無線機に搭載される半導体集積回路を小面積で実現できる。
2.DRチップの構成、および、ソフトウェアとハードウェアのインターフェース
以下では、図7を用いて、ディジタル信号処理を行うDRチップ203の構成と、ソフトウェアとハードウェアのインターフェースについて述べる。ここで、ソフトウェアは、DRチップ203上の中央処理装置CPU700で実行する。
図7に示すように、DRチップは、ADC/DAC206、カーナビゲーションシステム107、および、ROMであるFLASH205とのインターフェース回路と、受信・送信データの復調・変調動作を行うダイナミックリコンフィギュラブルエンジンDRE708、および、全体処理の制御と受信・送信データ復調・変調の前処理を行うCPU700から構成する。
2.2 無線ソフトウェアのDRチップ上の動作概要
次に、図8に従い、無線ソフトウェアのDRチップ上での動作概要を述べる。DRチップ上で行う無線処理は、プロトコル処理800、無線API801、およびDRE処理802の3階層に分かれる。プロトコル処理800、無線API801はCPU700で実行され、DRE処理802はDRE708で実行される。
ここでは、図8に示されるDREの無線通信の動作と、そのための構成を述べる。
3.1 DREの無線通信の動作の概観
図9は、DREの無線通信の動作を示す。DREは受信動作900と送信動作902に示す受信と送信動作を主要機能とし、図8に示すAPIは全てこれらの動作に関連する。送信動作は、他の無線装置が送信を行っていないタイミングを見つけて行うため、また、送信と受信を時分割で行うためCCAと呼ばれる送信管理901も行う必要がある。
送信動作902は、受信動作900からの送信開始指示909により、送信動作を開始する。また、送信管理901に1フレームデータの送信の開始と終了の通知を行い、次の送信動作の可否の判断材料を送信管理901に提供する。
3.2 DREの受信と送信動作
ここでは、図10と図11に従って、図9の中の受信と送信動作をDREで実現する状態遷移フローを述べる。ここで、受信動作に必要な処理、送信動作に必要な処理の夫々を更に分解し、各ステートに割り当てることで、同一のハードウェアで時分割に処理を行い、DRチップの小面積化を図っている。
受信動作は、まずR1ステートのパケット検出から実施する。この時、前処理として、F1ステートによりパケット検出が可能となるデータ量をフィルタ処理する。パケット検出は、無線データ構造図11の1100のうち、プリアンブル1101中のSYNC1105をパケットの始まりとして検出することにより行う。SYNC1105は、通常ALL1などの決まったコードとなっており、パケット検出ではその一部のビットの検出を行う。パケットは、常に通信経路に存在するわけではないので、対象とするコードが検出されるまで処理を行う。パケットが検出されるとR2ステートへ遷移する。
送信動作は受信動作と異なり、無線通信データの誤り検出の結果を条件とする分岐が不要であるため、S1ステートのみで実現する。
CPU700は、データの前にヘッダなどの無線通信のための情報を付加したあと、DRE708へ転送し、送信要求を発行する。CPU700から送られたデータは、無線特殊演算1031でCRC処理やスクランブルを行なった後、S1ステートで無線通信用データへの変換を行い、さらに、F2で送信用のフィルタ処理を行う。その後、DRE708からADC/DAC206へ無線通信用データを送信する。送信処理終了後は、S1ステートからR1ステートへ遷移する。
3.1で述べた送信管理901と、受信動作900と送信動作902のインターフェースの実現方法を、以下で述べる。
受信動作におけるインターフェース904のうち、1フレーム開始情報は、パケットが検出され、受信が開始された時点で行う。即ち、R1ステートからR2ステートへの遷移が確定した時に1フレーム開始を発行する。1フレーム終了または受信NGの情報は、パケット検出後、受信が失敗するか、1フレームの復調が終了した時点で行う。即ち、R3からR1への遷移が確定した時点のシンボル検出NGか、R6からR1への遷移が確定した時点の受信失敗であるSFD検出NG、または、ヘッダCRCのNGか、1フレーム復調終了で1フレーム終了を発行する。
R1ステートにおいて、送信許可906を受け取り、かつ、送信要求をCPU700から受け取った状況で、パケット検出の繰り返し処理の開始時に到達した場合にS1ステートに遷移し、送信を開始する。
以上のように、送信動作と受信動作の切り分けにとどまらず、送信動作、受信動作の夫々を切り分けることで、DRチップを小面積化することが可能となる。なお、本実施例で示した各ステートの切り分けは、ソフトウェア無線に適した一例であり、そのDRチップの構成等に基づいて自由に切り分けていいことは言うまでもない。
ここでは、3.1から3.2で述べた無線通信を実現するためのDRE708の構成を図12に従って述べる。DRE708は、ALUアレイエンジン(ALU Array Engine)ALUAE1202と無線専用回路WCE(Wreless Communication Engine)1201と、内部バス1200と外部入出力スイッチEXIOS1203から構成される。
WCエンジン1201は、後に詳述するがALUAE以外で処理をすることが望まれる送信管理1030と無線特殊演算1031を実現する回路モジュールである。
4.1 概要
ここでは、ALUAE1202の構成と設定レジスタについての概要を述べる。図13に構成を示す。ALUAE1202は、バスコントローラBSC1300を介して内部バス1200と接続される。BSC1300は内部バス1200からの入力を各部に振りわけることが主な機能である。アレイエンジンコントローラAECTL1301は、ALUAE1202の制御の他、割り込みコントローラINTC706に割り込み要求を出す。
IOP(1308、1307)はLMEMの隣に配置されており、BSC1300を介した内部バスとの通信を行う。また、配線1321、1322からEXIOSを介してWCE、および、DRチップ外部のADC/DACとの通信を行う。
また、これらのモジュールの動作を指示するのがコンフィグレーションレジスタであり、図14(b)に示す種類と機能がある。コンフィグレーションレジスタを変更するための一時格納用のバッファはCNFGCにある。
以下で述べる本実施の形態では、簡単のためクラスタは2個の場合を述べるが、クラスタの個数は限定されない。また、上記で述べたコンフィグレーションレジスタの詳細は後で述べる。CNFGCのバッファについては、一般的なバッファで構成することが可能である。
ここでは、AECTL1301とCNFGC1309の制御/ステータスレジスタについて述べる。
AECTL1301には、図15に示す制御レジスタ1500と割り込み制御レジスタ1510が含まれる。制御レジスタ1500は一般の制御とステータス通知、割り込み制御レジスタ1510は割り込みに関する設定を行う。ここで、AECTL1301は状態遷移を制御するための複数の状態遷移制御レジスタ2600も持つが、このレジスタと状態遷移の動作については4.5にて説明を行う。
CNFGCのレジスタを図16の1600に示す。1600中のWREQは、コンフィグレーション対象のセルへの書き込み指示を行う場合に1にセットする。W0およびW1は、書き込み先のクラスタを示す。W1が1ならクラスタ1へ書き込み、W0が1ならクラスタ0へ書き込む。CSTは、書き込み先のコンフィグレーション番号を示す。AROWおよび、ACOLは、コンフィグレーションを変更するALUセルの選択信号であり、各クラスタ中の行と列を選択する。
ここでは、ALUA1305を構成するALUセルの構成と、その利用方法を明らかにするためコンフィグレーションレジスタについて述べる。本節では、(1)でALUA1305での処理をどう実現するかの概略を述べ、次に(2)でALUセルの構成を述べる。最後に(3)でALUセルのコンフィグレーションレジスタについて述べる。
図17は、ALUセル1700を4行4列のアレイ状に並べ、図10に示されるF1ステートの処理を簡略化したフィルタリング処理を実行するためのコンフィグレーション情報の一例を示した図である。図17を用いて4行4列のセル・アレイの動作を説明する。図17のALUセル1700内に書かれたブロック内の記号(×C0、×C1、×C2、×C3、+)は、セルの演算器ALUが実行する機能を表し、直線及び矢印はデータの流れを表す。また、セル内の直線上に示されている黒丸1701はデータ転送のみを1サイクルで行うフリップフロップを表している。
f[t]=e[t]×C0+e[t−1]×C1+e[t−2]×C2+e[t−3]×C3
上記の式において、f[t]は時刻tにおけるフィルタの出力、e[t]は時刻tにおけるフィルタへの入力、C0からC3はフィルタ定数である。e[t]は、LSAL1306から入力し、f[t]はLSAR1304に出力する。
ここでは、ALUセル1700の構成を図18に従い、以下に述べる。
ALUセル1700のデータパス系の機能は、1800で示すALUによる演算とデータ転送の機能である。ALUは、セレクタAi0-selとAi1-selの出力を2つの入力とし、結果をフリップフロップCFF0とCFF1に出力する。データ転送を行う場合は、セレクタR0-sel、R1-selの出力を、それぞれフリップフロップRFF0、RFF1の入力とする。
ALUセルの出力はフリップフロップRFF0、RFF1、CFF0、CFF1の出力を各スイッチで選択し、1814、1815、1816、1817の出力端子より出力される。
ALUセルからの出力は、データ転送レジスタRFF0、RFF1と、ALU出力レジスタCFF0、CFF1の値を、上下左右それぞれ、Uo0−selとUo1−sel、Do0−selとDo1−sel、Lo0−selとLo1−sel、Ro0−selとRo1−selのスイッチで選択する。例えば、右方向のセレクタRo0−selは、RFF0かCFF0のいずれかを選択し、Ro1−selは、RFF1、CFF1のいずれかを選択して出力する。
信号1802は、現在の状態のコンフィグレーションレジスタ1900(図19)の値を示す。この信号1802は、コンフィグレーションレジスタファイル1801の中から、現在のコンフィグレーションを選択する信号1804に従い、C−selで選択された値である。
上記のコンフィグレーションレジスタファイル1801とC−selに関する機構は、他のコンフィグレーション対象ブロック、LSセルとIOCTLについても同様な仕組みとなっている。
(2)で述べた動作を実現するためのALUセルのコンフィグレーションレジスタ1900について以下で説明する。
レジスタ1900の中で、1901の領域はR0−sel、R1−sel、Ai0−sel、Ai1−selの選択信号であり、Lin−br、Rin−br、Uin−br、Din−brのそれぞれへの2組の入力端子、S−br、および1900中のIMIDの計10組の入力の中から一組の17ビットを選択する。R0S、R1S、AI0S、AI1Sは、それぞれ、R0−sel、R1−sel、Ai0−sel、Ai1−selの選択コードをあらわす。
EXEは、ALUの演算を表わす。乗算、加算、減算などの算術演算や、シフト、ANDなどの論理演算を搭載する。IMIDは定数を表わし、上記に述べたように、RO−selなどのALUと転送レジスタへの入力セレクタへの入力の一組となる。
ここでは、ALUアレイ1305から見たデータのロードストア機構について述べる。
ロードストアは、2種類に大別される。一方は、1312および1313に付随のローカルメモリへのアクセス。もう一方は、ALUAE1202の外部のハードウェアモジュールやDRチップ外部IOとのアクセスである。これらのいずれのアクセスも、LSセルというロードストア専用セルを通して行う。
図20は、LSA内のLSセル2000と、ALUセル1700とのインターフェースを示す。
ALUセル1700の出力データ端子1816の上位半分でアドレスとR/Wビットを、下位半分でALUセル外部へ出力するデータを送る。また、端子1812でLSセルから入力するデータを受け取る。LSセル2000は、ALUセル1700の端子それぞれについて、端子2002、2003、2004、2005,2006と接続する。
図21は、LSA(1306,1304),LMEM(1312,1313),IOPA(1308,1307)の構成の概要を示した図である。LSA,LMEM,IOPAはALUAの左右で対象であるため,以下ではまとめて,LSA2300,LMEM2200,IOPA2100として説明する。
LMEM2200は、LSA2300とIOPA2100の両方からのアクセスが可能である。また,LMEM2200は、LSセル2000から通常のメモリとして利用されると共に、LSセル2000が外部とアクセスするための中間バッファの役目も果たす。
ここでは、LSセル2000からLMEM2200へのアクセスについて述べる。LMEM2200は、LSセル2000に対応した複数のメモリセル2102から構成する。メモリセル2102は、LSセル2000,または,IOP2106よりアクセスできるメモリMEM2103と、MEM2103へのアクセスをコントロールするMctl2104で構成される。この構成により、LSセルからメモリセルへのアクセスが行ごと並列に実行可能である。
ここで、Mctl2104は、メモリセル2102が、IOP2106からもアクセスされるため、LSセル2000とのアクセスとの選択を行うことがその役割である。
EN2201は、LSセルのデータアクセスが可能か否かを示す。LS/PP2202は、アドレスをALUセル1700から与えるか、LSセル内部でアドレスを自動発生するかを指定する。RW2203は、データをリードするか、ライトするかを指定する。
(4)ALUアレイ外アクセス機構
ここでは、IOPA2100を通したALUAE外部へのアクセス機構について述べる。まず、IOPA2100からLMEM2200へのアクセスを述べ、次に、IOポートアレイ2100と外部とのアクセスを述べる。
IOPA2100は、メモリセル2102の2個セット2110に対して、IOP2106を通してアクセスする。IOP2106は、入力ポート2113と出力ポート2112を1セットとしてもち,さらにBSC1300と配線2109を介して接続される。
IOP2106は、2つのメモリセル2102を中間バッファとして、LSセルと接続する。2つのメモリセル2102のいずれかに、入力ポート2113と出力ポート2112を接続する。また,IOP2106は入出力ポートのほかにCPUバス2109との接続も選択可能である。
IEN2207は入力ポート2113のアクセスが可能か否かを示す。同様にOEN2301は出力ポート2112のアクセス可否を示す。これらのいずれもアクセス不可であったときには、IOP2106はCPUバス2109とのアクセスを選択する。
上記で述べたIOP2106を用いて外部とアクセスする機構を、図24と図25に従い、以下で述べる。
図24に示すように,IOPA2100は、ALUアレイ外部モジュールであるWCE1201や、LSI外部IOを介してAD/DA206とのデータアクセスを行う。ここで、IOPA2100は、IOP2106を、1クラスタ分、集めたブロックである。
これらの信号線群1321と1322は、EXIOS1203の中のスイッチ2403で、アクセス先の信号線1206と207に選択的に接続される。スイッチ2403の接続関係を指定するのが、図25で示すEXIOSのコンフィグレーションレジスタ2500と2510である。
EXIOS1203のコンフィグレーションレジスタ2500と2510の各々のIOPに対応するビットは、LSI外部端子選択用、外部モジュール端子選択用がある。LSI外部端子選択用のビットは、LSI外部端子1、または,LSI外部端子2を選択する。外部モジュール端子選択用のビットは,ALUAE外部モジュール端子1、ALUAE外部モジュール端子2、ALUAE外部モジュール端子3、ALUAE外部モジュール端子4を選択する。
ここでは、図10に示すような、コンフィグレーションの状態遷移を実現するためのハードウェア機構と、状態遷移テーブルなどの設定レジスタについて述べる。
ALUA1305で行われる処理で、次へ遷移する条件が整ったら、ALUAの4隅にあるALUセルから、トリガー信号1320を発行する。次に、EXIOS1203では、トリガイネーブルレジスタ2520の設定に従い、MSK2409で、有効なトリガー信号はそのまま、無効な信号は0にマスクする。最後に、AECTLでは、図26に示す状態遷移制御レジスタ2600の設定に従い、現在の状態およびトリガー信号の値を参照して、次の状態を決める。次の状態は、図13の状態信号でALUセル、LSセル、IOCTLに通知され、切り替えが実行される。AECTLの中身の詳細は、後述する。
ここでは、図26に従い、AECTLの状態遷移制御レジスタ2600を説明する。AECTLは内部に複数の状態遷移制御レジスタ2600を持ち、これらをまとめて状態遷移テーブルと呼ぶ。
まず、ALUAの4隅のALUセルからトリガー信号を発行するには、上側のALUで上側にデータを出力するか、下側のALUセルで下側にデータを出力する。
WCE1201の動作と設定レジスタについて以下で述べる。以下、5.1で送信管理1030について、5.2で無線特殊演算1031について述べる。これらの処理は、常に動作する必要があるためALUAEで実行できなかったり、また、ALUAEの構成を変更することで処理するよりは、専用回路で行ったほうが効率的であるため専用回路を設けている。
5.1 送信管理
ここでは、送信管理1030について、図27で動作を、図28で設定レジスタについて述べる。送信管理1030は、ALUAE1202からの情報2700、2701、1020、1023と、CPU700からの情報907を元にして、送信可否に関する状態を決定する。その結果、ALUAE1202へは送信許可/禁止情報906を、CPU700へは、内部状態910をそれぞれ送信する。このように送信管理用の専用回路を設けることによりCPUの介在なしにALUAEが自立的に受信、送信の管理を行うことが可能となる。
通常のデータ送信時の動作を述べる。まず、CPU700が、カーナビゲーションシステム107から送信要求と共に送信データを受け取ると、CPU700は、送信管理1030に次送信許可907を発行し、ALUAE1202に送信要求を発行する。送信管理1030は、これまでの通信履歴から送信可能状態、または、送信不可能状態のどちらかにある。
送信動作902は、送信開始時に送信管理1030中の通信開始フラグSFLGをセットする。送信管理1030はSFLGがセットされると送信不可状態2709となり、ALUAE1202に対して、送信禁止906を発行する。
受信動作時の送信管理は、3種類ある。受信動作が行われている時には送信不可状態2709にするという管理、受信終了後、ACKを送信するため送信可能状態2703にするという管理、および受信失敗時(NG)、次送信可能状態2703にするという管理である。
2番目の管理は、1フレームの復調終了と判断された時に起こる。この判断は、EFLG2707がセットされ、かつ、次送信許可フラグがセットされた時に行われる。
3番目の管理は、受信失敗(NG)と判断され、かつ、次送信許可フラグがセットされた時に行われる。後の動作は2番目の管理と同様である。
CPU700とALUAE1202から見た設定レジスタは、図28に示す制御/ステータスレジスタ2800である。EN2801は、送信管理をハード的にイネーブルするか否かの制御レジスタであり、CPUから設定する。
SFLGとEFLG2802は、フレーム(通信)の開始と終了を示すフラグで、ALUAE1202からセットされ、CPU700からは読み込みのみ可能である。SFLGは、送信開始1020と受信の1フレーム開始2700にセットされ、(1)、(2)で述べた状態遷移が終わるとリセットされる。EFLGは、送信終了1023と、受信1フレーム終了/受信NG2701でセットされ、(1)、(2)で述べた状態遷移が終わるとリセットされる。
ここでは、無線特殊演算1031について、送信用無線特殊演算2920と受信用無線特殊演算3120の各々について、そのハードウェア構成および動作と設定レジスタについて述べる。無線特殊演算1031は、1ビット単位で処理するため、例えば16ビット単位で処理するALUAEで処理すると効率が悪い処理等を行う。これらの1ビット単位での処理を専用回路とすることでALUAEで処理するより面積効率がよいためである。
ここでは、送信用無線特殊演算2920について、図29でハードウェア構成および動作を、図30で設定レジスタについて述べる。
まず、CPU700から、送信設定用レジスタ2900に初期設定する。送信用レジスタには、図30に示す制御レジスタ3000と送信データ長レジスタ3010がある。
送信データ長レジスタ3010は、CPU700から送付されてくる元のCRC演算とスクランブル処理を実施する前のデータの長さを領域毎に指定する。1100のデータ構造に従い、PLENでプリアンブル領域1101のビット長を、HLENでヘッダ1 1107のビット長を、DELNでデータ領域1103のうち、ヘッダ2(1109)とデータ1110を足し合わせたビット長を指定する。CPU700から順にデータが送られたら、送信用無線特殊演算2920にて、CRCとスクランブルを処理し、ALUAE1202に結果を転送可能となる。
2901以降の処理を、述べる。処理の流れとしては、CRC処理を行った後に、スクランブル処理を行う。まず、入力選択2903で入力バッファを選択する。CRC/Scramble演算2904では、プリアンブル領域1101に対しては何も演算を行わないで出力バッファ2906に出力する。ヘッダ1(1107)に対しては、送信データ長レジスタ3010のHCRCで指定したヘッダ長と、送信コンフィグレジスタ2930で指定したCRCの動作に従って、CRC/Scramble演算2904でCRC演算が実施され、CRC−Hを付加して、出力バッファ2906に出力する。ヘッダ2(1107)とデータ2(1110)に対しては、送信データ長レジスタ3010のDCRCで指定したヘッダ長と、送信コンフィグレジスタ2930で指定したCRCの動作に従って、CRC/Scramble演算2904でCRC演算が実施され、CRC−Dを付加して、出力バッファ2906に出力する。
スクランブル処理が終了すると、転送先選択2905はビット長拡張2907方向が選択される。ビット長拡張2907では、ここまで1ビットとして扱われてきたデータを、ALUAE1202にあわせ、上位7ビットに0を挿入して8ビットに拡張する。この後EXIOS1203を介して、ALUAE1202からの要求があれば随時出力を行う。なお、上記の送信無線特殊演算2920内の処理はシーケンサ2910によって制御される。
ここでは、受信用無線特殊演算3120について、図31でハードウェア構成および動作を、図32で設定レジスタについて述べる。
まず、CPU700より、受信用設定レジスタ3100に初期設定する。受信用設定レジスタ3100には、図32に示す制御レジスタ3200と受信データ長3210がある。図32の制御レジスタ3200のEN3201は、受信用無線特殊演算3120を有効にする。1が有効、0が無効。その他のコードの意味は、3000と同様であるため割愛する。但し、受信の場合、プリアンブル領域中のパケット検出に用いるSYNCは、受信用無線特殊演算3120には送られない。この点が、送信の場合と異なる。受信データ長レジスタ3210の意味も、3010と同様であるため割愛する。
CRCの結果はALUAE1202からの要求で、EXIOS1202を介して返され、CRC判定を行う。ヘッダ2(1109)およびデータ1110は、CPU700の要求に応じてCPU700へと出力される。その他の部分で、送信無線特殊演算2920と同じ名前がついているものに関しては同様の動作を行う。
6.1 無線APIによる無線通信動作の実現
DRチップを用いて無線通信動作を実現するために必要となる無線APIと、これによる無線通信動作の実現方法を述べる。無線APIは、CPUにより実行される。
無線通信動作を実現するために、9つの無線APIを定義する。9つの無線APIとは、
(1)ハードウェア初期化、
(2)ソフトウェア無線初期化、
(3)起動(受信動作開始)、
(4)次送信許可/禁止、
(5)送信要求、
(6)受信データ取得、
(7)ack送信要求、
(8)割り込み要因取得、
(9)送信管理状態取得、
である。以下これらのAPIについて説明する。
上記で述べた無線APIにより実現される無線通信動作の一例の主要動作を図33に従い述べる。図では、初期化動作は省略した。図で、実線は動作中、点線は休止中または待機中、太線は特に強調したい動作を示す。特に送信管理1030は送信可能状態の時のみ実践で示し、タイマによるカウントは図33では特に示さない。
次に、次送信許可/禁止API3400により、送信管理1030の制御/ステータスレジスタ2800の許可フラグSEN2804がセットされる。これにより、1030の内部状態遷移が可能な状態になる。
同期処理810で同期する無線信号がなく、送信管理1030が送信可能状態で、上記の送信要求フラグがセットされると、ALUAE1202による送信動作805が開始される。送信動作は、図10に示されるS1ステートの処理とF2ステートの処理とをコンフィグレーション情報に従って回路構成を変更して実行する。
ALUAE1202は、送信開始に伴い、送信管理1030へ送信開始の通知3401をする。また、ALUAE1202は送信が終了すると、送信終了通知3402を送信管理1030へ行うとともに、送信終了割込み824を実行する。
ack要求API828の動作は、送信要求API17823の動作と同様であるため、割愛する。送信動作806でACK送信が行われたあと、ALUAE1202は、再び受信動作を開始する。
ここでは、図34に示す状態遷移図を例にとり、コンフィグレーション遷移の制御を行うための設定レジスタと、AECTL1301の内部動作の概要を述べる。6.2.1 状態遷移に関連する設定レジスタ
図34の状態遷移図では、状態遷移以外に、遷移が決定した時点で行う二つの動作を示した。一つは状態遷移に伴う割り込み1018であり、もう一つはWCEとの通信1028である。以下では、(a)で状態遷移テーブルによる状態遷移の設定と、状態遷移に伴う割り込み発生を述べ、(b)でWCEとの通信の設定について述べ、(c)状態遷移テーブル方式の特徴的な設定例を割り込み動作がないについて述べる。
状態遷移テーブルの設定を、図34と図35に従って、以下で述べる。状態遷移テーブルとは自律的に状態遷移を行うために、現在の状態と次に遷移先を決定するための情報をあらかじめ設定したテーブルである。最も単純なのは、図34の状態遷移図に記載される各ステートをつなぐ矢印の数だけテーブルを持つことであるが、ここでは、そのテーブルを小さくするための方法を述べる。
このようにテーブルを構成すると、例えば、遷移No.3504や3505のように複数の状態遷移をまとめてテーブル管理できるため、テーブルを小さくすることができる。
図34の状態遷移に対応した図35のトリガー信号の割り当て例について以下で説明する。
次に、遷移3501は、F2が現在の状態である。他に現在の状態をF2に持つチャネルはないが、右上セルの出力で区別する遷移の中で、現在の状態に依存しない遷移3504、3505、3508とはトリガー信号で区別する必要がある。結果、これら4つの遷移は、H01、H02、H04、H08と、1のビット位置が異なるコードを割り当てる。
送信管理1030への1フレーム開始または終了の状況を知らせるには、ALUAE1202よりLSセルとEXIOSを介してWCE1206に書き込みを行う。具体的には、送信管理1030の制御/ステータスレジスタ2800のSFLGまたはEFLGにフラグを立てる。
ここでは、図34に含まれる割り込み動作がない場合、即ち、純粋に状態遷移だけが起こる場合を取り上げ、本実施の形態が状態遷移テーブルのテーブル容量削減に、いかに効果的かを示す。結論から述べると、状態の数だけの状態遷移制御レジスタ2600だけで、状態遷移は表現できる。通常では、状態遷移の遷移数だけのレジスタ数が必要であるため、これがトリガー信号とMSK2409によるマスクの効果である。
図36(b)の中で、INTEに1が設定されている3500などを0に設定した結果、例えば、3500と3501は、遷移先が同一になり、現在の状態を遷移条件からはずすことができる。これと同様にして、遷移先が同一の状態遷移は一つの状態遷移制御レジスタ2600で表現できるため、全部で9個の状態遷移制御レジスタ2600、即ち、状態の数だけの状態遷移制御レジスタ2600で表現可能である。この表現では、トリガー信号を示す^EMSKは、1が立つビット位置は全て異なる設定として、トリガー信号だけで判別できる構成としたが、現在の状態が異なる遷移ではトリガー信号を同一にできるため、トリガー信号のビット数を削減することが可能である。
6.2.2 AECTLの実現方法の概要
ここでは、AECTL1301の内部の動作を実現する論理図の一例を図38で示し、実現方法の概要を述べる。
3900は、EXIOS1203のMSK2409でマスクをかけた後のトリガー信号1330を入力して、遷移チャネルごとに遷移条件の判定を行なう。3900で、太線は複数ビットからなる束の信号線を示し、太線を入力する比較器3901は、複数ビット同士の比較を示し、AND論理3911は、各ビットのAND論理の集合を示す。
各チャネルについて、次の状態を出力する論理は、有効判定信号3908と各チャネルのNSTATのANDとして信号3909で得られる。有効でなければ全て0、有効であればNSTATが出力される。チャネルごとの割り込み許可信号は、チャネルごとの有効判定信号3908とINTEのAND論理で、信号3910として出力する。
チャネルごとに、生成された3908、3909、3910の信号は、AECTLの出力信号生成ブロック3920に入力され、コンフィグレーションの次状態信号1311と割り込み要求信号710として出力する。信号1311は、ALUアレイ1305、LSアレイ<1304・1306>、IOP1308、EXIOS1203へ出力し、信号710はINTC706に出力する。以下で、1311と710を生成する論理について述べる。
7.送信キャンセルする無線APIの利用例
無線通信動作において、送信要求がキャンセルされる場合における無線API利用の一例について、図39を用いて述べる。図では、初期化動作は省略した。各種の制御/ステータスレジスタとバッファ、およびローカルメモリ21602が、アドレスマップされておりCPU700からアクセス可能である。図で、実線は動作中、点線は休止中、太線は特に強調したい動作を示す。
次に、次送信許可/禁止API3400により、送信管理1030の制御/ステータスレジスタ2800の許可フラグSEN2804をオンにする。これにより、1030の内部状態は送信可能状態に移る。
受信動作810は同期が完了すると、同期完了の通知の割り込み825を要求する。また、送信管理1030に対して同期終了のフラグのセット4800を実行する。さらに、AAE1202は有効なデータの受信動作809に移る。
有効なデータの受信動作809が終了すると、AAEは、3402で送信終了通知を送信管理1030へ行うとともに、送信終了割込み824を要求する。
受信終了に伴い、受信データ取得API827が発行され、無線特殊演算1031での演算済みのデータを取得する(3404)。
以上、実施例に基づいて本発明を説明してきたが、本発明の趣旨を逸脱しない範囲で種々の変更が可能である。
Claims (2)
- 夫々が複数の演算機能を有する複数のALUセルをアレイ状に配置したセルアレイ構造と、前記ALUセルの演算機能を決定する情報と前記ALUセル間のデータの転送方向を決定する情報とを含む構成情報を切替るための切替制御部とを有するリコンフィギュラブル回路を具備する半導体集積回路であって、
前記複数のALUセルの夫々は、前記構成情報に基づいて、前記演算機能及び前記データの転送方向が決定され、
前記切替制御部は、複数の遷移チャネルを有する状態遷移テーブルと遷移条件判定ブロックとを有し、
前記複数の遷移チャネルのそれぞれは、遷移先の構成情報を示す第1情報と、遷移元の構成情報を示す第2情報と、前記遷移先の構成情報に遷移するための遷移条件と、前記遷移元の構成情報を参照するか否かを示すマスク情報とを保持し、
前記遷移条件判定ブロックは、前記マスク情報が前記第2情報を参照しないことを示す場合は、前記状態遷移テーブルが保持する第2情報に関わらず、前記セルアレイ構造から入力された遷移条件と、前記状態遷移テーブルが保持する遷移条件が一致した遷移チャネルを選択し、遷移先の構成情報を決定し、
前記切替制御部は、前記遷移条件判定ブロックの決定に基づいて、前記複数のALUセルの構成情報を変更することを特徴とする半導体集積回路。 - 請求項1において、
前記半導体集積回路は、前記リコンフィギュラブル回路を制御するCPUを更に有し、
前記複数の遷移チャネルのそれぞれは、更に、遷移する際に前記CPUに割り込みを通知するか否かを示す第3情報を有することを特徴とする半導体集積回路。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004290890A JP4353052B2 (ja) | 2004-10-04 | 2004-10-04 | 半導体集積回路 |
US11/240,618 US7756505B2 (en) | 2004-10-04 | 2005-10-03 | Semiconductor integrated circuit and a software radio device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004290890A JP4353052B2 (ja) | 2004-10-04 | 2004-10-04 | 半導体集積回路 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2006108953A JP2006108953A (ja) | 2006-04-20 |
JP2006108953A5 JP2006108953A5 (ja) | 2008-06-19 |
JP4353052B2 true JP4353052B2 (ja) | 2009-10-28 |
Family
ID=36126182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004290890A Expired - Fee Related JP4353052B2 (ja) | 2004-10-04 | 2004-10-04 | 半導体集積回路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7756505B2 (ja) |
JP (1) | JP4353052B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102007022970A1 (de) | 2007-05-16 | 2008-11-20 | Rohde & Schwarz Gmbh & Co. Kg | Verfahren und Vorrichtung zur dynamischen Rekonfiguration eines Funkkommunikationssystems |
US8103213B2 (en) * | 2008-09-03 | 2012-01-24 | Nokia Corporation | Software-defined radio configuration |
CN102034063A (zh) * | 2009-09-28 | 2011-04-27 | 西门子(中国)有限公司 | 调整连续波传输时间的方法及读写器 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1122043A (ja) | 1997-07-07 | 1999-01-26 | Doukin Kk | 建物用自然換気装置 |
US6108529A (en) * | 1998-02-01 | 2000-08-22 | Bae Systems Aerospace Electronics Inc. | Radio system including FET mixer device and square-wave drive switching circuit and method therefor |
JP3674515B2 (ja) | 2000-02-25 | 2005-07-20 | 日本電気株式会社 | アレイ型プロセッサ |
DE60027284T2 (de) * | 2000-07-11 | 2006-08-31 | Sony Deutschland Gmbh | Quadraturdemodulator unter Verwendung von Leistungssensoren |
US6990087B2 (en) * | 2002-04-25 | 2006-01-24 | Raytheon Company | Dynamic wireless resource utilization |
GB2370380B (en) * | 2000-12-19 | 2003-12-31 | Picochip Designs Ltd | Processor architecture |
US6937877B2 (en) * | 2000-12-21 | 2005-08-30 | General Electric Company | Wireless communication with a mobile asset employing dynamic configuration of a software defined radio |
US7092733B2 (en) * | 2001-01-25 | 2006-08-15 | Kabushiki Kaisha Toshiba | Mobile radio communication apparatus capable to plurality of radio communication systems |
US6448910B1 (en) * | 2001-03-26 | 2002-09-10 | Morpho Technologies | Method and apparatus for convolution encoding and viterbi decoding of data that utilize a configurable processor to configure a plurality of re-configurable processing elements |
US6801777B2 (en) * | 2001-11-27 | 2004-10-05 | Intel Corporation | Device and method for intelligent wireless communication selection |
JP3925632B2 (ja) | 2002-04-19 | 2007-06-06 | ソニー株式会社 | 通信システム、通信端末装置、サーバ装置および通信方式変更方法 |
JP3987783B2 (ja) * | 2002-10-11 | 2007-10-10 | Necエレクトロニクス株式会社 | アレイ型プロセッサ |
JP3987782B2 (ja) * | 2002-10-11 | 2007-10-10 | Necエレクトロニクス株式会社 | アレイ型プロセッサ |
JP3987784B2 (ja) * | 2002-10-30 | 2007-10-10 | Necエレクトロニクス株式会社 | アレイ型プロセッサ |
ES2293066T3 (es) * | 2003-12-24 | 2008-03-16 | Telefonaktiebolaget Lm Ericsson | Linea de transmision de datos de multiples secciones en estacion base de radio y metodo de uso de dicha estacion base de radio. |
US7289972B2 (en) * | 2004-06-25 | 2007-10-30 | Virginia Tech Intellectual Properties, Inc. | Cognitive radio engine based on genetic algorithms in a network |
JP4364077B2 (ja) * | 2004-06-30 | 2009-11-11 | 富士通株式会社 | 演算装置及び演算装置の制御方法 |
JP4594666B2 (ja) | 2004-07-12 | 2010-12-08 | 富士通株式会社 | 再構成可能な演算装置 |
US7248530B2 (en) * | 2004-10-29 | 2007-07-24 | Infineon Technologies, Ag | Integrated semiconductor memory device |
-
2004
- 2004-10-04 JP JP2004290890A patent/JP4353052B2/ja not_active Expired - Fee Related
-
2005
- 2005-10-03 US US11/240,618 patent/US7756505B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20060073804A1 (en) | 2006-04-06 |
US7756505B2 (en) | 2010-07-13 |
JP2006108953A (ja) | 2006-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6856612B2 (ja) | 多層相互接続による分散型プロセッサを有する処理システム | |
US10162379B1 (en) | System clock distribution in a distributed computing environment | |
EP2116938B1 (en) | Operation apparatus and control method | |
US8386752B2 (en) | Processor architecture | |
US9009350B2 (en) | Determining a path for network traffic between nodes in a parallel computer | |
US9507753B2 (en) | Coarse-grained reconfigurable array based on a static router | |
JP2004525439A (ja) | プロセッサアーキテクチャ | |
KR20210033996A (ko) | 전용 저 레이턴시 링크를 사용한 다수의 하드웨어 가속기에 대한 통합된 어드레스 공간 | |
US20080232445A1 (en) | Multi-cell data processor | |
US8165620B2 (en) | Radio communication apparatus with a bus dedicated to data transmission | |
JP4353052B2 (ja) | 半導体集積回路 | |
US8194678B2 (en) | Providing point to point communications among compute nodes in a global combining network of a parallel computer | |
US20060101232A1 (en) | Semiconductor integrated circuit | |
CN109933553B (zh) | 一种控制系统及其设计方法、一组控制系统、电子装置 | |
EP1744252A2 (en) | Reconfigurable LSI | |
US20080126472A1 (en) | Computer communication | |
US9053225B2 (en) | Data processing apparatus, data processing method, and storage medium | |
JP2012010216A (ja) | 割込みシステム、ホスト装置、及び、周辺装置 | |
CN108738035B (zh) | 一种多制式基带芯片的数据处理方法及装置、处理设备 | |
WO2008027092A1 (en) | Computer communication | |
CN109902044B (zh) | 一种控制系统、一组控制系统及其设计方法、电子装置 | |
JP5917325B2 (ja) | ブリッジ回路 | |
TWI616754B (zh) | 快捷外設互聯標準(PCIe)資料交換裝置及傳輸系統 | |
JP2006246151A (ja) | ソフトウェア無線機 | |
CN110837484A (zh) | Ssd主控中的raid多路处理装置及数据恢复方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060425 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061113 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080428 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090302 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090414 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090611 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090707 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090720 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120807 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120807 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130807 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |