VLSI test principles and architectures design for testability (Morgan Kaufmann series in systems on silicon, 2006)