Assertion-Based Verification for ARM-based SoC Design