Architecture, Design and Synthesis of hardware systems