Skip to content

Allow zero identity add predicate#308

Open
guosran wants to merge 1 commit into
tancheng:masterfrom
guosran:fix/adder-zero-predicate
Open

Allow zero identity add predicate#308
guosran wants to merge 1 commit into
tancheng:masterfrom
guosran:fix/adder-zero-predicate

Conversation

@guosran

@guosran guosran commented Jun 25, 2026

Copy link
Copy Markdown
Collaborator

Summary

Addresses #292 with a minimized Adder predicate fix. This PR only updates AdderRTL.py and its focused test.

Changes

  • Allow ADD to preserve predicate when one operand is an invalid zero identity value.
  • Add a focused test for this zero-identity predicate case.

Validation

python3 -m pytest fu/single/test/AdderRTL_test.py -q --tb=short

@guosran guosran marked this pull request as draft June 25, 2026 20:04
@guosran guosran marked this pull request as ready for review June 26, 2026 00:40
@guosran

guosran commented Jun 26, 2026

Copy link
Copy Markdown
Collaborator Author

Adder output should not become active only because payload is zero/nonzero; predicate must control activity.

input payload = 0
input predicate = 1

Expected:
output payload = 0
output predicate = 1

Comment thread fu/single/AdderRTL.py
if s.recv_in[s.in0_idx].msg.predicate & s.recv_in[s.in1_idx].msg.predicate:
s.send_out[0].msg.predicate @= s.reached_vector_factor
elif s.recv_in[s.in0_idx].msg.predicate & \
~s.recv_in[s.in1_idx].msg.predicate & \

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why s.recv_in[s.in1_idx].msg.predicate won't affect output's predicate?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants