One or more configurable transceivers can be fabricated on an integrated circuit. The transceivers contain various components having options that can be configured by turning configuration memory cells on or off. The integrated circuit may also contain programmable fabric. Other components in the transceivers can have options that are controlled by the programmable fabric. The integrated circuit may also contain one or more processor cores. The processor core and the transceivers can be connected by a plurality of signal paths that pass through the programmable fabric.

Patent
   7187709
Priority
Mar 01 2002
Filed
Mar 01 2002
Issued
Mar 06 2007
Expiry
Jul 20 2024
Extension
872 days
Assg.orig
Entity
Large
12
96
all paid
8. An integrated circuit comprising:
a programmable fabric;
a processor core surrounded by said programmable fabric;
a plurality of configurable transceivers located at the peripheral of said programmable fabric, wherein at least one of said configurable transceivers comprises a loss of synchronization detector;
wherein each transceiver has an input port that receives differential input signals and an output port that outputs differential output signals; and
wherein each configurable transceiver includes a configurable serializer and a configurable deserializer, wherein each serializer is configurable to transmit data at a selected bit rate, and each deserializer is configurable to receive data at the selected bit rate;
a plurality of signal paths connecting at least one of said configurable transceivers and said processor core, at least a portion of each of said signal paths passing through said programmable fabric.
15. An integrated circuit, comprising:
programmable fabric circuitry, including a plurality of configuration memory cells that are programmable to implement a circuit in the programmable fabric circuitry;
a processor core disposed on the integrated circuit, wherein the programmable fabric circuitry is configurable to couple to the processor core;
a plurality of configurable transceivers located at the periphery of the programmable fabric, each configurable transceiver including a configurable serializer and a configurable deserializer coupled to at least one of the configuration memory cells, wherein each serializer is configurable to transmit data at a selected bit rate, and each deserializer is configurable to receive data at the selected bit rate; and
a plurality of signal paths coupling at least one of said configurable transceivers to the processor core, at least a portion of each of said signal paths passing through said programmable fabric circuitry.
1. An integrated circuit comprising:
a plurality of configuration memory cells;
programmable fabric circuitry coupled to the plurality of configuration memory cells, wherein the plurality of configuration memory cells are programmable to implement a circuit in the programmable fabric circuitry;
a plurality of transceivers containing respective components having selectable values, said components being configured by said plurality of configuration memory cells, wherein one of said components is a loss of synchronization detector;
wherein each configurable transceiver includes a configurable serializer and a configurable deserializer coupled to at least one of the configuration memory cells, wherein each serializer is configurable to transmit data at a selected bit rate, and each deserializer is configurable to receive data at the selected bit rate;
wherein each transceiver has an input port that receives differential input signals and an output port that outputs differential output signals; and
a plurality of signal paths coupling each configurable transceiver to a circuit implemented in the programmable fabric circuitry, at least a portion of each of said signal paths passing through said programmable fabric circuitry.
2. The integrated circuit of claim 1 wherein one of said components is a cyclic redundancy code generator.
3. The integrated circuit of claim 1 wherein one of said components is a cyclic redundancy code verification block.
4. The integrated circuit of claim 1 wherein said deserializer further comprises configurable comma detection function.
5. The integrated circuit of claim 1 wherein one of said components is an elastic buffer.
6. The integrated circuit of claim 1 further comprising:
a programmable fabric; and
at least one signal generated by said programmable fabric for controlling said values of said components.
7. The integrated circuit of claim 6 wherein one of said components is an encoder, and said at least one signal controls said encoder.
9. The integrated circuit of claim 8 further comprising a plurality of configuration memory cells, and wherein some of said memory cells are associated with said configurable transceivers.
10. The integrated circuit of claim 9 wherein at least one of said configurable transceivers comprises a cyclic redundancy code generator and a cyclic redundancy code verification block.
11. The integrated circuit of claim 8 wherein said deserializer further comprises configurable comma detection function.
12. The integrated circuit of claim 9 wherein at least one of said configureable transceivers comprises an elastic buffer.
13. The integrated circuit of claim 8 wherein said programmable fabric generates at least one signal for controlling at least one of said configurable transceivers.
14. The integrated circuit of claim 13 wherein at least one of said configurable transceivers comprises an encoder, and said at least one signal controls said encoder.
16. The integrated circuit of claim 15, wherein each deserializer detects commas in received data and is configurable to detect one of at least two different definitions of a comma.
17. The integrated circuit of claim 15, wherein at least one of said configurable transceivers comprises a loss of synchronization detector.

The present invention relates to data communication, and more specifically to a configurable high speed transceiver.

As a result of improvement in processing technology, it is now possible to put millions of transistors in an integrated circuit. This increases the amount of processing power of the integrated circuit. However, the processing power may be wasted if there are insufficient input-output (I/O) resources to transfer data to and from the integrated circuit. High speed I/O transceivers alleviate this problem by increasing the data transfer speed of the I/O resources. In order to improve performance, circuit designers have started to integrate high speed transceivers into integrated circuits.

Another effect of the increase in the number of transistors is that it is possible to place more circuits in an integrated circuit. This means that the complexity and costs of designing an integrated circuit also increase. As a result, many vendors want to be able to sell the same integrated circuit to different markets. Further, users also like to use the same integrated circuit to support different applications because of the high costs of learning and using a complicated integrated circuit. For example, it is desirable for the same product to support a variety of communication protocols, such as Gigabit Ethernet, XAUI, InfiniBand, Fibre Channel, etc. Consequently, there is a need to have a flexible high speed transceiver that can be used for different purposes.

The present invention is an integrated circuit that contains a programmable fabric and a plurality of configurable transceivers located at the peripheral of the programmable fabric. The integrated circuit may contain one or more processor cores. The processor core and the transceivers can be connected by a plurality of signal paths that pass through the programmable fabric.

The integrated circuit contains a plurality of configuration memory cells. Some of the cells are associated with the programmable fabric while the others are associated with the configurable transceivers. By turning these cells on or off, users can select the features that are useful to their products.

The above summary of the invention is not intended to describe each disclosed embodiment of the present invention. The figures and detailed description that follow provide additional exemplary embodiments and aspects of the present invention.

FIG. 1 is a schematic diagram showing an integrated circuit of the present invention.

FIG. 2 is a schematic diagram of a system of the present invention.

FIG. 3 is a block diagram showing a transceiver design of the present invention.

A schematic diagram showing an integrated circuit 100 of the present invention is shown in FIG. 1. It contains a plurality of transceivers, such as transceiver 102104, positioned outside of programmable fabric 106. In one embodiment, programmable fabric 106 comprises field programmable gate array (FPGA) fabric. One or more processor cores, such as a processor core 110, can be optionally embedded inside programmable fabric 106. An interface layer 112 is used to facilitate communication between embedded processor core 110 and fabric 106. An example of an interface layer is disclosed in a copending patent application entitled “Programmable Gate Array Having Interconnecting Logic To Support Embedded Fixed Logic Circuitry” (Ser. No. 09/968,446 and filed Sep. 28, 2001). Processor core 110 can be connected to one or more transceivers. In FIG. 1, a pair of routed paths 114115 are used to schematically show the connection from transceiver 102 to processor core 110 through interface layer 112. Processor core 110 is preferably designed to process data in high speed. Thus, transceivers 102104 are preferably high speed transceivers.

Processor core 110 can be one of a variety of signal processing devices, such as a microprocessor, network processor, video processor. Note that more than one processor core can be embedded inside programmable fabric 106.

A user may configure a plurality of circuits in programmable fabric 106. Some of these circuits may communicate with transceivers 102104. For example, FIG. 1 shows a circuit 118 in programmable fabric 106 communicating with transceiver 103.

In the present invention, at least one of the transceivers (in addition to programmable fabric 106) is configurable. FIG. 2 shows a schematic diagram of a system 200 of the present invention showing the configuration of a programmable logic device. System 200 contains a nonvolatile memory (such as a programmable read-only memory 202) that can be used to deliver configuration bitstreams to FPGA 204. FPGA 204 comprises a plurality of configuration memory cells, shown as reference numeral 210, that are connected to a frame register 206 through a plurality of buses, shown as reference numeral 212. These buses allow frame register 206 to set the states of memory cells 210, thereby configuring FPGA 204. Some of the configuration memory cells are used to configure programmable fabric 106, while other configuration memory cells are used to configure the transceivers. For example, configuration memory cells in blocks 216 and 218 are used to configure two separate transceivers, such as transceivers 103 and 104 in FIG. 1. Note that there are typically many configuration memory cells associated with a block.

One difference between programmable fabric 106 and the transceivers 102104 is that the programmable fabric is intended for implementation of arbitrary logic functions by users (thus the programmable fabric needs to provide almost arbitrary interconnectivity), while the transceiver implements specific functions (high speed serial I/O and associated operations), thus the associated memory cells modify aspects of the operations but not changing the underlying purpose of the circuit. In the programmable fabric, memory cells define logic block functions and interconnections in any desired way to implement any desired logic design. In the transceiver, some memory cells modify the behavior of a given subcomponent, but they do not change the underlying function of that subcomponent. Other memory cells associated with the transceiver modify routing by including or excluding a subcomponent in the transceiver's data path, but they do not alter the general flow of data or the purpose of the data path, that is, to transfer parallel digital data inside the integrated circuit to and from the serial data lines outside the integrated circuit. The advantage of this design is that many of the functions in the transceiver are implemented far more efficiently (higher operating speed, less area and power) than would be possible if they were implemented in the programmable fabric, yet they retain enough flexibility to be of use for a broad range of high speed I/O applications. Some portions of the transceiver are highly specialized and could not be implemented using the programmable fabric or lower speed I/O resources.

In one embodiment, a portion of the transceiver can be configured using the configuration memory cells and another portion can be driven by configured logic in the programmable fabric. It is, of course, possible that the transceiver is controlled entirely by the configuration memory cells.

FIG. 3 is a block diagram showing one transceiver 130 that can be fabricated in integrated circuit 100 of FIG. 1. Transceiver 130 interfaces with an external device (not shown) through an output port 132 that supports differential output signals and an input port 134 that receives differential input signals. Transceiver 130 interfaces with programmable fabric 106 through a transmit data path 136, a receive data path 138, a plurality of clock signals (shown collectively as a signal line 140), a CRC (cyclic redundancy code) status signal 142, and a loss of synchronization signal 144. In one embodiment, the width of the data paths 136 and 138 can be independently configurably selected to be 1, 2 or 4 bytes. This allows engineering trade-offs in programmable fabric 106 between a wide data path with a low clock frequency versus a narrow data path with a high clock frequency. More detailed description of the configurable datapath can be found in a copending patent application entitled “Variable Data Width Operation In Multi-Gigabit Transceivers On A Programmable Logic Device,” filed concurrently on Mar. 1, 2002 by Cory et al., patent application Ser. No. 10/090,286. This patent application is incorporated herein by reference.

Note that there may be other signals and subcomponents in a transceiver. Only the most important signals and subcomponents are shown in FIG. 3.

The transmitter side 150 of transceiver 130 is first described. Digital data on data path 136 is processed by a bypassable CRC generator 152. This generator computes and inserts a commonly used 32-bit CRC into the data packets being transmitted. Different protocols handle data in different ways, and CRC generator 152 needs to recognize data packet boundaries so that it can perform CRC computation on appropriate set of data. CRC generator 152 may have the following configuration options:

(a) use or bypass this CRC generator;

(b) a value to use to corrupt the CRC computation in order to test detection of CRC errors in a remote receiver;

(c) a choice of transmission standard to support, e.g., Fibre Channel, Gigabit Ethernet, InfiniBand, or a user defined standard; and

(d) for the user defined standard, the start-of-packet and end-of-packet control characters.

More detailed description of CRC generator 152 can be found in a copending patent application entitled “Network Physical Layer with Embedded Multi-Standard CRC Generator,” filed concurrently on Mar. 1, 2002 by Sasaki et al., patent application Ser. No. 10/090,519. This patent application is incorporated herein by reference.

The resulted data is delivered to a bypassble encoder 154. In one embodiment, encoder 154 is an 8B/10B encoder. It uses the same 256 data characters and 12 control characters that are used for Gigabit Ethernet, XAUI, Fibre Channel, and InfiniBand. It accepts 8 bits of data along with a K-character signal for a total of 9 bits per character applied. If the K-character signal is “High”, the data will be encoded into one of the 12 possible K-characters available in the 8B/10B code. If the K-character input is “Low”, the 8 bits will be encoded as standard data. If the K-character input is “High”, and a user applies other than one of the pre-assigned combinations, an error signal can be generated. The 8B/10B encoder may be initialized with a user-configured running disparity.

In one embodiment, the programmable fabric may control the following options for encoder 154:

(a) use or bypass this encoder; and

(b) modify the maintenance of the running disparity (this can be used to generate data streams with unusual, e.g., intentionally erroneous, running disparity).

The encoded data is delivered to a transmit FIFO buffer 156. This buffer provides a smooth interface between encoder 154, which is controlled by a clock signal generated by the programmable fabric 106 on line 140, and a serializer 158, which is controlled by a reference clock generated by a transmit clock generator 160. These two clock signals are frequency locked, but may not have the same phase. In this embodiment, the reference clock has superior jitter characteristics while the clock signal on line 140 has better clock skew characteristics with respect to other clock signals in programmable fabric 106. Transmit FIFO buffer 156 absorbs phase differences between these two frequency-locked clock signals. In one embodiment, FIFO buffer 156 has a depth of four, and it can detect overflow and under-flow conditions. FIFO buffer 156 may be configured to be used or bypassed in transceiver 130.

The data in FIFO buffer 156 is delivered to serializer 158, which multiplexes parallel digital data to a serial bit stream for transmission over a serial link. The serial bit stream is sent to a transmit buffer 162 that drives the serial bit stream onto a pair of differential serial output connections in output port 132. A configuration option of serializer 158 is to transmit 20 bits (high speed) or 10 bits (low speed) of data per reference clock cycle. More detailed description of this aspect of the invention can be found in a copending patent application entitled “Method And Apparatus For Operating A Transceiver In Different Data Rates,” filed concurrently on Mar. 1, 2002 by Cory, patent application Ser. No. 10/090,251. This patent application is incorporated herein by reference.

Turning now to the receiver side 170, transceiver 130 contains a receiver clock generator 176 that generates a reference clock signal for receiver side 170. Transceiver 130 contains a receive buffer 172 that accepts serial data from differential input port 134. The data is fed to a clock-data recovery block 173, which uses transitions on the serial differential input (through input port 134) to determine the frequency and phase of the incoming serial data. This information is used to time the reception of the data. The process is called clock and data recovery. The recovered data is delivered to a deserializer 174, which converts the received serial bit stream into parallel digital data. A configuration option of deserializer 174 is to receive 20 bits (high speed) or 10 bits (low speed) of data per clock cycle.

Deserializer 174 also performs a comma detection function. In some decoding algorithm (such as the 8B/10B encoding), a “comma” is a distinguished pattern that is guaranteed to occur only left-justified within a byte. For example, there are two comma patterns in 8B/10B decoding, a “plus” comma and a “minus” comma. Detection of a comma then serves to define the byte alignment within the received serial bit stream. Configuration options for comma detection can be:
(a) alternative comma definitions;
(b) option to raise asynchronous “comma detect” flag on plus comma only, minus comma only, both, or neither; and
(c) option to force comma alignment on half-word boundary.
(d) In one embodiment, programmable fabric 106 may send a signal to control whether the comma detection circuit realigns the byte boundary on recognizing plus comma, minus comma, both, or neither.

The parallel data is then passed to a decoder 178. Decoder 178 decodes digital data that has previously been encoded by a corresponding encoder. Decoder 178 may have the following configuration options:

(a) use or bypass this decoder; and

(b) option to raise synchronous “comma” flag (status bit attached to each received byte at the transceiver-programmable fabric interface) on plus comma only, minus comma only, both, or neither. Also option to set this flag for valid commas only (several invalid comma patterns are also possible).

The decoded data is then sent to an elastic buffer 182, which carries out channel bonding and clock correction operations in conjunction with a channel bonding and clock correction controller 184. Elastic buffer 182 may have the following configuration options:

(a) use or bypass the elastic buffer;

(b) use or inhibit clock correction;

(c) threshold value for flagging buffer overflow or underflow; and

(d) options related to the operation of the elastic buffer (clock correction and channel bonding), such as the choice of channel bonding modes, the selection of a selectable number of channel bonding sequences of a selectable length matching a selectable byte value (8-bit or 10 bit), and similar selection for clock correction sequences.

The data in elastic buffer 182 is delivered to the programmable fabric through data path 138. The data width can be configurably selected to be 1, 2 or 4 bytes.

Elastic buffer 182 can be optionally connected to a CRC verification block 186. This block verifies the commonly used 32-bit CRC that is expected to appear at the end of received data packets. A signal may be delivered to the programmable fabric on line 142 indicating the result of the verification. In order to perform CRC, verification block 186 should recognize data packet boundaries (similar to CRC generation block 152 described above). CRC Verification block 186 may have the following configuration options:

(a) use or bypass this CRC verification block;

(b) a choice of transmission standard to support, e.g., Fibre Channel, Gigabit Ethernet, InfiniBand, or a user defined standard; and

(c) for the user defined standard, the start-of-packet and end-of-packet control characters.

Transceiver 130 can optionally include a loss of synchronization detector 188. It interprets outputs of comma detection 174, decoder 178, and elastic buffer 182 to make a determination of whether the incoming byte stream is in sync. A signal can be delivered to the programmable fabric on line 144. Loss of synchronization detector 188 may have the following configuration options:

(a) use or bypass this detector;

(b) option to set number of invalid characters that cause “loss of sync” status; and

(c) option to set the number of valid characters that negates effect of one invalid character for determination of loss of synchronization.

In the event that loss of synchronization detector 188 is bypassed, status information of decoder 178 and elastic buffer 182 may need to be delivered to the programmable fabric using other status lines.

Referring back to FIG. 2, the configuration information on the configurable transceivers of the present invention can be stored in PROM 202. A user can select different options by delivering different configuration bitstreams to FPGA 204.

Those having skill in the relevant arts of the invention will now perceive various modifications and additions which may be made as a result of the disclosure herein. Accordingly, all such modifications and additions are deemed to be within the scope of the invention, which is to be limited only by the appended claims and their equivalents.

Sasaki, Paul T., Bekele, Adebabay M., Cory, Warren E., Verma, Hare K., Menon, Suresh M., Ghia, Atul V., Freidin, Philip M., Asuncion, Santiago G., Costello, Philip D., Vadi, Vasisht M.

Patent Priority Assignee Title
10573598, Sep 28 2017 XILINX, Inc.; Xilinx, Inc Integration of a programmable device and a processing system in an integrated circuit package
11024583, Sep 28 2017 XILINX, Inc. Integration of a programmable device and a processing system in an integrated circuit package
7421014, Sep 11 2003 XILINX, Inc. Channel bonding of a plurality of multi-gigabit transceivers
7492291, Oct 20 2006 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED Methods and apparatus for interfacing a plurality of encoded serial data streams to a serializer/deserializer circuit
7519747, Sep 11 2003 XILINX, Inc. Variable latency buffer and method of operation
7751442, Dec 19 2003 Intel Corporation Serial ethernet device-to-device interconnection
7882465, Nov 21 2006 GLOBALFOUNDRIES Inc FPGA and method and system for configuring and debugging a FPGA
7885320, Sep 11 2003 XILINX, Inc. MGT/FPGA clock management system
8261357, Oct 14 2009 Schweitzer Engineering Laboratories, Inc. Systems and methods for license entitlement key distribution
8509101, Oct 14 2009 Schweitzer Engineering Laboratories Inc Systems and methods for a configurable communication device
8565119, Apr 14 2009 Schweitzer Engineering Laboratories, Inc Network discovery and data transfer using SNMP in an electric power transmission or distribution system
9967135, Mar 29 2016 Schweitzer Engineering Laboratories, Inc.; Schweitzer Engineering Laboratories, Inc Communication link monitoring and failover
Patent Priority Assignee Title
4366478, Jan 07 1980 Hitachi, Ltd. Signal transmitting and receiving apparatus
4758985, Feb 27 1985 XILINX, Inc.; XILINX, INC , A CORP OF CA Microprocessor oriented configurable logic element
4855669, Oct 07 1987 XILINX, Inc.; XILINX, INC , 2069 E HAMILTON AVE , SAN JOSE, 95125 A CORP OF CA System for scan testing of logic circuit networks
5072418, May 04 1989 Texas Instruments Incorporated; TEXAS INSTRUMENTS INCORPORATED, A CORP OF DE Series maxium/minimum function computing devices, systems and methods
5142625, Jun 12 1985 Minolta Camera Kabushiki Kaisha One-chip microcomputer including a programmable logic array for interrupt control
5274570, May 22 1989 Mazda Motor Corporation Integrated circuit having metal substrate
5311114, Oct 27 1992 LSI Corporation Apparatus and method for full-duplex ethernet communications
5339262, Jul 10 1992 Bell Semiconductor, LLC Method and apparatus for interim, in-situ testing of an electronic system with an inchoate ASIC
5347181, Apr 29 1992 Freescale Semiconductor, Inc Interface control logic for embedding a microprocessor in a gate array
5361373, Dec 11 1992 SeaSound, LLC; WAGNER & BROWN, LTD Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor
5457410, Aug 03 1993 Actel Corporation Architecture and interconnect scheme for programmable logic circuits
5473267, Feb 16 1993 SGS-Thomson Microelectronics Limited Programmable logic device with memory that can store routing data of logic data
5500943, Nov 02 1993 Apple Inc Data processor with rename buffer and FIFO buffer for in-order instruction completion
5504738, Oct 27 1992 LSI Corporation Apparatus and method for full-duplex ethernet communications
5537601, Jul 21 1993 Hitachi, Ltd. Programmable digital signal processor for performing a plurality of signal processings
5543640, Mar 15 1994 National Semiconductor Corporation Logical three dimensional interconnections between integrated circuit chips using a two dimensional multi-chip module
5550782, May 08 1992 ALTERA CORPORATION, A DELAWARE CORPORATION Programmable logic array integrated circuits
5552722, Nov 05 1992 XILINX, Inc. Mask registor for a configurable cellular array
5574930, Aug 12 1994 University of Hawaii Computer system and method using functional memory
5574942, Feb 28 1994 Intel Corporation Hybrid execution unit for complex microprocessor
5581745, Jan 12 1990 Fujitsu Limited Apparatus for suspending the bus cycle of a microprocessor by inserting wait states
5594367, Oct 16 1995 Xilinx, Inc Output multiplexer within input/output circuit for time multiplexing and high speed logic
5600845, Jul 27 1994 WAGNER & BROWN, LTD ; SeaSound, LLC Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor
5652904, Aug 03 1993 XILINX, Inc. Non-reconfigurable microprocessor-emulated FPGA
5671355, Jun 26 1992 PREDACOMM, INC Reconfigurable network interface apparatus and method
5701091, May 02 1995 XILINX, Inc. Routing resources for hierarchical FPGA
5705938, May 02 1995 XILINX, Inc. Programmable switch for FPGA input/output signals
5732250, Sep 15 1994 Intel Corporation Multi-function microprocessor wait state mechanism using external control line
5737631, Apr 05 1995 Xilinx, Inc Reprogrammable instruction set accelerator
5740404, Sep 27 1993 Hitachi America, Ltd Digital signal processor with on-chip select decoder and wait state generator
5742179, Jan 27 1994 Xilinx, Inc High speed programmable logic architecture
5742180, Feb 10 1995 Massachusetts Institute of Technology Dynamically programmable gate array with multiple contexts
5748979, Apr 05 1995 Xilinx, Inc Reprogrammable instruction set accelerator using a plurality of programmable execution units and an instruction page table
5752035, Apr 05 1995 XILINX, Inc.; XILINIX, INC Method for compiling and executing programs for reprogrammable instruction set accelerator
5760607, Jul 10 1995 XILINX, Inc. System comprising field programmable gate array and intelligent memory
5809517, Mar 08 1989 Canon Kabushiki Kaisha Detachable memory apparatus capable of varying number of wait states for access based on stored timing information
5835405, Dec 13 1993 Lattice Semiconductor Corporation Application specific modules in a programmable logic device
5872920, Jul 02 1992 U S ETHERNET INNOVATIONS, LLC Programmed I/O ethernet adapter with early interrupts for accelerating data transfer
5874834, Mar 04 1997 XILINX, Inc.; Xilinx, Inc Field programmable gate array with distributed gate-array functionality
5889788, Feb 03 1997 SHENZHEN XINGUODU TECHNOLOGY CO , LTD Wrapper cell architecture for path delay testing of embedded core microprocessors and method of operation
5892961, Feb 17 1995 XILINX, Inc. Field programmable gate array having programming instructions in the configuration bitstream
5907566, May 29 1997 Hewlett Packard Enterprise Development LP Continuous byte-stream encoder/decoder using frequency increase and cyclic redundancy check
5914616, Feb 26 1997 XILINX, Inc.; Xilinx, Inc FPGA repeatable interconnect structure with hierarchical interconnect lines
5914902, Jul 16 1997 TANISYS TECHNOLOGY, INC ; NEOSEM, INC Synchronous memory tester
5933023, Sep 03 1996 XILINX, Inc. FPGA architecture having RAM blocks with programmable word length and width and dedicated address and data lines
5970254, Jun 27 1997 Intel Corporation Integrated processor and programmable data path chip for reconfigurable computing
6011407, Jun 13 1997 XILINX, Inc.; Xilinx, Inc Field programmable gate array with dedicated computer bus interface and method for configuring both
6020755, Sep 26 1997 Lattice Semiconductor Corporation Hybrid programmable gate arrays
6026481, Apr 28 1995 XILINX, Inc. Microprocessor with distributed registers accessible by programmable logic device
6091962, Jan 30 1998 Google Technology Holdings LLC Method and apparatus for re-establishing a communication in a wireless communication system
6096091, Feb 24 1998 AMD TECHNOLOGIES HOLDINGS, INC ; GLOBALFOUNDRIES Inc Dynamically reconfigurable logic networks interconnected by fall-through FIFOs for flexible pipeline processing in a system-on-a-chip
6115763, Mar 05 1998 International Business Machines Corporation Multi-core chip providing external core access with regular operation function interface and predetermined service operation services interface comprising core interface units and masters interface unit
6150837, Feb 28 1997 MICROSEMI SOC CORP Enhanced field programmable gate array
6154051, Nov 05 1998 Lattice Semiconductor Corporation Tileable and compact layout for super variable grain blocks within FPGA device
6163166, May 27 1998 Altera Corporation Programmable logic device with selectable schmitt-triggered and threshold-triggered buffers
6172990, Jun 19 1997 SECURE AXCESS LLC Media access control micro-RISC stream processor and method for implementing the same
6178541, Mar 30 1998 Bell Semiconductor, LLC PLD/ASIC hybrid integrated circuit
6181163, Jan 21 1999 Lattice Semiconductor Corporation FPGA integrated circuit having embedded SRAM memory blocks and interconnect channel for broadcasting address and control signals
6211697, May 25 1999 MICROSEMI SOC CORP Integrated circuit that includes a field-programmable gate array and a hard gate array having the same underlying structure
6237124, Mar 16 1998 MICROSEMI SOC CORP Methods for errors checking the configuration SRAM and user assignable SRAM data in a field programmable gate array
6242945, Mar 04 1997 XILINX, Inc. Field programmable gate array with mask programmable I/O drivers
6272451, Jul 16 1999 Atmel Corporation Software tool to allow field programmable system level devices
6279045, Oct 05 1998 KAWASAKI MICROELECTRONICS, INC Multimedia interface having a multimedia processor and a field programmable gate array
6282627, Jun 29 1998 Intel Corporation Integrated processor and programmable data path chip for reconfigurable computing
6301696, Mar 30 1999 Actel Corporation Final design method of a programmable logic device that is based on an initial design that consists of a partial underlying physical template
6343207, Nov 03 1998 Harris Corporation Field programmable radio frequency communications equipment including a configurable if circuit, and method therefor
6353331, Jul 10 2000 XILINX, Inc. Complex programmable logic device with lookup table
6356987, Mar 10 1999 Atmel Corporation Microprocessing device having programmable wait states
6389558, Oct 28 1996 Altera Corporation Embedded logic analyzer for a programmable logic device
6434735, Dec 16 1999 Bell Semiconductor, LLC Method for programming an FPGA and implementing an FPGA interconnect
6460172, Jun 21 2000 SEMICONDUCTORES INVESTIGACION DISENO, S A SIDSA Microprocessor based mixed signal field programmable integrated device and prototyping methodology
6467009, Oct 14 1998 Xilinx, Inc Configurable processor system unit
6483342, May 26 2000 Lattice Semiconductor Corporation Multi-master multi-slave system bus in a field programmable gate array (FPGA)
6507942, Jul 11 2000 Xilinx , Inc. Methods and circuits for testing a circuit fabrication process for device uniformity
6510548, Aug 03 2001 XILINX, Inc.; Xilinx, Inc Method for providing pre-designed modules for programmable logic devices
6518787, Sep 21 2000 Xilinx, Inc Input/output architecture for efficient configuration of programmable input/output cells
6519753, Nov 30 1999 QuickLogic Corporation Programmable device with an embedded portion for receiving a standard circuit design
6522167, Jan 09 2001 Xilinx, Inc User configurable on-chip memory system
6539508, Mar 15 2000 XILINX, Inc. Methods and circuits for testing programmable logic
6541991, May 04 2001 Xilinx Inc. Interface apparatus and method for testing different sized ball grid array integrated circuits
6578174, Jun 08 2001 Cadence Design Systems, INC Method and system for chip design using remotely located resources
6587995, Apr 19 2000 NXP B V Enhanced programmable core model with integrated graphical debugging functionality
6588006, Dec 16 1999 Bell Semiconductor, LLC Programmable ASIC
6594275, Apr 03 1998 Texas Instruments Incorporated Fibre channel host bus adapter having multi-frequency clock buffer for reduced power consumption
6601227, Jun 27 2001 XILINX, Inc.; Xilinx, Inc Method for making large-scale ASIC using pre-engineered long distance routing structure
6604228, May 28 1996 Altera Corporation Technique of fabricating integrated circuits having interfaces compatible with different operating voltage conditions
6611951, Nov 30 2000 Bell Semiconductor, LLC Method for estimating cell porosity of hardmacs
6798239, Sep 28 2001 Xilinx, Inc Programmable gate array having interconnecting logic to support embedded fixed logic circuitry
7068650, Sep 06 2001 Cisco Technology, Inc. Apparatus and method for SerDes rate matching using symbol interleaving
20010049813,
20030062922,
EP315275,
EP905906,
EP1235351,
RE34363, Mar 12 1984 XILINX, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
WO9325968,
///////////
Executed onAssignorAssigneeConveyanceFrameReelDoc
Feb 27 2002FREIDIN, PHILIP M Xilinx, IncASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0128180792 pdf
Feb 27 2002BEKELE, ADEBABAY M Xilinx, IncASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0128180792 pdf
Feb 27 2002CORY, WARREN E Xilinx, IncASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0128180792 pdf
Feb 27 2002SASAKI, PAUL T Xilinx, IncASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0128180792 pdf
Feb 27 2002VADI, VASISHT M Xilinx, IncASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0128180792 pdf
Feb 27 2002ASUNCION, SANTIAGO G Xilinx, IncASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0128180792 pdf
Feb 27 2002COSTELLO, PHILIP D Xilinx, IncASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0128180792 pdf
Feb 28 2002GHIA, ATUL V Xilinx, IncASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0128180792 pdf
Mar 01 2002XILINX, Inc.(assignment on the face of the patent)
Mar 01 2002MENON, SURESH M Xilinx, IncASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0128180792 pdf
Mar 19 2002VERMA, HARE K Xilinx, IncASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0128180792 pdf
Date Maintenance Fee Events
Sep 07 2010M1551: Payment of Maintenance Fee, 4th Year, Large Entity.
Sep 08 2014M1552: Payment of Maintenance Fee, 8th Year, Large Entity.
Sep 06 2018M1553: Payment of Maintenance Fee, 12th Year, Large Entity.


Date Maintenance Schedule
Mar 06 20104 years fee payment window open
Sep 06 20106 months grace period start (w surcharge)
Mar 06 2011patent expiry (for year 4)
Mar 06 20132 years to revive unintentionally abandoned end. (for year 4)
Mar 06 20148 years fee payment window open
Sep 06 20146 months grace period start (w surcharge)
Mar 06 2015patent expiry (for year 8)
Mar 06 20172 years to revive unintentionally abandoned end. (for year 8)
Mar 06 201812 years fee payment window open
Sep 06 20186 months grace period start (w surcharge)
Mar 06 2019patent expiry (for year 12)
Mar 06 20212 years to revive unintentionally abandoned end. (for year 12)