The Art of Hardware Architecture: Design Methods and