4、协同设计中的DRC流程:多人协作时如何统一DRC规则?版本管理中的DRC检查策略

做封装设计,一个人闷头干的时代早就过去了。现在哪个项目不是三五个人一起上?

人一多,问题就来了。你用的规则文件是V1.0,我用的V1.1,他用的V1.0改版。最后合到一起,DRC跑出来几百个错误,谁都不知道是谁的锅。

嗯,这章我就专门聊聊这个——多人协作时,怎么把DRC规则管好。

4.1 统一DRC规则:别让规则成为“罗生门”

我见过最离谱的一次,项目组五个人,手里有五份不同的规则文件。有人从服务器拉的,有人从邮件附件拿的,还有人自己手动改了几行参数。

结果呢?流片前对图,发现A模块和B模块的间距规则都不一样。你说这怎么合?

核心原则:一个项目,一个规则文件,一个版本。

具体怎么做?我建议分三步走:

  1. 规则文件统一托管——别放个人电脑,别发邮件附件。放到版本管理工具里,比如Git、SVN。谁要用,自己去拉。
  2. 指定规则管理员——团队里必须有一个人负责规则文件的维护和更新。其他人只有读取权限,没有修改权限。想改规则?走流程,找管理员。
  3. 规则文件命名规范——文件名里带上项目名、版本号、日期。比如:ProjectX_DRC_Rule_v2.1_20250315.rul。别用“最终版”“打死不改版”这种名字,你懂的。

小技巧:我习惯在规则文件头部加一段注释,写明这个文件的适用范围、修改历史、责任人。这样谁打开文件,一眼就能看到关键信息。

4.2 版本管理中的DRC检查策略:什么时候跑?谁来跑?

规则统一了,接下来就是“什么时候跑DRC”的问题。

有些人喜欢画完一整块再跑,有些人画一根线就跑一次。这两种我都见过,也都有问题。

画完再跑,万一错了,回头改的工作量巨大。画一根线就跑一次,又太浪费时间,影响效率。

我个人推荐的做法是——分层、分阶段检查。

检查阶段 检查内容 检查频率 谁负责
个人工作区 基础规则(线宽、间距、孔尺寸) 每次提交前 设计者本人
模块级 模块内部完整规则 模块完成时 模块负责人
集成级 跨模块规则、全局规则 每次集成时 项目负责人
最终签核 全部规则 + 特殊检查 流片前 质量工程师

你看,这样分工就很清楚。每个人只负责自己那一段,出了问题也能快速定位。

注意:千万不要等到最后一刻才跑集成级DRC。我曾经有个项目,大家各自画得挺好,一集成,发现两个模块的电源地网络命名不一样,导致短路。这种问题早发现早解决,拖到最后就是灾难。

4.3 自动化DRC检查:让机器替你盯着

人总会犯错,但机器不会(只要配置对)。

我建议在版本管理工具里配置自动化DRC检查钩子(hook)。每次有人提交代码,自动触发DRC检查。检查不通过,提交就失败。

举个例子,用Git的话,可以在pre-commit钩子里加一段脚本:

#!/bin/bash
# pre-commit hook: 自动运行DRC检查
echo "正在运行DRC检查..."
drc_check -rule ProjectX_DRC_Rule_v2.1.rul -input $1
if [ $? -ne 0 ]; then
    echo "DRC检查未通过,提交已拒绝!"
    exit 1
fi
echo "DRC检查通过,继续提交。"
exit 0

这样,谁想绕过检查都不行。代码进不了仓库,DRC就必须过。

实战经验:刚开始推自动化检查时,团队里肯定有人抵触,觉得麻烦。我的做法是——先在小模块试点,跑通一个流程给大家看。等大家尝到甜头(少了很多返工),自然就接受了。

4.4 冲突处理:当DRC规则和设计需求打架时

规则是死的,设计是活的。有时候,DRC规则和设计需求就是会冲突。

比如,某个关键信号需要走宽线,但DRC规则里限制了最大线宽。怎么办?

我的建议是:不要硬改规则文件。正确的做法是:

  1. 提出规则豁免申请(waiver),写明原因、影响范围、责任人。
  2. 由规则管理员审核,确认是否真的需要豁免。
  3. 审核通过后,在规则文件中添加豁免条款,并注明有效期。
  4. 所有豁免记录存档,方便后续追溯。

记住:规则豁免不是“开后门”,而是“走流程”。每一次豁免都应该有记录、有理由、有责任人。

4.5 版本回滚:DRC检查的“后悔药”

版本管理的好处之一,就是可以回滚。

假设你更新了规则文件,结果跑出来一堆新错误。别慌,用版本管理工具回退到上一个版本就行。

我习惯的做法是:

  • 每次更新规则文件前,先打一个标签(tag),比如DRC_Rule_v2.0_stable。
  • 更新后,跑一轮全量DRC检查,确认没问题再正式使用。
  • 如果有问题,直接回退到上一个稳定版本。

说白了,就是给自己留条后路。别把规则文件改死了,改坏了还能救回来。

4.6 本章小结:DRC协同的核心就三点

啰嗦了这么多,其实核心就三点:

  • 规则统一——一个项目一个规则文件,版本管理,专人维护。
  • 分阶段检查——个人、模块、集成、签核,各司其职。
  • 自动化+流程化——让机器替你盯着,让流程替你管着。

做到这三点,多人协作的DRC流程基本就不会出大乱子。

嗯,这章就到这里。下一章我们聊聊更具体的东西——怎么用脚本把DRC检查跑得更快、更准。


可可精品资料库