From: Luke Kenneth Casson Leighton Date: Tue, 14 Apr 2020 17:25:33 +0000 (+0100) Subject: add fu-fu multi-rd/wr dep cell X-Git-Tag: div_pipeline~1435^2~11 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e74d7f989871e968b5ab31d6f50c7e2b2bc787b5;p=soc.git add fu-fu multi-rd/wr dep cell --- diff --git a/src/soc/scoreboard/fu_dep_cell_multi.py b/src/soc/scoreboard/fu_dep_cell_multi.py new file mode 100644 index 00000000..4643f3c2 --- /dev/null +++ b/src/soc/scoreboard/fu_dep_cell_multi.py @@ -0,0 +1,125 @@ +from nmigen.compat.sim import run_simulation +from nmigen.cli import verilog, rtlil +from nmigen import Module, Signal, Const, Elaboratable, Array +from nmutil.latch import SRLatch + +from functools import reduce +from operator import or_ + + +class FUDependenceCell(Elaboratable): + """ implements 11.4.7 mitch alsup dependence cell, p27 + """ + def __init__(self, dummy, n_fu, n_src, n_dest): + self.n_fu = n_fu + self.n_src = n_src + self.n_dest = n_dest + self.dummy = Const(~(1<