The debug subsystem should run in a different clock domain. For that there should be a clock domain crossing in each module.
Generally the crossing should take place as near to the system-side as possible, because this is better for the upcoming (cross-)triggering infrastructure.