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