diff options
author | Pavel V. Shatov (Meister) <meisterpaul1@yandex.ru> | 2017-07-13 21:38:53 +0300 |
---|---|---|
committer | Pavel V. Shatov (Meister) <meisterpaul1@yandex.ru> | 2017-07-13 21:38:53 +0300 |
commit | 72a67f04a21ba4006c7b5bf38e01a3aa6592740f (patch) | |
tree | 6b5a90a9dc683bbe7c91e09a2f20ea8e462e5995 /src/rtl/util | |
parent | 71b75290bf2ade9a4022bad93dc80bfb77f87f40 (diff) |
Systolic multiplier simplified a bit:
* passes testbench tests again
* this time synthesizes fine (without major issues)
List of things that need polishing in the future:
* Parallelized operand loader can be reduced by a factor of 3
to only store one operand at a time: it currently stores
B, N_COEFF and N. After B is consumed, it can be overwritten
with AB, N_COEFF can be loaded sequentially the same way
A is loaded. After that loader can be filled with Q while
N will be loaded sequentially.
* Turns out QN block memory is not needed at all. After we obtain
the next word of QN, we immediately calculate SN. After that QN
can be discarded, no need to store it.
* Currently there are two wide memories T and PE_C_OUT. XST throws
weird warnings about multi-port RAM before finally deciding
to implement it using flip-flop. Those memories should be turned
into FIFOs to simplify the design and not confuse XST.
Diffstat (limited to 'src/rtl/util')
0 files changed, 0 insertions, 0 deletions