数据的源头:RTL 之前,一颗芯片的数据怎样出生(S0)
本站是设计数据流的起点。下一站 S1 RTL 单一事实源 把本站冻结的东西写成可综合代码。很多人从 RTL 才开始谈「数据管理」,但流片后追溯到的根因,有一大半在 S0 就埋下了:接口各写一份、UPF 事后补、可测性需求编码完才提。本站讲哪些数据在 RTL 之前诞生、以什么成熟度冻结、谁负责。
一、本站在数据总图上的位置

本站的特殊性:输入是自然语言需求,输出却必须是无歧义、可被下游机器消费的形式化数据。S0 干的本质是「把模糊的产品意图,压成一组有 owner、有版本、可对拍的工程合同」。
二、本站输入
| 输入 | 形式 | 提供方 |
|---|---|---|
| 市场/系统规格 | 文档:性能、功耗、成本、生命周期 | 产品/系统 |
| 工艺与早期库信息 | PDK 早期 Liberty、电压档位 | 后端/代工 |
| 复用 IP 清单 | 第三方/自研 IP 数据手册 | IP 团队 |
| 量产与测试约束 | 封装、ATE、良率目标 | DFT/封装 |
三、本站产出:设计数据的「出生证」
| 产出 | 形式 | 下游消费者 | 为什么必须在本站定 |
|---|---|---|---|
| 微架构规格 | 文档 + 框图 | S1、验证 | 接口信号/位宽/时序预算 |
| 功能黄金模型 | C/C++/SystemC、ISS | 验证、形式对拍 | RTL 正确性的唯一参照 |
| 寄存器 spec | SystemRDL/IP-XACT/表 | RTL、固件、验证 | 地址映射一旦变,固件全错 |
| UPF 0.x 草案 | 电源域/隔离策略 | S1/S2/S3 | 低功耗是架构属性,后期补要重构 |
| 验证计划 | testplan、覆盖率规划 | S1 验证 | 决定要录哪些代表性波形 |
| 编码/命名/DFT 规范 | 文档、filelist 约定 | 全部设计 | DFT 规则必须在编码前下发 |
| 目录与版本规范 | 仓库结构、tag 规则 | 全流程 | 决定后续每一站数据怎么放 |
四、三条最容易在本站欠账的数据纪律
4.1 寄存器 spec 必须单向派生
寄存器偏移、位域、复位值、访问属性要由 SystemRDL/IP-XACT 一处定义、派生出 RTL 头文件、固件 C 头、文档、UVM model。若前端照表写 RTL、固件照另一份表演代码,「FPGA 上跑通、硅上寄存器错位」几乎必然发生。
4.2 低功耗意图从本站独立成 UPF
电源域划分影响时钟、复位、接口握手,是架构决策而非后端开关。UPF 与 RTL 并行演化(草案→F7 详述),等综合完才想「要不要加 retention」时,物理上往往已经放不下隔离/保持单元。
4.3 黄金模型要可对拍、可追溯
C/SystemC 模型或 ISS 必须在 S0 冻结为功能基准,并明确它与 RTL 的对拍接口与随机激励策略。没有黄金基线,S1 的形式验证和协同仿真就失去了「对谁等价」的对象。
五、本站成熟度判据(进入 S1 前)
- 外部接口与关键内部接口信号、位宽、时钟域冻结;
- 寄存器 spec 单一来源,RTL/固件/文档能自动生成并对拍;
- UPF 至少冻结电源域与隔离策略,低功耗负责人签字;
- DFT 与封装约束已进入编码规范,而非事后审查;
- 黄金模型、testplan、版本/tag 规范就位,任何人能复现同一基线。
六、典型交接事故
| 事故 | 根因 | 拦截 |
|---|---|---|
| 固件寄存器偏移错 | spec 与 RTL 各手写一份 | 单一来源自动派生 + 地址对拍 |
| 电源域重构返工 | UPF 综合后才补 | S0 冻结域划分,UPF 随 RTL 并行 |
| RTL 无法插扫描链 | DFT 规则编码后才下发 | 可测性需求编码前下达 |
| 形式验证无参照 | 参考模型未冻结/不可对拍 | S0 锁定黄金模型与对拍接口 |
| 同需求出两套切分 | 预算/接口未冻结就开工 | 微架构规格评审签字后再编码 |
相关与延伸
- 下一站:S1 RTL 单一事实源。
- 低功耗意图的全程演化见 F7 UPF 低功耗意图;参考模型/ISS 建模可对照本站 CPU 建模系列的 ISS 实践。
- 设计侧背景:逻辑综合、可测性设计。
总结
S0 交付的是设计数据的出生证:一份无歧义、单一来源、可对拍、有 owner 的「黄金模型 + 寄存器 spec + UPF 草案 + 规范集」;本站省下的每一次澄清,都会在后面六站以十倍代价讨回。