Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tail-undisturbed policy violation for comparison instructions. #97

Open
moimfeld opened this issue Aug 8, 2022 · 0 comments
Open

Tail-undisturbed policy violation for comparison instructions. #97

moimfeld opened this issue Aug 8, 2022 · 0 comments

Comments

@moimfeld
Copy link
Contributor

moimfeld commented Aug 8, 2022

Hi @michael-platzer

Issue

Comparison instructions should write the result of each comparison into the corresponding mask element of the result register. Vicuna does this, but it also updates the "mask tail elements", which is not compliant with the specs.

AFAIK, all comparison instruction violate this policy (vmseq.(vv|vx|vi), vmsne.(vv|vx|vi), vmslt(u).(vv|vx), vmsle(u).(vv|vx|vi), vmsgt(u).(vv|vx)) .

Below you can see an example warning of the UVM environment caused by tail-undisturbed violation:
(configuration: SEW=8, VL=8, LMUL=1/4)

# UVM_WARNING cvxif_scoreboard.svh(412) @ 15740: uvm_test_top.env.scoreboard [CVXIF_SCOREBOARD] Instr "vmsgtu.vi v3, v23, 1 mf4, tu, mu" with id = 5 in Prog "vmsgtu_vi" failed: 
# at      15740 ns: 
# State Difference
# ref.vproc_register[3]: d95224b44d1baac103a912d636614c8aabbe3dcb295429c8b1d99a5205c141ff, dut.vproc_reg[3]: d95224b44d1baac103a912d636614c8aabbe3dcb295429c8b1d99a52ffffffff

This issue might be related to #79 because both issues occur if the result is in "Mask-Register-Layout".

How to reproduce

You can reproduce this issue by running the cvxif_test_direct_issue_97 in the UVM environment.

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

No branches or pull requests

1 participant