《ModelSim电子系统分析及仿真》主要内容简介:ModelSim是优秀的HDL仿真软件之一,它能提供友好的仿真环境,是业界唯一的单内核支持VHDL和Verilog混合仿真的仿真器。它采用直接优化的编译技术、Tcl/Tk技术和单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护IP核,个性化的图形界面和用户接口,为用户加快调错提供强有力的手段,是FPGA/ASIC设计的首选仿真软件。《ModelSim电子系统分析及仿真》以ModelSim 6.1f版软件为例,由浅入深、循序渐进地介绍了ModelSim 6.1f软件各部分知识,包括ModelSim 6.1f的基础知识、菜单命令、库和工程的建立与管理、Verilog/VHDL文件的编译仿真及采用多种方式分析仿真结果等知识。书中配有大量的插图和详细的讲解,并结合实例讲解使用ModelSim进行仿真操作的基本知识和方法技巧。
目录
第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调用SystemC 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Ⅱ简介 221
7.1.2 后仿真流程 224
实例7-1 直接采用QuartusⅡ调用ModelSim进行仿真 224
实例7-2 先用QuartusⅡ创建工程,再用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 Tcl和DO文件 291
9.3.1 Tcl命令 291
9.3.2 Tcl语法 292
9.3.3 ModelSim的Tcl时序命令 293
9.3.4 宏命令 294
1