第1章 概述 1
1.1 IC设计与ModelSim 1
1.1.1 IC设计基本流程 1
1.1.2 ModelSim概述 3
1.2 ModelSim应用基本流程 5
1.2.1创建工程及工程库 5
1.2.2创建新文件 6
1.2.3加载设计文件 6
1.2.4编译源文件 7
1.2.5运行仿真 8
1.2.6查看结果 9
1.2.7工程调试 9
第2章 操作界面 11
2.1整体界面 11
2.2菜单栏 12
2.2.1 File菜单 12
2.2.2 Edit菜单 16
2.2.3 View菜单 19
2.2.4 Format菜单 23
2.2.5 Compile菜单 23
2.2.6 Simulate菜单 25
2.2.7 Add菜单 27
2.2.8 Tools菜单 28
2.2.9 Window菜单 33
2.2.10 Help菜单 33
2.3工具栏 34
2.4工作区 34
2.5命令窗口 35
2.6 MDI窗口 36
2.6.1源文件窗口 37
2.6.2波形窗口 37
2.6.3列表窗口 38
2.6.4数据流窗口 39
2.6.5属性窗口 39
2.6.6进程窗口 40
2.6.7对象窗口 40
2.6.8存储器窗口 40
2.7界面的设置 41
2.7.1定制用户界面 41
2.7.2设置界面参数 43
第3章 工程和库 45
3.1 ModelSim工程 45
3.1.1删除原有工程 45
3.1.2开始一个新工程 46
3.1.3工程标签 47
3.1.4工程编译 48
3.1.5仿真环境配置 51
3.1.6工程文件组织 53
3.1.7工程及文件属性设置 54
实例3-1工程文件管理 59
3.2 ModelSim库 62
3.2.1概述 62
3.2.2库的创建及管理 63
3.2.3资源库管理 65
3.2.4导入FPGA的库 65
第4章ModelSim对不同语言的仿真 67
4.1 VHDL仿真 67
4.1.1 VHDL文件编译 67
4.1.2 VHDL设计优化 69
4.1.3 VHDL设计仿真 74
4.1.4还原点和仿真恢复 79
4.1.5 TEXTIO的使用 80
实例4-1 VHDL设计的仿真全过程 82
4.2 Verilog仿真 87
4.2.1 Verilog文件编译 88
4.2.2 Verilog设计优化 89
4.2.3 Verilog设计仿真 89
4.2.4还原点和仿真恢复 94
4.2.5单元库 94
4.2.6系统任务和系统函数 95
4.2.7编译指令 97
实例4-2 32位浮点乘法器的Verilog仿真过程 98
4.3 SystemC仿真 104
4.3.1概述 104
4.3.2 SystemC文件的编译和链接 105
4.3.3设计仿真和调试 110
4.3.4常见错误 111
4.4混合语言仿真 114
4.4.1编译过程与公共设计库 114
4.4.2映射数据类型 116
4.4.3 VHDL调用Verilog 120
4.4.4 Verilog调用VHDL 122
4.4.5 SystemC调用Verilog 122
4.4.6 Verilog调用System 123
4.4.7 SystemC调用VHDL 124
4.4.8 VHDL调用SystemC 125
第5章 利用 ModelSim进行仿真分析 127
5.1仿真概述 127
5.2 WLF文件和虚拟对象 128
5.2.1保存仿真状态 129
5.2.2 Dataset结构 131
5.2.3 Dataset管理 132
5.2.4虚拟对象 134
5.3利用波形编辑器产生激励 137
5.3.1创建波形 137
5.3.2编辑波形 141
5.3.3导出激励文件并使用 144
5.4采用描述语言生成激励 146
5.5 ModelSim波形分析 149
5.5.1波形窗口和列表窗口 149
5.5.2时间标记 151
5.5.3窗口的缩放 151
5.5.4在窗口中搜索 153
5.5.5窗口的格式编排 154
5.5.6波形和列表的保存 157
5.5.7信号总线 158
5.5.8其他功能 159
5.5.9波形比较 160
5.6存储器的查看和操作 165
5.6.1存储器的查看 166
5.6.2存储数据的导出 167
5.6.3存储器初始化 168
5.6.4存储器调试 168
5.7数据流窗口的使用 169
5.7.1概述 169
5.7.2设计连通性分析 171
5.7.3信号追踪和查找 172
5.7.4设置和保存打印 173
5.8综合实例 174
实例5-1三分频时钟的分析 175
实例5-2同步FIFO的仿真分析 181
实例5-3基2的SRT除法器的仿真分析 186
第6章 ModelSim的协同仿真 194
6.1 ModelSim与Debussy的协同仿真 194
6.1.1 Debussy工具介绍 194
6.1.2 Debussy配置方法 199
实例6-1与Debussy的协同仿真 202
6.2 ModelSim与Matlab的协同仿真 209
6.2.1简介 209
实例6-2与Matlab的协同仿真 211
实例6-3与Simulink的协同仿真 214
第7章 ModelSim对不同公司器件的后仿真 221
7.1 ModelSim对Altera器件的后仿真 221
7.1.1 Quartus II简介 221
7.1.2后仿真流程 224
实例7-1直接采用Quartus Ⅱ调用ModelSim进行仿真 224
实例7-2先用Quartus II创建工程,再用ModelSim进行时序仿真 235
7.2 ModelSim对Xilinx器件的后仿真 240
7.2.1 ISE简介 241
7.2.2后仿真流程 242
实例7-3用ISE对全加器进行时序仿真 244
第8章 ModelSim的其他功能 252
8.1 C调试 252
8.1.1概述 252
8.1.2 C步进调试与调试设置 254
8.2 ModelSim的剖析工具 255
8.2.1运行性能剖析和存储器剖析 255
8.2.2查看性能剖析结果 256
8.2.3查看存储器剖析报告 258
8.2.4保存结果 259
8.3覆盖率检测 260
8.3.1启用代码覆盖 260
8.3.2覆盖率的查看 264
8.3.3覆盖率检测的设置 267
8.3.4覆盖信息报告 267
8.4信号探测 270
8.5采用JobSpy控制批处理仿真 273
8.5.1 JobSpy功能与流程 273
8.5.2运行JobSpy 274
第9章 ModelSim的文件和脚本 277
9.1 SDF文件 277
9.1.1 SDF文件的指定和编译 277
9.1.2 VHDL的SDF 279
9.1.3 Verilog的SDF 280
9.1.4 SDF文件信息 282
9.2 VCD文件 284
9.2.1创建一个VCD文件 284
9.2.2使用VCD作为激励 286
9.2.3 VCD任务 288
9.2.4端口驱动数据 289
9.3 Tel和DO文件 291
9.3.1 Tel命令 291
9.3.2 Tcl语法 292
9.3.3 ModelSim的Tcl时序命令 293
9.3.4宏命令 294