Skip to main content

Module memory

Module memory 

Source

Constantsยง

CLK_COL_IDX
Column for the clock cycle in which the memory operation occurred.
CTX_COL_IDX
Column to hold the context ID of the current memory context.
D0_COL_IDX
Column for the lower 16-bits of the delta between two consecutive context IDs, addresses, or clock cycles.
D1_COL_IDX
Column for the upper 16-bits of the delta between two consecutive context IDs, addresses, or clock cycles.
D_INV_COL_IDX
Column for the inverse of the delta between two consecutive context IDs, addresses, or clock cycles, used to enforce that changes are correctly constrained.
FLAG_SAME_CONTEXT_AND_WORD
Column to hold the flag indicating whether the current memory operation is in the same word and same context as the previous operation.
IDX0_COL_IDX
Column to hold the first bit of the index of the address in the word.
IDX1_COL_IDX
Column to hold the second bit of the index of the address in the word.
IS_READ_COL_IDX
Column to hold whether the operation is a read or write.
IS_WORD_ACCESS_COL_IDX
Column to hold the whether the operation was over an element or a word.
MEMORY_ACCESS_ELEMENT
Specifies the value of the ELEMENT_OR_WORD column when the operation is over an element.
MEMORY_ACCESS_WORD
Specifies the value of the ELEMENT_OR_WORD column when the operation is over a word.
MEMORY_READ
Specifies the value of the READ_WRITE column when the operation is a read.
MEMORY_READ_ELEMENT_LABEL
Unique label when r/w=1 and e/w=0, computed as the full chiplet selector with the bits reversed, plus one. selector = [1, 1, 0 | 1, 0], flag = rev(selector) + 1 = [0, 1 | 0, 1, 1] + 1 = 12
MEMORY_READ_WORD_LABEL
Unique label when r/w=1 and e/w=1, computed as the full chiplet selector with the bits reversed, plus one. selector = [1, 1, 0 | 1, 1], flag = rev(selector) + 1 = [1, 1 | 0, 1, 1] + 1 = 28
MEMORY_WRITE
Specifies the value of the READ_WRITE column when the operation is a write.
MEMORY_WRITE_ELEMENT_LABEL
Unique label when r/w=0 and e/w=0, computed as the full chiplet selector with the bits reversed, plus one. selector = [1, 1, 0 | 0, 0], flag = rev(selector) + 1 = [0, 0 | 0, 1, 1] + 1 = 4
MEMORY_WRITE_WORD_LABEL
Unique label when r/w=0 and e/w=1, computed as the full chiplet selector with the bits reversed, plus one. selector = [1, 1, 0 | 0, 1], flag = rev(selector) + 1 = [1, 0 | 0, 1, 1] + 1 = 20
TRACE_WIDTH
Number of columns needed to record an execution trace of the memory chiplet.
V_COL_RANGE
Columns to hold the values stored at a given memory context, word, and clock cycle after the memory operation. When reading from a new word, these are initialized to zero.
WORD_COL_IDX
Column to hold the word (i.e. group of 4 memory slots, referred to by the address of the first slot in the word).