Patents by Inventor Stephen A. Neuendorffer

Stephen A. Neuendorffer 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: 11422781
    Abstract: Disclosed approaches for generating vector codes include inputting tensor processing statements. Each statement specifies an output variable, an initial variable, and multiply-and-accumulate (MAC) operations, and each MAC operation references the output variable, elements of a first tensor, and one or more elements of a second tensor. The MAC operations are organized into groups, and the MAC operations in each group reference the same output variable and have overlapping references to elements of the first tensor. For each group of MAC operations, at least one instruction is generated to load elements of the first tensor into a first register and at least one instruction is generated to load one or more elements of the second tensor into a second register. For each group of MAC operations, instructions are generated to select for each MAC operation in the group for input to an array of MAC circuits, elements from the first register and one or more elements from the second register.
    Type: Grant
    Filed: February 4, 2020
    Date of Patent: August 23, 2022
    Assignee: XILINX, INC.
    Inventors: Stephen A. Neuendorffer, Prasanth Chatarasi, Samuel R. Bayliss
  • Patent number: 10671779
    Abstract: A method of high level synthesis may include detecting in an application, using computer hardware, a first function including a first call site for a second function and a second call site for the second function, determining, using the computer hardware, that the first call site and the second call site each pass different data to the second function and each receive different return data from the second function, and generating, using the computer hardware, a circuit design from the application including a circuit block implementing the second function and multiplexer circuitry. The multiplexer circuitry may be configured to coordinate passing of data to the circuit block from a first source circuit corresponding to the first call site and a second source circuit corresponding to the second call site, with handshake signals exchanged between the circuit block, the first source circuit, and the second source circuit.
    Type: Grant
    Filed: July 9, 2018
    Date of Patent: June 2, 2020
    Assignee: Xilinx, Inc.
    Inventor: Stephen A. Neuendorffer
  • Patent number: 10031732
    Abstract: High level synthesis can include detecting, using a processor, an enumerated operation within an instruction of a loop construct of an application, determining, using the processor, whether the loop construct meets a modification condition, and responsive to determining that the loop construct meets the modification condition, modifying, using the processor, the loop construct to calculate the enumerated operation as a compile time constant, wherein the modified loop construct is functionally equivalent to the loop construct.
    Type: Grant
    Filed: August 2, 2016
    Date of Patent: July 24, 2018
    Assignee: XILINX, INC.
    Inventors: Dong Li, Sheng Zhou, Stephen A. Neuendorffer
  • Patent number: 9824172
    Abstract: Implementing circuitry from an application can include determining a data flow of an application including a producer function, a loop construct, and a consumer function and creating a new function including contents of a body of the loop construct. A circuit design can be generated from the application including a producer function circuit block, a new function circuit block, and a consumer function circuit block. Control circuitry for each circuit block can be included within the circuit design. The control circuitry of the new function circuit block can initiate operation of the new function circuit block according to a loop induction variable of the loop construct.
    Type: Grant
    Filed: March 23, 2016
    Date of Patent: November 21, 2017
    Assignee: XILINX, INC.
    Inventors: Kecheng Hao, Hongbin Zheng, Stephen A. Neuendorffer
  • Patent number: 9710584
    Abstract: Implementing circuitry from an application may include partitioning an array of the application into a plurality of virtual blocks according to a streaming dimension of the array and determining that a first function and a second function of the application that access the array have same access patterns for the virtual blocks of the array. A first-in-first out (FIFO) memory may be included in a circuit design implementing the application. The FIFO memory couples a first circuit block implementing the first function with a second circuit block implementing the second function. Control circuitry is included within the circuit design. The control circuitry may be configured to implement concurrent operation of the first circuit block and the second circuit block by controlling accesses of the first circuit block and the second circuit block to a plurality of buffers in the FIFO memory.
    Type: Grant
    Filed: March 23, 2016
    Date of Patent: July 18, 2017
    Assignee: XILINX, INC.
    Inventors: Kecheng Hao, Hongbin Zheng, Stephen A. Neuendorffer
  • Patent number: 9449131
    Abstract: Extracting a system architecture in high level synthesis includes determining a first function of a high level programming language description and a second function contained within a control flow construct of the high level programming description. The second function is determined to be a data consuming function of the first function. Within a circuit design, a port including a local memory is automatically generated. The port couples a first circuit block implementation of the first function to a second circuit block implementation of the second function within the circuit design.
    Type: Grant
    Filed: June 2, 2014
    Date of Patent: September 20, 2016
    Assignee: XILINX, INC.
    Inventors: Guoling Han, Stephen A. Neuendorffer
  • Publication number: 20150347654
    Abstract: Extracting a system architecture in high level synthesis includes determining a first function of a high level programming language description and a second function contained within a control flow construct of the high level programming description. The second function is determined to be a data consuming function of the first function. Within a circuit design, a port including a local memory is automatically generated. The port couples a first circuit block implementation of the first function to a second circuit block implementation of the second function within the circuit design.
    Type: Application
    Filed: June 2, 2014
    Publication date: December 3, 2015
    Applicant: Xilinx, Inc.
    Inventors: Guoling Han, Stephen A. Neuendorffer
  • Patent number: 9081930
    Abstract: Improving throughput during high level synthesis includes determining a data dependency for a flow control construct of a high level programming language description and translating the high level programming language description into a circuit design specifying circuitry for implementation within an integrated circuit. The circuitry is pipelined. As part of the circuit design and using a processor, a stall detection circuit is generated. The stall detection circuit is coupled to selectively initiate a stall of a stalling portion of the circuitry according to the data dependency.
    Type: Grant
    Filed: August 4, 2014
    Date of Patent: July 14, 2015
    Assignee: XILINX, INC.
    Inventors: Stephen A. Neuendorffer, Kecheng Hao, Guoling Han
  • Patent number: 8359448
    Abstract: A circuit controls a memory arrangement and includes an array of programmable resources and interconnect resources, a reconfiguration port, and a processor. The programmable resources and interconnect resources in the array are initially configured with a reference configuration data-set. The reference configuration data-set configures the programmable resources and interconnect resources to implement a general memory controller. The processor obtains a characteristic of the memory arrangement and selects a particular partial reconfiguration data-set based on the characteristic of the memory arrangement. The processor reconfigures the programmable resources and interconnect resources in the array via the reconfiguration port. The processor reconfigures the programmable resources and interconnect resources with the particular partial reconfiguration data-set.
    Type: Grant
    Filed: July 17, 2009
    Date of Patent: January 22, 2013
    Assignee: Xilinx, Inc.
    Inventor: Stephen A. Neuendorffer
  • Patent number: 8245243
    Abstract: Efficiency is improved for device drivers. A first library is input that includes a first version of the device drivers. First metadata is input that specifies the devices of the computing arrangement and associates each device with the first version of a corresponding device driver. The first version of the corresponding device driver for each device is transformed into a second version of the corresponding device driver. The first version of the corresponding device driver indirectly accesses the device and the second version of the corresponding device driver directly accesses the device. A second library is output including the second version of the corresponding device driver for each device.
    Type: Grant
    Filed: July 6, 2009
    Date of Patent: August 14, 2012
    Assignee: Xilinx, Inc.
    Inventor: Stephen A. Neuendorffer
  • Patent number: 8219960
    Abstract: A method for configuring programmable logic in an IC to implement instances of a relocatable circuit includes, for each instance, assigning a respective portion of an address space of a processor to the instance, configuring a respective interface circuit for translating the transactions accessing the respective portion of the address space into a fixed address space of the relocatable circuit, and selecting a respective region within an array of programmable logic and interconnect resources of the IC. The processor accesses the address space with read and write transactions issued on an interface bus. The relocatable circuit is independent of the address space assigned to the instances. Each region is configurable to implement an instance. The programmable logic and interconnect resources are configured to implement the instances and to couple each instance to the interface bus of the processor via the respective interface circuit, using a single copy of configuration data for the relocatable circuit.
    Type: Grant
    Filed: April 28, 2010
    Date of Patent: July 10, 2012
    Assignee: Xilinx, Inc.
    Inventors: Stephen A. Neuendorffer, Parimal Patel
  • Patent number: 8122239
    Abstract: Method and apparatus for initializing a system configured in a programmable logic device (PLD) is described. In some examples, the method includes: initializing memory elements in the system with first data; executing a first iteration of the system to process the first data; partially reconfiguring the PLD, during execution of the first iteration, to initialize shadow memory elements in the PLD with second data, the shadow memory elements respectively shadowing the memory elements in the system; transferring the second data from the shadow memory elements to the memory elements; and executing a second iteration of the system to process the second data.
    Type: Grant
    Filed: September 11, 2008
    Date of Patent: February 21, 2012
    Assignee: Xilinx, Inc.
    Inventors: Philip B. James-Roxby, Stephen A. Neuendorffer, Henry E. Styles
  • Patent number: 8116334
    Abstract: A First In First Out (FIFO) communication buffer for receiving data from a source and distributing the data to a first sink and a second sink is disclosed. The FIFO communication buffer includes a FIFO memory and a FIFO control circuit. The FIFO memory includes a first data port, a second data port, and a third data port. The FIFO control circuit provides the first address, the second address and the third address. The FIFO control circuit increments the first address toward the second address and the third address when valid data is received, and increments the second address and the third address when data is read out.
    Type: Grant
    Filed: December 7, 2010
    Date of Patent: February 14, 2012
    Assignee: Xilinx, Inc.
    Inventor: Stephen A. Neuendorffer
  • Patent number: 8020139
    Abstract: Method, apparatus, and computer readable medium for implementing a circuit model in an integrated circuit are described. In some examples, the circuit model includes a communication channel between actors. Data portions of at least one data object passed between the actors over the communication channel are identified. An implementation is generated for the circuit model in which data portions are assigned to either local queue storage of the communication channel or centralized shared storage of the communication channel based on levels of access thereof by the actors.
    Type: Grant
    Filed: December 9, 2008
    Date of Patent: September 13, 2011
    Assignee: Xilinx, Inc.
    Inventors: Stephen A. Neuendorffer, Ian D. Miller
  • Patent number: 7969187
    Abstract: A hardware interface in an integrated circuit is disclosed. The hardware interface comprises data storage coupled to store and provide data; a data shifter coupled to the data storage to at least bit shift the data obtained from the data storage; and a control circuit coupled to the data storage and the data shifter for controlling a transfer of the data from the data storage and the data shifter. The control circuit comprises a state machine for controlling operation of the data storage and the data shifter; and the state machine is programmable responsive to code executable by a processor coupled to an auxiliary processing unit to adapt to the auxiliary processing unit.
    Type: Grant
    Filed: August 6, 2010
    Date of Patent: June 28, 2011
    Assignee: Xilinx, Inc.
    Inventors: Stephen A. Neuendorffer, Paul M. Hartke, Paul R. Schumacher
  • Patent number: 7895026
    Abstract: A computer-implemented method of scheduling a multi-rate, synchronous circuit design for simulation within a high-level modeling system. The method can include determining a component clocking rate for each of a plurality of synchronous components of the circuit design and classifying each of the plurality of synchronous components into a plurality of schedules according to component clocking rate. For each clock cycle during simulation, the method can include selecting one of the plurality of schedules and executing each synchronous component of the selected schedule. A value determined through execution of a synchronous component of the circuit design can be output.
    Type: Grant
    Filed: August 16, 2007
    Date of Patent: February 22, 2011
    Assignee: Xilinx, Inc.
    Inventors: Sean A. Kelly, Stephen A. Neuendorffer, Haibing Ma
  • Patent number: 7869452
    Abstract: A FIFO communication system is provided using a FIFO and connection circuit to transmit data from a single source to multiple sinks. The connection circuit operates to enable simultaneous reads by the multiple sinks with a single output port FIFO. Multiple FIFOs can likewise be used to distribute data from a single source to multiple sinks without requiring a simultaneous read by both sinks. Similarly, a multiple output port FIFO can be used to supply multiple sinks without requiring simultaneous reads and without requiring additional memory use.
    Type: Grant
    Filed: July 19, 2007
    Date of Patent: January 11, 2011
    Assignee: Xilinx, Inc.
    Inventor: Stephen A. Neuendorffer
  • Patent number: 7834658
    Abstract: Method and apparatus for communication of data is described. More particularly, generation of an interface for coupling to an auxiliary processor unit for communication of data in an integrated circuit is described. Programmable logic is programmed to provide a hardware interface for communicating the data between memory and a user-defined circuit. The data is communicated at least in part via an auxiliary processor unit coupled to the hardware interface. The programming includes configuring the programmable logic to use the auxiliary processor unit to respond to coded instructions executed by a central processing unit through the provided hardware interface.
    Type: Grant
    Filed: April 18, 2006
    Date of Patent: November 16, 2010
    Assignee: Xilinx, Inc.
    Inventors: Stephen A. Neuendorffer, Paul M. Hartke, Paul R. Schumacher
  • Patent number: 7765512
    Abstract: A circuit is implemented using a programmable logic device (PLD) that includes an array of programmable logic and routing resources. The circuit includes a processor, a configuration port, a relocatable circuit, and an interface circuit. The processor accesses an address space using read and write transactions issued on an interface bus. The programmable logic and interconnect resources are configurable via the configuration port. The relocatable circuit is implemented in a selected region within the array by configuring the programmable logic and interconnect resources in the selected region with configuration data via the configuration port. The interface circuit translates the transactions accessing a portion of the address space assigned to the relocatable circuit into a fixed address space of the relocatable circuit. The configuration data for implementing the relocatable circuit is independent of the portion of the address space assigned to the relocatable circuit.
    Type: Grant
    Filed: March 25, 2008
    Date of Patent: July 27, 2010
    Assignee: Xilinx, Inc.
    Inventors: Stephen A. Neuendorffer, Parimal Patel
  • Patent number: 7653762
    Abstract: Various approaches for tracing events in an electronic system are disclosed. In one approach, a circuit arrangement includes a bus, a random access memory (RAM), a plurality of programmable logic resources, and coupled configuration memory cells. A circuit arrangement is implemented in the programmable logic. The circuit arrangement receives a plurality of event indication signals from an application circuit and writes event data to the RAM in response to a change in the state of any one of the event indication signals. A bus interface circuit is coupled to the bus and to the read port of the RAM. Responsive to a read transaction on the bus for the RAM, the bus interface circuit reads data from the RAM and outputs the data on the bus in a reply bus transaction.
    Type: Grant
    Filed: October 4, 2007
    Date of Patent: January 26, 2010
    Assignee: XILINX, Inc.
    Inventors: Stephen A. Neuendorffer, Peter Oruba