发表于2024-12-20
本书涵盖“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
前 言
随着微电子技术和电子设计自动化(Electronic Design Automation,EDA)的快速发展,现场可编程门阵列(Field Programmable Gate Array,FPGA)正朝着全新一代片上可编程FPGA器件(System on Chip FPGA,SoC FPGA)的方向发展。和传统的FPGA相比,SoC FPGA不仅继承了传统FPGA器件的功能,而且在性能和容量上有了很大的提升,在器件功能方面也取得了很大的扩展。SoC FPGA已经从最初的单一逻辑运算角色演变为面向不同应用领域的可优化高速处理平台,即将核心硬件和各类软件平台融合在一起,提供了一种单芯片系统解决方案。硬件描述语言(Hardware Description Language,HDL)作为一种形式化的描述语言,在FPGA的发展过程中起到了举足轻重的作用。从诞生到现在,硬件描述语言已经从早期的只能完成单一数字电路描述功能的角色演变为具有大规模、复杂系统行为的描述能力,并可以借助EDA软件平台,自上而下地逐层完成相应电路的描述、仿真、优化和综合,直到生成器件。VHDL语言作为最早出现的硬件描述语言,与其他硬件描述语言相比,具有层次化的设计结构,更强的行为描述能力,丰富的仿真语句和库函数。VHDL语言的行为描述能力和程序结构决定了VHDL语言更适合一些大型复杂系统的早期验证功能的可行性,具备对系统进行仿真模拟的可能性,符合市场化的设计系统高效的特点。VHDL语言现已成为国际标准语言,也被绝大多数的EDA软件和半导体器件厂商所接受,掌握VHDL语言正日益成为我国高校大学生和工程技术人员的必备技能。目前,在很多高校的电子相关专业开设了FPGA和硬件描述语言两方面的课程,内容和侧重点有所相同。
本书以“淡化理论,够用为度”的原则,在理论学习方面,注重基本概念、基本方法及常用设计方法的学习,淡化语法结构复杂、使用频次少的语句。本书力求通俗易懂,精练实用。在设计验证方面,本书精心选取了大量通用性广、工程实践性强的设计实例,通过仿真验证,强化设计理论和设计方法。为了巩固读者的学习效果,每章都配有一定数量的习题。
本书是编著者依据多年的教学和科研经验,参考大量的国内外优秀教材编写而成的,书中配有丰富的设计实例,并且全部经过仿真验证。全书共13章,除绪论外可分为两大部分:第2~7章为第一部分,详细介绍VHDL硬件描述语言;第8~13章为第二部分,详细介绍基于VHDL的数字电路设计及验证方法。
第1章是绪论,内容包括电路系统的概念、分类及特点,VHDL语言产生的背景、功能及特点,可编程器件的基本概念及特点。
第2章是VHDL语言的程序框架及组成,介绍VHDL语言的语法规则和命名,以及程序框架和组成。
第3章是VHDL语言的数据类型,介绍标准的预定义数据类型、用户自定义数据类型和数据类型转换函数。
第4章是VHDL语言数据对象及运算操作符,介绍数据对象的概念、分类和特点,以及运算操作符的分类。
第5章是VHDL语言的主要描述语句,介绍并发描述语句和顺序描述语句。
第6章是VHDL语言的属性,介绍VHDL语言预定义的数值类属性、函数类属性、数据类型类属性、数据区间属性和用户自定义属性。
第7章是VHDL语言构造体的描述方式,介绍行为描述方式、结构化描述方式、数据流描述方式和混合描述方式。
第8章是数字逻辑电路设计,介绍简单组合逻辑电路和时序逻辑电路的设计。
第9章是状态机设计,介绍状态机的组成、描述风格、状态编码、状态机剩余状态处理方法及状态机的复位方法。
第10章是ModelSim仿真与测试平台的搭建,介绍ModelSim软件的使用方法,测试激励文件的产生方法和测试平台的搭建步骤。
第11章是Quartus II集成开发环境,介绍Quartus II 集成开发软件的主要功能、开发流程和一些辅助功能。
第12章是FPGA器件及开发平台,介绍Altera公司FPGA芯片的分类、命名和结构特点,以及FPGA最小系统和各部分的电路组成。
第13章是FPGA典型应用设计,介绍IP核的概念,若干典型应用实例的设计及验证方法。
“VHDL及数字电路验证”是微电子科学与工程专业的必修课,是通信工程、测控技术、电子工程等相关电子类专业的选修课,属于一门理论和实践并重的课程。该课程旨在培养学生在集成电路设计方面的前端设计验证能力,是非常注重工程实践的一门课程。
本课程的先修课程是“数字电子技术基础”和“数字逻辑电路设计”。本课程的参考课时为64~72学时,实践训练为10~20学时,使用者可根据实际情况对内容进行取舍。
本书第1章由刘树林编写,第6、7、8、10、11、13章由刘宁庄编写,第2、3、4章由王媛媛编写,第5章由杨波编写,第9章由高瑜编写,第12章由伍凤娟编写。本书电子教学课件(PPT文档)可从华信教育资源网(www.hxedu.com.cn)注册后免费下载,或者通过与本书责任编辑(zhangls@phei.com.cn)联系获取。
本书由西安邮电大学电子工程学院副院长杜慧敏教授负责审定。在本书编写过程中,西安邮电学院刘有耀副教授和江南大学物联网工程学院的柴志雷博士提出了宝贵的意见,在此表示衷心的感谢。
在本书的编写过程中,参考了大量的国内外教材和论文,在此向这些文献的作者表示衷心的感谢。
由于编著者水平有限,加之时间仓促,书中难免存在不当之处,敬请广大读者和同行批评指正。
编著者
2016年10月
VHDL及数字电路验证 [VHDL and Digital Circuit Verification] 下载 mobi pdf epub txt 电子书 格式 2024
VHDL及数字电路验证 [VHDL and Digital Circuit Verification] 下载 mobi epub pdf 电子书VHDL及数字电路验证 [VHDL and Digital Circuit Verification] mobi epub pdf txt 电子书 格式下载 2024