Hi!
We have encountered a problem with the branch-conditions. A BGT takes the branch even if the operand is zero. We looked into "execute.vhd" and hopefully fixed it:
Lines 205f should be altered to this: WHEN BGT => v.branch := NOT dat_a(CFG_DMEM_WIDTH - 1) AND NOT zero; WHEN BGE => v.branch := NOT dat_a(CFG_DMEM_WIDTH - 1);
Obviously you handled the ZERO in the BG-branches like in the BL-branches, which is lightly wrong ;)
Greetings
You are very right! Thanks for noting and adding it to the bugtracker. I have just committed several updates.