From 00ff3f5b0d0d6e634c70f22f8865fb648a12b011 Mon Sep 17 00:00:00 2001 From: Sebastien Bourdeauducq Date: Mon, 11 Sep 2017 23:04:52 +0800 Subject: [PATCH] rtio/sed: fix output driver busy output --- artiq/gateware/rtio/sed/output_driver.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/artiq/gateware/rtio/sed/output_driver.py b/artiq/gateware/rtio/sed/output_driver.py index be5e3a2c4..ad9a6c2e9 100644 --- a/artiq/gateware/rtio/sed/output_driver.py +++ b/artiq/gateware/rtio/sed/output_driver.py @@ -96,6 +96,10 @@ class OutputDriver(Module): self.sync += oif.data.eq(reduce(or_, onehot_data)) # detect busy errors, at lane level to reduce muxing + self.sync += [ + self.busy.eq(0), + self.busy_channel.eq(0) + ] for lane_data in lane_datas: stb_r = Signal() channel_r = Signal(max=len(channels)) @@ -103,8 +107,6 @@ class OutputDriver(Module): stb_r.eq(lane_data.valid & ~lane_data.collision), channel_r.eq(lane_data.payload.channel), - self.busy.eq(0), - self.busy_channel.eq(0), If(stb_r & Array(channel.interface.o.busy for channel in channels)[channel_r], self.busy.eq(1), self.busy_channel.eq(channel_r)