Xilinx Patent Applications

RESOURCE ESTIMATION FOR IMPLEMENTING CIRCUIT DESIGNS WITHIN AN INTEGRATED CIRCUIT

Granted: May 11, 2023
Application Number: 20230144285
Resource estimation for implementing circuit designs in an integrated circuit (IC) can include detecting, using computer hardware, a plurality of Intellectual Property (IP) cores within a circuit design, extracting, using the computer hardware and from the circuit design, parameterizations for the plurality of IP cores as used in the circuit design, and selecting, using the computer hardware, a machine learning (ML) model corresponding to each IP core, wherein each selected ML model is…

CIRCUITS AND METHODS FOR MULTIPLYING LARGE INTEGERS OVER A FINITE FIELD

Granted: May 11, 2023
Application Number: 20230142818
Multiplication of integers over a finite field involves an array of arithmetic circuits configured to input a-limbs, d-limbs, and r-limbs. The array determines an intermediate term, Z, having z-limbs 0 through Kby determining respective sets of intermediate z-limbs 0 through K- 1 for r-limbs i for i = 0 to K - 1, and summing corresponding ones of the intermediate z-limbs of sets i through K - 1. The arithmetic circuits determine for r-limb 0, intermediate z-limbs 0 through K - 1 of set 0…

DYNAMIC PORT HANDLING FOR ISOLATED MODULES AND DYNAMIC FUNCTION EXCHANGE

Granted: May 11, 2023
Application Number: 20230148419
Dynamic port handling for circuit designs can include inserting, within a static isolated module of a circuit design, static drivers configured to drive isolated modules of reconfigurable module (RM) instances for inclusion in an RM of the circuit design. For each RM instance of a plurality of RM instances to be inserted into the RM, one or more additional ports can be inserted in the RM based on a number of isolated modules included in a current RM instance. Further, net(s)…

RESOURCE ESTIMATION FOR IMPLEMENTING CIRCUIT DESIGNS WITHIN AN INTEGRATED CIRCUIT

Granted: May 11, 2023
Application Number: 20230144285
Resource estimation for implementing circuit designs in an integrated circuit (IC) can include detecting, using computer hardware, a plurality of Intellectual Property (IP) cores within a circuit design, extracting, using the computer hardware and from the circuit design, parameterizations for the plurality of IP cores as used in the circuit design, and selecting, using the computer hardware, a machine learning (ML) model corresponding to each IP core, wherein each selected ML model is…

CIRCUITS AND METHODS FOR MULTIPLYING LARGE INTEGERS OVER A FINITE FIELD

Granted: May 11, 2023
Application Number: 20230142818
Multiplication of integers over a finite field involves an array of arithmetic circuits configured to input a-limbs, d-limbs, and r-limbs. The array determines an intermediate term, Z, having z-limbs 0 through Kby determining respective sets of intermediate z-limbs 0 through K- 1 for r-limbs i for i = 0 to K - 1, and summing corresponding ones of the intermediate z-limbs of sets i through K - 1. The arithmetic circuits determine for r-limb 0, intermediate z-limbs 0 through K - 1 of set 0…

DATA PROCESSING ENGINE ARRANGEMENT IN A DEVICE

Granted: April 27, 2023
Application Number: 20230131698
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…

CIRCUIT DESIGN SIMULATION AND CLOCK EVENT REDUCTION

Granted: April 13, 2023
Application Number: 20230114858
Circuit design simulation and clock event reduction may include detecting, using computer hardware, a plurality of models of a circuit design driven by a clock source by parsing the circuit design. The circuit design is a mixed language circuit design including a hardware description language (HDL) model and a high-level programming language (HLPL) model. Using the computer hardware, a clock requirement for the HLPL model for a simulation of the circuit design may be determined. The…

DATA TRAFFIC INJECTION FOR SIMULATION OF CIRCUIT DESIGNS

Granted: April 13, 2023
Application Number: 20230113197
Computer-based simulation of a device under test (DUT) corresponding to a user circuit design includes providing an adapter configured to couple to the DUT during the computer-based simulation (simulation). The adapter is configured to translate incoming high-level programming language (HLPL) transactions into DUT compatible data for conveyance to the DUT and translate DUT compatible data generated by the DUT to outgoing HLPL transactions. A communication server is provided that couples…

PRE-CARRY DATA PROCESSING APPARATUS AND METHOD

Granted: April 13, 2023
Application Number: 20230111257
Disclosed approaches for accumulating pre-carry data include initializing hold sum to a sum of a LSB of the first pre-carry word of an input stream and an MSB of a second pre-carry word by a pre-carry processing circuit. For successive pre-carry words, the LSB of pre-carry word i and the MSB of pre-carry word i+1 are summed into a next sum. An FFcount is incremented by an adder circuit if the LSB of the next sum is equal to 0xFF. If the LSB of the next sum is not equal to 0xFF, the…

SCALABLE SCRIBE REGIONS FOR IMPLEMENTING USER CIRCUIT DESIGNS IN AN INTEGRATED CIRCUIT USING DYNAMIC FUNCTION EXCHANGE

Granted: March 30, 2023
Application Number: 20230098098
Using scalable scribe regions for implementing a user circuit design includes generating a scribe region having a plurality of contours for a static top design of a circuit design for an integrated circuit. The static top design is configured to integrate with a user circuit design in the integrated circuit. Each contour defines a different size of the scribe region having a boundary that extends outward in at least one direction from a boundary of a floorplan area of the static top…

CIRCUIT ARCHITECTURE FOR DETERMINING THRESHOLD RANGES AND VALUES OF A DATASET

Granted: March 30, 2023
Application Number: 20230096400
An electronic system includes a mapping circuit configured to receive input samples of a dataset within a defined range of values. The mapping circuit is configured to perform comparisons that compare each input sample to each of a plurality of comparison values selected from the defined range of values. For each comparison, the mapping circuit generates an indication value specifying whether the input sample used in the comparison is greater than or equal to the comparison value used in…

PREDICTION AND OPTIMIZATION OF MULTI-KERNEL CIRCUIT DESIGN PERFORMANCE USING A PROGRAMMABLE OVERLAY

Granted: March 2, 2023
Application Number: 20230065842
Predicting performance of a circuit design includes determining memory access patterns of kernels of the circuit design for implementation in an integrated circuit (IC) and generating a plurality of different floorplans. Each floorplan specifies a mapping of memory interfaces of the kernels to memories of the selected IC and an allocation of the kernels to a plurality of programmable pattern generator (PPG) circuit blocks of a circuit architecture implemented in the IC. The plurality of…

CONTROLLING A DATA PROCESSING ARRAY USING AN ARRAY CONTROLLER

Granted: February 23, 2023
Application Number: 20230057903
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…

FLAT SHELL FOR AN ACCELERATOR CARD

Granted: February 23, 2023
Application Number: 20230055704
Using a flat shell for an accelerator card includes reading a flat shell from one or more computer readable storage media using computer hardware, wherein the flat shell is a synthesized, unplaced, and unrouted top-level circuit design specifying platform circuitry. A kernel specifying user circuitry is synthesized using the computer hardware. The kernel is obtained from the one or more computer readable storage media. The synthesized kernel is linked, using the computer hardware, to the…

MULTIPLE OVERLAYS FOR USE WITH A DATA PROCESSING ARRAY

Granted: February 23, 2023
Application Number: 20230053537
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…

PLACEMENT OF LOGIC BASED ON RELATIVE ACTIVATION RATES

Granted: February 16, 2023
Application Number: 20230050757
Approaches for placing logic of a circuit design include determining respective relative activation rates of control paths in a high-level language (HLL) program by a design tool. The HLL program specifies a circuit design. The design tool compiles the HLL program into logic functions and determines respective relative activation rates of signal connections between the logic functions based on the relative activation rates of the control paths in the HLL program. The design tool selects…

PLACEMENT OF LOGIC BASED ON RELATIVE ACTIVATION RATES

Granted: February 16, 2023
Application Number: 20230050757
Approaches for placing logic of a circuit design include determining respective relative activation rates of control paths in a high-level language (HLL) program by a design tool. The HLL program specifies a circuit design. The design tool compiles the HLL program into logic functions and determines respective relative activation rates of signal connections between the logic functions based on the relative activation rates of the control paths in the HLL program. The design tool selects…

PLACEMENT OF LOGIC BASED ON RELATIVE ACTIVATION RATES

Granted: February 16, 2023
Application Number: 20230050757
Approaches for placing logic of a circuit design include determining respective relative activation rates of control paths in a high-level language (HLL) program by a design tool. The HLL program specifies a circuit design. The design tool compiles the HLL program into logic functions and determines respective relative activation rates of signal connections between the logic functions based on the relative activation rates of the control paths in the HLL program. The design tool selects…

LEARNING-BASED POWER MODELING OF A PROCESSOR CORE AND SYSTEMS WITH MULTIPLE PROCESSOR CORES

Granted: February 9, 2023
Application Number: 20230044581
Learning-based power modeling of a processor core includes generating, using computer hardware, pipeline snapshot data specifying a plurality of snapshots for a pipeline of a processor core. Each snapshot specifies a state of the pipeline for a clock cycle in executing a computer program over a plurality of clock cycles. A plurality of estimates of power consumption for the processor core in executing the computer program for the plurality of clock cycles are determined, using an…

LEARNING-BASED POWER MODELING OF A PROCESSOR CORE AND SYSTEMS WITH MULTIPLE PROCESSOR CORES

Granted: February 9, 2023
Application Number: 20230044581
Learning-based power modeling of a processor core includes generating, using computer hardware, pipeline snapshot data specifying a plurality of snapshots for a pipeline of a processor core. Each snapshot specifies a state of the pipeline for a clock cycle in executing a computer program over a plurality of clock cycles. A plurality of estimates of power consumption for the processor core in executing the computer program for the plurality of clock cycles are determined, using an…