A SOFTWARE PROGRAMMABLE INFRASTRUCTURE FOR ASSERTION BASED POST SILICON DEBUG