1) "no, sort of": waveform debugging is a very powerful tool! having a widely versatile iLA with good debug visibility is a very powerful tool! the downside is that you need to know everywhere you want to insert iLA stuff, but you sort of have to know that about printf, too. if I had one thing I would ask for in the FOSSI world w.r.t debugging, it would be an ILA that had amazing integration with gtkwave or something. if there's a use case where one would prefer this kind of printf integration instead of a good iLA, I would like to know about it! but, on the other hand 2) "yes, sort of": this *is* a good approach for uncommon events, or wide and sort of heterogeneous events, not necessarily as a debug channel but as a wide event -> CPU channel. this approach was used in NVIDIA Tegra's Video Input engine, called NOTIFY in that case. (sort of discussed [here](https://developer.ridgerun.com/wiki/index.php/NVIDIA_Jetson_TX2_-_Video_Input_Timing_Concepts#NOTIFY); see, for instance, the NOTIFY stream of consciousness being used to [debug a problem in the field here](https://forums.developer.nvidia.com/t/problems-capturing-image-chansel-short-frame-and-pxl-sof/180203). full disclosure: I was the architect of that hardware block 🙂 )