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: 11422781Abstract: 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: GrantFiled: February 4, 2020Date of Patent: August 23, 2022Assignee: XILINX, INC.Inventors: Stephen A. Neuendorffer, Prasanth Chatarasi, Samuel R. Bayliss
-
Patent number: 10671779Abstract: 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: GrantFiled: July 9, 2018Date of Patent: June 2, 2020Assignee: Xilinx, Inc.Inventor: Stephen A. Neuendorffer
-
Patent number: 10031732Abstract: 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: GrantFiled: August 2, 2016Date of Patent: July 24, 2018Assignee: XILINX, INC.Inventors: Dong Li, Sheng Zhou, Stephen A. Neuendorffer
-
Patent number: 9824172Abstract: 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: GrantFiled: March 23, 2016Date of Patent: November 21, 2017Assignee: XILINX, INC.Inventors: Kecheng Hao, Hongbin Zheng, Stephen A. Neuendorffer
-
Patent number: 9710584Abstract: 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: GrantFiled: March 23, 2016Date of Patent: July 18, 2017Assignee: XILINX, INC.Inventors: Kecheng Hao, Hongbin Zheng, Stephen A. Neuendorffer
-
Patent number: 9449131Abstract: 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: GrantFiled: June 2, 2014Date of Patent: September 20, 2016Assignee: XILINX, INC.Inventors: Guoling Han, Stephen A. Neuendorffer
-
Publication number: 20150347654Abstract: 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: ApplicationFiled: June 2, 2014Publication date: December 3, 2015Applicant: Xilinx, Inc.Inventors: Guoling Han, Stephen A. Neuendorffer
-
Patent number: 9081930Abstract: 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: GrantFiled: August 4, 2014Date of Patent: July 14, 2015Assignee: XILINX, INC.Inventors: Stephen A. Neuendorffer, Kecheng Hao, Guoling Han
-
Patent number: 8359448Abstract: 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: GrantFiled: July 17, 2009Date of Patent: January 22, 2013Assignee: Xilinx, Inc.Inventor: Stephen A. Neuendorffer
-
Patent number: 8245243Abstract: 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: GrantFiled: July 6, 2009Date of Patent: August 14, 2012Assignee: Xilinx, Inc.Inventor: Stephen A. Neuendorffer
-
Patent number: 8219960Abstract: 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: GrantFiled: April 28, 2010Date of Patent: July 10, 2012Assignee: Xilinx, Inc.Inventors: Stephen A. Neuendorffer, Parimal Patel
-
Patent number: 8122239Abstract: 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: GrantFiled: September 11, 2008Date of Patent: February 21, 2012Assignee: Xilinx, Inc.Inventors: Philip B. James-Roxby, Stephen A. Neuendorffer, Henry E. Styles
-
Patent number: 8116334Abstract: 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: GrantFiled: December 7, 2010Date of Patent: February 14, 2012Assignee: Xilinx, Inc.Inventor: Stephen A. Neuendorffer
-
Patent number: 8020139Abstract: 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: GrantFiled: December 9, 2008Date of Patent: September 13, 2011Assignee: Xilinx, Inc.Inventors: Stephen A. Neuendorffer, Ian D. Miller
-
Patent number: 7969187Abstract: 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: GrantFiled: August 6, 2010Date of Patent: June 28, 2011Assignee: Xilinx, Inc.Inventors: Stephen A. Neuendorffer, Paul M. Hartke, Paul R. Schumacher
-
Patent number: 7895026Abstract: 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: GrantFiled: August 16, 2007Date of Patent: February 22, 2011Assignee: Xilinx, Inc.Inventors: Sean A. Kelly, Stephen A. Neuendorffer, Haibing Ma
-
Patent number: 7869452Abstract: 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: GrantFiled: July 19, 2007Date of Patent: January 11, 2011Assignee: Xilinx, Inc.Inventor: Stephen A. Neuendorffer
-
Patent number: 7834658Abstract: 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: GrantFiled: April 18, 2006Date of Patent: November 16, 2010Assignee: Xilinx, Inc.Inventors: Stephen A. Neuendorffer, Paul M. Hartke, Paul R. Schumacher
-
Patent number: 7765512Abstract: 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: GrantFiled: March 25, 2008Date of Patent: July 27, 2010Assignee: Xilinx, Inc.Inventors: Stephen A. Neuendorffer, Parimal Patel
-
Patent number: 7653762Abstract: 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: GrantFiled: October 4, 2007Date of Patent: January 26, 2010Assignee: XILINX, Inc.Inventors: Stephen A. Neuendorffer, Peter Oruba