付録 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を付加しておかないとデバイスが動作 しないので注意する必要がある。