Patents by Inventor Juan J. Noguera Serra

Juan J. Noguera Serra 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).

  • Publication number: 20240088900
    Abstract: An apparatus includes a data processing array having a plurality of array tiles. The plurality of array tiles include a plurality of compute tiles. The compute tiles include a core coupled to a random-access memory (RAM) in a same compute tile and to a RAM of at least one other compute tile. The data processing array is subdivided into a plurality of partitions. Each partition includes a plurality of array tiles including at least one of the plurality of compute tiles. The apparatus includes a plurality of clock gate circuits being programmable to selectively gate a clock signal provided to a respective one of the plurality of partitions.
    Type: Application
    Filed: November 14, 2023
    Publication date: March 14, 2024
    Applicant: Xilinx, Inc.
    Inventors: Juan J. Noguera Serra, Tim Tuan, Javier Cabezas Rodriguez, David Clarke, Peter McColgan, Zachary Blaise Dickman, Saurabh Mathur, Amarnath Kasibhatla, Francisco Barat Quesada
  • 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: 11848670
    Abstract: An apparatus includes a data processing array having a plurality of array tiles. Each array tile can include a random-access memory (RAM) having a local memory interface accessible by circuitry within the array tile and an adjacent memory interface accessible by circuitry disposed within an adjacent array tile. Each adjacent memory interface of each array tile can include isolation logic that is programmable to allow the circuitry disposed within the adjacent array tile to access the RAM or prevent the circuitry disposed within the adjacent array tile from accessing the RAM. The data processing array can be subdivided into a plurality of partitions wherein the isolation logic of the adjacent memory interfaces is programmed to prevent array tiles from accessing RAMs across a boundary between the plurality of partitions.
    Type: Grant
    Filed: April 15, 2022
    Date of Patent: December 19, 2023
    Assignee: Xilinx, Inc.
    Inventors: Juan J. Noguera Serra, Tim Tuan, Javier Cabezas Rodriguez, David Clarke, Peter McColgan, Zachary Blaise Dickman, Saurabh Mathur, Amarnath Kasibhatla, Francisco Barat Quesada
  • Publication number: 20230376437
    Abstract: An integrated circuit (IC) can include a data processing array including a plurality of compute tiles arranged in a grid. The IC can include an array interface coupled to the data processing array. The array interface includes a plurality of interface tiles. Each interface tile includes a plurality of direct memory access circuits. The IC can include a network-on-chip (NoC) coupled to the array interface. Each direct memory access circuit is communicatively linked to the NoC via an independent communication channel.
    Type: Application
    Filed: May 17, 2022
    Publication date: November 23, 2023
    Applicant: Xilinx, Inc.
    Inventors: David Patrick Clarke, Peter McColgan, Juan J. Noguera Serra, Tim Tuan, Saurabh Mathur, Amarnath Kasibhatla, Javier Cabezas Rodriguez, Pedro Miguel Parola Duarte, Zachary Blaise Dickman
  • Publication number: 20230336179
    Abstract: An apparatus includes a data processing array having a plurality of array tiles. Each array tile can include a random-access memory (RAM) having a local memory interface accessible by circuitry within the array tile and an adjacent memory interface accessible by circuitry disposed within an adjacent array tile. Each adjacent memory interface of each array tile can include isolation logic that is programmable to allow the circuitry disposed within the adjacent array tile to access the RAM or prevent the circuitry disposed within the adjacent array tile from accessing the RAM. The data processing array can be subdivided into a plurality of partitions wherein the isolation logic of the adjacent memory interfaces is programmed to prevent array tiles from accessing RAMs across a boundary between the plurality of partitions.
    Type: Application
    Filed: April 15, 2022
    Publication date: October 19, 2023
    Applicant: Xilinx, Inc.
    Inventors: Juan J. Noguera Serra, Tim Tuan, Javier Cabezas Rodriguez, David Clarke, Peter McColgan, Zachary Blaise Dickman, Saurabh Mathur, Amarnath Kasibhatla, Francisco Barat Quesada
  • Publication number: 20230291405
    Abstract: A System-on-Chip includes a data processing engine array. The data processing engine array includes a plurality of data processing engines organized in a grid. The plurality of data processing engines are partitioned into at least a first partition and a second partition. The first partition includes one or more first data processing engines of the plurality of data processing engines. The second partition includes one or more second data processing engines of the plurality of data processing engines. Each partition is configured to implement an application that executes independently of the other partition.
    Type: Application
    Filed: May 18, 2023
    Publication date: September 14, 2023
    Applicant: Xilinx, Inc.
    Inventors: Sagheer Ahmad, Jaideep Dastidar, Brian C. Gaide, Juan J. Noguera Serra, Ian A. Swarbrick
  • Publication number: 20230289311
    Abstract: An integrated circuit includes an interposer and a die coupled to the interposer. The die includes a first data processing engine (DPE) array and a second DPE array. The first DPE array includes a first plurality of DPEs and a first DPE interface coupled to the first plurality of DPEs. The second DPE array includes a second plurality of DPEs and a second DPE interface coupled to the second plurality of DPEs. The integrated circuit includes one or more other dies having a first die interface coupled to, and configured to communicate with, the first DPE interface via the interposer and a second die interface coupled to, and configured to communicate with, the second DPE interface via the interposer.
    Type: Application
    Filed: May 18, 2023
    Publication date: September 14, 2023
    Applicant: Xilinx, Inc.
    Inventors: Juan J. Noguera Serra, Tim Tuan, Sridhar Subramanian
  • 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: 11693808
    Abstract: An integrated circuit includes an interposer, a first die coupled to the interposer, a second die coupled to the interposer, and a third die coupled to the interposer and having a plurality of die interfaces. The first die includes a first data processing engine (DPE) array having a first plurality of DPEs and a first DPE interface coupled to the first plurality of DPEs therein. The second die includes a second DPE array having a second plurality of DPEs and a second DPE interface coupled to the second plurality of DPEs therein. The first DPE interface of the first die is configured to communicate with a first die interface of the plurality of die interfaces via the interposer. The second DPE interface of the second die is configured to communicate with a second die interface of the plurality of die interfaces via the interposer.
    Type: Grant
    Filed: March 11, 2022
    Date of Patent: July 4, 2023
    Assignee: Xilinx, Inc.
    Inventors: Juan J. Noguera Serra, Tim Tuan, Sridhar Subramanian
  • Publication number: 20230205726
    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: Application
    Filed: February 27, 2023
    Publication date: June 29, 2023
    Inventors: Juan J. NOGUERA SERRA, Sneha Bhalchandra DATE, Jan LANGER, Baris OZGUL, Goran H.k. BILSKI
  • Patent number: 11683038
    Abstract: A System-on-Chip includes a first partition configured to implement a first application using of at least a first portion of one or more of a plurality of subsystems of the System-on-Chip and a second partition configured to implement a second application concurrently with the first partition. The second application uses at least a second portion of one or more of the plurality of subsystems. The first partition is isolated from the second partition.
    Type: Grant
    Filed: June 17, 2021
    Date of Patent: June 20, 2023
    Assignee: Xilinx, Inc.
    Inventors: Sagheer Ahmad, Jaideep Dastidar, Brian C. Gaide, Juan J. Noguera Serra, Ian A. Swarbrick
  • 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: 20230053537
    Abstract: Using multiple overlays with a data processing array includes loading an application in a data processing array. The data processing array includes a plurality of compute tiles each having a processor. The application specifies kernels executable by the processors and implements stream channels that convey data to the plurality of compute tiles. During runtime of the application, a plurality of overlays are sequentially implemented in the data processing array. Each overlay implements a different mode of data movement in the data processing array via the stream channels. For each overlay implemented, a workload is performed by moving data to the plurality of compute tiles based on the respective mode of data movement.
    Type: Application
    Filed: August 15, 2022
    Publication date: February 23, 2023
    Applicant: Xilinx, Inc.
    Inventors: Baris Ozgul, David Clarke, Peter McColgan, Stephan Munz, Dylan Stuart, Pedro Miguel Parola Duarte, Juan J. Noguera Serra
  • Publication number: 20230058749
    Abstract: Examples herein describe techniques for adapting a multiplier array (e.g., a systolic array implemented in a processing core) to perform different dot products. The processing core can include data selection logic that enables different configurations of the multiplier array in the core. For example, the data selection logic can enable different configurations of the multiplier array while using the same underlying hardware. That is, the multiplier array is fixed hardware but the data selection can transmit data into the matrix multiplier such that it is configured to perform different length dot products, perform more dot products in parallel, or change its output precision. In this manner, the same underlying hardware (i.e., the multiplier array) can be reconfigured for different dot products which can result in much more efficient use of the hardware.
    Type: Application
    Filed: July 18, 2022
    Publication date: February 23, 2023
    Inventors: Stephan MUNZ, Francisco Barat QUESADA, Baris OZGUL, Javier CABEZAS RODRIGUEZ, Zachary DICKMAN, Pedro Miguel Parola DUARTE, Dylan STUART, Juan J. NOGUERA SERRA
  • Publication number: 20230057903
    Abstract: An integrated circuit includes a data processing array. The data processing array includes a plurality of compute tiles each having a processor. The integrated circuit includes an array controller coupled to the data processing array. The array controller is adapted to configure the plurality of compute tiles of the data processing array to implement an application. The application specifies kernels executable by the processors and stream channels that convey data to the plurality of compute tiles. The array controller is configured to initiate execution of workloads by the data processing array as configured with the application.
    Type: Application
    Filed: August 15, 2022
    Publication date: February 23, 2023
    Applicant: Xilinx, Inc.
    Inventors: David Clarke, Juan J. Noguera Serra, Javier Cabezas Rodriguez, Zachary Blaise Dickman, Pedro Miguel Parola Duarte, Jose Marques
  • Publication number: 20230059970
    Abstract: Examples herein describe techniques for reducing the amount of memory used during weight sparsity. When decompressing the weights, the uncompressed weight data typically has many zero values. By knowing the location of these zero values (e.g., their indices in a weight matrix), the processor core can prune some of the activations (e.g., logically reduce the size of the activation matrix) which improves the efficiency of the processor core. In embodiments herein, the processor core includes logic for identifying the indices of the non-zero value after decompressing the compressed weights. These indices can then be used to prune the activations to improve the efficiency of the processor core.
    Type: Application
    Filed: July 18, 2022
    Publication date: February 23, 2023
    Inventors: Francisco Barat QUESADA, Baris OZGUL, Dylan STUART, Stephan MUNZ, Zachary DICKMAN, Javier CABEZAS RODRIGUEZ, David Patrick CLARKE, Pedro Miguel Parola DUARTE, Peter MCCOLGAN, Juan J. NOGUERA SERRA
  • Patent number: 11573726
    Abstract: A device may include a plurality of data processing engines. Each of the data processing engines may include a memory pool having a plurality of memory banks, a plurality of cores each coupled to the memory pool and configured to access the plurality of memory banks, a memory mapped switch coupled to the memory pool and a memory mapped switch of at least one neighboring data processing engine, and a stream switch coupled to each of the plurality of cores and to a stream switch of the at least one neighboring data processing engine.
    Type: Grant
    Filed: November 13, 2020
    Date of Patent: February 7, 2023
    Assignee: Xilinx, Inc.
    Inventors: Juan J. Noguera Serra, Goran H K Bilski, Jan Langer, Baris Ozgul, Richard L. Walke, Ralph D. Wittig, Kornelis A. Vissers, Christopher H. Dick, Philip B. James-Roxby
  • Patent number: 11567881
    Abstract: A device may include an array of data processing engines (DPEs) on a die and an event broadcast network. Each of the DPEs includes a core, a memory module, event logic in at least one of the core or the memory module, and an event broadcast circuitry coupled to the event logic. The event logic is capable of detecting an occurrence of one or more events in the core or the memory module. The event broadcast circuitry is capable of receiving an indication of a detected event detected by the event logic. The event broadcast network includes interconnections between the event broadcast circuitry of the DPEs. Detected events can trigger or initiate various responses, such as debugging, tracing, and profiling.
    Type: Grant
    Filed: April 3, 2018
    Date of Patent: January 31, 2023
    Assignee: XILINX, INC.
    Inventors: Goran H. K. Bilski, David Clarke, Baris Ozgul, Jan Langer, Juan J. Noguera Serra