4. 文件命名与版本管理:命名规则、版本号嵌入方式、日期与修订历史记录规范
在PDK兼容性测试中,SPICE模型文件的命名与版本管理是确保跨工具、跨工艺节点可追溯性的基础。混乱的命名规则或缺失的版本信息会导致测试脚本失效、仿真结果不可复现,甚至引发流片风险。本节将系统定义命名规则、版本号嵌入方式以及日期与修订历史记录的标准化规范。
核心原则: 文件命名应具备“自描述性”,即仅通过文件名即可推断出工艺节点、模型类型、温度范围及版本状态。版本号必须嵌入文件名或文件头,且修订历史记录必须与文件内容一一对应。
4.1 文件命名规则
标准化的文件名由五个字段组成,字段之间使用下划线“_”分隔,扩展名统一为 .lib(用于模型库)或 .sp(用于单个模型网表)。
| 字段顺序 | 字段名称 | 说明 | 示例 |
|---|---|---|---|
| 1 | 工艺节点 | 工艺代际标识,如 n28、n16、n7 |
n28 |
| 2 | 模型类型 | mos、rcl、bjt、diode |
mos |
| 3 | 温度范围 | tt(典型)、ff(快-快)、ss(慢-慢) |
tt |
| 4 | 版本号 | 主版本.次版本,如 v2r1 |
v2r1 |
| 5 | 修订标识 | 可选,如 rc1(候选版)或 ga(正式版) |
ga |
完整文件名示例:
n28_mos_tt_v2r1_ga.lib
n16_rcl_ff_v1r0_rc1.sp
n7_bjt_ss_v3r2_ga.lib
命名避坑指南: 禁止使用空格、中文、特殊符号(如 @, #, $)。日期不应直接作为文件名主体,而应嵌入版本号或修订历史记录中。文件名长度建议不超过64个字符。
4.2 版本号嵌入方式
版本号必须同时嵌入文件名和文件头注释,形成双重校验机制。版本号格式采用 vXrY 结构,其中 X 为主版本号,Y 为次版本号。
4.2.1 文件名嵌入
版本号直接作为文件名第四字段,如 n28_mos_tt_v2r1_ga.lib。主版本号变更表示模型架构或参数集发生重大重构;次版本号变更表示参数微调、bug修复或新增模型选项。
4.2.2 文件头嵌入
在SPICE模型文件的第一行注释中,必须包含版本号、生成日期和校验码。以下为标准化文件头模板:
* PDK_SPICE_MODEL
* FILE: n28_mos_tt_v2r1_ga.lib
* VERSION: v2r1
* DATE: 2025-03-15
* CHECKSUM: a3f2b8c1d4e5
* REVISION_HISTORY: See end of file
* TOOL_TARGET: HSPICE, SPECTRE, ELDO
重要: 校验码(CHECKSUM)用于检测文件在传输或存储过程中是否发生损坏。建议使用MD5或CRC32算法生成,并在PDK发布时与文件一同提供校验值清单。
4.3 日期与修订历史记录规范
修订历史记录必须位于文件末尾,采用倒序排列(最新修订在最上方)。每条记录包含:修订日期、版本号、修订人、修订描述及受影响参数列表。
4.3.1 修订历史记录模板
* ===== REVISION HISTORY =====
* 2025-03-15 | v2r1 | zhang.san | GA release for PDK v2.0
* - Updated: VTH0 for NMOS (0.35V -> 0.32V)
* - Added: Mismatch model for RF devices
* - Fixed: Temperature coefficient for RES_H
* 2025-02-20 | v2r0 | li.si | Internal beta release
* - Initial version for 28nm PDK v2.0
* - All corners: tt, ff, ss, fnsp, snfp
* ===== END REVISION HISTORY =====
3.3.2 日期格式规范
| 字段 | 格式 | 示例 | 说明 |
|---|---|---|---|
| 日期 | YYYY-MM-DD | 2025-03-15 | ISO 8601标准,避免歧义 |
| 版本号 | vXrY | v2r1 | 主版本.次版本 |
| 修订人 | 名.姓 | zhang.san | 统一使用英文小写 |
| 修订描述 | 简短动词开头 | Updated/Fixed/Added | 使用过去时态 |
4.4 文件命名与版本管理流程
以下SVG图展示了从模型开发到发布过程中,文件命名与版本管理的完整流程,包含命名校验、版本号分配、修订记录写入及最终发布归档四个核心阶段。
4.5 版本管理检查清单
在PDK兼容性测试中,建议使用以下检查清单对每个SPICE模型文件进行版本管理审计:
| 检查项 | 要求 | 通过标准 |
|---|---|---|
| 文件名格式 | 工艺节点_模型类型_温度范围_版本号_修订标识 | 字段完整,无空格/特殊字符 |
| 版本号一致性 | 文件名中的版本号与文件头VERSION字段一致 | 完全匹配 |
| 日期格式 | YYYY-MM-DD | 符合ISO 8601 |
| 修订历史 | 位于文件末尾,倒序排列 | 至少包含1条记录 |
| 校验码 | 文件头包含CHECKSUM字段 | 与独立校验值清单一致 |
| 工具兼容性 | 文件头标注TOOL_TARGET | 列出所有目标仿真器 |
自动化建议: 建议在PDK发布流水线中集成脚本(如Python或Perl),自动检查文件名格式、版本号一致性及修订历史完整性。对于不符合规范的文件,直接阻断发布流程并输出错误报告。