跳转至

EDA

上传件:EDA.md(原文件可下载)。

IT-CAD

IT/CAD 工程师‌ 是专注于 ‌EDA(电子设计自动化)工具‌ 和 ‌芯片设计环境‌ 的系统管理与技术支持的复合型岗位,核心职责包括搭建、维护和优化芯片设计所需的软硬件基础设施,确保研发流程高效稳定运行‌

1 核心职责

  • EDA 工具管理‌

安装、配置、调试EDA工具(如Synopsys、Cadence等),管理License服务器与版本更新‌ 解决工具使用中的技术问题,提供用户培训与日常技术支持‌

  • 设计环境搭建‌

规划芯片开发环境(如Linux集群),部署作业调度系统(LSF)、数据版本管理工具(Git/SVN)‌ 集成PDK(工艺设计套件)、IP库及内存编译器(Memory Compiler),确保设计资源可用性‌

  • 自动化与流程优化‌

开发脚本(Shell/Python/Perl)实现设计流程自动化,优化资源监控与任务调度‌ 构建统一开发平台,提升团队协作效率与数据安全性‌

  • 基础设施运维‌

管理服务器硬件、VDI(虚拟桌面)环境及网络架构,保障系统稳定性与容灾能力‌

2 技能要求

‌能力维度‌ ‌具体要求‌ ‌
‌系统管理‌ 精通Linux系统操作、用户权限管理及文件系统维护,熟悉集群环境配置(如LSF)‌ ‌
‌脚本开发‌ 熟练使用Shell、Python或Perl编写自动化脚本,优化工具调用与数据处理流程‌
‌EDA工具知识‌ 熟悉主流EDA工具(如Cadence、Mentor)的安装与调试,了解芯片设计基础流程‌ ‌
‌安全与协作‌ 具备数据安全策略制定能力,熟悉版本控制工具(Git/SVN),支持跨团队协作‌ ‌

一、 从信号到设计

1 核心前言

​ EDA 是芯片设计的工具软件,是芯片设计知识流程的固化,理解 EDA 需先掌握信号、电路、芯片设计的基础概念;电信号分为模拟和数字信号,对应模拟 / 数字芯片设计,也催生了分属两类设计的 EDA 工具。

​ 信号是信息传递的载体,电磁场景下为电信号,非电信号可与电信号相互转换(IT 领域 “等价原理”);电子技术围绕电信号展开,包含电子器件、电子电路、应用三大核心。

2 电子基础核心概念

2.1 电子元件 vs 电子器件
类别 定义 特性 举例
电子元件(无源器件) 生产加工不改变分子成分的成品 不产生电子,对电压 / 电流无控制、变换作用 电阻、电容、电感
电子器件(有源器件) 生产加工改变分子结构的成品 能产生电子,对电压 / 电流有控制、变换作用(放大、开关等) 电子管、晶体管、集成电路
2.2 器件细分
  • 主动器件:自身消耗电能,需外界电源;
  • 分立器件:双极性晶体三极管、场效应晶体管、可控硅、半导体电阻电容。
2.3 电子管、晶体管、集成电路的发展与关系

三者是电信号处理器件的迭代产物,核心功能均围绕电信号的放大、调制等,逐步向小型化、低功耗、高集成度发展。

  1. 电子管:1904 年弗莱明发明,是最早的电信号放大器件,第一台计算机由 1.8 万只电子管构成;德福雷斯特发明的真空三极管集成检波、放大、振荡功能,成为早期电子技术核心;缺点是体积大、耗能高、寿命短。
  2. 晶体管:1947 年贝尔实验室(肖克利、巴丁、布拉顿)发明锗半导体点接触晶体管,后肖克利提出双极型晶体管;1953 年首款商业化晶体管设备(助听器)上市,1954 年第一台晶体管收音机推出;三人因晶体管发明获 1956 年诺贝尔物理学奖,替代电子管解决了其体积、功耗问题。
  3. 集成电路:1964 年罗伯特・诺伊斯发明,将晶体管、电阻、电容等元件及布线集成在半导体晶片 / 介质基片上,封装后形成微型功能结构,是器件集成化的核心产物。
2.3.1 晶体管

晶体管主要分为‌双极型晶体管(BJT)‌和‌场效应晶体管(FET)‌,两者在控制机制和结构上存在显著差异

BJT:

  • NPN型‌:由两层N型半导体夹一层P型半导体构成,三极分别为‌发射极(E)‌、‌基极(B)‌和‌集电极(C)‌。
  • ‌PNP型‌:由两层P型半导体夹一层N型半导体构成,极性与NPN相反
2.3.2 p型与n型半导体
  • N型半导体‌:通过向纯净半导体(如硅Si、锗Ge)中掺入‌五价元素‌(如磷P、砷As),形成以‌自由电子‌为主要载流子的半导体。
  • ‌P型半导体‌:通过掺入‌三价元素‌(如硼B、铝Al),形成以‌空穴‌(相当于正电荷)为主要载流子的半导体。
‌特性‌ ‌N型半导体‌ ‌P型半导体‌
‌掺杂元素‌ 五价元素(如磷P) 三价元素(如硼B)
‌多数载流子‌ 自由电子(多子) 空穴(多子)
‌少数载流子‌ 空穴(少子) 自由电子(少子)
‌导电机制‌ 电子定向移动形成电流 空穴“移动”(实为电子反向填补)形成电流
2.5 分立元件电路 vs 集成电路
  • 分立元件电路:由单个电子元器件连接组成;
  • 集成电路:通过制造工艺将所有元器件集成在硅片上形成;
  • 集成电路优势:成本低、体积小、重量轻、功耗低、可靠性高、便于维修;
  • 应用特点:集成电路逐步替代分立元件电路,数字电路中以集成电路为主;模拟电路因信号、功率多样性及制造技术限制,大功率、超高频领域仍需分立元件电路。
2.6 集成电路规模演进

按含元件数划分,呈指数级增长:

  • 小规模(1960 年):<100 个
  • 中规模(1966 年):100~999 个
  • 大规模(1970 年):1000~99999 个
  • 超大规模(1980 年):≥10 万个
  • 特大规模(1993 年):≥1000 万个
  • 巨大规模(1994 年):≥1 亿个

3 模拟信号与数字信号

电信号的两大核心分类,核心差异体现在时间和幅值的连续性,是后续模拟 / 数字电路、设计的基础。

特性 模拟信号 数字信号
时间维度 连续 离散
幅值维度 连续,可取任意值 离散,仅取有限个值
典型应用 传统录音磁带(声音记录) CD 光盘(声音记录)
物理量转化 声音、压力、温度等可通过传感器转化为模拟电信号 现实物理变量可数字化为离散信号,最常用二进制波形
3.1 模拟调制

模拟调制‌(适用于连续信号)

  • ‌调幅(AM)‌:用基带信号控制载波幅度。
  • ‌应用‌:传统广播、对讲机。
  • ‌缺点‌:抗噪声能力差(雷电干扰易导致杂音)。
  • ‌调频(FM)‌:用基带信号控制载波频率。
  • ‌应用‌:FM广播、模拟电视伴音。
  • ‌优点‌:抗干扰强,音质更佳。
  • ‌调相(PM)‌:用基带信号控制载波相位。
  • ‌应用‌:雷达、部分无线通信系统。
3.2 数字调制
  • 幅移键控(ASK)‌:用不同幅度表示0/1。
  • ‌应用‌:RFID标签、低速无线传感。
  • ‌频移键控(FSK)‌:用不同频率表示0/1。
  • ‌应用‌:蓝牙低速模式、无钥匙进入系统。
  • ‌相移键控(PSK)‌:用不同相位表示0/1。
  • ‌高阶变种‌:QPSK(4相位)、8PSK。
  • ‌应用‌:Wi-Fi、卫星通信。
  • ‌正交幅度调制(QAM)‌:同时调制幅度和相位,提升数据密度(如16-QAM、256-QAM)。
  • ‌应用‌:5G、光纤通信、数字电视。
3.3 对比
‌调制类型‌ ‌抗噪声能力‌ ‌频谱效率‌ ‌实现复杂度‌ ‌典型场景‌
‌AM‌ 低 低 简单 广播、对讲机
‌FM‌ 中 中 中等 音频传输
‌QPSK‌ 高 中 中等 卫星通信、4G
‌16-QAM‌ 较高 高 复杂 5G、光纤通信

4 模拟电路与数字电路

处理对应信号的电路体系,分析方法、设计重点差异显著,二者并非孤立,而是共存并用,数字电路逐步替代部分模拟电路,但模拟电路仍有不可替代的适用场景。

4.1 核心差异对比
维度 数字电路 模拟电路
处理信号 数字信号 模拟信号
数据类型 二进制数据、离散量 连续量
常见应用 微处理器、微控制器、数字信号处理单元、存储器 放大器、模拟开关、接口电路、电源管理
研究 / 设计核心 输入输出逻辑关系;逻辑设计 信号波形变化;器件 / 电路对波形的影响;电路设计
分析方法 逻辑代数、真值表、卡诺图、状态转换图 电路分析方法
设计与布图布线 EDA 工具协助自动综合、自动生成 依赖设计师经验,晶体管级电路设计 + 版图设计与仿真
4.2 二者关系
  1. 相互独立且并用:同一电子系统可同时包含两类电路;
  2. 数字对模拟的替代:数字电路具备可编程灵活、工作速度高、精度高、抗干扰、易微型化、可嵌入式纠错等优势;
  3. 模拟电路的不可替代性:高精度、高速度、高频率、低功耗模拟产品需求持续增长,特定场景无法被数字电路替代;
  4. 数模共存是主流:同时包含两类电路的电子系统,性能优于单一电路系统。
4.3 常见集成电路类型
  • 模拟集成电路:集成运算放大器、集成功率放大器、模拟乘法器、锁相环、混频器、检波电路等;
  • 数字集成电路:门电路、触发器、编码器、译码器、计数器、运算电路、数据选择器、寄存器、存储器等。

5 模拟 / 数字设计流程(前端 + 后端)

芯片设计分为前端设计(逻辑 / 电路设计)*和*后端设计(物理设计),模拟设计多为全定制流程,数字设计依托 EDA 工具实现自动化,最终均以GDSII 格式文件交付代工厂进行芯片制造。

5.1 核心设计流程总述

前端设计:将电路设计实体化,包含设计 + 验证(仿真),是设计环节的核心,耗时耗力;

后端设计:将前端设计转化为物理版图,包含版图实现 + 物理验证 + 后仿真,最终输出 GDSII 文件。

5.2 模拟电路设计流程(全定制)

从电路原理图到 GDSII 文件,各环节高度依赖设计师经验,核心工具为 Cadence、Synopsys、Mentor 系列。

设计阶段 核心工作 常用工具
前端 1:电路原理图设计 绘制晶体管级电路原理图 Cadence Virtuoso、Synopsys Galaxy SE、Mentor Design Capture
前端 2:电路仿真 功能、时序、噪声、功率仿真 SPICE
后端 1:版图实现 将原理图转化为物理版图 Cadence Virtuoso、Synopsys Galaxy LE、Mentor IC Station
后端 2:物理验证 设计规则检查(DRC)、门级电路对比验证(LVS)、电气规则检查(ERC)、可制造性设计(DFM) Mentor Calibre、Synopsys Hercules、Cadence Assura
后端 3:寄生参数提取后仿真 提取版图寄生参数,再次仿真验证 SPICE
最终交付 输出 GDSII 格式文件 -

image-20260301201939980

5.3 数字电路设计流程(EDA 自动化为主)

以 RTL 硬件描述语言为起点,依托 EDA 工具实现逻辑综合、自动布局布线,自动化程度远高于模拟设计。

5.3 前端设计
  1. RTL 代码编写 → 代码风格检查 → 功能仿真 → 约束修改 → 逻辑综合 → 综合后仿真 → 静态时序分析(STA)→ 输出门级网表;

  2. 核心验证工具:Synopsys VCS/Verdi、Cadence Jasper。

image-20260301202049776

5.4 后端设计
  1. 门级网表 → 自动布局布线(APR)→ RC 参数提取 → 静态时序分析 → 布局修改 → 物理验证(DRC/LVS)→ 寄生参数提取 → 后仿真 → 输出 GDS 版图;

  2. 核心工具:Synopsys Design Compiler/IC Compiler、Cadence Innovus、Mentor Calibre。

image-20260301202120886

5.5 芯片设计演进
  • 前端演进:早期人工画图 + 专用胶带光绘 → 1986 年逻辑综合工具出现(RTL 综合为门级 HDL)→ 2004 年综合前加入版图布局规划,生成带布局信息的门级设计;
  • 后端演进:早期手工布线 → 第一代布局布线系统(布局、时钟树、布线独立)→ 第二代 IC Compiler(并发式物理设计)→ 2014 年多线程架构 + 创新设计存储 + 设计规划功能。
5.6 主流EDA软件
设计大类 具体设计环节 / 作用 主流 EDA 软件 适用领域 主要厂商 核心优点 核心缺点 补充说明
模拟设计 电路设计与仿真(全流程核心) Virtuoso 模拟 / 数模混合芯片(原理图、版图、混合信号仿真) Cadence 全定制设计生态完善,支持先进工艺,模拟版图设计行业标准,操作灵活性高 学习曲线陡峭,对电脑配置要求高,license 成本昂贵 覆盖模拟设计从原理图到 GDS-II 全流程,适配射频 / 高速模拟设计
高精度电路仿真 Spectre 模拟 / 射频芯片(瞬态、AC、噪声、失真分析) Cadence 仿真精度极高,适配 3nm/2nm 先进工艺,射频 / 高端模拟设计标杆,收敛性好 仿真速度较慢,大规模电路仿真耗时久,对算力要求高 业界高端模拟仿真首选,支持数模混合信号协同仿真
高频 / 射频电路设计与电磁仿真 ADS 射频 / 微波 / 毫米波芯片(S 参数、谐波平衡、系统级设计) Keysight(是德科技) 射频系统设计一体化,兼顾电路与电磁仿真,操作界面友好,射频模型库丰富 纯模拟基带电路仿真能力弱,价格偏高,小众场景适配性一般 射频 / 通信芯片设计专用,5G/6G 射频前端设计主流工具
电磁场仿真(片上无源 / 互连) EMX 模拟 / 射频芯片(3D 平面电磁场仿真、寄生参数提取) Ansys(Integrand) 专注片上无源器件 / 互连仿真,精度高,与 Ansys 仿真平台无缝集成 仅支持平面电磁场仿真,3D 全波仿真能力弱,适用场景单一 高频互连 / 片上电感 / 电容仿真专用,补充 Spectre/ADS 的电磁仿真能力
快速 SPICE 仿真 Finesim SPICE 模拟 / 数模混合芯片(大规模电路仿真加速) Synopsys 仿真速度比传统 SPICE 快 10-100 倍,兼容 SPICE 语法,精度 / 速度平衡佳 超高精度场景略逊于 HSPICE/Spectre,复杂射频仿真支持不足 中大规模模拟电路仿真首选,提升设计迭代效率
经典高精度 SPICE 仿真 HSPICE 模拟 / 数模混合芯片(核心模块超高精度仿真、器件建模) Synopsys 仿真精度行业最高,器件建模验证标准,支持全工艺节点 仿真速度最慢,大规模电路仿真效率极低,操作繁琐 芯片核心模拟模块(如基准源、运放)仿真签核专用
半导体工艺与器件仿真 Sentaurus TCAD 芯片工艺开发 / 器件设计(工艺参数、器件结构性能分析) Synopsys 工艺与器件仿真行业标准,覆盖从工艺到器件建模全流程,适配先进工艺 学习成本极高,需深厚工艺知识,license 成本极高 晶圆厂 / 器件设计公司核心工具,支撑新工艺开发
数字设计 功能验证 / RTL 级仿真 VCS 数字芯片(RTL / 门级仿真、代码覆盖率分析) Synopsys 仿真速度极快,支持超大规模 SoC 设计,多核并行仿真,覆盖率分析完善 纯数字仿真,不支持模拟信号,操作界面较简陋 超大规模数字芯片功能验证行业主流,适配 AI / 算力芯片设计
高端数字验证 / 仿真 QuestaSim 数字 / 数模混合芯片(RTL 仿真、形式验证、低功耗验证) Siemens EDA 验证覆盖率分析最全面,支持低功耗 / 混合信号验证,调试功能强大 仿真速度略慢于 VCS,license 成本高 高端数字芯片验证签核专用,弥补 VCS 的验证深度不足
逻辑综合 Design Compiler (DC) 数字芯片(RTL→门级网表,PPA 多目标优化) Synopsys 逻辑综合行业标准,适配全工艺节点,PPA 优化算法成熟,生态完善 先进工艺下优化效率略逊于 Genus,对新型电路架构适配较慢 数字前端设计经典工具,中小规模芯片综合首选
新一代逻辑综合 Genus 数字芯片(先进工艺 RTL→门级网表,PPA 优化) Cadence 适配 7nm 及以下先进工艺,PPA 优化效率更高,支持 AI 辅助综合 学习成本高,与部分老款后端工具兼容性一般 超大规模 / 先进工艺数字芯片综合首选
静态时序分析(STA) PrimeTime 数字芯片(时序收敛验证、签核) Synopsys STA 行业标准,精度高,适配先进工艺,时序分析功能完善 仅支持时序分析,无功耗 / 信号完整性分析功能,操作繁琐 数字芯片时序签核必备工具,无替代方案
新一代 STA / 时序签核 Tempus 数字芯片(先进工艺时序分析、时序优化) Cadence 支持超大规模 SoC,时序分析速度快,集成 AI 辅助时序优化 高端工艺下精度略逊于 PrimeTime,生态完善度一般 先进工艺数字芯片时序分析补充工具,提升设计效率
数字后端物理实现 Innovus 数字芯片(自动布局布线 APR、PPA 优化) Cadence 布局布线效率高,PPA 优化能力强,支持先进工艺,操作灵活性高 对电脑配置要求极高,大规模设计易卡顿,学习曲线陡 数字后端设计主流工具,适配绝大多数数字芯片设计
新一代数字后端物理实现 ICC2 数字芯片(先进工艺 APR、时序 / 功耗优化) Synopsys 适配 3nm/2nm 先进工艺,时钟树综合能力强,PPA 优化更精细 操作复杂度高,与部分前端工具兼容性一般 超大规模 / 先进工艺数字芯片后端首选
物理设计 / 后仿 物理验证(DRC/LVS/PEX) Calibre 全品类芯片(设计规则检查、版图原理图对比、寄生提取) Siemens EDA 行业绝对主流(市占率 95%+),支持全工艺节点,验证精度高,容错性好 寄生提取速度较慢,大规模芯片验证耗时久 所有芯片设计流片前必备签核工具,无替代方案
高端寄生参数提取 StarRC 全品类芯片(高精度 RC/RLC 寄生提取、时序 / 功耗分析) Synopsys 寄生提取精度行业最高,支持先进工艺,适配超大规模 SoC 提取速度慢,算力要求高,license 成本昂贵 高端芯片 / 先进工艺寄生提取签核专用,补充 Calibre 的精度需求
寄生参数提取与分析 RCexplorer 全品类芯片(常规 RC 提取、参数反标、时序分析) Siemens EDA 提取速度快,与 Calibre 无缝集成,操作简单,适配中小规模芯片 高精度场景略逊于 StarRC,先进工艺支持一般 中小规模芯片寄生提取首选,提升设计效率
功耗与电迁移分析 Redhawk-SC 全品类芯片(IR Drop、电迁移、热 - 电耦合仿真) Ansys 功耗分析精度高,支持多物理场耦合,适配先进工艺,可视化效果好 操作复杂,学习成本高,算力要求极高 高端芯片 / 超大规模 SoC 功耗签核行业标准
数字芯片功耗分析 PrimePower 数字 / 数模混合芯片(功耗分析、功耗优化、低功耗设计) Synopsys 与 Synopsys 前端 / 后端工具无缝集成,操作简单,功耗优化算法成熟 多物理场耦合分析能力弱,先进工艺下精度略逊于 Redhawk-SC 中小规模数字芯片功耗分析首选,适配全流程生态
多物理场耦合仿真 ALPS 高端芯片(电磁、热、电迁移协同仿真) Siemens EDA 支持多物理场一体化仿真,适配先进封装 / 3DIC,分析全面 仿真速度极慢,算力要求极高,适用场景单一 先进封装 / Chiplet / 高端算力芯片多物理场签核专用
AI 增强型物理验证 Calibre Vision AI 全品类芯片(智能 DRC/LVS 调试、签核加速) Siemens EDA AI 辅助识别设计违规,调试效率提升 50%,支持团队协同 仅为 Calibre 升级版本,无独立功能,依赖 Calibre 生态 2025 年新款工具,提升物理验证迭代效率
数模混合设计 混合信号验证 / 仿真 AMS Designer 数模混合芯片(模拟 + 数字协同仿真、跨域信号验证) Cadence 与 Virtuoso 无缝集成,模拟仿真精度高,支持全工艺节点 数字仿真速度慢,超大规模数模混合设计效率低 Cadence 生态下数模混合仿真首选
数字主导混合信号仿真 VCS AMS 数模混合芯片(数字 + 模拟协同仿真、覆盖率分析) Synopsys 数字仿真速度快,与 VCS/DC 生态集成,支持大规模设计 模拟仿真精度略逊于 AMS Designer,射频仿真支持不足 Synopsys 生态下数模混合仿真首选,适配数字主导的数模混合芯片
FPGA 设计 FPGA 开发 / 原型验证 Vivado FPGA/CPLD(开发、综合、布局布线、仿真) Xilinx(AMD) 集成度高,支持高端 FPGA(UltraScale),仿真 / 调试功能完善 对电脑配置要求高,中小规模 FPGA 设计操作繁琐 AMD FPGA 开发行业标准,适配高端 FPGA / 原型验证
FPGA 开发 / 量产设计 Quartus Prime FPGA/CPLD(开发、综合、布局布线、量产支持) Intel 对中小规模 FPGA 适配性好,量产设计工具完善,操作简单 高端 FPGA 支持略逊于 Vivado,仿真速度一般 Intel FPGA 开发主流工具,中小规模 FPGA / 量产设计首选
系统级设计 算法建模与系统架构设计 MATLAB/Simulink 全品类芯片(系统级算法建模、软硬件协同仿真) MathWorks 可视化建模,算法库丰富,支持多领域仿真,学习成本低 芯片级细节设计能力弱,无法直接生成硬件代码 芯片设计前期系统规划 / 算法验证首选,适配 AI / 通信 / 汽车芯片
硬件系统级建模 SystemC 全品类芯片(系统级硬件建模、架构验证) Accellera(开源) 开源免费,支持高抽象级建模,适配超大规模系统设计 学习成本高,无统一仿真工具,生态分散 高端 SoC / 系统级芯片架构设计专用,主流 EDA 厂商均提供配套支持
通用工具 / 平台 云原生 EDA 仿真平台 Aether 全品类芯片(分布式仿真、资源弹性调度、云端协同) Synopsys 支持大规模分布式仿真,算力弹性扩展,提升仿真效率,云端协同便捷 依赖网络环境,数据安全要求高,部分功能需本地工具配合 2025 年主流云原生 EDA 平台,适配超大规模芯片仿真
AI 增强型数字设计 Aprisa AI 数字芯片(RTL→GDS AI 辅助优化、PPA 提升) Siemens EDA AI 辅助 PPA 优化(提升 10%),设计效率提升 10 倍,流片周期缩短 2/3 仅支持西门子 EDA 生态,先进工艺适配仍在验证 2025 年新款 AI-EDA 工具,数字设计全流程加速
PCB / 板级设计 Altium Designer (AD) 板级 / PCB 设计(原理图、PCB 布局布线、简单仿真) Altium 集成度高,中文界面,学习成本低,3D 视图效果好,高校教学主流 高速 / 多层板设计能力弱,企业级项目适配性一般 中小规模 PCB / 板级设计首选,新手入门工具
中高端 PCB 设计 PADS 板级 / PCB 设计(原理图、PCB 布局布线、板级仿真) Siemens EDA 模块化设计,对电脑配置要求低,消费电子领域适配性好,布线效率高 高速板仿真能力弱,网表导出易出故障,高端场景支持不足 消费电子 / 中小规模企业 PCB 设计主流工具
国产 EDA 模拟设计全流程平台 Empyrean 模拟平台 模拟 / 数模混合芯片(原理图、版图、仿真、物理验证) 华大九天 国内唯一模拟全流程 EDA,支持 14nm 工艺,时序精度 ±3%,适配国产工艺,价格低 先进工艺(7nm 及以下)支持不足,大规模电路仿真速度慢,生态完善度一般 国产模拟芯片设计核心工具,市占率 42.6%,可替代国际工具 90% 功能
国产 SPICE 仿真器 Empyrean ALPS® 模拟 / 数模混合芯片(SPICE 仿真、GPU 加速) 华大九天 GPU 加速仿真(3-5 倍提速),适配国产工艺,操作贴合国内工程师习惯 超高精度场景略逊于 Spectre,射频仿真支持不足 国产模拟仿真核心工具,3nm 后仿适配中
器件建模与仿真 NanoSpice™ 全品类芯片(器件建模、大规模 SPICE 仿真) 概伦电子 支持三星 3nm/4nm 工艺,五千万元件级电路仿真,被台积电 / 三星纳入 PDK 仅专注器件建模 / 仿真,无全流程设计工具,系统级设计能力弱 全球唯三支持 3nm 建模的厂商,国产器件建模行业标准
数字智能验证平台 GalaxEC-HEC 数字芯片(AI 驱动验证、形式验证) 芯华章 AI 辅助验证效率提升 10 倍,错误预测准确率 92%,适配国产 CPU/SoC 超大规模 SoC 验证支持不足,与国际工具生态兼容性一般 国产数字验证核心工具,已导入中兴 / 飞腾等头部企业
硬件仿真系统 桦敏 HuaEmuE1 数字芯片(超大规模硬件仿真、原型验证) 芯华章 国内首台超百亿门硬件仿真系统,支持 150 亿门芯片验证,价格低 仿真速度略逊于国际同类产品,调试功能待完善 国产高端数字芯片原型验证核心工具,寒武纪 AI 芯片已应用
封装 / PCB 协同设计 RedEDA 平台 芯片封装 / PCB / 板级设计(全流程协同设计) 弘快科技 覆盖芯片 - 封装 - PCB 全流程,布线效率提升 35%,适配国产信创体系,价格低 不支持全波电磁场仿真,先进封装(3DIC)支持不足 国产封装 / PCB 设计主流工具,信创领域首选
可制造性设计(DFM) DFM 良率分析平台 全品类芯片(DFM 设计、良率提升、工艺适配) 广立微 助力中芯国际 7nm 良率爬坡缩短 15%,DFM 市占率 58.4%,适配国产工艺 先进工艺良率分析精度略逊于国际工具,无全流程设计能力 国产制造端 EDA 核心工具,中芯国际 / 华虹等代工厂标配

6、核心总结

  1. EDA 工具的设计逻辑源于芯片设计流程,模拟和数字设计的 EDA 工具差异,本质是信号、电路的特性差异导致的设计流程差异;
  2. 模拟设计的核心是全定制 + 设计师经验,布图布线和仿真高度依赖人工,EDA 工具起辅助作用;
  3. 数字设计的核心是EDA 自动化,从逻辑综合到布局布线,EDA 工具实现全流程自动生成,大幅提升设计效率;
  4. 数模共存是芯片设计的主流趋势,对应的 EDA 工具也需兼顾模拟和数字设计的需求,模拟设计向高性能发展,数字设计向高自动化、高集成度发展

二 EDA设计全流程

1 核心前言

EDA 设计流程并非单一步骤,而是覆盖设计、仿真、验证、测试的全链路复杂体系,且各环节又细分前后端操作;EDA 工具深度渗透芯片设计全流程,支撑不同设计方法(全定制 / 半定制 / 可编程逻辑)和设计环节(系统架构 / 前端 / 后端 / 封装测试),是芯片设计的核心支撑,模拟与数字芯片因特性差异,在设计方法和具体流程上存在显著不同。

芯片设计公司(Fabless)需基于代工厂(Foundry)提供的PDK 工艺文件(含设计规则、仿真模型、验证规则等)开展设计,最终输出GDS-II 版图文件交付代工厂流片,完成封装测试后芯片才可投入使用。

2 芯片设计的三大核心方法

集成电路设计方法分为全定制、半定制、可编程逻辑设计,三者在设计方式、性价比、适用场景上差异显著,EDA 工具可适配不同方法的设计需求。

设计方法 核心设计途径 优缺点 核心适用场景
全定制 手工设计为主,EDA 仅辅助检查、验证;精细到每个晶体管的版图、参数规划 优点:灵活性高,可实现最优 PPA(功耗、性能、面积)缺点:开发效率低、费用高 对速度 / 功耗有特殊要求的模拟芯片、数模混合芯片
半定制 基于厂家提供的标准单元库,依托 EDA 实现自动化设计 优点:开发成本低、设计周期短 高集成度、大规模的数字芯片
可编程逻辑设计 用户仅输入逻辑关系,可编程器件通过熔断内部金属线实现需求;无需掌握芯片工艺 / 版图知识 优点:节省设计时间、门槛低缺点:电路性能较差、成本较高 整机设计、不熟悉集成电路工艺的用户;代表器件为FPGA
2.1 Fabless 到 Foundry 全流程

image-20260301205222338

2.2 PDK 文件

PDK⽂件是代⼯⼚发送给设计公司的⼀套针对特定芯⽚制造⼯艺的,为电路设计⽽提供的⼯艺⽂件集合,其中包括芯⽚的设计规则、电学规则、版图层次定义、SPICE仿真模型、物理验证规则等⽂件

3 芯片设计通用全流程

无论模拟还是数字芯片,整体设计流程均分为四大核心步骤,仿真验证贯穿全程,需多次迭代优化以满足设计要求。

3.1 系统体系结构设计
  • 核心工作:定义芯片功能 / 应用环境、划分软硬件功能、拆解为简单功能子模块、确定关键性能指标和算法;
  • 设计方法:采用层次化设计,用系统建模语言描述各模块功能,为后续设计划定整体框架。
3.2 前端设计

将系统架构的功能要求转化为网表(Netlist)(表示元器件连接关系的文本文件),是 “逻辑 / 电路设计实体化” 的过程,模拟和数字芯片的实现方式差异显著。

  • 数字芯片:用硬件描述语言(如 Verilog HDL)完成寄存器传输级(RTL) 代码编写,经仿真、逻辑综合后生成门级网表;
  • 模拟芯片:手工绘制满足工艺要求的电路原理图,经仿真优化后生成晶体管级网表。
3.3 后端设计

又称物理设计,是将前端网表转化为物理版图的过程,最终输出GDS-II 文件,核心要求是符合 PDK 文件规范,确保顺利流片;

  • 核心环节:版图设计 / 布局布线、物理验证(DRC/LVS)、寄生参数提取、后仿真;
  • 共性要求:模拟和数字芯片均需多次仿真与验证,迭代优化版图。
3.4 封装和测试
  • 封装:将集成电路与其他元器件连接到系统级基板,实现芯片的物理成型;
  • 测试:检测封装后芯片的系统性能,确保功能、功耗、性能等指标符合设计要求,是芯片交付前的最终校验。

4 模拟芯片设计流程(全定制为主)

模拟芯片因对速度、功耗、精度要求严苛,全程采用全定制设计,从前端到后端高度依赖设计人员经验,EDA 工具仅起辅助作用,核心是 “晶体管级的精细设计 + 多次仿真迭代”。

4.1 前端设计流程

项目需求 → 电路图设计 + 器件参数计算 → 电路仿真 / 优化(不满足则迭代) → 生成晶体管级网表 → 进入后端

  • 核心:手工绘制原理图,仅表示元器件逻辑连接,暂不考虑物理特性(如连线电阻、电容);
  • 仿真优化(前仿真):通过直流 / 瞬态 / 交流 / 噪声特性分析,检查电路可靠性、鲁棒性、功耗,调整参数至满足指标。
4.2 后端设计流程

前端原理图 → 手工版图设计 → DRC 检查 → LVS 检查 → 寄生参数提取 → 版图仿真(后仿真,不满足则迭代) → 生成 GDS-II 文件

各环节核心工作:

  1. 版图设计:将原理图转化为几何图形表示的物理版图,需考虑信号线延时、串扰、电阻电容等实际物理问题,遵守工艺设计规则;
  2. DRC(设计规则检查):对照 PDK 中的工艺规则,检查版图几何图形的宽度、间距、重叠等,修改至无违规;
  3. LVS(版图与电路图对比):从版图中抽取网表,与前端仿真后的网表对比,确保物理版图与原设计逻辑一致;
  4. 寄生参数提取:提取芯片工艺带来的寄生电阻、电容等参数,生成寄生参数网表,贴近实际芯片特性;
  5. 版图仿真(后仿真):将寄生参数带入网表再次仿真,得到最接近实际芯片的性能结果,满足指标则输出 GDS-II 文件。

5、数字芯片设计流程(半定制为主)

数字芯片集成度高、规模大,采用半定制设计,依托标准单元库和 EDA 工具实现全流程自动化,设计人员主要负责逻辑定义和约束设置,核心是 “RTL 代码→门级网表→自动布局布线”。

5.1 前端设计流程

项目需求 → RTL 代码编写 → 代码检查 / 修改 → 功能仿真(前仿真) → 逻辑综合 + 约束修改 → 综合后仿真 → 静态时序分析(STA) → 生成门级网表 → 进入后端

核心环节详解:

  1. RTL 代码编写:用 HDL 语言在 RTL 层次描述电路的连接、时序,可先在行为级描述功能块降低难度,再转化为 RTL 级(主流设计方式);
  2. 功能仿真(前仿真):搭建 Test Bench 仿真环境,输入激励信号,验证逻辑功能是否符合预期,不考虑信号传播延时,注重测试覆盖率;
  3. 逻辑综合:EDA 工具将 RTL 代码转化为标准单元库中的门级电路,需指定工艺库、设置约束条件,迭代优化至生成最优门级网表;
  4. 可测性设计(DFT)插入:加入专用测试电路,提高芯片制造缺陷的检测效率,实现高故障覆盖率;
  5. 静态时序分析(STA):无测试向量,快速验证大规模电路的时序是否收敛,分解时序路径并计算延时,是综合的核心约束目标;
  6. 形式验证:用纯数学方法验证综合后门级网表与 RTL 代码的逻辑等价性,覆盖率和可靠性远高于仿真,及时发现转换错误;
  7. 综合后仿真:即 STA + 形式验证,完成前端设计的最终校验。
5.2 后端设计流程

门级网表 → 版图物理规划 → 功耗分析 → 单元布局与优化 → 时钟树综合 → 详细布线 → 电压衰减分析 → 寄生参数提取 → 信号完整性分析 → ECO 修改 → 布局布线后仿真 → 物理验证(DRC/LVS) → 生成 GDS-II 文件

核心环节详解:

  1. 版图物理规划:规划芯片大小、I/O 引脚、硬 IP、电源网络、时钟网络,追求 PPA 和时序收敛的最优折中;
  2. 功耗分析:分析静态功耗(漏电流)和动态功耗(翻转 / 短路功耗),依据工艺库和门级网表优化电路,布局布线后需再次分析;
  3. 单元布局与优化:APR 工具根据网表和时序约束,自动放置标准单元 / 宏单元,同时进行时序检查和优化;
  4. 时钟树综合:构建时钟网络(时钟树),核心是减小时钟偏斜(时钟源到各寄存器的延时差),降低时钟网络功耗,避免噪声;
  5. 详细布线:EDA 自动完成单元间信号线的物理连接,需满足 “完成互连 + 优化约束”(消除阻塞、减少串扰、保证信号完整性);
  6. 电压衰减分析(IR-drop & EM):评估电源网络的电压降和电流密度,优化电源网络,避免芯片速度降低或功能故障;
  7. 寄生参数提取 / 信号完整性分析:提取寄生参数,结合串扰噪声文件,测试高频率下信号的时序、电压幅度是否达标;
  8. ECO 修改:流片前的工程变更,针对布局布线后出现的小问题,修改设计逻辑功能,无需重新全流程设计;
  9. 布局布线后仿真:加入寄生参数和信号线延时,最贴近实际芯片的仿真,验证时序收敛和功能等价性;
  10. 物理验证:完成 DRC/LVS 检查,与模拟芯片后端验证要求一致,通过后输出 GDS-II 文件。
5.3 模拟 / 数字芯片设计 - EDA 工具 / 运行任务 / HPC 平台要求对应表
设计类型 芯片设计阶段 核心 EDA 工具 运行核心任务 HPC 平台硬件要求 HPC 平台调度 / 软件要求 核心关注要点(IT-CAD 岗)
数字芯片 前端设计验证 Synopsys VCSCadence XceliumSynopsys Verdi RTL 功能仿真、UVM 验证、仿真波形调试、批量回归测试 1. 多核 CPU(24/32 核为主,支持超线程)2. 大内存(64G/128G,满足多案例并行)3. 普通 SSD 存储(满足仿真日志 / 波形文件读写) 1. 调度策略:FIFO+Backfill,开启高并发调度2. 环境:Linux(CentOS/Ubuntu),Lmod 做工具版本隔离3. 监控:任务运行状态、算力利用率实时监控 1. 保障 VCS/Xcelium License 高利用率,避免多 session 残留2. 优化批量仿真任务的并发数,提升集群吞吐3. Verdi 波形文件存储路径规划,避免磁盘占满
数字芯片 前端综合 Synopsys Design Compiler (DC) RTL 到门级网表综合、时序约束落地、综合结果优化 1. 中多核 CPU(16/24 核)2. 大内存(64G/128G,处理超大规模网表)3. 高速 SSD(网表文件读写速度要求高) 1. 调度策略:FairShare + 中等优先级,按项目分配算力份额2. 环境:配套工艺库(.lib)环境变量精准配置3. 工具:与前端仿真工具版本兼容 1. DC 与工艺库版本严格匹配,避免综合报错2. 网表文件做增量存储,节省磁盘空间3. 限制单任务算力占用,避免资源垄断
数字芯片 后端物理实现 Synopsys IC Compiler (ICC/ICCII)Cadence Innovus 网表布局布线、时钟树综合(CTS)、物理约束优化、版图初步生成 1. 多核高性能 CPU(32/48 核,主频≥3.0GHz)2. 超大内存(256G/512G,支撑超大规模芯片版图处理)3. 高速并行存储(NVMe/Lustre,满足版图大文件读写)4. 千兆 / 万兆网络(保障节点间数据同步) 1. 调度策略:Priority 高优先级 + 资源独占,禁止任务抢占2. 环境:开启 CPU 亲和性、大页内存(HugePages)3. 存储:版图文件专属存储分区,做定时备份 1. 预留专属算力池,避免与普通任务争抢资源2. 工具运行日志实时监控,及时排查布局布线卡顿问题3. 版图文件多版本备份,防止文件损坏
数字芯片 Sign-off 时序验证 Synopsys PrimeTime (PT) 静态时序分析(STA)、时序违例修复、功耗与时序联合分析 1. 中多核 CPU(24/32 核)2. 超大内存(128G/256G,处理全芯片时序路径)3. 高速 SSD(时序报告 / 网表文件读写) 1. 调度策略:Sign-off 专属最高优先级,License 独占式分配2. 环境:与后端实现工具、工艺库版本完全兼容3. 监控:License 使用状态、任务运行进度告警 1. PT License 极其昂贵,严格限制非 Sign-off 任务调用2. 时序分析任务断点续跑配置,避免中断重跑3. 定时清理时序报告冗余文件,释放磁盘
数字芯片 Sign-off 物理验证 Siemens CalibreCadence PVSSynopsys IC Validator DRC(设计规则检查)、LVS(版图网表一致性检查)、ERC(电气规则检查) 1. 海量多核 CPU(集群化部署,单任务支持 128/256 核并行)2. 超大内存(512G/1T,支撑超大规模 GDSII 版图处理)3. 超高吞吐并行存储(Lustre/ZFS,GDSII 文件高速读写)4. InfiniBand RDMA 高速网络(节点间数据传输无延迟) 1. 调度策略:Sign-off 专属最高优先级 + 拓扑感知调度,开启多核并行调度2. 工具:Calibre 多版本独立部署,避免冲突3. 存储:GDSII 版图文件专属高速存储池 1. Calibre License 做集群化共享,提升利用率2. DRC/LVS 任务超长时间运行,配置 7×24 小时故障监控3. 并行存储 IOPS 优化,缩短版图检查耗时
模拟芯片 电路设计 / 仿真 Cadence VirtuosoCadence SpectreSynopsys HSpice 模拟电路原理图绘制、直流 / 交流 / 瞬态仿真、高精度电路特性分析、仿真结果优化 1. 单核 / 少核高性能 CPU(8/16 核,主频高,支撑单任务长时间运行)2. 中大型内存(32G/64G,满足电路仿真数据处理)3. 普通 SSD 存储(仿真参数 / 结果文件读写) 1. 调度策略:Priority 中等优先级 + 小资源队列,单独划分模拟仿真专属节点2. 环境:Virtuoso GUI 远程访问优化(如 VNC/NoMachine)3. 监控:License 占用状态、仿真任务卡顿告警 1. Virtuoso License 按用户数管控,避免单人多开占用2. Spectre/HSpice 仿真任务超时配置,释放闲置资源3. 远程 GUI 访问网络优化,避免卡顿 / 断连
模拟芯片 射频电路设计 / 仿真 Cadence ADSCadence Virtuoso RF OptionAnsys HFSS 射频电路原理图 / 版图设计、射频特性仿真、三维电磁仿真、信号完整性分析 1. 多核 CPU(16/32 核)+ 可选 GPU(NVIDIA A100/A800,加速电磁仿真)2. 大内存(64G/128G,支撑电磁仿真数据计算)3. 高速 SSD(仿真模型 / 结果文件读写)4. 千兆网络(保障仿真模型数据传输) 1. 调度策略:FairShare+GPU 专属调度(HFSS),射频 / 普通模拟任务隔离2. 环境:GPU 驱动 / CUDA 版本与 HFSS 匹配3. 工具:ADS 与 Virtuoso RF Option 环境联动配置 1. Ansys 系列 License(HFSS)做 GPU/CPU 任务隔离2. 电磁仿真 GPU 算力资源预留,提升仿真速度3. 射频仿真模型文件做缓存,减少重复加载时间
模拟芯片 Sign-off 验证 Cadence Spectre/HSpiceSiemens CalibreCadence Calibre PERC 后仿真(加入寄生参数)、物理验证(DRC/LVS)、可靠性验证(ESD/IR Drop) 1. 后仿真:同模拟电路仿真硬件配置,提升内存至 64G/128G2. 物理验证 / 可靠性验证:同数字芯片 Sign-off 物理验证硬件配置 1. 调度策略:Sign-off 最高优先级,与数字 Sign-off 共享算力池但做任务隔离2. 环境:后仿真寄生参数(.spef)文件环境变量精准配置3. 调度:Calibre PERC 与 Calibre 主工具 License 共享优化 1. 模拟 Sign-off 任务与数字 Sign-off 任务算力资源做隔离,避免互相抢占2. 寄生参数文件与版图文件路径关联,避免仿真报错3. 可靠性验证任务 License 与物理验证共享,提升利用率

通用核心要求(模拟 / 数字芯片设计均适用)

  1. License 管理:FlexLM 高可用部署(主备 + 异地容灾),多 Vendor 混部优化,Sign-off 工具 License 独占式分配;
  2. 环境管理:统一 Linux 发行版,Lmod/Environment Modules 做工具版本隔离,工艺库 / 模型库标准化配置;
  3. 存储规划:按任务类型划分存储分区(仿真日志 / 版图文件 / 报告文件),做定时备份和冗余清理;
  4. 监控告警:Prometheus+Grafana 搭建全维度监控(算力 / 存储 / License / 任务),分级告警(紧急 / 重要 / 一般),7×24 小时响应;
  5. 调度核心:按任务特性组合调度策略(Priority 保 Sign-off、Backfill 提利用率、FairShare 保公平、拓扑感知提并行)。

6 EDA 工具的全流程渗透与模块划分

EDA 工具并非单一软件,而是覆盖芯片设计所有环节的工具集,既支撑不同设计方法,又满足前后端各步骤的设计、仿真、验证、布局布线需求,仿真验证是 EDA 工具应用的核心场景,贯穿芯片设计全阶段。

6.1 EDA 工具的核心渗透特点
  1. 覆盖设计全环节:从系统架构的功能定义,到前端的电路 / 代码设计,再到后端的物理版图实现,最后到封装测试的性能校验,均有对应 EDA 工具;
  2. 适配不同设计方法:全定制(辅助验证)、半定制(自动化设计 / 布局布线)、可编程逻辑设计(逻辑关系定义)均能匹配;
  3. 仿真验证全程化:前仿真(功能 / 电路验证)、综合后仿真(时序 / 逻辑验证)、后仿真(贴近实际芯片的性能验证),多次迭代确保设计达标;
  4. 模拟 / 数字差异化支撑:模拟芯片侧重原理图绘制、手工版图设计、高精度仿真工具;数字芯片侧重代码编译、逻辑综合、自动布局布线工具。
6.2 EDA 核心功能模块划分

EDA 工具按功能可分为四大子模块,各模块对应芯片设计的不同环节,相互配合完成全流程设计:

EDA 子模块 核心功能 / 对应环节 关键操作
设计子模块 芯片前端设计核心,完成电路 / 代码的输入与综合 电路原理图设计、HDL 编码、设计输入、逻辑综合
布局布线子模块 芯片后端设计核心,实现物理版图的自动化 / 手工绘制 自动布局布线、时钟树综合、手工版图设计
分析验证子模块 全流程验证,确保设计符合工艺和功能要求 DFT 可测性设计、形式验证、DRC/LVS 检查、ERC 电气规则检查、DFM 可制造性设计、寄生参数提取、STA 静态时序分析
综合仿真子模块 全流程仿真,迭代优化电路 / 逻辑性能 电路仿真、设计仿真、功能模拟、时序模拟、噪声模拟、功率模拟

7 核心总结

  1. EDA 是芯片设计的基础设施,其流程本质是芯片设计流程的软件化固化,全流程围绕 “从逻辑 / 电路设计到物理版图实现,再到仿真验证迭代” 展开;
  2. 模拟与数字芯片设计的核心差异源于设计方法:模拟芯片全定制(人工主导、精细到晶体管),数字芯片半定制(EDA 主导、自动化布局布线),但二者均以PDK 为依据、GDS-II 为输出、仿真验证为核心;
  3. 仿真验证是 EDA 工具的核心应用场景,前仿真验证 “逻辑 / 电路功能”,后仿真结合物理特性验证 “实际芯片性能”,多次迭代是芯片设计达标关键;
  4. 芯片设计的核心目标是实现PPA 最优,所有环节(综合、布局布线、时钟树设计)均围绕 “更低功耗、更高性能、更小面积” 和时序收敛展开。

三 VCS

‌VCS(Verilog Compiler Simulator)‌ 是Synopsys公司开发的高性能‌数字电路验证工具‌,主要用于‌RTL级(寄存器传输级)及系统级(SystemVerilog)设计的仿真与验证‌‌

1 在数字设计验证的流程

设计输入‌:

  • 输入文件:RTL代码(Verilog/SystemVerilog)、TestBench、约束文件‌

仿真运行‌:

执行仿真:./simv,输出波形和日志‌ 关键输出: 功能错误报告(如断言失败、预期值不符)‌ 覆盖率报告(覆盖率不足时需补充测试用例)‌

调试与迭代‌:

使用Verdi分析波形,定位RTL代码缺陷‌

修复问题后重新编译仿真,直至功能与时序收敛‌

2 VCS vs ModelSim

‌特性‌ ‌VCS‌ ‌ModelSim‌ (Mentor)
‌仿真速度‌ 编译型,高性能(支持多线程)‌67 解释型,速度较慢
‌语言支持‌ Verilog、SystemVerilog、UVM‌ Verilog、VHDL
‌调试能力‌ 需配合Verdi‌ 集成图形化调试界面
‌适用场景‌ 大规模数字芯片验证‌ 中小规模设计、FPGA验证

3 典型流程示意

# 1. 编译阶段  
compile:  
    vcs -sverilog -timescale=1ns/1ps -f filelist.f \  
        -P ${VERDI_HOME}/share/PLI/VCS/LINUX64/novas.tab \  
        ${VERDI_HOME}/share/PLI/VCS/LINUX64/pli.a -o simv  

# 2. 仿真阶段(生成FSDB波形)  
sim:  
    ./simv -ucli -do "fsdbDumpfile wave.fsdb; fsdbDumpvars 0 top; run"  

# 3. 调试阶段  
debug:  
    verdi -sv -f filelist.f -ssf wave.fsdb &  

4 命令解释

vcs -full64 -sverilog \  
-fsdb +define+FSDB \  
-P ${VERDI_HOME}/share/PLI/VCS/LINUX64/novas.tab \  
${VERDI_HOME}/share/PLI/VCS/LINUX64/pli.a \  
-f filelist.f \  
-l uart.log  

心参数分析‌

  • -full64:启用64位模式编译,支持更大规模设计‌17[‌1][‌7]。
  • -sverilog:支持SystemVerilog语法‌3[‌3]。
  • -fsdb +define+FSDB
  • -fsdb:启用VCS生成FSDB波形文件的接口‌45[‌4][‌5]。
  • +define+FSDB:在代码中定义宏FSDB,用于条件编译(如仅在宏定义时调用$fsdbDumpvars)‌45[‌4][‌5]。
  • -P:链接Verdi的PLI库(novas.tab和pli.a),解决$fsdbDumpfile未定义错误‌17[‌1][‌7]。
  • -f filelist.f:指定源文件列表(RTL、Testbench等)‌28[‌2][‌8]。
  • -l uart.log:将编译日志输出到uart.log文件‌
  • -MUpdate : 增量编译优化‌通过该选项,VCS仅编译修改过的文件,减少编译时间(适用于局部修改场景

四 ADS

ADS(Advanced Design System)‌ 是由Keysight(原Agilent)开发的‌高频电子设计自动化(EDA)工具‌,核心定位为‌射频(RF)、微波及毫米波电路设计‌,尤其在模拟芯片设计领域(如射频前端、通信系统)占据主导地位

1 核心功能与设计阶段

‌设计阶段‌ ‌功能描述‌ ‌应用场景示例‌
‌系统级设计‌ 支持通信系统架构建模与链路预算分析(如5G基站、雷达系统) 验证信号调制方案、噪声系数、系统级指标分配
‌电路级实现‌ 提供谐波平衡(Harmonic Balance)、瞬态分析(Transient)等工具设计射频模块 优化低噪声放大器(LNA)、混频器(Mixer)、功率放大器(PA)等电路性能
‌电磁场仿真‌ 集成Momentum(矩量法)和FEM(有限元法)仿真引擎,分析高频信号传输特性 精确模拟微带线、天线辐射、封装寄生效应
‌验证与调试‌ 支持与测量仪器(如矢量网络分析仪)联动,实现设计-测试闭环迭代 校准S参数、修正实际电路与仿真模型的偏差

五 PDK

PDK(Process Design Kit,工艺设计套件) 是晶圆代工厂(Foundry)提供给设计公司的标准化工具包 + 规则手册,是连接芯片设计与制造的核心桥梁,决定了设计能否在目标工艺上成功流片、满足性能与良率要求

1 PDK 核心定位与作用

1. 核心定位
  • 把 Foundry 的物理制造工艺(如 28nm/14nm/7nm CMOS、FinFET、SOI、RF CMOS、SiGe BiCMOS)转化为 EDA 工具可识别的设计规则、器件模型、版图单元。
  • 确保设计符合工艺约束、仿真结果可预测、版图可制造、最终芯片性能达标。
2. 核心作用(全流程覆盖)
  • 设计阶段:提供器件模型、参数化单元(P-Cell)、标准单元,支撑原理图 / 版图设计。
  • 仿真阶段:提供 SPICE/Verilog-A 模型、工艺角(Corner),支撑前仿 / 后仿、蒙特卡洛分析。
  • 验证阶段:提供 DRC/LVS/ERC/EM/IR Drop/DFM 等验证脚本(Runset),确保设计合规。
  • 签核阶段:作为流片前最终签核(Signoff) 的唯一依据。

2 模拟设计PDK文件目录树及作用

    • 工艺文件(Process Files)‌
    • ‌techfile.tf‌:定义工艺层属性(如金属层、多晶硅层厚度、材料电导率)及版图层次映射规则,用于Cadence Virtuoso等工具‌14。
    • ‌display.drf‌:配置版图编辑器中各层的显示颜色、填充样式,提升设计可视性‌48。
  1. ‌模型文件(Model Files)‌
    • ‌model.lib‌/‌model.scs‌:包含晶体管(MOSFET)、电阻、电容等器件的SPICE模型,支持仿真工具(如Spectre、HSPICE)进行电路性能分析‌17。
    • ‌mc_models‌:蒙特卡洛模型文件,用于工艺波动和器件参数变化的统计仿真‌17。
  2. ‌设计规则(Design Rules)‌
    • ‌drc.rule‌:几何设计规则(如最小线宽、间距),确保版图符合晶圆厂制造能力‌14。
    • ‌lvs.rule‌:版图与原理图一致性检查规则,验证电路逻辑与物理实现匹配‌48。
    • ‌antenna.rule‌:天线效应规则,防止等离子刻蚀导致的栅氧损伤‌48。
  3. ‌参数化单元(Pcells)‌
    • ‌pcell.il‌:可动态调整参数的器件版图生成脚本(如不同宽长比的MOS管),支持快速版图设计‌45。
  4. ‌寄生参数提取规则‌
    • ‌lpe.rule‌:寄生电阻/电容提取规则,用于后仿真中的时序和功耗分析‌

3 数字逻辑设计PDK文件目录树及作用

    • 标准单元库(Standard Cell Libraries)‌
    • ‌stdcells.lib‌/‌stdcells.db‌:逻辑门(如AND、OR、触发器)的功能描述及时序模型(延迟、建立/保持时间)‌58。
    • ‌stdcells.lef‌:标准单元的抽象版图信息(引脚位置、布线层),供布局布线工具使用‌58。
  1. ‌时序与功耗模型‌
    • ‌timing.lib‌:标准单元的时序模型(PVT工艺角),用于静态时序分析(STA)‌58。
    • ‌power.lib‌:功耗模型(动态/静态功耗系数),支持功耗分析和优化‌58。
  2. ‌物理设计规则‌
    • ‌tech.lef‌:工艺技术文件,定义金属层堆叠、通孔规则及布线层属性‌58。
    • ‌drc.tcl‌:数字设计专用规则(如金属密度、天线规则),适配自动布局布线工具(如Innovus)‌48。
  3. ‌验证文件‌
    • ‌lvs.tcl‌/‌drc.tcl‌:针对数字版图的自动化验证脚本,集成于Calibre等工具‌48。
    • ‌cdl‌/‌spi‌:网表文件,用于LVS验证和仿真‌8。
  4. ‌IP库‌
    • ‌memory_compiler‌:存储器生成器(如SRAM、ROM),提供面积、时序和功耗参数化的IP核‌

4 模拟设计 vs 数字设计的PDK 使用差异

维度 模拟设计(Analog) 数字设计(Digital)
核心依赖 器件模型(SPICE)、P-Cells、TechFile 标准单元库(LEF/Lib)、时序模型、抽象视图
设计方式 全定制(Full-Custom):手动绘制原理图 / 版图 半定制(Semi-Custom):调用标准单元,自动布局布线
仿真重点 DC/AC/ 瞬态 / 噪声 / 匹配 / 蒙特卡洛 / 工艺角 时序(Setup/Hold)、功耗、面积、时序收敛
版图重点 匹配(共质心、叉指)、噪声隔离、电源完整性 标准单元摆放、时钟树综合、布线拥塞、时序优化
验证重点 LVS/PEX 精度、匹配性、EM/IR、ESD DRC/LVS、时序签核(STA)、功耗签收

5 主流 PDK 厂商与工艺

1. 国际 Foundry
  • 台积电(TSMC):N7/N5/N3 FinFET、28nm/16nm CMOS、RF CMOS、eNVM PDK。
  • 三星(Samsung):7nm/5nm/3nm GAA、28nm/14nm PDK。
  • 格芯(GlobalFoundries):14nm/12nm FinFET、22nm FD-SOI、RF CMOS、SiGe BiCMOS PDK。
  • 联电(UMC):28nm/14nm CMOS、RF PDK。
2. 国内 Foundry
  • 中芯国际(SMIC):14nm FinFET、28nm/40nm/55nm CMOS、RF PDK。
  • 华虹宏力(HuaHong):55nm/130nm CMOS、功率器件 PDK。
  • 粤芯(Yuncore):180nm/90nm/55nm CMOS PDK。
3. 开源 PDK
  • SkyWater 130nm PDK:开源,用于教育 / 研究 / 低成本流片。
  • Google-SkyWater 90nm PDK:开源,支持开源芯片设计。

6 IT-CAD 视角:PDK 上线、部署、维护、排障、权限、版本、环境

6.1 IT-CAD 视角:PDK 到底是什么

PDK 不是设计知识,而是:

  • 一套巨大的文件集(几 GB~几十 GB)
  • 一套严格的权限资产(NDA、厂商保密)
  • 一套必须稳定运行的 EDA 环境依赖
  • 一套版本极多、极易冲突的配置

你的核心任务:

让所有设计师在任何机器上,都能一键加载正确、干净、可跑通的 PDK,不出环境问题

6.2 PDK 从拿到手 → 上线运行,IT-CAD 必须做的 8 件事
6.2.1 PDK 包接收、校验、归档(最基础但最关键)

要做:

  • 接收厂商发来的 PDK 压缩包(tar.gz、zip、ISO)
  • 校验 MD5/SHA,确保没损坏、没被篡改
  • 按规范路径归档:
/cad/PDK/[工艺]/[版本]/
例:/cad/PDK/SMIC28HPM/1.8.0/
  • 记录:版本、发布日期、支持工具、补丁、限制
  • 严格权限:仅授权项目组可读

为什么重要:

PDK 一旦损坏 / 解压错 / 权限错 → 全组仿真、版图全挂

6.2.2 统一解压、目录结构标准化

PDK 目录非常固定,需要保证:

  • 统一解压,不允许设计师自己解压
  • 保证路径绝对稳定、不变动
  • 禁止任何人在主 PDK 目录写入
PDK/
  ├── tech/      # 工艺文件、techfile、layer.map
  ├── models/    # SPICE、Lib、Verilog-A 模型
  ├── pcells/    # 模拟 P-Cell
  ├── stdcells/  # 数字标准单元(LEF/Lib/GDS)
  ├── qa/        # 验证用例
  ├── doc/       # 手册
  └── setup/     # 环境脚本
6.2.3 环境脚本封装(.cshrc/.bashrc/modulefile)

这是 IT-CAD 最核心工作。

设计师只需要:

module load pdks/SMIC28HPM_v1.8.0
source /cad/PDK/SMIC28HPM/1.8.0/setup/setup_pdk.csh

脚本里必须设置:

  • PDK_ROOT
  • TECHFILE
  • MODEL_PATH
  • LAYOUT_MAP
  • STD_CELL_LIB
  • RULESET_DIR (DRC/LVS/PEX)
  • 工具兼容路径(Cadence/Synopsys/Siemens)

价值:

环境 0 配置、一键加载、永不冲突

6.2.4 权限控制(NDA 保密是红线)

PDK 全部是涉密资产。

你要做:

  • 使用 LDAP / AD 分组控制

  • 项目组才能访问对应工艺 PDK

  • 目录权限:

  • root: 只读

  • CAD: 管理
  • 设计:只读

  • 日志监控:谁访问、复制、拷贝

漏泄 PDK 是重大合规事故,IT-CAD 背锅位。

6.2.5 EDA 工具兼容性检查(必做)

不同 PDK 版本只支持特定 EDA 版本。

你要核对:

  • Virtuoso 版本
  • Calibre / Pegasus 版本
  • Xcelium、VCS、StarRC、Quantus 等

例:

  • SMIC 28nm v1.8 → 只支持 Cadence 19.1 以上
  • 老 PDK 可能不支持新工具

你要做:

  • 在模块文件(modulefile)里做版本绑定
  • 不兼容直接报错,禁止加载
  • 避免设计师跑了一周发现工具不兼容
6.2.6 安装、配置、联调 Calibre/DRC/LVS/PEX

这是 IT-CAD 深度工作量。

你要确保:

  • Calibre DRC 能找到 rule 文件
  • LVS 能识别器件、端口、层次
  • PEX 能正确提取 RC
  • 跑厂商自带 QA testcase 必须全部 PASS

你交付的不是文件,是:

能直接跑通签核(Signoff)的环境。

6.2.7 多版本管理、升级、回滚

芯片项目常见:

  • A 项目:v1.5
  • B 项目:v1.8
  • C 项目:v2.0(beta)

你要做:

  • 多版本并存
  • module 切换
  • 升级前先测试
  • 出问题10 分钟回滚到老版本

这是 CAD 运维最体现水平的地方。

6.2.8 监控、排障、性能优化

PDK 相关典型故障:

  • 加载慢 → NFS 性能问题
  • 权限错 → 无法读模型
  • techfile 损坏 → Virtuoso 打不开库
  • DRC 报错路径不对 → 环境变量没设对
  • 模型找不到 → 路径混乱

你要做:

  • 把 PDK 放在 高速存储(分布式 / 并行文件系统)
  • 缓存、预读、IO 优化
  • 建立排障手册:10 类常见问题 + 对应命令
6.2.9 IT-CAD 日常 PDK 工作清单
  1. 新 PDK 接收、校验、归档
  2. 统一解压、目录标准化
  3. 编写 modulefile /setup 脚本
  4. 权限配置、NDA 控制
  5. EDA 工具兼容性检查
  6. Calibre DRC/LVS/PEX 联调
  7. 跑厂商 QA 用例,确保 PASS
  8. 交付设计师使用
  9. 版本管理、升级、回滚
  10. 故障排查、存储性能优化
  11. 定期清理废弃版本、归档

7 Calibre DRC / LVS / PEX 联调

7.1 先一句话讲明白

Calibre 是芯片物理验证工具(签核工具)。

DRC / LVS / PEX 是芯片流片前必须过的三道关。

IT-CAD 做的不是 “设计”,而是:

把 PDK 里给的规则文件、脚本、路径,全部配通,让设计师一点就能跑,且能跑出正确结果。

这就叫:Calibre DRC/LVS/PEX 联调。

7.2 三个东西分别是什么(CAD 视角极简版)

DRC(Design Rule Check)

检查:你的版图是否符合工厂工艺规则(线宽、间距、面积、天线…)

→ CAD 要配:规则文件(rule file)、路径、层映射

LVS(Layout Versus Schematic)

检查:版图和原理图是不是一样(器件、连接、参数没画错)

→ CAD 要配:器件映射表、层映射、提取规则

PEX(Parasitic Extraction)

从版图里提取电阻电容(RC),给仿真用

→ CAD 要配:QRC/StarRC/CalibreXRC 规则、工艺参数文件

7.3 DRC联调
7.3.1 找到 PDK 里的 DRC 规则文件

一般在:

PDK/
  ├── calibre/
  │     ├── drc/
  │     │    ├── main.drc
  │     │    ├── layer.map
  │     │    ├── command.run
  │     │    └── techfile...
7.3.2 配置

把路径写死到 runset 里

  • PDK_ROOT
  • TECHFILE
  • LAYER_MAP
  • RULE_FILE

修改路径变量

把厂商给的相对路径 → 改成你们服务器绝对路径。

权限检查

  • 所有规则文件必须 只读
  • 设计师不能修改

写一个通用运行脚本

例如 run_drc.sh

calibre -drc -hier -batch ${PDK_CALIBRE_DRC_RULE}

跑一次测试

用厂商自带 testcase GDS

→ 看是否能跑完、是否报正常的预期错误。

7.4 LVS 联调

LVS 比 DRC 复杂,因为要器件匹配。

7.4.1 PDK 里 LVS 相关文件
calibre/lvs/
   ├── main.lvs
   ├── layer.map
   ├── device.tbl(器件映射表)
   ├── swb    (Calibre LVS 界面文件)

7.4.2 配置

  1. 配置层映射(layer map)

确保 Virtuoso 层号 ↔ Calibre 层号一致。

  1. 配置器件映射表 device.tbl

告诉 LVS:

  • 版图里的 poly + diffusion = NMOS
  • 另一块 = PMOS
  • 电阻、电容、二极管怎么识别

  • 在规则里填正确路径

  • 器件库路径

  • 参考网表路径
  • 顶层设置

  • 提供 LVS runscript 给设计师

一键跑:

calibre -lvs -batch run_lvs.run

  1. 联调关键:测试对比

用一个简单反相器 testcase:

  • 画原理图

  • 画版图

  • 跑 LVS

    → 必须出现:

    LVS PASSED

7.5 PEX 联调

PEX = 寄生参数提取,给后仿真用。

7.5.1 PDK 里 PEX 文件
calibre/pex/
   ├── main.pex
   ├── pex.rules
   ├── layer.map
   ├── techfile
   ├── QRC_Techfile(Quantus QRC)
7.5.2 配置

加载正确的工艺参数文件

  • 金属厚度
  • 介电常数
  • 电阻系数
  • 电容模型

配置提取模式

  • 只提取电容?
  • 电阻电容都提?
  • 耦合电容要不要?

路径配置

  • 输入 GDS
  • 输出网表
  • 规则文件路径

跑测试

反相器版图 → PEX → 输出 netlist.pex.sp

能被 Spectre/VCS 读取就算成功。

7.6 IT-CAD 联调的最终交付物

不需要懂设计,只需要交付:

  1. 一套正确配置的 Calibre rule 路径

  2. 3 个一键运行脚本

  3. run_drc.sh

  4. run_lvs.sh
  5. run_pex.sh

  6. layer.map 正确、层号正确

  7. 权限正确、所有人环境统一、不会因人而异

  8. 用厂商 testcase 验证:全部 PASS

做到这些,就叫:

Calibre DRC/LVS/PEX 联调完成。

7.7 核心总结

DRC 联调:配规则、配路径、配层映射。

LVS 联调:配器件映射、配层映射、配网表对比。

PEX 联调:配工艺参数文件、配 RC 提取规则。

IT-CAD 不做设计,只做:环境通、路径对、权限对、脚本对、跑通测试用例

8 Calibre DRC/LVS/PEX 部署SOP

文档说明

本 SOP 适用于晶圆厂 PDK 配套 Calibre DRC/LVS/PEX 工具的标准化部署,目标是实现 “环境统一、一键运行、权限合规、测试通过”,所有操作基于 Linux 环境(CentOS/RHEL)。

1. 前置条件

项点 要求
硬件 部署服务器≥8 核 16G,PDK 存储路径挂载高速 NFS / 并行文件系统
软件 Calibre 2021.4/2022.1(与 PDK 版本匹配)、bash/csh、Perl(Calibre 依赖)
权限 CAD 运维账号拥有 root/sudo 权限,设计师账号仅拥有 PDK 只读权限
PDK 文件 已完成校验、解压、目录标准化(路径:/cad/PDK/[工艺名]/[版本]/)

2. 部署流程

2.1 通用准备工作
# 1. 创建Calibre规则文件统一目录(按工艺+版本划分)
mkdir -p /cad/Calibre/[工艺名]/[版本]/{drc,lvs,pex}
chmod -R 755 /cad/Calibre
chown -R cad_admin:cad_group /cad/Calibre

# 2. 从PDK拷贝规则文件到统一目录(示例:SMIC28HPM v1.8)
cp /cad/PDK/SMIC28HPM/1.8.0/calibre/drc/* /cad/Calibre/SMIC28HPM/1.8.0/drc/
cp /cad/PDK/SMIC28HPM/1.8.0/calibre/lvs/* /cad/Calibre/SMIC28HPM/1.8.0/lvs/
cp /cad/PDK/SMIC28HPM/1.8.0/calibre/pex/* /cad/Calibre/SMIC28HPM/1.8.0/pex/

# 3. 配置全局环境变量(写入/etc/profile.d/calibre_pdk.sh)
cat > /etc/profile.d/calibre_pdk.sh << EOF
export CALIBRE_ROOT=/cad/eda/Calibre/2022.1
export PATH=\$CALIBRE_ROOT/bin:\$PATH
# 按工艺版本定义PDK路径
export PDK_SMIC28HPM_V180=/cad/PDK/SMIC28HPM/1.8.0
export CALIBRE_SMIC28HPM_V180=/cad/Calibre/SMIC28HPM/1.8.0
EOF
source /etc/profile.d/calibre_pdk.sh
2.2 DRC 部署
步骤 操作内容 验证方式
1 修改 DRC 规则文件(main.drc):将所有相对路径改为绝对路径(如 $PDK_ROOT → /cad/PDK/...) 打开 main.drc,搜索 “include”/“path”,确认无相对路径
2 配置 layer.map:确保 Virtuoso 层号与 Calibre 层号一一对应 对比 PDK techfile 中的层定义,无缺失 / 错配
3 编写一键运行脚本(run_drc.sh),放置在 $CALIBRE_SMIC28HPM_V180/drc/ 执行脚本,无 “文件找不到” 类报错
4 权限配置:chmod 755 run_drc.sh;chmod 444 main.drc layer.map 设计师账号无法修改规则文件,仅可执行脚本
5 跑厂商 testcase:calibre -drc -hier -batch run_drc.run 输出报告中仅含 “预期违规”(如测试用例故意留的线宽违规),无工具执行错误
2.3 LVS 部署
步骤 操作内容 验证方式
1 修改 LVS 规则文件(main.lvs):替换 PDK 路径为绝对路径 搜索 “device.tbl”/“layer.map”,路径正确
2 检查 device.tbl:确认 MOS / 电阻 / 电容 / 二极管的识别规则与 PDK 一致 对照 PDK 手册,无器件类型漏配
3 编写一键运行脚本(run_lvs.sh) 执行脚本,无 “器件识别失败” 类报错
4 测试反相器 testcase:原理图 + 版图跑 LVS 最终报告显示 “LVS PASSED”,无 “Net Mismatch”/“Device Mismatch”
5 配置 SWB 界面文件:将路径固化到 swb 文件,设计师可可视化操作 打开 Calibre SWB,自动加载规则文件,无需手动选路径
2.4 PEX 部署
步骤 操作内容 验证方式
1 修改 PEX 规则文件(main.pex):配置金属电阻 / 电容系数、提取精度 对照 PDK 的 Model Card,参数无错配
2 选择提取模式:根据设计需求配置 “只提电容”/“RC 全提”/“耦合电容” 执行提取后,输出网表包含对应寄生参数
3 编写一键运行脚本(run_pex.sh) 执行脚本,输出.sp 格式寄生网表,无语法错误
4 验证网表可用性:将寄生网表导入 Spectre 仿真 仿真可正常运行,无 “undefined device”/“parameter error”

3. 权限与合规管控

# 1. 按项目组划分权限(示例:项目A组访问SMIC28HPM v1.8)
setfacl -R -m g:proj_A:r-x /cad/PDK/SMIC28HPM/1.8.0
setfacl -R -m g:proj_A:r-x /cad/Calibre/SMIC28HPM/1.8.0

# 2. 日志监控(记录访问/执行行为)
cat > /cad/Calibre/log_monitor.sh << EOF
#!/bin/bash
LOG_DIR=/var/log/calibre_pdk
mkdir -p \$LOG_DIR
# 记录DRC/LVS/PEX执行日志
calibre_exec_log() {
    echo "\$(date) - \$USER - \$1 - \$2" >> \$LOG_DIR/calibre_run.log
}
alias run_drc='calibre_exec_log DRC SMIC28HPM_V180 && /cad/Calibre/SMIC28HPM/1.8.0/drc/run_drc.sh'
alias run_lvs='calibre_exec_log LVS SMIC28HPM_V180 && /cad/Calibre/SMIC28HPM/1.8.0/lvs/run_lvs.sh'
alias run_pex='calibre_exec_log PEX SMIC28HPM_V180 && /cad/Calibre/SMIC28HPM/1.8.0/pex/run_pex.sh'
EOF
# 将日志脚本加入设计师环境
echo "source /cad/Calibre/log_monitor.sh" >> /home/[设计师账号]/.bashrc

4. 交付与维护

  • 交付物:规则文件目录、一键运行脚本、环境变量清单、测试报告
  • 维护:每季度检查 PDK 补丁更新,版本升级前先在测试环境验证,保留老版本支持历史项目

5 Calibre DRC/LVS/PEX 一键运行脚本模板

1. run_drc.sh(DRC 运行脚本)
#!/bin/bash
# 功能:一键运行Calibre DRC(适配SMIC28HPM v1.8)
# 作者:CAD运维
# 用法:./run_drc.sh [版图GDS文件] [顶层单元名]

# 1. 参数检查
if [ $# -ne 2 ]; then
    echo "用法错误!正确用法:./run_drc.sh <GDS文件路径> <顶层单元名>"
    exit 1
fi

GDS_FILE=$1
TOP_CELL=$2

# 2. 环境变量检查
if [ -z "$CALIBRE_SMIC28HPM_V180" ]; then
    echo "错误:未加载SMIC28HPM v1.8 PDK环境!"
    echo "请执行:source /etc/profile.d/calibre_pdk.sh"
    exit 1
fi

# 3. 定义核心路径
DRC_RULE=${CALIBRE_SMIC28HPM_V180}/drc/main.drc
DRC_REPORT=${TOP_CELL}_drc_report.txt
DRC_LOG=${TOP_CELL}_drc.log

# 4. 执行DRC
echo "===== 开始运行Calibre DRC ====="
echo "GDS文件:$GDS_FILE"
echo "顶层单元:$TOP_CELL"
echo "规则文件:$DRC_RULE"
echo "报告输出:$DRC_REPORT"

calibre -drc -hier -batch \
    -gds $GDS_FILE \
    -topcell $TOP_CELL \
    -rules $DRC_RULE \
    -report $DRC_REPORT > $DRC_LOG 2>&1

# 5. 运行结果检查
if [ $? -eq 0 ]; then
    echo "===== DRC运行完成!请查看报告:$DRC_REPORT ====="
else
    echo "===== DRC运行失败!请查看日志:$DRC_LOG ====="
    exit 1
fi
2. run_lvs.sh(LVS 运行脚本)
#!/bin/bash
# 功能:一键运行Calibre LVS(适配SMIC28HPM v1.8)
# 作者:CAD运维
# 用法:./run_lvs.sh [版图GDS文件] [原理图网表] [顶层单元名]

# 1. 参数检查
if [ $# -ne 3 ]; then
    echo "用法错误!正确用法:./run_lvs.sh <GDS文件> <原理图网表> <顶层单元名>"
    exit 1
fi

GDS_FILE=$1
SCH_NETLIST=$2
TOP_CELL=$3

# 2. 环境变量检查
if [ -z "$CALIBRE_SMIC28HPM_V180" ]; then
    echo "错误:未加载SMIC28HPM v1.8 PDK环境!"
    echo "请执行:source /etc/profile.d/calibre_pdk.sh"
    exit 1
fi

# 3. 定义核心路径
LVS_RULE=${CALIBRE_SMIC28HPM_V180}/lvs/main.lvs
LVS_REPORT=${TOP_CELL}_lvs_report.txt
LVS_LOG=${TOP_CELL}_lvs.log

# 4. 执行LVS
echo "===== 开始运行Calibre LVS ====="
echo "GDS文件:$GDS_FILE"
echo "原理图网表:$SCH_NETLIST"
echo "顶层单元:$TOP_CELL"
echo "规则文件:$LVS_RULE"
echo "报告输出:$LVS_REPORT"

calibre -lvs -hier -batch \
    -gds $GDS_FILE \
    -schematic $SCH_NETLIST \
    -topcell $TOP_CELL \
    -rules $LVS_RULE \
    -report $LVS_REPORT > $LVS_LOG 2>&1

# 5. 结果检查(提取PASSED/FAILED关键词)
LVS_RESULT=$(grep -i "lvs [pass|fail]" $LVS_REPORT | tail -1 | awk '{print $2}')
if [ "$LVS_RESULT" = "PASSED" ]; then
    echo "===== LVS验证通过!====="
elif [ "$LVS_RESULT" = "FAILED" ]; then
    echo "===== LVS验证失败!请查看报告:$LVS_REPORT ====="
    exit 1
else
    echo "===== LVS运行异常!请查看日志:$LVS_LOG ====="
    exit 1
fi
3. run_pex.sh(PEX 运行脚本)
#!/bin/bash
# 功能:一键运行Calibre PEX(适配SMIC28HPM v1.8)
# 作者:CAD运维
# 用法:./run_pex.sh [版图GDS文件] [原理图网表] [顶层单元名]

# 1. 参数检查
if [ $# -ne 3 ]; then
    echo "用法错误!正确用法:./run_pex.sh <GDS文件> <原理图网表> <顶层单元名>"
    exit 1
fi

GDS_FILE=$1
SCH_NETLIST=$2
TOP_CELL=$3

# 2. 环境变量检查
if [ -z "$CALIBRE_SMIC28HPM_V180" ]; then
    echo "错误:未加载SMIC28HPM v1.8 PDK环境!"
    echo "请执行:source /etc/profile.d/calibre_pdk.sh"
    exit 1
fi

# 3. 定义核心路径
PEX_RULE=${CALIBRE_SMIC28HPM_V180}/pex/main.pex
PEX_OUTPUT=${TOP_CELL}_parasitic.sp
PEX_LOG=${TOP_CELL}_pex.log

# 4. 执行PEX(提取RC寄生参数,输出SPICE格式网表)
echo "===== 开始运行Calibre PEX ====="
echo "GDS文件:$GDS_FILE"
echo "原理图网表:$SCH_NETLIST"
echo "顶层单元:$TOP_CELL"
echo "规则文件:$PEX_RULE"
echo "寄生网表输出:$PEX_OUTPUT"

calibre -pex -hier -batch \
    -gds $GDS_FILE \
    -schematic $SCH_NETLIST \
    -topcell $TOP_CELL \
    -rules $PEX_RULE \
    -pex_netlist $PEX_OUTPUT > $PEX_LOG 2>&1

# 5. 结果检查
if [ -f "$PEX_OUTPUT" ] && [ -s "$PEX_OUTPUT" ]; then
    echo "===== PEX提取完成!寄生网表:$PEX_OUTPUT ====="
    # 检查网表语法(简单校验)
    if grep -q "ERROR" $PEX_OUTPUT; then
        echo "警告:寄生网表包含ERROR关键词,请检查!"
    fi
else
    echo "===== PEX提取失败!请查看日志:$PEX_LOG ====="
    exit 1
fi

6 PDK + Calibre 环境变量清单

环境变量名 取值示例 用途说明 适用场景
PDK_ROOT /cad/PDK/SMIC28HPM/1.8.0 PDK 根路径(所有组件的基础路径) DRC/LVS/PEX
CALIBRE_ROOT /cad/eda/Calibre/2022.1 Calibre 工具安装根路径 所有
CALIBRE_SMIC28HPM_V180 /cad/Calibre/SMIC28HPM/1.8.0 该工艺版本 Calibre 规则文件根路径 所有
DRC_RULE_FILE ${CALIBRE_SMIC28HPM_V180}/drc/main.drc DRC 核心规则文件路径 DRC
LVS_RULE_FILE ${CALIBRE_SMIC28HPM_V180}/lvs/main.lvs LVS 核心规则文件路径 LVS
LVS_DEVICE_TBL ${CALIBRE_SMIC28HPM_V180}/lvs/device.tbl LVS 器件映射表路径 LVS
PEX_RULE_FILE ${CALIBRE_SMIC28HPM_V180}/pex/main.pex PEX 核心规则文件路径 PEX
PEX_OUTPUT_FORMAT SPICE 寄生网表输出格式(SPICE/Verilog) PEX
PDK_TECHFILE ${PDK_ROOT}/tech/smic28hpm.tf PDK 工艺文件路径(层定义 / 设计规则) 所有
PDK_LAYER_MAP ${PDK_ROOT}/calibre/layer.map 层映射文件路径(Virtuoso↔Calibre) DRC/LVS/PEX
CALIBRE_LOG_DIR /tmp/calibre_logs Calibre 运行日志存储路径 所有
PDK_MODEL_PATH ${PDK_ROOT}/models/spice SPICE 模型文件路径(PEX 后仿依赖) PEX

7 环境变量加载说明

  1. 全局加载:写入/etc/profile.d/calibre_pdk.sh,所有用户登录自动加载;

  2. 按项目加载:通过 module 工具管理(示例):

tcl # modulefile示例:/cad/modulefiles/pdks/SMIC28HPM_v1.8.0 #%Module1.0 proc ModulesHelp { } { puts stderr "加载SMIC28HPM v1.8.0 PDK + Calibre环境" } module-whatis "SMIC28HPM v1.8.0 PDK + Calibre 2022.1" setenv PDK_ROOT /cad/PDK/SMIC28HPM/1.8.0 setenv CALIBRE_SMIC28HPM_V180 /cad/Calibre/SMIC28HPM/1.8.0 prepend-path PATH $CALIBRE_ROOT/bin

  1. 设计师使用:module load pdks/SMIC28HPM_v1.8.0 一键加载。

8 总结

  1. 部署核心:先标准化 PDK/Calibre 路径,再固化规则文件路径,最后封装一键脚本,确保所有设计师环境一致;
  2. 验证关键:必须通过厂商 testcase 和基础单元(如反相器)验证,确保 DRC/LVS/PEX 功能正常;
  3. 运维重点:权限管控(按项目组划分)、日志监控、版本兼容(PDK 与 Calibre 版本匹配),同时保留回滚能力。