2684
コメント:
|
2880
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 18: | 行 18: |
データ・タイプ | 内部レジスタ(一例なので使いやすいように決めて下さい。) || '''バイト順''' || '''意味''' || '''内容''' || '''ソフトウェアからのR/W''' || '''回路ブロックからのR/W''' || || 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 || コマンド・タイプ |
行 29: | 行 40: |
内部レジスタ(一例なので使いやすいように決めて下さい。) || '''バイト順''' || '''意味''' || '''内容''' || '''ソフトウェアからのR/W''' || '''回路ブロックからのR/W''' || || 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 || |
==== 回路への要求 ==== PCからパケットを受け取ったら、コマンド・タイプに応じて処理を適切に内容を処理する。 |
通信のための簡単なデータフォーマット
ソフトウェアとデジタル回路、またはソフトウェアの異なるプロセス間で通信する際の利用できるアプリケーション・レベルでの簡単なデータフォーマットについて説明する。 データ通信にはシリアル通信、TCP/IP, PCIe, USB等様々な規格があるが、ここで導入するのはこれらに変わるものではなく、これらに乗っかったアプリケーション・データのフォーマットについてである。データは1バイト単位とする。
フォーマット
バイト順 |
意味 |
値 |
内容 |
0 |
先頭文字 |
'M' |
先頭バイトを示す目印 |
1 |
データ長 |
4以上の整数 |
パケット全体のバイト数 |
2 |
データ・タイプ |
整数 |
アプリケーション毎に決める任意の値 |
3 |
予備バイト |
0 |
予備 |
4~N-1 |
データの中身 |
|
アプリケーションによる |
個別のアプリケーション例
NexysVideoによるFEI4との通信
内部レジスタ(一例なので使いやすいように決めて下さい。)
バイト順 |
意味 |
内容 |
ソフトウェアからのR/W |
回路ブロックからのR/W |
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 |
コマンド・タイプ
値 |
役割 |
データの内容 |
1 |
echo |
任意のデータ |
2 |
レジスタへの書き込み |
アドレス(1 byte)+データ(4 bytes) |
3 |
レジスタからの読み出し |
アドレス(1 byte) |
4 |
フロントエンドへのコマンド送信 |
FEI4へ送るコマンド列 |
5 |
IDELAYにDelay値を設定 |
無し。値は事前にレジスタに書き込んでおく。 |
6 |
BERT開始 |
無し |
7 |
BERT終了 |
無し |
複数バイトのデータを送る場合、バイト列の並びはbig endianとする。
回路への要求
PCからパケットを受け取ったら、コマンド・タイプに応じて処理を適切に内容を処理する。