SystemVerilog参考手册31a中英文版最新SV IEEE标准

2023-12-12

SystemVerilog参考手册3.1a(中英文版)+最新SV IEEE标准

资源描述

本资源文件包含SystemVerilog参考手册3.1a的中英文版本以及最新的SV IEEE标准。该手册详细介绍了SystemVerilog的各种语法、数据类型、操作符、过程语句、类、随机约束、进程同步与通信、调度语义、时钟块、程序块、断言、层次结构、接口等内容。

目录结构

第1章 引言

  • 1.1 引言(信息性)

第2章 字面值

  • 2.1 引言(信息性)
  • 2.2 字面值语法
  • 2.3 整数和逻辑字面值
  • 2.4 实数字面值
  • 2.5 时间字面值
  • 2.6 字符串字面值
  • 2.7 数组字面值
  • 2.8 结构字面值

第3章 数据类型

  • 3.1 引言(信息性)
  • 3.2 数据类型语法
  • 3.3 整数数据类型
  • 3.4 实数和短实数数据类型
  • 3.5 空数据类型
  • 3.6 chandle数据类型
  • 3.7 字符串数据类型
  • 3.8 事件数据类型
  • 3.9 用户定义类型
  • 3.10 枚举
  • 3.11 结构和联合
  • 3.12 类
  • 3.13 单数和聚合类型
  • 3.14 类型转换
  • 3.15 $cast动态类型转换
  • 3.16 位流类型转换

第4章 数组

  • 4.1 引言(信息性)
  • 4.2 打包和解包数组
  • 4.3 多维数组
  • 4.4 数组索引和切片
  • 4.5 数组查询函数
  • 4.6 动态数组
  • 4.7 数组赋值
  • 4.8 数组作为参数
  • 4.9 关联数组
  • 4.10 关联数组方法
  • 4.11 关联数组赋值
  • 4.12 关联数组参数
  • 4.13 关联数组字面值
  • 4.14 队列
  • 4.15 数组操作方法

第5章 数据声明

  • 5.1 引言(信息性)
  • 5.2 数据声明语法
  • 5.3 常量
  • 5.4 变量
  • 5.5 作用域和生命周期
  • 5.6 网络、寄存器和逻辑
  • 5.7 信号别名
  • 5.8 类型兼容性

第6章 属性

  • 6.1 引言(信息性)
  • 6.2 默认属性类型

第7章 操作符和表达式

  • 7.1 引言(信息性)
  • 7.2 操作符语法
  • 7.3 赋值操作符
  • 7.4 逻辑和位类型操作
  • 7.5 通配符相等和不等
  • 7.6 实数操作符
  • 7.7 大小
  • 7.8 符号
  • 7.9 操作符优先级和结合性
  • 7.10 内置方法
  • 7.11 静态前缀
  • 7.12 连接
  • 7.13 解包数组表达式
  • 7.14 结构表达式
  • 7.15 标记联合表达式和成员访问
  • 7.16 聚合表达式
  • 7.17 操作符重载
  • 7.18 流操作符(打包/解包)
  • 7.19 条件操作符
  • 7.20 集合成员

第8章 过程语句和控制流

  • 8.1 引言(信息性)
  • 8.2 语句
  • 8.3 阻塞和非阻塞赋值
  • 8.4 选择语句
  • 8.5 循环语句
  • 8.6 跳转语句
  • 8.7 最终块
  • 8.8 命名块和语句标签
  • 8.9 禁用
  • 8.10 事件控制
  • 8.11 电平敏感序列控制
  • 8.12 过程赋值和解除赋值

第9章 进程

  • 9.1 引言(信息性)
  • 9.2 组合逻辑
  • 9.3 锁存逻辑
  • 9.4 时序逻辑
  • 9.5 连续赋值
  • 9.6 fork…join
  • 9.7 进程执行线程
  • 9.8 进程控制
  • 9.9 细粒度进程控制

第10章 任务和函数

  • 10.1 引言(信息性)
  • 10.2 任务
  • 10.3 函数
  • 10.4 任务和函数参数传递
  • 10.5 导入和导出函数

第11章 类

  • 11.1 引言(信息性)
  • 11.2 语法
  • 11.3 概述
  • 11.4 对象(类实例)
  • 11.5 对象属性
  • 11.6 对象方法
  • 11.7 构造函数
  • 11.8 静态类属性
  • 11.9 静态方法
  • 11.10 This
  • 11.11 赋值重命名和复制
  • 11.12 继承和子类
  • 11.13 重写成员
  • 11.14 Super
  • 11.15 类型转换
  • 11.16 链式构造函数
  • 11.17 数据隐藏和封装
  • 11.18 常量类属性
  • 11.19 抽象类和虚拟方法
  • 11.20 多态:动态方法查找
  • 11.21 类作用域解析操作符 ::
  • 11.22 块外声明
  • 11.23 参数化类
  • 11.24 Typedef类
  • 11.25 类和结构
  • 11.26 内存管理

第12章 随机约束

  • 12.1 引言(信息性)
  • 12.2 概述
  • 12.3 随机变量
  • 12.4 约束块
  • 12.5 随机化方法
  • 12.6 内联约束 — randomize() with
  • 12.7 使用rand_mode()禁用随机变量
  • 12.8 使用constraint_mode()控制约束
  • 12.9 动态约束修改
  • 12.10 内联随机变量控制
  • 12.11 作用域变量的随机化 — std::randomize()
  • 12.12 随机数系统函数和方法
  • 12.13 随机稳定性
  • 12.14 手动种子随机化
  • 12.15 随机加权案例 — randcase
  • 12.16 随机序列生成 — randsequence

第13章 进程同步与通信

  • 13.1 引言(信息性)
  • 13.2 信号量
  • 13.3 邮箱
  • 13.4 参数化邮箱
  • 13.5 事件
  • 13.6 事件排序:wait_order()
  • 13.7 事件变量

第14章 调度语义

  • 14.1 硬件模型及其验证环境的执行
  • 14.2 事件模拟
  • 14.3 分层事件调度器
  • 14.4 PLI回调控制点

第15章 时钟块

  • 15.1 引言(信息性)
  • 15.2 时钟块声明
  • 15.3 输入和输出偏移
  • 15.4 层次表达式
  • 15.5 多个时钟块中的信号
  • 15.6 时钟块作用域和生命周期
  • 15.7 多时钟块示例
  • 15.8 接口和时钟块
  • 15.9 时钟块事件
  • 15.10 周期延迟:##
  • 15.11 默认时钟
  • 15.12 输入采样
  • 15.13 同步事件
  • 15.14 同步驱动

第16章 程序块

  • 16.1 引言(信息性)
  • 16.2 程序构造
  • 16.3 多程序
  • 16.4 消除测试平台竞争
  • 16.5 周期/事件模式中的阻塞任务
  • 16.6 程序控制任务

第17章 断言

  • 17.1 引言(信息性)
  • 17.2 立即断言
  • 17.3 并发断言概述
  • 17.4 布尔表达式
  • 17.5 序列
  • 17.6 声明序列
  • 17.7 序列操作
  • 17.8 序列中的数据操作
  • 17.9 序列匹配时的子程序调用
  • 17.10 系统函数
  • 17.11 声明属性
  • 17.12 多时钟支持
  • 17.13 并发断言
  • 17.14 时钟解析
  • 17.15 绑定属性到作用域或实例
  • 17.16 期望语句

第18章 层次结构

  • 18.1 引言(信息性)
  • 18.2 包
  • 18.3 编译单元支持
  • 18.4 顶层实例
  • 18.5 模块声明
  • 18.6 嵌套模块
  • 18.7 外部模块
  • 18.8 端口声明
  • 18.9 端口表达式列表
  • 18.10 时间单位和精度
  • 18.11 模块实例
  • 18.12 端口连接规则
  • 18.13 命名空间
  • 18.14 层次名称

第19章 接口

  • 19.1 引言(信息性)
  • 19.2 接口语法
  • 19.3 接口中的端口
  • 19.4 端口
  • 19.5 接口和指定块
  • 19.6 接口中的任务和函数
  • 19.7 参数化接口

使用说明

本资源文件适用于需要深入了解SystemVerilog语言的工程师、学生和研究人员。通过阅读本手册,您可以全面掌握SystemVerilog的语法和特性,从而更好地进行硬件设计和验证工作。

贡献

如果您发现任何错误或有改进建议,欢迎提交问题或拉取请求。

许可证

本资源文件遵循[许可证名称]许可证。详情请参阅LICENSE文件。

下载链接

SystemVerilog参考手册3.1a中英文版最新SVIEEE标准