A method of testing an embedded memory which includes providing a
programmable memory built-in self-test module and using the programmable
memory built-in self-test module to extract contents of the embedded
memory upon detection of an error. The programmable memory built-in
self-test module includes a pseudo binary search and stop on error
function.