Skip to main content

PTO-TILE-MODEL-MEMORY-ADDRESSING

PTO-TILE-MODEL-MEMORY-ADDRESSING

ASL pseudocode

The complete ASL owner is shown directly below.

// PTO-UNIT: {"id":"PTO-TILE-MODEL-MEMORY-ADDRESSING","surface":"tile","classification":["model","memory","addressing"],"depends_on":["PTO-TILE-MODEL-MEMORY-SHARED-MOVEMENT"]}pure func TileMemoryElementBytes(data_type: TileDataType) => integer {1,2,4,8}begin    // PTO-v0 TLSU exposes four-bit elements through byte-sized containing    // accesses. Tile capacity remains packed in TileInfo.    if TileDataTypeIsFourBit(data_type) then return 1;    else return TileElementBytes(data_type);    end;end;
readonly func TileMemoryElementAddress(base_address: Word,                                       element: ModelTileElementIndex,                                       data_type: TileDataType) => Wordbegin    if TileDataTypeIsFourBit(data_type) then        let offset = (element DIVRM 2) as integer {0..262144};        return base_address + NaturalToWord(offset);    else        let element_bytes = TileElementBytes(data_type);        let offset = (element * element_bytes) as integer {0..262144};        return base_address + NaturalToWord(offset);    end;end;
readonly func TileMemoryIndexedAddress(base_address: Word,                                       index_value: Word,                                       data_type: TileDataType) => Wordbegin    if TileDataTypeIsFourBit(data_type) then        return base_address + ZeroExtend{PTO_XLEN}(index_value[63:1]);    else        let element_bytes = TileElementBytes(data_type);        let byte_width = NaturalToWord(element_bytes as integer {0..262144});        return base_address + MultiplyWord(index_value, byte_width);    end;end;
readonly func TileMemoryElementHighNibble(element: ModelTileElementIndex,                                          data_type: TileDataType) => booleanbegin    return TileDataTypeIsFourBit(data_type) && element MOD 2 == 1;end;
readonly func TileMemoryIndexedHighNibble(index_value: Word,                                          data_type: TileDataType) => booleanbegin    return TileDataTypeIsFourBit(data_type) && index_value[0] == '1';end;
pure func TileIndexByteDisplacement(index_value: Word,                                    index_data_type: TileDataType) => Wordbegin    assert TileDataTypeIsInteger(index_data_type);    case index_data_type of        when TileDataType_S4X2 =>            return SignExtend{PTO_XLEN}(index_value[3:0]);        when TileDataType_S8 =>            return SignExtend{PTO_XLEN}(index_value[7:0]);        when TileDataType_S16 =>            return SignExtend{PTO_XLEN}(index_value[15:0]);        when TileDataType_S32 =>            return SignExtend{PTO_XLEN}(index_value[31:0]);        when TileDataType_S64 => return index_value;        when TileDataType_U4X2 =>            return ZeroExtend{PTO_XLEN}(index_value[3:0]);        when TileDataType_U8 =>            return ZeroExtend{PTO_XLEN}(index_value[7:0]);        when TileDataType_U16 =>            return ZeroExtend{PTO_XLEN}(index_value[15:0]);        when TileDataType_U32 =>            return ZeroExtend{PTO_XLEN}(index_value[31:0]);        when TileDataType_U64 => return index_value;        otherwise => unreachable;    end;end;
pure func TileMemoryByteDisplacementAddress(    base_address: Word, index_value: Word,    index_data_type: TileDataType) => Wordbegin    return base_address +        TileIndexByteDisplacement(index_value, index_data_type);end;

Architecture behavior

This internal model unit is documented through its normative ASL/NDF owners and validation evidence; it has no reader-guide migration target.

NDF clauses

Bodies come from owning ASL. Dragging or buttons change only this page-session view order.

No NDF clause is attached to this unit.

Evidence index

6 matching entries

Executable evidence1
  • PTO-TILE-MODEL-MEMORY-ADDRESSING compiles as an independent normative unit
    1. surfaceTILE
    2. ownerPTO-TILE-MODEL-MEMORY-ADDRESSING
    3. categorySTATIC-INVARIANT
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-TILE-MODEL-MEMORY-ADDRESSING-STATIC-001
    Path
    tests/asl/tile/model/memory/addressing/tile-static-addressing-contract-001.asl
    Kind / role
    static-invariant
    Pass condition
    the complete model and this unit's static invariant compile
    SHA-256
    8dd41674f5756fd34f427085bfc76c810a6f1915d8b709e3a3248a619abad9d8
    Open exact source ↗ for PTO-AVS-TILE-MODEL-MEMORY-ADDRESSING-STATIC-001
Commit-scoped evidence5
  • spec/evidence/release-traceability-readiness.json · closedPTO-EVIDENCE-RELEASE-TRACEABILITY
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-RELEASE-TRACEABILITY
    Path
    spec/evidence/release-traceability-readiness.json
    Kind / role
    ASL/NDF/documentation/AVS traceability
    SHA-256
    c7327021d39dc67ac5564bc55073b3870a397d79ac8d9648284d56e33bc14a3e
    Open exact source ↗ for PTO-EVIDENCE-RELEASE-TRACEABILITY
  • spec/evidence/instruction-contract-closure.json · closedPTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSURE
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSURE
    Path
    spec/evidence/instruction-contract-closure.json
    Kind / role
    mnemonic and encoding contract closure
    SHA-256
    3ef2bb62421c79dff8fa77a1c7983923b523244b8090812883ef81286ca8106a
    Open exact source ↗ for PTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSURE
  • spec/evidence/architecture-readiness.json · openPTO-EVIDENCE-ARCHITECTURE-READINESS
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-ARCHITECTURE-READINESS
    Path
    spec/evidence/architecture-readiness.json
    Kind / role
    architecture maturity and blockers
    SHA-256
    4b0b85199101251bea744e0f3591cc31906909dc80d5ab651c417a936036a004
    Open exact source ↗ for PTO-EVIDENCE-ARCHITECTURE-READINESS
  • spec/evidence/release-gate-readiness.json · ready-for-exact-head-verificationPTO-EVIDENCE-RELEASE-GATE-READINESS
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-RELEASE-GATE-READINESS
    Path
    spec/evidence/release-gate-readiness.json
    Kind / role
    exact-head gate readiness
    SHA-256
    a0f4d2b6920c08981ea55fd8ef820708a40d4feb5402c5150e8e9ab532d84ce0
    Open exact source ↗ for PTO-EVIDENCE-RELEASE-GATE-READINESS
  • spec/release-manifest.json · draftPTO-EVIDENCE-RELEASE-MANIFEST
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-RELEASE-MANIFEST
    Path
    spec/release-manifest.json
    Kind / role
    release content and encoding fingerprints
    SHA-256
    1a64c109ed7a90351c41e2a418b3c0ebaf8ad975838986d2101385186b85c0d8
    Open exact source ↗ for PTO-EVIDENCE-RELEASE-MANIFEST

Unit metadata

Open 4 generated metadata fields
id
PTO-TILE-MODEL-MEMORY-ADDRESSING
surface
tile
classification
[
  "model",
  "memory",
  "addressing"
]
depends_on
[
  "PTO-TILE-MODEL-MEMORY-SHARED-MOVEMENT"
]
Open generated traceability record
{
  "classification": [
    "model",
    "memory",
    "addressing"
  ],
  "documentation": "docs/tile/model/memory/addressing.md",
  "id": "PTO-TILE-MODEL-MEMORY-ADDRESSING",
  "mnemonic": null,
  "readiness_subjects": [],
  "semantic_tests": [],
  "source": "asl/tile/model/memory/addressing.asl",
  "surface": "tile",
  "tests": [
    "PTO-AVS-TILE-MODEL-MEMORY-ADDRESSING-STATIC-001"
  ]
}

Sources and release identity

Show commit, paths, hashes, version, and canonical owners
Release
0.58.5 · Release candidate
Commit
7dc8b7e5b121d2b2499a2273bebff29e2cd86812
ASL SHA-256
d6e975064e98ead3e19cef020acc7c9b50687e1106c8380b172b0acb7004faef
Generated documentation
docs/tile/model/memory/addressing.md · embedded in this page
Documentation SHA-256
46680d32a95fb3c79a7787aba452e76cc624f836af30281336a255502fcd748c

Exact owners