1. A method of functionally verifying a device under test having at least one processor and at least one memory, the method comprising: creating verification data for the device under test using a constrained random verification data creation process executed on the at least one processor, the verification data including input data and expected output data; storing the verification data in the at least one memory; executing application specific functionality on the device under test using the input data as an input, wherein executing the application specific functionality occurs at least in part on the at least one processor on which the constrained random verification data creation process was executed, wherein executing the application specific functionality results in actual output data based on the input data; comparing the actual output data to the expected output data; and when the actual output data does not equal the expected output data, storing at least one inconsistency between the actual output data and the expected output data.