All chips, from the very simple to insanely complex, have functional specifications. These describe what the chip does. The IC designer will make a circuit to implement that functional spec, while a validation engineer or test engineer will develop a set of tests to check the implemented chip against the same functional spec.
It's not necessary for a test ...
Yes, you can certainly use FPGAs to do this kind of work, there’s lots of literature pointing to it. Examples -    
SMT = Satisfiable Modulo Theory
SAT is Boolean Satisfiable Problem, nicknamed a ‘SAT’ for short.
More about this stuff here: https://people.eecs.berkeley.edu/~sseshia/pubdir/SMT-BookChapter.pdf
My suggestion is to address the ...
It is not possible to do a unique hash like you suggest, however there are test methods to verify a PCB functions as it is supposed to be, this is to ensure components are all there and aren't swapped around during manufacture. Normally used to factory test a board.
It is possible to get signatures from a digital board, we used to do that in the 80's mainly ...
You have misread the schematic which you linked.
The part you have circled is actually U2, the debug interface comprised of an additional MCU, with its own clock circuit, while U1 is the target MCU placed in diagonal orientation in the middle which runs your program.
While some similar boards save a little money by feeding a clock output from the debug MCU ...
The processor you circled is part of the debugging interface. It is not the processor that you can program. The processor that you can program is the one shown below, mounted at an angle.
The debug processor implements the USB interface for this Launchpad board, so changing its clock frequency is likely to break the USB communications.
Ok I solved it.
The problem lies in the (wrong) usage of disable iff. As written here:
disable iff disables the property if the expression it is checking is active. This is normally used for reset checking and if reset is active, then property is disabled.
So it needs a boolean expression to evaluate. In my case, I just removed it and it is now working.
I'm going to go out on a limb and say that this is not feasible.
Circuit boards can have many layers, sometimes a dozen or more. Some of those layers will be solid metal ground planes. Even with an X-ray camera, I don't think you could get a good image of the inner layers. So physical measurement of all the traces on a finished board is out.
A standard method to check both populated PCAs and unpopulated PCBs is to use a flying probe machine.
This is a sort of robot that has two or more spring loaded, pointed probes that can be moved independently in multiple axis under software control.
This generates a matrix of complex impedances vs frequency (some machines can also measure voltages and apply ...
Many processors do provide unique serial number identifiers, including 128 or 256 bit encryption of the firmware based on the serial number. But this is mainly for the purpose of securing the firmware. If you tried to run firmware that was encrypted with another serial number it would fail to boot etc. However to do this for every component is going to be ...
Depending on the CAD tools you use, you can either draw the FSM in a GUI and generate HDL code or generate the State transition diagram from the HDL code.
I am aware of 2 solutions for these 2 cases:
StateFlow by MathWorks can generate the HDL code from a state machine diagram.
ModelSim by Mentor Graphics has a built-in FSM viewer to view the state machine ...
Going by the book definition, "Verification is the process of ensuring the functional correctness of the design according to the specification document"whereas "testing is the process of checking whether the physical chip works as intended after manufacturing". Verification is about checking if the design is logically correct while testing is about whether ...