Spartan3A DSP のリソース覚え書き
概要†
Spartan 3A DSP について、Users' Guid および FPGA Editor で確認した事項をメモするつもりです。
Block RAM†
Block RAM は CLB 4つ分の高さがあるので、
| CLB3 | Block RAM |
| CLB2 | |
| CLB1 | |
| CLB0 |
のように、1つの Block RAM に4つの CLB が接しています。
Block RAM からの入出力線がどの CLB の高さで繋がっているかを知っていると、 きちきちの最適化をする場合、規定の位置に合わせてデータを持ってくれば 余計な配線遅延を減らすことができます。
確認した限り接続は以下のようになっているようです。
| CLB3 | DINA[15:12], DINA[31:28] | Block RAM |
| DOB[15:12], DOB[31:28] | ||
| ADDRA[13:12] | ||
| ADDRB[13:12] | ||
| CLB2 | DINA[11:8], DINA[27:24] | |
| DOB[11:8], DOB[27:24] | ||
| ADDRA[11:8] | ||
| ADDRB[11:8] | ||
| CLB1 | DINA[7:4], DINA[23:20] | |
| DOB[7:4], DOB[23:20] | ||
| ADDRA[7:4] | ||
| ADDRB[7:4] | ||
| CLB0 | DINA[3:0], DINA[19:16] | |
| DOB[3:0], DOB[19:16] | ||
| ADDRA[3:0] | ||
| ADDRB[3:0] |
今回は FIFO としての利用だったので DINB や DOA を使っていないのですが、 たぶん同じ割り当てで出てくるんでしょうね(念のため確認すべき)。
コメント†
Counter: 7387 (from 2010/06/03),
today: 1,
yesterday: 0