# FusionShell-Plugin **Repository Path**: challensys/fusionshell-plugin ## Basic Information - **Project Name**: FusionShell-Plugin - **Description**: FusionShell Plugin 是国产 EDA 厂商 Challensys 自 v2025.03 版起增加的 Golang 用户接口,可提供比原有 Tcl / Python 命令行快数十倍的性能,适用于 DashRTL 等 Challensys EDA 工具。 - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: https://challensys.com - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-03-03 - **Last Updated**: 2025-04-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FusionShell-Plugin #### 介绍 FusionShell Plugin 是国产 EDA 厂商 Challensys 自 v2025.03 版起增加的 Golang 用户接口,可提供比原有 Tcl / Python 命令行快数十倍的性能,适用于 DashRTL 等 Challensys EDA 工具。 #### 软件架构 FusionShell Plugin 可以插件形式在 Challensys EDA 工具的 Tcl / Python 命令行中调用。 以 Tcl 命令行为例: ``` plugin load Plugin_file.so Your_entry_name plugin call Your_entry_name your_args... ``` #### 安装教程 1. 下载并解压 Challensys EDA 工具 v2025.03 以上版本(可从官网 [challensys.com](https://challensys.com/download) 下载) 2. 下载 Go 1.21.13 版本并解压,环境变量 GO111MODULE 需设置为 auto 或 off 3. 使用 `go build -buildmode=plugin -o Plugin_file.so` 命令编译插件 4. 在 DashRTL 等 Challensys EDA 工具中使用 plugin load 和 plugin call 命令调用插件 #### FusionShell Plugin 入口函数说明 1. db: 提供访问 EDA 数据库的方法,如 RTL / Lib / LEF / DEF 等 2. ch_log: 发往 FusionShell 的字符串或 Message,Message 可支持 Info / Warn / Error,可附带 Code 3. ch_ctrl_c:转发 FusionShell 接收到的 Ctrl-C 信号 4. args:由 FusionShell 命令行入的参数 5. 返回值:可为 nil、字符串,也可用 panic 返回 Error #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request