ibex icon indicating copy to clipboard operation
ibex copied to clipboard

Add support for ZiCond(Conditional move)

Open asimahsan1990 opened this issue 2 years ago • 3 comments

Add support for the Zicond extension added v1.0-rc. The new instructions added are:

  • czero.eqz
  • czero.nez

asimahsan1990 avatar Jun 12 '23 09:06 asimahsan1990

@GregAC

asimahsan1990 avatar Jun 14 '23 06:06 asimahsan1990

Thanks for the contribution @asimahsan1990, though unfortunately we can't accept this PR as it stands.

The RTL implementation itself looks reasonable but we need to add DV for it and also consider how it can be parametrised, as typically new features and extensions are optional, rather than a mandatory part of the base RTL. We also need to ensure we have at least assembly support in the lowRISC toolchain.

That second point in particular is tricky as I think we need to develop a new strategy here as we're getting more and more parameters and I think we need to look at new approaches especially if we're adding more small extensions like this.

However I'll leave this open so it's something that can be picked up by interested parties.

GregAC avatar Jul 13 '23 12:07 GregAC

I think there is no support for RISCV-DV for ZiCond ext. yet.

@asimahsan1990 maybe you need to get that added first AFAIK since Ibex uses that in its verification environment.

quswarabid avatar Jul 13 '23 12:07 quswarabid