Heterogeneous execution pipeline across different processor architectures and FPGA fabric

    公开(公告)号:US11163605B1

    公开(公告)日:2021-11-02

    申请号:US16571776

    申请日:2019-09-16

    Applicant: XILINX, INC.

    Abstract: Examples herein describe techniques for launching and executing a pipeline formed by heterogeneous processing units. A system on a chip (SoC) can include different hardware elements which form a collection of heterogeneous processing units, such as general purpose processor, programmable logic array, and specialized processors. These processing units are heterogeneous meaning their underlying hardware and techniques for processing data are different, in contrast to a system that using homogeneous processing units. In the embodiments herein, the heterogeneous processing units can be arranged into a pipeline where each stage of the pipeline is performed by one of the processing units.

    Enabling integrity and authenticity of design data

    公开(公告)号:US11042610B1

    公开(公告)日:2021-06-22

    申请号:US15724942

    申请日:2017-10-04

    Applicant: Xilinx, Inc.

    Abstract: Embodiments herein describe techniques for validating binary files used to configure a hardware card in a computing system. In one embodiment, the hardware card (e.g., an FPGA) includes programmable logic which the binary file can configure to perform a specialized function. In one embodiment, multiple users can configure the hardware card to perform their specialized tasks. For example, the computing system may be server on the cloud that hosts multiple VMs or a shared workstation. Permitting multiple users to directly configure and use the hardware card may present a security risk. To mitigate this risk, the embodiments herein describe techniques for validating encrypted binary files.

    Interface firewall for an integrated circuit of an expansion card

    公开(公告)号:US10819680B1

    公开(公告)日:2020-10-27

    申请号:US15915981

    申请日:2018-03-08

    Applicant: Xilinx, Inc.

    Abstract: System and method generally relate to protection of a bussed network. In such a system, an access controller is configured for bussed communication via a communication bus to obtain a current transaction. An interface firewall is coupled for bussed communication with the access controller and configured to check for a fault associated with a transfer. A data processing device is coupled for communication with the interface firewall and configured to execute the current transaction to provide the transfer for the interface firewall. The interface firewall is configured to detect the fault associated with the transfer, to block access to the data processing device associated with the fault, and to communicate a blocked status for the data processing device.

    Transparent and remote kernel execution in a heterogeneous computing system

    公开(公告)号:US12204940B2

    公开(公告)日:2025-01-21

    申请号:US17648172

    申请日:2022-01-17

    Applicant: Xilinx, Inc.

    Abstract: Remote kernel execution in a heterogeneous computing system can include executing, using a device processor of a device communicatively linked to a host processor, a device runtime and receiving from the host processor within a hardware submission queue of the device, a command. The command requests execution of a software kernel and specifies a descriptor stored in a region of a memory of the device shared with the host processor. In response to receiving the command, the device runtime, as executed by the device processor, invokes a runner program associated with the software kernel. The runner program can map a physical address of the descriptor to a virtual memory address corresponding to the descriptor that is usable by the software kernel. The runner program can execute the software kernel. The software kernel can access data specified by the descriptor using the virtual memory address as provided by the runner program.

    Flexible queue provisioning for partitioned acceleration device

    公开(公告)号:US11947469B2

    公开(公告)日:2024-04-02

    申请号:US17675897

    申请日:2022-02-18

    Applicant: XILINX, INC.

    CPC classification number: G06F13/102 G06F13/4221 G06F2213/0026

    Abstract: Embodiments herein describe partitioning an acceleration device based on the needs of each user application executing in a host. In one embodiment, a flexible queue provisioning method allows the acceleration device to be dynamically partitioned by pushing the configuration through a control command queue to the device by management software running in a trusted zone. The new configuration is parsed and verified by trusted firmware, which, then, creates isolated IO command queues on the acceleration device. These IO command queues can be directly mapped to a user application, VM, or other PCIe devices. In one embodiment, each IO command queue exposes only the compute resource assigned by the trusted firmware in the acceleration device.

Patent Agency Ranking