When doing development using microcontrollers/processors, you can often find ICEs and ICDs that allow you to set breakpoints. You can stop the code in execution and view the contents of registers, state of input pins, etc.
Suppose I want to do something similar with an FPGA-based design. What are my options? I know I can output internal signals to output pins and sniff them using a logic analyzer, but I'm hoping there is a more elegant solution. I'd like to stop everything at some point and view all inputs, outputs, registers, etc.
Can someone point me in the right direction?