G06F30/323

PLACEMENT OF LOGIC BASED ON RELATIVE ACTIVATION RATES
20230050757 · 2023-02-16 · ·

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 locations on an integrated circuit device for the logic functions using a placement cost minimization function that factors the relative activation rates of the signal connections into placement costs.

PLACEMENT OF LOGIC BASED ON RELATIVE ACTIVATION RATES
20230050757 · 2023-02-16 · ·

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 locations on an integrated circuit device for the logic functions using a placement cost minimization function that factors the relative activation rates of the signal connections into placement costs.

Method and system for converting a single-threaded software program into an application-specific supercomputer

The invention comprises (i) a compilation method for automatically converting a single-threaded software program into an application-specific supercomputer, and (ii) the supercomputer system structure generated as a result of applying this method. The compilation method comprises: (a) Converting an arbitrary code fragment from the application into customized hardware whose execution is functionally equivalent to the software execution of the code fragment; and (b) Generating interfaces on the hardware and software parts of the application, which (i) Perform a software-to-hardware program state transfer at the entries of the code fragment; (ii) Perform a hardware-to-software program state transfer at the exits of the code fragment; and (iii) Maintain memory coherence between the software and hardware memories. If the resulting hardware design is large, it is divided into partitions such that each partition can fit into a single chip. Then, a single union chip is created which can realize any of the partitions.

Hardware-software interaction testing using formal verification

Hardware-software interaction testing is performed using formal verification for language-specified hardware designs. A description of valid access using an interface for a configuration space of a language specified hardware design and a description of a valid output of the language-specified hardware design is received. Formal verification is performed on the language-specified hardware design using the interface for the configuration space according to the description of valid access using the interface. A sequence of access to the configuration space using the interface that causes a failure to produce the valid output of the language-specified hardware design according to the description of valid output to identify as an error for the language-specified hardware design.

INCREASING MANUFACTURING YIELD OF INTEGRATED CIRCUITS BY MODIFYING ORIGINAL DESIGN LAYOUT USING LOCATION SPECIFIC CONSTRAINTS
20180011963 · 2018-01-11 · ·

An integrated device product having objects positioned in accordance with in-situ constraints. Said in-situ constraints comprise predetermined constraints and their local modifications. These local modifications, individually formulated for a specific pair of objects, account for on-the-spot conditions that influence the optimal positioning of the objects. The present invention improves the yield of integrated devices by adding local process modification distances to the predetermined constraints around processing hotspots thus adding extra safety margin to the device yield.

Automatic sequential retry on compilation failure

A compilation system accesses a compilation operations that can be used by a compiler to compile a design under test (DUT). The compilation system can determine a sequence of the compilation operations for the compiler to perform the compilation. The compilation system can detect a failure at a first compilation operation of the sequence of operations during the compilation of the DUT, and the compilation of the DUT can be paused after the failure is detected. The compilation system can determine a second compilation operation of the accessed compilation operations based on one or more netlist parameters of the DUT's netlist. The compilation system then modifies the sequence of compilation operations based on the second compilation operation and resumes the compilation of the DUT at the second compilation operation using the modified sequence of compilation operations.

Automatic sequential retry on compilation failure

A compilation system accesses a compilation operations that can be used by a compiler to compile a design under test (DUT). The compilation system can determine a sequence of the compilation operations for the compiler to perform the compilation. The compilation system can detect a failure at a first compilation operation of the sequence of operations during the compilation of the DUT, and the compilation of the DUT can be paused after the failure is detected. The compilation system can determine a second compilation operation of the accessed compilation operations based on one or more netlist parameters of the DUT's netlist. The compilation system then modifies the sequence of compilation operations based on the second compilation operation and resumes the compilation of the DUT at the second compilation operation using the modified sequence of compilation operations.

METHOD AND APPARATUS FOR AUTOMATIC EXPANSION OF STORAGE ARRAY, DEVICE AND MEDIUM
20230027755 · 2023-01-26 ·

A method for automatic expansion of a storage array includes: acquiring a word-line total number and bit-line total number of a target expanded storage array; calculating a translation amount of a translation array in a translation direction according to the word-line total number and the bit-line total number, a word-line total number and bit-line total number of the translation array and a preset translation rule, and calculating a number of repetitions of a repetition array in a repetition direction according to the translation amount, a word-line total number and bit-line total number of the repetition array and a preset repetition rule; and controlling at least part of the translation array and at least part of the repetition array to translate the translation amount along the translation direction and controlling the repetition array to repeat for the number of repetitions along the repetition direction to obtain the target expanded storage array.

METHOD AND APPARATUS FOR AUTOMATIC EXPANSION OF STORAGE ARRAY, DEVICE AND MEDIUM
20230027755 · 2023-01-26 ·

A method for automatic expansion of a storage array includes: acquiring a word-line total number and bit-line total number of a target expanded storage array; calculating a translation amount of a translation array in a translation direction according to the word-line total number and the bit-line total number, a word-line total number and bit-line total number of the translation array and a preset translation rule, and calculating a number of repetitions of a repetition array in a repetition direction according to the translation amount, a word-line total number and bit-line total number of the repetition array and a preset repetition rule; and controlling at least part of the translation array and at least part of the repetition array to translate the translation amount along the translation direction and controlling the repetition array to repeat for the number of repetitions along the repetition direction to obtain the target expanded storage array.

Method for realizing a neural network

A method for realizing an artificial neural network via an electronic integrated circuit (FPGA), wherein artificial neurons grouped into different interlinked layers for the artificial neural network, where a functional description is created for each neuron of the artificial neural network, taking into account a specifiable starting weighting, a synthesis is performed for each neuron based on the associated functional description with the associated specified starting weighting, a network list is determined as the synthesis result, in which at least a base element and a starting configuration belonging to the base element are stored for each neuron, a base element is formed as a lookup table (LUT) unit and an associated dynamic configuration cell, in which a current configuration for the LUT unit or the base element is stored, and where the network list is implemented as a starting configuration of the artificial neural network in the electronic integrated circuit.