[Libre-soc-bugs] [Bug 176] partitioned dynamic bool/all/any/xor operators

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Sun Dec 27 20:25:47 GMT 2020


https://bugs.libre-soc.org/show_bug.cgi?id=176

--- Comment #3 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to ps905 from comment #2)
> >similar to gt/le/eq in form, bool/all/any/xor operators are needed.
> 
> >wiki page here
> 
> >https://libre-soc.org/3d_gpu/architecture/dynamic_simd/logicops/
> 1. needed some help in understanding if the result has to be specific for
> the width or it has to go through all the possibilities. 

well, it turns out that it's pretty straightforward to do all possibilities,
simply by having the 7 bits of partitioning.

> I am guessing that I could be understanding these partitions improperly.
> What I mean is given if width of the signal, and for an example it is 32.
> Does it have to be split into 16x4 and 8x8 as well or only specifically for
> 32x2

all the code written takes 2 parameters:
a) width
b) partition points

take a look at the eq code as an example.

if an instance of the eq class is declared as 32 bit the partition points can
be:

8 8 8 8
16 8 8
8 16 8
8 8 16
16 16
8 24
24 8
32

because the partition settings will be

0 0 0
1 0 0
0 1 0
0 0 1
etc etc.

the code does NOT take a parameter "partition equals 64 bit, partition equals
2x32 bit, partition equals 4x15"

the code takes a parameter indicating the OPENING GATE POINTs... *between* the
8 bit sub-sections

look at the code and the notes that went with it.

https://git.libre-soc.org/?p=ieee754fpu.git;a=blob;f=src/ieee754/part_cmp/experiments/equal_ortree.py;h=470fb603f48c31c84a13e2cf4e240ea7acd2f590;hb=54ebe54bb3dceacfddf376a73088896daf900bc6

the actual code is quite small but it did take a good 2-3 weeks for us to work
through it.

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


More information about the libre-soc-bugs mailing list