[libre-riscv-dev] [Bug 296] idea: cyclic buffer between FUs and register file
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Sun May 3 12:58:32 BST 2020
https://bugs.libre-soc.org/show_bug.cgi?id=296
--- Comment #12 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
hmm because we are aiming for a minimum 4x FP32 FMACs per cycle,
the datapath situation is much "worse" than i described earlier.
(meaning: the pressure to reduce the amount of control and information
wires is much higher).
* 4x FP32 FMACs is 2x 64-bit results
* however it's also 4x3 *read* registers @ FP32 which is 6x 64-bit
reads.
having 6R2W on the regfile is completely impractical.
this is why we decided to go for the HI/LO-32-ODD/EVEN regfile split
(and to synchro-"pair" 32-bit operations if 64-bit calculations are
required, using PartitionedSignal).
by subdividing, we effectively end up with *four* separate isolated
32-bit-wide register files.
thus there will be *four* separate Common Data Buses, each serving
32-bit data to a *quarter* of the Function Units, each.
i'll draw it out.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-riscv-dev
mailing list