Altera FPGA工程师成长手册
2012-6
清华大学出版社
陈欣波
394
无
《Altera FPGA工程师成长手册(8小时多媒体教学视频)》以Altera公司的FPGA为例,由浅入深,全面、系统地详细讲述了基于可编程逻辑技术的设计方法。本书讲解时穿插了大量典型实例,便于读者理解和演练。另外,为了帮助读者更好地学习,本书提供了配套语音教学视频,请在清华大学出版社网站上搜索到本书页面后查看下载方式。 本书涉及面广,从基本的软件使用到一般电路设计,再到NiosII软核处理器的设计,几乎涉及FPGA开发设计的所有知识。具体内容包括:EDA开发概述、Altera QuartusII开发流程、Altera QuartusII开发向导、VHDL语言、基本逻辑电路设计、宏模块、LPM函数应用、基于FPGA的DSP开发设计、SOPC系统构架、SOPC系统硬件开发、SOPC系统软件开发、NiosII常用外设、Logic Lock优化技术等。 本书适合学习FPGA开发设计的各个院校的本科学生阅读,也适合各类使用FPGA进行开发的初级工程技术人员使用。
陈欣波,毕业于成都电子科技大学电路与系统专业,获工学硕士学位。现任职于四川攀枝花学院电气信息工程学院,从事电子信息工程专业的教学和科研工作。负责讲授过《数字电路设计》、《数字信号处理》、《VHDL程序设计》、《CPLD/FPGA基础》和《电子技术综合实验》等课程。参与辅导过大学生电子竞赛,参与过多个大型项目的设计与开发。
第1篇 fpga开发基础 第1章 eda技术概述 1.1 eda技术及发展 1.1.1 何谓eda技术 1.1.2 基于大规模可编程逻辑器件的数字系统设计 1.2 可编程逻辑器件的发展简介 1.2.1 逻辑设计基本流程 1.2.2 可编程逻辑器件pal 1.2.3 从pal到pld到复杂可编程逻辑器件cpld 1.2.4 从cpld到fpga的产生 1.2.5 在系统编程问题的解决 1.3 fpga系统结构和资源 1.3.1 可编程逻辑单元(le) 1.3.2 可编程布线 1.3.3 可编程i/o 1.3.4 嵌入式存储器ram 1.3.5 嵌入式乘法器 1.3.6 时钟 1.3.7 锁相环 1.3.8 fpga与cpld的对比 1.4 fpga的设计流程 1.5 altera公司fpga低成本器件—sycloneⅱ 1.5.1 主要特性 1.5.2 基于数字信号处理(dsp)应用 1.5.3 专用外部存储器接口 1.5.4 嵌入式锁相环 1.5.5 单端i/o特性 1.5.6 差分i/o特性 1.5.7 自动crc检测 1.5.8 支持nios ii嵌入式处理器 1.6 altera公司fpga高成本器件—stratix ⅲ器件 1.6.1 主要特性 1.6.2 体系架构 1.6.3 trimatrix嵌入式存储器 1.6.4 dsp块 1.6.5 时钟网络和锁相环 1.6.6 高速i/o信号和接口 1.6.7 设计安全性 1.7 小结 第2章 altera quartus ii软件开发流程 2.1 quartus ii综述 2.1.1 quartus ii软件的特点 2.1.2 quartus ii设计软件的流程和集成的工具 2.1.3 quartus ii软件的用户界面 2.2 设计输入 2.2.1 建立工程 2.2.2 输入方式 2.3 约束输入 2.3.1 使用分配编辑器 2.3.2 使用引脚规划器 2.3.3 使用settings对话框 2.4 综合 2.4.1 使用quartus ii软件集成的综合工具 2.4.2 使用其他 eda 综合工具 2.4.3 使用rtl查看器和状态机查看器分析综合结果 2.5 布局布线 2.5.1 设置fitter选项 2.5.2 设置物理综合优化选项 2.5.3 通过反标保留分配 2.6 仿真 2.6.1 quartus ii仿真器设置 2.6.2 建立用于仿真的波形文件 2.7 编程与配置 2.7.1 建立编程文件 2.7.2 器件编程和配置 2.8 小结 第3章 altera quartus ii软件开发向导 3.1 模块编辑及设计流程 3.1.1 原理图输入文件的建立 3.1.2 图表模块输入 3.1.3 原理图设计流程 3.1.4 波形仿真 3.1.5 引脚分配 3.1.6 下载验证 3.1.7 quartus ii的几个常用功能。 3.2 文本编辑及设计流程 3.2.1 建立文本文件 3.2.2 文本设计流程——建立新工程 3.2.3 文本设计流程——编译工程 3.2.4 文本设计流程——建立矢量波形文件 3.2.5 文本设计流程——仿真波形 3.2.6文本设计流程——引脚分配及下载验证 3.3 混合设计 3.3.1 建立计数器文件 3.3.2 建立七段译码显示电路文件 3.3.2 设计流程 3.4 使用signal tap ii的实时测试 3.4.1 打开signal tap ii的编辑窗口 3.4.2 调入待测信号 3.4.3 设置signal tap ii参数 3.4.4 文件存盘 3.4.5 编译选择 3.4.6 启动signal tap ii进行采样分析 3.4.7 signal tap ii的其他设置和控制方法 3.5 小结 第4章 vhdl语言基础 4.1 vhdl语言基本结构 4.1.1 实体 4.1.2 结构体 4.1.3 配置 4.1.4 库 4.2 vhdl语言要素 4.2.1 vhdl文法规则 4.2.2 vhdl数据对象 4.2.3 数据类型 4.2.4 操作符 4.3 顺序语句 4.3.1 赋值语句 4.3.2 if语句 4.3.3 case语句 4.3.4 loop语句 4.3.5 跳出循环的语句 4.3.6 return语句 4.4.7 null语句 4.4 并行语句 4.4.1 并行信号赋值语句 4.4.2 进程(process)语句 4.5 子程序 4.5.1 过程 4.5.2 函数 4.6 vhdl语言描述风格 4.6.1 行为描述 4.6.2 数据流描述 4.6.3 结构化描述 4.7 小结 第5章 基本逻辑电路设计 5.1 组合逻辑电路设计 5.1.1 门电路设计 5.1.2 三态门及总线缓冲器设计 5.1.3 编码器、译码器设计 5.1.4 多路数据选择器和多路数据分配器设计 5.2 时序逻辑电路设计 5.2.1 触发器设计 5.2.2 寄存器设计 5.2.2 计数器设计 5.3 有限状态机电路设计 5.3.1 有限状态机概述 5.3.2 有限状态机的算法描述 5.3.3 有限状态机的vhdl描述模式 5.4 设计实例:交通信号灯控制器设计 5.4.1 交通信号灯控制器设计要求 5.4.2 交通信号灯控制器的设计分析 5.5 小结 第2篇 fpga实例开发部分 第6章 宏模块和lpm函数的应用 6.1 存储器模块的用法 6.1.1 ram的使用 6.1.2 rom的建立过程 6.1.3 fifo的建立使用 6.2 乘法器和锁相环的使用 6.2.1 乘法器的使用 6.2.2 锁相环的使用 6.3 nco ip核的使用 6.4 基于宏模块的设计实例 6.4.1 正弦波信号发生器的设计 6.4.2 流水线乘累加器的设计 6.5 小结 第7章 基于fpga的dsp开发设计 7.1 概述 7.2 dsp builder功能简介与设计流程 7.2.1 dsp builder功能简介 7.2.2 dsp builder设计流程 7.3 基于dsp builder技术的设计示例——调幅电路 7.3.1 在matlab/simulink中建立算法模型 7.3.2 准备工作 7.3.3 在新模型窗口中添加单元模块 7.3.4 在simulink环境中仿真 7.3.5 在modelsim环境中进行功能仿真 7.3.6 在quartusⅱ环境中进行时序仿真 7.4 基于dsp builder的层次化设计——fir滤波器 7.4.1 fir滤波器的原理 7.4.2 建立系统设计模型 7.4.3 建立子系统的模型 7.4.4 在 simulink和modelsim中仿真 7.5 megacore function函数的使用 7.5.1 安装megacore函数 7.5.2 使用megacore函数的设计流程 7.5.3 使用megacore函数设计fir滤波器 7.6 小结 第3篇 fpga高级应用部分 第8章 sopc技术开发概述 8.1 sopc的概念 8.2 sopc系统的核心——nios ii处理器 8.3 sopc系统开发流程 8.3.1 sopc builder的设计流程 8.3.2 sopc的设计阶段 8.4 sopc系统开发环境 8.5 小结 第9章 sopc系统构架 9.1 nios ⅱ处理器体系结构 9.1.1 nios ii的内部寄存器 9.1.2 nios ii存储器与i/o组织 9.2 nios ii的异常处理 9.2.1.硬件中断 9.2.2.软件异常 9.2.3.nios ii的异常处理流程 9.3 算术逻辑单元和复位信号 9.3.1.算术逻辑单元 9.3.2 复位信号 9.4 jtag调试模块 9.5 avalon总线 9.5.1 avalon互联规范 9.5.2 avalon总线的概念 9.5.3 avalon总线信号 9.5.4 avalon的中断与复位信号 9.5.5 avalon总线传输 9.6 小结 第10章 soc系统硬件开发 10.1 数字钟的设计要求 10.2 硬件开发流程 10.3 创建quartus ii工程 10.3.1 创建quartus ii工程 10.3.2 创建顶层实体文件 10.4 创建nios ii系统模块 10.4.1 创建新系统 10.4.2 加入nios ii处理器 10.4.3 加入外围模块 10.4.4 分配系统各ip模块的地址和中断号分配、niosⅱ系统配置 10.4.5 生成nios ii并添加到工程中 10.4.6 建立锁相环pll模块 10.5 编译和下载 10.5.1 引脚分配 10.5.2 配置工程 10.5.3 编译设计 10.5.4 程序配置下载 10.6 小结 第11章 sopc系统软件开发 11.1 nios ii ide 简介 11.1.1 nios ii ide的功能模块 11.1.2 niosii ide开发流程 11.2 基于niosⅱide软件示例——数字钟软件 11.2.1 建立软件工程 11.2.2 编译工程 11.2.3 运行 11.3 数字钟的程序设计 11.4 hal系统库 11.4.1 hal简述 11.4.2 目前提供的主要hal资源 11.5 使用hal开发应用程序 11.6 小结 第12章 nios ii常用外设使用 12.1 并行输入输出内核(pio) 12.1.1 pio内核简介 12.1.2 pio内核的配置 12.1.3 pio内核的c语言编程 12.2 定时器的使用 12.2.1 内核定时器简介 12.2.2 定时器内核的配置 12.2.3 定时器内核的c语言编程 12.3 flash接口控制器的使用 12.3.1 flash接口控制器简介 12.3.2 cfi控制器的配置 12.3.3 cfi控制器的c语言编程 12.4 sdram控制器的使用 12.4.1 sdram控制器内核概述 12.4.2 sdram内核配置 12.4.3 软件编程 12.5 uart的使用 12.5.1 uart内核简介 12.5.2 uart内核的寄存器 12.5.3 uart内核配置 12.5.4 软件编程 12.6 小结 第13章 logiclock优化技术 13.1 logiclock优化技术简介 13.1.1 logiclock 设计方法目标 13.1.2 logiclock的区域 13.1.3 锁定区域的基本方式 13.1.4 logiclock技术的应用流程 13.2 为应用logiclock技术准备的具体实例 13.2.1 数字滤波器结构及其vhdl描述 13.2.2 滤波器设计和结果 13.3 logiclock优化设计——底层模块设计 13.3.1 建立底层模块工程 13.3.2 建立父区域 13.3.3 定义逻辑锁定子区域 13.3.4 将设计实体移至锁定区域 13.3.5 编译优化锁定后的filter模块 13.3.6 输出逻辑锁定后的vqm文件 13.4 logiclock优化设计——顶层设计 13.4.1 建立顶层工程 13.4.2 将vqm文件加到顶层工程中 13.4.3 导入logiclock约束 13.5 小结 第14章 数字系统设计实例——电子乐器 14.1 电子乐器的设计 14.1.1 设计要求 14.1.2 设计原理 14.1.3 乐曲硬件演奏电路的层次化设计方案 14.2 fft设计 14.2.1 fft的原理 14.2.2 基于dsp builder设计fft的方法 14.3 sd卡驱动的设计 14.3.1 sd卡和spi内核简介 14.3.2 sd卡与fpga接口电路 14.3.3 硬件系统的sopc设计 14.3.4 系统软件设计 14.4 小结
版权页: 插图: 第1章 EDA技术概述 当今数字电子技术得到了飞速发展,有力地推动和促进了社会生产力和社会信息化的提高。数字电子技术逐步渗透到人类生活的各个领域。从消费电子产品、工业自动化设备到航天技术都能看到数字电子技术的身影。在技术发展的同时,电子产品的设计方式也发生了巨大的改变,采用EDA(电子设计自动化)技术成为数字电子设计的主要方式。 1.1 EDA技术及发展 数字电子技术工程师现在正面临着前所未有的挑战。一方面,电子公司要求工程师在更短的时间里,使用更少的资源来设计新产品,而且性能要比竞争产品好。另一方面,技术变化非常快,不同的客户有完全不同的需求,要求有更具个性化的产品。因此,EDA技术应运而生,成为解决以上“所有”问题的很好的技术选择。 1.1.1 何谓EDA技术 EDA技术是一门迅速发展的新技术。它以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具。它能用软件的方式设计电子系统,自动完成硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,最后在特定的目标芯片中完成适配编译、逻辑映射、编程下载等工作,形成集成电子系统或专用集成芯片。利用EDA技术进行电子系统的设计具有以下几个特点。 用软件的方式设计硬件。 用软件的方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的。 设计过程中可用有关软件进行各种仿真。 系统可现场编程,在线升级。 整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。因此,EDA技术是现代电子设计的发展趋势。 EDA技术是数字系统设计的核心技术,是电子类专业技术人员必须掌握的基本技能之一。目前的大规模可编程逻辑器件是CPLD(复杂可编程逻辑器件)和FPGA(可编程逻辑阵列)。 1.1.2 基于大规模可编程逻辑器件的数字系统设计 现代数字系统设计相当大一部分是基于大规模可编程逻辑器件的,这是因为基于大规模可编程逻辑器件的设计拥有面市时间快、灵活性大、可定制解决方案、开发成本低和具有现场更新能力等优点。工程师首先对系统或者设计进行构思,然后在计算机上采用高级语言(Verilog HDL语言或者VHDL语言)来描述这一构思,设计出软件代码。
随着电子技术的飞速发展,可编程逻辑技术FPGA的地位越来越重要,也有越来越多的人对FPGA技术感兴趣。本书系统讲解了FPGA涉及的相关技术,内容由浅入深,论述简单易懂,并提供了大量经典设计实例,帮助读者理解。读者可结合电子技术论坛的FPGA分论坛进行交流,以获得必要的帮助。 ——电子技术论坛(bbs.elecfans.com)
《Altera FPGA工程师成长手册》提供8小时多媒体教学视频,“电子技术论坛”鼎力推荐,27个应用实例、3个综合案例,基于多年教学经历,合理安排理论知识和实践内容,按照学习的认知次序组织内容,力求深入浅出,简单易懂,涵盖从基本逻辑电路设计到DSP模块设计,再到基于软核处理器的设计,列举大量实例讲解难于理解的内容,并给出详细说明和实现步骤,着力贯彻自顶向下的设计思路,培养层次化和模块化的设计思想,给老师专门提供教学PPT。 《Altera FPGA工程师成长手册》适合学习fpga开发设计的各个院校的本科学生阅读,也适合各类使用fpga进行开发的初级工程技术人员使用。
随着电子技术的飞速发展,可编程逻辑技术FPGA的地位越来越重要,也有越来越多的人对FPGA技术感兴趣。本书系统讲解了FPGA涉及的相关技术,内容由浅入深,论述简单易懂,并提供了大量经典设计实例,帮助读者理解。读者可结合电子技术论坛的FPGA分论坛进行交流,以获得必要的帮助。 ——电子技术论坛
无
Altera FPGA工程师成长手册 还是学习 应用书籍
主要是用VHDL,要是verilog就好了
电子科大校友出的书,果断实用,内容也较为全面
快递很给力,书是好书,加油吧!
看了一下,还不错,可以的
《Altera FPGA工程师成长手册》没给光盘
看得出作者确实做过不少项目,有很大的参考价值,值得推荐
总体思路不错
书的质量是不错的,没问题,但是有灰尘,而且压皱了。
还未看完,看完再来谈谈。
和同类书,没有什么可比性,天下文章一个抄,但也的用心抄。
纸张算结实,印刷也可以,是正版。大体翻看了一下,内容范围广泛,蜻蜓点水,适合初学者,便于熟悉大体框架内容。这本书中代码都是VHDL语言编写。看介绍上说有配书光盘,到手后发现并没有光盘,而是要从网上下载,这点,我不太满意。
书还可以,就是没光盘
由于我学的是verilog,书中的思想能给予借鉴
书内容还不错,但是封皮被磨的旧的很,不像新书,懒得换了
呵呵!在书店看到这书不错,但是书店不给打折,还是在网上买实惠,送货又快
质量还不错,内容也还行。
不错物流也给力
altera较权威的书
正在努力研究中...
非常好,如同上培训班一样,有个视频看看。
名字起的好,内容写得好。突出一个成长!