[Libre-soc-dev] PartitionedSignal nmigen progess

lkcl luke.leighton at gmail.com
Tue Sep 28 20:24:55 BST 2021


i have __Cat__, __Mux__, __Assign__, __Part__ and __Switch__ added, they all work fine and no nmigen unit tests break.

the process of adding the low-level overrides (Cat, Mux, ...) into PartitionedSignal has also begun, __Mux__ is done and a preliminary demo / test is functional.

jacob, i will add a PartitionedSignal.__Cat__ unit test next, then start on PartitionedSignal.__Assign__ in its most basic form, after which __Switch__ can be started, it would be good if you can tackle that one.

if you want to do PartitionedSignal.__Assign__ as well that's great, it needs starting very soon (like, tomorrow).  i have the notes here:
https://libre-soc.org/3d_gpu/architecture/dynamic_simd/assign/

to follow the existing conventions that should go into a module part_ass/assign.py named PartitionedAssign

it's quite a complicated one, so its functionality could be developed in stages.  it needs to support:

* scalar source to unsigned part dest
   - same size
   - greater size
   - smaller size
* scalar source to signed part dest
   - same size
   - greater size
   - smaller size
* part source to unsigned part dest
   - same size
   - greater size
   - smaller size
* part source to signed part dest
   - same size
   - greater size
   - smaller size

yes, really, those are all different behaviours in each case!

l.



More information about the Libre-soc-dev mailing list