第1章 绪论 1
1.1什么是SystemC? 1
1.2为何采用SystemC? 2
1.3设计方法 4
1.4设计能力 7
1.5SystemCRTL 8
1.6本书的组织结构 8
1.7练习 9
第2章 SystemC入门 10
2.1基础知识 10
2.2再看一个2×4译码电路示例 12
2.3描述层次关系 14
2.4验证功能 17
2.5练习 21
第3章 数据类型 22
3.1值保持器 22
3.2类型概述 23
3.3位类型 24
3.4任意位宽的位类型 25
3.5逻辑类型 28
3.6任意位宽的逻辑类型 30
3.7有符号整型 32
3.8无符号整型 34
3.9任意精度的有符号整型 35
3.10任意精度的无符号整型 36
3.11解析式类型 36
3.12用户定义的数据类型 37
3.13推荐采用的数据类型 39
3.14练习 39
第4章 组合逻辑建模 40
41SC_MODULE 40
4.1.1文件结构 41
4.2示例 42
4.3读写端口和信号 44
4.4逻辑算符 45
4.5算术算符 47
4.5.1无符号算术 48
4.5.2有符号算术 49
4.6关系算符 50
4.7向量与位区间 53
4.7.1常量下标 53
4.7.2不是常量的下标 55
4.8if语句 57
4.9switch语句 60
4.10循环语句 64
4.11方法 65
4.12结构体类型 69
4.13多个进程和△延迟 70
4.14小结 72
4.15练习 72
5.1触发器建模 73
第5章 同步逻辑建模 73
5.2多个进程 75
5.3带异步预置位和清零的触发器 77
5.4带同步预置位和清零的触发器 80
5.5多个时钟与多相位时钟 82
5.6锁存器建模 84
5.6.1if语句 85
5.6.2switch语句 88
5.6.3避免产生锁存器 89
5.7小结 91
5.8练习 91
第6章 其他逻辑 93
6.1三态驱动源 93
6.2多个驱动源 98
6.3无关值处理 101
6.4层次结构 102
6.5模块的参数化 109
6.6变量和信号的赋值 112
6.7练习 114
第7章 建模示例 115
7.1可参数化的三态输出寄存器 115
7.2存储器模型 117
7.3有限状态机建模 119
7.3.1Moore有限状态机 119
7.3.2Mealy有限状态机 122
7.4通用移位寄存器 126
7.5计数器 129
7.5.1模N计数器 129
7.5.2约翰逊计数器 130
7.5.3格雷码可逆计数器 132
7.6约翰逊译码器 134
7.7阶乘模型 135
7.8练习 137
8.1编写测试平台 138
第8章 测试平台 138
8.2仿真控制 141
8.2.1sc_clock 141
8.2.2sc_trace 142
8.2.3sc_start 142
8.2.4sc_stop 143
8.2.5sc_time_stamp 143
8.2.6sc_simulation_time 143
8.2.7sc_cycle和sc_initialize 143
8.2.8sc_time 144
8.3波形 144
8.3.1任意波形 144
8.3.2复杂的重复波形 146
8.3.3派生时钟的生成 147
8.3.4从文件中读取激励 149
8.3.5反应式激励 152
8.4.1断言正确的行为 156
8.4监听行为 156
8.4.2将结果转储至文本文件 158
8.5其他示例 159
8.5.1触发器 159
8.5.2同步输出的多路选择器 162
8.5.3全加器 165
8.5.4周期级仿真 169
8.6sc_main函数内的语句次序 171
8.7记录聚合类型 172
8.8练习 173
第9章 系统级建模 174
9.1SC_THREAD型进程 174
9.2动态敏感 176
9.3构造函数的参数 178
9.4其他示例 183
9.4.1最大公因子 183
9.4.2滤波器 184
9.5端口、接口和信道 186
9.6高级论题 189
9.6.1共享数据成员 189
9.6.2定点类型 190
9.6.3模块 191
9.6.4其他方法 191
9.7仿真算法 193
9.8练习 194
附录A 运行时环境 195
A.1软件安装 195
A.2编译 195
A.3仿真 196
A.4调试 197
附录 BSystemCRTL:可综合的子集 199
B.1SystemC语言要素 199
B.2C++语言要素 200
参考文献 204