[libre-riscv-dev] buffered pipeline
Luke Kenneth Casson Leighton
lkcl at lkcl.net
Fri Mar 22 10:26:45 GMT 2019
# Normalisation, Rounding Corrections, Pack - in a chain
nmod = FPNorm1ModSingle(self.width, self.id_wid)
rmod = FPRoundMod(self.width, self.id_wid)
cmod = FPCorrectionsMod(self.width, self.id_wid)
pmod = FPPackMod(self.width, self.id_wid)
chain = StageChain([nmod, rmod, cmod, pmod])
chain.setup(m, i)
self.out_z = pmod.ospec()
m.d.sync += self.out_z.mid.eq(pmod.o.mid)
m.d.sync += self.out_z.z.v.eq(pmod.o.z.v) # outputs packed result
COOL! woo! 3 daaays of painful 5-10 line modifications, eeeventually
i've been able to chain 4 stages together without awful by-hand
linkage.
dang.
l.
More information about the libre-riscv-dev
mailing list