Patents Represented by Attorney Lois D. Cartier
  • Patent number: 6434642
    Abstract: A structure and method for operating an asynchronous first in, first out (FIFO) memory system in which the full or empty condition of the memory is determined by comparing a currently-generated write address with a currently-generated read address and a next-to-be-used read address. The current write address and current read address are transmitted from a write address counter and a read address counter, respectively, to a flag control circuit. The flag control circuit includes registers for storing Gray-code versions of the current write address, the current read address, and the next-to-be-used read address, which is determined from the current read address. The flag control circuit generates intermediate ALMOST_EMPTY and ALMOST_FULL signals when the FIFO memory is one data value from being “empty” and “full”, respectively.
    Type: Grant
    Filed: October 7, 1999
    Date of Patent: August 13, 2002
    Assignee: Xilinx, Inc.
    Inventors: Nicolas J. Camilleri, Peter H. Alfke, Christopher D. Ebeling
  • Patent number: 6429682
    Abstract: A bus interface circuit for a programmable logic device (PLD) including an interface multiplexer connected between two or more external communication circuits and a configuration memory array. The interface multiplexer coordinates communication between a selected one of the external communication circuits and a packet processor. The packet processor interprets command/data information transmitted in a bit stream from the selected external communication circuit. In a default state, the interface multiplexer connects dual-purpose input/output pins of the PLD to the packet processor. In an alternative state, the interface multiplexer connects a JTAG interface circuit to the packet processor to facilitate configuration operations through the JTAG pins of the PLD.
    Type: Grant
    Filed: May 25, 2001
    Date of Patent: August 6, 2002
    Assignee: Xilinx, Inc.
    Inventors: David P. Schultz, Lawrence C. Hung, F. Erich Goetting
  • Patent number: 6414871
    Abstract: Programmable devices and methods of programming programmable devices are described. In one embodiment, a complex programmable logic device (CPLD) is programmed by a remote host programming unit that provides the configuration data over a data communications link into a first data-holding location on the device all at one time. The device is then locally programmed under the influence of a controller that causes the configuration data in the first data-holding location to be written or copied to a second data-holding location on the device. In one embodiment, the first data-holding location is a rapidly programmed temporary memory (e.g., RAM), while the second data-holding location is a non-volatile memory that takes much longer to program (e.g., EEPROM or flash memory) and actually controls the device functionality. This technique frees up the host programming unit and the data communications link to attend to other matters, such as providing configuration data to other programmable devices.
    Type: Grant
    Filed: July 21, 2000
    Date of Patent: July 2, 2002
    Assignee: Xilinx, Inc.
    Inventors: Frank C. Wirtz, II, Lois D. Cartier
  • Patent number: 6415032
    Abstract: A method is provided for generating a pseudo-random sequence of integers, and the method is applied to the encryption of messages. The method uses a key K and a pair of prime numbers p and q, where q=2p+1. According to one aspect of the invention, a sequence of integers is formed. A sequence of bits is then formed from the sequence of integers, e.g., by selecting the least significant bit from each integer value. The sequence of bits is then used to encrypt a message using a selected encryption algorithm such as the XOR algorithm. Since prime numbers p and q can be selected to be larger than key K, the repeating period of the sequence of integers is larger than that permitted by the bit length of K.
    Type: Grant
    Filed: December 1, 1998
    Date of Patent: July 2, 2002
    Assignee: Xilinx, Inc.
    Inventor: Charles M. Doland
  • Patent number: 6407612
    Abstract: An input signal latching circuit for suppressing the effect of any ringing or other irregularities that occur within a specified time period after a transitional voltage level is reached, without significantly delaying the propagation of the input signal.
    Type: Grant
    Filed: October 30, 2000
    Date of Patent: June 18, 2002
    Assignee: Xilinx, Inc.
    Inventor: Peter H. Alfke
  • Patent number: 6405269
    Abstract: A comparator circuit for detecting full and empty conditions in a first-in first-out (FIFO) memory system. The comparator circuit includes two-input logic circuits for comparing selected read and write addresses. An almost-empty condition is detected by comparing a next-to-be-used read address value with a currently-used write address value. When these address values are equal, high logic signals are passed by a set of mode control multiplexers to the select terminals of a series of carry chain multiplexers, thereby causing a high logic value to be transmitted to a data input terminal of a first register. The first register latches the high logic signal at the next rising edge of the read clock signal, thereby generating a high EMPTY control signal immediately after a final data value is read from the memory.
    Type: Grant
    Filed: May 9, 2000
    Date of Patent: June 11, 2002
    Assignee: Xilinx, Inc.
    Inventors: Nicolas J. Camilleri, Christopher D. Ebeling
  • Patent number: 6401148
    Abstract: A system and method for operating an asynchronous first in, first out (FIFO) memory system in which the amount of data stored in a FIFO memory is determined by re-synchronizing a binary read address from a read clock signal to a write clock signal, then subtracting the write-synchronized read address from the binary write address. The FIFO memory system includes the FIFO memory, read and write address counters for generating the binary read address and binary write address, respectively, and a write synchronization circuit. The binary read address is converted into a Gray-code value which is then synchronized to the write clock signal. The write-synchronized Gray-code read address value is then re-converted to binary to form the write-synchronized read address.
    Type: Grant
    Filed: May 9, 2000
    Date of Patent: June 4, 2002
    Assignee: Xilinx, Inc.
    Inventor: Nicolas J. Camilleri
  • Patent number: 6400180
    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: May 18, 2001
    Date of Patent: June 4, 2002
    Assignee: Xilinix, Inc.
    Inventors: Ralph D. Wittig, Sundararajarao Mohan, Bernard J. New
  • Patent number: 6396302
    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: May 18, 2001
    Date of Patent: May 28, 2002
    Assignee: Xilinx, Inc.
    Inventors: Bernard J. New, Ralph D. Wittig, Sundararajarao Mohan
  • Patent number: 6396303
    Abstract: The programmable interconnect points (PIPS) associated with each tile of an FPGA are programmed in response to configuration data values stored in an array of configuration memory cells. Configuration memory cells that control the configuration of the interconnect structure of the tile are located in a rectangular block within the array. For example, the configuration memory cells that control the configuration of the interconnect structure may be located in several rows of the array. This configuration enables the interconnect structure of the tile to be easily modified. To add more interconnect lines to the FPGA, the additional interconnect lines and their associated PIPs are added to the interconnect structure, and the configuration memory cells required to program the PIPs are added as additional rows in the configuration memory cell array. The pattern of configuration memory cells remains unchanged, except for the added rows of configuration memory cells.
    Type: Grant
    Filed: July 27, 1999
    Date of Patent: May 28, 2002
    Assignee: Xilinx, Inc.
    Inventor: Steven P. Young
  • Patent number: 6388946
    Abstract: A circuit and method are provided for stress-testing EEPROMS by incrementally selecting and deselecting word lines. The circuit of the invention comprises a memory cell array, a set of decoders for decoding a memory address bus and controlling word lines for the memory cell array, a control circuit, and a shift register driven by the control circuit. Each bit of the shift register has the capability of overriding a group of one or more of the decoders. When the initiation signal is received by the control circuit, a state control bit is set high and is clocked through the shift register. The high bit overrides successive groups of decoders as it is shifted through the shift register, until all word lines in the memory cell array are selected. After the stress test has been performed, the state control bit is returned to zero and is cycled through the shift register on successive clock cycles, incrementally deselecting groups of word lines until all word lines are deselected.
    Type: Grant
    Filed: May 31, 2000
    Date of Patent: May 14, 2002
    Assignee: Xilinx, Inc.
    Inventors: Phillip H. McGibney, Michael G. Ahrens
  • Patent number: 6388466
    Abstract: A logic element for a programmable logic device (PLD) can be configured as a shift register of variable length. An array of memory cells in the logic element is divided into two or more portions. The memory cells of each portion supply values to a corresponding output multiplexing circuit, thereby enabling the logic element to function as a lookup table by combining the outputs of the multiplexing circuits. However, each portion is also configurable as a shift register. The portions can function as separate shift registers, or can be concatenated to function as a single shift register. In some embodiments, the portions can also be concatenated with shift registers in other logic elements. Because two or more output multiplexing circuits are available, two or more taps are provided, one from each portion of the memory array.
    Type: Grant
    Filed: April 27, 2001
    Date of Patent: May 14, 2002
    Assignee: Xilinx, Inc.
    Inventors: Ralph D. Wittig, Sundararajarao Mohan, Bernard J. New
  • Patent number: 6389490
    Abstract: A first in, first out (FIFO) memory system and method in which the full or empty condition of the FIFO memory is detected before the FIFO memory is actually full or empty, thereby allowing the generation of FULL or EMPTY control signals immediately after a last data value is written into or from the FIFO memory. An almost-empty condition, is detected by comparing the read address and write address values. When the read and write address values indicate that one data value remains in the FIFO memory and a read operation is about to be performed, an ALMOST_EMPTY control signal is applied to a data input terminal of a first register that is clocked by a read clock signal. The ALMOST_EMPTY control signal is latched by the first register at the next rising edge of a read clock signal, thereby causing the register to generate a high EMPTY control signal in the same read clock cycle during which the last data value is read from the FIFO memory.
    Type: Grant
    Filed: May 9, 2000
    Date of Patent: May 14, 2002
    Assignee: Xilinx, Inc.
    Inventors: Nicolas J. Camilleri, Peter H. Alfke
  • Patent number: 6373308
    Abstract: A delay-lock loop (DLL) circuit and method that accept an input clock signal and a feedback clock signal, and provide the necessary additional delay to synchronize the feedback clock signal to the input clock signal. A single synchronization step is sufficient, provided that the frequency of the input clock signal is stable. Further, only one delay line is required to implement the DLL circuit. Therefore, the DLL of the present invention is both quick to “lock in” a clock signal and efficient in the use of hardware resources. Further, the present DLL is very accurate, because the same delay line is used to calculate the necessary additional delay and to generate the output clock signal.
    Type: Grant
    Filed: January 5, 2001
    Date of Patent: April 16, 2002
    Assignee: Xilinx, Inc.
    Inventor: Andy T. Nguyen
  • Patent number: 6367041
    Abstract: A method and software apparatus for implementing a dynamically modifiable test flow for integrated circuit devices that adapts to the characteristics of each processed device lot. A modified set of tests sufficient to ensure proper device function for a particular lot is performed, reducing test costs and increasing test capacity. The method and system of the invention periodically samples a predetermined sample number of devices using a full set of tests including a set of skippable tests. Depending upon the performance characteristics of the sample device group on the skippable tests, a number of skippable tests are skipped during a modified test flow. After a next set of devices is tested using the modified test flow, the full set of tests is again performed on another sample group, and the size and makeup of the modified test flow is adjusted according to the new results.
    Type: Grant
    Filed: September 26, 2000
    Date of Patent: April 2, 2002
    Assignee: Xilinx, Inc.
    Inventors: Mihai G. Statovici, Ronald J. Mack
  • Patent number: 6362648
    Abstract: The invention allows the implementation of common wide logic functions using only two function generators of a field programmable gate array. One embodiment of the invention provides a structure for implementing a wide AND-gate in an FPGA configurable logic element (CLE) or portion thereof that includes no more than two function generators. First and second function generators are configured as AND-gates, the output signals (first and second AND signals) being combined in a 2-to-1 multiplexer controlled by the first AND signal, “0” selecting the first AND signal and “1” selecting the second AND signal. Therefore, a wide AND-gate is provided having a number of input signals equal to the total number of input signals for the two function generators. In another embodiment, a wide OR-gate is provided by configuring the function generators as OR-gates and controlling the multiplexer using the second OR signal.
    Type: Grant
    Filed: November 13, 2000
    Date of Patent: March 26, 2002
    Assignee: Xilinx, Inc.
    Inventors: Bernard J. New, Steven P. Young, Shekhar Bapat, Kamal Chaudhary, Trevor J. Bauer, Roman Iwanczuk
  • Patent number: 6359248
    Abstract: The invention provides methods for marking packaged ICs. In a first embodiment, only the minimum performance information is first marked on the package, regardless of the actual performance of the IC. This method avoids a second marking step for all ICs sold as low-performance ICs. In another embodiment, only one inking and curing step is required for all ICs. According to this method, all specified performances are marked on the packaged IC at the first marking. The IC is then tested to determine the actual performance, and all performance markings not applicable to the IC are removed, preferably with a laser. Alternatively, all applicable performance markings are identified (e.g., underlined or enclosed with a laser marking).
    Type: Grant
    Filed: August 2, 1999
    Date of Patent: March 19, 2002
    Assignee: Xilinx, Inc.
    Inventor: Mohsen H. Mardi
  • Patent number: 6357037
    Abstract: A method is provided for configuring an FPGA to accept or reject selected software (macros). Specifically, if an end user desires to use a locked macro from a first macro vendor a locked macro from a second macro vendor in the same FPGA, a key manager prepares a keyed FPGA for the end user by pre-programming an FPGA with a first key, which is configured to unlock the first locked macro, and a second key, which is configured to unlock the second locked macro. The key manager obtains the first key from the first macro vendor and the second key from the second macro vendor. The keys are stored in a key table of the FPGA that is write-only from outside the FPGA. The end user pays a fee to the key manager for the keyed macro, but is not given access to the keys. The key manager apportions the fee from the end user and distributes appropriate licensing fees to the first macro vendor and the second macro vendor.
    Type: Grant
    Filed: January 14, 1999
    Date of Patent: March 12, 2002
    Assignee: Xilinx, Inc.
    Inventors: James L. Burnham, Gary R. Lawman, Joseph D. Linoff
  • Patent number: 6353921
    Abstract: A hybrid HardWire device is provided that comprises a gate array core and a set of mask programmable I/O cells having I/O characteristics similar to those of an FPGA, i.e., sufficiently the same so the HardWire device can be used as a drop-in replacement for the FPGA with no redesign of the original system. Using this HardWire device, a user's design originally implemented in an FPGA can be emulated in the HardWire device, which then replaces the FPGA in the same board at a lower cost. In another embodiment, the I/O cells are mask programmable such that they can emulate the I/O characteristics of FPGAs from any of two or more FPGA families. This ability reduces the number of separate HardWire devices that must be designed, manufactured, tested, stored, and sold, and also simplifies the software required to convert designs to the new device. Some embodiments of the invention can also emulate other programmable devices such as PLDs.
    Type: Grant
    Filed: April 28, 2000
    Date of Patent: March 5, 2002
    Assignee: Xilinx, Inc.
    Inventors: Edwin S. Law, Kiran B. Buch, Glenn A. Baxter, Raymond C. Pang
  • Patent number: 6327634
    Abstract: A novel system and method are provided for storing a configuration data file for a programmable logic device such as an FPGA and for loading such a file into the device. The system and method of the present invention improves the performance of a bitstream storage apparatus by compressing the bitstream by a factor of about 5:1 to 10:1 before loading the bitstream into a storage unit, and then decompressing the bitstream, preferably within the storage unit, before forwarding the bitstream to the programmable device. In one embodiment, the decompression circuit is programmable, being able to utilize any of two or more different algorithms. In this embodiment, several different compression algorithms are evaluated, and the most efficient algorithm for that particular bitstream is utilized.
    Type: Grant
    Filed: August 25, 1998
    Date of Patent: December 4, 2001
    Assignee: Xilinx, Inc.
    Inventor: Mihai G. Statovici