Design And Implementation Of Domain-Specific Programmable Spatial Accelerators