VLSI test principles and architecture