Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND DEVICE FOR THE CONCEPTION OF A COMPUTATIONAL MEMORY CIRCUIT
Document Type and Number:
WIPO Patent Application WO/2021/156420
Kind Code:
A4
Abstract:
The present disclosure relates to a method of circuit conception of a computational memory circuit (106) comprising a memory having memory cells, the method comprising: receiving an indication of the memory storage size and an indication of an instruction frequency of the instructions to be executed by the computational memory circuit; evaluating for a plurality of candidate types of memory cells, a number representing an average number of cycles of the memory of the computational memory circuit per instruction to be executed; determining, for each of the plurality of candidate types of memory cells, a minimum operating frequency of the computational memory circuit based on the number N and on the memory storage size; selecting one of the plurality of candidate types of memory cells based on the determined minimum operating frequency; and performing the circuit conception based on the selected type of candidate memory cell.

Inventors:
NOEL JEAN-PHILIPPE (FR)
EGLOFF VALENTIN (FR)
GIRAUD BASTIEN (FR)
PHILIPPE ANTOINE (FR)
Application Number:
PCT/EP2021/052769
Publication Date:
October 28, 2021
Filing Date:
February 05, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
COMMISSARIAT ENERGIE ATOMIQUE (FR)
International Classes:
G06F30/30; G06F30/337
Attorney, Agent or Firm:
CABINET BEAUMONT (FR)
Download PDF:
Claims:
51

AMENDED CLAIMS received by the International Bureau on 08 September 2021 (08.09.2021)

1.A method of circuit conception of a computational memory circuit (106) comprising a memory (132) having memory cells, the method comprising:

- receiving, by a computing device (1100), an indication of a memory storage size of the memory (132) of the computational memory circuit (106) and an indication of an instruction frequency (finst) of the instructions to be executed by the computational memory circuit (106); evaluating, by the computing device (1100) for a plurality of candidate types of memory cells for implementing the memory cells of the memory (132) of the computational memory circuit, a number (N) representing an average number of cycles of the computational memory circuit (106) per instruction to be executed by the computational memory circuit (106), wherein each of the candidate types of memory cells differs from the other candidate types of memory cells in terms of the number of read and/or write operations capable of being performed during a memory access cycle;

- determining, by the computing device (1100), for each of the plurality of candidate types of memory cells, a minimum operating frequency (fsRAMmin) of the memory (132) of the computational memory circuit (106) based on the number N and on the memory storage size;

- selecting one of the plurality of candidate types of memory cells based on the determined minimum operating frequency (fsRAMmin); and

- performing, by the computing device (1100), the circuit conception based on the selected type of candidate memory cell.

2. The method of claim 1, further comprising, prior to selecting one of the candidate types: 52

- determining, by the computing device (1100) for each of the plurality of candidate types of memory cells, and for example using a look-up table, a maximum operating frequency (fsRM max) of the computational memory circuit (106), wherein selecting one of the candidate types comprises:

- selecting, by the computing device (1100), one of the plurality of candidate types of memory cells for which the maximum operating frequency is greater than the minimum operating frequency of the computational memory circuit (106).

3. The method of claim 2, wherein the computing device is configured to calculate the minimum operating frequency fSRAM min based on the following formula: fSRAM_min = N*fj_nst where finst is the indication of the instruction frequency and N is said number.

4. The method of any of claims 2 or 3, wherein selecting, by the computing device (1100), one of the plurality of candidate types of memory cells is further based on a determination of the highest performing candidate memory cell, among the plurality of candidate types of memory cells, in terms of operating frequency of the computational memory circuit, surface area of the computational memory circuit and/or power consumption of the computational memory circuit.

5. The method of any of claims 1 to 4, further comprising, prior to determining the minimum operating frequency (fsRAM min) performing, by the computing device, a pre¬ selection phase comprising:

- determining, by the computing device (1100) for each candidate type of an initial set of candidate types of memory cells, a maximum operating frequency (fsRM max) of the computational memory circuit (106); evaluating, by the computing device (1100) for each candidate type of the initial set, the average number (N) representing the number of cycles of the computational memory circuit (106) per instruction to be executed by the computational memory circuit (106);

- determining, by the computing device (1100), for each candidate type of the initial set, a maximum instruction frequency (finst max) of the computational memory circuit (106) based on the number N and on the memory storage size; and

- selecting, by the computing device (1100), the plurality of candidate types from the initial set based on the determined maximum instruction frequencies.

6. The method of claim 5, wherein the computing device is configured to calculate the maximum instruction frequency finst max based on the following formula: finst_max = fsRAM_max/N where fSRAM max is the maximum operating frequency and N is said number.

7. The method of any of claims 2 to 6, wherein the maximum operating frequency (fSRAM max) is determined by the computing device based on one or more of: the type of the candidate memory cells; the memory storage size; the number of cuts forming the computational memory circuit (106).

8. The method of any of claims 1 to 7, wherein N is evaluated based on a highest instruction length among instructions of an instruction set to be executed by the computational memory circuit.

9.The method of claim 8, wherein the instruction set consists of instructions having a fixed length equal to said highest instruction length defined, for example, by a 3-operand operation .

10. The method of any of claims 1 to 7, wherein N is evaluated based on an indication of at least one instruction type to be executed by the computational memory circuit, and/or on an indication of a number and type of operations of each instruction type to be executed by the computational memory circuit.

11. The method of claim 10, wherein N is further evaluated based on an indication of a relative occurrence distribution of each instruction type to be executed by the computational memory circuit.

12. The method of any of claims 1 to 11, wherein the plurality of candidate types of memory cells comprises at least some or all of the following static random access memory cell types:

- a 1RW cell type in which at most a single read or write operation can be performed during each memory access cycle;

- a 1R1W cell type in which at most a single read operation and a single write operation can be performed during each memory access cycle;

- a 1R1RW cell type in which at most a single read operation and either a single further read operation, or a single write operation, can be performed during each memory access cycle;

- a 2RW cell type in which at most two operations, each of which is either a read or write, can be performed during each memory access cycle; 55

- a 2R1W cell type in which at most two read operations and a single write operation can be performed during each memory access cycle;

- a 2R2W cell type in which at most two read operations and two write operations can be performed during each memory access cycle;

- a 2R2RW cell type in which at most two read operations and two further operations, each of which is either a read or a write, can be performed during each memory access cycle; and

- a 4RW cell type in which at most four operations, each of which is either a read or a write, can be performed during each memory access cycle.

13. The method of any of claims 1 to 12, wherein N is evaluated as being:

- equal to 3 for a first class of the candidate types of memory cells (1RW) capable of performing a single read or write operation during each memory access cycle;

- equal to 2 for a second class of the candidate types of memory cells (1R1W, 1R1RW, 2RW) capable of performing more than a single read or write operation, and up to two read or write operations, during each memory access cycle; and

- equal to 1 for a third class of the candidate types of memory cells (2R1W) capable of performing two read operations and a single write operation during each memory access cycle.

14. The method of any of claims 1 to 13, wherein performing the circuit conception based on the selected type of candidate memory cell comprises generating, by the computing device (1100), for the selected type of candidate memory cell, one or more digital design files representing 56 an implementation of the computational memory circuit (106) having memory cells of the selected type and one or more processing elements for implementing the at least one operation .

15. A method of conception and fabrication of a computational memory circuit (106) comprising:

- the conception of the computational memory circuit (106) according to claim 14; and

- the fabrication of the computational memory circuit based on the one or more digital design files.

16. A computing device (1100) for circuit conception of a computational memory circuit (106) comprising a memory (132) having memory cells, the computing device comprising one or more processors (1102) under control of instructions stored in an instruction memory (1104), the computing device (1100) being configured to:

- receive an indication of a memory storage size of the memory (132) of the computational memory circuit (106) and an indication of an instruction frequency (finst) of the instructions to be executed by the computational memory circuit (106);

- evaluate, for a plurality of candidate types of memory cells for implementing the memory cells of the memory (132) of the computational memory circuit, a number (N) representing an average number of cycles of the computational memory circuit (106) per instruction to be executed by the computational memory circuit (106), wherein each of the candidate types of memory cells differs from the other candidate types of memory cells in terms of the number of read and/or write operations capable of being performed during a memory access cycle;

- determine, for each of the plurality of candidate types 57 of memory cells, a minimum operating frequency (fsRAMmin) based on the number N and on the memory storage size;

- select one of the plurality of candidate types of memory cells based on the determined minimum operating frequency value (fsRAM_min); and

- perform the circuit conception based on the selected type of candidate memory cell.

17. A computational memory circuit (106) having an input coupled to a system bus (130, 2612), the computation memory circuit comprising:

- a static random access memory (132, 2602); and

- a digital wrapper (134, 2604) comprising a data processing circuit configured to decode instructions and perform data processing operations on operands, wherein the digital wrapper provides an interface between the system bus input and the static random access memory, and wherein the data processing circuit is configured to execute only instructions that are defined by an instruction set, each instruction of the instruction set being configured to have a same instruction length in terms of the number of execution cycles over which it is executed.