在 ACE-Echo 中,任务(task)包含用 Venus C 编写的计算,DAG通过输入和返回值连接任务。选择的后端(backend)保证编译器几何参数、内存约定和仿真设置一致。

  1. 01定义输入、输出与参考
  2. 02开发Venus C 任务 + BAS DAG
  3. 03仿真Gem5 与指定后端
  4. 04评估输出一致性 + 时序
ACE-Echo 1.0 软件开发循环。硬件和 RTL 验证是独立步骤。

从可运行示例开始

完成安装后,查看 workloads/5g_lite/tasks/forge_vector_smoke/。其中包含两个 C 任务、一个 BAS 图和一个小型主机参考。第一个任务将两个有符号向量相加,第二个任务使用上游结果还原第一个输入。smoke 会检查其声明用例的完整输出。

forge_vector_smoke/
├── Task_forgeAdd.c
├── Task_forgeRestore.c
├── forge_vector_smoke.bas
├── reference.py
└── run.py

分清各项约定

约定 需要明确的内容
数值行为 元素类型、有无符号、溢出、舍入与预期输出
任务接口 输入顺序、返回值与实际返回字节数
图 任务依赖与对外暴露的应用输出
硬件 编译和仿真共同使用的唯一明确后端
验证依据 输入用例、参考结果、输出覆盖范围与计时间隔

Venus 指南介绍任务代码,DSL 指南介绍 BAS 和编译,Scheduler 指南介绍应用契约执行。

运行与检查

make smoke

安装 smoke 会创建新的运行目录。常规 CLI 操作在 runs/ 下记录命令、日志与产物身份;当所选操作产生 Gem5 输出及任务/DAG 跟踪时,也会收集这些文件。请通过生成的运行清单查找产物,不要假定仍使用旧版 Debug/emular_vins_result/ 目录。

Fast 模式是常规开发路径。它保留时序模型,同时减少昂贵的观测;仿真器一致性与独立算法正确性仍需要分别检查。

使用 Agent 辅助开发

Forge 初始化并记录请求。AI 编程宿主读取仓库技能,在开发者指导下驱动编译、运行与比较操作。见 Forge 入门说明。

早期任务目录截图和 VEMU 操作说明保存在原编程指南源码中,描述的是旧版工作流。