An Emulation Framework for Exploring Domain-Specific SoCs in the Trade Space of Hardware Configuration, Resource Management and Workload Composition