| US 7,589,648 B1 | ||
| Data decompression | ||
| Benny Ma, Saratoga, Calif. (US); San-Ta Kow, San Jose, Calif. (US); Ann Wu, San Jose, Calif. (US); and Thomas Tsui, Cupertino, Calif. (US) | ||
| Assigned to Lattice Semiconductor Corporation, Hillsboro, Oreg. (US) | ||
| Filed on Feb. 10, 2005, as Appl. No. 11/54,855. | ||
| This patent is subject to a terminal disclaimer. | ||
| Int. Cl. H03M 7/00 (2006.01) | ||
| U.S. Cl. 341—87 [341/50; 341/65; 341/67; 326/37; 326/38; 707/101] | 10 Claims |

| 1. A data decompression circuit comprising:
a decompression engine for decompressing a data stream having a series of variable-sized data frames each having a header
indicating the number and location of compressed repeated data words and uncompressed data words in the data frame followed
by a body that includes the uncompressed data words in the data frame, the decompression engine including:
a data process engine adapted to decode the header of a data frame to identify the uncompressed data word locations and compressed
repeated data word locations therein and to insert an uncompressed data word from the body of the data frame and a repeated
data word into their respective word locations in a corresponding decompressed data frame;
a counter adapted to determine from the header the number of uncompressed data words in the data frame; and
a header register coupled to the counter and the data process engine for providing the header of a data frame, the register
adapted to load the header of a second data frame in response to a load signal indicating that a first data frame has been
decompressed into a corresponding decompressed data frame,
the data process engine responsive to the number determined by the counter to insert in a separate clock cycle each uncompressed
data word into its word location in the decompressed data frame and to insert in one clock cycle the repeated data words into
their word locations in the decompressed data frame.
|