High level synthesis for programmable devices: The HADES project