Design of Testable Logic Circuits