The document describes a compiler algorithm for automated hardware design space exploration using parallelizing compiler techniques and high-level synthesis tools. The algorithm explores the design space by applying loop transformations like unrolling and tiling to optimize for space-time tradeoffs. It defines a balance metric to guide the exploration by balancing FPGA resource usage and execution time. The algorithm was tested on five multimedia kernels and was able to significantly expand the explorable design space compared to human designers.