AN 888: インテル® Stratix® 10デバイス用のディナミック・リコンフィグレーションを使用したPHY Lite for Parallel Interfacesのリファレンス・デザイン

ID 683220
日付 9/11/2020
Public
ドキュメント目次

1.10. 付録B:レーンとピンの情報の取得 

各IPインスタンスに関する情報は、パラメータテーブルという名前のI/OSSMに保存されます。
パラメーター・テーブルには、次の方法でアクセスできます。 Avalon® ベースアドレスオフセット0x50000000xE000の 。グローバルパラメータテーブルには、I/O列のすべてのインターフェイスが一覧表示されます。ターゲットのレーンとピンアドレスがPHY Lite for Parallel Interfacesインターフェイスがキャプチャされ、対象ピンが0x3000000 のオフセットキャリブレーション・アドレスを介してリード/ライトによってリコンフィグレーションすることができます。次の図に示すアルゴリズムで定義されているように、ベースアドレスオフセット、パラメータテーブルサイズオフセット、およびインターフェイスオフセットは固定されています。
図 22. パラメーター・テーブルの読み取りのフローチャート

以下のコードブロックは、に示すようにパラメータテーブルを読み取るために Nios® IIプロセッサーで記述されています。

#define BASE_ADDR           0x5000000
#define PT_SIZE_PTR         0x0000014
#define ADDR_OFFSET         0x0000024
void Read_Param_table()
{
  int delay = -1;
  int addr_offset = -1;
  unsigned int size = 0;
  unsigned int value = 0;
  int i;

addr_offset = IORD32(BASE_ADDR+ADDR_OFFSET);
printf("Reading Addr Offset from Param Table: %08x\n\n",addr_offset);
size = IORD32(BASE_ADDR+PT_SIZE_PTR);
printf("Param Table size is %08x:\n", size);
printf("\nParam Table:\n");
for (addr=0x0; addr < size+1; addr += 4) {
value =  IORD32(BASE_ADDR+addr);
printf("%d\t%03x\t0x%08x\n",addr,value);
   }