《那些年,我们拿下了FPGA》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:苏阳,蒋银坪,邢培飞编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2013
  • ISBN:9787512412323
  • 页数:336 页
图书介绍:本书的写作出发点是想把北航电子工作室成员学习FPGA技术的过程中的获得的经验、方法和技巧整理出来,浓缩到一本书中,将其得到推广。书中涵盖的内容覆盖了整个学习阶段,从可以说是零基础开始,到入门、进阶、工程应用拔高。具有一下特点:1、从书中内容上看,这是一本地道全面的技术书。书中既包括了FPGA前前后后的历史、发展经历、应用方向,又包含了独到的语法解析,还包括了非常详细的FPGA开发流程和流程当中各环节的工具使用,最后还有非常有趣的练习,是一本定位在入门级到中级的FPGA教程。2、从书的描述形式上看,这是一本文艺青年的书。以面对面的语言进行陈述,没有需要琢磨的技术名词。特别是FPGA基础知识和语法,相比其他同类书各种难懂名词的罗列,更多的是风趣形象的比喻和文艺青年的风格,让学员有读小说样的轻松,有兴趣、有效率和有信心的学习。3、从书的章节安排上看,这是一本谙熟学习之道的书。

第1章 从春天走来 1

1.1 撒下一把种子 1

1.2 繁芜苏醒 2

1.3 鹤立鸡群 5

1.4 丰满 6

第2章 看透你的心 10

2.1 灵活,并不是善变——SRAM 10

2.1.1 动静RAM之间 10

2.1.2 SRAM是如何构成FPGA的 11

2.1.3 往细处讲讲查找表 12

2.1.4 关于LUT现状的讨论 13

2.1.5 灵活归一码,也有缺点 14

2.2 想回到过去,难也——反熔丝 15

2.2.1 何为熔丝,何为反熔丝 15

2.2.2 回不去,得从编程机理说起 15

2.2.3 以小见大——最小单元MUX 16

2.2.4 回不去的痛 17

2.3 灵魂,一块住进去——FLASH 18

2.3.1 FLASH,灵魂的驻扎地 18

2.3.2 一小步一个大家族 18

2.3.3 挺好的了,只是时候未到 18

第3章 走进生活,生生不息 20

3.1 你存在,眼睛的世界 20

3.1.1 概述 20

3.1.2 视频编解码 20

3.1.3 目标识别 21

3.1.4 图像处理支持资源 21

3.2 你,使我们走近 24

3.2.1 有线通信 24

3.2.2 无线通信 25

3.2.3 通信领域支持资源 26

3.3 你,承载着“0”和“1”的世界 29

3.3.1 概述 29

3.3.2 数字处理系统模型 29

3.3.3 五花八门的方式 30

3.3.4 其实挺有优势 31

3.3.5 DSP支持资源 32

3.4 你,可以像大脑一样思考 33

3.4.1 概述 33

3.4.2 创新挑战和机遇 34

3.4.3 嵌入式支持资源 35

3.5 可以考虑这些解决方案 36

第4章 像绘画一样设计系统 38

4.1 抽出系统设计模型 38

4.2 最美不过过程 39

4.2.1 系统分析 39

4.2.2 方案设计 39

4.2.3 top-down 40

4.2.4 硬件化 40

4.2.5 平台选择 41

第5章 开发流程走一遍 42

5.1 设计输入 43

5.1.1 设计输入方式 43

5.1.2 输入方式使用探讨 45

5.2 综合 46

5.2.1 编译 47

5.2.2 映射 47

5.3 布局布线 48

5.3.1 布局 48

5.3.2 布线 49

5.4 约束 49

5.4.1 综合约束 49

5.4.2 位置约束 50

5.4.3 时序约束 50

5.5 开发仿真 51

5.5.1 测试平台 51

5.5.2 RTL级仿真 52

5.5.3 静态仿真 52

5.5.4 时序仿真 53

5.6 静态时序分析 54

5.7 在线调试 54

5.8 配置及固化 55

5.8.1 FPGA配置过程 55

5.8.2 举例——Altera FPGA配置全过程 55

5.8.3 配置模式 56

5.8.4 模式选择 58

5.9 开发工具总结 59

第6章 Verilog HDL or VHDL? 61

6.1 Verilog HDL本结构 61

6.1.1 端口列表定义 62

6.1.2 I/O说明 63

6.1.3 内部信号声明 64

6.1.4 模块功能的定义 64

6.2 VHDL本结构 65

6.2.1 程序包说明 65

6.2.2 实体说明 66

6.2.3 结构体说明 66

6.3 民主的Verilog 67

6.4 Verilog升级System Verilog 67

第7章 拿下常量数据类型 69

7.1 我该如何表达整数 69

7.1.1 Verilog中整数长啥样 69

7.1.2 负数 70

7.1.3 X和Z之间的事 70

7.1.4 变与不变的参量型 72

7.1.5 我和整数的约定 73

7.2 实数常量是几许人物 74

7.3 字符串是怎么回事 75

第8章 拿下变量数据类型 76

8.1 多变的变量 76

8.1.1 网络(net)连接类型 76

8.1.2 寄存器(Register)类型 85

8.2 wire和reg才是精干 86

8.2.1 wire型 86

8.2.2 reg型 87

8.3 不要以为reg就是触发器 88

8.4 memory其实也是reg 89

8.4.1 该怎么声明memory型变量 89

8.4.2 该怎么对memory型变量赋值 89

8.5 inout该怎么定义类型 91

第9章 拿下运算符 92

9.1 林林总总的运算符 92

9.1.1 逻辑运算符 92

9.1.2 按位运算符 94

9.1.3 缩减运算符 96

9.1.4 关系运算符 96

9.1.5 等式运算符 97

9.1.6 移位运算符 99

9.1.7 位拼接运算符 100

9.1.8 三目运算符 101

9.2 给它们排个序吧 102

9.3 赋值语句 102

9.3.1 阻塞赋值 103

9.3.2 非阻塞赋值 104

9.3.3 塞还是不塞 105

第10章 不再纠结if和case 107

10.1 if不同形态 107

10.2 case不同形态 109

10.3 if和case之间的转换 111

10.4 if和case,谁更好 112

10.5 不完全的if和case 115

10.6 关于case的约束 117

第11章 循环语句 120

11.1 只能仿真的循环 120

11.1.1 repeat是个定数 120

11.1.2 forever能永远吗 122

11.1.3 有限的while 125

11.2 特立独行的for 126

11.2.1 for的基本形态 126

11.2.2 可以综合的for 127

第12章 块语句以及过程块 130

12.1 说说begin_end 130

12.2 说说fork_join 132

12.3 说说assign 133

12.4 说说always 133

第13章 抽象级别的描述 136

13.1 不同抽象级别概述 136

13.2 结构级描述 137

13.2.1 门级结构描述及其说明语法 137

13.2.2 用门级结构描述二选一选择器 140

13.3 行为级描述 141

13.3.1 行为级与RTL级区别 141

13.3.2 RTL级描述二选一选择器 142

第14章 层次化建设及模块例化 145

14.1 层次化建模概念 145

14.2 模块例化 146

14.3 四位脉动进位计数器 147

第15章 建设测试磨坊 149

15.1 编写Testbench目的 149

15.2 基本的Testbench结构 149

15.3 产生激励的一些描写方式 150

15.3.1 产生时钟的几种方式 150

15.3.2 产生复位信号的几种形式 151

15.4 关于测试的建议 152

第16章 仿真工具基本使用 153

16.1 ModelSim简介 153

16.2 ModelSim HDL仿真优势 153

16.3 ModelSim基本使用 154

16.3.1 ModelSim使用流程 155

16.3.2 简单2-4编码器RLT仿真实例 155

16.4 高级命令方式仿真 167

16.4.1 常用一些命令 167

16.4.2 其他命令学习方法 169

16.4.3 do文件的编写与使用 170

16.5 ModelSim私藏技巧 173

16.5.1 利用ModelSim模板建立Testbench 173

16.5.2 Wave查看技巧 175

16.5.3 仿真代码的修改 178

第17章 组合逻辑专题 179

17.1 组合逻辑描述方法 179

17.1.1 assign语句实现组合逻辑 179

17.1.2 always块实现组合逻辑 180

17.2 常用组合电路 183

17.2.1 多路器 183

17.2.2 加法器 185

17.2.3 译码器 186

17.2.4 编码器 188

第18章 时序逻辑专题 191

18.1 时序逻辑描述方法 191

18.2 再来两个例子 194

18.2.1 分频电路 194

18.2.2 沿提取电路 197

第19章 函数与任务专题 199

19.1 task 199

19.1.1 task特点及描述 199

19.1.2 task举例说明 200

19.2 function 201

19.2.1 function特点及描述 201

19.2.2 function举例说明 202

19.3 task和function不混淆 203

19.4 系统任务与函数 204

19.4.1 标准输出任务 204

19.4.2 文件管理任务 206

19.4.3 仿真控制任务 209

19.4.4 时间函数 209

19.4.5 其他 210

第20章 编译预处理与可综合性 211

20.1 编译预处理概念 211

20.2 常用编译预处理 211

20.2.1 ?define、?undef 211

20.2.2 ?include 213

20.2.3 ?timescale 215

20.2.4 ?ifdef、?elsif、?else、?endif 219

20.3 不再烦恼可综合性 221

第21章 状态机专题 223

21.1 状态机的概念 223

21.2 状态机的分类 224

21.2.1 Moore状态机 224

21.2.2 Mealy状态机 225

21.3 状态机实现步骤现场 225

21.3.1 三要素的提取 225

21.3.2 状态转移图 226

21.3.3 状态编码 227

21.3.4 状态机的描述 228

21.4 不同状态机描述方式 228

21.4.1 一气呵成的一段式 228

21.4.2 一看即懂的二段式 231

21.4.3 高效率的三段式 233

21.5 safe状态机 237

第22章 开发工具秘籍 238

22.1 QuartusⅡ简介 238

22.2 工程实例介绍 241

22.3 准备 242

22.4 新建工程 243

22.5 设计输入 248

22.6 分析综合 265

22.7 布局布线 269

22.8 下载与固化 273

22.8.1 生成配置和固化文件 273

22.8.2 准备工作 274

22.8.3 下载 274

22.8.4 固化 275

22.9 总结 277

第23章 联合仿真和调试 278

23.1 ModelSim与Quartus Ⅱ联合使用 278

23.1.1 联合准备工作 278

23.1.2 Altera仿真库的介绍 279

23.1.3 利用ModelSim做前仿真 280

23.1.4 利用ModelSim做静态仿真 285

23.1.5 利用ModelSim做时序仿真 290

23.2 在线调试与SignalTap Ⅱ的使用 292

23.2.1 创建STP文件 292

23.2.2 设置采集时钟 292

23.2.3 在STP文件中分配信号 295

23.2.4 指定采样点数及触发位置 296

23.2.5 逻辑分析仪触发控制 297

23.2.6 编译嵌入SignalTap Ⅱ逻辑分析仪的设计 300

23.2.7 SignalTap Ⅱ分析器件编程 301

23.2.8 查看SignalTap Ⅱ采样数据 301

23.2.9 数据保存 302

第24章 IP核,拿来主义 304

24.1 IP核的概念 304

24.2 RAM核使用 304

24.3 FIFO使用 308

24.4 PLL核使用 312

第25章 用FPGA来搞搞音乐 317

25.1 演奏原理 317

25.2 音调的控制 317

25.3 音长的控制 319

25.4 《天空之城》 320

第26章 You Got It! 325

26.1 显示设备H1602B 325

26.1.1 H1602B端口与电路连接 325

26.1.2 H1602B的字符集和指令集 326

26.2 显示实现 328

参考文献 336