From 7b75026391feb4e78ac9976e9fe520cc13022c0f Mon Sep 17 00:00:00 2001 From: Sebastien Bourdeauducq Date: Sat, 21 Jul 2018 13:40:12 +0800 Subject: [PATCH] grabber: add MultiReg to transfer ROI boundaries --- artiq/gateware/rtio/phy/grabber.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/artiq/gateware/rtio/phy/grabber.py b/artiq/gateware/rtio/phy/grabber.py index da744d210..fe4e9e3c2 100644 --- a/artiq/gateware/rtio/phy/grabber.py +++ b/artiq/gateware/rtio/phy/grabber.py @@ -84,8 +84,11 @@ class Grabber(Module): for n, roi_engine in enumerate(self.roi_engines): for offset, target in enumerate([roi_engine.cfg.x0, roi_engine.cfg.x1, roi_engine.cfg.y0, roi_engine.cfg.y1]): + roi_boundary = Signal.like(target) + roi_boundary.attr.add("no_retiming") self.sync.rtio += If(self.config.o.stb & (self.config.o.address == 4*n+offset), - target.eq(self.config.o.data)) + roi_boundary.eq(self.config.o.data)) + self.specials += MultiReg(roi_boundary, target, "cl") self.sync.rio += If(self.gate_data.o.stb, self.serializer.gate.eq(self.gate_data.o.data))