diff --git a/CMakeLists.txt b/CMakeLists.txt index d4410fd..f379443 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -41,11 +41,11 @@ add_library(linx::model ALIAS linx_model) add_custom_target( gen-isa-codec COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tools/isa/gen_minst_codec.py" - --spec "${CMAKE_CURRENT_SOURCE_DIR}/../../isa/v0.4/linxisa-v0.4.json" + --spec "${CMAKE_CURRENT_SOURCE_DIR}/../../isa/v0.56/linxisa-v0.56.json" --header "${CMAKE_CURRENT_SOURCE_DIR}/include/linx/model/isa/generated_tables.hpp" --source "${CMAKE_CURRENT_SOURCE_DIR}/src/isa/generated_tables.cpp" WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" - COMMENT "Regenerating committed LinxISA v0.4 Minst codec tables") + COMMENT "Regenerating committed LinxISA v0.56 Minst codec tables") target_include_directories( linx_model diff --git a/README.md b/README.md index 3d45012..b3fc5f1 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ state. - `SimQueue` models latency-aware, cycle-visible FIFO movement for value payloads, `std::unique_ptr`, and `std::shared_ptr`. - `isa::Minst` is the single in-flight uop payload. Fetch allocates - `MinstPtr`, decode populates generated LinxISA v0.4 fields, and retire/flush + `MinstPtr`, decode populates generated LinxISA v0.56 fields, and retire/flush or DFX consumes the same object. - `ProgramImage` plus the ELF/raw loader and ISA disassembler let the model CLI load a binary, decode instructions, and print assembly directly from the @@ -71,7 +71,7 @@ ctest --test-dir build-sanitize --output-on-failure semantics - [`docs/testing.md`](./docs/testing.md) UT / ST / checks / sanitizers - [`docs/logging.md`](./docs/logging.md) structured log format and packet dump -- [`docs/isa.md`](./docs/isa.md) generated LinxISA v0.4 codec and `Minst` +- [`docs/isa.md`](./docs/isa.md) generated LinxISA v0.56 codec and `Minst` packet contract Doxygen can be generated locally with: diff --git a/docs/architecture.md b/docs/architecture.md index b2d724d..2fca29b 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -41,7 +41,7 @@ Within each `Module`, `WorkSelf()` is event-driven: repository. - fetch allocates `MinstPtr` -- decode fills generated v0.4 form metadata and canonical decoded fields +- decode fills generated v0.56 form metadata and canonical decoded fields - middle pipeline stages inspect or extend typed views on the same packet - retire, flush, or DFX consumes and destroys the packet, or converts it to shared ownership only at terminal boundaries diff --git a/docs/isa.md b/docs/isa.md index e1ab87d..1f440c7 100644 --- a/docs/isa.md +++ b/docs/isa.md @@ -2,10 +2,10 @@ ## Scope -`linx-model` ships a committed generated LinxISA v0.4 codec for `isa::Minst`. +`linx-model` ships a committed generated LinxISA v0.56 codec for `isa::Minst`. The source of truth is: -- `/Users/zhoubot/linx-isa/isa/v0.4/linxisa-v0.4.json` +- `/Users/zhoubot/linx-isa/isa/v0.56/linxisa-v0.56.json` The generated C++ tables are committed under: diff --git a/src/emulator/minst_record.cpp b/src/emulator/minst_record.cpp index 6bf29c9..ad67b44 100644 --- a/src/emulator/minst_record.cpp +++ b/src/emulator/minst_record.cpp @@ -50,7 +50,7 @@ void FillOperand(LinxMinstOperandRecordC &dst, const isa::MinstOperand *src) { [[nodiscard]] std::size_t BytesForLen(std::uint32_t len_bits) { LINX_MODEL_ASSERT_MSG(len_bits % 8U == 0U, "minst trace len must be byte-aligned"); LINX_MODEL_ASSERT_MSG(len_bits >= 16U && len_bits <= 64U, - "minst trace len must stay within v0.4 fetch sizes"); + "minst trace len must stay within v0.56 fetch sizes"); return static_cast(len_bits / 8U); } diff --git a/tools/isa/gen_minst_codec.py b/tools/isa/gen_minst_codec.py index 82748c2..e8202ff 100755 --- a/tools/isa/gen_minst_codec.py +++ b/tools/isa/gen_minst_codec.py @@ -298,7 +298,7 @@ def main() -> int: parser = argparse.ArgumentParser() parser.add_argument( "--spec", - default="/Users/zhoubot/linx-isa/isa/v0.4/linxisa-v0.4.json", + default="/Users/zhoubot/linx-isa/isa/v0.56/linxisa-v0.56.json", ) parser.add_argument( "--header",