A Design and Verification Methodology for a TrustZone Trusted Execution Environment | Synapse