Spartan3A DSP のリソース覚え書き のバックアップソース(No.4)

更新

[[公開メモ]]

#contents

* 概要 [#t10d09df]

Spartan 3A DSP について、Users' Guid および FPGA Editor で確認した事項をメモするつもりです。

* Block RAM [#v9d0578c]

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 を使っていないのですが、
たぶん同じ割り当てで出てくるんでしょうね(念のため確認すべき)。

* コメント [#u8a96aed]

#article_kcaptcha

Counter: 5676 (from 2010/06/03), today: 1, yesterday: 1