integration/soc/bus_addressing_converter: Handle missing cases.
- m2s: byte to word/word to byte. - s2m: byte to word/word to byte.
This commit is contained in:
parent
1282708a08
commit
f9dc8e8564
|
@ -364,8 +364,14 @@ class SoCBusHandler(LiteXModule):
|
|||
address_shift = log2_int(interface.data_width//8)
|
||||
self.comb += adapted_interface.connect(interface, omit={"adr"})
|
||||
if direction == "m2s":
|
||||
if (interface.addressing == "word") and (self.addressing == "byte"):
|
||||
self.comb += adapted_interface.adr[address_shift:].eq(interface.adr)
|
||||
if (interface.addressing == "byte") and (self.addressing == "word"):
|
||||
self.comb += adapted_interface.adr.eq(interface.adr[address_shift:])
|
||||
if direction == "s2m":
|
||||
if (interface.addressing == "word") and (self.addressing == "byte"):
|
||||
self.comb += interface.adr[address_shift:].eq(adapted_interface.adr)
|
||||
if (interface.addressing == "byte") and (self.addressing == "word"):
|
||||
self.comb += interface.adr.eq(adapted_interface.adr[address_shift:])
|
||||
return adapted_interface
|
||||
|
||||
|
|
Loading…
Reference in New Issue