Qsysを利用した回路の使い方(レジスタアクセス編)

Qsysを利用したFPGA回路をリファレンス制御アプリケーションから制御する方法(レジスタ・アクセス編)

Qsysツールを利用して、バスマスタにGPIF-AVALONブリッジを使用した場合、PC上の制御アプリケーションでは、次のように設定して制御します。

 

 

 

 『レジスタアクセス』

レジスタ番号とAVALONバス上のアドレスは、下表の通り「レジスタベースアドレス」+「レジスタ番号*0x04」で示します。

レジスタNo. AVALONバス上のアドレス
レジスタ0 レジスタベースアドレス+0x00
レジスタ1 レジスタベースアドレス+0x04
レジスタ2 レジスタベースアドレス+0x08
レジスタ3 レジスタベースアドレス+0x0C
..... .....
レジスタ63 レジスタベースアドレス+0xFC

レジスタベースアドレスは、コンポーネントの登録で設定した値です。

 

 


 

「メモリ・アクセス」

 


『レジスタ長』

8/16/32ビット・アクセスのみ可能です。 64ビットアクセスは32ビットアクセスとして扱われます。
GPIF_Masterは32ビットのデータ幅固定ですので基本的には常に32ビットアクセスを行ってください。
ただし、ペリフェラル側で8/16bitのデータ幅しか無い場合には32ビットアクセスではなく、ペリフェラル側のデータ幅に合わせても問題ありません
各ビット幅でアクセスした場合の「byteenable」信号は下表の通り出力します。

レジスタ長 byteenable[3] byteenable[2] byteenable[1] byteenable[0]
8bitアクセス 0 0 0 1
16bitアクセス 0 0 1 1
32bitアクセス 1 1 1 1


Smart-USB Plus / Sigma 技術サポート
https://www.smartusb.info/article.php/sopc_howtouse_reg