Advanced Digital System Design