Bug 575 - PartitionedEqGtLe needs to use RippleLSB
Summary: PartitionedEqGtLe needs to use RippleLSB
Status: CONFIRMED
Alias: None
Product: Libre-SOC's first SoC
Classification: Unclassified
Component: Source Code (show other bugs)
Version: unspecified
Hardware: PC Linux
: --- enhancement
Assignee: Luke Kenneth Casson Leighton
URL:
Depends on:
Blocks: 132 171
  Show dependency treegraph
 
Reported: 2021-01-09 12:41 GMT by Luke Kenneth Casson Leighton
Modified: 2021-10-01 00:49 BST (History)
2 users (show)

See Also:
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:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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.