You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This folder contains all the RTL files of the Racetrack memory.
4
+
5
+
Memory organization
6
+
--------------------------
7
+
In the following a brief insight of the hierarchical architecture of the memory will be given.
8
+
The Racetrack memory array is made up by multiple basic elements called Blocks, the required number of Blocks is istantiated automatically based on the memory size. The file `RT_memory` intantiates the required number of Blocks based on the memory parameters.
9
+
Each block is internally divided in multiple Macro Units, 32x32 bits arrays composed by several Racetracks. The file `RT_block` instantiates the required number of Macro Units based on the memory parameters, then hierarchically the file `RT_32_8_4_MU` instantiates all the required Racetracks.
10
+
The Racetrack has a 3D structure composed by four different Racetracks:
11
+
* Logic Racetrack : computes and stores LiM results
12
+
* Data Racetrack : stores standard Data
13
+
* Mask Racetrack : stores Mask values
14
+
* Program Racetrack : stores program bit
15
+
16
+
The file `RT_32_8_4_line` instantiates all the basic Racetrack cells (`pNML_NAND_NOR`, `pNML_NAND_NOR_SOT`, `RT_cell`, `RT_read_write_SOT`) for each of the four different Racetracks.
The Racetrack array is instantiaed in the file `RT_memory`, which wraps the raw memory core and adds surrounding logic for the correct functioning (i.e. `FSM` and `shifter` modules), this module includes also all the logic required for the LiM computations.
The Racetrack memory is capable of parallel LiM store operations by performing parallel accesses in each Block. This feature requires a different word organizayion within the memory.
0 commit comments