Correct Hardware Design And Verification Methods by D. Borrione