微信扫一扫,移动浏览光盘
简介
《fpga权威指南》是目前最实用的fpga 类图书的精华集粹,全书共12 章,内容涵盖fpga 设计基础知识以及fpga 设计全流程。本书重点突出,实用性强,所列实例均经过验证。
《fpga权威指南》适合电子工程师阅读,也可作为高等院校相关专业师生的参考指南。
目录
《fpga权威指南》
第1 章 fpga 结构比较 1
1.1 一点提醒 1
1.2 一些背景信息 2
1.3 反熔丝、sram与其他 3
1.3.1 基于sram的器件 3
1.3.2 基于sram器件的安全问题和解决方案 3
1.3.3 基于反熔丝的器件 4
1.3.4 基于eprom的器件 5
1.3.5 基于e2prom/flash的器件 5
1.3.6 flash-sram混合器件 6
1.3.7 小结 6
1.4 细粒度、中等粒度和粗粒度体系结构 6
1.5 基于mux与基于lut的逻辑块 8
1.5.1 基于mux的体系结构 8
1.5.2 基于lut的体系结构 8
1.5.3 基于mux还是基于lut 10
1.5.4 3、4、5或6输入lut 10
1.5.5 lut、分布式ram与移位寄存器 10
1.6 clb、lab与slice 11
.1.6.1 xilinx逻辑单元 12
1.6.2 altera逻辑部件 12
1.6.3 slicing和dicing 12
1.6.4 clb和lab 13
1.6.5 分布式ram和移位寄存器 14
1.7 快速进位链 14
1.8 嵌入式ram 15
1.9 嵌入式乘法器、加法器和mac等 15
1.10 嵌入式处理器核(硬核与软核) 16
1.10.1 微处理器硬核 17
1.10.2 微处理器软核 18
1.11 时钟树和时间管理器 19
1.11.1 时钟树 19
1.11.2 时钟管理器 19
1.12 通用i/o 22
1.12.1 可配置i/o标准 22
1.12.2 可配置i/o阻抗 23
1.12.3 核电压与i/o电压 23
1.13 吉比特收发器 24
1.14 ip硬核、ip软核与ip固核 25
1.15 系统门与实际门 25
1.16 fpga年龄 27
第2 章 设计技巧、原则与指导 28
2.1 硬件描述语言 29
2.2 自顶向下设计 37
2.2.1 使用hdl 38
2.2.2 书面设计规范 38
2.2.3 分配资源 38
2.2.4 设计划分 38
2.2.5 设计灵活性与优化 38
2.2.6 可重用性 38
2.2.7 布局规划 39
2.2.8 验证 39
2.2.9 了解体系结构 39
2.3 同步设计 40
2.3.1 同步设计五原则 40
2.3.2 竞争条件 41
2.3.3 延迟相关逻辑 43
2.3.4 保持时间违例 44
2.3.5 毛刺 45
2.3.6 门控时钟 47
2.3.7 异步信号与亚稳态 47
2.3.8 允许使用异步逻辑的情况 51
2.4 浮动节点 52
2.5 总线竞争 53
2.6 独热状态编码 54
2.7 可测性设计 55
2.8 测试冗余逻辑 56
2.8.1 什么是冗余逻辑 56
2.8.2 怎样测试冗余逻辑 57
2.9 初始化状态机 58
2.10 可观测节点 58
2.11 扫描技术 59
2.12 内建自测试 60
2.13 特征分析 61
2.14 小结 62
第3 章 vhdl 基础 64
3.1 引言 64
3.2 实体:模型接口 65
3.2.1 实体定义 65
3.2.2 端口 66
3.2.3 通用属性语句 66
3.2.4 常数 66
3.2.5 实体举例 67
3.3 构造体:模型行为 67
3.3.1 构造体的基本定义 67
3.3.2 构造体声明 67
3.3.3 构造体语句 68
3.4 进程:vhdl中的基本功能单元 68
3.5 基本变量类型和操作符 69
3.5.1 常数 69
3.5.2 信号 69
3.5.3 变量 69
3.5.4 布尔操作符 69
3.5.5 算术操作符 70
3.5.6 比较操作符 70
3.5.7 移位函数 70
3.5.8 拼接 70
3.6 判断与循环 71
3.6.1 if-then-else语句 71
3.6.2 case语句 72
3.6.3 for语句 72
3.6.4 while循环 72
3.6.5 exit语句 73
3.6.6 next语句 73
3.7 层次化设计 73
3.7.1 函数 73
3.7.2 包 73
3.7.3 元件 74
3.7.4 过程 75
3.8 调试模型 75
3.9 基本数据类型 75
3.9.1 基本类型 75
3.9.2 数据类型: bit 76
3.9.3 数据类型: boolean 76
3.9.4 数据类型: 整数 76
3.9.5 数据类型: 字符型 77
3.9.6 数据类型: 实数 77
3.9.7 数据类型: 时间 77
3.10 小结 77
第4 章 存储器建模 78
4.1 存储器阵列 78
4.1.1 shelor方法 79
4.1.2 vital_memory包 80
4.2 存储器功能建模 80
4.2.1 使用行为模型方法 80
4.2.2 使用vital2000方法 89
4.3 vital_memory路径延迟 95
4.4 vital_memory时序约束 97
4.5 预加载存储器 97
4.5.1 行为存储器预加载 98
4.5.2 vital_memory预加载 100
4.6 其他类型存储器的建模 100
4.6.1 同步静态ram 100
4.6.2 dram 103
4.6.3 sdram 104
4.7 小结 109
第5 章 同步状态机设计与分析 110
5.1 引言 110
5.2 时序状态机模型 112
5.3 全记录状态图 115
5.4 基本记忆单元 118
5.4.1 置位优先基本单元 118
5.4.2 复位优先基本单元 120
5.4.3 激励表组合形式 121
5.4.4 基本单元的混合输出 122
5.4.5 基本单元的混合输出响应 123
5.5 触发器简介 124
5.5.1 触发机制 125
5.5.2 触发器类型 126
5.5.3 触发器设计的层次化流程图和模型 126
5.6 fsm(触发器)设计步骤及映射算法 127
5.7 d触发器:通用型 128
5.7.1 d锁存器 128
5.7.2 上升沿触发d触发器 131
5.7.3 主从式d触发器 134
5.8 触发器的转换:t、jk触发器以及其他触发器 136
5.8.1 t触发器及其从d触发器的转换方法 137
5.8.2 jk触发器及其从d触发器转换的方法 138
5.8.3 用jk触发器设计t触发器和d触发器 140
5.8.4 激励表回顾 141
5.8.5 专用触发器和锁存器的设计 142
5.9 锁存器和触发器中的严重时序问题:警告 145
5.10 异步预置位和复位 146
5.11 触发器的建立时间和保持时间要求 147
5.12 使用边缘触发器设计简单的同步状态机:映射转换 149
5.12.1 三比特二进制加减计数器设计:d到t的卡诺图转换 149
5.12.2 序列检测器的设计:d到jk卡诺图的转换 152
5.13 简单状态机分析 156
5.14 简单状态机的vhdl描述 159
5.14.1 上升沿d触发器的vhdl行为级描述 160
5.14.2 简单状态机的vhdl行为级描述 160
参考文献 161
第6 章 嵌入式处理器 163
6.1 引言 163
6.2 简单的嵌入式处理器 164
6.2.1 嵌入式处理器体系结构 164
6.2.2 基本指令 165
6.2.3 取指执行周期 166
6.2.4 嵌入式处理器的寄存器分配 166
6.2.5 基本指令集 167
6.2.6 结构级还是行为级 168
6.2.7 机器码指令集 168
6.2.8 微处理器的结构单元 169
6.2.9 处理器函数包 169
6.2.10 程序计数器 170
6.2.11 指令寄存器 171
6.2.12 算术逻辑单元 172
6.2.13 存储器 173
6.2.14 微控制器 175
6.2.15 简单微处理器总结 178
6.3 fpga中的软核处理器 178
6.4 小结 178
第7 章 数字信号处理 179
7.1 概述 179
7.2 基本dsp系统 180
7.3 基本dsp术语 181
7.4 dsp体系结构 182
7.5 dsp元件中的并行执行 183
7.6 fpga中的并行执行 184
7.7 何时使用fpga实现dsp功能 185
7.8 fpga的dsp设计考虑 186
7.8.1 时钟与信号的布线 186
7.8.2 流水线 187
7.8.3 算法实现的选择 187
7.8.4 dsp知识产权 187
7.9 fir滤波器概念举例 188
7.10 小结 189
第8 章 嵌入式音频处理基础 191
8.1 引言 191
8.1.1 声音是什么 192
8.1.2 音频信号 193
8.1.3 语音处理 193
8.2 音频信源与音频信宿 194
8.2.1 在模拟与数字音频信号之间转换 194
8.2.2 音频转换器背景知识 195
8.2.3 连接到音频转换器 196
8.3 互连 199
8.3.1 连接器 199
8.3.2 数字连接 200
8.4 动态范围与精度 200
8.5 音频处理方法 207
8.5.1 如何将数据输入到处理器内核 207
8.5.2 块处理与采样处理 207
8.5.3 双缓存 207
8.5.4 二维dma 208
8.5.5 基本操作 208
8.5.6 信号生成 210
8.5.7 滤波与算法 210
8.5.8 采样率变换 211
8.5.9 音频压缩 212
8.5.10 语音压缩 214
参考文献 216
第9 章 嵌入式视频与图像处理基础 217
9.1 引言 217
9.1.1 人类视觉感知 218
9.1.2 什么是视频信号 219
9.2 广播电视系统——ntsc和pal制式 220
9.2.1 视频分辨率 220
9.2.2 隔行扫描和逐行扫描 221
9.3 颜色空间 222
9.3.1 伽马校正 222
9.3.2 色度下采样 224
9.4 数字视频 226
9.4.1 itu-r bt.601(前称为ccir-601) 226
9.4.2 itu-r bt.656(前称为ccir-656) 227
9.5 从系统角度看视频 230
9.5.1 视频源 230
9.5.2 视频显示 235
9.6 嵌入式视频处理考虑 238
9.6.1 视频端口特性 238
9.6.2 视频alu 240
9.6.3 dma考虑 242
9.6.4 视频算法分类 244
9.6.5 带宽计算 244
9.6.6 去隔行处理 246
9.6.7 扫描速率转换 246
9.6.8 像素处理 247
9.6.9 处理图像边界 248
9.6.10 色度重采样、伽马校正和颜色转换 249
9.6.11 缩放与剪切 249
9.6.12 显示处理 250
9.7 压缩和解压缩 251
9.7.1 无损和有损压缩 252
9.7.2 图像压缩 253
9.7.3 视频压缩 254
9.7.4 emp中的编码与解码 257
参考文献 259
第10 章 利用simulink 中的框图设计流式fpga 应用 261
10.1 使用基于流的操作符设计高性能数据路径 262
10.2 图像处理设计引擎 263
10.2.1 将rgb视频转换为灰度视频 263
10.2.2 二维视频滤波 265
10.2.3 将视频滤波器映射到bee2fpga开发平台 268
10.3 在simulink中加入控制 269
10.3.1 使用simulink块设计控制器 270
10.3.2 使用matlab m语言设计控制器 270
10.3.3 使用vhdl或verilog设计控制器 272
10.3.4 使用嵌入式微处理器设计控制器 272
10.4 组件重用:简单与复杂子系统库 273
10.4.1 信号处理元件 273
10.4.2 瓦片式子系统 273
10.5 小结 275
致谢 276
参考文献 276
第11 章 梯形图与功能框图编程 278
11.1 梯形图 279
11.2 逻辑功能 281
11.2.1 与 282
11.2.2 或 283
11.2.3 非 283
11.2.4 与非 284
11.2.5 或非 285
11.2.6 异或 286
11.3 锁存器 286
11.4 多路输出 287
11.5 输入程序 289
11.6 功能框图 290
11.6.1 逻辑门 291
11.6.2 布尔代数 293
11.7 编程举例 295
第12 章 定时器 298
12.1 定时器类型 298
12.2 对定时器编程 299
12.2.1 序列 299
12.2.2 级联定时器 301
12.2.3 循环开关定时器 302
12.3 延迟关定时器 302
12.4 脉冲定时器 303
12.5 编程实例 305
索引 306
第1 章 fpga 结构比较 1
1.1 一点提醒 1
1.2 一些背景信息 2
1.3 反熔丝、sram与其他 3
1.3.1 基于sram的器件 3
1.3.2 基于sram器件的安全问题和解决方案 3
1.3.3 基于反熔丝的器件 4
1.3.4 基于eprom的器件 5
1.3.5 基于e2prom/flash的器件 5
1.3.6 flash-sram混合器件 6
1.3.7 小结 6
1.4 细粒度、中等粒度和粗粒度体系结构 6
1.5 基于mux与基于lut的逻辑块 8
1.5.1 基于mux的体系结构 8
1.5.2 基于lut的体系结构 8
1.5.3 基于mux还是基于lut 10
1.5.4 3、4、5或6输入lut 10
1.5.5 lut、分布式ram与移位寄存器 10
1.6 clb、lab与slice 11
.1.6.1 xilinx逻辑单元 12
1.6.2 altera逻辑部件 12
1.6.3 slicing和dicing 12
1.6.4 clb和lab 13
1.6.5 分布式ram和移位寄存器 14
1.7 快速进位链 14
1.8 嵌入式ram 15
1.9 嵌入式乘法器、加法器和mac等 15
1.10 嵌入式处理器核(硬核与软核) 16
1.10.1 微处理器硬核 17
1.10.2 微处理器软核 18
1.11 时钟树和时间管理器 19
1.11.1 时钟树 19
1.11.2 时钟管理器 19
1.12 通用i/o 22
1.12.1 可配置i/o标准 22
1.12.2 可配置i/o阻抗 23
1.12.3 核电压与i/o电压 23
1.13 吉比特收发器 24
1.14 ip硬核、ip软核与ip固核 25
1.15 系统门与实际门 25
1.16 fpga年龄 27
第2 章 设计技巧、原则与指导 28
2.1 硬件描述语言 29
2.2 自顶向下设计 37
2.2.1 使用hdl 38
2.2.2 书面设计规范 38
2.2.3 分配资源 38
2.2.4 设计划分 38
2.2.5 设计灵活性与优化 38
2.2.6 可重用性 38
2.2.7 布局规划 39
2.2.8 验证 39
2.2.9 了解体系结构 39
2.3 同步设计 40
2.3.1 同步设计五原则 40
2.3.2 竞争条件 41
2.3.3 延迟相关逻辑 43
2.3.4 保持时间违例 44
2.3.5 毛刺 45
2.3.6 门控时钟 47
2.3.7 异步信号与亚稳态 47
2.3.8 允许使用异步逻辑的情况 51
2.4 浮动节点 52
2.5 总线竞争 53
2.6 独热状态编码 54
2.7 可测性设计 55
2.8 测试冗余逻辑 56
2.8.1 什么是冗余逻辑 56
2.8.2 怎样测试冗余逻辑 57
2.9 初始化状态机 58
2.10 可观测节点 58
2.11 扫描技术 59
2.12 内建自测试 60
2.13 特征分析 61
2.14 小结 62
第3 章 vhdl 基础 64
3.1 引言 64
3.2 实体:模型接口 65
3.2.1 实体定义 65
3.2.2 端口 66
3.2.3 通用属性语句 66
3.2.4 常数 66
3.2.5 实体举例 67
3.3 构造体:模型行为 67
3.3.1 构造体的基本定义 67
3.3.2 构造体声明 67
3.3.3 构造体语句 68
3.4 进程:vhdl中的基本功能单元 68
3.5 基本变量类型和操作符 69
3.5.1 常数 69
3.5.2 信号 69
3.5.3 变量 69
3.5.4 布尔操作符 69
3.5.5 算术操作符 70
3.5.6 比较操作符 70
3.5.7 移位函数 70
3.5.8 拼接 70
3.6 判断与循环 71
3.6.1 if-then-else语句 71
3.6.2 case语句 72
3.6.3 for语句 72
3.6.4 while循环 72
3.6.5 exit语句 73
3.6.6 next语句 73
3.7 层次化设计 73
3.7.1 函数 73
3.7.2 包 73
3.7.3 元件 74
3.7.4 过程 75
3.8 调试模型 75
3.9 基本数据类型 75
3.9.1 基本类型 75
3.9.2 数据类型: bit 76
3.9.3 数据类型: boolean 76
3.9.4 数据类型: 整数 76
3.9.5 数据类型: 字符型 77
3.9.6 数据类型: 实数 77
3.9.7 数据类型: 时间 77
3.10 小结 77
第4 章 存储器建模 78
4.1 存储器阵列 78
4.1.1 shelor方法 79
4.1.2 vital_memory包 80
4.2 存储器功能建模 80
4.2.1 使用行为模型方法 80
4.2.2 使用vital2000方法 89
4.3 vital_memory路径延迟 95
4.4 vital_memory时序约束 97
4.5 预加载存储器 97
4.5.1 行为存储器预加载 98
4.5.2 vital_memory预加载 100
4.6 其他类型存储器的建模 100
4.6.1 同步静态ram 100
4.6.2 dram 103
4.6.3 sdram 104
4.7 小结 109
第5 章 同步状态机设计与分析 110
5.1 引言 110
5.2 时序状态机模型 112
5.3 全记录状态图 115
5.4 基本记忆单元 118
5.4.1 置位优先基本单元 118
5.4.2 复位优先基本单元 120
5.4.3 激励表组合形式 121
5.4.4 基本单元的混合输出 122
5.4.5 基本单元的混合输出响应 123
5.5 触发器简介 124
5.5.1 触发机制 125
5.5.2 触发器类型 126
5.5.3 触发器设计的层次化流程图和模型 126
5.6 fsm(触发器)设计步骤及映射算法 127
5.7 d触发器:通用型 128
5.7.1 d锁存器 128
5.7.2 上升沿触发d触发器 131
5.7.3 主从式d触发器 134
5.8 触发器的转换:t、jk触发器以及其他触发器 136
5.8.1 t触发器及其从d触发器的转换方法 137
5.8.2 jk触发器及其从d触发器转换的方法 138
5.8.3 用jk触发器设计t触发器和d触发器 140
5.8.4 激励表回顾 141
5.8.5 专用触发器和锁存器的设计 142
5.9 锁存器和触发器中的严重时序问题:警告 145
5.10 异步预置位和复位 146
5.11 触发器的建立时间和保持时间要求 147
5.12 使用边缘触发器设计简单的同步状态机:映射转换 149
5.12.1 三比特二进制加减计数器设计:d到t的卡诺图转换 149
5.12.2 序列检测器的设计:d到jk卡诺图的转换 152
5.13 简单状态机分析 156
5.14 简单状态机的vhdl描述 159
5.14.1 上升沿d触发器的vhdl行为级描述 160
5.14.2 简单状态机的vhdl行为级描述 160
参考文献 161
第6 章 嵌入式处理器 163
6.1 引言 163
6.2 简单的嵌入式处理器 164
6.2.1 嵌入式处理器体系结构 164
6.2.2 基本指令 165
6.2.3 取指执行周期 166
6.2.4 嵌入式处理器的寄存器分配 166
6.2.5 基本指令集 167
6.2.6 结构级还是行为级 168
6.2.7 机器码指令集 168
6.2.8 微处理器的结构单元 169
6.2.9 处理器函数包 169
6.2.10 程序计数器 170
6.2.11 指令寄存器 171
6.2.12 算术逻辑单元 172
6.2.13 存储器 173
6.2.14 微控制器 175
6.2.15 简单微处理器总结 178
6.3 fpga中的软核处理器 178
6.4 小结 178
第7 章 数字信号处理 179
7.1 概述 179
7.2 基本dsp系统 180
7.3 基本dsp术语 181
7.4 dsp体系结构 182
7.5 dsp元件中的并行执行 183
7.6 fpga中的并行执行 184
7.7 何时使用fpga实现dsp功能 185
7.8 fpga的dsp设计考虑 186
7.8.1 时钟与信号的布线 186
7.8.2 流水线 187
7.8.3 算法实现的选择 187
7.8.4 dsp知识产权 187
7.9 fir滤波器概念举例 188
7.10 小结 189
第8 章 嵌入式音频处理基础 191
8.1 引言 191
8.1.1 声音是什么 192
8.1.2 音频信号 193
8.1.3 语音处理 193
8.2 音频信源与音频信宿 194
8.2.1 在模拟与数字音频信号之间转换 194
8.2.2 音频转换器背景知识 195
8.2.3 连接到音频转换器 196
8.3 互连 199
8.3.1 连接器 199
8.3.2 数字连接 200
8.4 动态范围与精度 200
8.5 音频处理方法 207
8.5.1 如何将数据输入到处理器内核 207
8.5.2 块处理与采样处理 207
8.5.3 双缓存 207
8.5.4 二维dma 208
8.5.5 基本操作 208
8.5.6 信号生成 210
8.5.7 滤波与算法 210
8.5.8 采样率变换 211
8.5.9 音频压缩 212
8.5.10 语音压缩 214
参考文献 216
第9 章 嵌入式视频与图像处理基础 217
9.1 引言 217
9.1.1 人类视觉感知 218
9.1.2 什么是视频信号 219
9.2 广播电视系统——ntsc和pal制式 220
9.2.1 视频分辨率 220
9.2.2 隔行扫描和逐行扫描 221
9.3 颜色空间 222
9.3.1 伽马校正 222
9.3.2 色度下采样 224
9.4 数字视频 226
9.4.1 itu-r bt.601(前称为ccir-601) 226
9.4.2 itu-r bt.656(前称为ccir-656) 227
9.5 从系统角度看视频 230
9.5.1 视频源 230
9.5.2 视频显示 235
9.6 嵌入式视频处理考虑 238
9.6.1 视频端口特性 238
9.6.2 视频alu 240
9.6.3 dma考虑 242
9.6.4 视频算法分类 244
9.6.5 带宽计算 244
9.6.6 去隔行处理 246
9.6.7 扫描速率转换 246
9.6.8 像素处理 247
9.6.9 处理图像边界 248
9.6.10 色度重采样、伽马校正和颜色转换 249
9.6.11 缩放与剪切 249
9.6.12 显示处理 250
9.7 压缩和解压缩 251
9.7.1 无损和有损压缩 252
9.7.2 图像压缩 253
9.7.3 视频压缩 254
9.7.4 emp中的编码与解码 257
参考文献 259
第10 章 利用simulink 中的框图设计流式fpga 应用 261
10.1 使用基于流的操作符设计高性能数据路径 262
10.2 图像处理设计引擎 263
10.2.1 将rgb视频转换为灰度视频 263
10.2.2 二维视频滤波 265
10.2.3 将视频滤波器映射到bee2fpga开发平台 268
10.3 在simulink中加入控制 269
10.3.1 使用simulink块设计控制器 270
10.3.2 使用matlab m语言设计控制器 270
10.3.3 使用vhdl或verilog设计控制器 272
10.3.4 使用嵌入式微处理器设计控制器 272
10.4 组件重用:简单与复杂子系统库 273
10.4.1 信号处理元件 273
10.4.2 瓦片式子系统 273
10.5 小结 275
致谢 276
参考文献 276
第11 章 梯形图与功能框图编程 278
11.1 梯形图 279
11.2 逻辑功能 281
11.2.1 与 282
11.2.2 或 283
11.2.3 非 283
11.2.4 与非 284
11.2.5 或非 285
11.2.6 异或 286
11.3 锁存器 286
11.4 多路输出 287
11.5 输入程序 289
11.6 功能框图 290
11.6.1 逻辑门 291
11.6.2 布尔代数 293
11.7 编程举例 295
第12 章 定时器 298
12.1 定时器类型 298
12.2 对定时器编程 299
12.2.1 序列 299
12.2.2 级联定时器 301
12.2.3 循环开关定时器 302
12.3 延迟关定时器 302
12.4 脉冲定时器 303
12.5 编程实例 305
索引 306
FPGAs: world class designs
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×