差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン | |||
testbench:introduction_to_verilog_hdl:vme_encoder [2015/05/21 19:50] kyotoatlas [PT6 の VME 操作] |
testbench:introduction_to_verilog_hdl:vme_encoder [2015/05/21 20:13] kyotoatlas [PT6 の VME 操作] |
||
---|---|---|---|
行 117: | 行 117: | ||
出来上がる bitfile を FPGA に書き込み、その後実際に fact を読み書きしてみましょう。 | 出来上がる bitfile を FPGA に書き込み、その後実際に fact を読み書きしてみましょう。 | ||
どこのアドレスに書き込めばいいのかを知るには PT6 のアドレス空間を知る必要があります。 | どこのアドレスに書き込めばいいのかを知るには PT6 のアドレス空間を知る必要があります。 | ||
+ | 下にアドレス空間の表を書いておきます。 | ||
+ | ^ アドレス | ||
+ | | FPGA | ||
+ | | CPLD | ||
+ | * 実際に FPGA にやってくる ( VMEEncoder でしている )アドレスは offset 部分です。 | ||
+ | * ボードアドレスは、同じクレート内でアドレスが被らないようにボード上の DIP SW で指定しています。 | ||
+ | ボードアドレスを 0x0f1 だとした時、VMEEncoder モジュール内で Prescale factor に対して定めているアドレス 0xf0 にアクセスするためには | ||
+ | | ||
+ | 本当かどうか vmeget で確かめてみましょう。 | ||
+ | 正しく読めれば、初期値の 10 ( = 0xa ) が返ってきます。 | ||
+ | その後、好きな値に書き換えて遊んでみてください。 | ||
+ | |||
+ | ここまで出来れば、結構色んなことが出来るようになります。 | ||
+ | 値を自由自在に書き換えられれば、色んなボードの設定を変更することが可能です。 | ||
+ | |||
+ | |||
+ | <note tip> | ||
+ | 上の例で何となく分かると思いますが、ボードを操作する上でアドレスの定義が非常に重要です。 | ||
+ | ボードをデザインすることがあれば、どこにどれだけのアドレス空間を割り振るのか、また同じクレートに存在するボードとアドレスを衝突させないようにするにはどうしたらいいのか、というのに頭をひねる必要があります。 | ||
+ | </ | ||