[Libre-soc-dev] data-dependent fail first writing outputs of failing element
Jacob Lifshay
programmerjake at gmail.com
Thu Oct 6 21:42:42 BST 2022
On Thu, Oct 6, 2022, 12:30 lkcl via Libre-soc-dev <
libre-soc-dev at lists.libre-soc.org> wrote:
> * have to sort out sv.add/ff because regfile write terminates
> at VL and so should only write to the penultimate element
> when VLI is also set.
uuh, actually iirc we agreed that the failing element should always write
all of its outputs. if it is set so VL won't include the failing element,
that VL update will happen *after* writing the failing element's outputs.
see https://bugs.libre-soc.org/show_bug.cgi?id=936
pseudocode for sv.add./ff=... *r8, *r16, *r24:
for i in range(VL):
reg[8+i] = reg[16+i] + reg[24+i]
crf[i] = make_crf(reg[8+i], XER.SO)
if crf[i].eq == fail_eq:
if excludes_failing_elemrnt:
VL = i # VL set *after* failing element writes outputs
else:
VL = i + 1
break
Jacob
More information about the Libre-soc-dev
mailing list