Bug 575

Summary: PartitionedEqGtLe needs to use RippleLSB
Product: Libre-SOC's first SoC Reporter: Luke Kenneth Casson Leighton <lkcl>
Component: Source CodeAssignee: Luke Kenneth Casson Leighton <lkcl>
Status: CONFIRMED ---    
Severity: enhancement CC: cestrauss, libre-soc-bugs
Priority: ---    
Version: unspecified   
Hardware: PC   
OS: Linux   
See Also: https://bugs.libre-soc.org/show_bug.cgi?id=565
https://bugs.libre-soc.org/show_bug.cgi?id=176
NLnet milestone: --- total budget (EUR) for completion of task and all subtasks: 0
budget (EUR) for this task, excluding subtasks' budget: 0 parent task for budget allocation:
child tasks for budget allocation: The table of payments (in EUR) for this task; TOML format:
Bug Depends on:    
Bug Blocks: 132, 171    

Description Luke Kenneth Casson Leighton 2021-01-09 12:41:00 GMT
output at present is either 0b0000 or 0b000001 in each partition (LSB is 1 or 0), this needs to be 0b000000 or 0b111111 by using RippleLSB, initially.

all documentation also needs updating to reflect this change.  it is quite a big redesign hence an interim stage is to use RippleLSB
Comment 1 Cesar Strauss 2021-01-15 22:25:45 GMT
(In reply to Luke Kenneth Casson Leighton from comment #0)
> output at present is either 0b0000 or 0b000001 in each partition (LSB is 1
> or 0), this needs to be 0b000000 or 0b111111 by using RippleLSB, initially.


This is not true anymore, it was changed in:

commit d07c689dc09ada1f3b408dcff9858b514a42dc80
Author: Michael Nolan <mtnolan2640@gmail.com>
Date:   Fri Feb 7 09:29:32 2020 -0500

    modify reorder_bits to copy the MSB of the partition to each bit
    
    Previously, it would move the MSB to the LSB, and set the rest of the
    bits to 0.

 src/ieee754/part_cmp/reorder_results.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

It has become basically a "RippleMSB". Note that the previous stage (GTCombiner) placed the result in the MSB.

> all documentation also needs updating to reflect this change.

There is a table here that needs updating:
https://libre-soc.org/3d_gpu/architecture/dynamic_simd/eq/

And another here:
https://libre-soc.org/3d_gpu/architecture/dynamic_simd/logicops/

The above page also has a textual description, that actually seems correct.
Comment 2 Luke Kenneth Casson Leighton 2021-01-15 23:11:33 GMT
ah! good catch.  i will sort the tables out.  at some point the use of RippleMSB needs to be integrated in, the logic becomes quite different.
Comment 3 Luke Kenneth Casson Leighton 2021-01-16 12:43:56 GMT
sorted the tables in the 2 pages, thank you cesar.