Patents Represented by Attorney Lois D. Cartier
  • Patent number: 7202698
    Abstract: A programmable input structure for a logic block provides the capability of “bouncing” a logic block input signal back to the interconnect structure of the integrated circuit, and/or to other input terminals of the logic block, without disabling other functions in the logic block. A programmable input multiplexer circuit selects one of the available signals from the interconnect structure, and passes the selected interconnect signal to a logic block. The signal can be disabled within the logic block by programming a bounce multiplexer circuit to select a static value (e.g., power high or ground) instead of the selected interconnect signal. Therefore, the selected signal is safely provided to the interconnect structure and/or another input multiplexer circuit, in addition to the logic block input terminal.
    Type: Grant
    Filed: June 14, 2005
    Date of Patent: April 10, 2007
    Assignee: Xilinx, Inc.
    Inventors: Trevor J. Bauer, Steven P. Young
  • Patent number: 7199610
    Abstract: An interconnect structure in which “diagonal” and “straight” interconnect lines are interleaved to minimize coupling between adjacent interconnect lines. An interconnect structure for an integrated circuit comprises rows and columns of tiles. Interconnect lines extend at least in part along a first column of the tiles, the interconnect lines including straight and diagonal interconnect lines. A “straight” interconnect line interconnects at least two tiles in the first column, and a “diagonal” interconnect line interconnects a tile in the first column with at least one tile in a different column and row. The interconnect lines are laid out in parallel fashion such that no straight interconnect line is physically adjacent to more than one other straight interconnect line, and no diagonal interconnect line is physically adjacent to more than one other diagonal interconnect line. Optionally, no two physically adjacent interconnect lines drive in the same direction within the first column.
    Type: Grant
    Filed: June 14, 2005
    Date of Patent: April 3, 2007
    Assignee: Xilinx, Inc.
    Inventors: Steven P. Young, Ramakrishna K. Tanikella, Sanjiv Stokes
  • Patent number: 7196543
    Abstract: A programmable input structure for a programmable logic circuit provides the capability of “fanning out” a selected signal to two or more input terminals of the programmable logic circuit, thereby increasing the routability of the logic block input signals. A logic block for an integrated circuit includes a programmable logic circuit and input multiplexers programmably selecting an input signal to provide to the programmable logic circuit. Also included in the integrated circuit are fan multiplexers that do not drive the programmable logic circuit directly. Instead, the fan multiplexers drive two or more of the input multiplexers that can, optionally, drive other input multiplexers in the same logic block, providing additional selection options among potential input signals. In some embodiments, the fan multiplexers are driven by global and/or regional clock signals. Thus, existing clock distribution structures can be used to provide high fanout input signals to the programmable logic circuit.
    Type: Grant
    Filed: June 14, 2005
    Date of Patent: March 27, 2007
    Assignee: Xilinx, Inc.
    Inventors: Steven P. Young, Trevor J. Bauer
  • Patent number: 7193433
    Abstract: A programmable logic block provides to a carry chain multiplexer an output signal representing a partial output signal from a programmable lookup table (LUT), e.g., an output signal having a value that depends upon fewer than all of the data input signals of the LUT. In one embodiment, a first LUT output terminal provides a signal that depends upon fewer than all of the LUT data input signals, and the second LUT output terminal provides a signal that depends upon all of the LUT data input signals. In another embodiment, the first output signal depends upon X of the input signals and the second output signal depends upon Y of the input signals, X and Y being positive integers, X being less than Y. The first LUT output terminal drives a data input terminal, and the second LUT output terminal drives a select input terminal, of the carry chain multiplexer.
    Type: Grant
    Filed: June 14, 2005
    Date of Patent: March 20, 2007
    Assignee: Xilinx, Inc.
    Inventor: Steven P. Young
  • Patent number: 7187199
    Abstract: Structures and methods for testing a re-programmable logic block embedded in a one-time programmable fabric in a PLD. The re-programmable logic block is tested without using the one-time programmable resources needed for implementing user circuits, by including a multiple input signature register (MISR) circuit coupled to receive output data from the re-programmable logic portion of the PLD. In some embodiments, a tester operating at a first and lower clock frequency can be used to test a re-programmable logic block operating at a second and higher clock frequency. In some of these embodiments, the one-time programmable fabric is tested at the first clock frequency.
    Type: Grant
    Filed: May 24, 2005
    Date of Patent: March 6, 2007
    Assignee: Xilinx, Inc.
    Inventor: Andrew W. Lai
  • Patent number: 7185299
    Abstract: Methods of estimating routing delays between two points in a programmable logic device (PLD). The invention takes advantage of the fact that there are a finite number of possible routes (routing paths) between any two points in a PLD. In PLDs with a regular and tiled structure, such as field programmable gate arrays, the number of routes between any two points that are likely to be used by the router is relatively small. Thus, given the locations of the two points to be connected, the route most likely to be used by the router can be determined, and an associated delay can be calculated. This associated delay is then reported as the estimated routing delay. This method of delay estimation can be much more accurate than using an average delay. When the delays between possible paths vary widely, the actual delay of a connection can vary widely from the average.
    Type: Grant
    Filed: January 30, 2003
    Date of Patent: February 27, 2007
    Assignee: Xilinx, Inc.
    Inventor: Rajeev Jayaraman
  • Patent number: 7181718
    Abstract: Structures and methods of including processor capabilities in an existing PLD architecture with minimal disruption to the existing general interconnect structure. In a PLD including a column of block RAM (BRAM) blocks, the BRAM blocks are modified to create specialized logic blocks including a RAM, a processor, and a dedicated interface coupled between the RAM, the processor, and the general interconnect structure of the PLD. The additional area is obtained by increasing the width of the column of BRAM blocks. Because the interconnect structure remains virtually unchanged, the interconnections between the specialized logic blocks and the adjacent tiles are already in place, and the modifications do not affect the PLD routing software. In some embodiments, the processor can be optionally disabled, becoming transparent to the user. Other embodiments provide methods of modifying a PLD to include the structures and provide the capabilities described above.
    Type: Grant
    Filed: August 27, 2004
    Date of Patent: February 20, 2007
    Assignee: Xilinx, Inc.
    Inventors: Goran Bilski, Ralph D. Wittig, Jennifer Wong, David B. Squires
  • Patent number: 7145360
    Abstract: A configurable logic element (CLE) for a field programmable gate array (FPGA) includes “expanders”, i.e., connectors that allow fast signal communication between logic blocks. Expanders allow the configurable interconnection of a plurality of logic blocks, or portions thereof, to form a single logical entity that can implement large user circuits such as PALs, lookup tables, multiplexers, tristate buffers, and memories. One embodiment includes a configurable logic block. In a first mode, the logic block provides two N-input LUTs having N shared inputs and two separate outputs. The outputs are then combined using an expander to generate an (N+1)-input function. In a second mode, the logic block provides two N-input LUTs having M unshared inputs. An optional third mode provides a plurality of product term output signals based on the values of the N input signals.
    Type: Grant
    Filed: November 16, 2004
    Date of Patent: December 5, 2006
    Assignee: Xilinx, Inc.
    Inventors: Bernard J. New, Ralph D. Wittig, Sundararajarao Mohan
  • Patent number: 7143384
    Abstract: Methods of routing a design in a programmable logic device (PLD) to increase the effectiveness of applying a multi-frame write (MFW) compression technique to the resulting configuration bitstream. The methods apply placement patterns and/or routing templates to encourage the inclusion of numbers of duplicated routing paths in the routed design. The duplicated routing paths result in duplicated configuration data. Thus, a configuration bitstream implementing the routed design in the PLD includes numbers of duplicated configuration data frames, and is well-suited to benefit from MFW compression techniques.
    Type: Grant
    Filed: November 18, 2003
    Date of Patent: November 28, 2006
    Assignee: Xilinx, Inc.
    Inventors: Jay T. Young, Jeffrey V. Lindholm, Sridhar Krishnamurthy
  • Patent number: 7143332
    Abstract: A random access memory (RAM) in a programmable logic device (PLD) supports error correction as well as a configurable data width. The number of bits in a user data word varies by the selected configuration of the RAM, while the number of bits in the error correction code (ECC) is unvarying, and is based on the total width of the memory. In some embodiments, separate ports are provided for the user data and the ECC data. Thus, ECC data can be written to an ECC portion of the RAM array at a given RAM address, while at the same time user data is written to or read from a configurable user data portion of the RAM array at the same RAM address. In other embodiments, a single memory access port is used for both user data and ECC data.
    Type: Grant
    Filed: December 16, 2003
    Date of Patent: November 28, 2006
    Assignee: Xilinx, Inc.
    Inventor: Stephen M. Trimberger
  • Patent number: 7139361
    Abstract: Digital frequency synthesizer (DFS) circuits and methods use counters to define the positions of the output clock edges. A clock divider divides an input clock by a positive integer to provide a divided clock. A first counter circuit counts for one divided clock period, and the count is provided to a timing circuit that generates two or more sets of intermediate values. Each set represents a set of intermediate points within a period of the divided clock. Based on a specified multiplication value, one set of intermediate values is selected. Utilizing the divided clock, the selected set of intermediate values, and a second counter running at the same frequency as the first counter circuit, an output clock generator provides an output clock having an initial pulse at the beginning of each divided clock period, and a subsequent pulse at intermediate points represented by the selected set of intermediate values.
    Type: Grant
    Filed: February 15, 2005
    Date of Patent: November 21, 2006
    Assignee: Xilinx, Inc.
    Inventor: Andy T. Nguyen
  • Patent number: 7138828
    Abstract: An FPGA includes a programmable interconnect structure in which the interconnect resources are divided into two groups. A first subset of the interconnect resources are optimized for high speed. A second subset of the interconnect resources are optimized for low power consumption. In some embodiments, the transistors of the first and second subsets have different threshold voltages. Transistors in the first subset, being optimized for speed, have a lower threshold voltage than transistors in the second subset, which are optimized for low power consumption. The difference in threshold voltages can be accomplished by using different doping levels, wells biased to different voltage levels, or using other well-known means. In some embodiments, the first subset of the interconnect resources includes buffers coupled to a higher voltage level than the second subset. In some embodiments, the first subset includes buffers manufactured using larger transistors than those in the second subset.
    Type: Grant
    Filed: September 15, 2004
    Date of Patent: November 21, 2006
    Assignee: Xilinx, Inc.
    Inventor: Bernard J. New
  • Patent number: 7127697
    Abstract: Methods of utilizing partially defective PLDs, i.e., PLDs having localized defects. A partially defective PLD is tested for compatibility with a particular configuration bitstream. If the partially defective PLD is compatible with the bitstream (i.e., if the localized defect has no effect on the functionality of the design implemented by the bitstream), a product is made available that includes both the bitstream and the partially defective PLD. In some embodiments, the bitstream is stored in a memory device such as a programmable read-only memory (PROM). In some embodiments, the product is a chip set that includes the partially defective PLD and a separately-packaged PROM in which the bitstream has previously been stored. In some embodiments, the PROM is manufactured as part of the FPGA die.
    Type: Grant
    Filed: July 30, 2003
    Date of Patent: October 24, 2006
    Assignee: Xilinx, Inc.
    Inventors: Robert W. Wells, Robert D. Patrie, Andrew J. DeBaets
  • Patent number: 7127552
    Abstract: Structures and methods for transferring data from non-volatile to volatile memories. An extra bit, called a “transfer bit”, is included in each data word. The transfer bit is set to the programmed value, and is monitored by a control circuit during the memory transfer. If the supply voltage is sufficient for correct programming, the transfer bit is read as “programmed”, and the data transfer continues. If the supply voltage is below the minimum supply voltage for proper programming, the transfer bit is read as “erased”, and the data transfer is reinitiated. In one embodiment, a second transfer bit set to the “erased” value is included in each word.
    Type: Grant
    Filed: November 1, 2005
    Date of Patent: October 24, 2006
    Assignee: Xilinx, Inc.
    Inventors: Schuyler E. Shimanek, Roy D. Darling
  • Patent number: 7127022
    Abstract: Clock and data recovery (CDR) circuits that are fully digital. A data stream encoded with clocking information is passed through a tapped digital delay line. A phase and frequency detector coupled to the registered outputs of the tapped digital delay line determines the phase and frequency relationship between the recovered clock (DCO clock) and the transmit clock. A filter and control circuit then uses this information to generate a “servo” control signal, which is passed through a dither circuit and fed back to a digitally controlled oscillator (DCO). The circuit adjusts the DCO clock signal to match the transmit clock based on the value of this control signal.
    Type: Grant
    Filed: March 21, 2003
    Date of Patent: October 24, 2006
    Assignee: Xilinx, Inc.
    Inventor: Leonard W. Dieguez
  • Patent number: 7124338
    Abstract: Methods and systems for testing PLD interconnect lines, e.g., interconnect lines driven by a plurality of programmable buffers. Each programmable buffer has an associated memory element. The memory elements are configured to form a shift register, with one of the buffers and the interconnect line inserted between two of the memory elements. The signal path through the shift register is tested using a first test pattern. Partial reconfiguration is then used to change the insertion point of the interconnect line in the signal path by changing the configuration of the interconnect structure and using a second one of the buffers. A second test pattern is then used to test the second buffer. This sequence is repeated until each of the buffers has been tested. Because only small changes are required, the partial reconfiguration requires loading only small amounts of configuration data, significantly reducing test time compared to presently-known test methods.
    Type: Grant
    Filed: October 10, 2003
    Date of Patent: October 17, 2006
    Assignee: Xilinx, Inc.
    Inventors: David Mark, Randy J. Simmons, Huy-Quang Le, Kazi S. Afzal
  • Patent number: 7116131
    Abstract: A programmable logic device (PLD) includes dynamic lookup table (LUT) circuits, an interconnect structure implemented in either dynamic or static logic, and optional static logic circuits. Each dynamic LUT circuit has paired true and complement input terminals and provides to the interconnect structure both true and complement output signals pre-charged to a first known value. In some embodiments, the LUT circuits are self-resetting circuits that detect when the paired input signals are valid and evaluate the LUT output values at that time. Once a valid LUT output value has been produced, the LUT resets itself in anticipation of the next valid input condition. In some embodiments, the LUT circuits are implemented using clocked dynamic logic. Routing multiplexers in the interconnect structure can be static or dynamic logic, optionally skewed. Clocked LUTs and routing multiplexers use either of two clock phases under the control of configuration memory cells of the PLD.
    Type: Grant
    Filed: September 15, 2004
    Date of Patent: October 3, 2006
    Assignee: Xilinx, Inc.
    Inventors: Manoj Chirania, Venu M. Kondapalli
  • Patent number: 7111214
    Abstract: Circuit implementations and test methods enable the testing of lookup table (LUT) input paths, “stuck at” memory cell values, and carry chains. One method includes storing a first bit pattern in each LUT, configuring the carry chain to perform a wide AND function of the LUT outputs, and cycling the inputs of each LUT while comparing the carry chain output to an expected value and reporting the PLD faulty if a difference is detected. The carry chain is configured to perform a wide OR function, and the cycling step is repeated. The bit pattern within each LUT is changed to the complement of the first bit pattern by providing a series of shift commands or by otherwise storing new values in the LUT, and the configuring and cycling steps are repeated. The invention also provides PLD circuit implementations that can be used to perform the described methods.
    Type: Grant
    Filed: October 9, 2002
    Date of Patent: September 19, 2006
    Assignee: Xilinx, Inc.
    Inventors: Kamal Chaudhary, Sridhar Krishnamurthy
  • Patent number: 7109751
    Abstract: Methods of implementing a static memory cell compliant with the requirements of phase shift masks. A phase shift compliant memory cell is generated by implementing a single bit line, two word lines, first and second cross-coupled logic gates, and first and second pass gates. The logic gates and pass gates include transistors that use a fabrication layer (e.g., polysilicon) to implement the gate nodes of the transistors. All of these gate nodes extend substantially in a first direction. Throughout the static memory cell, the fabrication layer is implemented without T-shaped polygons in compliance with the requirements for a phase shift mask. In some embodiments, the static memory cell is a configuration memory cell for a PLD, and the method includes implementing an interconnection between at least one of the first and second storage nodes and programmable logic elements of the PLD.
    Type: Grant
    Filed: June 2, 2004
    Date of Patent: September 19, 2006
    Assignee: Xilinx, Inc.
    Inventor: Jan L. de Jong
  • Patent number: 7111215
    Abstract: Methods of implementing designs in programmable logic devices (PLDs) to reduce susceptibility to single-event upsets (SEUs) by taking advantage of the fact that most PLD designs leave many routing resources unused. The unused routing resources can be used to provide duplicate routing paths between source and destination of signals in the design. The duplicate paths are selected such that an SEU affecting one of the duplicate paths simply switches the signal between the two paths. Thus, if one path is disabled due to an SEU, the other path can still provide the necessary connection, and the functionality of the design is unaffected. The methods can be applied, for example, to routing software for field programmable gate arrays (FPGAs) having programmable routing multiplexers controlled by static RAM-based configuration memory cells.
    Type: Grant
    Filed: January 29, 2004
    Date of Patent: September 19, 2006
    Assignee: Xilinx, Inc.
    Inventors: Eric R. Keller, Prasanna Sundararajan, Stephen M. Trimberger