差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
testbench:introduction_to_verilog_hdl:vme_encoder [2015/05/21 19:50]
kyotoatlas [PT6 の VME 操作]
testbench:introduction_to_verilog_hdl:vme_encoder [2019/02/15 09:07] (現在)
行 117: 行 117:
 出来上がる bitfile を FPGA に書き込み、その後実際に fact を読み書きしてみましょう。 出来上がる bitfile を FPGA に書き込み、その後実際に fact を読み書きしてみましょう。
 どこのアドレスに書き込めばいいのかを知るには PT6 のアドレス空間を知る必要があります。 どこのアドレスに書き込めばいいのかを知るには PT6 のアドレス空間を知る必要があります。
 +下にアドレス空間の表を書いておきます。
 +^ アドレス     31 - 20             19,18  ^  17 - 11    10  ^  9 - 2    1, 0         ^
 +| FPGA        ボードアドレス       00    not used  |    |  offset  |  Byte access  |
 +| CPLD        ボードアドレス       00    not used  |    |  offset  |  Byte access  |
 +  * 実際に FPGA にやってくる ( VMEEncoder でしている )アドレスは offset 部分です。
 +  * ボードアドレスは、同じクレート内でアドレスが被らないようにボード上の DIP SW で指定しています。
 +ボードアドレスを 0x0f1 だとした時、VMEEncoder モジュール内で Prescale factor に対して定めているアドレス 0xf0 にアクセスするためには
 + 0x0f1007c0 というアドレスにアクセスすればよいことが分かります。
 +本当かどうか vmeget で確かめてみましょう。
 +正しく読めれば、初期値の 10 ( = 0xa ) が返ってきます。
 +その後、好きな値に書き換えて遊んでみてください。
 +
 +ここまで出来れば、結構色んなことが出来るようになります。
 +値を自由自在に書き換えられれば、色んなボードの設定を変更することが可能です。
 +
 +
 +<note tip>
 +上の例で何となく分かると思いますが、ボードを操作する上でアドレスの定義が非常に重要です。
 +ボードをデザインすることがあれば、どこにどれだけのアドレス空間を割り振るのか、また同じクレートに存在するボードとアドレスを衝突させないようにするにはどうしたらいいのか、というのに頭をひねる必要があります。
 +</note>
  
testbench/introduction_to_verilog_hdl/vme_encoder.1432237842.txt.gz · 最終更新: 2015/05/21 19:50 by kyotoatlas
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0