Patents Represented by Attorney Lois D. Cartier
  • Patent number: 7539789
    Abstract: Memory circuits that concatenate multiple FIFOs in parallel to increase the overall depth of the memory circuits. Asymmetric input and output ports can be provided by including a deserializer on the write interface of the memory circuit and/or a serializer on the read interface of the memory circuit. The deserializer disperses the data evenly across all FIFOs, minimizing the write-to-read latency. In some embodiments, at most two of the FIFOs are active at any given time, one being written and one being read, which reduces the overall power consumption of the memory circuit compared to known structures.
    Type: Grant
    Filed: August 14, 2006
    Date of Patent: May 26, 2009
    Assignee: Xilinx, Inc.
    Inventor: James E. Ogden
  • Patent number: 7529993
    Abstract: Methods of compensating for process variations and/or mask revisions in a programmable integrated circuit (IC). A non-volatile memory in the IC stores a value representing a process corner and/or mask revision for the IC. A configuration control circuit monitors a configuration bitstream provided to the programmable IC. When no code key is received, configuration data is applied to a first (e.g., digital) circuit. When a code key is identified, the code key is compared to the stored value. If there is a match, the subsequent configuration data is applied to a second (e.g., analog) circuit. If there is no match, the subsequent configuration data is ignored until an “unlock” command is detected in the bitstream. Thus, the configuration data for the digital circuit need be included only once in the bitstream, while the configuration data for the analog circuit is supplied once for each supported process corner or mask revision.
    Type: Grant
    Filed: June 8, 2006
    Date of Patent: May 5, 2009
    Assignee: Xilinx, Inc.
    Inventor: David P. Schultz
  • Patent number: 7523380
    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: October 31, 2006
    Date of Patent: April 21, 2009
    Assignee: Xilinx, Inc.
    Inventor: Stephen M. Trimberger
  • Patent number: 7506298
    Abstract: Computer-implemented methods of mapping a logical representation of a memory to physical memory, e.g., in a programmable logic device (PLD). The logical representation of the memory is input into the computer, which generates an initial solution (e.g., a column-based solution) for the memory. In a column-based solution, the primitives are arranged such that each column includes only one type of primitive. The column-based solution generated in this step uses the minimum number of primitives attainable by a column-based approach. The column-based solution is then modified to reduce multiplexing, e.g., by replacing two primitives that are cascaded in depth with two primitives that are cascaded in width. In some embodiments, the total number of primitives can be reduced by the modification. The resulting physical representation of the memory is then output, and can be utilized, if desired, to create an implementation of the memory targeted to a PLD.
    Type: Grant
    Filed: December 19, 2006
    Date of Patent: March 17, 2009
    Assignee: Xilinx, Inc.
    Inventors: Michael George Ingoldby, James E. Ogden, Stacey Secatch
  • Patent number: 7498192
    Abstract: Methods of manufacturing a family of packaged integrated circuits (ICs) having at least two different logic capacities. A first IC die includes two different portions, of which at least one portion can be deliberately rendered non-operational in some manner (e.g., non-functional, inaccessible, and/or non-programmable) within the package. A first set of the first IC dies are packaged such that both portions of the dies are operational. A second set of the first IC dies are packaged such that only the first portion of each die is operational. Once the first and second sets are packaged and the second set of ICs has been evaluated, a decision is made whether or not to manufacture a second IC die that includes the first portion of the first die, while excluding the second portion.
    Type: Grant
    Filed: January 17, 2006
    Date of Patent: March 3, 2009
    Assignee: Xilinx, Inc.
    Inventors: F. Erich Goetting, Trevor J. Bauer, Patrick J. McGuire, Bruce E. Talley, Paul Ying-Fung Wu, Steven P. Young
  • Patent number: 7491576
    Abstract: An integrated circuit die (e.g., a programmable logic device (PLD) die) is manufactured that has the capability of being configured as at least two differently-sized family members. The IC die is tested prior to packaging. If a first portion of the IC die is fully functional, but a second portion includes a localized defect, then the IC die is packaged with a product selection code that configures the IC die to operate as only the first portion of the die. The second portion of the die is deliberately rendered non-operational. Therefore, the IC die can still be sold as a fully functional packaged IC.
    Type: Grant
    Filed: January 17, 2006
    Date of Patent: February 17, 2009
    Assignee: Xilinx, Inc.
    Inventors: Steven P. Young, Trevor J. Bauer, F. Erich Goetting, P. Hugo Lamarche, Patrick J. McGuire, Kwansuhk Oh, Raymond C. Pang, Bruce E. Talley, Paul Ying-Fung Wu
  • Patent number: 7471104
    Abstract: Lookup table circuits (LUTS) having multiple stages differently optimized to balance delays through the lookup table. A first multiplexing stage is optimized for a fast path from the control input to the data outputs, while a second and subsequent stage multiplexers are optimized for a fast path from data inputs to data outputs. In some embodiments, additional delay is introduced into the control inputs of the later stages, e.g., the LUT input paths with the smallest through-delays, in order to further balance the through-delays for the lookup table.
    Type: Grant
    Filed: March 31, 2008
    Date of Patent: December 30, 2008
    Assignee: Xilinx, Inc.
    Inventor: Manoj Chirania
  • Patent number: 7469371
    Abstract: Methods of testing a user design implemented in a programmable integrated circuit (IC). The programmable IC is programmed with a first test design that includes the user design and a first test circuit, and a first test pattern is run. The programmable IC is then programmed with a second test design that includes the user design and a second test circuit, and a second test pattern is run. If one of the test patterns fails and the other passes, the programmable IC passes the test sequence. Because one of the test patterns passed, the error in the other test pattern must have occurred in the test circuit, which is not necessary for the functioning of the user design in the programmable IC. Thus, the success of one test pattern shows that the flawed resource is not included in the portion of the programmable IC utilized for implementing the user design.
    Type: Grant
    Filed: August 8, 2006
    Date of Patent: December 23, 2008
    Assignee: Xilinx, Inc.
    Inventors: Shekhar Bapat, Mohit Kumar Jain
  • Patent number: 7451421
    Abstract: A method of modeling two IC dies using the same software model, although the two dies include physical differences. A first programmable logic device (PLD) die includes first and second portions, and is encoded to render the first portion operational and the second portion non-operational. At a boundary between the two portions, interconnect lines traversing the boundary include a first section in the first portion and a second section in the second portion. The second PLD die includes the first portion of the first PLD die, while omitting the second portion. The interconnect lines extending to the edge of the second die are coupled together in pairs. A software model for both die includes a termination model that omits the pair coupling, adds an RC load compensating for the omitted connection, and (for bidirectional interconnect lines) flags one interconnect line in each pair as being invalid for use by routing software.
    Type: Grant
    Filed: January 17, 2006
    Date of Patent: November 11, 2008
    Assignee: Xilinx, Inc.
    Inventors: Trevor J. Bauer, Jeffrey V. Lindholm, F. Erich Goetting, Bruce E. Talley, Ramakrishna K. Tanikella, Steven P. Young
  • Patent number: 7451369
    Abstract: An integrated circuit having a scalable boundary scan architecture. Logic elements, each including at least one data storage element, are arranged in rows and columns. A data distribution system couples the data storage elements together to form a boundary scan chain that traverses the columns in order, e.g., a first column, then a second column, and so forth, from top to bottom in each column. A clock distribution system is coupled to each of the data storage elements in the chain, and provides a clock signal to the first and second columns, again from top to bottom. The clock distribution system provides the clock signal to the top of the second column prior to providing it to the top of the first column. In some embodiments, an additional flip-flop is added to the boundary scan chain for each logic element, to increase the overall operating frequency of the scan chain.
    Type: Grant
    Filed: August 3, 2006
    Date of Patent: November 11, 2008
    Assignee: Xilinx, Inc.
    Inventors: Kwansuhk Oh, Raymond C. Pang
  • Patent number: 7424655
    Abstract: Methods and structures utilizing multiple configuration bitstreams to program integrated circuits (ICs) such as programmable logic devices, thereby enabling the utilization of partially defective ICs. A user design is implemented two or more times, preferably utilizing different programmable resources as much as possible in each configuration bitstream. The resulting user configuration bitstreams are stored along with associated test bitstreams in a memory device, e.g., a programmable read-only memory (PROM). Under the control of a configuration control circuit or device, the test bitstreams are loaded into a partially defective IC and tested using an automated testing procedure. When a test bitstream is found that enables the associated user design to function correctly in the programmed IC, i.e.
    Type: Grant
    Filed: October 1, 2004
    Date of Patent: September 9, 2008
    Assignee: Xilinx, Inc.
    Inventor: Stephen M. Trimberger
  • Patent number: 7412635
    Abstract: Methods and structures utilizing multiple configuration bitstreams to program integrated circuits (ICs) such as programmable logic devices (PLDs), thereby enabling the utilization of partially defective ICs. A user design is implemented two or more times, preferably utilizing different programmable resources as much as possible in each configuration bitstream. The resulting configuration bitstreams are stored in a memory device such as a programmable read-only memory (PROM). Under the control of a configuration control circuit or device, the various bitstreams are sequentially loaded into a partially defective IC and tested using an automated testing procedure. When a bitstream is found that enables the design to function correctly in the programmed IC, i.e., that avoids the defective programmable resources in the IC, the automated testing procedure terminates, and the programmed IC begins to function according to the user design as determined by the last programmed bitstream.
    Type: Grant
    Filed: October 1, 2004
    Date of Patent: August 12, 2008
    Assignee: Xilinx, Inc.
    Inventor: Stephen M. Trimberger
  • Patent number: 7402443
    Abstract: A method of providing a family of integrated circuits (ICs) includes applying a first product selection code (PSC) to a first IC die, applying a second PSC to a second IC die, and providing a third packaged IC die. The first IC die includes first and second portions, both of which are operational based on the first PSC. The second IC die is a duplicate of the first die, but the second portion is rendered non-operational by the second PSC. The third IC die is substantially similar to the first portion of the first die. The second and third packages can be the same and the packaged dies can be interchangeable in a system. When the dies are programmable logic device (PLD) dies, the second and third dies use the same configuration bit stream, which may be smaller than the configuration bit stream for the first IC die.
    Type: Grant
    Filed: January 17, 2006
    Date of Patent: July 22, 2008
    Assignee: Xilinx, Inc.
    Inventors: Raymond C. Pang, Trevor J. Bauer, F. Erich Goetting, Bruce E. Talley, Steven P. Young
  • Patent number: 7400123
    Abstract: A voltage supply circuit having variable drive strength can optionally be used to provide improved phase margin in an integrated circuit. A bandgap circuit drives an operational amplifier, with the second input of the operational amplifier being a regulated voltage node. The operational amplifier drives multiple pull-ups in a pull-up network coupled to the regulated voltage node, of which the different pull-ups can be separately enabled to control the effective channel width of the pull-up network. In some embodiments, a control circuit (e.g., one or two additional operational amplifiers driving a counter) accepts the output of the operational amplifier as an input signal and provides multiple enable signals to the pull-up network.
    Type: Grant
    Filed: April 11, 2006
    Date of Patent: July 15, 2008
    Assignee: Xilinx, Inc.
    Inventor: Martin L. Voogel
  • Patent number: 7392500
    Abstract: Structures and methods that can be used to reduce power consumption in programmable logic devices (PLDs). Varying delays on the input paths of a PLD lookup table (LUT) can cause the nodes within the LUT (including the LUT output signal) to change state several times each time the input signals change state. Therefore, a programmable logic block for a PLD is provided that registers the LUT input signals instead of, or in addition to, the LUT output signal. The delays on the input paths are equalized and “glitching” on the LUT nodes is greatly reduced or eliminated. Thus, power consumption is reduced. Methods are also provided of reducing power consumption in PLDs by replacing single-bit registers on LUT output signals with multi-bit registers on LUT input signals, or by including multi-bit input registers in addition to the single-bit output registers.
    Type: Grant
    Filed: September 27, 2005
    Date of Patent: June 24, 2008
    Assignee: Xilinx, Inc.
    Inventor: Stephen M. Trimberger
  • Patent number: 7389485
    Abstract: Methods of routing user designs in programmable logic devices (PLDs) having heterogeneous routing structures, i.e., PLDs including both high-power and low-power interconnect resources. A first pass routing step is performance-based, e.g., utilizes a cost function biased towards the high-power interconnect resources. The first routed design is then evaluated to identify non-critical nets in the first routed design that can yield the most power-saving benefit by being retargeted to the low-power interconnect resources. For example, a sorted list of nets can be created in which the identified nets are evaluated based on the capacitance per load pin of each net. A second pass routing step is then performed, e.g., rerouting the nets identified as being non-critical and having the greatest potential power-saving benefit. In some embodiments, the permitted increase in the delay of each rerouted net is bound by the slack of the net as routed in the first routed design.
    Type: Grant
    Filed: March 28, 2006
    Date of Patent: June 17, 2008
    Assignee: Xilinx, Inc.
    Inventors: Anirban Rahut, Satyaki Das, Arifur Rahman
  • Patent number: 7385416
    Abstract: Circuits and methods of implementing flip-flops in dual-output lookup tables (LUTs). A flip-flop is implemented by programming a dual-output LUT to include a first function implementing a master latch and a second function implementing a slave latch. An output of the master latch is provided at a first output terminal of the LUT, and an output of the slave latch is provided at a second output terminal of the LUT. The output of the master latch (the first output of the LUT) is coupled to a first input terminal of the LUT, where it drives both the first and second functions. The output of the slave latch (the second output of the LUT) is coupled to a second input terminal of the LUT, where it drives the second function. A clock signal is provided to both first and second functions via a third input terminal of the LUT.
    Type: Grant
    Filed: March 20, 2007
    Date of Patent: June 10, 2008
    Assignee: Xilinx, Inc.
    Inventors: Manoj Chirania, Martin L. Voogel
  • Patent number: 7386826
    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 in a routing multiplexer included in each path 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: June 24, 2003
    Date of Patent: June 10, 2008
    Assignee: Xilinx, Inc.
    Inventors: Eric R. Keller, Prasanna Sundararajan
  • Patent number: 7382157
    Abstract: Interconnect driver circuits that can be used in the interconnect structures of dynamic integrated circuits (ICs) such as dynamic programmable logic devices (PLDs). An exemplary IC includes two or more logic circuits, and two or more self-resetting interconnect driver circuits coupled between the logic circuits. Each self-resetting interconnect driver circuit includes a multiplexer circuit driving a buffer circuit. In a first state, the buffer circuit drives a first value onto the output terminal of the buffer circuit. In a second state, the buffer circuit first drives a second value onto the output terminal of the buffer circuit and then returns to the first state. Several different circuits are described in detail.
    Type: Grant
    Filed: October 2, 2006
    Date of Patent: June 3, 2008
    Assignee: Xilinx, Inc.
    Inventors: Steven P. Young, Ramakrishna K. Tanikella, Manoj Chirania, Venu M. Kondapalli
  • Patent number: 7378869
    Abstract: A lookup table (LUT) is programmable to function as a flip-flop. The LUT includes a plurality of memory cells, a plurality of transmission gates, and first and second logic gates. The transmission gates are coupled between the memory cells and an output terminal of the LUT to form a multiplexer circuit selecting one of a plurality of values stored in the memory cells and providing the selected value to the output terminal. First and second logic gates are included in two of the paths through the multiplexer, also providing first and second feedback paths within the LUT. These feedback paths enable the programmable implementation of first and second latches that form the flip-flop. Another subset of the memory cells can be optionally used to implement a function that drives the data input of the flip-flop.
    Type: Grant
    Filed: March 20, 2007
    Date of Patent: May 27, 2008
    Assignee: Xilinx, Inc.
    Inventors: Manoj Chirania, Martin L. Voogel