  In this work, we propose a portable, Linux-based emulation framework to
provide an ecosystem for hardware-software co-design of Domain-specific SoCs
(DSSoCs) and enable their rapid evaluation during the pre-silicon design phase.
This framework holistically targets three key challenges of DSSoC design:
accelerator integration, resource management, and application development. We
address these challenges via a flexible and lightweight user-space runtime
environment that enables easy integration of new accelerators, scheduling
heuristics, and user applications, and we illustrate the utility of each
through various case studies. With signal processing (WiFi and RADAR) as the
target domain, we use our framework to evaluate the performance of various
dynamic workloads on hypothetical DSSoC hardware configurations composed of
mixtures of CPU cores and FFT accelerators using a Zynq UltraScale+TM MPSoC. We
show the portability of this framework by conducting a similar study on an
Odroid platform composed of big.LITTLE ARM clusters. Finally, we introduce a
prototype compilation toolchain that enables automatic mapping of unlabeled C
code to DSSoC platforms. Taken together, this environment offers a unique
ecosystem to rapidly perform functional verification and obtain performance and
utilization estimates that help accelerate convergence towards a final DSSoC
design.
