一、EDA 环境整体架构(先懂拓扑)
典型企业部署:
plaintext
用户PC/工作站 → 局域网 → License服务器(27000) → EDA计算集群/服务器 → 共享存储(项目库/工艺库)
- License Server:FlexNet(lmgrd),EDA 命脉
- 计算节点:Linux(主流 CentOS7/RHEL7,少数 Ubuntu)
- 共享存储:NFS/CPFS/Lustre,放工艺库、设计文件、安装包
- 用户端:Linux 桌面或 Windows+X11 远程图形
二、部署前准备(运维重点)
1. 系统选型与硬件配置
- 系统:CentOS7.9/RHEL7.9(兼容性最好)
- 最小推荐:
- 计算节点:16 核 +,64GB + 内存,SSD 系统盘
- License 服务器:4 核 / 8GB 足够,稳定优先
- 共享存储:低延迟、高带宽,容量 TB 级
2. 系统依赖包(必装,否则闪退 / 无法启动)
bash
运行
# CentOS7
yum groupinstall -y "Development Tools" "X Window System"
yum install -y libX11 libXtst libXrender libXrandr gtk2 gtk3 \
glibc.i686 libXext.i686 libXrender.i686 libpng12
- 32 位兼容库、图形库、字体库是 EDA 最常见坑
3. 关闭干扰服务
bash
运行
systemctl disable firewalld
systemctl stop firewalld
# 或开放 27000、22、EDA 自定义端口
4. 共享存储挂载(所有节点一致)
bash
运行
# /etc/fstab 示例
192.168.1.100:/eda_storage /eda nfs defaults,_netdev 0 0
mkdir -p /eda/{install,license,project,techlib}
三、License 服务器部署(最关键)
1. 安装 FlexNet(lmgrd)
- 把 vendor daemon(如
snpslmd、cdslmd)放到/eda/license - 启动脚本示例(systemd 托管):
bash
运行
# /etc/systemd/system/synopsys_license.service
[Unit]
Description=Synopsys License Server
After=network.target
[Service]
ExecStart=/eda/license/lmgrd -c /eda/license/synopsys.lic -l /eda/license/lmgrd.log
Restart=always
[Install]
WantedBy=multi-user.target
bash
运行
systemctl daemon-reload
systemctl enable synopsys_license
systemctl start synopsys_license
2. 验证 License
bash
运行
ps -ef | grep lmgrd
netstat -tuln | grep 27000 # 默认端口
lmutil lmstat -c /eda/license/synopsys.lic
四、EDA 工具安装(以 Synopsys 为例)
1. 统一安装目录
plaintext
/eda/install/synopsys/2023.03
/eda/install/cadence/2022.12
2. 用官方 Installer 安装
bash
运行
chmod +x synopsysinstaller_v5.0.run
./synopsysinstaller_v5.0.run
- 图形界面安装,选择组件(VCS/DC/PT/StarRC 等)
- 安装时指定 安装路径、License 服务器地址
3. 环境变量配置(用户 & 全局)
全局 /etc/profile.d/eda.sh:
bash
运行
export SNPSLMD_LICENSE_FILE=27000@192.168.1.200
export PATH=/eda/install/synopsys/2023.03/bin:$PATH
export LD_LIBRARY_PATH=/eda/install/synopsys/2023.03/lib:$LD_LIBRARY_PATH
bash
运行
source /etc/profile.d/eda.sh
4. 安装后验证
bash
运行
dc_shell -version
vcs -full64 -version
五、日常运维(70% 工作在这里)
1. License 运维(高频)
- 查看占用:
lmutil lmstat -a -c 27000@license-server - 释放僵死:
lmutil lmremove -c ... - 备份:定期备份
.lic和lmgrd目录 - 告警:写脚本监控 27000 端口、lmgrd 进程,异常邮件 / 企业微信告警
2. 计算集群运维
- 用户管理:统一 UID/GID,避免权限问题
- 磁盘空间:监控
/eda,自动清理旧日志、临时文件 - 进程监控:EDA 进程(dc_shell、vcs、pt_shell)CPU / 内存 / 磁盘 IO
- 调度系统:企业常用 LSF/Slurm ,你可以做:
- 节点状态监控
- 任务自动重试
- 资源抢占 / 优先级调度
3. 共享存储运维
- 权限:严格控制
755,项目目录按组划分 - 备份:设计数据、工艺库定期备份(增量 + 全量)
- 性能:监控 NFS 延迟、IOPS,卡顿时排查网络 / 磁盘
4. 常见故障排查(实战清单)
-
启动报错:license not found
- 检查
SNPSLMD_LICENSE_FILE是否正确 - 防火墙是否放行 27000
- lmgrd 是否正常运行
- 检查
-
GUI 闪退 / 无法打开
- 缺图形依赖:
yum install libX11 gtk2 - DISPLAY 变量错误:
export DISPLAY=:0.0
- 缺图形依赖:
-
运行慢 / 卡顿
- 内存不足、交换分区占用高
- NFS 延迟高,工艺库加载慢
- 并行任务过多,CPU 争抢
-
磁盘满
- 清理
/tmp、EDA 日志、simv临时文件 - 定期脚本:
find /eda -name "*.log" -mtime +7 -delete
- 清理
六、和你 "IT 运维开发 + 机械工程" 的结合点
你以后做 半导体设备 / 智能制造 EDA 平台运维,可以这样绑定:
机械工程侧
- 理解芯片制造设备(光刻机、刻蚀机)
- 理解产线流程、工艺约束、设备数据采集
IT 运维开发侧
- 搭建 EDA 集群 + License 服务 + 共享存储
- 用 Python/Shell 写:
- EDA 任务自动化脚本(仿真、综合、时序分析)
- 集群监控告警系统(CPU / 内存 / 磁盘 / License)
- 产线设备数据对接 EDA 平台
岗位方向
- 半导体 EDA 平台运维工程师
- 智能制造(芯片厂)IT 架构师
- 工业软件(EDA/MES)交付运维
七、给你一份可直接用的 "EDA 运维巡检脚本"
bash
运行
#!/bin/bash
# EDA 每日巡检
echo "===== License 状态 ====="
lmutil lmstat -c 27000@192.168.1.200 | grep -E "Status|Users"
echo -e "\n===== 磁盘空间 ====="
df -h | grep -E "/eda|/dev/sd"
echo -e "\n===== 内存/CPU ====="
free -h
mpstat 1 1
echo -e "\n===== EDA 进程 ====="
ps aux | grep -E "dc_shell|vcs|pt_shell" | grep -v grep