4、DRC环境搭建:安装与配置DRC工具、设置工艺库与规则文件、环境变量与路径配置实战

说实话,DRC环境搭建这件事,看着简单,但坑特别多。我见过不少新手,工具装好了,规则文件也拷过来了,一跑就报错——找不到库、路径不对、规则版本不匹配。嗯,这些我都踩过。

这一章,咱们就手把手把环境搭起来。你跟着我走一遍,以后换项目、换工艺,心里就有底了。

4.1 安装DRC工具:选对版本,省一半时间

DRC工具市面上有好几种,主流的是Mentor Calibre、Synopsys ICV、Cadence Assura。我个人习惯用Calibre,因为它在代工厂支持最广,几乎所有的foundry都提供Calibre的规则文件。

安装时注意三点:

  • 版本匹配:工具版本要和规则文件兼容。比如tsmc 28nm的规则文件,可能要求Calibre 2019以上。我遇到过用Calibre 2015跑新工艺,报一堆莫名其妙的错误,后来发现是版本太老。
  • 操作系统:大部分DRC工具跑在Linux上。CentOS 7或RHEL 8比较稳。Ubuntu也能用,但有些库需要自己补。
  • License:这个别忘。没有license,工具装好了也跑不动。建议先确认license server的地址和端口。

核心要点:安装前,先去foundry官网查一下“Recommended Tool Version”列表。照着那个来,基本不会翻车。

4.2 设置工艺库与规则文件:别把文件放错地方

工艺库和规则文件,是DRC的灵魂。没有它们,工具就是个空壳。

通常foundry会给你一个PDK(Process Design Kit)包,里面包含:

  • DRC规则文件:.rul或.rule后缀,Calibre用的就是它。
  • 标准单元库:.gds或.lef,用于布局。
  • 技术文件:.tf或.lyp,定义层次和颜色。

我的做法是,在项目根目录下建一个pdk文件夹,把PDK解压进去。然后创建一个软链接,指向当前项目用的工艺版本。这样换工艺时,只改链接就行,不用动脚本。

# 示例:创建软链接
ln -s /home/pdk/tsmc28nm_v1.2 ./pdk_current

规则文件的位置,我建议放在./pdk_current/calibre/下。这样路径清晰,也好维护。

小技巧:规则文件里经常有INCLUDE语句,引用其他文件。确保这些被引用的文件也在同一目录下,或者路径写对了。我曾经因为少拷了一个.inc文件,排查了半天。

4.3 环境变量与路径配置:写进.bashrc,一劳永逸

环境变量配置,说白了就是告诉系统:工具装在哪、库在哪、规则在哪。每次打开终端都要设一遍,太麻烦。我都是写进.bashrc或.cshrc里。

下面是我常用的配置模板:

# Calibre 环境变量
export CALIBRE_HOME=/tools/mentor/calibre/2021.2
export PATH=$CALIBRE_HOME/bin:$PATH
export CALIBRE_LICENSE_FILE=27000@license_server_ip

# PDK 路径
export PDK_DIR=/home/project/pdk_current
export DRC_RULES=$PDK_DIR/calibre/drc.rul

# 工作目录
export DRC_WORK=/home/project/drc_work

配置完记得source ~/.bashrc,或者重新开一个终端。然后敲calibre -gui,如果能启动,说明环境变量生效了。

注意:CALIBRE_LICENSE_FILE这个变量,格式一定要写对。是port@host,不是host:port。我见过有人写反了,折腾了一下午。

4.4 实战:从零搭建一个DRC环境

光说不练假把式。咱们走一遍完整的流程。

第一步:创建项目目录

mkdir -p drc_demo/{pdk,work,scripts,results}
cd drc_demo

第二步:放置PDK和规则文件

假设你从foundry拿到了tsmc28nm_pdk.tar.gz,解压到pdk目录:

tar -xzf tsmc28nm_pdk.tar.gz -C ./pdk
ls ./pdk
# 应该看到 calibre/  gds/  lef/  tech/  etc.

第三步:配置环境变量

编辑~/.bashrc,加入上面那段配置。然后:

source ~/.bashrc
echo $DRC_RULES
# 输出应为:/home/yourname/drc_demo/pdk/calibre/drc.rul

第四步:写一个简单的DRC运行脚本

在scripts目录下创建run_drc.sh:

#!/bin/bash
# DRC运行脚本
calibre -drc -rule $DRC_RULES -layout ./work/top.gds -hyper

给执行权限:

chmod +x scripts/run_drc.sh

第五步:跑一下试试

cd work
../scripts/run_drc.sh

如果一切顺利,你会看到Calibre开始跑DRC,最后生成一个.drc.report文件。打开看看,里面就是检查结果。

避坑指南:我第一次跑DRC时,报错“Cannot open rule file”。检查了半天,发现是$DRC_RULES变量没生效。后来养成习惯,每次跑之前先echo $DRC_RULES确认一下。

4.5 知识体系:DRC环境搭建的核心逻辑

下面这张图,帮你理清整个环境搭建的脉络。从工具安装到规则文件,再到环境变量,每一步都有依赖关系。

DRC环境搭建核心逻辑 DRC工具安装 工艺库与规则文件 环境变量与路径 版本匹配 License配置 操作系统兼容 PDK解压与组织 规则文件路径 INCLUDE依赖检查 CALIBRE_HOME PATH与LICENSE PDK_DIR与DRC_RULES 成功运行DRC检查

你看,这三个模块是串联的。工具装好了,规则文件放对了,环境变量配准了,DRC才能跑起来。缺一个都不行。

好了,环境搭建就到这里。你按这个流程走一遍,应该不会出大问题。如果卡住了,回头看看环境变量有没有生效,或者规则文件路径对不对。嗯,这些细节最容易被忽略。

最后提醒一句:每次换项目、换工艺,记得重新检查一遍环境变量。我习惯写一个check_env.sh脚本,一键验证所有路径和变量。省心。

可可精品资料库