verylogic Sail ISA Workspace
先理解工作区为什么选择可执行 ISA 语言,再选择一个指令集模块,运行它的模型、学习机器契约,并继续理解配套工具。
为什么需要 ISA 语言?
Sail 位于架构手册与处理器实现之间:它让指令语义可以执行,又不会把某一种流水线、模拟器或证明系统误当成架构本身。
比较 Sail 与自然语言、C/C++、Verilog/SystemVerilog 和证明助理 →
公共教学契约
ISA 模块共享源码 directive、bit-exact/ordered assertion 规则、文件开头的带注释机器映像 manifest block、运行配置覆盖优先级、comment level、strict reload 与 staged publication。
ISA 模块
Hack
nand2tetris 使用的 16 位教学计算机。本仓库用 Sail 建模,并提供汇编器、可运行程序、源码断言和端到端测试。
一个 ISA 模块怎样组织
每个模块从概览和教程开始,随后进入 ISA 指南;实现细节较多的 assembler 和 executor 文档统一放在工具链内部原理分组。公共教学契约定义共享 source/artifact 行为;ISA 页面重点说明 target 语法、编码、完成条件与模型语义。
仓库设置
安装方法、支持平台、工作区命令和新增 ISA 的约定见项目 README。