I don't think that there are specific methods of how to test these things in general.
You need to know the function of the device and then you verify whether its behavior matches that - e.g. using a scope or logic analyzer. That should give you a basic assurance that the device is likely OK or not OK.
It is comparably rare that something like a CPU would work only partially - usually when a previously OK chip installed into a board dies, it is dead completely.
Beyond that it gets very very complicated. See e.g. the videos by Ken Shirriff on the Xerox Alto restoration:
That series is a tour de force showing how to debug such a complex system, including using a logic analyzer to trace and disassemble running code to find a fault. However, that is an ancient machine that predates microprocessors. Trying to do a similar diagnostics on e.g. a modern PC or Macbook would be pretty hopeless due to lacking documentation and a few orders of magnitude faster signals, requiring very expensive test equipment.
And re ASICs - unless you have documentation for them, you are pretty much screwed. They are by definition custom hardware and there is no generic way of testing them beyond checking voltages and probing some external signals to see whether they are alive or not.
Hi Janoc. Thanks so much for your reply.
Yes, I am facing exactly what you described and that is very frustrating as I fell hopeless to find my issue.
For example on a device I am working on I have multiple ICs. I got some basic documentation about the pins like I/O or what to expect them to do on a basic level and I also got a working PCB to compare.
If you look at the chart attached.
I have an IC which topography allows to:
- Send back and forward to its dedicated RAM - working partially
- Receive Read and Write pulses from the CPU - that seems not to be working.
- Receive CPU data pulses - that is working.
- Receive CS calls from cpu - not working
- Oscilate a cristal and divide the frequency - that is working.
- Send a interrupt 5v signal to the CPU - not working
As you can see I have a few things that seem to work on both the IC in question and the CPU. So hard to tell which one has failed. Or even if my fault is somewhere else and they are failing because of something else.
It would be much easier if they just failed completely instead of what I am getting which is few of the pins seems to be working fine, other not.
If it were you what would you do?
Stop trying to troubleshoot and start replacing these ICs that "apparently" are not 100% matching the documentation?
Or "assume" they are fine and try to find the issue somewhere else?