十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

smic18工艺库文件全解析:从数字后端到模拟PDK的实用指南

smic18工艺库文件全解析:从数字后端到模拟PDK的实用指南 简介SMIC 18工艺库文件是一套面向Cadence设计平台的芯片设计支持包适用于SMIC工艺节点下的模拟与数字电路设计。库内集成标准单元库、IO库、内存宏单元、功耗模型及版图相关文件可帮助设计者在Virtuoso等工具中完成原理图仿真、时序分析、DRC/LVS物理验证与版图绘制。资源共2000个文件类型以tag、db、cdb等Cadence工程数据库文件为主同时包含lib时序库、spice/va电路模型、drc/lvs物理验证规则文件以及不同工艺角对应的Cmax/Cmin/typ仿真模型压缩包整体约61MB。内容预览中的SmicSP10R_cal018系列文件覆盖典型、最大、最小工艺角数据便于设计者进行多场景性能评估。目前已吸引9562人学习特别适合正在基于SMIC工艺开展IC设计、需要完整工艺库支撑全流程的工程师与学生使用。 没跑过几次完整流片流程的人很难理解smic18工艺库文件为什么那么让新手头疼又让老手离不开。作为国内最有群众基础的工艺节点SMIC 0.18微米从上世纪一路撑到现在从电源管理、驱动芯片到MCU、传感器信号链几乎每一类芯片都能在它上面找到合适的落点。而所谓“库文件”说白了就是Foundry交付给设计方的整套“施工图纸材料清单”数字后端要它模拟前端也要它DRC/LVS更不能少了它。这篇东西就围绕smic18工艺库文件展开把我这些年踩过的坑、梳理清楚的目录结构和每个文件该往哪个工具里填一次性讲透。1. smic18工艺库文件到底装了些什么很多人拿到smic18的库压缩包第一反应是“怎么这么多文件夹看都看不完”。实际上它的结构是有规律的搞清楚了就是一个“按工具分类”的文件集合。一个完整的SMIC 0.18um工艺库通常包含数字标准单元库、IO库、存储器编译器、模拟PDK、设计规则文件、SPICE模型和物理验证规则这几大块。先看数字标准单元库里面重点认这几类文件.lib人眼可读的时序功耗库记录每个cell的rise/fall delay、setup/hold、power、capacitance等信息。.db.lib经Library Compiler转出来的二进制库综合和STA工具直接吃的就是它。.v/.vhVerilog功能模型做综合后仿真、门级仿真时用。.lef物理抽象描述分Technology LEF工艺层信息和Cell LEF单元物理尺寸、pin位置。.gds标准单元实际版图用于最终的物理验证和Mask数据准备。.cdl晶体管级网表做LVS时当参考网表。IO库的结构和标准单元库类似但它还多出很多静电防护相关内容比如pad limit、power clamp方案、不同驱动强度的IO buffer型号。smic18的IO库通常会区分3.3V和5V耐压器件这是做工业接口芯片必须关心的点选错了IO cellESD测试大概率过不了。模拟PDK部分则更面向模拟版图工程师里面是Virtuoso环境用的CDF参数、Pcell、display资源、techfile、仿真模型。SMIC 0.18um工艺的PDK有两种风格比较常见一种是基于老的Cadence DFII环境另一种是后来适配到SDEX等新环境。装好的标志是打开Virtuoso后能在Library Manager里看到pcell库、analogLib等CDF参数能正常调用模型能跑通Spectre仿真。设计规则文件则是“红宝书”和“执法者”的结合体一方面有PDF版的Design Rule Manual讲清楚每层最小线宽、间距、覆盖、密度怎么算另一方面有Calibre的svrf规则文件直接定义了DRC/LVS怎么查。smic18的DRC规则文件通常按工艺选项分目录逻辑工艺、混合信号工艺、高压工艺每种对应的规则略有差异千万不能拿混。2. 数字设计时序库和物理库怎么搭配使用数字综合阶段你首先要把库文件配置进工具。我见过不少新手拿着smic18的库直接在Design Compiler里把.lib路径写进target_library结果工具不识别——因为DC只认二进制.db。正确的做法是先用Library Compiler把.lib转成.db或者直接从库里拿现成的.db文件。带smic18后缀的db文件命名通常能看出corner比如smic18_ss_0p99v_125c.db、smic18_ff_1p10v_0c.db、smic18_tt_1p08v_25c.db一眼就能看出是哪种工艺角、电压和温度组合。综合前后端到底该选哪些corner我项目的经验是setup检查用最差角通常对应SS慢慢工艺角、低压、高温对0.18um来说就是0.99V或1.08V下125℃的库。hold检查用最快角通常是FF角、高电压、低温约1.10V或1.21V下0℃甚至-40℃的库。功耗分析尽量用实际工作条件下占比最高的模式去跑smic18有Typical角适合做功耗评估。配置DC时注意link_library里除了设置db文件还要带上*表示允许工具自行匹配已读入库单元这个细节忘了综合网表里单元会解析不出来。命令大致是这样set target_library smic18_ss_0p99v_125c.db set link_library * smic18_ss_0p99v_125c.db smic18_ff_0p99v_125c.db然后物理库问题。LEF分两层一层是Technology LEF规定每一层金属的走向、间距、通孔规则另一层是Cell LEF每个标准单元只保留外形轮廓、电源地引脚位置、输入输出pin的金属层和坐标。Innovus或ICC里调用时先把Technology LEF读进去再读Cell LEF顺序反了会报错。对smic18来说金属层通常是6层顶层厚金属用来走电源地或长距离总线中间的M1到M4做信号绕线M5和M6走全局线这个层次规划直接影响floorplan和block level的布局布线质量。0.18um节点还有个特点金属密度规则严格密度窗口一般在几十微米乘几十微米均匀性要求高。如果做完布线直接交出去不插dummy金属DRC会报一堆“density violation”。好在ICC的insert_metal_fill和Innovus的addMetalFill都能做这件事只是要注意选择填充用cell别把dummy金属块直接贴在信号线旁边会造成意外的耦合电容。老工程师的惯用做法是先做一次不插dummy的DRC确认没有真实violation再插dummy最后只跑dummy相关检查避免大批伪错掩盖真问题。海量单元库的选型也会影响后端效果。smic18的标准单元有高速单元、低功耗单元、高驱动单元等不同阈值和尺寸hvt和lvt的漏电相差不小。低功耗项目就尽量让DC优先映射hvt单元只在时序紧张的路径上使用lvt。如果前端不设置set_max_leakage_power之类的约束后端会拿到一张全是高漏电单元的网表流片回来静态功耗直接爆炸。3. 模拟设计PDK、模型文件和Virtuoso环境配置模拟设计用smic18第一件事不是画版图而是把PDK装好、模型路径指对。SMIC 0.18um的PDK通常以压缩包形式提供解压后有一个install脚本运行前得确认环境变量CDS_INST_DIR指向你的Cadence安装目录。我见过不少同事PDK装不上的原因就是环境变量指错了又没看install日志卡在那里半天。装完以后要在.cdsinit或用户启动文件里加载PDK的setup文件这样Virtuoso启动后才会出现对应的菜单项和Pcell。模拟仿真模型常见的有Spectre格式和Hspice格式两种后缀。Spectre的是.scsHspice的是.l或.mod。这两种模型文件里的器件模型必须和你要仿真的器件类型对应0.18um工艺下有常规3.3V管的模型也有厚栅氧5V管的模型还有多种电阻、电容、二极管、双极性寄生管等模型。拿smic18做电源类芯片时5V器件模型的重要性绝不亚于3.3V逻辑管因为很多接口引脚直接暴露在系统电源上没有5V耐压能力芯片上电瞬间就可能击穿。Spectre模型调用方式一般是sectiontt include smic18_spectre.scs tttt用ADE或ADE XL时直接把模型路径填到model library里把section指定成tt、ss或ff。smic18的模型文件通常还有温度变量需要模拟器自己去算但要注意模型库的默认温度可能和你testbench设置不一致。比如模型卡的tnom是25℃你仿真设置-40℃场景某些model若没有内建温度缩放结果会偏乐观或偏悲观这点在温度变化大的车载芯片设计里极其重要。还有Pcell。PDK里的电阻、电容、mos管都是参数化单元比如RPO电阻的长度宽度、MIM电容的层数、mos管的finger和multiplier都可以在CDF参数里直接填。自己手动搭mos管永远不会比PDK里的pcell靠谱原因是pcell里包含了正确的dummy、latchup guardring和ESD路径相关信息。画模拟版图时合理使用pcell能给后续DRC省掉大量麻烦。smic18的版图层次也要心里有数。除了nwell、active、poly、金属这些基础层还有专门的高阻poly层、MIM电容的上极板层、厚金属层、多种标识层和层次识别层。尤其是识别层比如区分3.3V器件和5V器件的就是不同的识别层LVS时工具靠它判断器件的类型和耐压等级画错层或者少画了层DRC不一定报但你LVS一定过不了。模拟版图里还有个重灾区dummy器件和匹配结构。smic18的匹配管设计最好利用PDK提供的common centroid或interdigit结构不要自己画一堆奇形怪状的管子硬凑对称。匹配电阻两端还要加dummy电阻保证刻蚀环境一致。PDK的pcell有些可以直接生成带dummy的电阻排布直接调参数就行比手动画省力且不容易出错。4. 验证文件DRC、LVS和寄生参数提取的配置要点物理验证环节smic18最常见的是用Calibre跑DRC/LVS所以规则文件里会看到大量.svrf后缀文件。这些规则文件的命名通常包含版本号和工艺选项比如smic18_6M_drc.7_3、smic18_mim_drc之类。启动Calibre时一定要把规则文件对应到正确工艺版本smic18经过多年迭代同一节点有不同revision规则文件版本老了会出现大量伪错版本新了又可能引入你没接触过的检查项。DRC规则里smic18有几个典型的检查项需要特别关注金属密度前面说过不满足会报density violation。天线比率长的金属线直接连到gate会积累电荷破坏栅氧化层规则文件会用面积比去约束。后端绕线完成后用天线检查可以报出来不满足就要跳线换层。有源区周围的包围关系比如nwell到pwell的间距、不同电位nwell之间的距离这跟latchup防护有直接关系。metal slot宽的金属线需要开槽释放应力smic18对宽金属的slot要求挺严格少数厚金属走线如果忘了做slot流片后金属会起泡。LVS阶段工具会把版图和参考网表CDL对比。CDL网表就是前面说的.cdl文件里面包含了标准单元IO单元以及模拟IP的晶体管级描述。Calibre跑LVS时还需要一个rule文件里写好的“device layer map”它告诉LVS工具版图上的哪几层叠加起来代表一个mos管、一个电阻或电容。SMIC 0.18um的LVS rule文件在识别5V管和3.3V管时会依据识别层的组合来判断如果版图里识别层标错LVS就会报“unmatched instance”。寄生参数提取0.18um节点通常用Calibre PEX或StarRC做。PEX需要生成一个pex规则文件Calibre会据此提取带寄生R和C的晶体管级网表。smic18 0.18um工艺到了高精度模拟设计里寄生电容和电阻的提取精度直接影响仿真和实测的一致性。比如一个简单的2.5V基准源提取后仿真和流片后实测可能因为金属寄生电容差出几毫伏所以cio extraction和rc extraction的选项一定要根据设计类型慎重选择。走完DRC/LVS/后仿还要记得跑一遍fill和seal ring检查。smic18的seal ring通常由库里提供它不是标准单元也不是IO而是专门的scribe seal图形。IO ring的角落要放特定的corner cell这些细节处理不好流片后晶圆切割会崩角甚至破坏芯片密封环导致可靠性问题。5. 实际项目里绕不开的那些坑库文件用多了发现大多数翻车现场其实和技术本身没关系而是项目管理层面的问题这里把经验写出来给各位避避雷。第一个坑库版本不对齐。smic18经过多次PDK和规则文件升级不同批次拿到的文件版本可能差着一年多。数字库、IO库、模拟PDK、DRC/LVS规则文件、模型文件这五类文件必须来自同一套Release。有人拿着2021年的标准单元库配着2023年的DRC规则跑完DRC一堆莫名其妙的问题最后发现是库Cell的物理版图和规则文件里的定义对不上。拿到新库的第一件事就是看Release Notes确认版本一致再开工。第二个坑corner不齐。有些渠道拿到的库只给了ss、tt、ff三种典型情况没有给sf和fs这在实际项目中很要命。smic18的偏差虽然不像更先进工艺那么大但跨corner的时序分布仍然存在。如果连sf/fs的时序库都没有signoff时hold分析会缺失边界出了问题只能靠人工评估风险极大。第三个坑综合库和signoff库不一致。有的项目里综合阶段用了某一个库版本签核阶段换了另一个更新时间相近但未必兼容的库。跑STA时前一个版本的cell delay和后一个版本差出了好几个皮秒单cell延迟差别不大但叠到关键路径上就可能吃掉setup margin。务必让综合和signoff使用同一套库里同一批lib。第四个坑IO和ESD不是简单叠加。smic18的IO库有各种不同ESD等级的cell有人以为选个ESD等级高的IO就万事大吉。但实际上ESD cell一般需要配合电源轨上的clamp cell还有IO ring上的VDD-to-VSS二极管连接。如果IO cell选好了但是ring配置缺失ESD测试照样fail。后端做IO ring的时候要把esd相关的连通性逻辑理清楚PAD和core电源地要正确隔离不然打ESD时电流走了不该走的路。第五个坑STI应力导致的器件不匹配。这个在模拟layout上尤其明显smic18这个节点STI应力效应虽然不如深亚微米明显但高精度匹配管仍然要充分考虑。差分对管子不仅要有相同的朝向、相同的dummy环境还要保证两边有源区面积和边界情况一致否则LVS可能表示没问题实际流片出来offset严重超标。smic18工艺库文件的完整性、稳定性和历史文档积累是它在教学和工程实践里难以替代的根本原因。我从项目到产品从模拟小模块到完整SoC在这套工艺库上反复打转多年最深的体会是它虽然老但文件体系非常规矩每一种文件都有自己的归宿和应用场景。只要肯花时间把目录结构、corner配置、规则文件版本这些基础功课做扎实用smic18做设计远没有想象中那么险象环生。最后再提醒一句——拿到任何新工艺库别急着跑仿真和布线先花半天时间把README和Release Notes读一遍这个习惯能帮你省下一整周的调试时间。本文还有配套的精品资源点击获取
返回列表