[Libre-soc-dev] SimdSignal scalar/vector switching and SimdShape.width

lkcl luke.leighton at gmail.com
Sat Oct 30 14:53:42 BST 2021



On October 30, 2021 11:44:46 AM UTC, lkcl <luke.leighton at gmail.com> wrote:

>still TODO, detect module=None.

done, starting to take shape (ha ha)

https://git.libre-soc.org/?p=ieee754fpu.git;a=commitdiff;h=1c546d9b810dd77befb665e7f3800a44f96eea01

now it is possible to:

* create a SimdShape with no scope
* create a SimdScope with no module
* create a new SimdScope from one with no module
* create SimdSignals that pick the current scope if
   a SimdShape was previously created without one

there will be some places where the deferrance needs assertions as safety checks, just have to see how it works out.

with this in place it should be possible to create scopes and shapes very early (during the config / setup) then pass those down to ALUs which can then actually use them.

hell of a lot of moving pieces, here.

still need, before anything can really be properly tested:

* PartitionedCat fixed
* SimdSignal.Switch written
* PartitionedAssign to understand Switch decisions
   (described in #458 i think. they're pretty complicated
    but basically based on predicate masks, per lane)

l.



More information about the Libre-soc-dev mailing list