发表于2024-11-24
本书以FPGA设计案例为引导,深入浅出,系统而全面地介绍了FPGA的开发流程,条理清晰,内容丰富,立根实践,独具匠心,是一本不可多得的工具书、参考书,非常适合初学者与工程设计人员阅读,可能会成为FPGA史上备受欢迎的入门进阶蓝宝书。
本书由浅入深、由表及里,从FPGA技术的探索到资源的发现与利用,从硬件版图规划与设计到逻辑电路验证与实现,从模块化功能的研究与积累到系统集成的综合与Timingquest时序优化,系统、全面地介绍AlteraFPGA的开发流程。本书的所有例程均经过千锤百炼,相关FPGA设计的资源均由笔者多年整理归纳,希望读者能够妥善利用。
韩彬,网名CrazyBingo,2012年于杭州电子科技大学获得学士学位,2015年于西安电子科技大学获得硕士学位,长期从事FPGA逻辑驱动电路开发,对LCD显示控制器与摄像头采集系统、硬件加速实现有丰富的开发经验与技术积累。编写过多份FPGA学习教程,常年活跃于各大博客论坛(尤其是ChinaAET)技术群等,在第一版《FPGA设计技巧与案例开发详解》的基础上,呕心沥血,携友再创该书第二版。
第1章 浅谈FPGA技术、优势、学习途径 (1)
1.1 FPGA的诞生、发展 (1)
1.1.1 FPGA的诞生 (1)
1.1.2 FPGA的发展与未来 (4)
1.1.3 博弈,在入门之前 (7)
1.2 Altera FPGA介绍及发展、应用 (8)
1.2.1 Altera公司介绍 (8)
1.2.2 Altera产品介绍 (9)
1.2.3 Altera FPGA的开发平台 (15)
1.2.4 Altera FPGA的动态与应用 (17)
1.2.5 Altera FPGA的应用 (20)
1.2.6 对比ARM与DSP,认清FPGA (23)
1.3 善用网络资源,不断总结自我 (26)
第2章 Quartus II 13.0套件的下载及安装 (29)
2.1 写在前面的话 (29)
2.2 Quartus II 13.0软件下载 (30)
2.3 Quartus II 13.0组件安装 (32)
2.4 Quartus II 13.0 Device安装 (36)
2.5 USB Blaster下载器驱动程序的安装 (39)
第3章 Verilog HDL语法简介 (43)
3.1 What is Verilog HDL? (43)
3.2 设计层次 (44)
3.3 设计流程 (44)
3.4 基本语法介绍 (46)
3.4.1 模块module (46)
3.4.2 注释 (47)
3.4.3 大小写 (47)
3.4.4 参数声明parameter (48)
3.4.5 预处理指令 (48)
3.4.6 常量 (49)
3.4.7 变量 (50)
3.4.8 运算符 (51)
3.5 Verilog HDL建模 (54)
3.5.1 结构建模 (54)
3.5.2 数据流建模 (56)
3.5.3 行为建模 (57)
3.5.4 关于状态机 (66)
第4章 MAX II CPLD/Cyclone II/IV FPGA设 PCB Layout设计 (76)
4.1 浅谈PCB Layout (76)
4.2 MAX II CPLD核心电路设计 (77)
4.2.1 MAX II CPLD背景及简介 (77)
4.2.2 EPM240T100C5N设计需求研究及分析 (79)
4.2.3 EPM240T100C5N核心板原理图设计 (83)
4.2.4 EPM240T100C5N核心板布局布线 (87)
4.3 Cyclone II FPGA核心电路设计 (88)
4.3.1 Cyclone II FPGA背景及简介 (88)
4.3.2 Cyclone II数据手册解读与EP2C8Q208C8N的设计研究 (89)
4.3.3 EP2C8Q208C8N核心板原理图设计 (101)
4.3.4 FPGA核心板Layout注意事项 (110)
4.4 Cyclone IV FPGA核心电路设计 (113)
4.4.1 Cyclone IV FPGA简介 (113)
4.4.2 Cyclone IV FPGA数据手册分析与EP4CE6E22C8N的设计研究 (115)
4.4.3 Cyclone IV FPGA核心电路设计 (121)
4.5 FPGA/CPLD电路焊接、调试经验总结 (124)
4.6 本书配套FPGA开发平台硬件介绍 (128)
4.6.1 VIP_Board 3.0硬件资源介绍 (128)
4.6.2 VIP_Board 3.0相关外设实物介绍 (130)
第5章 Verilog HDL设计与Testbench 文件架构 (134)
5.1 Verilog HDL设计 (134)
5.1.1 Verilog HDL与VHDL的对比 (134)
5.1.2 Verilog HDL的发展 (135)
5.1.3 Verilog HDL代码设计风格 (136)
5.2 Testbench文件架构 (141)
5.2.1 Testbench的介绍 (141)
5.2.2 Testbench代码设计风格 (142)
5.3 Quartus II工程目录文件夹的定制 (145)
第6章 4位计数器的设计与仿真验证 (147)
6.1 写在前面的话 (147)
6.2 FPGA/CPLD开发流程 (147)
6.3 基于Quartus II 13.0的4位计数器设计流程 (149)
6.3.1 Quartus II 工程的创建 (149)
6.3.2 4位计数器的逻辑电路设计 (152)
6.3.3 Quartus II编译流程与工程设置分析 (155)
6.4 基于Modelsim-Altera 10.1d的4位计数器仿真验证流程 (166)
6.4.1 关于FPGA设计的各种仿真概念分析 (167)
6.4.2 Modelsim版本的简要介绍 (168)
6.4.3 Modelsim工程的创建 (168)
6.4.4 Testbench激励文件的编写 (171)
6.4.5 Modelsim波形的仿真与分析 (174)
6.5 设计思路的验证与总结 (182)
第7章 LED驱动电路设计 (183)
7.1 LED驱动电路设计方案1―入门 (183)
7.1.1 LED驱动电路设计方案 (183)
7.1.2 8位LED的自加显示实验 (185)
7.2 LED驱动电路设计方案2―升级 (196)
7.2.1 LED电路设计方案 (196)
7.2.2 74HC595驱动分析与实现 (198)
7.3 8位LED跑马灯显示实验 (208)
7.4 LED特效呼吸灯的设计 (215)
7.4.1 PWM协议的基本介绍 (215)
7.4.2 LED呼吸灯的设计 (216)
第8章 独立按键与矩阵键盘的FPGA驱动电路实现 (227)
8.1 按键及其工作模式介绍 (227)
8.1.1 按键抖动原理分析 (228)
8.1.2 硬件消抖动 (228)
8.1.3 软件消抖动 (230)
8.2 独立按键的FPGA驱动电路设计 (230)
8.2.1 独立按键电路设计 (230)
8.2.2 FSM状态机的Verilog HDL介绍 (231)
8.2.3 FPGA按键驱动设计方案1 (234)
8.2.4 FPGA按键驱动设计方案2 (248)
8.3 矩阵键盘的FPGA驱动电路设计 (252)
8.3.1 工作原理及电路设计 (252)
8.3.2 FPGA矩阵键盘驱动设计 (255)
第9章 “Hello World”的LCD1602显示驱动实现 (267)
9.1 LCD1602介绍及硬件设计 (267)
9.1.1 LCD1602字符液晶介绍 (267)
9.1.2 LCD1602硬件电路设计 (268)
9.1.3 LCD1602的时序及初始化分析 (271)
9.2 LCD1602的FPGA驱动电路实现 (275)
9.2.1 LCD1602的C语言实现方案 (276)
9.2.2 LCD1602的Verilog HDL实现方案 (277)
第10章 优化设计FPGA全局时钟管理模块 (290)
10.1 异步复位,同步释放机制 (290)
10.1.1 组合电路中的竞争-冒险 (291)
10.1.2 时序电路中的竞争-冒险 (292)
10.2 无PLL的全局时钟管理模块设计 (296)
10.3 Quartus II IP核介绍及PLL的定制 (305)
10.3.1 Quartus II IP核的介绍 (305)
10.3.2 PLL IP核的定制与分析 (311)
10.4 带PLL的全局时钟管理模块设计 (319)
第11章 基于FPGA与MCU通信的SPI协议设计 (325)
11.1 SPI总线协议介绍及硬件的设计 (325)
11.1.1 SPI总线协议介绍 (325)
11.1.2 STM8的硬件电路设计 (327)
11.1.3 SPI总线协议时序分析 (329)
11.2 SPI总线协议的通信实现 (330)
11.2.1 STM8的SPI总线收发设计 (330)
11.2.2 边沿检测电路的FPGA实现 (332)
11.2.3 SPI通信的数据接收模块设计 (334)
11.2.4 SPI通信的数据发送模块设计 (343)
第12章 基于FPGA与PC通信的UART串口设计 (351)
12.1 追根溯源透析串口通信 (351)
12.1.1 串口通信简介 (351)
12.1.2 串口波特率 (354)
12.1.3 串口协议分析 (354)
12.2 串口电路的设计 (355)
12.2.1 TTL转RS-232电路的设计 (355)
12.2.2 USB→UART转换电路设计 (356)
12.2.3 UART电路的调试 (357)
12.3 细说真正的任意分频 (358)
12.3.1 分频电路的重要性 (358)
12.3.2 任意频率发生器原理 (358)
12.3.3 任意频率发生器的验证 (360)
12.4 串口通信的硬件实现 (364)
12.4.1 uart_receiver接收模块的设计 (364)
12.4.2 uart_transfer发送模块的设计 (372)
12.4.3 PC2FPGA UART联调测试 (376)
第13章 基于FPGA的VGA驱动显示设计 (383)
13.1 VGA接口、时序及驱动电路设计 (383)
13.1.1 VGA接口介绍 (383)
13.1.2 VGA时序分析 (385)
13.1.3 RGB三原色模型 (388)
13.1.4 VGA驱动电路设计 (391)
13.2 VGA驱动的FPGA实现 (396)
13.2.1 VGA驱动时序电路的设计 (396)
13.2.2 任意分辨率的VGA显示控制器设计 (408)
13.3 “Hello World”的VGA显示驱动实现 (411)
13.3.1 “Hello World”字模的提取 (411)
13.3.2 C2Mif软件的介绍与Mif文件的生成 (414)
13.3.3 VGA字符显示的FPGA实现 (418)
13.4 彩色图像的VGA显示驱动实现 (422)
13.4.1 彩色图像显示的理论分析 (422)
13.4.2 彩色图像的数据提取 (423)
13.4.3 VGA彩色图像显示的FPGA实现 (424)
第14章 基于SDRAM的VGA显示控制器的设计与实现 (427)
14.1 跨时钟域数据交互 (427)
14.2 SDRAM的介绍及其控制器的移植与优化 (431)
14.2.1 SDRAM的特性及时序驱动介绍 (431)
14.2.2 SDRAM的硬件驱动电路设计 (435)
14.2.3 SDRAM控制器的移植与优化 (437)
14.2.4 Sdram_Control_2Port的封装与协议制定 (454)
14.3 基于SDRAM的VGA显示控制器的实现 (459)
第15章 基于OV7725的摄像头视频图像采集系统 (471)
15.1 系统框架设计思路分析 (472)
15.1.1 系统框架分析 (472)
15.1.2 算法的实现流程 (473)
15.2 OV7725摄像头介绍与视频采集实现 (476)
15.2.1 CMOS摄像头的简介 (476)
15.2.2 OV7725的特性介绍及驱动电路设计 (478)
15.2.3 OV7725 SCCB接口及寄存器介绍 (483)
15.2.4 OV7725感光阵列与视频时序分析 (492)
15.2.5 OV7725寄存器I2C初始化设计 (495)
15.2.6 OV7725的视频采集模块设计 (510)
15.3 OV7725视频图像显示的实现 (527)
15.4 本章小结 (537)
第16章 TimeQuest的分析与实践 (539)
16.1 写在前面的话 (539)
16.2 保持裕量和建立裕量的深刻理解 (539)
16.3 时钟约束―内对内模型 (542)
16.3.1 内对内模型公式分析 (542)
16.3.2 约束时钟及PLL (543)
16.4 output引脚约束―内对外模型 (553)
16.4.1 内对外模型公式分析 (553)
16.4.2 output引脚约束 (554)
16.5 input引脚约束―外对内模型 (556)
16.6 阶段性小总结 (557)
16.7 约束异常 (557)
16.7.1 Set Multicycle Path (557)
16.7.2 Set False Path (562)
16.8 决战SDRAM时序约束 (562)
16.9 Altium Designer查看走线报表 (573)
第17章 基于FPGA的系统设计 (575)
17.1 FPGA芯片选型 (575)
17.2 FPGA的与众不同―PCB布局在设计原理图之前 (582)
17.3 存储器的选型 (583)
17.4 FPGA外围器件的选择与设计 (584)
17.4.1 电阻 (585)
17.4.2 电容 (585)
17.4.3 磁珠 (588)
17.4.4 保险丝 (590)
17.5 基于核心板的系统设计 (592)
17.6 基于低功耗系统的电源选型 (593)
17.7 高速系统的PCB设计要点 (598)
17.7.1 结构布局 (598)
17.7.2 电路板的多层设计 (598)
17.7.3 过孔设计要点 (599)
17.7.4 防止串扰的布线原则 (600)
17.7.5 差分线布线原则 (600)
17.7.6 开关电源PCB设计要点 (601)
17.8 本章小结 (602)
第18章 基于高速相机的嵌入式视觉处理系统设计 (603)
18.1 视觉处理系统概述 (603)
18.2 嵌入式视觉处理系统结构设计 (604)
18.3 芯片选型 (606)
18.4 基于Camera Link工业相机接口的硬件设计 (608)
18.5 基于Camera Link接口的FPGA程序设计要点 (612)
18.6 基于VGA接口的图像的实时缩小与算法结构 (613)
18.7 FPGA与DSP的协同工作模式 (616)
18.8 乒乓操作的进阶―零延时数据传输 (616)
18.9 系统调试 (617)
18.10 本章小结 (618)
缩略语对照表 (619)
符号对照表 (625)
序一~序八
既然选择了远方,便不顾风雨兼程
从正确通往完美的路,是很遥远并万分艰辛的……
决定执笔此书,已经有将近一年的光阴。第一版已售罄,有幸迎来了本书第二春。时间过得太快,甚至都没来得及回味,却又得开始不停地追随。我们总是在不停地奔跑,却又没有时间停下来思索——我们,究竟在坚持什么?是因为兴趣使然,挡不住的诱惑?还是因为吃穿住行、柴米油盐酱醋?是因为歪打正着,稀里糊涂地过活?还是因为雄心壮志,不顾一切地追求……
也许我只是一个FPGA界的小人物,也许我还没有资格在数字界说三道四,也许我还不足以写出一本脍炙人口的好书,也许这本书会因为相关的不足而被喷得体无完肤,但仅此希望,我的点滴总结,我的肺腑之言,能够帮助一些曾经与我一样,在FPGA成长道路上迷茫、挣扎、徘徊的朋友,能让他们少走些学习FPGA的弯路,能让他们认清FPGA的真谛,能让他们掌握设计的精髓,能让他们从此有目标地奋斗前行。
我出生于浙江诸暨的一个小山区,远离都市的繁华,从小成长在大山的怀抱。在长辈们眼里,考上大学,是山区孩子唯一的出路。从小按部就班地读书,千篇一律地重复,很难有自己的追求,直到高考的到来。高考,是我平凡命运的转折点,也是我跨出的人生的第一步。与大部分人一样,我并没有因为太多的了解,或者由于兴趣而选择专业,而是顺应时代的潮流。2008年9月,我第一次朦胧地跨入了电子信息工程这个专业(当年相当热门的一个专业)。
坐落于天堂杭州的杭州电子科技大学(简称杭电),是一所以电子专业著称的高校,也是一所改变我人生轨迹的大学。太多人因为电子梦,聚集到了这里;太多人满载着知识与梦想,挥手告别了这里。大学的四年,母校是我认清自己的净土,是我挣扎脱壳的摇篮,更是我梦想起航的地方。
作为一所以电子设计著称的高校,大部分学生都是赤裸裸地来追求技术的海洋。电子类学生对技术的狂热,尤其是大一学生的好奇,在刚入学期间表现得淋漓尽致。电子信息工程学院(简称电院)有一个无线电爱好者协会,是30多年前几位老前辈,由于彼此对无线电设计的兴趣而建立的团队,继而发展成为一个研究并培养对电子开发有热情的学生的协会。为了尊重创始人,该协会一直没改名字,但实质上一直都是一个以电子开发著称的社团。该协会是学校公认的一个以热情与激情、兴趣与责任结晶的社团,坐落于电院2#中楼,在每一届会长的带领下,以阶梯式教育的方式,在课外培养了一代又一代技术狂人,同时每年均会选拔一部分愿意留任,担负培养下一代重任的学生。几十年来,协会培 FPGA设计技巧与案例开发详解(第2版) 下载 mobi epub pdf txt 电子书 格式
FPGA设计技巧与案例开发详解(第2版) 下载 mobi pdf epub txt 电子书 格式 2024
FPGA设计技巧与案例开发详解(第2版) 下载 mobi epub pdf 电子书书中印刷有瑕疵,整体还可以
评分不错的书
评分很好的书,很适合做图像处理参考书
评分搞FPGA开发的必备书籍
评分不错的书
评分很好,书也不错,值得学习!从入门开始!!!!希望下次优惠点
评分不错,正在看呢,可惜没有相关的班子
评分好
评分凑单买的,以前就打算学习这方面的内容,书还没有看,不过看到作者是几个FPGA的疯狂爱好者写的,应该是本不错的书,这段时间好好研究下
FPGA设计技巧与案例开发详解(第2版) mobi epub pdf txt 电子书 格式下载 2024