用途:把配套 C model 与 RTL 工程当作软硬协同系统处理。Windows 物理机负责文件搜索、阅读、编辑与差异审查;C model 的 C/C++、CMake、Make、Python、Perl、Doxygen、Graphviz、Git 等操作在 Ubuntu vmsw($vmsw)执行;RTL/网表的 VCS 编译仿真回归及 Verdi/DVE、Design Compiler、Formality、SpyGlass 在 CentOS vmhw($vmhw)执行。执行 VM 命令前必须显式调用对应技能并先读其 SKILL.md,技能不可用时停止该阶段并说明,不得静默改用本机或另一台 VM。
主要能力:按目录角色定位任务,参考文件分工为 project-and-environment、c-model-workflow、rtl-workflow、co-design-flow、conventions-and-delivery。C model 手工源为 _cfg.csv 与少量手写代码,_cfg_proc.cpp、_cfg_type.hpp、_cfg.rst 等通常由同目录 _cfg.pl 生成;RTL 编译集合由分层 _inc.f、_lib.f、_rtl.f 驱动,新增源文件须沿层级更新清单。define*.vh 与 undef*.vh 成对维护。dut_setting.vh 与 _dumpDatInp.dat/_dumpDatOut.dat 为软硬接口,字段、位宽、饱和模式、数据顺序或文件名变更须两侧同步。文档可能落后于脚本,以当前源码、Makefile、配置和实测工具为准,且不得硬编码模板样例名。
使用方式:先在 Windows 侧确定 C model 根、RTL 根、目标模块、输入数据与预期产物,查找 AGENTS.md 等局部指令,按任务读相关参考,在 Windows 侧编辑并保持目录层次、相对路径与命名体系。进 VM 前预检共享路径、用 command -v 核对工具、运行无副作用的 make/make cfg_view;优先在独立构建/会话目录运行,两台 VM 不同时写同一输出目录,长任务用专属目录与日志。用退出状态、完整日志、预期产物和结果内容共同判定成功。
限制与安全:runListUpdate.sh 会批量改写格式、重生成文件并删除空目录,执行后须逐项审查差异;make clean、make clean_all、回归与生成脚本含递归删除,执行前核对目标目录。不自动执行 runListPush.sh(样例含对 master 的强制推送),仅在用户明确授权且远端/分支核实后运行。运行内存生成、DC、Formality 等前核对脚本输入、工艺库、约束、工具与许可证。仅在用户明确要求时启动 Verdi、DVE、SimVision、IMC、Quartus 或 Vivado 图形界面;不因商业工具失败静默替换为开源工具。
完成标准:C model 变更需配置生成一致、无警告构建、--dryRun/单次运行通过及回归通过;RTL 变更需清单闭合并在 $vmhw 用 VCS 完成编译、elaboration、单用例仿真和必要回归,再按范围完成 Verdi、SpyGlass、DC 和/或 Formality;软硬一致性要求同配置下 C model 向量被 RTL testbench 消费,正确用例无 ERROR、故意错误用例可被检测。