###
- dw = flen(self.sink.payload.d)
+ dw = flen(self.sink.d)
self.submodules.crc = crc_class(dw)
self.submodules.fsm = fsm = FSM(reset_state="IDLE")
)
fsm.act("COPY",
self.crc.ce.eq(self.sink.stb & self.source.ack),
- self.crc.d.eq(self.sink.payload.d),
+ self.crc.d.eq(self.sink.d),
Record.connect(self.sink, self.source),
self.source.eop.eq(0),
If(self.sink.stb & self.sink.eop & self.source.ack,
cnt_done = Signal()
fsm.act("INSERT",
self.source.stb.eq(1),
- chooser(self.crc.value, cnt, self.source.payload.d, reverse=True),
+ chooser(self.crc.value, cnt, self.source.d, reverse=True),
If(cnt_done,
self.source.eop.eq(1),
If(self.source.ack, NextState("IDLE"))
###
- dw = flen(self.sink.payload.d)
+ dw = flen(self.sink.d)
self.submodules.crc = crc_class(dw)
fsm = FSM(reset_state="IDLE")
fsm.act("COPY",
Record.connect(self.sink, self.source),
self.crc.ce.eq(self.sink.stb & (self.sink.ack | self.sink.eop)),
- self.crc.d.eq(self.sink.payload.d),
+ self.crc.d.eq(self.sink.d),
If(self.sink.stb & self.sink.eop,
self.sink.ack.eq(0),
self.source.stb.eq(0),
self.comb += [
lasmim.we.eq(0),
lasmim.stb.eq(self.address.stb & request_enable),
- lasmim.adr.eq(self.address.payload.a),
+ lasmim.adr.eq(self.address.a),
self.address.ack.eq(lasmim.req_ack & request_enable),
request_issued.eq(lasmim.stb & lasmim.req_ack)
]
self.data.stb.eq(fifo.readable),
fifo.re.eq(self.data.ack),
- self.data.payload.d.eq(fifo.dout),
+ self.data.d.eq(fifo.dout),
data_dequeued.eq(self.data.stb & self.data.ack)
]
self.comb += [
lasmim.we.eq(1),
lasmim.stb.eq(fifo.writable & self.address_data.stb),
- lasmim.adr.eq(self.address_data.payload.a),
+ lasmim.adr.eq(self.address_data.a),
self.address_data.ack.eq(fifo.writable & lasmim.req_ack),
fifo.we.eq(self.address_data.stb & lasmim.req_ack),
- fifo.din.eq(self.address_data.payload.d)
+ fifo.din.eq(self.address_data.d)
]
data_valid = lasmim.dat_ack
bus_stb.eq(self.address.stb & (~data_reg_loaded | self.data.ack)),
self.bus.cyc.eq(bus_stb),
self.bus.stb.eq(bus_stb),
- self.bus.adr.eq(self.address.payload.a),
+ self.bus.adr.eq(self.address.a),
self.address.ack.eq(self.bus.ack),
self.data.stb.eq(data_reg_loaded),
- self.data.payload.d.eq(data_reg)
+ self.data.d.eq(data_reg)
]
self.sync += [
If(self.data.ack, data_reg_loaded.eq(0)),
self.bus.we.eq(1),
self.bus.cyc.eq(self.address_data.stb),
self.bus.stb.eq(self.address_data.stb),
- self.bus.adr.eq(self.address_data.payload.a),
+ self.bus.adr.eq(self.address_data.a),
self.bus.sel.eq(0xf),
- self.bus.dat_w.eq(self.address_data.payload.d),
+ self.bus.dat_w.eq(self.address_data.d),
self.address_data.ack.eq(self.bus.ack)
]
self.fifo.din.eq(self.sink.payload),
self.source.stb.eq(self.fifo.readable),
- self.source.payload.eq(self.fifo.dout),
+ self.source.eq(self.fifo.dout),
self.fifo.re.eq(self.source.ack)
]
class AsyncFIFO(_FIFOActor):
def __init__(self, layout, depth):
- _FIFOActor.__init__(self, fifo.AsyncFIFO, layout, depth)
+ _FIFOActor.__init__(self, fifo.AsyncFIFO, layout, depth)
self.sync += [
If(load,
counter.eq(0),
- maximum.eq(self.parameters.payload.maximum),
- offset.eq(self.parameters.payload.offset) if offsetbits else None
+ maximum.eq(self.parameters.maximum),
+ offset.eq(self.parameters.offset) if offsetbits else None
).Elif(ce,
If(last,
counter.eq(0)
)
]
if offsetbits:
- self.comb += self.source.payload.value.eq(counter + offset)
+ self.comb += self.source.value.eq(counter + offset)
else:
- self.comb += self.source.payload.value.eq(counter)
+ self.comb += self.source.value.eq(counter)
fsm = FSM()
self.submodules += fsm
class DMAReadController(_DMAController):
def __init__(self, bus_accessor, *args, **kwargs):
- bus_aw = flen(bus_accessor.address.payload.a)
- bus_dw = flen(bus_accessor.data.payload.d)
+ bus_aw = flen(bus_accessor.address.a)
+ bus_dw = flen(bus_accessor.data.d)
_DMAController.__init__(self, bus_accessor, bus_aw, bus_dw, *args, **kwargs)
g = DataFlowGraph()
class DMAWriteController(_DMAController):
def __init__(self, bus_accessor, *args, ack_when_inactive=False, **kwargs):
- bus_aw = flen(bus_accessor.address_data.payload.a)
- bus_dw = flen(bus_accessor.address_data.payload.d)
+ bus_aw = flen(bus_accessor.address_data.a)
+ bus_dw = flen(bus_accessor.address_data.d)
_DMAController.__init__(self, bus_accessor, bus_aw, bus_dw, *args, **kwargs)
g = DataFlowGraph()