vivado の最適化

まずは使われそうにない下位ビットをはっしょった。ほんとうは先に最適化してはいけない。

+-------------------------------------------------------------+----------+-------+-----------+-------+
|                          Site Type                          |   Used   | Fixed | Available | Util% |
+-------------------------------------------------------------+----------+-------+-----------+-------+
| Slice                                                       |      121 |     0 |     13300 |  0.91 |
|   SLICEL                                                    |       81 |     0 |           |       |
|   SLICEM                                                    |       40 |     0 |           |       |
| LUT as Logic                                                |      285 |     0 |     53200 |  0.54 |
|   using O5 output only                                      |        2 |       |           |       |
|   using O6 output only                                      |      175 |       |           |       |
|   using O5 and O6                                           |      108 |       |           |       |
| LUT as Memory                                               |        0 |     0 |     17400 |  0.00 |
|   LUT as Distributed RAM                                    |        0 |     0 |           |       |
|   LUT as Shift Register                                     |        0 |     0 |           |       |
| LUT Flip Flop Pairs                                         |      388 |     0 |     53200 |  0.73 |
|   fully used LUT-FF pairs                                   |      202 |       |           |       |
|   LUT-FF pairs with unused LUT                              |      105 |       |           |       |
|   LUT-FF pairs with unused Flip Flop                        |       81 |       |           |       |
| Unique Control Sets                                         |       20 |       |           |       |
| Minimum number of registers lost to control set restriction | 57(Lost) |       |           |       |
+-------------------------------------------------------------+----------+-------+-----------+-------+

Yレジの計算をちゃんと 16bit にしたら増えた。

+-------------------------------------------------------------+----------+-------+-----------+-------+
|                          Site Type                          |   Used   | Fixed | Available | Util% |
+-------------------------------------------------------------+----------+-------+-----------+-------+
| Slice                                                       |      124 |     0 |     13300 |  0.93 |
|   SLICEL                                                    |       84 |     0 |           |       |
|   SLICEM                                                    |       40 |     0 |           |       |
| LUT as Logic                                                |      298 |     0 |     53200 |  0.56 |
|   using O5 output only                                      |        2 |       |           |       |
|   using O6 output only                                      |      197 |       |           |       |
|   using O5 and O6                                           |       99 |       |           |       |
| LUT as Memory                                               |        0 |     0 |     17400 |  0.00 |
|   LUT as Distributed RAM                                    |        0 |     0 |           |       |
|   LUT as Shift Register                                     |        0 |     0 |           |       |
| LUT Flip Flop Pairs                                         |      410 |     0 |     53200 |  0.77 |
|   fully used LUT-FF pairs                                   |      209 |       |           |       |
|   LUT-FF pairs with unused LUT                              |      114 |       |           |       |
|   LUT-FF pairs with unused Flip Flop                        |       87 |       |           |       |
| Unique Control Sets                                         |       20 |       |           |       |
| Minimum number of registers lost to control set restriction | 50(Lost) |       |           |       |
+-------------------------------------------------------------+----------+-------+-----------+-------+

重複しているところを variable にしてみたら変わらず。
どうやらもともと最適化が効いている。苦労して最適化する必要なし。

+-------------------------------------------------------------+----------+-------+-----------+-------+
|                          Site Type                          |   Used   | Fixed | Available | Util% |
+-------------------------------------------------------------+----------+-------+-----------+-------+
| Slice                                                       |      124 |     0 |     13300 |  0.93 |
|   SLICEL                                                    |       84 |     0 |           |       |
|   SLICEM                                                    |       40 |     0 |           |       |
| LUT as Logic                                                |      298 |     0 |     53200 |  0.56 |
|   using O5 output only                                      |        2 |       |           |       |
|   using O6 output only                                      |      197 |       |           |       |
|   using O5 and O6                                           |       99 |       |           |       |
| LUT as Memory                                               |        0 |     0 |     17400 |  0.00 |
|   LUT as Distributed RAM                                    |        0 |     0 |           |       |
|   LUT as Shift Register                                     |        0 |     0 |           |       |
| LUT Flip Flop Pairs                                         |      410 |     0 |     53200 |  0.77 |
|   fully used LUT-FF pairs                                   |      209 |       |           |       |
|   LUT-FF pairs with unused LUT                              |      114 |       |           |       |
|   LUT-FF pairs with unused Flip Flop                        |       87 |       |           |       |
| Unique Control Sets                                         |       20 |       |           |       |
| Minimum number of registers lost to control set restriction | 50(Lost) |       |           |       |
+-------------------------------------------------------------+----------+-------+-----------+-------+