interface Ifc_slow_peripherals;
interface AXI4_Slave_IFC#(`ADDR,`DATA,`USERSPACE) axi_slave;
interface SP_dedicated_ios slow_ios;
- method Action external_int(Bit#(32) in);
`ifdef CLINT
method Bit#(1) msip_int;
method Bit#(1) mtip_int;
// NEEL EDIT
interface iocell_side=pinmux.iocell_side;
interface pad_config0= gpioa.pad_config;
- method Action external_int(Bit#(32) in);
+ method Action external_int(Bit#(`NUM_EINTS) in);
wr_interrupt<= in;
endmethod
// NEEL EDIT OVER
class eint(PBase):
+ def slowimport(self):
+ size = len(self.peripheral.pinspecs)
+ return " `define NUM_EINTS %d" % size
+
+ def slowifdeclmux(self):
+ size = len(self.peripheral.pinspecs)
+ return " method Action external_int(Bit#(%d) in);" % size
+
def mkslow_peripheral(self, size=0):
size = len(self.peripheral.pinspecs)
return " Wire#(Bit#(%d)) wr_interrupt <- mkWire();" % size