| US 7,557,605 B2 | ||
| Heterogeneous configurable integrated circuit | ||
| Godfrey P. D'Souza, Santa Clara, Calif. (US); Douglas Laird, Los Gatos, Calif. (US); Malcolm J. Wing, Palo Alto, Calif. (US); Colin N. Murphy, Belmont, Calif. (US); Dana L. How, Palo Alto, Calif. (US); Robert Yu, Newark, Calif. (US); Jay B. Patel, Los Gatos, Calif. (US); Ivo Dobbelaere, Los Altos, Calif. (US); Jason Golbus, Campbell, Calif. (US); Suresh Subramaniam, Palo Alto, Calif. (US); Mukunda Krishnappa, Cupertino, Calif. (US); Pohrong R. Chu, Saratoga, Calif. (US); Dave Trossen, Santa Clara, Calif. (US); and Kevin James, Santa Clara, Calif. (US) | ||
| Assigned to Cswitch Corporation, Santa Clara, Calif. (US) | ||
| Filed on Sep. 14, 2007, as Appl. No. 11/855,666. | ||
| Prior Publication US 2009/0072858 A1, Mar. 19, 2009 | ||
| Int. Cl. H03K 19/173 (2006.01) | ||
| U.S. Cl. 326—38 [326/41; 326/47] | 11 Claims |

| 1. A system comprising:
a plurality of programmable logic blocks;
a plurality of special-purpose blocks;
a configurable high-speed mesh interconnect fabric operatively connecting the plurality of programmable logic blocks and the
plurality of special-purpose blocks, wherein the configurable high-speed mesh interconnect fabric is configured to implement
a plurality of interconnect pipeline buses spanning across the system;
a memory controller operatively connected to the plurality of special-purpose blocks and the plurality of programmable logic
blocks using the high-speed mesh interconnect fabric, wherein the memory controller is configured to transfer data between
an external memory and at least one selected from a group consisting of the plurality of special-purpose blocks and the plurality
of programmable logic blocks; and
a general purpose input/output block operatively configured to transfer data between the external memory and at least one
selected from a group consisting of the memory controller, the plurality of special-purpose blocks, and the plurality of programmable
logic blocks,
wherein the general purpose input/output block comprises:
a converter for executing a double data rate to single data rate conversion of the transferred data;
a transmit delay lock loop for de-skewing source-synchronous signals associated with the transferred data;
a receive delay lock loop for de-skewing source-synchronous signals associated with the transferred data; and
error correcting code logic for error detection and error correction of the transferred data.
|