3、联合调试环境搭建:安装与配置、License设置、环境变量检查
好,咱们直接进入正题。Radix ST 和 FormalNode 的联合调试,环境搭不好,后面全是坑。我见过太多人花了两周调环境,最后发现是 License 没配对。今天我把我的经验拆开揉碎了讲给你听。
3.1 安装与配置:别急着点下一步
安装工具本身不难,但有几个细节我得提醒你。
Radix ST 的安装
Radix ST 的安装包通常是一个 .bin 文件。我个人习惯把它放在 /opt/eda/radix_st/ 下。执行安装前,先确认你的系统是 CentOS 7 还是 Ubuntu 20.04。我踩过坑——在 CentOS 6 上装新版本 Radix ST,结果缺了 libstdc++ 的某些符号,折腾了一下午。
# 安装 Radix ST
chmod +x radix_st_2023.1.bin
./radix_st_2023.1.bin --target /opt/eda/radix_st/2023.1
FormalNode 的安装
FormalNode 的安装包是 tar.gz 格式。解压后直接能用,但要注意——它依赖 Python 3.8 以上版本。我建议用 python3 -V 先确认一下。如果版本不对,FormalNode 启动时会报一个很隐晦的错,新手根本看不懂。
# 安装 FormalNode
tar -xzf formalnode_2023.1.tar.gz -C /opt/eda/formalnode/2023.1
examples/ 目录下有测试用例,FormalNode 也有 sanity_check 脚本。跑通了再往下走,别一口气装完就以为万事大吉。
3.2 License 设置:最容易翻车的地方
License 设置,说白了就是让工具知道「你有权用它」。但这里面的门道不少。
Radix ST 的 License
Radix ST 用的是 FlexLM 的 License 管理方式。你需要设置 LM_LICENSE_FILE 或 RADIX_LICENSE_FILE 环境变量。我个人习惯用 RADIX_LICENSE_FILE,因为更明确,不会跟其他工具冲突。
export RADIX_LICENSE_FILE=27000@license-server
# 或者指向本地文件
export RADIX_LICENSE_FILE=/opt/licenses/radix_st.lic
FormalNode 的 License
FormalNode 的 License 机制有点不一样。它用的是 FORMALNODE_LICENSE_FILE。我记得第一次配的时候,忘了设这个变量,结果 FormalNode 一直报「Feature not found」。查了半天才发现是变量名写错了。
export FORMALNODE_LICENSE_FILE=/opt/licenses/formalnode.lic
/opt/licenses/ 下,路径里不带空格和中文,问题就解决了。你想想看,这种低级错误查起来多浪费时间。
检查 License 是否生效
设置完环境变量后,用 lmstat 命令检查一下:
lmstat -a -c $RADIX_LICENSE_FILE
如果能看到 Users of radix_st: (Total of 10 licenses issued; Total of 2 licenses in use) 这样的输出,说明 License 生效了。
3.3 环境变量检查:别漏了关键变量
环境变量是工具能找到「自己」的关键。我列一个检查清单,你照着做就行。
| 变量名 | 作用 | 示例值 |
|---|---|---|
RADIX_ST_HOME |
Radix ST 安装根目录 | /opt/eda/radix_st/2023.1 |
FORMALNODE_HOME |
FormalNode 安装根目录 | /opt/eda/formalnode/2023.1 |
PATH |
包含工具的可执行文件路径 | $RADIX_ST_HOME/bin:$FORMALNODE_HOME/bin:$PATH |
LD_LIBRARY_PATH |
动态库搜索路径 | $RADIX_ST_HOME/lib:$FORMALNODE_HOME/lib |
LM_LICENSE_FILE 或 RADIX_LICENSE_FILE |
Radix ST License 路径 | 27000@license-server |
FORMALNODE_LICENSE_FILE |
FormalNode License 路径 | /opt/licenses/formalnode.lic |
检查环境变量的命令很简单:
echo $RADIX_ST_HOME
echo $FORMALNODE_HOME
echo $PATH | grep radix
echo $PATH | grep formalnode
~/.bashrc 或 ~/.cshrc 里。这样每次打开终端就不用重新设了。但要注意——如果你同时用 bash 和 csh,记得两个文件都配一下。我吃过这个亏,换了 shell 环境变量就丢了。
3.4 联合调试环境的核心逻辑
为了让你更直观地理解整个环境搭建的流程,我画了一张图。这张图展示了从安装到验证的完整链路。
这张图你看懂了吗?核心就是「安装 → License → 环境变量 → 验证 → 联合调试 → 问题排查」这个闭环。如果验证那一步没通过,别急着往下走,先排查问题。
3.5 常见问题与排查
我整理了几个我实际遇到过的问题,你遇到了可以直接对照着查。
- 问题1:Radix ST 启动报错 "Cannot find license"
原因:RADIX_LICENSE_FILE没设对,或者 License server 没启动。
解决:用lmstat -a检查 License server 状态。 - 问题2:FormalNode 报 "ModuleNotFoundError: No module named 'formalnode'"
原因:PYTHONPATH没包含 FormalNode 的 Python 库路径。
解决:export PYTHONPATH=$FORMALNODE_HOME/lib/python3.8/site-packages:$PYTHONPATH - 问题3:联合调试时,Radix ST 找不到 FormalNode
原因:PATH里没加 FormalNode 的 bin 目录。
解决:检查echo $PATH | grep formalnode是否有输出。
好了,环境搭建这部分就讲到这里。你按照我说的步骤走,应该半小时内就能搞定。如果卡住了,回头看看这张流程图,找到你卡在哪一步,然后对症下药。