• 検索結果がありません。

付録 I I 計算システム評価ボード 105

II.5 FLEX10K

printf("OK!\n");

for (i = 0l ; i < 8l ; i++)

{

outp( P_CL , nCONFIG | 1 );

outp( P_CL , nCONFIG | DCLK | 1);

}

printf("Now Downloading...");

for ( i= 0l ; i < 150000l ; i++){

unsigned char c;

int c1;

if ( EOF == fscanf(fp,"%d,",&c1) ) break;

int j;

c = c1;

for ( j=0l ; j< 8l ; j++){

outp( P_CL , nCONFIG | ( c & 1 ) );

outp( P_CL , nCONFIG | DCLK | ( c & 1 ) );

c >>= 1;

}

if ( (inp( P_BH ) & 0xC0 ) == 0xC0 ) break;

if ( i == 149132l )

{

printf("Abnormal end.\n");

exit(1);

}

}

if ( i != 149131l)

{

printf("Abnormal end.\n");

exit(1);

}

for (i = 0l ; i< 8l ; i++)

{

outp( P_CL , nCONFIG );

outp( P_CL , nCONFIG | DCLK);

}

printf("Normal end.\n");

outp(P_CH,0x00);

return 0;

}

コンフィグレーション

FLEXシリーズの記憶素子は、SRAMで構成されている。SRAM素子は電源が入っ ていなければ内容が消えてしまう。このため、電源を投入する度に、設計した回路の

データ(conguration data)を、SRAMに送ること(down load)により、デバイスに機

能を持たせる。

設計 した回 路をデバ イスに 乗るデー タにし てダウ ンロードす ること をコン フィグ レーショ ンとい う。FLEXの場合、 デバイ スを基板 上に実 装した ままの 状態で コン フィグレーションする。このデバイスのコンフィグレーション法には幾つかの方法が あるが、今回は比較的簡単なPassiveSerial法を用いる。この方法は使用する信号線が 少ない利点がある。他にCongration EPROM法、Passive Synchronous法、Passive

ParallelAsynchronous法がある。

Passive Serial法で使用される端子 (FLEX10K)

実 際 に 外 部 と の 接 続 に 用 い る の は、nSTATUS nCONFIG CONF DONE DCLK

DATA0の5本である。

II.11 PassiveSerial法で使用される端子 (FLEX10K)

MSEL0 入力 方法選択0

MSEL1 入力 方法選択1

nCE 入力 Lowにしないとコンフィグできない

nCE0 出力 カスケード接続用信号

nSTATUS 双方向 コンフィグstatus 信号

nCONFIG 入力 コンフィグ制御信号

CONF DONE 双方向 デバイスがコンフィグされると High

DCLK 入力 データ入力クロック

DATA0 入力 データ線

コンフィグレーション法の選択 (FELX10K)

MSEL0とMSEL1を用いて、Congration法を選択する。今回はPassiveSerial法を 用いるので、MSEL0MSEL1ともに0にする。

I I.12 コンフィグレーション法の選択 (FELX10K)

MSEL0 MSEL1 コンフィグレーション法(FLEX10K)

0 0 コンフィグレーション EPROMorpassiveserial

1 0 Passive ParallelSynchronous

1 1 Passive ParallelAsynchronous

コンフィグレーション回路

基本的に3本の入力と2本の出力合わせて5本の信号を接続する。これらの信号を 外部のI/Oで制御する。

VCC VCC VCC VCC VCC

MSEL0 nCE MSEL1

CONF_DONE nSTATUS

FLEX10K

GND DATA0

DCLK nCONFIG

I/O

Ω 1k

II.16 コンフィグレーション回路 16

16ファイル名: ./g2/cong.eps

コンフィグレーションのタイミング波形

D0 D1 D2 D3

nCONFIG

nSTATUS

CONF_DONE

DCLK

DATA0 Dn

II.17 コンフィグレーションのタイミング波形 17

II.13 コンフィグレーション端子の意味

nCONFIG パルスを与えることにより、コンフィグの開始の意味になる。

パルスは幅は2以上。

nSTATUS 最初のパルスはデバイスがコンフィグモードになったことを示す。

コンフィグの途中で Lowになるとエラーを示す。

CONF DONE デバイスの状態を示す。Low で未コンフィグ状態を示す。

DCLK 立上りで、DATA の読み込みを行う。10Mhz 以下。

DATA0 ここに 1bit づつ、congrationdata を与える。

TTFのデータは1byte 単位だが、下位ビットから先に送る。

コンフィグレーションファイル

FLEXのコンフィグレーションデータは、ALTERA社の配置配線ツールMax+PLUS

I Iで生成できる。このデータファイルをコンフィグレーションファイルという。ファイ ル形式は幾つかあるが、今回用いるのは、TabularText File(.TTF)である。TTF形 式は、コンマ(,)で区切られたASCII形式のファイルである。このため、C等のプロ

17ファイル名: ./g2/timewave.eps

グラム言語で、ソースコード中に埋め込んだり、データファイルとして扱うことがで きる。実際のダウンロード時には先頭に0xFFを付加しておかないとデバイスが動作 しないので注意する必要がある。

ドキュメント内 FPGAを用いた行列計算専用プロセッサの設計 (ページ 131-135)