[Libre-soc-bugs] [Bug 755] add grev instruction (OP_GREV)
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Sun Feb 13 16:53:31 GMT 2022
https://bugs.libre-soc.org/show_bug.cgi?id=755
--- Comment #28 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
some notes/thoughts: merging gror and grev plus any-other-combo i think might
be possible to do without going completely insane on the gate budget, by using
LUT2s.
with m.If(self.chunk_sizes[i]):
comb += lut2.eq(swaplut2)
with m.Else():
comb += lut2.eq(noswaplut2)
for j in range(self.width):
m.d.comb += step_o[j].eq(lut2(step_i[j], step_i[j ^ chunk_size], lut2)
the instruction would be of the form
grevtern(RT, RA, steps, swaplut2[0..3], noswaplut2[0..3])
only one set of LUT2s needed per layer, and it has applications
beyond grev even when the steps is set to zero.
still needs thought
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-soc-bugs
mailing list