Hardware And Software: Verification And Testing