IEEE 1364-2005 参考地图
使用说明
跳转到“使用说明”本页是 IEEE 1364-2005 的检索与覆盖地图,不替代标准原文。页码均指标准印刷页;当前归档 PDF 前置材料为 30 页,因此:
PDF 物理页 = 标准印刷页 + 30例如标准第 81 页的 Table 7-3 位于 PDF 第 111 页。高频语义和原创重建图表见 IEEE 1364-2005 Verilog 学习导读。
Clause 地图
跳转到“Clause 地图”| Clause | 标准页 | 主题 | 学习优先级 |
|---|---|---|---|
| 1 | 1-5 | 范围、约定、标准结构与弃用说明 | 浏览 |
| 2 | 6-7 | 规范性引用 | 按需 |
| 3 | 8-20 | 词法:token、常量、字符串、标识符、属性 | 核心 |
| 4 | 21-40 | 数据类型:四态、net、variable、强度、数组、参数 | 核心 |
| 5 | 41-67 | 表达式:运算符、位宽、signedness、截断 | 核心 |
| 6 | 68-73 | 连续赋值与过程赋值 | 核心 |
| 7 | 74-104 | 门级/开关级原语、强度与延迟 | 进阶 |
| 8 | 105-115 | 用户定义原语 UDP | 进阶 |
| 9 | 116-144 | 行为建模:过程赋值、分支、循环、事件、块 | 核心 |
| 10 | 145-157 | task 与 function | 核心 |
| 11 | 158-162 | 事件调度语义 | 核心 |
| 12 | 163-198 | 模块、端口、实例、generate、层次名 | 核心 |
| 13 | 199-210 | library map 与 configuration | 按需 |
| 14 | 211-236 | specify block、路径延迟、脉冲过滤 | 时序仿真 |
| 15 | 237-268 | 系统时序检查 | 时序仿真 |
| 16 | 269-276 | SDF 回标 | 时序仿真 |
| 17 | 277-324 | 系统任务与系统函数 | 核心/按需 |
| 18 | 325-348 | 四态和扩展 VCD | 验证 |
| 19 | 349-365 | 编译指令 | 核心 |
| 20 | 366-368 | PLI 总览 | 接口导读 |
| 21 | 369 | PLI TF/ACC 机制 | 已弃用 |
| 22 | 370 | ACC 使用 | 已弃用 |
| 23 | 371 | ACC 例程定义 | 已弃用 |
| 24 | 372 | TF 使用 | 已弃用 |
| 25 | 373 | TF 例程定义 | 已弃用 |
| 26 | 374-417 | 使用 VPI:对象、句柄、遍历、回调、数据 | 工具开发 |
| 27 | 418-466 | VPI 例程与结构体定义 | API 参考 |
| 28 | 467-486 | protected envelope | 历史互操作 |
| Annex A | 487-509 | 规范性 BNF | 语法真值源 |
| Annex B | 510 | 规范性关键字表 | 速查 |
| Annex C | 511-517 | 信息性系统 task/function | 实现可选 |
| Annex D | 518-519 | 信息性编译指令 | 实现可选 |
| Annex E | 520 | 已弃用 acc_user.h | 旧接口 |
| Annex F | 521 | 已弃用 veriuser.h | 旧接口 |
| Annex G | 522-536 | 规范性 vpi_user.h | VPI 开发 |
| Annex H | 537-541 | 加密系统与数字信封示例 | 历史参考 |
| Annex I | 542 | 参考文献 | 按需 |
| Index | 543-560 | 主题索引 | 快速定位 |
图形覆盖清单
跳转到“图形覆盖清单”标准共有 74 幅编号图。下表覆盖全部编号,不复制原图;学习导读已用 Mermaid 或文字重建高价值关系。
| 编号 | 页码/范围 | 内容与阅读目的 |
|---|---|---|
| Figure 4-1~4-3 | 28-30 | trireg 驱动、容性网络、charge sharing 的仿真波形 |
| Figure 7-1 | 80 | 实例数组互连 |
| Figure 7-2~7-26 | 88-104 | 强度刻度、相等/不等强度解析、模糊强度、wired logic、强度消减、trireg 电容 |
| Figure 8-1 | 113 | UDP 与模块初始值传播时序 |
| Figure 9-1 | 139 | 重复事件控制与时钟边沿 |
| Figure 12-1~12-3 | 193-196 | 模型层次、层次路径名、向上名称引用作用域 |
| Figure 14-1~14-12 | 212-235 | 模块路径、并行/全连接路径、分布延迟、合法性、脉冲过滤、事件取消 |
| Figure 15-1~15-6 | 251-268 | $timeskew、$fullskew、违规窗口、正负 setup/hold 数据区间 |
| Figure 18-1~18-2 | 325-338 | 四态 VCD 与扩展 VCD 生成流程 |
| Figure 26-1~26-2 | 378-379 | VPI 对象关系与按 tag 访问对象类 |
| Figure 27-1~27-18 | 419-462 | VPI error、callback、delay、time、value、vector、strength、启动信息等 C 结构体 |
重点看图顺序:12-1/12-2 建立层次模型,14-2 区分 => 与 *>,15-4 理解违规窗口,18-1 理解波形输出,26-1 建立 VPI 对象图。
表格覆盖清单
跳转到“表格覆盖清单”标准共有 110 张正文编号表,另有 1 张附录表。以下按连续编号完整覆盖;高频结论已转写到学习导读。
| 编号 | 页码/范围 | 内容 |
|---|---|---|
| Table 3-1 | 14 | 字符串特殊字符 |
| Table 4-1~4-7 | 26-38 | net 类型、多驱动真值、tri0/tri1、specparam 与 parameter |
| Table 5-1~5-22 | 42-63 | 运算符、real 限制、优先级、算术/比较/位运算/归约、未知条件、表达式位宽 |
| Table 6-1 | 68 | 赋值语句的合法左值形式 |
| Table 7-1~7-9 | 76-101 | 内建门/开关、强度、各类真值表、强度消减与传播延迟 |
| Table 8-1~8-3 | 108-115 | UDP 表符号、初始语句、level/edge 表项混用 |
| Table 9-1~9-2 | 133-138 | posedge/negedge 检测、intra-assignment timing 等价形式 |
| Table 12-1 | 180 | 不同 net 类型端口连接后的结果类型 |
| Table 14-1~14-3 | 215-224 | 状态依赖路径运算符、跃迁延迟、到 x 的延迟计算 |
| Table 15-1~15-13 | 241-259 | setup、hold、recovery/removal、skew、width、period 等 timing check 参数 |
| Table 16-1~16-4 | 270-276 | SDF DELAY/TIMINGCHECK/LABEL/INTERCONNECT 到 Verilog 的映射 |
| Table 17-1~17-18 | 279-324 | 显示格式、文件 I/O、存储器加载、仿真控制、时间、随机与数学/转换函数 |
| Table 18-1~18-3 | 329-345 | VCD 关键字、变量类型与标量/向量值格式 |
| Table 19-1~19-4 | 349-364 | 编译指令、默认 net、timescale、关键字版本组 |
| Table 26-1~26-9 | 376-414 | VPI 约定、对象、关系、属性、回调和访问方法 |
| Table 27-1~27-6 | 419-466 | VPI 例程分类、错误级别、控制操作与返回约定 |
| Table 28-1~28-4 | 470-485 | protected envelope 权限、编码和历史算法登记 |
| Table C.1 | 511-517 | 实现可选的系统任务与函数 |
三张优先表:Table 5-22 决定位宽,Table 9-1 决定边沿触发,Table 9-2 区分“先等待再采样”和“先采样再等待”。Table 28-4 只是历史登记,其中部分算法已不安全。
Syntax Box 覆盖清单
跳转到“Syntax Box 覆盖清单”标准共有 140 个 Syntax Box。下表按 Clause 覆盖全部编号;Clause 11、16、20-28 没有 Syntax Box,Annex A 提供完整规范性 BNF。
| 编号 | 页码/范围 | 覆盖语法 |
|---|---|---|
| Syntax 3-1~3-9 | 9-20 | 数字、系统 task/function、各位置 attribute |
| Syntax 4-1~4-5 | 22-38 | net、variable、数值/时间类型、parameter、specparam |
| Syntax 5-1~5-2 | 53-61 | 条件运算符、mintypmax 表达式 |
| Syntax 6-1~6-2 | 69-73 | 连续赋值、变量声明赋值 |
| Syntax 7-1 | 75 | 门级实例化 |
| Syntax 8-1~8-2 | 106-113 | UDP 定义与实例 |
| Syntax 9-1~9-16 | 118-144 | 阻塞/NBA、过程连续赋值、分支、循环、事件、延迟、顺序/并行块、initial/always |
| Syntax 10-1~10-5 | 146-155 | task/function 声明、调用与 disable |
| Syntax 12-1~12-7 | 164-194 | 模块、实例、端口、generate、层次路径与向上引用 |
| Syntax 13-1~13-9 | 199-204 | cell、library map、include、configuration 与绑定规则 |
| Syntax 14-1~14-9 | 211-232 | specify、路径、延迟、PATHPULSE、脉冲风格与取消显示 |
| Syntax 15-1~15-16 | 238-265 | timing check 通式、各检查任务、edge-control 与受控事件 |
| Syntax 17-1~17-18 | 278-312 | 输出、文件、存储器、SDF、时间、停止、随机分布 |
| Syntax 18-1~18-29 | 325-346 | VCD task、四态 VCD 文法、扩展 VCD task 与值变化文法 |
| Syntax 19-1~19-10 | 350-361 | default net、宏、条件编译、include、line、timescale、pragma、关键词版本 |
视觉语义速查
跳转到“视觉语义速查”多驱动解析
跳转到“多驱动解析”flowchart LR D1["驱动 A<br/>值 + 强度"] --> R["net 解析"] D2["驱动 B<br/>值 + 强度"] --> R D3["其他驱动"] --> R R --> O["唯一值或 x"]同值驱动趋向该值;冲突时强驱动压过弱驱动;同等相反强度产生未知范围。普通 RTL 不应依赖复杂强度解析。
时序检查窗口
跳转到“时序检查窗口” reference edge |----------[ setup ]----|----[ hold ]----------> time data 必须保持稳定$setuphold 把前后窗口放在同一检查中;负 setup/hold 会让两个区间交叠或跨过参考边沿,需结合 Clause 15 的事件延迟参数理解。
VPI 对象访问
跳转到“VPI 对象访问”flowchart TD H["对象句柄"] --> O["一对一关系:vpi_handle"] H --> M["一对多关系:vpi_iterate / vpi_scan"] O --> P["属性:vpi_get / vpi_get_str"] M --> V["值:vpi_get_value / vpi_put_value"] H --> C["回调:vpi_register_cb"]标准边界
跳转到“标准边界”- “规范性”内容定义一致性要求;“信息性”附录用于说明,不保证所有实现支持。
- 仿真语义不等于综合支持。文件 I/O、延迟、强度、开关级模型、VPI 等通常不属于可综合 RTL。
- IEEE 1364-2005 已由后续 SystemVerilog 标准体系承接。维护 Verilog-2005 代码时以本标准为准;新设计还应结合目标工具支持的 IEEE 1800 版本。
- 本地图使用原创摘要、表格和示意图保留语义覆盖,具体语法产生式、例外条件和一致性判断仍应回查标准正文。