搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
FPGA设计实战
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787115208101
  • 作      者:
    (英)Peter Wilson著
  • 出 版 社 :
    人民邮电出版社
  • 出版日期:
    2009
收藏
编辑推荐
  对于电路设计工程师和高校电气工程专业的师生来说,阅读《FPGA设计实战》是快速入门并成为设计高手的一条捷径。
  FPGA技术成本低、使用灵活,已经成为应用广泛的电路设计解决方案,应用范围遍及消费电子、汽车电子、通信和工业控制等领域。
  《FPGA设计实战》是一部实例丰富的实战宝典,涵盖了电路设计的完整流程,从FPGA基础知识入手,不但介绍了“FPGA做什么”,更详细解读了“用FPGA怎么做”。作者首先简洁而全面地概述了FPGA9口标准设计流程的基础知识,然后详细阐述了两个典型的综合实例——高速视频监视系统和嵌入式处理器,并且给出了具体的代码框架,为设计者点明实际应用中的关键点和设计精髓。接下来,《FPGA设计实战》针对电路设计中几个最常见的关键任务,如串行通信、数字滤波器、安全系统、存储器建模等,给出了可以直接应用于实际项目的代码示例。书的最后介绍了综合和行为建模等设计后期的优化。
展开
作者简介
  Peter Wilson,博士,著名电子设计技术专家。IEEE1076.1.1标准(VHDLAMS的多能量域支持用组件)副主席,IEEE行为建模与仿真工作组技术项目组长。现任教于英国南安普敦大学,同时担任美国阿肯色大学客座教授。其主要研究领域为建模与仿真,先后发表过百余篇颇有影响的技术论文。
展开
内容介绍
  《FPGA设计实战》是为FPGA工程师量身定制的设计参考指南,不仅介绍了FPGA基本概念,还介绍了设计逻辑和技巧,使读者能够开发出实际高效的代码。《FPGA设计实战》适用于电子工程师阅读,也可作为高等院校相关专业师生的参考指南。
展开
精彩书摘
  设计人员在进行定制化电子设计时,对于硬件平台其实有很多种选择,例如嵌入式处理器、专用集成电路(ASIC)、可编程微处理器(PIC)、现场可编程门阵列(FPGA)以及可编程逻辑器件(PLD)。最终选择哪种技术应该主要取决于设计需求,而不是个人对于某种技术的偏好。
  例如,如果某个设计需要一种可编程器件,以便于设计的多次变更,同时算法中又包含了一些乘法和循环这样的复杂操作,那么选择某种专门的信号处理设备(女IIDSP)就更有意义,因为可以很容易地用c或者其他高级语言进行编程。如果速度要求不是特别严格,而且需要一个小而便宜的硬件平台,那么通用微处理器(如PIC)将是理想的选择。最后,如果要求硬件具有较高的性能,例如工作在数百兆赫兹,那么FPGA将是恰当的选择,因为FPGA不但有较高的性能,同时又具备可编程逻辑的灵活性和可重用性。
  另外一个要考虑的因素是硬件设计中的优化等级。例如,用C语言编写一个简单的程序,然后对PIc进行编程,其性能可能很有限,因为处理器无法对关键函数进行并行操作。而这在FPGA中却可以用并行化和流水线方式很容易地实现,其处理能力要比PIC高得多。
  选择硬件平台的一般原则是:先确定设计需求和硬件选项,然后在考虑这些的基础之上选择一个合适的平台。
  例如,如果设计需要一个能达到100MHz的时钟,那么FPGA是不错的选择。如果时钟速率仅有3~4MHz,选择FPGA显然会使成本过高。
  如果设计中需要一个灵活的处理器,尽管今天的.FPGA已经支持嵌入式处理器,但是用DSP或者PIC却显得更可取。如果设计中需要专门的硬件功能,很明显FPGA是一个合适的选择。
  如果设计中需要如乘法和加法等特殊的硬件功能,那么DSP可能是最好的选择,但是如果进行定制化硬件设计,FPGA更加适合。
  如果设计需要一些简单而且非常小的硬件模块,PLD或者CPLD(复杂可编程逻辑器件)可能是最好的(简单而小巧的可编程逻辑)。不过如果设计中有乘法操作,或者有复杂的控制器和特殊的硬件功能,FPGA则是最合适的。
  做出这种决定还与相关硬件的复杂度有关。例如,VGA控制器或许需要一个FPGA而不是PLD器件,主要是由于硬件的复杂度。另一个有关的因素是灵活性和可编程性。如果使用了FPGA,并且其中的资源没有被用完(如使用了60%),那么若通信协议改变了,或者更新了,FPGA在将来还有足够的空间支持多次的变更或升级。
  通过这些简单的指导,就可以对最好的平台做出明智的选择,而且基于这些假设可以选择好具体的器件。大多数综合软件包都有一个好处,那就是让用户在最终选定硬件前可以测试多种设计平台的性能和利用率(如PLD和FPGA等)。
展开
目录
第1章 绪论 2
第2章 FPGA基础知识 3
2.1 引言 3
2.2 FPGA的发展 3
2.3 可编程逻辑器件 3
2.4 现场可编程门阵列 6
2.5 FPGA设计技术 7
2.6 FPGA的设计约束 7
2.7 小结 8

第3章 VHDL基础 9
3.1 引言 9
3.2 实体:模型接口 10
3.2.1 实体定义 10
3.2.2 端口 10
3.2.3 通用属性语句 10
3.2.4 常数 11
3.2.5 实体举例 11
3.3 构造体:模型的行为 11
3.3.1 构造体的基本定义 11
3.3.2 构造体声明 12
3.3.3 构造体语句 12
3.4 进程:VHDL中的基本功能单元 12
3.5 基本的变量类型和操作符 13
3.5.1 常数 13
3.5.2 信号 13
3.5.3 变量 14
3.5.4 布尔操作符 14
3.5.5 算术操作符 14
3.5.6 比较操作符 15
3.5.7 移位函数 15
3.5.8 拼接 15
3.6 判断与循环 15
3.6.1 if-then-else语句 15
3.6.2 case语句 16
3.6.3 for语句 17
3.6.4 While循环 17
3.6.5 exit语句 17
3.6.6 next语句 17
3.7 层次化设计 18
3.7.1 函数 18
3.7.2 包 18
3.7.3 元件 19
3.7.4 过程 20
3.8 调试模型 20
3.9 基本数据类型 20
3.9.1 基本类型 20
3.9.2 数据类型:bit 20
3.9.3 数据类型:boolean 21
3.9.4 数据类型:integer 21
3.9.5 数据类型:字符型 21
3.9.6 数据类型:实数 21
3.9.7 数据类型:时间 22
3.10 小结 22

第4章 设计自动化与FPGA测试 23
4.1 仿真 23
4.1.1 测试平台 23
4.1.2 测试平台的目标 23
4.1.3 简单的测试平台:实例化元件 23
4.1.4 增加测试激励 24
4.2 库 25
4.2.1 引言 25
4.2.2 库的使用 26
4.2.3 标准逻辑库 26
4.2.4 std_logic类型定义 27
4.3 综合 28
4.3.1 综合设计流程 28
4.3.2 综合相关事项 28
4.3.3 RTL设计流程 29
4.4 物理设计流程 29
4.5 布局布线 30
4.6 时序分析 30
4.7 设计缺陷 30
4.8 FPGA设计中的VHDL问题 31
4.8.1 初始化 31
4.8.2 浮点数及其操作 31
4.9 小结 31

第二部分 应用

第5章图像与高速处理 34
5.1 引言 34
5.2 摄像头接口 35
5.2.1 硬件接口 35
5.2.2 数据率 35
5.2.3 拜尔模式 35
5.2.4 存储器需求 35
5.3 开始 37
5.4 确定接口 38
5.5 定义顶层设计 38
5.6 系统模块定义与接口 38
5.6.1 系统分解 38
5.6.2 鼠标和键盘接口 39
5.6.3 存储器接口 39
5.6.4 显示接口:VGA 39
5.7 摄像头连接接口 40
5.8 PC接口 40
5.9 小结 41

第6章 嵌入式处理器 42
6.1 引言 42
6.2 一个简单的嵌入式处理器 42
6.2.1 嵌入式处理器架构 42
6.2.2 基本指令 43
6.2.3 取指执行周期 44
6.2.4 嵌入式处理器的寄存器分配 45
6.2.5 一个基本的指令集 45
6.2.6 结构级还是行为级 46
6.2.7 机器码指令集 47
6.2.8 微处理器的结构单元 47
6.2.9 处理器函数包 48
6.2.10 程序计数器 49
6.2.11 指令寄存器 50
6.2.12 算术和逻辑单元 51
6.2.13 存储器 52
6.2.14 微控制器 54
6.2.15 简单微处理器总结 58
6.3 FPGA中的软核处理器 58
6.4 小结 58

第三部分 设计工具箱

第7章 串行通信 60
7.1 引言 60
7.2 曼彻斯特编解码 60
7.3 不归零编解码 63
7.4 不归零反转编解码 63
7.5 RS-232 65
7.5.1 引言 65
7.5.2 RS-232波特率产生器 65
7.5.3 RS-232接收器 66
7.6 通用串行总线 69
7.7 小结 71

第8章 数字滤波器 72
8.1 引言 72
8.2 S域到Z域的变换 72
8.3 用VHDL实现Z域的函数 74
8.3.1 引言 74
8.3.2 增益模块 74
8.3.3 和与差 75
8.3.4 除法模型 76
8.3.5 单位延迟模型 77
8.4 基本低通滤波器模型 78
8.5 FIR滤波器 81
8.6 IIR滤波器 82
8.7 小结 82

第9章 安全系统 83
9.1 块加密简介 83
9.2 费斯特尔格子的结构 83
9.3 数据加密标准 85
9.3.1 引言 85
9.3.2 DES的VHDL实现 87
9.3.3 DES的验证 91
9.4 高级加密标准 92
9.5 小结 109

第10章 存储器 110
10.1 引言 110
10.2 用VHDL对存储器进行建模 110
10.3 只读存储器 111
10.4 随机存取存储器 112
10.5 SRAM 114
10.6 Flash存储器 115
10.7 小结 117

第11章PS/2鼠标接口 118
11.1 引言 118
11.2 PS/2鼠标基础 118
11.3 PS/2鼠标命令 118
11.4 PS/2鼠标数据包 118
11.5 PS/2操作模式 119
11.6 PS/2滚轮鼠标 119
11.7 基本PS/2鼠标处理模块VHDL代码.119
11.8 修改后的PS/2鼠标处理模块VHDL代码 120
11.9 小结 121

第12章 PS/2键盘接口 122
12.1 引言 122
12.2 PS/2键盘基础 122
12.3 PS/2键盘命令 122
12.4 PS/2键盘数据包 122
12.5 PS/2键盘操作模式 123
12.5.1 基本PS/2键盘处理模块VHDL代码 123
12.5.2 修改后的PS/2键盘处理模块VHDL代码 123
12.6 小结 125

第13章 一个简单的VGA接口 126
13.1 引言 126
13.2 基本像素时序 126
13.3 图像处理 126
13.4 VGA接口的VHDL实现 127
13.5 水平同步 128
13.6 垂直同步 129
13.7 水平和垂直消隐脉冲 130
13.8 计算正确的像素数据 131
13.9 小结 131

第四部分 优化设计

第14章 综合 134
14.1 引言 134
14.2 RTL综合支持的VHDL 134
14.2.1 初始条件 134
14.2.2 并发边沿 135
14.2.3 数字类型 135
14.2.4 wait语句 135
14.2.5 断言 136
14.2.6 循环 136
14.3 一些引起综合失败的情况 136
14.4 综合的内容 136
14.4.1 总体设计结构 136
14.4.2 控制器 137
14.4.3 数据路径 138
14.5 小结 139

第15章 VHDL行为建模 140
15.1 引言 140
15.2 怎样从RTL转向行为级 140
15.3 小结 143

第16章 设计优化 144
16.1 引言 144
16.2 逻辑优化技术 144
16.3 改善性能 145
16.4 关键路径分析 146
16.5 小结 147

第17章 VHDL-AMS 148
17.1 引言 148
17.2 VHDL-AMS简介 148
17.3 模拟引脚:TERMINAL 149
17.4 混合域建模 150
17.5 模拟变量:quantity 150
17.6 VHDL-AMS中的联立方程 151
17.7 一个VHDL-AMS的例子 151
17.7.1 直流电压源 151
17.7.2 电阻 152
17.8 VHDL-AMS中的微分方程 152
17.9 用VHDL-AMS进行混合信号建模.154
17.10 一个基本的开关模型 156
17.11 基本VHDL-AMS比较器模型 157
17.12 多领域建模 159
17.13 小结 160

第18章 设计优化举例:DES 161
18.1 引言 161
18.2 数据加密标准 161
18.3 MOODS 161
18.4 初始设计 161
18.4.1 简介 161
18.4.2 总体结构 162
18.4.3 数据转换 164
18.4.4 密钥转换 166
18.5 初始综合 167
18.6 优化数据路径 168
18.7 最终综合 170
18.8 结果 170
18.9 三重DES 171
18.9.1 引言 171
18.9.2 面积最小:迭代实现 171
18.9.3 延迟最小:流水线方式 173
18.10 方案比较 174
18.11 小结 175

第五部分 基本技术

第19章 计数器 178
19.1 引言 178
19.2 基本二进制计数器 178
19.3 综合简单的二进制计数器 180
19.4 移位寄存器 183
19.5 约翰逊计数器 184
19.6 BCD计数器 185
19.7 小结 186

第20章 锁存器、触发器和寄存器 187
20.1 引言 187
20.2 锁存器 187
20.3 触发器 188
20.4 寄存器 191
20.5 小结 192

第21章 串并转换与并串转换 193
21.1 串并转换 193
21.2 并串转换 194
21.3 小结 195

第22章 ALU功能 196
22.1 引言 196
22.2 逻辑功能 196
22.3 1位加法器 198
22.4 n位结构化加法器 200
22.5 n位可配置加法器 200
22.6 2的补码 201
22.7 小结 203

第23章 译码器与多路复用器 204
23.1 译码器 204
23.2 多路复用器 206
23.3 小结 208

第24章 VHDL中的有限状态机 209
24.1 引言 209
24.2 状态转移图 209
24.3 用VHDL实现有限状态机 210
24.4 小结 211

第25章 VHDL中的定点算法 212
25.1 引言 212
25.2 基本定点类型 213
25.3 定点函数 214
25.3.1 定点数向std_logic_vector的转换 214
25.3.2 定点数向实数的转换 215
25.4 测试定点数函数 216
25.5 小结 218

第26章 二进制乘法 219
26.1 引言 219
26.2 基本二进制乘法 219
26.3 VHDL无符号乘法器 220
26.4 乘法函数的综合 222
26.5 “简单的”乘法 223
26.6 小结 225

第27章 参考书目 226
27.1 引言 226
27.2 VHDL参考书 226
27.3 FPGA参考书 226
27.4 普通数字设计参考书 227
索引 228
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证