[Libre-soc-bugs] [Bug 713] PartitionedSignal enhancement to add partition-context-aware lengths

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Wed Oct 13 01:05:03 BST 2021


--- Comment #90 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Jacob Lifshay from comment #88)

> Of course you can't if you *insist* on the SimdSignal constructor taking the
> full-simd-width. It works great, by contrast, if the SimdSignal constructor
> takes the *element width*, as I've been advocating for for a while.

brief: (1am), both are needed.  see comment #63.

(In reply to Jacob Lifshay from comment #89)

> I do think that having just the XLEN global idea will save us a huge amount
> of time, 

yes.  but only if its class is SimdShape which derives from Shape.

self.XLEN=SimdShape(64, part_count={0:1, 1:2, 2:4, 3:8})

where XLEN//2 returns a new SimdShape with overall width=32,
partition counts the same, and vector element wifths halved (//2)
at all elwidths.

a different mode is needed for when a SimdShape is declared WITHOUT
a fixed width, but instead with fixed vector element widths.

in that mode the arithmetic operations are done *on the vector element

two modes.

this is essential.

> so I'm going to try to build a version with just that added, and
> leave the rest mostly unmodified.

make it SimdShape.  derive from Shape.  recalculate layout based on
vector element width being passed in.

but first the bug in layout() needs to be fixed.

You are receiving this mail because:
You are on the CC list for the bug.

More information about the libre-soc-bugs mailing list