SoC (system-on-a-chip) testing is the testing of system-on-a-chip (SoC) devices. Testing them becomes an increasing challenge as these devices become more complex. An SoC design is typically built block by block; efficient testing is also best done block by block. Today, designers can install a specialized, pre-designed, configurable embedded system to test and debug each block. Using such an embedded system, a designer can specify the test speed, fault coverage, diagnostic options, and test length for testing any random logic block.