How bad is debugging logic running purely on hardware nowadays? Is there anything more user-friendly than tapping specific lines and watching the output on an oscilloscope?
Usually you start at the verilog level with simulators (I've done this professionally with zero hardware experience and discovered many critical bugs in a chip that's now taped out. Of course the real engineers had to fix them.) Now that it's gone physical, after a series of very low level tests, they will take similar software and adapt it to the interface for hardware instead and repeat all the tests.
Yes, you can debug on an FPGA first, for example, allowing you to put the hardware-equivalent of a printf statement in places where you need them.
Or, you can configure all of your flipflops into a barrel shift register, so you can read out their contents serially (and shift their contents back in circularly).