| CPC G06F 15/7807 (2013.01) [G06F 5/06 (2013.01)] | 28 Claims |

|
1. A method of transferring data, comprising:
selecting, via a source multiplexer, a first memory location included in a first in, first out (FIFO) queue and storing first data, wherein the source multiplexer and the FIFO queue are in a first power domain, wherein the source multiplexer is included in a plurality of m total source multiplexers coupled to the FIFO queue, the first memory location is memory location n, and the source multiplexer is coupled to the memory location n and memory location (n+m);
outputting the first data to a first level shifter;
calculating, in the first power domain, a first value based on the first data;
outputting the first value to a second level shifter;
selecting, via at least one destination multiplexer included in a second power domain, the first level shifter and the second level shifter;
calculating, in the second power domain, a second value based on the first data;
comparing the first value to the second value to generate a result, wherein the result indicates that the first data was corrupted during transmission from the first power domain to the second power domain;
selecting, via the source multiplexer, memory location (n+m) storing second data;
outputting the second data to the first level shifter;
calculating, in the first power domain, a third value based on the second data;
outputting the third value to the second level shifter;
selecting, via the at least one destination multiplexer, the first level shifter and the second level shifter;
calculating, in the second power domain, a fourth value based on the second data; and
comparing the third value to the fourth value to generate a second result, wherein the second result indicates that the second data was not corrupted during transmission from the first power domain to the second power domain.
|