Source-level debugging for hardware generator frameworks