Describir: CAD Techniques and Architectures for Reconfigurable Hardware