在上一篇文章中,展示了关于 EAD 工具的两个操作动图。本文开始将进一步介绍,如何使用 Layout EAD 工具来实时获取版图寄生参数的操作流程。
考虑到整个流程涉及的步骤较多,计划将流程细分成多篇文章来写。
大致分为以下几个步骤进行介绍:
-
建立工具所需的工艺文件(Part.1本篇);
-
了解如何启动 Layout EAD 并设定相关参数(Part.2);
-
掌握如何通过工具来识别并分析版图寄生效应(Part.2);
-
介绍常用的EAD环境变量及应用(Part.3);
EAD 工艺文件介绍
使用 EAD 工具的难点之一,可能是大家对其所要求的工艺相关的输入文件并不了解,EAD 功能需要eadTechFile二进制加密工艺文件的支持,然而 PDK 厂商并没有直接提供该工艺文件。不过我们可以通过厂商提供的 ICT 文件或者 qrcTechFile 二进制文件,来转换得到符合 EAD 要求的 eadTechFile。
下图是不同的工艺文件对应 EAD 工具所支持的功能图表,从图中可以看出,若同时拥有 eadTechFile 和 EM模型的 ICT 文件,我们便能使用 EAD 的全部功能(RC和EMIR)。

ICT 和 qrcTechFile 文件都是基于 Cadence QRC 后仿流程中的提取工艺文件,其中 ICT文件还是各 PDK 厂商标准的工艺描述文件,详细记录了各种材料的物理特性。

创建 EAD 工艺文件
了解了转换所需的输入文件后,下面我们来看转换的程序。
在 Virtuoso 的安装目录中,提供了一个名为 eadModelGen 的可执行程序文件,可以通过 Terminal 执行命令 “which eadModelGen” 来定位并访问这程序。
通常它的目录位于 Virtuoso 软件的安装路径下:<install_dir>/tools/bin/eadModelGen

找到 eadModelGen 程序后,按照下方的命令格式以执行文件的转换操作:
$ eadModelGen <ictfilename> | qrcTechFile参考下面两个示例的命令写法
1)将ICT文件转换成eadTechFile
$ eadModelGen QRC_018BCDEPI_1P5M_4Ia_1TM1_TYP.ict
或
2)将qrcTechFile文件转换成eadTechFile
$ eadModelGen qrcTechFile除了用于指定输入文件格式的基本参数外,还有许多其它可选的命令行参数。下面是部分关键参数的介绍:
1)-output_file filename
如果未指定,则创建默认是 eadTechFile 名称的输出文件;
2)-threads | -multi_cpu
指定线程数进行多线程运行;
3)-no_cap_models
创建不带电容模型的 eadTechFile。生成的 eadTechFile 只能用于 R 提取模式、EM 检查和高精度 C 提取,而不能用于fast C 提取;
4)-log_file
将输出内容保存至指定的日志文件中;
5)-info
打印有关指定 ICT 文件、EAD 技术文件或 qrcTechFile 的摘要信息;
6)-overwrite
如果输出目录中已存在现有的 eadTechFile,则强制覆盖该文件;
应用示例
比如,我现在有一个 qrcTechFile 技术文件,由于生成 eadTechFile 比较耗时,选择采用多线程运行模式来加快这个进程:
$ eadModelGen -threads 16 qrcTechFile同时,希望生成指定名称的 eadTechFile 文件,就可以加上 -output_file 命令选项:
$ eadModelGen -threads 16 -output_file eadTechFile_1p5m_typ qrcTechFile再比如,我需要验证现有 eadTechFile 的一些详细信息。可以使用 -info 命令参数来完成这个任务:
$ eadModelGen -info eadTechFile更进一步,如果还需要将这些输出结果保存到日志文件中,可以写成:
$ eadModelGen -info -log_file info.log eadTechFile接下来看看这些命令的操作演示吧。
演示案例一:找到可执行程序文件👇

演示案例二:将当前 qrcTechFile 文件转换成不带电容模型的 eadTechFile 文件👇

演示案例三:把输出的详细信息保存成日志文件👇

以上就是使用 ICT 或者 qrcTechFile 文件转换为 eadTechFile 的流程介绍。
StarRC 工艺文件的转换
如果你的 PDK 厂商没有提供 QRC 后仿流程,只提供了 StarRC 流程使用的工艺文件,例如 itf。此时就需要再多加一个转换步骤,即先将 StarRC 的 itf 文件转换成适用于 QRC 流程的 ict 文件之后,再继续eadTechFile 的转换操作。
itf转ict,可以使用 Cadence 自带的 itf_to_ict 转换程序。这个程序通常位于数字后端工具 voltus 的安装路径下:
<install_dir>/SSV/share/voltus/gift/scripts/itf_to_ict.pl
命令格式如下:
$ itf_to_ict <itf_filename> <ict_filename>最后
关于 Virtuoso EAD 流程的详细介绍,参考官方文档目录:<install_dir>/doc/vead/vead.pdf,可自行查阅。
更多文章

从想法到可用脚本:一次 AI 辅助 SKILL 开发实践
分享我是如何从一个最简单的想法出发,通过与 AI 的不断对话、迭代和调试,一步步将“批量 DRC一键验证”的工具从 0 到 1 搭建起来的。

如何解决 “LVS 验证时 Source 端网表未定义 SUBCKT” 的问题
遇到 LVS 提示 Source netlist 缺少 SUBCKT 定义时,通常是 CDL 网表没有包含 PDK 的器件定义文件。本文介绍问题原因、include 文件添加方式,以及如何保存为可复用配置。

分享一个辅助工艺迁移的 Cadence SKILL 脚本
分享一个用于工艺迁移的 Cadence SKILL 脚本,通过 mapping file 批量替换库、器件、视图和参数,减少手动 porting 的重复操作与出错风险。
邮件列表
加入我们的社区
订阅邮件列表,及时获取最新消息和更新