当前位置:首页 > 工业技术
硬件描述语言与FPGA设计技术
硬件描述语言与FPGA设计技术

硬件描述语言与FPGA设计技术PDF电子书下载

工业技术

  • 电子书积分:10 积分如何计算积分?
  • 作 者:肖闽进主编;赵泓扬,邹全副主编;董德存主审
  • 出 版 社:西安:西安电子科技大学出版社
  • 出版年份:2015
  • ISBN:9787560637440
  • 页数:219 页
图书介绍:本书内容包括EDA技术概述和可编程逻辑器件硬件基础;VHDL组合电路、时序电路设计;以计数器和移位器为导向,详细介绍QuartusⅡ文本输入和原理图输入方法;宏功能模块与IP应用;状态机的设计方法;分12个专题介绍FPGA设计的工程实践。
《硬件描述语言与FPGA设计技术》目录

第1章 EDA技术概述 1

1.1 硬件描述语言 1

1.2 EDA设计流程 2

1.2.1 设计输入 2

1.2.2 综合与适配 3

1.2.3 时序仿真与功能仿真 4

1.2.4 编程下载与器件测试 5

1.3 Quartus Ⅱ设计环境 5

1.4 EDA技术开发中的IP 6

习题与思考题 7

第2章 可编程逻辑器件硬件基础 8

2.1 可编程器件结构 8

2.2 可编程逻辑器件的分类 8

2.2.1 按集成度分类 9

2.2.2 按组成结构分类 9

2.2.3 按编程工艺分类 9

2.3 PLD电路表示 10

2.4 GAL器件结构原理 10

2.5 CPLD的结构原理 13

2.6 FPGA的结构原理 16

2.6.1 查找表逻辑结构 16

2.6.2 Cyclone Ⅲ系列器件的结构原理 17

2.7 CPLD/FPGA的编程与配置 21

2.7.1 CPLD在系统编程 22

2.7.2 FPGA配置方式 23

2.7.3 用JTAG进行FPGA的配置 23

2.7.4 FPGA专用配置器件 24

习题与思考题 25

第3章 VHDL组合电路设计 26

3.1 2选1多路选择器及其VHDL描述 26

3.2 IEEE库预定义标准逻辑位与矢量数据类型 29

3.3 设计库和标准程序包 30

3.4 ENTITY(实体)语句结构和语法含义 30

3.4.1 实体名 31

3.4.2 端口语句和端口信号名 31

3.4.3 端口模式 31

3.4.4 数据类型 31

3.5 ARCHITECTURE(结构体)语句结构和语法含义 32

3.5.1 赋值符号和数据比较符号 32

3.5.2 逻辑操作符 33

3.5.3 条件语句 33

3.5.4 进程语句和顺序语句 34

3.5.5 IF语句 37

3.6 8-3线优先编码器VHDL设计 38

3.7 文件保存与文件名 40

3.8 1位二进制全加器的VHDL描述 40

3.8.1 半加器的VHDL描述 40

3.8.2 CASE语句 41

3.8.3 并置操作符 42

3.8.4 全加器的VHDL描述 42

3.8.5 元件例化语句 43

3.9 硬件乘法器VHDL设计 44

3.9.1 变量 45

3.9.2 信号 46

3.9.3 进程中的信号与变量赋值特点 47

3.9.4 FOR_LOOP循环语句 48

3.10 参数传递说明语句 49

3.11 整数类型 49

3.12 VHDL操作符 50

3.12.1 移位操作符 51

3.12.2 省略赋值操作符 51

3.12.3 逻辑操作符 52

3.12.4 关系操作符 53

3.12.5 求和操作符 54

3.12.6 求积操作符 55

3.12.7 符号操作符 55

3.12.8 混合操作符 55

3.13 数据类型转换函数 55

3.14 参数传递映射语句 57

习题与思考题 58

第4章 VHDL时序电路设计 59

4.1 基本时序电路D触发器的VHDL描述 59

4.1.1 上升沿检测表达式和信号属性函数 60

4.1.2 不完整条件语句与时序电路 60

4.1.3 VHDL实现时序电路的其他表述方法 61

4.2 计数器的VHDL设计 63

4.2.1 十六进制加法计数器 63

4.2.2 十进制加法计数器 64

4.3 移位寄存器的VHDL设计 66

4.4 移位相加乘法器的VHDL设计 67

4.5 属性描述与定义语句 72

4.5.1 信号类属性 73

4.5.2 数据区间类属性 73

4.5.3 数值类属性 73

4.5.4 数组属性 74

4.5.5 用户定义属性 74

习题与思考题 75

第5章 FPGA开发环境Quartus Ⅱ应用基础 76

5.1 Quartus Ⅱ文本输入设计方法 76

5.1.1 建立工作库文件夹和编辑设计文件 76

5.1.2 创建工程 77

5.1.3 编译前设置 80

5.1.4 全程编译 81

5.1.5 时序仿真 83

5.1.6 寄存器传输级(RTL)电路图 88

5.2 器件引脚锁定与程序下载 89

5.2.1 引脚锁定 89

5.2.2 配置文件下载 91

5.3 JTAG间接模式编程配置器件 92

5.3.1 将SOF文件转化为JTAG间接配置文件 93

5.3.2 下载JTAG间接配置文件 94

5.3.3 USB Blaster编程配置器件使用方法 95

5.4 嵌入式逻辑分析仪使用方法 95

5.4.1 打开SignalTap Ⅱ编辑窗口 96

5.4.2 调入待测信号 96

5.4.3 SignalTap Ⅱ参数设置 97

5.4.4 文件存盘与综合适配 98

5.4.5 编译下载 99

5.4.6 启动SignalTap Ⅱ进行采样与分析 99

5.4.7 SignalTap Ⅱ的其他设置和控制方法 100

5.5 Quartus Ⅱ原理图输入设计方法 101

5.5.1 输入设计项目和文件保存 101

5.5.2 将设计项目设置成可调用的元件 102

5.5.3 设计全加器顶层文件 103

5.5.4 将设计项目设置成工程和时序仿真 103

习题与思考题 104

第6章 宏功能模块与IP应用 105

6.1 LPM存储器设计 105

6.1.1 ROM模块设计 105

6.1.2 RAM模块设计 111

6.1.3 FIFO(先进先出)存储器模块设计 113

6.2 DSP模块构建乘法器 114

6.3 正弦信号发生器设计 115

6.3.1 正弦信号发生器模块设计 115

6.3.2 使用嵌入式逻辑分析仪测试数据波形 116

6.4 在系统存储器数据读写编辑器应用 117

6.4.1 打开在系统存储单元编辑窗口 117

6.4.2 读取ROM中的波形数据 117

6.4.3 ROM写入数据 118

6.4.4 输入/输出数据文件 118

6.5 IP核NCO数控振荡器设计 119

6.5.1 选择IP核NCO并确定文件名 119

6.5.2 进入文件生成设置窗口 119

6.5.3 NCO参数设置 120

6.5.4 生成仿真文件 121

6.5.5 加入IP授权文件 121

6.5.6 编译与功能检测 122

6.6 LPM嵌入式锁相环设计 122

6.6.1 建立嵌入式锁相环元件 122

6.6.2 锁相环仿真测试和硬件特性 124

6.7 8051单片机IP软核应用 125

6.8 LPM模块的文本调用 129

6.8.1 在Quartus Ⅱ中对宏功能模块进行例化 129

6.8.2 LPM模块的VHDL文本方式调用 129

习题与思考题 132

第7章 状态机设计 133

7.1 数字系统中的状态机应用特性 133

7.2 有限状态机的设计 134

7.2.1 数据类型定义语句 134

7.2.2 有限状态机的设计 136

7.3 状态机的编码方式 144

7.3.1 状态位直接输出型编码 144

7.3.2 顺序编码 146

7.3.3 一位热码编码 146

7.3.4 剩余状态处理 146

习题与思考题 147

第8章 FPGA设计工程实践 149

8.1 LED数码管显示控制 149

8.1.1 LED数码管的工作原理 149

8.1.2 采用FPGA实现LED数据管静态显示控制 149

8.1.3 采用FPGA实现LED数码管动态显示控制 150

8.1.4 LED显示程序设计与仿真测试 150

8.2 液晶显示器(LCD)控制 152

8.2.1 LCD显示的原理 152

8.2.2 MDLS字符型液晶显示模块FPGA驱动控制电路 154

8.2.3 液晶显示器驱动模块的VHDL控制程序 154

8.3 TLC5510采样控制设计 156

8.3.1 TLC5510与FPGA接口电路原理 156

8.3.2 TLC5510 VHDL采样控制程序设计 157

8.4 TLC7524数/模转换控制设计 158

8.4.1 TLC7524接口电路原理 158

8.4.2 TLC7524数/模转换控制程序设计 159

8.5 2FSK调制与解调设计 161

8.5.1 2FSK信号调制原理和VHDL模块设计 161

8.5.2 2FSK信号解调原理和VHDL模块设计 165

8.6 4PSK调制与解调设计 168

8.6.1 4PSK信号调制原理和VHDL模块设计 168

8.6.2 4PSK信号解调原理和VHDL模块设计 172

8.7 交织编码器设计 175

8.7.1 交织编码原理 175

8.7.2 交织编码FPGA模块设计与仿真测试 176

8.8 数字音乐播放控制器设计 180

8.8.1 数字音乐播放控制原理 180

8.8.2 数字音乐播放控制器VHDL模块设计 180

8.9 步进电机驱动控制设计 185

8.9.1 步进电机驱动原理 185

8.9.2 步进电机步距八细分系统设计 187

8.9.3 细分驱动的VHDL程序和仿真测试 189

8.10 直流电机控制设计 192

8.10.1 直流电机转速PWM控制原理 192

8.10.2 直流电机PWM驱动的VHDL模块设计和仿真测试 193

8.11 数字频率计设计 195

8.11.1 频率计原理和VHDL模块设计 195

8.11.2 频率计VHDL程序及仿真测试 195

8.12 LED显示时钟设计 199

8.12.1 数字显示时钟实现原理 199

8.12.2 LED时钟的VHDL程序和仿真测试 200

8.13 VHDL工程设计风格与优化 205

8.13.1 描述方法与编码风格 205

8.13.2 不同的状态机描述 208

8.13.3 层次化设计方法 211

8.13.4 相似逻辑设计在一个层次 211

8.13.5 使用寄存器作为模块的分界线 212

8.13.6 优化设计方法 212

参考文献 219

返回顶部