Patents by Inventor Prasanna Sundararajan

Prasanna Sundararajan 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: 8468510
    Abstract: Approaches for generating a hardware specification from a high-level language (HLL) program. In one approach, a method determines separate accesses in the HLL program to multiple consecutively addressed data items. The HLL program is compiled into an intermediate language program to include one or more instructions that perform functions on the multiple consecutively addressed data items and one or more memory access instructions that reference the consecutively addressed data items. The method generates a hardware specification from the intermediate language program. The hardware specification includes a cache memory that caches the consecutively addressed data items and that accesses the consecutively addressed data items in response to a single access request. The specification further includes one or more hardware blocks that implement the functions of the instructions in the intermediate language program.
    Type: Grant
    Filed: July 23, 2009
    Date of Patent: June 18, 2013
    Assignee: Xilinx, Inc.
    Inventors: Prasanna Sundararajan, Andrew R. Putnam, David W. Bennett
  • Patent number: 8443344
    Abstract: Approaches for generating a hardware definition from a program specified in a high-level language. In one approach, a first set of blocks of instructions in the high-level language program is identified. Each block in the first set is bounded by a respective loop designation in the high-level language. For each block in the first set, an associated respective second set of one or more blocks of the program is identified. Each block in the second set is outside the block in the first set. A hardware definition of the program is generated and stored. For each block in the first set, the hardware definition specifies power-reducing circuitry for one or more blocks in the associated second set. The power-reducing circuitry is controlled based on a status indication from the hardware definition of the block in the first set.
    Type: Grant
    Filed: September 25, 2008
    Date of Patent: May 14, 2013
    Assignee: Xilinx, Inc.
    Inventors: Prasanna Sundararajan, Tim Tuan
  • Patent number: 8104011
    Abstract: A method of circuit design for an integrated circuit (IC) can include identifying a plurality of routing resources, wherein each of the plurality of routing resources is associated with a reliability measure, and selecting routing resources for use in routing a circuit design for the according to, at least in part, the reliability measures. The circuit design for the can be routed using the selected routing resources.
    Type: Grant
    Filed: March 21, 2008
    Date of Patent: January 24, 2012
    Assignee: Xilinx, Inc.
    Inventors: Prasanna Sundararajan, Carter Hamilton, Ian L. McEwen
  • Patent number: 7971072
    Abstract: A method and system are disclosed. The system includes a trusted loader. The method includes downloading an IP core from a vendor to a target device. The IP core is received in an encrypted form at the target device, which can be, for example, a programmable logic device.
    Type: Grant
    Filed: March 10, 2005
    Date of Patent: June 28, 2011
    Assignee: Xilinx, Inc.
    Inventors: Adam P. Donlin, Prasanna Sundararajan, Bernard J. New
  • Patent number: 7930662
    Abstract: Approaches for generating a design of an electronic system are disclosed. In one approach, for each of one or more components of a first specification of the design, an error mitigation technique is selected from among multiple different error mitigation techniques in response to user-specified data associated with the first specification of the design. A second specification of the design is automatically generated from the first specification. The second specification includes error mitigation logic corresponding to each selected error mitigation technique for each of the one or more components. The second specification of the design is stored for subsequent processing.
    Type: Grant
    Filed: November 4, 2008
    Date of Patent: April 19, 2011
    Assignee: Xilinx, Inc.
    Inventors: Prasanna Sundararajan, John D. Corbett, David W. Bennett, Jeffrey M. Mason
  • Patent number: 7852107
    Abstract: In one embodiment of the invention, a method is provided for protecting against single event upsets of a circuit in programmable logic. Configuration memory cells of the programmable logic are configured to implement first and second copies of the circuit. In response to detecting a single event upset of one of the configuration memory cells, an address of the one of the configuration memory cells is determined. The one of the first and second copies of the circuit in which the single event upset occurred is determined from the address of the one of the configuration memory cells. The output from the one of the first and second copies of the circuit in which the single event upset did not occur is selected as an output of the circuit.
    Type: Grant
    Filed: February 18, 2010
    Date of Patent: December 14, 2010
    Assignee: Xilinx, Inc.
    Inventor: Prasanna Sundararajan
  • Patent number: 7813912
    Abstract: A method of profiling a hardware system can include compiling a high level language program into an assembly language representation of the hardware system and translating instructions of the assembly language representation of the hardware system into a plurality of executable, software models. The models can be implemented using a high level modeling language for use with cycle accurate emulation. The method also can include instrumenting at least one of the plurality of models with code that, when executed, provides operating state information relating to the model as output and indicating expected behavior of the circuit by executing the models in an emulation environment.
    Type: Grant
    Filed: February 14, 2007
    Date of Patent: October 12, 2010
    Assignee: Xilinx, Inc.
    Inventor: Prasanna Sundararajan
  • Patent number: 7788502
    Abstract: A method and system are disclosed. The system includes a trusted loader. The method includes downloading an IP core from a vendor to a target device. The IP core is received in an encrypted form at the target device, which can be, for example, a programmable logic device.
    Type: Grant
    Filed: March 10, 2005
    Date of Patent: August 31, 2010
    Assignee: Xilinx, Inc.
    Inventors: Adam P. Donlin, Prasanna Sundararajan, Bernard J. New
  • Patent number: 7764081
    Abstract: A Programmable Logic Device (PLD) is provided with configuration memory cells displaying a superior soft error immunity by combating single event upsets (SEUs) as the configuration memory cells are regularly refreshed from non-volatile storage depending on the rate SEUs may occur. Circuitry on the PLD uses a programmable timer to set a refresh rate for the configuration memory cells. Because an SEU which erases the state of a small sized memory cell due to collisions with cosmic particles may take some time to cause a functional failure, periodic refreshing will prevent the functional failure. The configuration cells can be DRAM cells which occupy significantly less space than the SRAM cells. Refresh circuitry typically provided for DRAM cells is reduced by using the programming circuitry of the PLD. Data in the configuration cells of the PLD are reloaded from either external or internal soft-error immune non-volatile memory.
    Type: Grant
    Filed: August 5, 2005
    Date of Patent: July 27, 2010
    Assignee: Xilinx, Inc.
    Inventors: Tim Tuan, Prasanna Sundararajan
  • Patent number: 7689726
    Abstract: Method and apparatus for encoding configuration data is described. An integrated circuit device having a configuration interface is coupled to boot memory coupled at the configuration interface. The boot memory contains boot cores for configuring the integrated circuit device via the configuration interface. The boot cores include a configuration encoder core and an internal processor interface core. The boot cores may further include a processor core. The configuration encoder core provides a peripheral interface internal to the integrated circuit device, and the boot memory contains at least one set of instructions for encoding configuration data read from configuration memory. The encoded configuration data may be sent via the peripheral interface. Alternatively, configuration encoder core may include a configuration bitstream for instantiating an encoder in configurable resources for encoding readback configuration data.
    Type: Grant
    Filed: October 1, 2004
    Date of Patent: March 30, 2010
    Assignee: Xilinx, Inc.
    Inventors: Prasanna Sundararajan, Brandon J. Blodget, Scott P. McMillan, Philip B. James-Roxby, Eric R. Keller
  • Patent number: 7539914
    Abstract: Configuration memory cells in an integrated circuit (IC) may be corrupted by cosmic radiation and other sources, causing improper operation of the IC. Reliability of an IC is improved by refreshing subsets, such as frames, of the configuration data according to a schedule that has one subset being refreshed more frequently than another subset. For each subset of the configuration data, a respective indicator is determined that indicates whether a subset of configuration memory of the IC requires refreshing with the subset of configuration data. The indicator may be a probability that corruption of the subset of configuration memory results in improper operation. A schedule for refreshing the subsets of configuration memory is generated from the indicators. The subsets of configuration memory are refreshed according to the schedule, with one subset being refreshed more frequently than another subset.
    Type: Grant
    Filed: January 17, 2006
    Date of Patent: May 26, 2009
    Assignee: Xilinx, Inc.
    Inventors: Prasanna Sundararajan, Jorn W. Janneck
  • Patent number: 7519823
    Abstract: Various approaches for embedding identifier information in a configuration bitstream for a programmable logic device (PLD) are disclosed. In various embodiments, the bits in the configuration bitstream that are unused in implementing a the design are identified. The identifier information is encrypted, and a subset of the unused bits are selected using a pseudo-random function. The encrypted identifier information is placed in the selected subset of unused bits. Decryption is accomplished by reversing the encryption approach.
    Type: Grant
    Filed: August 12, 2004
    Date of Patent: April 14, 2009
    Assignee: XILINX, Inc.
    Inventors: Paul R. Schumacher, Robert D. Turney, Mark Paluszkiewicz, Prasanna Sundararajan, Brandon J. Blodget
  • Patent number: 7406673
    Abstract: A method and system are disclosed. The method and system provide the ability to identify a configuration bit as an essential configuration bit. The identifying that is performed uses a configuration bit definition.
    Type: Grant
    Filed: August 12, 2004
    Date of Patent: July 29, 2008
    Assignee: Xilinx, Inc.
    Inventors: Cameron D. Patterson, Prasanna Sundararajan, Brandon J. Blodget, Scott P. McMillan
  • 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: 7367007
    Abstract: A method of circuit design for a programmable logic device (PLD) can include identifying a plurality of routing resources, wherein each of the plurality of routing resources is associated with a reliability measure, and selecting routing resources for use in routing a circuit design for the PLD according to, at least in part, the reliability measures. The circuit design for the PLD can be routed using the selected routing resources.
    Type: Grant
    Filed: June 29, 2005
    Date of Patent: April 29, 2008
    Assignee: Xilinx, Inc.
    Inventors: Prasanna Sundararajan, Carter Hamilton, Ian L. McEwen
  • Patent number: 7343578
    Abstract: A method and system for generating a bitstream view of a programmable logic device (PLD) design are disclosed. The present invention allows for the correlation of a physical circuit description (e.g., one or more of a PLD design's essential configuration bits) and a logical circuit description (e.g., one or more of the logic elements that make up a PLD design), which can also be viewed as correlating one or more of the physical elements of the design's implementation in the PLD with one or more of the design's logical elements.
    Type: Grant
    Filed: August 12, 2004
    Date of Patent: March 11, 2008
    Assignee: Xilinx, Inc.
    Inventors: Cameron D. Patterson, Prasanna Sundararajan, Brandon J. Blodget, Scott P. McMillan
  • Patent number: 7328335
    Abstract: Method and apparatus for decoding configuration data is described. A programmable logic device having a configuration interface is coupled to boot memory coupled at the configuration interface. The boot memory contains boot cores for configuring the programmable logic device via the configuration interface. The boot cores include a configuration decoder core and an internal processor interface core. The boot cores may further include a processor core. The configuration decoder core provides a peripheral interface internal to the programmable logic device, and the boot memory contains at least one set of instructions for decoding encoded data and at least one library for writing decoded encoded data to configuration memory of the programmable logic device. The encoded data is obtained from data memory via the peripheral interface.
    Type: Grant
    Filed: October 1, 2004
    Date of Patent: February 5, 2008
    Assignee: Xilinx, Inc.
    Inventors: Prasanna Sundararajan, Brandon J. Blodget, Scott P. McMillan, Philip B. James-Roxby, Eric R. Keller
  • Patent number: 7249010
    Abstract: Methods of estimating the susceptibility to single event upsets (SEUs) of a design implemented in an FPGA. In an FPGA, many of the configuration memory cells could change state in response to an SEU without affecting the functionality of a design implemented in the FPGA. According to the methods of the invention, the number of “care bits” (bits associated with resources actually used in the design) is determined. The number of care bits as a proportion of the total number of configuration memory cells in the FPGA determines the “SEU Probability Impact” (SEUPI) value. The “Mean Time Between Upsets” (MTBU) value is an estimate of how much time will elapse, on average, before one of the configuration memory cells in the FPGA is affected by an SEU. To obtain the “Mean Time Between Failures” for the design implemented in the FPGA, the MTBU value is divided by the SEUPI value.
    Type: Grant
    Filed: April 3, 2003
    Date of Patent: July 24, 2007
    Assignee: Xilinx, Inc.
    Inventors: Prasanna Sundararajan, Carl H. Carmichael, Scott P. McMillan, Brandon J. Blodget, Cameron D. Patterson
  • Patent number: 7227378
    Abstract: A method of partially reconfiguring an IC having programmable modules that includes the steps of reading a frame of configuration information from the configuration memory array; modifying at least part of the configuration information, thereby creating a modified frame of configuration information; and overwriting the existing frame of configuration information in the configuration memory array with the modified frame, thereby partially reconfiguring the IC.
    Type: Grant
    Filed: April 7, 2005
    Date of Patent: June 5, 2007
    Assignee: Xilinx, Inc.
    Inventors: Brandon J. Blodget, Scott P. McMillan, Philip B. James-Roxby, Prasanna Sundararajan, Eric R. Keller, Derek R. Curd, Punit S. Kalra, Richard J. LeBlanc, Vincent P. Eck
  • 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