in general, in sim models of peripherals you'd have a loop like

```
while True:
    await sim.tick().until(self.r_en)
    # do_something
```