乐于分享
好东西不私藏

让 AI 助手直接接管 EDA 命令行:免费工具 2cli 安装、实测与案例全记录

让 AI 助手直接接管 EDA 命令行:免费工具 2cli 安装、实测与案例全记录

从安装到实测,AI 接管 dc_shell 的完整记录

UltraEDA 技术专栏

做数字芯片设计的人最近几年都在琢磨同一件事:怎么让 AI Agent 真正干 EDA 的活。

想法很朴素。综合、布局布线、时序分析这些工具全都是 Tcl 交互命令行,AI 如果能像工程师一样坐在终端前面,一条一条发命令、看返回、再发下一条,迭代调试的效率会完全不一样。可真动手就会发现,这条路比想象中难走。MCP 方案太重,写脚本跑批的方式太笨,两者都卡在同一个地方:EDA 工具的交互能力没有被真正用起来。

深圳轻思科技 Challensys 今年四月在 DashRTL 套装里放出了一个免费小工具 2cli,专门解决这一层对接问题。它的思路很简单,不碰 MCP,也不要求 EDA 厂商做任何适配,就是在 AI Agent 和 EDA 工具的交互命令行之间加一个持久会话管理器。

这篇文章基于 v2026.03-Alpha3 版本,完整记录 2cli 的产品定位、安装过程、功能实测和真实使用案例。文中所有命令输出都来自我们在一台装有完整 Synopsys 环境的 RHEL9 服务器上的真实运行,不是官方演示的转述。

 1 由本文作者根据 Challensys 2cli 用户手册与官方产品介绍整理绘制。图 2 至图 4 为本文实测过程中的真实终端输出重制。图 5、图 6 摘自 Challensys 2cli 用户手册 Version 2026.03,仅用于产品功能介绍与技术交流。文中涉及的 dc_shell 操作均在作者自有的 Synopsys 测试环境中完成。2cli、DashRTL、TclOK、tclpysh 为深圳轻思科技有限公司产品,相关信息以官方发布为准。

一、AI Agent 操作 EDA 工具,到底卡在哪

1 AI Agent 对接 EDA 交互命令行的三种方式对比

作者根据 2cli 用户手册与官方产品介绍整理绘制

先交代一下背景,为什么需要 2cli 这种东西。

EDA 行业的交互命令行存在了几十年。dc_shell、pt_shell、icc2_shell、fc_shell,工程师打开工具,敲命令,看返回,再敲下一条。综合出问题了,查一下某条 net 的扇出;时序不收敛,report_timing 看一眼路径细节。整个过程是渐进的、试探的、高度依赖上下文的。工具的状态,也就是读进来的设计、设好的约束、分析过的结果,始终保留在进程里,这正是一切迭代调试的基础。

想象一个典型的工作日下午。工程师发现综合后的面积比预期大了百分之二十,他会先 report_area 看一眼各层的分布,再 get_cells 抽查几个可疑模块的映射情况,然后试一组不同的综合策略,等结果的时候顺手查一下某个约束到底有没有生效。一下午下来,他可能在同一个 dc_shell 会话里敲了上百条命令,每一条都依赖前一条的结果。这个会话如果关掉,一切从头再来。

AI Agent 想复用这套工作方式,目前只有两条路,而且都走得不顺。

第一条路是 MCP。让工具厂商或者第三方把 EDA 工具包装成 MCP Server,AI 通过函数调用来操作。问题有三个。其一,工具描述本身要占用大量上下文,token 消耗上去之后,模型的幻觉也跟着变多。其二,MCP 函数调用的日志可读性很差,出了问题排查困难。其三,也是最根本的,这条路依赖 EDA 厂商逐个做适配,主流商用工具谁给你适配,什么时候适配好,完全不可控。

第二条路更常见,让 AI 生成脚本文件,然后启动 EDA 工具一次性跑完。综合脚本、STA 脚本、report 脚本,AI 写脚本的能力确实不错。但这种方式的致命伤是每次迭代都要从头再来。改一行约束,重启工具,重新读库,重新读设计,重新 elaborate,几分钟到几十分钟的初始化开销反复发生。而且脚本一跑到底,中间状态完全不可见,AI 没法根据前一步的结果决定下一步做什么,调试基本靠猜。

两条路共同的病根是:AI 拿不到一个真正活着的交互会话。

2cli 针对的正是这一层。它把 EDA 工具以守护进程的方式常驻起来,AI 通过命令行向这个常驻进程逐条发送指令,拿到真实返回,再决定下一步。状态始终在,初始化只做一次,交互能力原封不动。

二、2cli 是个什么工具

按官方用户手册的定义,2cli 是一款通过 CLI 控制 EDA 交互命令行的工具,由 Challensys 研发,支持多种流行的商用 EDA 工具,可适配多项开源 AI Agent。

几个关键事实先摆出来。

它完全免费。官网下载页明确写着 2cli 目前为免费工具,解压后可用,不需要 License。这一点和套装里的 DashRTL、TclOK 不同,后两者需要授权。

它不改动任何 EDA 工具本身。2cli 不需要厂商配合,不需要插件,不需要替换工具自带的 shell。它做的事情相当于一个极度耐心的终端操作员,替你坐在工具前面,把你发的每一条指令敲进去,把屏幕上的输出原样收回来。

它为 AI 场景做了专门优化。普通命令收发之外,2cli 对 Tab 补全和 man 页面做了自动化处理。EDA 工具的 man 页面通常是分页显示的,AI 拿到分页提示符会卡住,2cli 自动控制 page mode,把完整内容一次性返回。这两个细节听起来小,对 AI 来说却是能用和不能用的差别。

版本情况也交代一下。2cli 在 v2026.03-Alpha2 中首次加入,发布于 2026 年 4 月 29 日。我们实测的 v2026.03-Alpha3 发布于 5 月 12 日,这个版本改进了对彩色交互命令行的支持,以及 EDA 工具异常退出时的处理机制。工具目前处于 Alpha 阶段,这一点后文还会提到。

它和 DashRTL 套装里其他几款产品的关系也顺带说清。DashRTL 是轻思科技的 RTL 前端分析工具,主打并行编译和快速定位问题。TclOK 是 Tcl 静态检查器,原生支持 SDC 和 UPF,官方说法是在启动 EDA 工具前多花一秒,提前识别七成真实语法错误。tclpysh 是一个独立的 Tcl 加 Python 混合脚本解释器,可以在浏览器里直接试用。2cli 在这个家族里扮演的角色最轻也最特殊,它自己不产生任何设计数据,只负责打通 AI 和工具之间的通道。

它的工作方式用三行命令就能说清楚:

% 2cli -start dc_shell -no_init2cli launched pid 11832

% 2cli 'puts $sh_product_version'Y-2026.03dc_shell>

第一行启动,2cli 拉起了 dc_shell 进程并返回它的 PID。第二行发指令,dc_shell 执行 Tcl 命令并返回结果。会话一直活着,直到你主动退出或者闲置超时。

三、安装:从下载到跑通不到十分钟

这一节是完整的安装记录,照做即可。

第一步,下载安装包。

2cli 不单独发布,集成在 DashRTL 套装里。到 Challensys 官网下载页 challensys.com/download,主安装包名为 DashRTL_v2026.03-Alpha3.tar.xz,约 133 MB。页面给出的 MD5 校验值是 2b1230e561ead7f4c7b8e481f948e4b8,下载完务必核对:

% md5sum DashRTL_v2026.03-Alpha3.tar.xz2b1230e561ead7f4c7b8e481f948e4b8  DashRTL_v2026.03-Alpha3.tar.xz

操作系统官方建议 RHEL 6.x、7.x、8.x 及对应的 CentOS、Rocky 系统。v2025.12-Alpha 起增加了 RHEL9 的初步支持,v2026.03-Alpha 起实验性支持 WSL 和 Ubuntu 24.04。我们实测的机器是 Rocky 9 内核 5.14,运行正常。

第二步,解压并把 bin 目录加进 PATH。

% tar xJvf DashRTL_v2026.03-Alpha3.tar.xz% export PATH=/你的安装路径/DashRTL_v2026.03-Alpha3/bin:$PATH

不需要编译,不需要配置 License,不需要任何守护进程安装。解压即用。

第三步,试启动。

官方手册给的最小验证用例是拿系统自带的 tclsh 练手:

% which 2cli/home/kostal/challensys/DashRTL_v2026.03-Alpha3/bin/2cli% 2cli -start tclsh2cli launched pid 11523% 2cli puts hellohello% 2cli exit2cli daemon for pid 11523 exit due to tool terminated.

能跑通这三行,说明 2cli 本体工作正常。接下来就可以把 tclsh 换成任何带交互命令行的 EDA 工具。

第四步,给 AI Agent 安装配套 Skill。

5 eda-2cli Skill 安装流程(以 Codex 为例)

作者根据 2cli 用户手册 3-1 节文字内容整理绘制

安装包的 examples/agent_skills/ 目录下有一个现成的 eda-2cli Skill。以 Codex 为例,把这个目录复制到 ~/.codex/skills/ 下,重启 Codex 即可加载。用 Claude Code 的话同理,复制到 skills 目录即可。这个 Skill 文件会告诉 Agent:什么时候该用 2cli,怎么启动工具,怎么发指令,怎么用 Tab 和 man 探索工具功能,多工具并存时怎么按 PID 区分。

Skill 里有一条适用范围写得明白:综合、布局布线、时序分析这类带交互命令行的工具适合用 2cli;数字仿真、模拟仿真这类不需要交互命令行的工具不在适用范围内。这个边界很诚实,VCS 仿真跑批本来就没有交互调试的需求。

整个安装过程我们实际花了不到十分钟,其中大头是下载那 133 MB。

如果不想先下载,官网还提供了两种零成本体验方式。一种是关注轻思科技EDA 公众号申请 SSH 云试用账号,直接登录官方准备好的环境。另一种是网页版的 playground,tclpysh 解释器可以在浏览器里直接跑,首次加载大约三十秒。套装里需要授权的 DashRTL 和 TclOK 还支持在线评估授权,把 CHALLENSYS_LICENSE_SERVER 指向 28000@eval.challensys.com 即可,不过 2cli 本身用不到这些,它不要 license。

四、功能实测:AI 视角下的 dc_shell 交互终端

实测环境是一台 RHEL9 服务器,装有 Synopsys Y-2026.03 全套工具,license 服务本地运行。我们用 2cli 驱动的是 Design Compiler 的 dc_shell。

启动与日志。

% 2cli -log -start dc_shell -no_init2cli launched pid 11832

log 开关让 2cli 把会话的标准输入输出完整记录到文件,默认文件名形如 2cli.kostal.11832.log。这个文件对 AI Agent 很重要,它是可读性极高的线性日志,每条命令和返回按时间顺序排好,和 MCP 调用日志形成鲜明对比。

2 实测:2cli 启动 dc_shell 并查询活动会话

本文实测终端输出重制

启动时还可以用 -timeout 修改闲置超时时间。默认 86400 秒,也就是 24 小时不活动自动退出,避免 AI 跑完后忘了收尸,工具进程和 license 一直挂着。

发指令与探索。

会话活着之后,AI 探索工具的方式和人类工程师完全一致。想知道工具版本:

% 2cli 'puts $sh_product_version'Y-2026.03dc_shell>

不记得命令全名,发 Tab 补全:

% 2cli 'report_\t'Error: ambiguous command 'report_' matched 182 commands:(report_access_control_configuration, report_activity, report_annotated_check ...) (CMD-006)dc_shell>

dc_shell 把 182 个候选命令列了出来。AI 拿到这个列表,等于拿到了工具能力的目录。

4 实测:man 页面自动翻页返回与 Tab 补全候选

本文实测终端输出重制

想看某个命令的完整说明,直接 man:

% 2cli 'man get_cells'

返回的是 get_cells 的完整 man 页面,从 NAME、SYNTAX 到 ARGUMENTS 逐条列出,中间没有任何分页暂停。这就是 2cli 的 page mode 自动控制在起作用。没有这层处理,AI 会在第一个分页符面前进退两难。

多会话管理。

实际工作中经常要同时开几个工具。2cli 用 PID 区分会话,-query 列出当前用户的所有活动连接:

% 2cli -queryActive connections for user 'kostal':|  Laucnch Time         |  Tool PID  |  Daemon PID  |  Tool Prompt  ||  2026-08-08 23:16:24  |  11832     |  11831       |  dc_shell>    ||  2026-08-08 23:23:14  |  14419     |  14418       |  %            |

发指令时用 -pid 指定目标:

% 2cli -pid 11832 'current_design'Current design is 'counter'.{counter}dc_shell>

不指定的话默认发给最新启动的会话。用完之后的清理也分两级:-cleanup 清掉已关闭进程的记录和文件,-force_cleanup 强制终止所有会话并清空全部记录。

到这里,2cli 的全部核心功能就演示完了。它没有图形界面,没有配置文件,没有学习成本,所有能力都在一个命令的十几个开关里。

五、效果:一笔可以算出来的时间账

2cli 的价值最终要落到时间上。我们把实测数据摆出来。

dc_shell 从执行 2cli -start 到出现 dc_shell> 提示符,冷启动约 16 秒。会话建立之后,每条指令的往返都在一秒以内,包括 analyze、elaborate 这类有实际计算量的命令,因为工具和库早已加载完毕。

整个实测会话持续了 648 秒,期间执行了十几条命令。退出时 dc_shell 自己打印的统计是:CPU 占用 1 秒,内存峰值 113 MB。换句话说,一个活了十分钟的会话,绝大部分时间只是安静地等下一条指令,几乎不消耗任何算力。

对照组是一次性脚本方式。假设 AI 要迭代二十次,每次改动后重启 dc_shell 跑脚本,仅冷启动一项就是二十个 16 秒,超过五分钟。这还没算脚本方式下每次重新读库、重新读设计的开销,也没算 AI 因为看不到中间状态而多走的弯路。真实项目里 DC 的完整初始化远不止 16 秒,库一上量就是分钟级,迭代二十次的浪费会放大到小时级。

持久会话方式下,这二十次迭代的开销是二十个一秒。

三种方式的差异可以归纳成一张表:

·对比维度 / MCP 适配 / 一次性脚本 / 2cli 持久会话

·需要厂商适配 / 需要 / 不需要 / 不需要

·工具状态保持 / 视实现而定 / 每次迭代清零 / 完整保持

·中间结果可见 / 可见但日志难读 / 跑完才知道 / 每条即时可见

·上下文 token 开销 / 高 / 低 / 低

·迭代初始化成本 / 低 / 每次全额付出 / 一次付出

·探索工具能力 / 依赖预定义接口 / 几乎不可行 / Tab 加 man 现场探索

除了时间,还有一层收益不太好量化但同样真实:AI 从蒙眼跑批变成了睁眼睛试。elaborate 报错了,它能立刻看到错误码,查一下对象,换个参数再试。这种试探式调试是人类工程师的本能工作方式,脚本方式天然做不到,MCP 方式能做到但代价前面已经说过。

六、案例一:官方演示,Codex 几分钟摸清一个陌生工具

第一个案例来自官方用户手册,我们原样转述并注明出处。

轻思科技在手册里记录了这样一个实验:给 Codex 装好 eda-2cli Skill,然后下达提示词,使用 2cli 启动 dashrtl -no_gui,探索并报告 dashrtl 的典型用法。

Codex 启动后读入 SKILL.md,按指引执行 2cli -start dashrtl -no_gui,随后开始在交互命令行里自主探索。发 Tab 看命令列表,man 感兴趣的命令,试着读库、分析、构建设计。整个实验运行在一张 5090 显卡加 Qwen 3.6 27B 本地量化模型的机器上,没有调用任何云端大模型。

几分钟后 Codex 交出了一份 dashrtl 用法报告,内容相当扎实:标准工作流是 read_libs、analyze、elaborate、read_lefs、read_def 然后查询报告;每一步用什么命令、参数什么含义、对象模型怎么查询,都整理成了表格。它还自己归纳了工具特点,Tcl 优先但支持 Python 切换,所有实体通过统一的对象模型查询,能同时做 RTL 前端分析和物理数据库构建。

这个案例的分量在于,Codex 事先并不认识 dashrtl 这个工具。它掌握的不是背下来的知识,而是用 2cli 现场探索出来的第一手经验。对任何一个内部工具、新工具、文档不全的工具,这种即插即探的能力都直接可用。

6 官方案例还原:Codex 借助 2cli 自主探索陌生 EDA 工具的过程与报告要点

作者根据 2cli 用户手册 3-2 节文字内容整理绘制

七、案例二:本文的实测过程,本身就是一个案例

第二个案例有些特别,因为执行者不是人类工程师。

这篇文章涉及的所有 2cli 实测,从下载安装包开始,到启动 dc_shell、分析一段 Verilog、查询设计对象、最后清理会话,全部是由一位 AI 助手通过 SSH 远程登录服务器后亲手完成的。人类只给了一句话:这台机器上有 Synopsys 环境,去试试 2cli。

以下是它的实际执行记录,包括踩到的坑,这些坑对所有准备用 2cli 的 Agent 都有参考价值。

AI 先解压安装包,用 tclsh 完成最小验证,然后启动 dc_shell。它给服务器写了一段八位计数器的 Verilog,接着发 analyze。第一次尝试失败了,报错无法找到文件。原因是 dc_shell 以 -no_init 启动后搜索路径为空,相对路径找不到文件。它改用绝对路径重新 analyze,成功。

% 2cli 'analyze -format verilog /home/kostal/2cli_demo/counter.v'Running PRESTO HDLCCompiling source file /home/kostal/2cli_demo/counter.vPresto compilation completed successfully.dc_shell>

3 实测:AI 通过 2cli 在 dc_shell 中完成 analyze、elaborate 与设计查询

本文实测终端输出重制

接着 elaborate,dc_shell 推断了寄存器,打印出 cnt_reg 是八位异步复位触发器,设计构建完成。然后 get_cells 拿到全部十四个单元的集合,report_hierarchy 确认层次结构。整个流程和一位工程师坐在终端前的操作序列一模一样。

它还发现过一个更隐蔽的问题。EDA 工具的返回是异步的,指令发出去,输出可能要几百毫秒后才完整。如果连续快速发多条命令,前一条的输出会混进后一条的返回里。它给自己立了个规矩:每发一条实质命令,随后发一条 puts MARK_X 作为同步标记,看到标记再读结果。这个技巧成本为零,彻底解决了输出对齐问题。

探索阶段它也没闲着。它发过 report_ 加 Tab,拿到了 dc_shell 列出的 182 个候选命令;man 过 get_cells,读完了完整的参数说明;还额外起了一个 tclsh 会话,用 -query 核对两个会话的 PID 和提示符,再用 -pid 分别向两个工具发指令,验证了多工具并行管理的可行性。这些动作全部是它读完 SKILL.md 之后自发完成的,没有人工提示。

会话结束,它发 exit 退出 dc_shell,看到工具打印的会话统计,然后用 -cleanup 清理现场。全程没有人类碰过一次键盘。

这个案例的意义不在于分析了什么设计,八位计数器谈不上任何设计难度。它证明的是链路已经打通:从自然语言指令出发,AI 借助 2cli 远程驱动真实工业级 EDA 工具,完成真实任务,遇到问题自主排查,最后收拾干净。这条链路上的每一环都是现成的,不需要任何定制开发。

八、使用建议与边界

结合实测,给准备上手的团队和 Agent 开发者几条具体建议。

适用场景上,2cli 适合一切带交互命令行的 EDA 工具,综合、布局布线、时序分析、形式验证的交互调试都对得上号。官方 Skill 明确排除了仿真类工具,仿真本来就是跑批模式,没有交互需求,这个划分很合理。

输出同步要有意识。2cli 把指令送到工具,工具的执行和输出是异步的。Agent 在编程上应该沿用我们实测验证过的标记法,每条命令后跟一个唯一的 puts 标记,读到标记再解析结果。长耗时命令要适当延长等待。

路径尽量用绝对路径。很多团队的习惯是依赖工具启动脚本里的搜索路径,但 AI 启动工具的场景五花八门,绝对路径是最不容易出错的选择。

会话管理要善始善终。虽然 2cli 默认 24 小时闲置自动退出,license 和计算资源毕竟珍贵,Agent 完成任务后应主动 exit 并 cleanup。生产环境部署时建议把 -timeout 调短。

版本预期要放低一点。2cli 目前处于 Alpha 阶段,官方更新日志显示它在快速迭代,Alpha2 到 Alpha3 三周时间就补上了彩色终端支持和异常退出处理。这意味着方向明确、响应积极,同时也意味着边角场景可能还有未覆盖的地方。好在它免费,试错成本就是下载一个压缩包。

九、结语

EDA 行业谈 AI 很多年,真正落地的瓶颈常常不在模型能力,而在接口层。工具就在那,命令行就在那,AI 缺的是一双能敲键盘、能看屏幕的手。

2cli 做的事情说起来平淡无奇,一个守护进程,一条命令收发通道,再加上 Tab 补全和 man 页面的自动化处理。但正是这层平淡无奇的粘合,让 AI Agent 第一次能够像工程师一样使用 dc_shell 这类工具的完整交互能力,而不必等待任何厂商的适配。

它免费,解压即用,十分钟装完。如果你的团队正在探索 AI 辅助芯片设计,这个小工具值得放进工具箱。

下一步值得关注的有两件事。一是 Alpha 版本后续的迭代节奏,轻思科技三周内连推两个小版本,彩色终端支持和异常处理都是实打实的工程改进,照这个速度,正式版值得期待。二是生态,eda-2cli Skill 目前以 Codex 为示例,Claude Code 等主流 Agent 同样可以直接加载,支持的 Agent 越多,这套打法的复用价值越大。接口层的打通一旦完成,上层能长出的东西会很多,自动约束调优、跨工具流程编排、设计数据库的交互式巡检,这些过去停留在 PPT 里的场景,现在都有了可以动手验证的底座。

参考资料

本文全部配图均为作者自制。图 1 根据 Challensys 2cli 用户手册与官方产品介绍整理绘制,图 2 至图 4 为本文实测过程中的真实终端输出重制,图 5、图 6 根据 2cli 用户手册的文字内容整理绘制,未使用手册原始截图。文中涉及的 dc_shell 操作均在作者自己的 Synopsys 测试环境中完成。2cli、DashRTL、TclOK、tclpysh 为深圳轻思科技有限公司产品,相关信息以官方发布为准。