self.assertEqual(iface.memory_map.addr_width, 32)
self.assertEqual(iface.memory_map.data_width, 8)
self.assertEqual(iface.layout, Layout.cast([
self.assertEqual(iface.memory_map.addr_width, 32)
self.assertEqual(iface.memory_map.data_width, 8)
self.assertEqual(iface.layout, Layout.cast([
- ("adr", 32, DIR_FANOUT),
- ("dat_w", 8, DIR_FANOUT),
- ("dat_r", 8, DIR_FANIN),
- ("sel", 1, DIR_FANOUT),
- ("cyc", 1, DIR_FANOUT),
- ("stb", 1, DIR_FANOUT),
- ("we", 1, DIR_FANOUT),
- ("ack", 1, DIR_FANIN),
+ ("adr", 32, DIR_FANOUT),
+ ("dat_w", 8, DIR_FANOUT),
+ ("dat_r", 8, DIR_FANIN),
+ ("sel", 1, DIR_FANOUT),
+ ("cyc", 1, DIR_FANOUT),
+ ("stb", 1, DIR_FANOUT),
+ ("we", 1, DIR_FANOUT),
+ ("ack", 1, DIR_FANIN),
self.assertEqual(iface.memory_map.addr_width, 32)
self.assertEqual(iface.memory_map.data_width, 8)
self.assertEqual(iface.layout, Layout.cast([
self.assertEqual(iface.memory_map.addr_width, 32)
self.assertEqual(iface.memory_map.data_width, 8)
self.assertEqual(iface.layout, Layout.cast([
- ("adr", 30, DIR_FANOUT),
+ ("adr", 30, DIR_FANOUT),
("dat_w", 32, DIR_FANOUT),
("dat_r", 32, DIR_FANIN),
("dat_w", 32, DIR_FANOUT),
("dat_r", 32, DIR_FANIN),
- ("sel", 4, DIR_FANOUT),
- ("cyc", 1, DIR_FANOUT),
- ("stb", 1, DIR_FANOUT),
- ("we", 1, DIR_FANOUT),
- ("ack", 1, DIR_FANIN),
+ ("sel", 4, DIR_FANOUT),
+ ("cyc", 1, DIR_FANOUT),
+ ("stb", 1, DIR_FANOUT),
+ ("we", 1, DIR_FANOUT),
+ ("ack", 1, DIR_FANIN),
]))
def test_features(self):
iface = Interface(addr_width=32, data_width=32,
features={"rty", "err", "stall", "lock",
]))
def test_features(self):
iface = Interface(addr_width=32, data_width=32,
features={"rty", "err", "stall", "lock",
- ("adr", 32, DIR_FANOUT),
+ ("adr", 32, DIR_FANOUT),
("dat_w", 32, DIR_FANOUT),
("dat_r", 32, DIR_FANIN),
("dat_w", 32, DIR_FANOUT),
("dat_r", 32, DIR_FANIN),
- ("sel", 1, DIR_FANOUT),
- ("cyc", 1, DIR_FANOUT),
- ("stb", 1, DIR_FANOUT),
- ("we", 1, DIR_FANOUT),
- ("ack", 1, DIR_FANIN),
- ("err", 1, DIR_FANIN),
- ("rty", 1, DIR_FANIN),
- ("stall", 1, DIR_FANIN),
- ("lock", 1, DIR_FANOUT),
- ("cti", CycleType, DIR_FANOUT),
- ("bte", BurstTypeExt, DIR_FANOUT),
+ ("sel", 1, DIR_FANOUT),
+ ("cyc", 1, DIR_FANOUT),
+ ("stb", 1, DIR_FANOUT),
+ ("we", 1, DIR_FANOUT),
+ ("ack", 1, DIR_FANIN),
+ ("err", 1, DIR_FANIN),
+ ("rty", 1, DIR_FANIN),
+ ("stall", 1, DIR_FANIN),
+ ("lock", 1, DIR_FANOUT),
+ ("cti", CycleType, DIR_FANOUT),
+ ("bte", BurstTypeExt, DIR_FANOUT),
r"but the decoder does "
r"not have a corresponding input"):
self.dut.add(Interface(addr_width=15, data_width=32,
r"but the decoder does "
r"not have a corresponding input"):
self.dut.add(Interface(addr_width=15, data_width=32,
for index, sel_bit in enumerate(self.bus.sel):
with m.If(sel_bit):
segment = self.bus.dat_r.word_select(index,
for index, sel_bit in enumerate(self.bus.sel):
with m.If(sel_bit):
segment = self.bus.dat_r.word_select(index,
loop_3 = AddressLoopback(addr_width=8, data_width=16, granularity=16)
self.assertEqual(dut.add(loop_3.bus, addr=0x30000, sparse=True),
(0x30000, 0x30100, 1))
loop_3 = AddressLoopback(addr_width=8, data_width=16, granularity=16)
self.assertEqual(dut.add(loop_3.bus, addr=0x30000, sparse=True),
(0x30000, 0x30100, 1))
self.assertEqual(dut.add(loop_4.bus, addr=0x40000, sparse=True),
(0x40000, 0x40100, 1))
self.assertEqual(dut.add(loop_4.bus, addr=0x40000, sparse=True),
(0x40000, 0x40100, 1))
dut.add(itor_1)
itor_2 = Interface(addr_width=30, data_width=32, granularity=16,
features={"err", "rty", "stall", "lock",
dut.add(itor_1)
itor_2 = Interface(addr_width=30, data_width=32, granularity=16,
features={"err", "rty", "stall", "lock",
- features={"err","cti","bte"},
+ features={"err", "cti", "bte"},
- features={"err","cti","bte"},
+ features={"err", "cti", "bte"},
- ("adr", 30, DIR_FANOUT),
+ ("adr", 30, DIR_FANOUT),
("dat_w", 32, DIR_FANOUT),
("dat_r", 32, DIR_FANIN),
("dat_w", 32, DIR_FANOUT),
("dat_r", 32, DIR_FANIN),
- ("sel", 4, DIR_FANOUT),
- ("cyc", 1, DIR_FANOUT),
- ("stb", 1, DIR_FANOUT),
- ("ack", 1, DIR_FANIN),
- ("we", 1, DIR_FANOUT),
- ("cti", 3, DIR_FANOUT),
- ("bte", 2, DIR_FANOUT),
- ("err", 1, DIR_FANIN)
+ ("sel", 4, DIR_FANOUT),
+ ("cyc", 1, DIR_FANOUT),
+ ("stb", 1, DIR_FANOUT),
+ ("ack", 1, DIR_FANIN),
+ ("we", 1, DIR_FANOUT),
+ ("cti", 3, DIR_FANOUT),
+ ("bte", 2, DIR_FANOUT),
+ ("err", 1, DIR_FANIN)
- data_width=32,
- granularity=8,
- features={"err","cti","bte"},
- name="sub01")
+ data_width=32,
+ granularity=8,
+ features={"err", "cti", "bte"},
+ name="sub01")
- features={"err","cti","bte"},
+ features={"err", "cti", "bte"},
name="sub02")
self.dut = InterconnectShared(
addr_width=30, data_width=32, granularity=8,
name="sub02")
self.dut = InterconnectShared(
addr_width=30, data_width=32, granularity=8,
- features={"err","cti","bte"},
+ features={"err", "cti", "bte"},