Patents by Inventor Raymond C. Pang

Raymond C. Pang has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 6965675
    Abstract: It is sometimes desirable to encrypt a design for loading into a PLD so that an attacker may not learn and copy the design as it is being written into the PLD. It is desirable that decryption keys be stored within the PLD, and that they be loaded conveniently before a board including the PLD is sold. The invention allows the PLD to be placed into a printed circuit board and the board to be tested using a JTAG port of the PLD, and then allows the decryption keys to be loaded into a key memory using the JTAG port. Loading of the keys can be performed without also loading of a design into the PLD. Loading may be performed without the use of a device programmer.
    Type: Grant
    Filed: November 28, 2000
    Date of Patent: November 15, 2005
    Assignee: Xilinx, Inc.
    Inventors: Stephen M. Trimberger, Raymond C. Pang, John M. Thendean
  • Patent number: 6957340
    Abstract: It is sometimes desirable to protect a design used in a PLD from being copied. If the design is stored in a different device from the PLD and read into the PLD through a bitstream, an unencrypted bitstream could be observed and copied as it is being loaded. According to the invention, a bitstream for configuring a PLD with an encrypted design includes unencrypted words for controlling loading of the configuration bitstream and encrypted words that actually specify the design.
    Type: Grant
    Filed: November 28, 2000
    Date of Patent: October 18, 2005
    Assignee: Xilinx, Inc.
    Inventors: Raymond C. Pang, Stephen M. Trimberger, Jennifer Wong
  • Patent number: 6931543
    Abstract: To prevent copying of a design implemented in a programmable logic device (PLD), the PLD itself stores a decryption key or keys loaded by the designer, and includes a decryptor for decrypting an encrypted configuration bitstream as it is loaded into the PLD. The PLD also includes logic for reading header information that indicates whether the bitstream is encrypted, and can accept both encrypted and unencrypted bitstreams. The encryption keys may be stored in non-volatile memory or backed up with a battery so that they are retained when power is removed.
    Type: Grant
    Filed: November 28, 2000
    Date of Patent: August 16, 2005
    Assignee: Xilinx, Inc.
    Inventors: Raymond C. Pang, Walter N. Sze, Jennifer Wong, Stephen M. Trimberger, John M. Thendean, Kameswara K. Rao
  • Patent number: 6897676
    Abstract: A programmable logic device (PLD) includes columns of block memory interposed between columns of configurable logic blocks (CLBs). Each column of block memory includes a plurality of random access memories (RAMs) that share common configuration address lines that do not allow the RAMs in block memory column to be individually addressed. For some embodiments, each RAM in the column includes interface logic that selectively enables the RAM during configuration operations in response to a configuration enable bit, which may be provided to the PLD in a configuration bitstream and stored in a shadow register associated with the RAM.
    Type: Grant
    Filed: June 4, 2003
    Date of Patent: May 24, 2005
    Assignee: Xilinx, Inc.
    Inventor: Raymond C. Pang
  • Patent number: 6664837
    Abstract: A delay circuit has a delay that is consistent under varying process and temperature conditions. The delay through a delay path is controlled by inserting resistors on the pull-up and pull-down paths of the delaying inverters. Each resistor has a resistance value that is determined by a varying a number of enabled similarly-sized transistors coupled in parallel across the resistor, rather than by varying the size of a single transistor. In one embodiment, a first transistor in each resistor is always enabled, while additional transistors are enabled using select signals. In one embodiment, the select signals are provided by configuration memory cells in a PLD. Other embodiments include additional delay paths and a multiplexer circuit that selects one of the delay paths. The described delay circuit is particularly useful in a DLL trim unit, where variations between resistors can cause jitter and locking problems in the DLL.
    Type: Grant
    Filed: September 18, 2002
    Date of Patent: December 16, 2003
    Assignee: Xilinx, Inc.
    Inventors: Kwansuhk Oh, Raymond C. Pang
  • Patent number: 6441641
    Abstract: A PLD can be manufactured to include power supply lines from two sources so that a portion of the PLD can be backed up with a battery when power to the PLD is removed. A switch that supplies power to the backed up portion of the PLD receives power from both an external power supply and from the battery, and detects voltage level of the external power supply, switching to battery power when voltage from the external power supply is not sufficient.
    Type: Grant
    Filed: November 28, 2000
    Date of Patent: August 27, 2002
    Assignee: Xilinx, Inc.
    Inventors: Raymond C. Pang, Venu M. Kondapalli, Jane W. Sowards, Scott O. Frake, Jennifer Wong, F. Erich Goetting, Peter H. Alfke, Schuyler E. Shimanek
  • Patent number: 6373779
    Abstract: A dedicated block random access memory (RAM) is provided for a programmable logic device (PLD), such as a field programmable gate array (FPGA). The block RAM includes a memory cell array and control logic that is configurable to select one of a plurality of write modes for accessing the memory cell array. In one embodiment, the write modes include a write with write-back mode, a write without write-back mode, and a read then write mode. The control logic selects the write mode in response to configuration bits stored in corresponding configuration memory cells of the PLD. The configuration bits are programmed during configuration of the PLD. In one variation, the control logic selects the write mode in response to user signals. In a particular embodiment, the block RAM is a dual-port memory having a first port and a second port. In this embodiment, the first and second ports can be independently configured to have different (or the same) write modes.
    Type: Grant
    Filed: May 19, 2000
    Date of Patent: April 16, 2002
    Assignee: Xilinx, Inc.
    Inventors: Raymond C. Pang, Steven P. Young
  • Patent number: 6366117
    Abstract: It is sometimes desirable to encrypt a design for loading into a PLD so that an attacker may not learn and copy the design as it is being copied into the PLD. According to the invention, the encrypted design is decrypted by a key or keys within the PLD that are preserved when power is removed by either being stored in nonvolatile memory or by being backed up with a battery that switches into operation when the power is removed from the PLD.
    Type: Grant
    Filed: November 28, 2000
    Date of Patent: April 2, 2002
    Assignee: Xilinx, Inc.
    Inventors: Raymond C. Pang, Jennifer Wong, Scott O. Frake, Jane W. Sowards, Venu M. Kondapalli, F. Erich Goetting, Stephen M. Trimberger, Kameswara K. Rao
  • 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: 6346825
    Abstract: A dedicated block random access memory (RAM) is provided for a programmable logic device (PLD), such as a field programmable gate array (FPGA). The block RAM includes a memory cell array and control logic that is configurable to select one of a plurality of parity or non-parity modes for accessing the memory cell array. In one embodiment, the non-parity modes include a 1×16384 mode, a 2×8192 mode, and a 4×4096 mode, while the parity modes include a 9×2048 mode, a 18×1024 mode and an 36×512 mode. The control logic selects the parity/non-parity mode in response to configuration bits stored in corresponding configuration memory cells of the PLD. The configuration bits are programmed during configuration of the PLD. In one variation, the control logic selects the parity/non-parity mode in response to user signals. In a particular embodiment, the block RAM is a dual-port memory having a first port and a second port.
    Type: Grant
    Filed: October 6, 2000
    Date of Patent: February 12, 2002
    Assignee: Xilinx, Inc.
    Inventors: Raymond C. Pang, Steven P. Young, Trevor J. Bauer
  • Patent number: 6282127
    Abstract: A RAM block includes a circuit for causing the RAM to provide a reset value on the output or a previously captured output value from the RAM when a Reset signal is active. The Reset signal does not change the RAM contents but causes all outputs of the block RAM to be either a reset value or a capture value, as selected by the user. This is useful when the RAM block is configured as a state machine. Thus, in an FPGA or other programmable device, an application can start the state machine in a known state with all address bits equal to 0 and can reset the state machine to this startup state. When the reset signal is active, the state machine can feed back the reset value or capture value to the address inputs of the RAM block that receive state feedback data, regardless of the data actually in those locations.
    Type: Grant
    Filed: July 24, 2000
    Date of Patent: August 28, 2001
    Assignee: Xilinx, Inc.
    Inventors: Raymond C. Pang, Steven P. Young, Trevor J. Bauer
  • Patent number: 6134517
    Abstract: A method of implementing a boundary scan chain is provided using a programmable IC that includes dedicated boundary scan logic having a programmable boundary scan bit-order. Boundary scan cells are provided, each cell being capable of providing the boundary scan functions associated with one I/O pad. In a mask programmable device, dedicated tracks are provided for adding mask programmable interconnect lines. In other programmable ICs such as FPGAs or PLDs, programmable interconnect lines are provided. In either case, the interconnect lines are used to implement the boundary scan data chain. Using these lines, the programmed device can "swap the order" of I/O cells in the boundary scan data chain, or leave cells out of the chain entirely. In one embodiment, the interconnect lines traverse each cell, programmably connecting the data inputs and outputs of adjacent or non-adjacent boundary scan cells.
    Type: Grant
    Filed: August 26, 1999
    Date of Patent: October 17, 2000
    Assignee: Xilinx, Inc.
    Inventors: Glenn A. Baxter, Kiran B. Buch, Raymond C. Pang, Edwin S. Law
  • Patent number: 6120551
    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: September 29, 1997
    Date of Patent: September 19, 2000
    Assignee: Xilinx, Inc.
    Inventors: Edwin S. Law, Kiran B. Buch, Glenn A. Baxter, Raymond C. Pang
  • Patent number: 5991908
    Abstract: A programmable IC is provided that includes dedicated boundary scan logic having a programmable boundary scan bit-order. Boundary scan cells are provided, each cell being capable of providing the boundary scan functions associated with one I/O pad. In a mask programmable device, dedicated tracks are provided for adding mask programmable interconnect lines. In other programmable ICs such as FPGAs or PLDs, programmable interconnect lines are provided. In either case, the interconnect lines are used to implement the boundary scan data chain. Using these lines, the programmed device can "swap the order" of I/O cells in the boundary scan data chain, or leave cells out of the chain entirely. In one embodiment, the interconnect lines traverse each cell, programmably connecting the data inputs and outputs of adjacent or non-adjacent boundary scan cells.
    Type: Grant
    Filed: September 29, 1997
    Date of Patent: November 23, 1999
    Assignee: Xilinx, Inc.
    Inventors: Glenn A. Baxter, Kiran B. Buch, Raymond C. Pang, Edwin S. Law