[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 6 18:32:35 BST 2021


--- Comment #15 from Jacob Lifshay <programmerjake at gmail.com> ---
(In reply to Luke Kenneth Casson Leighton from comment #13)
> (In reply to Jacob Lifshay from comment #11)
> > assuming a layout of:
> > SimdLayout({
> >     1: unsigned(10),
> >     2: unsigned(12),
> >     4: unsigned(15),
> > })
> noooo, different types of signedness down at the lane level is
> completely out of the question.

Actually, SimdLayout specifically asserts that all lanes have the same
signedness, essentially it's just there to make passing in Shapes easy, and
because, conceptually, it's the lanes who's shape we care about, the whole
signal could be signed/unsigned/whatever it doesn't matter as long as the lanes
behave as expected.

> that significantly changes the design and, worse, breaks a fundamental
> assumption that the object can be treated as "if it was one thing"
> by nmigen Type 1 (ast.*) and Type 2 (dsl.Module) language constructs.

As currently designed SimdLayout is *not* a subclass of Shape, so idk where you
think it fits into nmigen, because it doesn't -- nmigen is never passed a
SimdLayout instance.

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

More information about the libre-soc-bugs mailing list