コンテンツにスキップ
これは開発版のドキュメントである. 内容は次のリリースまでに変更される可能性がある. 最新のリリース版は 0.6.x を参照.

CPU ボードとのインターフェース

FPGA と CPU ボードとの接続は以下のようになっている.

  • [16:1] CPU_ADDR: Input, CPU ボードから書き込まれるデータのアドレス
  • [15:0] CPU_DATA: Input/Output, CPU ボードとの間でやり取りされるデータ
  • CPU_CKIO: Input, CPU バスクロック ()
  • CPU_CS1_N: Input, CPU バスイネーブル (負論理)
  • CPU_WE0_N: Input, 書き込みイネーブル (負論理)
  • CPU_RD_N: Input, 読み込みイネーブル (負論理)
  • CPU_RDWR: Input, 1 で CPU からの読み込み, 0 で CPU からの書き込み
  • RESET_N: Input, リセット (負論理)

CPU との通信には, CPU_ADDR, CPU_DATA, CPU_CKIO, CPU_CS1_N, CPU_WE0_N, 及び, CPU_RDWR を使用する. これらの信号は, AMD の BRAM IP (Native Port) と接続できる.

CPU からの書き込みには, CPU_ADDRaddr, CPU_DATAdin, CPU_CKIOclk, ~CPU_CS1_Nen, ~CPU_WE0_Nwe に接続すれば良い.

CPU からの読み込みには, トライステートバッファを使用し, ~CPU_CS1_N, かつ, ~CPU_RD_N, かつ, CPU_RDWR の場合に CPU_DATAdout に接続し, そうでないときは CPU_DATA をハイインピーダンス (z) にする.

CPU_ADDR の上位 は BRAM の選択 (BRAM_SELECT) に, 残り が BRAM 内のアドレス (BRAM_ADDR) になる. 詳細は Memory を参照されたい.

CPU 側から見ると, この FPGA は CS1 空間 (0x44000000) にマップされた 幅のメモリとして見える.