作者 |
刘火良 杨森 张硕 |
丛书名 |
电子与嵌入式系统设计丛书 |
出版社 |
机械工业出版社 |
ISBN |
9782103111744 |
简要 |
简介 |
内容简介书籍计算机书籍 ---------------------------8078726 - FPGA Verilog开发实战指南:基于Intel Cyclone IV(进阶篇)--------------------------- 本书内容衔接《FPGA Verilog开发实战指南:基于Intel Cyclone IV(基础篇)》,基于通用Intel Cyclone IV系列FPGA开发板介绍FPGA工程设计方法和实践,并给出了大量参考实例。全书包括12章,以进阶提高内容为主,涉及WM8978音频回环实验、乒乓操作、SDRAM读写控制器的设计与验证、WM8978录音与回放、OV7725摄像头VGA图像显示、快速批量绑定或删除引脚配置、SD卡音乐播放、以太网数据回环实验、基于以太网传输的VGA图片显示、基于OV7725的以太网视频传输、时序分析理论基础,详细介绍每个操作步骤,并附上大量的截图供读者在实际操作时参考。 ---------------------------8078506 - FPGA Verilog开发实战指南:基于Intel Cyclone IV(基础篇)--------------------------- 本书包括32个章节,按照先易后难的顺序进行讲解,分为硬件说明篇、软件安装篇、基础入门篇和学习强化篇四大板块。从基础的硬件介绍、软件安装到基本电路开发,手把手教学。考虑到大多数学习者为FPGA初学者,所以本书把操作中的每个步骤都尽可能详细的介绍和描述,并附上大量的截图以供学习者实操参考。 |
目录 |
[套装书具体书目] 8078506 - FPGA Verilog开发实战指南:基于Intel Cyclone IV(基础篇) - 9787111674160 - 机械工业出版社 - 定价 199 8078726 - FPGA Verilog开发实战指南:基于Intel Cyclone IV(进阶篇) - 9787111674108 - 机械工业出版社 - 定价 169 ---------------------------8078726 - FPGA Verilog开发实战指南:基于Intel Cyclone IV(进阶篇)--------------------------- 前 言 第1章 WM8978音频回环实验 1 1.1 理论学习 1 1.1.1 声音的基本概念 1 1.1.2 I2S音频总线 2 1.1.3 WM8978芯片 2 1.2 实战演练 8 1.2.1 实验目标 8 1.2.2 硬件资源 8 1.2.3 程序设计 8 1.3 章末总结 31 第2章 乒乓操作 32 2.1 理论学习 32 2.1.1 乒乓操作简介 32 2.1.2 乒乓操作特点 33 2.2 实战演练 33 2.2.1 实验目标 33 2.2.2 程序设计 33 2.3 章末总结 53 第3章 SDRAM读写控制器的设计与验证 54 3.1 理论学习 54 3.1.1 SDRAM基本概念 54 3.1.2 SDRAM数据存取原理 55 3.1.3 SDRAM器件引脚说明 57 3.1.4 SDRAM的存储容量与速度等级 58 3.1.5 SDRAM的操作命令 61 3.1.6 SDRAM的操作时序 68 3.2 实战演练 69 3.2.1 实验目标 69 3.2.2 硬件资源 69 3.2.3 程序设计 69 3.3 章末总结 182 第4章 WM8978录音与回放 183 4.1 理论学习 183 4.2 实战演练 185 4.2.1 实验目标 185 4.2.2 硬件资源 185 4.2.3 程序设计 187 4.3 章末总结 213 第5章 OV7725摄像头VGA图像显示 214 5.1 理论学习 214 5.1.1 摄像头简介 214 5.1.2 OV7725简介 215 5.1.3 OV7725的寄存器 219 5.2 实战演练 221 5.2.1 实验目标 221 5.2.2 硬件资源 221 5.2.3 程序设计 222 5.3 章末总结 259 第6章 快速批量绑定或删除引脚配置 260 6.1 快速绑定引脚 260 6.2 快速删除引脚 266 6.3 导出Tcl脚本 268 第7章 SD卡数据读写控制 270 7.1 理论学习 270 7.1.1 SD卡简介 270 7.1.2 SD卡容量标准和速度等级 272 7.1.3 SD卡物理结构 274 7.1.4 SD卡命令控制 276 7.2 实战演练 280 7.2.1 实验目标 280 7.2.2 硬件资源 280 7.2.3 程序设计 281 7.3 章末总结 345 第8章 SD卡音乐播放 346 8.1 理论学习 346 8.1.1 音频参数简介 346 8.1.2 音乐格式简介 347 8.1.3 WM8978音乐播放寄存器配置 348 8.2 实战演练 350 8.2.1 实验目标 350 8.2.2 硬件资源 350 8.2.3 程序设计 350 8.3 章末总结 372 第9章 以太网数据回环实验 373 9.1 理论学习 373 9.1.1 OSI七层模型 373 9.1.2 TCP/IP五层模型 374 9.1.3 以太网 375 9.1.4 IP协议 379 9.1.5 UDP协议 381 9.2 实战演练 383 9.2.1 实验目标 383 9.2.2 硬件资源 383 9.2.3 程序设计 384 9.3 章末总结 460 第10章 基于以太网传输的VGA图片显示 461 10.1 理论学习 461 10.2 实战演练 461 10.2.1 实验目标 461 10.2.2 硬件资源 461 10.2.3 程序设计 461 10.3 章末总结 487 第11章 基于OV7725的以太网视频传输 488 11.1 理论学习 488 11.2 实战演练 488 11.2.1 实验目标 488 11.2.2 硬件资源 488 11.2.3 程序设计 488 11.3 章末总结 529 第12章 时序分析理论基础 530 后记 537 ---------------------------8078506 - FPGA Verilog开发实战指南:基于Intel Cyclone IV(基础篇)--------------------------- 前言 硬件说明篇 第1章 初识FPGA 2 1.1 FPGA是什么 2 1.1.1 名词解释 2 1.1.2 FPGA发展历程 2 1.2 FPGA的技术优势 7 1.3 FPGA的应用方向 9 第2章 硬件开发平台详解 15 2.1 开发板简介 15 2.2 国内外FPGA产业现状 19 2.3 选择Cyclone IV的理由 20 2.4 Cyclone系列FPGA芯片的命名方法 23 2.5 FPGA内部硬件结构简介 24 2.6 FPGA内部硬件结构与代码的关系 33 2.6.1 I/O的映射 34 2.6.2 组合逻辑映射 43 2.6.3 时序逻辑映射 45 2.6.4 指定PLL的映射位置 56 软件安装篇 第3章 Quartus软件和USB-Blaster驱动安装 66 3.1 Quartus II_13.0软件的安装 66 3.2 添加器件库 72 3.3 USB-Blaster驱动器的安装 76 第4章 ModelSim软件安装 80 第5章 Visio和Notepad++软件安装 87 5.1 Visio软件的安装 87 5.2 Notepad++软件的安装 93 第6章 实现Quartus和ModelSim、Notepad++软件关联 99 6.1 Quartus II_13.0和ModelSim_10.5se软件的关联 99 6.2 Quartus II_13.0和Notepad++软件的关联 101 基础入门篇 第7章 初识Verilog HDL 106 7.1 为什么选择用Verilog HDL开发FPGA 106 7.1.1 Verilog HDL和VHDL的比较 106 7.1.2 Verilog HDL和C语言的比较 107 7.2 Verilog HDL语言的基础语法 107 7.2.1 标识符 107 7.2.2 逻辑值 108 7.2.3 常量 108 7.2.4 变量 109 7.2.5 参数 109 7.2.6 赋值语句 110 7.2.7 注释 110 7.2.8 关系运算符 111 7.2.9 归约运算符、按位运算符和逻辑运算符 111 7.2.10 移位运算符 112 7.2.11 条件运算符 112 7.2.12 优先级 112 7.2.13 位拼接运算符 113 7.2.14 if-else与case 113 7.2.15 inout双向端口 115 7.2.16 Verilog语言中的系统任务和系统函数 116 7.3 章末总结 123 第8章 点亮LED灯 124 8.1 正确的设计流程 124 8.2 工程文件夹的管理 124 8.3 一个完整的设计过程 126 8.3.1 功能简介 126 8.3.2 硬件资源 126 8.3.3 新建一个Visio文件及其配置 127 8.3.4 模块和端口信号划分 130 8.3.5 波形设计 131 8.3.6 新建工程 133 8.3.7 RTL代码的编写 140 8.3.8 代码的分析和综合 143 8.3.9 查看RTL视图 144 8.3.10 Testbench的原理 145 8.3.11 Testbench代码的编写 147 8.3.12 仿真设置 151 8.3.13 设置NativeLink 153 8.3.14 打开ModelSim观察波形 155 8.3.15 仿真波形分析 162 8.3.16 引脚约束 162 8.3.17 全编译 165 8.3.18 通过JTAG将网表下载到开发板 168 8.3.19 未使用引脚的默认设置 172 8.3.20 程序的固化 174 8.4 章末总结 185 第9章 简单组合逻辑 186 9.1 理论学习 186 9.1.1 多路选择器 186 9.1.2 译码器 186 9.1.3 半加器 187 9.2 实战演练—多路选择器 187 9.2.1 实验目标 187 9.2.2 硬件资源 187 9.2.3 程序设计 188 9.3 实战演练—译码器 198 9.3.1 实验目标 198 9.3.2 程序设计 198 9.4 实战演练—半加器 205 9.4.1 实验目标 205 9.4.2 硬件资源 205 9.4.3 程序设计 206 9.5 章末总结 211 第10章 层次化设计 213 10.1 理论学习 213 10.2 实战演练 215 10.2.1 实验目标 215 10.2.2 硬件资源 215 10.2.3 程序设计 215 10.3 章末总结 225 第11章 避免Latch的产生 226 11.1 Latch是什么 226 11.2 Latch的危害 226 11.3 几种产生Latch的情况 226 11.4 章末总结 232 第12章 时序逻辑的开始——寄存器 234 12.1 理论学习 234 12.2 实战演练 234 12.2.1 实验目标 234 12.2.2 硬件资源 235 12.2.3 程序设计 236 12.3 章末总结 243 第13章 阻塞赋值与非阻塞赋值 245 13.1 理论学习 245 13.2 阻塞赋值 246 13.3 非阻塞赋值 248 13.4 章末总结 251 第14章 计数器 252 14.1 理论学习 252 14.2 实战演练 252 14.2.1 实验目标 252 14.2.2 硬件资源 252 14.2.3 程序设计 253 14.3 章末总结 262 第15章 分频器 263 15.1 理论学习 263 15.2 实战演练一 263 15.2.1 实验目标 263 15.2.2 硬件资源 264 15.2.3 程序设计 264 15.3 实战演练二 270 15.3.1 实验目标 270 15.3.2 硬件资源 271 15.3.3 程序设计 271 15.4 章末总结 278 第16章 按键消抖模块的设计与验证 279 16.1 理论学习 279 16.1.1 硬件消抖 280 16.1.2 软件消抖 281 16.2 实战演练 281 16.2.1 实验目标 281 16.2.2 程序设计 281 16.3 章末总结 288 第17章 流水灯 289 17.1 理论学习 289 17.2 实战演练 289 17.2.1 实验目标 289 17.2.2 硬件资源 289 17.2.3 程序设计 290 17.3 章末总结 294 第18章 状态机 295 18.1 理论学习 295 18.2 实战演练一 297 18.2.1 实验目标 297 18.2.2 程序设计 297 18.3 实战演练二 308 18.3.1 实验目标 309 18.3.2 程序设计 309 18.4 章末总结 316 第19章 数码管的动态显示 318 19.1 理论学习 318 19.1.1 数码管简介 318 19.1.2 八段数码管 318 19.1.3 74HC595简介 321 19.1.4 数码管动态显示简介 323 19.2 实战演练 324 19.2.1 实验目标 324 19.2.2 硬件资源 324 19.2.3 程序设计 325 19.3 章末总结 353 第20章 快速开发的法宝——IP核 354 20.1 理论学习 354 20.2 实战演练 358 20.2.1 IP核之PLL 359 20.2.2 IP核之ROM 376 20.2.3 IP核之RAM 406 20.2.4 IP核之FIFO 439 20.3 章末总结 463 学习强化篇 第21章 串口RS-232 466 21.1 理论学习 466 21.1.1 串口简介 466 21.1.2 RS-232信号线 467 21.1.3 RS-232通信协议简介 469 21.2 实战演练 470 21.2.1 实验目标 470 21.2.2 硬件资源 470 21.2.3 程序设计 472 21.3 章末总结 504 第22章 使用SignalTap II嵌入式逻辑分析仪在线调试 506 22.1 逻辑分析仪简介 506 22.2 SignalTap II的用法 508 第23章 简易频率计的设计与验证 528 23.1 理论学习 528 23.2 实战演练 529 23.2.1 实验目标 529 23.2.2 硬件资源 529 23.2.3 程序设计 530 23.3 章末总结 544 第24章 简易DDS信号发生器的设计与验证 545 24.1 理论学习 545 24.2 实战演练 548 24.2.1 实验目标 548 24.2.2 硬件资源 548 24.2.3 程序设计 551 24.3 章末总结 574 第25章 简易电压表的设计与验证 575 25.1 理论学习 575 25.2 实战演练 576 25.2.1 实验目标 576 25.2.2 硬件资源 577 25.2.3 程序设计 579 25.3 章末总结 591 第26章 VGA显示器驱动设计与验证 592 26.1 理论学习 592 26.1.1 VGA简介 592 26.1.2 VGA接口及引脚定义 593 26.1.3 VGA显示原理 595 26.1.4 VGA时序标准 596参数 598 26.2 实战演练 600 26.2.1 实验目标 600 26.2.2 硬件资源 600 26.2.3 程序设计 601 26.3 章末总结 623 第27章 HDMI显示器驱动设计与验证 624 27.1 理论学习 624 27.1.1 HDMI简介 624 27.1.2 HDMI接口及引脚定义 625 27.1.3 HDMI显示原理 628 27.2 实战演练 631 27.2.1 实验目标 631 27.2.2 硬件资源 631 27.2.3 程序设计 632 27.3 章末总结 655 第28章 TFT-LCD液晶屏驱动设计与验证 656 28.1 理论学习 656 28.1.1 TFT-LCD简介 656 28.1.2 RGB接口TFT-LCD时序 658 28.1.3 RGB接口TFT-LCD分辨率 660 28.2 实战演练 660 28.2.1 实验目标 660 28.2.2 硬件资源 661 28.2.3 程序设计 662 28.3 章末总结 683 第29章 FIFO求和实验 684 29.1 理论学习 684 29.2 实战演练 685 29.2.1 实验目标 685 29.2.2 程序设计 685 29.3 章末总结 701 第30章 基于Sobel算法的边缘检测设计与实现 702 30.1 理论学习 702 30.1.1 边缘检测 702 30.1.2 Sobel算法简介 702 30.2 实战演练 703 30.2.1 Sobel算法实现 703 30.2.2 实验目标 703 30.2.3 硬件资源 704 30.2.4 程序设计 704 30.3 章末总结 730 第31章 基于SPI协议的Flash驱动控制 731 31.1 理论学习 731 31.1.1 SPI物理层 731 31.1.2 SPI协议层 733 31.2 实战演练 735 31.2.1 SPI-Flash全擦除实验 736 31.2.2 SPI-Flash页写实验 755 31.2.3 SPI_Flash读数据实验 771 31.3 章末总结 793 第32章 基于I2C协议的EEPROM驱动控制 794 32.1 理论学习 794 32.1.1 I2C物理层 794 32.1.2 I2C协议层 795 32.2 实战演练 802 32.2.1 实验目标 802 32.2.2 硬件资源 802 32.2.3 程序设计 803 32.3 章末总结 844 后记 845 |