Digital System Test and Testable Design: Using HDL