- picoArrayはpicoChip社によって開発されたマルチプロセッサである。
- PC101はpicoArrayシリーズの中のひとつである。
- picoArrayのシステムはpicoVHDLと呼ばれる記述言語によって記述する。
- picoToolsによって,picoVHDLで記述されたシステムをシミュレートすることができる。
- picoToolsによって,picoVHDLで記述されたシステムをpicoArray実機にマッピングすることができる。
- シミュレーション動作と実機動作は完全に一致することがpicoChipによって保証されているが,実機にしかないデバイスの完全なシミュレーションを行うことはできない。
- picoArrayは並列アーキテクチャであり,多数の独立したArray Element(AE)と呼ばれるプロセッサからなる。
- DSPアプリケーションの開発においては,全体の処理を互いに通信する多数のモジュールに分割する必要がある。
- AE間の通信はpicoBusと呼ばれるバスマトリクスによって行われる。
- AEとpicoBusのリソース割り当ては静的に行われるため,実行時動作の再現性を向上させることができる。
- picoBusは共有資源であるため,個々のAE間の通信はpicoBusを時分割することによって行われる。
- 特定のAEとAEを接続する論理的なsignalはslot rateを持つ。
- picoVHDLにおいてslot rateは@nと表現される。
- nはクロックサイクル数であり,たとえば@4ならば4クロックサイクルに一度,データが送受されることになる。
- PC101のクロック周波数は160MHzであるから,@16ならば0.1usecの頻度となる。
- ひとつのpicoArrayは機能の異なる複数のタイプのAEを含んでいる。
- Function Acceleration Unint(FAU)は特定のDSP演算機能を持ったAEである。
- PC205はTURBO復号機能を持つFAUを持つが,PC101は持たない。
- picoVHDLは構造記述と順次処理記述からなる。
- 構造記述はVHDLのサブセットであり,AEの接続関係を記述する。
- 順次処理記述は標準CまたはASMによって順次処理を記述する。
- VHDLにおける同時処理文は存在しないことに注意する。
- slot sは整数値でs = floor(t x 600)
- tはsecond
- 1 slot = 1/600 sec = 1.66 msec
- 1 frame = 16 slots = 26.66 msec
- Forward Channel: AN -> AT
- Forward Control Channel: forward channelをモニタしているすべてのATが受信すべきデータを運ぶチャネル
- Forward Traffic Channel: 特定のATに対する情報を運ぶチャネル
- Reverse Access Channel: ATがまだtraffic channelを割り当てられていないときにANと通信するために使うチャネル
- Reverse Traffic Ack Channel: FTC受信の成否を示すチャネル
- Reverse Traffic Channel: 特定のATからANへ情報を運ぶチャネル
- ACとRTCは1frameからなる。
- frame境界はshort PN符号のロールオーバー点にalignされなければならない。
- 1 slot = 2048 PN chips
- 1 PN chip = 1/2048 slots = 1/(600x2048) sec = 813.8 ns
- ATは,自分宛のプリアンブルに関連づけられた毎FTC slotについて,ACK Channel bitを送信しなければならない。
- ACK Channelの変調方式はBPSKで,'0'がACK,'1'がNAK。
- FTCをslot nで受信したとき,応答ACK bitをslot n+3にRTCで送信しなければならない。
- ACK Channel bitはslot n+3の最初のhalf slot 1024 PN chipsで伝送されなければならない。
- ACK Channel bitはWalsh channle W_4^8を用いる。
- ACK ChannelはI信号
- PC101の動作周波数は160MHz
- 1clock = 1/160MHz = 6.25 nsec
- @16 = 0.1 usec