The DSA libraries form the foundation of the entire project, acting as a bridge between high‑level software and the specialized DSA hardware. Their primary responsibilities are:
-
Instruction Set Core Library
- Encapsulates all architectural primitives: opcodes, operand formats, and execution semantics.
- Supplies utility functions to build, validate, and serialize instruction streams.
-
Assembler Support
- Translates DSA assembly language into binary instruction packets that the hardware can execute.
- Implements directives for sectioning, alignment, and relocation handling.
-
High‑Level Language Compiler (DSC) Runtime
- Generates DSA bytecode from DSC source files, leveraging the core library for instruction encoding.
- Offers debugging hooks, profiling counters, and exception handling mechanisms.
-
Testing & Verification Utilities
- Contains unit tests that run against both emulated and real hardware to ensure correctness.
- Provides logging facilities for low‑level bus transactions and performance metrics.