Electronic – Is sytem level testcase different from block level testcase? And what is a test vector

verification

I usually see these terms. In the field of Digital IC Design or in Design Verification, is system level testcase different from a block level testcase? I mean I know they differ from the level of abstraction but what I want to know is the difficulty of doing it. From what I understand, if you can create a block level testcase then you can also create a system level testcase. Is this correct? Do they differ in difficulty? Are there some things that are in system level but are not in block level testcase?

Another question is, what is a test vector? I usually see this term on verifying an SOC. Usually they refer to a testcase that will be done on actual silicon. What is this?

Best Answer

A test vector is a sting of bits that are used to represent the state of the system or an input stimulus to the system. If you registers are tied together on a scan chain then this long string of 1's and 0's can be used to exercise the system at different states.

Block level is typically more complete and explores all or most of the corner cases for rigourous coverage. The system level may not be able to put each block into all of the blocks possible cases. The system level will need to be less complex and have less coverage.