Functional Verification of Programmable Embedded Architectures