Header menu logo issie

MemoryData Module

Functions and values

Function or value Description

dataProblem addressWidth wordWidth data

Full Usage: dataProblem addressWidth wordWidth data

Parameters:
    addressWidth : int
    wordWidth : int
    data : Map<bigint, bigint>

Returns: string option

What is wrong with holding `data` in a memory of these widths, said as one sentence. The lowest offending address is the one named, so that the same data reported twice reports the same location, and the count says how much else is wrong - naming every one of them would be a list as long as the memory.

addressWidth : int
wordWidth : int
data : Map<bigint, bigint>
Returns: string option

dataProblemAtWidths widths data

Full Usage: dataProblemAtWidths widths data

Parameters:
    widths : (int * int) list
    data : Map<bigint, bigint>

Returns: string option

What is wrong with holding `data` in a memory that is EVERY one of these shapes. One memory component has several shapes when its widths are parameters and the sheet it is on is used at several sets of values. Data has to fit all of them - it is one map, copied into every instance - so the shape that fails is the one reported, named so that the message points at a size the user can see in the properties pane rather than at "some instance".

widths : (int * int) list
data : Map<bigint, bigint>
Returns: string option

locationProblem addressWidth wordWidth address value

Full Usage: locationProblem addressWidth wordWidth address value

Parameters:
    addressWidth : int
    wordWidth : int
    address : bigint
    value : bigint

Returns: string option

One location, and what is wrong with holding it in a memory of these widths. Addresses and words are unsigned: a memory location holds a bit pattern, and the sign of the number Issie displays for it is a matter of how the pattern is read, not of what is stored.

addressWidth : int
wordWidth : int
address : bigint
value : bigint
Returns: string option

locationProblemAtWidths widths address value

Full Usage: locationProblemAtWidths widths address value

Parameters:
    widths : (int * int) list
    address : bigint
    value : bigint

Returns: string option

What is wrong with adding this one location to a memory that is every one of these shapes. Written separately from dataProblemAtWidths so that editing one location reports that location rather than the lowest bad address of the whole memory.

widths : (int * int) list
address : bigint
value : bigint
Returns: string option

memoryProblem mem

Full Usage: memoryProblem mem

Parameters:
Returns: string option

What is wrong with the contents a memory is carrying, at its own widths.

mem : Memory1
Returns: string option

Type something to start searching.