尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

在PClinux虚拟机上安装Cadence:从虚拟机配置到License验证

在PClinux虚拟机上安装Cadence:从虚拟机配置到License验证 简介Cadence环境安装(PClinux虚拟机版)是一份面向高等学校模拟集成电路实验课程的PDF讲义主要帮助初学者在Windows宿主机上借助VMware虚拟机快速部署Cadence设计环境。讲义源自中国科学技术大学软件学院实验讲义从准备VMware虚拟机与免安装版Cadence虚拟系统开始详细说明安装VMware、拷贝IC_workstation、启动vmx文件、登录Linux系统以及进入project目录启动Cadence的完整流程配有截图与命令示例覆盖从环境准备到启动验证的常见环节。整个资源为1个PDF文件大小约526KB内容紧凑便于随时对照参考。文中特别提醒用Log Out而非直接电源关机以免损坏虚拟磁盘同时给出共享文件夹的设置方式方便Windows与Linux之间传文件目前已有644人学习该文档适合集成电路相关专业本科生与研究生作为实验前环境搭建的快速参考。1. 在虚拟机上装 Cadence先解决的不是软件而是“宿主”打开标题为“Cadence环境安装(PClinux虚拟机版)”的 PDF 时多数人的第一反应是找安装命令但我看到的却是另一组矛盾EDA 工具链动辄几十 GBLicense 又对网卡和 hostname 敏感而学员电脑多半是 Windows 或 macOS。把 Cadence 跑在虚拟机里既保住了宿主的日常办公又把 Linux 的兼容性问题隔离在快照里这才是这套环境安装真正值得研究的地方。下文以 PClinux 虚拟机为中心串起从虚拟机参数到环境变量的完整路径适合准备在 PC 上跑 Virtuoso 或 Allegro 的工程师也适合把实验环境打包交付给团队的负责人。2. 虚拟机选型PClinux 发行版与 VMware/VirtualBox 的取舍2.1 为什么用 Linux 虚拟机而不直接装双系统标题里的 PClinux 不是某个最小众发行版的名字而是指跑在个人电脑上的 Linux。打开 Cadence 的支持矩阵会看到主流的 IC 与 PCB 工具都以 RHEL 兼容内核为验证对象所以教程中提到 PClinux 时默认应该选用 CentOS 7 或 Rocky Linux 8.6 这类 Red Hat 兼容发行版。网上能搜到的 cadence 安装过程、依赖包和排错案例也基本全部围绕这条线展开。相比直接装双系统虚拟机方案最直接的收益是宿主不变。设计人员白天需要大量软件协同办公而 Cadence 安装过程又要反复重启、断网、切换用户。在虚拟机的快照保护下即使安装器把系统的临时目录写满或者在配置.cshrc时写错路径都能直接恢复到一个已知可用的状态。另一个常被忽略的收益是便携性整台环境可以导成.ova文件分发给小团队时不需要每台机器重复跑一小时安装。2.2 虚拟机内存、CPU 和磁盘的参数参考表在创建虚拟机之前先把宿主资源盘一下。Cadence 的 virtuoso 仿真引擎对 CPU 核心数很敏感但虚拟机分配给单台虚机的核数一旦超过 8调度器反而会在拓扑结构上产生额外开销。下面是我常用的参数表同时给出低配和推荐两档参数低配能完成安装推荐跑仿真内存8 GB16 GBCPU 核数468磁盘40 GB100 GB 以上网络NAT桥接固定 IP显示128 MB256 MB为什么推荐桥接固定 IPCadence License 管理器采用 hostname MAC 地址绑定桥接网卡能保证虚拟机每次拿到同一个 IPlicense 的 TCP 监听端口 5280 不会因为 DHCP 变更而失效。若用 NAT 模式每次重启宿主的网络服务都可能导致虚拟机的 eth0 变成 eth1进而引发 License Server 启动失败。如果你正在用 VMware Workstation 17还要注意“没有配置和打开选项”的坑在虚拟机设置的“处理器”面板里勾选“虚拟化 Intel VT-x/EPT”否则运行 64 位 RHEL 内核时会卡在CPU reset阶段。2.3 用 VBoxManage 创建一个符合参数的虚拟机虽然 VMware Workstation 的图形界面很直观但命令行创建的虚拟机更容易重复。下面的命令在 Windows 的 PowerShell 里执行VirtualBox 安装路径需按实际版本调整VBoxManage createvm --name PCLinuxCadence --ostype RedHat_64 --register VBoxManage modifyvm PCLinuxCadence --memory 16384 --cpus 8 --ioapic on VBoxManage createmedium disk --filename D:\VMs\PCLinuxCadence.vdi --size 102400 VBoxManage storagectl PCLinuxCadence --name SATA --add sata --controller IntelAhci VBoxManage storageattach PCLinuxCadence --storagectl SATA --port 0 --device 0 --type hdd --medium D:\VMs\PCLinuxCadence.vdi这段命令先注册一台 RedHat 64 位虚拟机再调整内存和 CPU 数随后创建 100 GB 虚拟磁盘并通过 Intel AHCI 控制器挂载。--ioapic on是很多安装教程里被忽略的参数多核虚拟化如果不开启 IO-APICLinux 内核只能看到一个 CPUCadence 的 License 服务在 4 核以上环境会随机出现checkout failed。网上相关热搜“vmware虚拟机安装教程”通常只会讲图形界面点选但对 EDA 工具来说保证 CPU 拓扑可见性是后续安装的基础命令行方式反而更容易核对参数。2.4 把 Cadence 安装介质通过共享目录而非镜像挂载拿到 Cadence 的压缩包或 ISO 后不建议直接给虚拟机挂载 ISO。在安装过程中安装器需要在多个 CD 之间切换光驱挂载的切换操作在虚拟机上经常触发device busy错误。常见做法是先把安装包解压到宿主的某个共享目录再做如下设置VBoxManage sharedfolder add PCLinuxCadence --name cadence_media --hostpath D:\Cadence\isos --automount在 Linux 里挂载时执行mount -t vboxsf cadence_media /mnt/cadence就能把宿主的D:\Cadence\isos目录变成虚拟机里的/mnt/cadence。这样安装器可以自由读取Setup/、ISCAPE/等子目录而不会因为光盘交换问题中断。若使用 VMware则通过“虚拟机设置-共享文件夹”添加同一目录但挂载命令需要换成vmhgfs-fuse。如果mount后看不到文件先检查 Windows 防火墙是否拦截了 VirtualBox 的驱动套件再检查共享目录路径里是否存在中文字符。3. 最小化安装 Linux 后的 4 个必做步骤3.1 分区和网络给 /opt 与 /home 独立空间在虚拟机里装 CentOS 7.9 时安装界面选择“最小化安装”分区按 LVM 逻辑卷规划。Cadence 安装目录默认在/opt/Cadence而用户的设计库和工作目录通常写到$HOME。安装时建议给/opt分配 60 GB/home分配 30 GB其余交给/。这样做的好处是后续使用快照回滚时不会把刚生成的设计文件全部还原掉。网络部分要关闭 NetworkManager 对 eth 设备的随机命名。最小化安装通常会出现enp0s3这种可预测命名修改/etc/default/grub中的GRUB_CMDLINE_LINUX变量增加net.ifnames0 biosdevname0再执行grub2-mkconfig -o /boot/grub2/grub.cfg把网卡固定为eth0。License 管理器的 hostname 由主机名决定/etc/hosts里必须写下完整的主机名和固定 IP。安装完成后立即用hostnamectl set-hostname cadence-server设置主机名避免安装 License 后再去修改导致服务启动失败。3.2 Cadence 安装前的一揽子依赖命令Cadence 的安装器本身是图形 Java 程序部分模块还依赖 32 位兼容库所以依赖包数量比普通软件多。在 CentOS 上执行yum install -y ksh csh gcc gcc-c make glibc.i686 glibc-devel.i686 \ libXext.i686 libXtst.i686 libXrender.i686 libstdc.i686 \ motif.i686 openmotif.i686 java-1.8.0-openjdk \ xterm compat-libf2c-34 elfutils-libelf elfutils-libelf-devel \ gettext gettext-devel libX11-devel libXaw-devel ncurses-libs.i686这是按照 Cadence IC 6.1.8 的依赖列表整理的常规集合。第二行全是.i686结尾作用是补上 32 位 X 库。如果缺少motif.i686virtuoso 的 CIW 窗口会在启动时闪退缺少libXextdbOpen类操作会直接段错误。安装完依赖后建议执行yum clean all避免残留的/var/cache占满虚拟磁盘。另外CentOS 7 自带的java-1.8.0-openjdk版本偏旧遇到安装器界面无法渲染中文时手动安装java-1.8.0-openjdk-headless替代然后直接使用/usr/lib/jvm/java-1.8.0/bin/java启动 InstallScape。3.3 专用账号的目录规范安装 Cadence 不能使用 root 或普通账号混用。常见做法是创建独立的edatools用户组和应用账号groupadd edatools useradd -g edatools -m -d /home/cadence -s /bin/csh cadence mkdir -p /opt/Cadence/IC618 mkdir -p /opt/Cadence/InstallScape mkdir -p /home/cadence/work chown -R cadence:edatools /opt/Cadence /home/cadence/work-s /bin/csh很关键。Cadence 的环境脚本在tools/bin/cshrc里大量使用了 csh 语法如果用默认的 bash登录后会提示Command not found。后续所有安装操作都在cadence用户下执行避免安装文件的所有者变成 root否则 License Server 在启动时无法写入日志。若你的团队有多个成员可以再建design用户组并把/home/cadence/work的权限设为775这样小团队共享工艺库时不至于互相覆盖。3.4 SELinux 关闭的准确命令SELinux 会让 Cadence License Manager 的锁文件无法创建表现是启动时提示/var/tmp/license.log权限不足。临时关闭用setenforce 0永久关闭需要改配置文件sed -i s/^SELINUXenforcing/SELINUXdisabled/ /etc/selinux/config systemctl stop firewalld systemctl disable firewalld不要只执行setenforce 0因为一旦重启虚拟机SELinux 会恢复 enforcing 状态。防火墙也建议直接禁用License 使用的端口范围从 5280 到 5300。如果公司安全策略不允许防火墙全关至少用firewall-cmd --permanent --add-port5280/tcp --add-port5280/udp放行对应端口。这里要留意一个和“Windows7虚拟机安装”不同行为Windows 虚拟机里的 VMtools 会自动配置网络和服务而 Linux 虚拟机里只要/etc/hosts里有多条本机记录License 就可能在启动时绑定到 127.0.0.1导致其他机器无法访问。4. 安装 Cadence 的 License Server 与主程序4.1 先装 InstallScape 再装主程序的顺序Cadence 的安装过程统一由 InstallScape 引导所以第一步是运行安装目录下的ISCAPE工具把安装介质解压后执行cd /mnt/cadence ./SETUP.SH -install这里的SETUP.SH会进入交互式界面选择 InstallScape 版本后再选择安装目录/opt/Cadence/InstallScape。安装完 InstallScape 后主程序仍然由它启动cd /opt/Cadence/InstallScape/bin ./iscape.sh 选择“Install”后界面会要求选择产品压缩包所在目录。此时必须指定/mnt/cadence而不是逐个选择.tar.Z文件。InstallScape 会自动扫描目录下的Cadence_IC618_lnx86.Z并列出可安装模块。这里要勾选 “Base Release” 和 “Virtuoso Custom Design Platform” 两个大类如果漏掉 Base后续的assura验证工具会因缺少公共库而无法启动。安装过程中提示输入安装版本时不要让 InstallScape 自动选择最新补丁除非公司工艺库已经兼容新版本。4.2 环境变量按顺序写入 .cshrc主程序装完后环境变量的顺序决定了工具能否跨调用。以下是一份最简的/home/cadence/.cshrc片段setenv CDS_ROOT /opt/Cadence/IC618 setenv CDS_INST_DIR $CDS_ROOT source $CDS_ROOT/tools/dfII/cshrc source $CDS_ROOT/tools/bin/64bit.csh setenv LM_LICENSE_FILE 5280localhost setenv CDS_LIC_FILE $LM_LICENSE_FILE set path ($CDS_ROOT/tools/bin $CDS_ROOT/tools/dfII/bin $path)CDS_LIC_FILE和LM_LICENSE_FILE必须指向同一地址因为 cadence 的启动脚本有时只读取其中一个。64bit.csh必须在dfII/cshrc之后加载因为 64 位版本的编译器路径会覆盖 32 位设置。如果现场用的是浮动 license需要把5280localhost换成实际的服务器主机名例如5280lic-svr。环境变量配置完不要直接开 virtuoso先在终端里运行source ~/.cshrc cadence确认没有报错。此时若出现No Match提示多半是某个setenv的路径末尾多了空格。4.3 设置 ODBC 数据源和器件映射在安装 Virtuoso 后原理图仿真需要cds.lib和display.drf之外的数据库支持。网上热搜里 “Cadence 怎么设置 ODBC 数据源” 被反复搜索原因是simrc中读取器件库时要连接 MySQL 或 PostgreSQL。常见做法不重新编译驱动而是用/opt/Cadence/IC618/tools/dfII/etc/tools/inca/odbc.ini模板[ODBC Data Sources] PDB_DSN Cadence MySQL Connector [PDB_DSN] Driver /usr/lib64/libmyodbc5.so Server 127.0.0.1 Port 3306 Option 3 Socket /var/lib/mysql/mysql.sock配置完成后执行export ODBCINI/opt/Cadence/IC618/tools/dfII/etc/tools/inca/odbc.ini。如果启动仿真时出现 “Data source name not found”先检查odbcinst -q -d能否列出驱动列不出来就安装mysql-connector-odbc并重新执行yum install -y mysql-connector-odbc。这一步属于安装环境容易漏掉的部分很多教程只告诉你装 Cadence却不会告诉你仿真的数据库到底是怎么连的。这里还有一个经常被误用的点ODBC 驱动版本必须与 Cadence 自带的libodbc.so位数一致64 位虚拟机装 32 位驱动会在dbcOpen时直接报 “wrong ELF class”。5. 安装收尾的 4 个验证动作和快照技巧5.1 用 virtuoso -log 验证启动验证安装是否成功的标准不是看到cadence进程而是启动 CIW 窗口which virtuoso virtuoso -log /home/cadence/work/test.log -log参数会把启动阶段的输出写到指定日志而不是默认的~/.cadence目录。首次启动会提示创建.cdsinit按提示复制默认模板即可。如果日志停在Loading cdsuser且 CPU 占用为 0多半是 50 行以内的.cshrc资源冲突检查64bit.csh是否被重复加载。5.2 回归库 cds.lib 与 display.drf新装环境最常出现lib.defs 找不到错误。在每次打开原理图前在 CIW 里执行Load并加载一个带绝对路径的cds.libinclude /home/cadence/work/tech/cds.lib include /opt/Cadence/IC618/tools/dfII/samples/cdslib/analogLib/lib.defs第二行是 Cadence 自带的模拟库验证analogLib的单元是否存在比测试整个 PDK 更高效。同时需要把display.drf指向 PDK 目录否则版图窗口的层颜色会是默认单色。5.3 虚拟磁盘瘦身与快照回滚安装完成并确认无误后先关闭虚拟机在 VirtualBox 中执行VBoxManage snapshot PCLinuxCadence take cadence_ready --description 安装完成基快照 VBoxManage modifymedium disk PCLinuxCadence --compactcompact会压缩虚拟磁盘里的空白数据但有一个前提虚拟机里的 Linux 需要先执行yum clean all并卸载安装介质否则 iso 数据会被当成有效内容保留在镜像里。快照回滚的具体技巧是快照之后再建立新的差分磁盘日常使用cadence_ready作为只读父盘这样即使/opt下的 PDK 被改坏重启后也能在 10 秒内恢复到一个干净的 Cadence 环境。本文还有配套的精品资源点击获取
返回列表