class Interface(PeripheralIface, InterfaceFmt):
""" create an interface from a list of pinspecs.
each pinspec is a dictionary, see Pin class arguments
class Interface(PeripheralIface, InterfaceFmt):
""" create an interface from a list of pinspecs.
each pinspec is a dictionary, see Pin class arguments
self.buspins = filter(lambda x: x.name_.startswith(self.fbus),
self.pins_)
self.nonbuspins = filter(lambda x: not x.name_.startswith(self.fbus),
self.buspins = filter(lambda x: x.name_.startswith(self.fbus),
self.pins_)
self.nonbuspins = filter(lambda x: not x.name_.startswith(self.fbus),
InterfaceBus.__init__(self, self.pins, False, ['data_out', None, None],
"Bit#({0})", "out")
InterfaceBus.__init__(self, self.pins, False, ['data_out', None, None],
"Bit#({0})", "out")
class InterfaceFlexBus(InterfaceMultiBus, Interface):
def __init__(self, ifacename, pinspecs, ganged=None, single=False):
Interface.__init__(self, ifacename, pinspecs, ganged, single)
InterfaceMultiBus.__init__(self, self.pins)
self.add_bus(True, ['ad_out', 'ad_out_en', 'ad_in'],
class InterfaceFlexBus(InterfaceMultiBus, Interface):
def __init__(self, ifacename, pinspecs, ganged=None, single=False):
Interface.__init__(self, ifacename, pinspecs, ganged, single)
InterfaceMultiBus.__init__(self, self.pins)
self.add_bus(True, ['ad_out', 'ad_out_en', 'ad_in'],
self.add_bus(False, ['bwe', None, None],
self.add_bus(False, ['bwe', None, None],
self.add_bus(False, ['tsiz', None, None],
self.add_bus(False, ['tsiz', None, None],
self.add_bus(False, ['cs', None, None],
self.add_bus(False, ['cs', None, None],
def ifacedef2(self, *args):
return InterfaceMultiBus.ifacedef2(self, *args)
def ifacedef2(self, *args):
return InterfaceMultiBus.ifacedef2(self, *args)
class InterfaceSD(InterfaceBus, Interface):
def __init__(self, *args):
class InterfaceSD(InterfaceBus, Interface):
def __init__(self, *args):
InterfaceBus.__init__(self, self.pins, True, ['out', 'out_en', 'in'],
"Bit#({0})", "d")
InterfaceBus.__init__(self, self.pins, True, ['out', 'out_en', 'in'],
"Bit#({0})", "d")
class InterfaceNSPI(InterfaceBus, Interface):
def __init__(self, *args):
class InterfaceNSPI(InterfaceBus, Interface):
def __init__(self, *args):
['io_out', 'io_out_en', 'io_in'],
"Bit#({0})", "io")
['io_out', 'io_out_en', 'io_in'],
"Bit#({0})", "io")
InterfaceBus.__init__(self, self.pins, True, ['out', 'out_en', 'in'],
"Vector#({0},Bit#(1))", ifacename[-1])
InterfaceBus.__init__(self, self.pins, True, ['out', 'out_en', 'in'],
"Vector#({0},Bit#(1))", ifacename[-1])
class Interfaces(InterfacesBase, PeripheralInterfaces):
""" contains a list of interface definitions
"""
class Interfaces(InterfacesBase, PeripheralInterfaces):
""" contains a list of interface definitions
"""