X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fbsv%2Fperipheral_gen%2Feint.py;h=f59dd32f0827018f223538895a3cc50e79096925;hb=9cc8691165170ef5b43b7823c884e99c21a6ab2e;hp=cd3be2c24bf3958a92c3068e3833b477fdcef79a;hpb=072bcec12dc08f9e41f61c9deecd981afc6d9629;p=pinmux.git diff --git a/src/bsv/peripheral_gen/eint.py b/src/bsv/peripheral_gen/eint.py index cd3be2c..f59dd32 100644 --- a/src/bsv/peripheral_gen/eint.py +++ b/src/bsv/peripheral_gen/eint.py @@ -1,19 +1,20 @@ from bsv.peripheral_gen.base import PBase + class eint(PBase): def slowimport(self): size = len(self.peripheral.pinspecs) - return " `define NUM_EINTS %d" % size + return "`define NUM_EINTS %d" % size def mkslow_peripheral(self, size=0): size = len(self.peripheral.pinspecs) - return " Wire#(Bit#(%d)) wr_interrupt <- mkWire();" % size + return "Wire#(Bit#(%d)) wr_interrupt <- mkWire();" % size - def axi_slave_name(self, name, ifacenum): + def axi_slave_name(self, idx, name, ifacenum, typ=''): return '' - def axi_slave_idx(self, idx, name, ifacenum): + def axi_slave_idx(self, idx, name, ifacenum, typ): return ('', 0) def axi_addr_map(self, name, ifacenum): @@ -25,20 +26,21 @@ class eint(PBase): print "ifnameweak", pname, typ, txt return "wr_interrupt[{0}] <= ".format(pname) - def mk_pincon(self, name, count): - ret = [PBase.mk_pincon(self, name, count)] + def _mk_pincon(self, name, count, typ): + assert typ == 'slow', 'TODO: mkConnection for fast' + ret = [PBase._mk_pincon(self, name, count, typ)] size = len(self.peripheral.pinspecs) ret.append(eint_pincon_template.format(size)) - ret.append(" rule con_%s%d_io_in;" % (name, count)) - ret.append(" wr_interrupt <= ({") + ret.append("rule con_%s%d_io_in;" % (name, count)) + ret.append(" wr_interrupt <= ({") for idx, p in enumerate(self.peripheral.pinspecs): pname = p['name'] sname = self.peripheral.pname(pname).format(count) - ps = "pinmux.peripheral_side.%s" % sname + ps = "pinmux.peripheral_side.eint.%s" % sname comma = '' if idx == size - 1 else ',' ret.append(" {0}{1}".format(ps, comma)) - ret.append(" });") - ret.append(" endrule") + ret.append(" });") + ret.append("endrule") return '\n'.join(ret)