4と5のリビジョン間の差分
2018-12-12 06:43:04時点のリビジョン4
サイズ: 1478
編集者: TakanoriKono
コメント:
2018-12-12 07:13:30時点のリビジョン5
サイズ: 2728
編集者: TakanoriKono
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 19: 行 19:
|| '''値''' || '''役割''' ||
|| 1 || echo ||
|| 2 || レジスタへの書き込み ||
|| 3 || レジスタからの読み出し ||
|| 4 || フロントエンドへのコマンド送信 ||
|| 5 || IDELAYにDelay値を設定 ||
|| 6 || BERT開始 ||
|| 7 || BERT終了 ||
|| '''値''' || '''役割''' || '''データの内容''' ||
|| 1 || echo || 任意のデータ ||
|| 2 || レジスタへの書き込み || アドレス(1 byte)+データ(4 bytes) ||
|| 3 || レジスタからの読み出し || アドレス(1 byte)||
|| 4 || フロントエンドへのコマンド送信 || FEI4へ送るコマンド列 ||
|| 5 || IDELAYにDelay値を設定 || 無し。値は事前にレジスタに書き込んでおく。 ||
|| 6 || BERT開始 || 無し ||
|| 7 || BERT終了 || 無し ||
複数バイトのデータを送る場合、バイト列の並びはbig endianとする。

内部レジスタ(一例なので使いやすいように決めて下さい。)
|| '''バイト順''' || '''意味''' || '''内容''' || '''ソフトウェアからの読み出し/書きこみ''' || '''回路ブロックからの読み出し/書きこみ''' ||
|| 0 || コマンド || W || - ||
|| 1 || DELAY || Delay値1+Delay値2 || R/W || R/W ||
|| 2 || BERT_PRESET_N0 || BERTでテストするビット数(下位の数字) || R/W || W ||
|| 3 || BERT_PRESET_N1 || BERTでテストするビット数(上位の数字) || R/W || W ||
|| 4 || BERT_N0 || BERTでテストしたビット数(下位の数字) || R || W ||
|| 5 || BERT_N1 || BERTでテストしたビット数(上位の数字) || R || W ||
|| 6 || BERT_E0 || BERTでのエラービット数(下位の数字) || R || W ||
|| 7 || BERT_E1 || BERTでのエラービット数(上位の数字) || R || W ||

通信のための簡単なデータフォーマット

ソフトウェアとデジタル回路、またはソフトウェアの異なるプロセス間で通信する際の利用できるアプリケーション・レベルでの簡単なデータフォーマットについて説明する。 データ通信にはシリアル通信、TCP/IP, PCIe, USB等様々な規格があるが、ここで導入するのはこれらに変わるものではなく、これらに乗っかったアプリケーション・データのフォーマットについてである。データは1バイト単位とする。

フォーマット

バイト順

意味

内容

0

先頭文字

'M'

先頭バイトを示す目印

1

データ長

4以上の整数

パケット全体のバイト数

2

データ・タイプ

整数

アプリケーション毎に決める任意の値

3

予備バイト

0

予備

4~N-1

データの中身

アプリケーションによる

個別のアプリケーション例

NexysVideoによるFEI4との通信

データ・タイプ

役割

データの内容

1

echo

任意のデータ

2

レジスタへの書き込み

アドレス(1 byte)+データ(4 bytes)

3

レジスタからの読み出し

アドレス(1 byte)

4

フロントエンドへのコマンド送信

FEI4へ送るコマンド列

5

IDELAYにDelay値を設定

無し。値は事前にレジスタに書き込んでおく。

6

BERT開始

無し

7

BERT終了

無し

複数バイトのデータを送る場合、バイト列の並びはbig endianとする。

内部レジスタ(一例なので使いやすいように決めて下さい。)

バイト順

意味

内容

ソフトウェアからの読み出し/書きこみ

 回路ブロックからの読み出し/書きこみ

0

コマンド

W

-

1

DELAY

Delay値1+Delay値2

R/W

R/W

2

BERT_PRESET_N0

BERTでテストするビット数(下位の数字)

R/W

W

3

BERT_PRESET_N1

BERTでテストするビット数(上位の数字)

R/W

W

4

BERT_N0

BERTでテストしたビット数(下位の数字)

R

W

5

BERT_N1

BERTでテストしたビット数(上位の数字)

R

W

6

BERT_E0

BERTでのエラービット数(下位の数字)

R

W

7

BERT_E1

BERTでのエラービット数(上位の数字)

R

W

SimpleMessageFormat (最終更新日時 2019-01-13 07:28:54 更新者 TakanoriKono)