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
OG exemplary drawing
 
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.