以前のリビジョンの文書です
EPCSインターフェース
基本はSPIインターフェース
EPCSのデータシート(http://www.altera.co.jp/literature/hb/cfg/cyc_c51014.pdf)や生成されたHALドライバのソースを見れば、 SPIであることが容易に分かる。
実際、説明無しレジスタのうち(Read Data~Slave Enable)は、SPI Coreのレジスタと同一になっている。
オフセット1) | レジスタ | R/W | 説明 |
---|---|---|---|
0x000 .. 0x0FF | Boot ROM Memory | R | 先頭256bytesのデータを直接読めるエリア。 ブート領域に使うため。 |
0x100 | rxdata (Read Data) | R | SPI Coreのレジスタ(0~5)と同じ |
0x101 | txdata (Write Data) | W | |
0x102 | status (Status) | R/W | |
0x103 | control (Control) | R/W | |
0x104 | reserved | ||
0x105 | slaveselect (Slave Enable) | R/W | |
0x106 | End of Packet | R/W |
デバイスの識別
Read Silicon IDコマンド(0xab)を送信2)すると、1byteのIDが返ってくる。IDにより、容量等を判断可能。
ID | 型番 | 容量 | ブロック数 | ブロック長 |
---|---|---|---|---|
0x10 | EPCS1 | 1Mb | 4 | 32768 |
0x12 | EPCS4 | 4Mb | 8 | 65536 |
0x13 | EPCS8 | 8Mb | 16 | 65536 |
0x14 | EPCS16 | 16Mb | 32 | 65536 |
0x16 | EPCS64 | 64Mb | 128 | 65536 |
0x183) | EPCS128 | 128Mb | 64 | 262144 |
コンフィグレーションデータの長さの読み方
FPGAのコンフィグレーションはEPCSの先頭(オフセット0x0)に置かなければならない。従って、EPCS上にNiosIIのコード等を格納する場合は、 コンフィグレーションデータより後ろに配置する必要がある。もし、コンフィグレーションデータの直後に置く場合には コンフィグレーションデータの長さが知りたくなるが、どうやって読み取るか。