三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

新手避坑指南:在RHEL 6.10上安装Cadence IC618和Verdi 2018.09的完整流程(含依赖库检查)

新手避坑指南:在RHEL 6.10上安装Cadence IC618和Verdi 2018.09的完整流程(含依赖库检查)

RHEL 6.10环境下EDA工具链深度部署实战:从系统调优到Cadence IC618与Verdi 2018.09完美联装

当芯片设计新人在企业级Linux环境中首次接触Cadence和Synopsys工具链时,往往会被复杂的依赖关系和隐蔽的配置陷阱所困扰。本文将基于真实生产环境中的部署经验,详解如何在RHEL 6.10系统上搭建稳定的EDA工具运行环境,特别针对swap空间不足X11显示异常等典型问题提供可落地的解决方案。

1. 基础环境准备与系统调优

1.1 操作系统兼容性确认

RHEL 6.10作为经典的EDA工具支持平台,需要首先验证内核版本与架构匹配性:

# 查看系统核心参数 uname -a cat /etc/redhat-release lscpu | grep Architecture

典型输出应包含:

Linux hostname 2.6.32-754.el6.x86_64 #1 SMP Tue Jun 19 21:26:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux Red Hat Enterprise Linux Server release 6.10 (Santiago) Architecture: x86_64

注意:若系统曾进行过yum更新,建议通过rpm -qa | grep kernel确认当前运行内核与已安装内核版本的一致性,避免因内核模块不匹配导致后续图形界面异常。

1.2 存储空间规划

EDA工具安装需要合理的存储分配策略:

目录类型建议容量文件系统用途说明
/opt≥100GBXFS主程序安装
/tmp≥50GBext4临时解压
/home≥200GBXFS用户数据
swap物理内存1.5倍-内存扩展

扩容swap空间的实战命令:

# 创建8GB交换文件 dd if=/dev/zero of=/swapfile bs=1M count=8192 chmod 600 /swapfile mkswap /swapfile swapon /swapfile # 永久生效配置 echo "/swapfile swap swap defaults 0 0" >> /etc/fstab

1.3 依赖库全景安装

通过YUM仓库一次性解决基础依赖:

# 配置企业版Linux附加仓库 rpm -Uvh http://mirror.centos.org/centos-6/6.10/os/x86_64/Packages/epel-release-6-8.noarch.rpm # 核心依赖组安装 yum groupinstall -y "X Window System" "Development Tools" yum install -y \ glibc-* elfutils-libelf-* mesa-libGL-* \ openmotif22-* libXp-* libpng-* libjpeg-turbo-* \ compat-expat1-* libXtst-* compat-readline5-* \ ncurses-libs-* redhat-lsb-* glibc-devel-*

2. Cadence IC618精准安装指南

2.1 软件包解压与校验

采用分卷校验确保安装源完整性:

# 基础包校验解压 for i in {1..3}; do md5sum Base_IC06.18.000_lnx86_${i}of3.tar tar xf Base_IC06.18.000_lnx86_${i}of3.tar done # 热修复包处理 mkdir -p Hotfix_IC06.18.010 tar xf Hotfix_IC06.18.010_lnx86_1of3.tar -C Hotfix_IC06.18.010

2.2 IScape图形化安装实战

解决常见GUI安装异常:

# 解决libXss缺失问题 yum install -y libXScrnSaver-* # 启动安装管理器 cd IC06.18.000_lnx86.Base/iscape/bin DISPLAY=:0 ./iscape.sh

安装过程中需特别注意:

  • 选择Custom Install模式
  • Base路径指向IC06.18.000_lnx86.Base
  • Hotfix路径选择IC06.18.010_lnx86.Hotfix
  • 取消勾选不必要组件(如AMS Simulator)

2.3 系统配置深度检查

运行环境验证工具的关键解读:

cd /opt/cadence/IC618/tools.lnx86/bin ./checkSysConf IC6.1.8 | tee syscheck.log

典型问题处理方案:

  1. SWAP空间不足

    # 临时增加swap分区 fallocate -l 4G /additional_swap mkswap /additional_swap swapon /additional_swap
  2. DISPLAY连接失败

    # 确认X11转发配置 echo $DISPLAY xhost + export DISPLAY=your_client_ip:0
  3. 缺失32位库

    yum provides */libXtst.so.6 yum install -y libXtst-1.2.3-1.el6.i686

3. Verdi 2018.09高效部署策略

3.1 非root用户安全安装

推荐采用普通用户安装模式:

# 创建专用用户 useradd -m edauser passwd edauser # 设置安装目录权限 mkdir /opt/synopsys chown edauser:edauser /opt/synopsys # 切换用户执行安装 su - edauser cd /mnt/verdi_vO-2018.09-SP2 ./setup.sh

安装路径选择建议:

/opt/synopsys/verdi/Verdi_O-2018.09-SP2

3.2 关键环境变量配置

.bashrc中应包含的核心配置:

# Verdi基础配置 export VERDI_HOME=/opt/synopsys/verdi/Verdi_O-2018.09-SP2 export PATH=$VERDI_HOME/bin:$PATH # 硬件加速配置 export VERDI_ENABLE_GPU=1 export VERDI_GPU_MODE=cuda

4. 许可证服务与系统集成

4.1 多厂商License融合管理

采用FlexNet统一管理不同EDA工具的license:

# 典型license文件结构 SERVER hostname 000000000000 5280 VENDOR cdslmd /opt/cadence/license/cdslmd VENDOR snpslmd /opt/synopsys/license/snpslmd USE_SERVER INCREMENT Virtuoso_Architect cdslmd 1.0 permanent uncounted \ HOSTID=000000000000 ISSUER="Cadence"

启动服务的最佳实践:

#!/bin/bash # 统一启动脚本 export LM_LICENSE_FILE=5280@hostname /opt/license/lmgrd -c /opt/license/eda.lic -l /var/log/license.log

4.2 桌面环境快捷集成

创建统一的启动器:

[Desktop Entry] Name=IC618 Virtuoso Exec=/opt/cadence/IC618/tools/dfII/bin/virtuoso -64 Icon=/opt/cadence/IC618/share/icon/virtuoso.png Terminal=false Type=Application Categories=EDA;

5. 性能调优与维护技巧

5.1 内核参数优化

/etc/sysctl.conf关键配置:

# 提升共享内存限制 kernel.shmmax = 4294967296 kernel.shmall = 1073741824 # 文件句柄优化 fs.file-max = 65536 vm.swappiness = 10

5.2 定期维护方案

建议的维护周期表:

维护项目频率操作命令
临时文件清理每周find /tmp -type f -mtime +7 -delete
License日志轮转每月logrotate /etc/logrotate.d/eda
磁盘空间检查每日`df -h

在长期使用中发现,定期执行checkSysConf --update能有效预防因系统更新导致的库文件缺失问题。对于团队协作环境,建议将依赖库列表导出为yum list installed > eda_packages.log便于环境重建。

← 返回列表