Patents by Inventor Cameron D. Patterson

Cameron D. Patterson 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: 8473754
    Abstract: A hardware-facilitated secure software execution environment provides protection of both program instructions and data against unauthorized access and/or execution to maintain confidentiality and integrity of the software or the data during distribution, in external memories, and during execution. The secure computing environment is achieved by using a hardware-based security method and apparatus to provide protection against software privacy and tampering. A Harvard architecture CPU core is instantiated on the same silicon chip along with encryption management unit (EMU) circuitry and secure key management unit (SKU) circuitry. Credential information acquired from one or more sources is combined by the SKU circuitry to generate one or more security keys provided to the EMU for use in decrypting encrypted program instructions and/or data that is obtained from a non-secure, off-chip source such as an external RAM, an information storage device or other network source.
    Type: Grant
    Filed: February 20, 2007
    Date of Patent: June 25, 2013
    Assignees: Virginia Tech Intellectual Properties, Inc., Macaulay-Brown, Inc.
    Inventors: Mark T. Jones, Peter M. Athanas, Cameron D. Patterson, Joshua N. Edmison, Anthony Mahar, Benjamin J. Muzal, Barry L. Polakowski, Jonathan P. Graf
  • Publication number: 20100122095
    Abstract: A hardware-facilitated secure software execution environment provides protection of both program instructions and data against unauthorized access and/or execution to maintain confidentiality and integrity of the software or the data during distribution, in external memories, and during execution. The secure computing environment is achieved by using a hardware-based security method and apparatus to provide protection against software privacy and tampering. A Harvard architecture CPU core is instantiated on the same silicon chip along with encryption management unit (EMU) circuitry and secure key management unit (SKU) circuitry. Credential information acquired from one or more sources is combined by the SKU circuitry to generate one or more security keys provided to the EMU for use in decrypting encrypted program instructions and/or data that is obtained from a non-secure, off-chip source such as an external RAM, an information storage device or other network source.
    Type: Application
    Filed: February 20, 2007
    Publication date: May 13, 2010
    Inventors: Mark T. Jones, Peter M. Athanas, Cameron D. Patterson, Joshua N. Edmison, Anthony Mahar, Benjamin J. Muzal, Barry L. Polakowski, Jonathan P. Graf
  • Patent number: 7669168
    Abstract: Method and apparatus for dynamically connecting modules within a programmable device is described. In an example, a programmable device is programmed with modular circuits. A bitstream is obtained from a database. The bitstream includes a first portion associated with a module and a second portion associated with an interface to the module. The bitstream is then modified with configuration data to connect the interface to one or more of the modular circuits. The programmable device is then configured using the modified bitstream.
    Type: Grant
    Filed: September 27, 2006
    Date of Patent: February 23, 2010
    Assignee: Xilinx, Inc.
    Inventor: Cameron D. Patterson
  • 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: 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: 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: 7143418
    Abstract: A method and apparatus for creating run-time reconfigurable cores using a core template package. The core template package provides an object-oriented application programming interface for specifying run-time reconfigurable (RTR) electronic circuit designs in a RTR application program. A run-time parameterizable (RTP) core library includes a plurality of predefined RTP core classes that implement selected functions in an electronic circuit design when invoked from an RTR application program. An RTP core template package includes a plurality of template classes. Each template class has a predefined set of method interfaces and fields. The RTP core template package further includes an RTP core template class that includes methods for building, connecting and traversing a hierarchy of RTP core objects based on the template classes and the predefined RTP core classes.
    Type: Grant
    Filed: December 10, 2001
    Date of Patent: November 28, 2006
    Assignee: Xilinx, Inc.
    Inventor: Cameron D. Patterson
  • Patent number: 7139995
    Abstract: Method and apparatus for integrating a run-time parameterizable logic core with a static circuit design. A configuration bitstream is generated from a main circuit design that is specified in a hardware description language. The main circuit design includes a first sub-circuit design that specifies a selected subset of resources of the PLD needed by the RTP core and an interface between the RTP core and other parts of the main circuit design. Via execution of a run-time reconfiguration control program, the configuration data that correspond to the first sub-circuit design are replaced with configuration data that implement the RTP core. The run-time reconfiguration program then configures the PLD with the updated configuration bitstream.
    Type: Grant
    Filed: March 19, 2002
    Date of Patent: November 21, 2006
    Assignee: Xilinx, Inc.
    Inventors: Philip B. James-Roxby, Daniel J. Downs, Russell J. Morgan, Cameron D. Patterson
  • Patent number: 7124391
    Abstract: Method and apparatus for dynamically connecting modules within a programmable logic device is described. In an example, a programmable logic device is programmed with modular circuits. A bitstream is obtained from a database. The bitstream includes a first portion associated with a module and a second portion associated with an interface to the module. The bitstream is then modified with configuration data to connect the interface to one or more of the modular logic circuits. The programmable logic device is then configured using the modified bitstream.
    Type: Grant
    Filed: April 30, 2003
    Date of Patent: October 17, 2006
    Assignee: Xilinx, Inc.
    Inventor: Cameron D. Patterson
  • Patent number: 7080226
    Abstract: Data is transferred on a field programmable gate array (FPGA) by (1) retrieving a first set of data from a first block RAM column of a configuration memory of the FPGA, (2) storing the first set of data retrieved from the first block RAM column in a frame data output register, (3) transferring the first set of data from the frame data output register directly to a frame data input register through a configuration bus of the FPGA, and (4) transferring the first set of data from the frame data input register to a second block RAM column of the configuration memory. The configuration bus is wide (e.g., 32-bits), thereby resulting in a high data transfer bandwidth.
    Type: Grant
    Filed: July 2, 2003
    Date of Patent: July 18, 2006
    Assignee: Xilinx, Inc.
    Inventor: Cameron D. Patterson
  • Patent number: 6802026
    Abstract: System and method for debugging a run-time reconfigurable processing arrangement. The processing arrangement includes a host process that hosts a run-time reconfiguration application program and a programmable logic device (PLD). The run-time reconfiguration program specifies a circuit design with references to core generators in a library, generates configuration data that implements the circuit design on the PLD, and configures the PLD with the configuration data. One of the core generators generates a breakpoint circuit that steps the PLD for a selected number of clock cycles. When the PLD is activated, the breakpoint circuit steps the PLD, and state information of one or more selected elements of the PLD is analyzed after stepping the PLD. Depending on the analysis, the breakpoint core generator is re-parameterized and the PLD reconfigured with a new breakpoint circuit to continue debugging.
    Type: Grant
    Filed: May 15, 2001
    Date of Patent: October 5, 2004
    Assignee: Xilinx, Inc.
    Inventors: Cameron D. Patterson, Timothy O. Price
  • Patent number: 6725441
    Abstract: A method and apparatus for generating a configuration bitstream for a programmable logic device using logic ports associated with logic cores. Logic ports are associated with respective ones of a plurality of logic cores, and logical connections are made between selected ones of the ports of the logic cores. Source pins, wherein a pin represents an output resource of a programmable element of the programmable logic device, are associated with selected ones of the ports. A sink pin represents an input resource of a programmable element of the programmable logic device, and sink pins are associated with selected ones of the ports. In response to a route programming interface call that references a source port and a sink port, bits for the configuration bitstream are generated for routing resources to connect selected ones of the source pins to selected ones of the sink pins. Usage of logic ports assists in runtime reconfiguration of logic.
    Type: Grant
    Filed: March 22, 2000
    Date of Patent: April 20, 2004
    Assignee: Xilinx, Inc.
    Inventors: Eric R. Keller, Cameron D. Patterson
  • Patent number: 6457164
    Abstract: The invention provides parametric modules called Self Implementing Modules (SIMs) for use in programmable logic devices such as FPGAS. The invention further provides tools and methods for generating and using SIMs. SIMs implement themselves at the time the design is elaborated, targeting a specified FPGA according to specified parameters. In one embodiment, a SIM references or includes one or more floorplanners each of which may employ one or more placement algorithms. Such placement algorithms might include, for example: a linear ordering algorithm that places datapath logic bitwise in a regular linear pattern; a rectangular mesh algorithm that implements memory in a grid pattern in distributed RAM; a columnar algorithm for counters and other arithmetic logic; or a simulated annealing algorithm for random logic such as control logic. Therefore, a design including more than one SIM can utilize a plurality of placement algorithms at the same or different levels of hierarchy.
    Type: Grant
    Filed: June 29, 2000
    Date of Patent: September 24, 2002
    Assignee: Xilinx, Inc.
    Inventors: L. James Hwang, Eric F. Dellinger, Sujoy Mitra, Sundararajarao Mohan, Cameron D. Patterson, Ralph D. Wittig
  • Patent number: 6430732
    Abstract: A method is provided for structured layout of design objects in a hardware description language (HDL). Standard features of the HDL are used to specify a first-level design object and the placement of other design objects in the first-level design object. A first-level design object is declared, wherein the first design object has no input or output ports and has one or more slots available for one or more second-level design objects. Values are assigned to attributes of the first-level design object to indicate placement for the second-level design objects within the first-level design object. The second-level design objects are declared as elements within the first-level design object, and the first- and second-level design objects are thereafter compiled.
    Type: Grant
    Filed: February 8, 1999
    Date of Patent: August 6, 2002
    Assignee: Xilinx, Inc.
    Inventors: L. James Hwang, Cameron D. Patterson, Sujoy Mitra
  • Patent number: 6408422
    Abstract: A method is provided for remapping logic modules to resources of a programmable gate array. Connections are specified between at least two logic modules, wherein each module has a respective floorplan that includes a set of circuit elements. A first set of resources of the programmable gate array is compared to a second set of resources, wherein the second set of resources are those resources required by the sets of circuit elements. If the first set of resources covers the second set of resources, the floorplans of the logic modules are combined into a single floorplan that maps to the first set of resources.
    Type: Grant
    Filed: January 19, 1999
    Date of Patent: June 18, 2002
    Assignee: Xilinx, Inc.
    Inventors: L. James Hwang, Cameron D. Patterson
  • Patent number: 6243851
    Abstract: The invention provides parametric modules called Self Implementing Modules (SIMs) for use in programmable logic devices such as FPGAs. The invention further provides tools and methods for generating and using SIMs. SIMs implement themselves at the time the design is elaborated, targeting a specified FPGA according to specified parameters. In one embodiment, a SIM references or includes one or more floorplanners each of which may employ one or more placement algorithms. Such placement algorithms might include, for example: a linear ordering algorithm that places datapath logic bitwise in a regular linear pattern; a rectangular mesh algorithm that implements memory in a grid pattern in distributed RAM; a columnar algorithm for counters and other arithmetic logic; or a simulated annealing algorithm for random logic such as control logic. Therefore, a design including more than one SIM can utilize a plurality of placement algorithms at the same or different levels of hierarchy.
    Type: Grant
    Filed: March 27, 1998
    Date of Patent: June 5, 2001
    Assignee: Xilinx, Inc.
    Inventors: L. James Hwang, Eric F. Dellinger, Sujoy Mitra, Sundararajarao Mohan, Cameron D. Patterson, Ralph D. Wittig
  • Patent number: 6237129
    Abstract: The invention supplies a method whereby placement information for elements of a logic module is specified in such a manner that specific coordinates need not be included. This method can be applied to any module or other element having an associated placement in a programmable device. Using the method of the invention, relative coordinates (such as the RLOC constraints discussed in relation to the prior art) need not be specified. Instead, the invention introduces a vector-based form of layout. Key words or phrases such as “COLUMN” or “ROW” indicate the manner in which the elements of the module are to be placed. Use of such parametric words or phrases removes from the module developer the burden of determining exactly how large the module will be for each parameter combination, and in some cases finding expressions by which the relative locations can be calculated.
    Type: Grant
    Filed: March 27, 1998
    Date of Patent: May 22, 2001
    Assignee: Xilinx, Inc.
    Inventors: Cameron D. Patterson, Eric F. Dellinger, L. James Hwang, Sujoy Mitra, Sundararajarao Mohan, Ralph D. Wittig