本书重点讲述了IEEE P1666-2005SystemC语法(模块、端口、信号、进程、基本数据类型、定点数据类型、波形跟踪、接口、端口、导出端口和通道、动态进程)、事务处理级建模库TLM2.0(TLM2.0核心接口、发起者和目标套接字、通用净核和基础协议、实用工具、分析接口和端口)、验证库1.0(SystemC的验证库,包括验证思想、基于事务的验证方法、随机化、约束的随机数的产生、加权随机数产生)和SystemC的电子系统级综合技术(算法综合、SystemC行为综合和SystemC体系结构综合),并给出了Sys-temC的应用实例。
本书可作为电子工程技术人员学习SystemC设计、应用、开发的技术参考书,也可供高等院校电子及其相关专业的广大师生阅读。
样章试读
目录
- 第1章 前言
1.1 为什么要发展新的设计和验证语言
1.2 SystemC的历史
1.3 SystemC的本质
1.4 SystemC的核心价值
1.5 虚拟原型
1.6 ESL设计流程
1.7 事务处理级建模——ESL的关键
1.8 一个“Hello,SystemC!”建模实例
1.9 一个二输入与非门建模实例
1.10 本章小结
1.11 习题
第2章 SystemC基本语法
2.1 从一个典型的SystemC设计开始
2.2 SystemC头文件
2.3 模块
2.3.1 模块的定义
2.3.2 模块的构造函数和析构函数
2.3.3 模块内部数据
2.4 端口和信号
2.4.1 端口和信号的定义
2.4.2 Δ延迟
2.4.3 端口和信号的多驱动处理
2.4.4 端口和信号的绑定
2.5 SystemC时钟和时间模型
2.6 基本数据类型
2.6.1 sc_bit和sc_logic数据类型
2.6.2 固定精度整型数据类型sc_int和sc_uint
2.6.3 任意精度整型数据类型sc_bigint和sc_biguin
2.6.4 任意长度比特和逻辑向量
2.6.5 用户自定义类型
2.7 定点数据类型
2.8 进程
2.8.1 SystemC进程基础
2.8.2 方法进程SC_METHOD
2.8.3 线程进程SC_THREAD
2.8.4 钟控线程进程
2.8.5 wait()和next_trigger()
2.8.6 dont_initialize()和sensitive
2.9 仿真与波形跟踪
2.9.1 SystemC设计的顶层函数sc_main()
2.9.2 仿真控制
2.9.3 SystemC波形跟踪概述
2.9.4 创建和关闭波形跟踪文件
2.9.5 跟踪标量型变量和信号
2.9.6 跟踪聚合型变量和信号
2.9.7 仿真和波形跟踪实例
2.10 SystemC信息和差错报告机制
2.11 SystemC中的一些杂散内容
2.12 本章小结
2.13 习题
第3章 SystemC行为建模语法
3.1 什么是TLM
3.2 TLM相关语法
3.3 接口
3.3.1 接口的定义
3.3.2 存储器接口实例
3.3.3 接口基类sc_interface
3.4 端口
3.4.1 自定义端口
3.4.2 一个端口实例
3.4.3 端口基类sc_port<IF,N>
3.4.4 一个连接到多个接口的端口实例
3.4.5 直接通道调用
3.5 通道基础
3.5.1 端口与通道的关联
3.5.2 通道的同步规则
3.5.3 静态规则检查
3.5.4 动态规则检查
3.5.5 通道的属性
3.6 基本通道
3.6.1 sc_signal<T>、sc_signal_rv<T>和sc_buffer<T>
3.6.2 sc_mutex
3.6.3 sc_fifo<T>
3.6.4 sc_semaphore
3.6.5 sc_event
3.6.6 sc_event_queue
3.7 分层通道
3.7.1 分层通道的定义
3.7.2 分层通道的实例
3.7.3 导出端口(SC_EXPORT)
3.8 动态创建进程
3.8.1 sc_spawn(…)
3.8.2 sc_spawn_options
3.8.3 SC_FORK和SC_JOIN
3.9 系统建模中的分层模型
3.9.1 系统建模中通信的抽象层次
3.9.2 寄存器传输层
3.9.3 传输层
3.9.4 事务层
3.9.5 消息层
3.10 SystemC的事务处理级建模初步
3.10.1 事务的概念
3.10.2 嵌入式软件开发与事务处理级建模
3.10.3 事务处理级建模用于系统结构探索
3.10.4 SystemC事务处理级建模的特点
3.11 通信细化
3.11.1 通信细化的概念
3.11.2 一个通信细化实例
3.12 本章小结
3.13 习题
第4章 SystemC事务处理级建模库
4.1 TLM2.0基本概念
4.1.1 概述
4.1.2 松散定时建模
4.1.3 近似定时建模
4.1.4 近似定时建模和松散定时建模的使用
4.1.5 发起者、目标、套接字和桥
4.1.6 DMI和调试传送接口
4.1.7 合并接口和套接字
4.1.8 名字空间和头文件
4.1.9 基础协议
4.2 通用净核类
4.2.1 为什么定义通用净核类
4.2.2 定义
4.2.3 构造、赋值和析构函数
4.2.4 通用净核对象的属性
4.2.5 大端和小端
4.3 阻塞传送接口
4.3.1 TLM2.0核心接口概述
4.3.2 阻塞传送接口定义
4.3.3 一般阻塞调用示例
4.3.4 时间解耦阻塞调用示例
4.3.5 量子时间阻塞调用示例
4.4 非阻塞传送接口
4.4.1 相位
4.4.2 基础协议类型
4.4.3 非阻塞传送接口定义
4.4.4 非阻塞传送接口使用示例
4.5 直接存储器接口
4.6 调试传送接口
4.7 合并的传送接口
4.8 发起者和目标套接字
4.8.1 发起者和目标套接字概述
4.8.2 发起者套接字定义
4.8.3 目标套接字定义
4.8.4 使用示例
4.9 预定义的套接字
4.9.1 TLM2.0预定义套接字预览
4.9.2 简单套接字
4.10 全局量子时间和量子看守者
4.11 一个松散定时目标模块建模实例
4.12 本章小结
4.13 习题
第5章 SystemC验证库
5.1 SystemC验证库概述
5.2 常用术语
5.3 基于事务的验证
5.3.1 顶层设计
5.3.2 接口定义
5.3.3 事务处理器
5.3.4 测试器
5.3.5 被测设计
5.4 数据内查
5.4.1 本章术语
5.4.2 数据扩展
5.4.3 复杂用户数据类型扩展
5.4.4 枚举数据类型扩展
5.5 约束的随机化
5.5.1 随机数的产生
5.5.2 简单随机化
5.5.3 带约束的随机化
5.5.4 加权随机化
5.6 变量和事务记录
5.6.1 变量记录
5.6.2 事务记录
5.7 SCV标准的其他内容
5.8 本章小结
5.9 习题
第6章 SystemC综合
6.1 基于C的高层次综合
6.1.1 C高层次综合示例
6.1.2 调度算法
6.1.3 寄存器分配
6.2 SystemC行为综合
6.2.1 概述
6.2.2 SystemC可综合子集
6.2.3 可综合的进程
6.2.4 套接字
6.2.5 循环处理和运算调度
6.3 SystemC体系结构综合介绍
6.3.1 什么是SystemC体系结构综合
6.3.2 多核处理器的发展
6.3.3 相关工作
6.4 SystemC优化的进程阵列
6.4.1 体系结构
6.4.2 事件处理单元
6.4.3 互斥量和信号量单元
6.4.4 双向的输入输出队列
6.4.5 动态进程创建单元
6.5 基于SOTA的SystemC体系结构综合
6.6 SystemC体系结构综合案例
6.6.1 案例1
6.6.2 案例2
6.7 本章小结
6.8 习题
第7章 SystemC定点数据类型
7.1 定点数据的量化模式介绍
7.2 量化模式SC_RND
7.3 量化模式SC_RND_ZERO
7.4 量化模式SC_RND_MIN_INF
7.5 量化模式SC_RND_INF
7.6 量化模式SC_RND_CONV
7.7 量化模式SC_TRN
7.8 量化模式SC_TRN_ZERO
7.9 定点数据的溢出模式
7.10 溢出模式SC_SAT
7.11 溢出模式SC_SAT_ZERO
7.12 溢出模式SC_SAT_SYM
7.13 溢出模式SC_WRAP
7.14 溢出模式SC_WRAP_SM
7.15 定点数据类型支持的运算符
7.16 定点数据类型的状态信息
7.17 将定点数据类型转换为字符串
7.18 一个定点FIR滤波器设计实例
7.19 本章小结
7.20 习题
第8章 SystemC应用实例
8.1 回到“Hello,SystemC”
8.2 串口原理
8.3 串口寄存器定义
8.3.1 分频系数
8.3.2 发送和接收寄存器
8.3.2 接收控制寄存器
8.4 Wishbone总线简介
8.4.1 概述
8.4.2 接口信号定义
8.4.3 互联类型
8.4.4 总线周期
8.4.5 单次读/写周期
8.4.6 块读周期
8.4.7 块写周期
8.5 处理器的电子系统级总线功能模型
8.5.1 符合Wishbone标准的总线事务处理适配接口
8.5.2 符合Wishbone标准的总线事务处理适配器
8.5.3 软件的事务处理级行为
8.5.4 事务处理级处理器的顶层模块
8.6 串口的设计
8.6.1 设计文件列表
8.6.2 发送模块
8.6.3 接收模块
8.6.4 Wishbone接口模块
8.6.5 发送和接收FIFO
8.6.6 顶层模块
8.7 SystemC和Verilog混合仿真
8.8 本章小结
8.9 习题