Patents by Inventor Goran HK Bilski

Goran HK Bilski 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: 11853235
    Abstract: Examples herein describe techniques for transferring data between data processing engines in an array using shared memory. In one embodiment, certain engines in the array have connections to the memory in neighboring engines. For example, each engine may have its own assigned memory module which can be accessed directly (e.g., without using a streaming or memory mapped interconnect). In addition, the surrounding engines (referred to herein as the neighboring engines) may also include direct connections to the memory module. Using these direct connections, the cores can load and/or store data in the neighboring memory modules.
    Type: Grant
    Filed: May 26, 2022
    Date of Patent: December 26, 2023
    Assignee: XILINX, INC.
    Inventors: Juan J. Noguera Serra, Goran Hk Bilski, Baris Ozgul, Jan Langer
  • Patent number: 11730325
    Abstract: Examples herein describe techniques for communicating between data processing engines in an array of data processing engines. In one embodiment, the array is a 2D array where each of the DPEs includes one or more cores. In addition to the cores, the data processing engines can include streaming interconnects which transmit streaming data using two different modes: circuit switching and packet switching. Circuit switching establishes reserved point-to-point communication paths between endpoints in the interconnect which routes data in a deterministic manner. Packet switching, in contrast, transmits streaming data that includes headers for routing data within the interconnect in a non-deterministic manner. In one embodiment, the streaming interconnects can have one or more ports configured to perform circuit switching and one or more ports configured to perform packet switching.
    Type: Grant
    Filed: September 7, 2021
    Date of Patent: August 22, 2023
    Assignee: XILINX, INC.
    Inventors: Peter McColgan, Goran Hk Bilski, Juan J. Noguera Serra, Jan Langer, Baris Ozgul, David Clarke
  • Patent number: 11669464
    Abstract: Examples herein describe performing non-sequential DMA read and writes. Rather than storing data sequentially, a DMA engine can write data into memory using non-sequential memory addresses. A data processing engine (DPE) controller can submit a first job using first parameters that instruct the DMA engine to store data using a first non-sequential write pattern. The DPE controller can also submit a second job using second parameters that instruct the DMA engine to store data using a second, different non-sequential write pattern. In this manner, the DMA engine can switch to performing DMA writes using different non-sequential patterns. Similarly, the DMA engine can use non-sequential reads to retrieve data from memory. When performing a first DMA read, the DMA engine can retrieve data from memory using a first sequential pattern and then perform a second DMA read where data is retrieved from memory using a second non-sequential read pattern.
    Type: Grant
    Filed: April 24, 2020
    Date of Patent: June 6, 2023
    Assignee: XILINX, INC.
    Inventors: Goran Hk Bilski, Baris Ozgul, David Clarke, Juan J. Noguera Serra, Jan Langer, Zachary Dickman, Sneha Bhalchandra Date, Tim Tuan
  • Publication number: 20230131698
    Abstract: A device includes a data processing engine array having a plurality of data processing engines organized in a grid having a plurality of rows and a plurality of columns. Each data processing engine includes a core, a memory module including a memory and a direct memory access engine. Each data processing engine includes a stream switch connected to the core, the direct memory access engine, and the stream switch of one or more adjacent data processing engines. Each memory module includes a first memory interface directly coupled to the core in the same data processing engine and one or more second memory interfaces directly coupled to the core of each of the one or more adjacent data processing engines.
    Type: Application
    Filed: December 22, 2022
    Publication date: April 27, 2023
    Applicant: Xilinx, Inc.
    Inventors: Juan J. Noguera Serra, Goran HK Bilski, Jan Langer, Baris Ozgul, Richard L. Walke, Ralph D. Wittig, Kornelis A. Vissers, Tim Tuan, David Clarke
  • Patent number: 11599498
    Abstract: A device may include a processor system and an array of data processing engines (DPEs) communicatively coupled to the processor system. Each of the DPEs includes a core and a DPE interconnect. The processor system is configured to transmit configuration data to the array of DPEs, and each of the DPEs is independently configurable based on the configuration data received at the respective DPE via the DPE interconnect of the respective DPE. The array of DPEs enable, without modifying operation of a first kernel of a first subset of the DPEs of the array of DPEs, reconfiguration of a second subset of the DPEs of the array of DPEs.
    Type: Grant
    Filed: October 12, 2020
    Date of Patent: March 7, 2023
    Assignee: XILINX, INC.
    Inventors: Juan J. Noguera Serra, Sneha Bhalchandra Date, Jan Langer, Baris Ozgul, Goran Hk Bilski
  • Publication number: 20220283963
    Abstract: Examples herein describe techniques for transferring data between data processing engines in an array using shared memory. In one embodiment, certain engines in the array have connections to the memory in neighboring engines. For example, each engine may have its own assigned memory module which can be accessed directly (e.g., without using a streaming or memory mapped interconnect). In addition, the surrounding engines (referred to herein as the neighboring engines) may also include direct connections to the memory module. Using these direct connections, the cores can load and/or store data in the neighboring memory modules.
    Type: Application
    Filed: May 26, 2022
    Publication date: September 8, 2022
    Inventors: Juan J. NOGUERA SERRA, Goran Hk BILSKI, Baris OZGUL, Jan LANGER
  • Publication number: 20220283985
    Abstract: An example data processing engine (DPE) for a DPE array in an integrated circuit (IC) includes: a core; a memory including a data memory and a program memory, the program memory coupled to the core, the data memory coupled to the core and including at least one connection to a respective at least one additional core external to the DPE; support circuitry including hardware synchronization circuitry and direct memory access (DMA) circuitry each coupled to the data memory; streaming interconnect coupled to the DMA circuitry and the core; and memory-mapped interconnect coupled to the core, the memory, and the support circuitry.
    Type: Application
    Filed: May 26, 2022
    Publication date: September 8, 2022
    Inventors: Goran Hk BILSKI, Juan J. NOGUERA SERRA, Baris OZGUL, Jan LANGER, David CLARKE, Sneha Bhalchandra DATE
  • Patent number: 11386020
    Abstract: Some examples described herein relate to programmable devices that include a data processing engine (DPE) array that permits shifting of where an application is loaded onto DPEs of the DPE array. In an example, a programmable device includes a DPE array. The DPE array includes DPEs and address index offset logic. Each of the DPEs includes a processor core and a memory mapped switch. The processor core is programmable via one or more memory mapped packets routed through the respective memory mapped switch. The memory mapped switches in the DPE array are coupled together to form a memory mapped interconnect network. The address index offset logic is configurable to selectively modify which DPE in the DPE array is targeted by a respective memory mapped packet routed in the memory mapped interconnect network.
    Type: Grant
    Filed: March 3, 2020
    Date of Patent: July 12, 2022
    Assignee: XILINX, INC.
    Inventors: Matthew H. Klein, Goran Hk Bilski, Juan Jose Noguera Serra, Ismed D. Hartanto, Sridhar Subramanian, Tim Tuan
  • Patent number: 11323391
    Abstract: Some examples described herein relate to multi-port stream switches of data processing engines (DPEs) of an electronic device, such as a programmable device. In an example, a programmable device includes a plurality of DPEs. Each DPE of the DPEs includes a hardened processor core and a stream switch. The stream switch is connected to respective stream switches of ones of the DPEs that neighbor the respective DPE in respective ones of directions. The stream switch has input ports associated with each direction of the directions and has output ports associated with each direction of the directions. For each direction of the directions, each input port of the input ports associated with the respective direction is selectively connectable to one of the output ports associated with the respective direction.
    Type: Grant
    Filed: March 27, 2020
    Date of Patent: May 3, 2022
    Assignee: XILINX, INC.
    Inventors: Peter McColgan, David Clarke, Goran Hk Bilski, Juan J. Noguera Serra, Baris Ozgul, Jan Langer, Tim Tuan
  • Publication number: 20220015588
    Abstract: Examples herein describe techniques for communicating between data processing engines in an array of data processing engines. In one embodiment, the array is a 2D array where each of the DPEs includes one or more cores. In addition to the cores, the data processing engines can include streaming interconnects which transmit streaming data using two different modes: circuit switching and packet switching. Circuit switching establishes reserved point-to-point communication paths between endpoints in the interconnect which routes data in a deterministic manner. Packet switching, in contrast, transmits streaming data that includes headers for routing data within the interconnect in a non-deterministic manner. In one embodiment, the streaming interconnects can have one or more ports configured to perform circuit switching and one or more ports configured to perform packet switching.
    Type: Application
    Filed: September 7, 2021
    Publication date: January 20, 2022
    Inventors: Peter MCCOLGAN, Goran Hk BILSKI, Juan J. NOGUERA SERRA, Jan LANGER, Baris OZGUL, David CLARKE
  • Patent number: 10990552
    Abstract: Examples herein describe techniques for communicating between data processing engines in an array of data processing engines. In one embodiment, the array is a 2D array where each of the DPEs includes one or more cores. In addition to the cores, the data processing engines can include a memory module (with memory banks for storing data) and an interconnect which provides connectivity between the engines. To transmit processed data, a data processing engine identifies a destination processing engine in the array. Once identified, the data processing engine can transmit the processed data using a reserved point-to-point communication path in the interconnect that couples the source and destination data processing engines.
    Type: Grant
    Filed: April 3, 2018
    Date of Patent: April 27, 2021
    Assignee: XILINX, INC.
    Inventors: Goran Hk Bilski, Peter McColgan, Juan J. Noguera Serra, Baris Ozgul, Jan Langer, Richard L. Walke, Ralph D. Wittig, Kornelis A. Vissers, Philip B. James-Roxby, Christopher H. Dick
  • Patent number: 10747531
    Abstract: An example core for a data processing engine (DPE) includes a register file, a processor, coupled to the register file. The processor includes a multiply-accumulate (MAC) circuit, and permute circuitry coupled between the register file and the MAC circuit, the permute circuitry configured to concatenate at least one pair of outputs of the register file to provide at least one input to the MAC circuit. The core further includes an instruction decoder, coupled to the processor, configured to decode a very large instruction word (VLIW) to set a plurality of parameters of the processor, the plurality of parameters including first parameters of the permute circuitry and second parameters of the MAC circuit.
    Type: Grant
    Filed: April 3, 2018
    Date of Patent: August 18, 2020
    Assignee: XILINX, INC.
    Inventors: Jan Langer, Baris Ozgul, Juan J. Noguera Serra, Goran HK Bilski, Tim Tuan
  • Publication number: 20190303311
    Abstract: A device may include a plurality of data processing engines. Each data processing engine may include a core and a memory module. Each core may be configured to access the memory module in the same data processing engine and a memory module within at least one other data processing engine of the plurality of data processing engines.
    Type: Application
    Filed: April 3, 2018
    Publication date: October 3, 2019
    Applicant: Xilinx, Inc.
    Inventors: Goran HK Bilski, Juan J. Noguera Serra, Baris Ozgul, Jan Langer, Richard L. Walke, Ralph D. Wittig, Kornelis A. Vissers, Philip B. James-Roxby, Christopher H. Dick
  • Publication number: 20190303033
    Abstract: A device may include a plurality of data processing engines. Each of the data processing engines may include a core and a memory module. The plurality of data processing engines may be organized in a plurality of rows. Each core may be configured to communicate with other neighboring data processing engines of the plurality of data processing engines by shared access to the memory modules of the neighboring data processing engines.
    Type: Application
    Filed: April 3, 2018
    Publication date: October 3, 2019
    Applicant: Xilinx, Inc.
    Inventors: Juan J. Noguera Serra, Goran HK Bilski, Jan Langer, Baris Ozgul, Tim Tuan, Richard L. Walke, Ralph D. Wittig, Kornelis A. Vissers, Christopher H. Dick