LiteXでの論理合成にて、ターゲットのFPGAボードに入りきらないので、面積の解析を行った。 以下のグラフは、問題となっているLUTの面積だけ取り出したものになっている。
かなり面積大きめになっているのはLSUとBRU。BRUがなぜ大きくなっているのかはよくわからない。
思いっきり、もう少しリソースを絞ってどうにかしてFPGAに載るようにしてみたほうがいいかもしれないが、これ以上リソースを削りまくってもやはりだめだ。Arty-A7の35Tでは資源が入りきらない。
仕方がないので、もう少し大きめのFPGA(Nexy4DDR)で論理合成を試してみた。こっちならちゃんと入ったようだ。
+----------------------------+-------+-------+-----------+-------+ | Site Type | Used | Fixed | Available | Util% | +----------------------------+-------+-------+-----------+-------+ | Slice LUTs | 27910 | 0 | 63400 | 44.02 | | LUT as Logic | 25413 | 0 | 63400 | 40.08 | | LUT as Memory | 2497 | 0 | 19000 | 13.14 | | LUT as Distributed RAM | 2494 | 0 | | | | LUT as Shift Register | 3 | 0 | | | | Slice Registers | 25021 | 0 | 126800 | 19.73 | | Register as Flip Flop | 24914 | 0 | 126800 | 19.65 | | Register as Latch | 107 | 0 | 126800 | 0.08 | | F7 Muxes | 2348 | 0 | 31700 | 7.41 | | F8 Muxes | 244 | 0 | 15850 | 1.54 | +----------------------------+-------+-------+-----------+-------+
問題は動作周波数だな。Nexy4DDRの動作周波数にはMetしていない。