PCI9054 とFPGA との通信
ローカル側の通信(PCI9054 とFPGA との通信)を行うときの信号を説明する。必要な信号がどのような時にデータの読み書きが可能となるかを紹介する。
必要な信号
PCI バス側の信号、ローカル側の信号それぞれを示す。ここに表記した信号は通信を行う際の最低限の信号である。また、信号名の後ろについた#は"Lアクティブ"であることを示し、ここで使うアサートとは信号が有効になるということである。
PCI バス側
- CLK : PCI バスクロック(33MHz)
- FRAME# : データ転送の準備がされるとアサートされる
- AD[31:0] : データバス、アドレスバスは時分割でこのバスを使う
- C/BE[3:0]# : 時分割で行われ、アドレス、データのコマンドを分ける
- IRDY# : データ転送可能状態のときアサートされる
- DEVSEL# : PC との通信を行い、それが終了するまでアサートされる
- TRDY# : データ転送の時アサートされる
ローカル側(input、output はFPGA から見た場合)
- LCLK(input) : ローカル側のクロック40MHz
- LHOLD(input) : ローカルバスの使用を許可する信号
- LHOLDA(output) : LHOLD に対してのFPGA からの応答
- ADS#(input) : この信号がアサートされるとPCI9054 からアドレスを返し、通信が行われる
- BLAST#(input) : ローカルバスの最後の転送を示す
- LBE[3:0]#(input): バイトイネーブル信号
- LWDRD#(input) : 読み書きを定義する信号 読み->0 書き->1
- LA[31:2](inout) : データに対するアドレス
- LAD[31:0](inout): データ双方向で定義しなければならない
- READY#(output) : データの転送が行われていることをPCI9054に返す信号
ローカル側通信の説明
ローカル側の信号を説明する上で、信号ブロック図とシングルライト、シングルリードのタイムチャートを示す。タイムチャートはPCI9054 のデータシートからの引用である。
ローカル側の信号ブロック図
Single ReadWrite のタイムチャート、左がWrite、右がRead