Automatic Generation Of Instruction Sequences For Software-Based Self-Test Of Processors And Systems-On-A-Chip