书籍详情
VHDL及数字电路验证
作者:刘树林,刘宁庄,王媛媛 著
出版社:电子工业出版社
出版时间:2016-11-01
ISBN:9787121302503
定价:¥49.80
购买这本书可以去
内容简介
本书涵盖“VHDL设计描述语言”和“FPGA设计及应用”两门课程的主要内容,内容紧凑、重点突出、条理清晰、针对性强、注重实践,精心选取了大量通用、贴近工程实践的设计实例。
作者简介
刘树林,博士,西安科技大学教授、博士生导师,四川大学半导体物理专业本科毕业,航天部西安微电子研究所硕士、博士毕业。先后在西安电力电子研究所、中兴通讯股份有限公司、西安科技大学从事科研和教学工作。现任西安科技大学电气与控制工程学院副院长、“电力电子电路与系统科研创新团队”负责人、矿山机电工程博士点学科带头人、微电子学与固体电子学学科带头人等。
目录
第1章 绪论 1
1.1 电路系统 1
1.1.1 电路系统的分类 1
1.1.2 模拟电路系统及其特点 1
1.1.3 数字电路系统及其特点 2
1.2 VHDL语言的产生背景、功能及特点 2
1.2.1 EDA概念 2
1.2.2 EDA技术发展阶段 2
1.2.3 EDA技术的研究内容 4
1.2.4 HDL语言的概念及分类 5
1.2.5 VHDL语言的发展及特点 6
1.3 PLD与FPGA 7
1.3.1 简单低密度器件(SPLD) 8
1.3.2 CPLD 9
1.3.3 FPGA 12
1.3.4 器件供应商及第三方软件介绍 13
习题 16
第2章 VHDL程序框架及组成 17
2.1 概述 17
2.2 语法规则及命名 17
2.2.1 书写规定 17
2.2.2 标识符 18
2.2.3 扩展标识符 18
2.2.4 保留字及专用字 19
2.3 VHDL基本架构 19
2.3.1 设计库 20
2.3.2 包集合 22
2.3.3 实体 24
2.3.4 构造体 26
2.3.5 配置 28
3.配置的格式 28
2.4 小结 31
习题 31
第3章 VHDL语言数据类型 32
3.1 数据类型概述 32
3.2 标准预定义数据类型 32
3.2.1 可综合数据类型 33
3.2.1 不可综合数据类型 36
3.3 用户自定义数据类型 38
3.3.1 枚举类型 39
3.3.2 数组类型 39
3.3.3 记录类型 40
3.3.4 寻址类型 41
3.3.5 文件类型 41
3.4 数据类型的转换 42
3.5 小结 44
习题 44
第4章 VHDL语言数据对象及运算操作符 45
4.1 数据对象及其分类 45
4.1.1 常量 45
4.1.2 信号 46
4.1.3 变量 47
4.1.4 文件 49
4.2 运算操作符 51
4.2.1 逻辑运算符 51
4.2.2 算术运算符 52
4.2.3 关系运算符 52
4.2.4 移位操作符 53
4.2.5 并置运算符 54
4.3 小结 55
习题 55
第5章 VHDL语言主要描述语句 57
5.1 概述 57
5.2 并发描述语句 57
5.2.1 进程语句 58
5.2.2 信号代入语句 59
5.2.3 元件例化语句 64
5.2.4 过程调用语句 69
5.2.5 类属语句 71
5.2.6 生成语句 72
5.2.7 并行仿真语句 75
5.2.8 块语句 77
5.3 顺序描述语句 78
5.3.1 进程语句 79
5.3.2 赋值语句 79
5.3.3 条件判断语句 81
5.3.4 CASE语句 83
5.3.5 调用语句 87
5.3.6 循环语句 90
5.3.7 仿真描述语句 94
5.3.8 空语句 98
5.4 小结 99
习题 99
第6章 VHDL语言属性 100
6.1 概述 100
6.2 数值类属性 100
6.2.1 常规数据类型的数值属性 101
6.2.2 数组类型的数值属性 101
6.2.3 块的数值属性 102
6.3 函数类属性 103
6.3.1 函数数据类型属性 103
6.3.2 函数数组属性 105
6.3.3 函数信号属性 106
6.3.4 信号类属性 110
6.4 数据类型属性 113
6.5 数据区间类属性 113
6.6 用户自定义属性 114
6.7 小结 115
习题 115
第7章 VHDL语言构造体的描述方式 117
7.1 概述 117
7.2 行为描述方式 117
7.2.1 行为描述方式的概念和特点 117
7.2.2 行为描述方式举例 117
7.3 结构化描述方式 119
7.3.1 结构化描述方式的概念和特点 119
7.3.2 结构化描述举例 119
7.4 数据流描述方式 123
7.4.1 数据流描述方式的概念和特点 123
7.4.2 数据流描述方式举例 124
7.5 混合描述方式 125
7.5.1 混合描述方式的概念和特点 125
7.5.2 混合描述方式举例 126
7.6 数据流描述中应注意的问题 126
7.6.1 非法状态传递问题 126
7.6.2 进程中时钟沿的使用问题 128
7.6.3 综合电路问题 128
7.7 小结 132
习题 132
第8章 数字逻辑电路设计 133
8.1 概述 133
8.2 组合逻辑电路设计 133
8.2.1 选择器和分配器 133
8.2.2 编码器和译码器 138
8.2.3 数字比较器 144
8.2.4 加法器 146
8.2.5 三态门及总线缓冲器 148
8.2.6 奇偶校验器 152
8.3 时序逻辑电路设计 153
8.3.1 触发器 153
8.3.2 寄存器的设计 159
8.3.3 计数器 162
8.4 小结 168
习题 168
第9章 状态机设计 169
9.1 概述 169
9.2 状态机的特点 170
9.3 状态机的组成 170
9.4 状态机的描述风格 174
9.5 状态机的状态编码 175
9.5.1 直接输出型编码 175
9.5.2 顺序编码 176
9.5.3 格雷码编码 176
9.5.4 独热码编码 177
9.6 状态机剩余状态处理 178
9.7 有限状态机的复位 179
9.8 小结 183
习题 183
第10章 MODELSIM仿真与测试平台的搭建 184
10.1 引言 184
10.2 ModelSim仿真软件 184
10.2.1 ModelSim简介 184
10.2.2 ModelSim软件的安装及破解 184
10.2.3 软件仿真步骤 188
10.3 测试及验证平台 192
10.3.1 仿真软件编辑输入 193
10.3.2 仿真输入波形的产生 193
10.3.3 测试平台的搭建 198
10.4 小结 201
习题 201
第11章 QUARTUS II集成开发环境 202
11.1 概述 202
11.2 Quartus II软件开发流程 203
11.2.1 新建工程设计流程 204
11.2.2 设计输入流程 207
11.2.3 编译及综合流程 217
11.2.4 仿真验证 220
11.2.5 硬件下载与验证 224
11.3 Quartus II软件其他常用功能应用 227
11.3.1 嵌入式逻辑分析仪 227
11.3.2 信号探针 230
11.3.3 功耗分析工具 231
11.3.4 存储器内容编辑 233
11.3.5 逻辑分析仪接口编辑器 235
11.4 小结 236
习题 236
第12章 FPGA器件及其开发平台 237
12.1 FPGA工作原理 237
12.2 Altera FPGA芯片 237
12.2.1 Altera PLD芯片的分类 237
12.2.2 Altera PLD的命名 237
12.2.3 Cylone系列FPGA的功能和结构 238
12.3 FPGA与CPLD的比较 245
12.3.1 FPGA与CPLD的相同点 245
12.3.2 CPLD和FPGA的区别 245
12.4 FPGA开发流程 246
12.5 FPGA开发平台:最小系统设计 247
12.5.1 FPGA芯片有关引脚 247
12.5.2 PROM芯片型号及电路连接 248
12.5.3 全局时钟发生电路 249
12.5.4 JTAG下载电路 250
12.5.5 电源电路设计 250
12.5.6 其他IO接口电路 251
12.6 小结 252
习题 252
第13章 FPGA典型应用设计 253
13.1 IP知识产权模块 253
13.1.1 IP模块的概念 253
13.1.2 IP模块的分类 253
13.1.3 IP模块的复用 254
13.2 分频器的设计验证 255
13.2.1 奇偶数分频器通用IP核的设计 255
13.2.2 占空比可调的分频器的设计 258
13.3 交通灯控制器的设计 260
13.3.1 设计要求 260
13.3.2 设计原理 260
13.3.3 VHDL语句描述 261
13.3.4 元件符号及端口说明 262
13.3.5 仿真验证 263
13.4 串口异步收发控制器的设计 263
13.4.1 UART数据帧格式 264
13.4.2 UART的实现 264
13.5 I2C总线通信控制器的设计 274
13.5.1 I2C总线简介 274
13.5.2 I2C总线帧格式 274
13.5.3 I2C总线顶层模块设计 275
13.5.4 I2C时钟模块的设计 275
13.5.5 I2C写数据模块设计 276
13.6 并行ADC0809控制模块设计 279
13.6.1 设计原理 279
13.6.2 状态机设计 279
13.6.3 VHDL语言描述 280
13.6.4 测试平台的设计 281
13.6.5 仿真结果 282
13.7 串行DAC TLC5615控制模块设计 282
13.7.1 设计原理 283
13.7.2 设计状态图 283
13.7.3 VHDL源程序 283
13.7.4 元件符号及端口说明 285
13.7.5 仿真验证 285
13.8 正弦信号发生器的设计 285
13.8.1 正弦信号发生器工作原理 285
13.8.2 定制初始化数据文件 286
13.8.3 定制LPM_ROM元件 286
13.9 小结 289
习题 289
主要参考文献 291
1.1 电路系统 1
1.1.1 电路系统的分类 1
1.1.2 模拟电路系统及其特点 1
1.1.3 数字电路系统及其特点 2
1.2 VHDL语言的产生背景、功能及特点 2
1.2.1 EDA概念 2
1.2.2 EDA技术发展阶段 2
1.2.3 EDA技术的研究内容 4
1.2.4 HDL语言的概念及分类 5
1.2.5 VHDL语言的发展及特点 6
1.3 PLD与FPGA 7
1.3.1 简单低密度器件(SPLD) 8
1.3.2 CPLD 9
1.3.3 FPGA 12
1.3.4 器件供应商及第三方软件介绍 13
习题 16
第2章 VHDL程序框架及组成 17
2.1 概述 17
2.2 语法规则及命名 17
2.2.1 书写规定 17
2.2.2 标识符 18
2.2.3 扩展标识符 18
2.2.4 保留字及专用字 19
2.3 VHDL基本架构 19
2.3.1 设计库 20
2.3.2 包集合 22
2.3.3 实体 24
2.3.4 构造体 26
2.3.5 配置 28
3.配置的格式 28
2.4 小结 31
习题 31
第3章 VHDL语言数据类型 32
3.1 数据类型概述 32
3.2 标准预定义数据类型 32
3.2.1 可综合数据类型 33
3.2.1 不可综合数据类型 36
3.3 用户自定义数据类型 38
3.3.1 枚举类型 39
3.3.2 数组类型 39
3.3.3 记录类型 40
3.3.4 寻址类型 41
3.3.5 文件类型 41
3.4 数据类型的转换 42
3.5 小结 44
习题 44
第4章 VHDL语言数据对象及运算操作符 45
4.1 数据对象及其分类 45
4.1.1 常量 45
4.1.2 信号 46
4.1.3 变量 47
4.1.4 文件 49
4.2 运算操作符 51
4.2.1 逻辑运算符 51
4.2.2 算术运算符 52
4.2.3 关系运算符 52
4.2.4 移位操作符 53
4.2.5 并置运算符 54
4.3 小结 55
习题 55
第5章 VHDL语言主要描述语句 57
5.1 概述 57
5.2 并发描述语句 57
5.2.1 进程语句 58
5.2.2 信号代入语句 59
5.2.3 元件例化语句 64
5.2.4 过程调用语句 69
5.2.5 类属语句 71
5.2.6 生成语句 72
5.2.7 并行仿真语句 75
5.2.8 块语句 77
5.3 顺序描述语句 78
5.3.1 进程语句 79
5.3.2 赋值语句 79
5.3.3 条件判断语句 81
5.3.4 CASE语句 83
5.3.5 调用语句 87
5.3.6 循环语句 90
5.3.7 仿真描述语句 94
5.3.8 空语句 98
5.4 小结 99
习题 99
第6章 VHDL语言属性 100
6.1 概述 100
6.2 数值类属性 100
6.2.1 常规数据类型的数值属性 101
6.2.2 数组类型的数值属性 101
6.2.3 块的数值属性 102
6.3 函数类属性 103
6.3.1 函数数据类型属性 103
6.3.2 函数数组属性 105
6.3.3 函数信号属性 106
6.3.4 信号类属性 110
6.4 数据类型属性 113
6.5 数据区间类属性 113
6.6 用户自定义属性 114
6.7 小结 115
习题 115
第7章 VHDL语言构造体的描述方式 117
7.1 概述 117
7.2 行为描述方式 117
7.2.1 行为描述方式的概念和特点 117
7.2.2 行为描述方式举例 117
7.3 结构化描述方式 119
7.3.1 结构化描述方式的概念和特点 119
7.3.2 结构化描述举例 119
7.4 数据流描述方式 123
7.4.1 数据流描述方式的概念和特点 123
7.4.2 数据流描述方式举例 124
7.5 混合描述方式 125
7.5.1 混合描述方式的概念和特点 125
7.5.2 混合描述方式举例 126
7.6 数据流描述中应注意的问题 126
7.6.1 非法状态传递问题 126
7.6.2 进程中时钟沿的使用问题 128
7.6.3 综合电路问题 128
7.7 小结 132
习题 132
第8章 数字逻辑电路设计 133
8.1 概述 133
8.2 组合逻辑电路设计 133
8.2.1 选择器和分配器 133
8.2.2 编码器和译码器 138
8.2.3 数字比较器 144
8.2.4 加法器 146
8.2.5 三态门及总线缓冲器 148
8.2.6 奇偶校验器 152
8.3 时序逻辑电路设计 153
8.3.1 触发器 153
8.3.2 寄存器的设计 159
8.3.3 计数器 162
8.4 小结 168
习题 168
第9章 状态机设计 169
9.1 概述 169
9.2 状态机的特点 170
9.3 状态机的组成 170
9.4 状态机的描述风格 174
9.5 状态机的状态编码 175
9.5.1 直接输出型编码 175
9.5.2 顺序编码 176
9.5.3 格雷码编码 176
9.5.4 独热码编码 177
9.6 状态机剩余状态处理 178
9.7 有限状态机的复位 179
9.8 小结 183
习题 183
第10章 MODELSIM仿真与测试平台的搭建 184
10.1 引言 184
10.2 ModelSim仿真软件 184
10.2.1 ModelSim简介 184
10.2.2 ModelSim软件的安装及破解 184
10.2.3 软件仿真步骤 188
10.3 测试及验证平台 192
10.3.1 仿真软件编辑输入 193
10.3.2 仿真输入波形的产生 193
10.3.3 测试平台的搭建 198
10.4 小结 201
习题 201
第11章 QUARTUS II集成开发环境 202
11.1 概述 202
11.2 Quartus II软件开发流程 203
11.2.1 新建工程设计流程 204
11.2.2 设计输入流程 207
11.2.3 编译及综合流程 217
11.2.4 仿真验证 220
11.2.5 硬件下载与验证 224
11.3 Quartus II软件其他常用功能应用 227
11.3.1 嵌入式逻辑分析仪 227
11.3.2 信号探针 230
11.3.3 功耗分析工具 231
11.3.4 存储器内容编辑 233
11.3.5 逻辑分析仪接口编辑器 235
11.4 小结 236
习题 236
第12章 FPGA器件及其开发平台 237
12.1 FPGA工作原理 237
12.2 Altera FPGA芯片 237
12.2.1 Altera PLD芯片的分类 237
12.2.2 Altera PLD的命名 237
12.2.3 Cylone系列FPGA的功能和结构 238
12.3 FPGA与CPLD的比较 245
12.3.1 FPGA与CPLD的相同点 245
12.3.2 CPLD和FPGA的区别 245
12.4 FPGA开发流程 246
12.5 FPGA开发平台:最小系统设计 247
12.5.1 FPGA芯片有关引脚 247
12.5.2 PROM芯片型号及电路连接 248
12.5.3 全局时钟发生电路 249
12.5.4 JTAG下载电路 250
12.5.5 电源电路设计 250
12.5.6 其他IO接口电路 251
12.6 小结 252
习题 252
第13章 FPGA典型应用设计 253
13.1 IP知识产权模块 253
13.1.1 IP模块的概念 253
13.1.2 IP模块的分类 253
13.1.3 IP模块的复用 254
13.2 分频器的设计验证 255
13.2.1 奇偶数分频器通用IP核的设计 255
13.2.2 占空比可调的分频器的设计 258
13.3 交通灯控制器的设计 260
13.3.1 设计要求 260
13.3.2 设计原理 260
13.3.3 VHDL语句描述 261
13.3.4 元件符号及端口说明 262
13.3.5 仿真验证 263
13.4 串口异步收发控制器的设计 263
13.4.1 UART数据帧格式 264
13.4.2 UART的实现 264
13.5 I2C总线通信控制器的设计 274
13.5.1 I2C总线简介 274
13.5.2 I2C总线帧格式 274
13.5.3 I2C总线顶层模块设计 275
13.5.4 I2C时钟模块的设计 275
13.5.5 I2C写数据模块设计 276
13.6 并行ADC0809控制模块设计 279
13.6.1 设计原理 279
13.6.2 状态机设计 279
13.6.3 VHDL语言描述 280
13.6.4 测试平台的设计 281
13.6.5 仿真结果 282
13.7 串行DAC TLC5615控制模块设计 282
13.7.1 设计原理 283
13.7.2 设计状态图 283
13.7.3 VHDL源程序 283
13.7.4 元件符号及端口说明 285
13.7.5 仿真验证 285
13.8 正弦信号发生器的设计 285
13.8.1 正弦信号发生器工作原理 285
13.8.2 定制初始化数据文件 286
13.8.3 定制LPM_ROM元件 286
13.9 小结 289
习题 289
主要参考文献 291
猜您喜欢