书籍详情
《AlteraFPGA系统设计实用教程》[59M]百度网盘|亲测有效|pdf下载
  • AlteraFPGA系统设计实用教程

  • 出版社:清华大学出版社京东自营官方旗舰店
  • 出版时间:2017-06
  • 热度:11793
  • 上架时间:2024-06-30 09:38:03
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

编辑推荐

本书为北京市精品课程配套教材!先后有超过100所高校选用,畅销书升级!入选教育部高等学校电子信息类专业教学指导委员会规划教材!北京市精品课程教材!配套教学课件及源代码!入选北京高校优质本科教材课件项目!

本书从基础到应用,系统介绍了Altera FPGA的开发应用知识。基础部分包括FPGA开发流程、硬件描述语言VHDL和Verilog、Quartus Prime开发环境、基本电路的FPGA设计、基于IP核的设计等内容; 应用部分包括人机交互接口设计、数字信号处理电路设计、密码算法设计、嵌入式Nios设计等内容。全书语言简明易懂、逻辑清晰,向读者提供了不同领域的FPGA应用实例以及完整的设计源程序。本书可作为高等学校电子信息、计算机、自动化等专业的本科生教材,也可供从事电子设计的工程技术人员参考。

内容简介

本书从基础到应用,系统介绍了Altera FPGA的开发应用知识。基础部分包括FPGA开发流程、硬件描述语言VHDL和Verilog、Quartus Prime开发环境、基本电路的FPGA设计、基于IP核的设计等内容; 应用部分包括人机交互接口设计、数字信号处理电路设计、密码算法设计、嵌入式Nios设计等内容。全书语言简明易懂、逻辑清晰,向读者提供了不同领域的FPGA应用实例以及完整的设计源程序。本书可作为高等学校电子信息、计算机、自动化等专业的本科生教材,也可供从事电子设计的工程技术人员参考。

作者简介

李莉:北京电子信息科技学院教授,“EDA原理及应用”精品课程负责人。

精彩书评

  《AlteraFPGA系统设计实用教程(第2版)》教材融合了作者多年在FPGA开发方面的教学和科研经验,具有如下鲜明特色:知识内容恰当地反映了FPGA的发展与应用趋势,体系安排具有特色,加强了经典内容与现代技术的融合,加入了具有软硬结合的综合案例;结构编排符合认识规律,重点突出,难易适度,具有良好的可读性和工程实用性,有助于教师教学和学生自学。毫无疑问,本书是一本不可多得的EDA设计领域的好书!
  ——北京交通大学侯建军
  《AlteraFPGA系统设计实用教程(第2版)》是一本内容丰富且极具实用性的著作,内容涵盖从基础到应用,循序渐进地介绍了语言、FPGA器件、开发工具、开发流程和综合实例,采用了*新的QuartusPrime开发环境,是一本进行FPGA设计的极好的参考教材。
  ——北京石油化工学院李洋
  《AlteraFPGA系统设计实用教程(第2版)》兼顾基础性和实用性,内容涵盖了可编程逻辑器件FPGA开发过程的各个环节。书中实例丰富,分别就控制功能、信号处理功能、密码算法功能和嵌入式软核的设计与使用进行了详细论述,并提供了丰富的实例和图表,特别适合作为FPGA初学者的入门教程。
  ——北京服装学院范秀娟
  这本书的层次性和易读性更贴近我们实际的学习,使我们学习FPGA的开发技术更加容易。本书内容涵盖了FPGA的基本设计方法和设计流程、硬件描述语言、开发工具,以及FPGA设计实例与应用。本书通过实例化、模型化、系统化的讲解,使得本书非常容易读懂。此外,书中给出了大量的流程图及程序算法实例,将理论知识与实践应用相结合,非常有利于读者在动手实践中掌握FPGA开发技术。
  ——北京电子科技学院倪杨


目录

第1章FPGA开发简介
1.1可编程逻辑器件概述
1.2FPGA芯片
1.2.1FPGA框架结构
1.2.2Altera公司的FPGA
1.3FPGA开发工具
1.4基于FPGA的开发流程
1.4.1FPGA设计方法概论
1.4.2典型FPGA开发流程
1.4.3FPGA的配置
1.4.4基于FPGA的SoC设计方法
第2章硬件描述语言
2.1VHDL硬件描述语言
2.1.1程序基本结构
2.1.2VHDL程序语法规则
2.1.3并行语句
2.1.4顺序语句
2.1.5子程序及子程序调用语句
2.2Verilog硬件描述语言
2.2.1Verilog HDL程序基本结构
2.2.2Verilog HDL数据类型
2.2.3Verilog HDL运算符
2.2.4Verilog HDL描述语句
2.2.5语句的顺序执行与并行执行
2.2.6Verilog HDL元件例化
第3章Quartus Prime设计开发环境
3.1Quartus Prime概述
3.2Quartus Prime设计流程
3.2.1设计输入
3.2.2设计处理
3.2.3波形仿真
3.2.4器件编程
3.3嵌入式逻辑分析仪使用
第4章基本电路的HDL设计
4.1基本电路的VHDL设计
4.1.1优先编码器
4.1.2数据选择器
4.1.3组合逻辑电路与并行语句、进程语句的关系
4.1.4运算电路
4.1.5时钟信号
4.1.6锁存器和触发器
4.1.7同步、异步信号描述
4.1.8同步电路设计原则
4.1.9计数器
4.1.10分频电路
4.1.11寄存器
4.1.12状态机
4.1.13动态扫描电路
4.2基本电路的Verilog设计
4.2.1优先编码器
4.2.2译码器
4.2.3数据选择器
4.2.4运算电路设计
4.2.5时钟信号
4.2.6触发器
4.2.7同步、异步控制信号
4.2.8计数器
4.2.9分频器
4.2.10寄存器
4.2.11串并转换电路
4.2.12有限状态机
4.2.13动态扫描电路
第5章基于IP的设计
5.1IP核
5.2触发器IP核的VHDL设计应用
5.3存储器IP核的VHDL设计应用
5.4锁相环IP核的VHDL设计应用
5.5运算电路IP核的VHDL设计应用
第6章人机交互接口设计
6.1键盘扫描电路的VHDL设计
6.1.1设计原理
6.1.2设计实现
6.1.3综合仿真
6.2液晶驱动电路的VHDL设计
6.2.1设计原理
6.2.2设计实现
6.2.3综合仿真
第7章数字信号处理
7.1差错控制电路的VHDL设计(CRC校验电路)
7.1.1设计原理
7.1.2校验电路的VHDL实现
7.1.3综合仿真
7.2滤波电路的VHDL设计
7.2.1设计原理
7.2.2FIR滤波电路的设计实现
7.2.3综合仿真
7.3HDB3基带信号编译码电路的VHDL设计
7.3.1设计原理
7.3.2设计实现
7.3.3综合仿真
第8章密码算法设计
8.1分组密码算法的VHDL设计(SM4)
8.1.1SM4算法原理
8.1.2设计实现
8.1.3仿真验证
8.2流密码算法的VHDL设计(ZUC)
8.2.1ZUC算法原理
8.2.2设计实现
8.2.3仿真验证
8.3HASH算法的VHDL设计(SM3)
8.3.1SM3算法原理
8.3.2设计实现
8.3.3仿真验证
第9章基于Nios Ⅱ的SOPC系统开发
9.1简介
9.1.1SOPC技术
9.1.2Nios Ⅱ嵌入式处理器
9.1.3Qsys开发工具
9.2SOPC硬件开发
9.2.1启动Qsys
9.2.2添加Nios Ⅱ及外设IP模块
9.2.3集成Nios Ⅱ系统至Quartus Prime
9.3SOPC软件系统开发
9.3.1创建Nios Ⅱ工程
9.3.2设置工程的系统属性
9.3.3程序编写及编译
9.3.4代码调试及运行
附录DES算法的S盒
参考文献

精彩书摘

  第3章
  CHAPTER 3
  Quartus Prime
  设计开发环境
  全球提供FPGA开发工具的厂商有近百家之多,大体分为两类: 一类是专业软件公司研制的FPGA开发工具,独立于半导体器件厂商; 另一类是半导体器件厂商为了开发本公司产品研制的FPGA开发工具,只能用来开发本公司的产品。本章介绍的Quartus开发工具属于后者,Quartus是Altera公司研制的FPGA开发工具。
  Quartus版本15.1之前的所有版本称作Quartus II,从Quartus 15.1开始软件称作Quartus Prime。Quartus Prime是在Altera公司成熟可靠而且用户友好的Quartus II软件基础上的优化,采用了新的高效能SpectraQ引擎。SpectraQ引擎的Quartus Prime采用一组更快、更易于扩展的新算法,减少了设计迭代; 同时具有分层数据库,保留了IP模块的布局布线,保证了设计的稳定性,避免了不必要的时序收敛投入,使其所需编译时间在业界最短,增强了FPGA和SoC FPGA设计性能。
  Quartus II和Quartus Prime的主要功能基本相同,只是有些界面有所不同。本章以Quartus Prime 16.0的基本使用方法为例进行设计开发环境的介绍。Quartus Prime 16.0提供的功能很多,读者可参考其他书籍或Quartus Prime用户手册,学习更多的内容。
  3.1Quartus Prime概述
  Quartus Prime支持Altera公司的各系列可编程逻辑器件的开发,包括Cyclone系列、Arria系列、MAX系列、Stratix系列等。
  Quartus Prime提供了与第三方开发工具的无缝连接,支持Cadence、Mentor、Synopsys等专业软件公司的综合工具和校验工具,能读入和生成标准的EDIF、VHDL及Verilog HDL网表文件。无论使用个人电脑、UNIX或Linux工作站,Quartus Prime都提供了方便的实体设计、快速的编译处理以及编程功能。
  运行Quartus Prime,可以看到Quartus Prime的管理器窗口如图31所示。管理器窗口主要包含项目导航窗口、任务窗口、消息窗口,可以通过View→Utility Windows菜单下的选项添加或隐藏这些窗口。
  为了保证Quartus Prime的正常运行,第一次运行软件时,需要设置license.dat文件,否则工具的许多功能将被禁用。在Quartus Prime管理器窗口选择Tools→License Setup…,单击License file的“…”按钮,在出现的对话框中选择license.dat文件或直接输入具有完整路径的文件名,如图32所示。
  图31Quartus Prime 16.0管理器窗口
  图32设置license.dat文件
  3.2Quartus Prime设计流程
  使用Quartus Prime开发工具进行FPGA器件的开发和应用,其过程主要有设计输入、设计处理、波形仿真和器件编程等阶段。在设计的任何阶段出现错误,都需要进行修改,纠正错误,重复上述过程,直至每个阶段都正确为止。
  下面将以一个6位二进制计数器设计项目myexam设计为例,介绍Quartus Prime的使用流程,介绍如何经过设计各个阶段,最终将myexam.vhd设计下载到FPGA芯片,完成6位二进制计数器设计的完整过程。
  3.2.1设计输入
  Quartus Prime编辑器的工作对象是项目,项目用来管理所有设计文件以及编辑设计文件过程中产生的中间文档,建议读者在开始设计之前先建立一个文件夹,方便项目的管理。在一个项目下,可以有多个设计文件,这些设计文件的格式可以是原理图文件、文本文件(如AHDL、VHDL、Verilog HDL等文件)、符号文件、底层输入文件以及第三方EDA工具提供的多种文件格式,如EDIF、HDL等。下面以文本文件为例,学习设计输入过程中的主要操作。
  1. 建立设计项目
  在Quartus Prime管理器窗口中选择菜单File→New Project Wizard...,出现新建项目向导New Project Wizard对话框的第一页,如图33所示。在对话框下输入项目目录、项目名称和顶层实体文件名,如myexam。顶层实体文件名可以与项目名称不一致,系统默认一致的名称。
  图33New Project Wizard对话框第一页
  新建项目向导第三页,单击按钮“...”可浏览文件选项,添加或删除与该项目有关的文件。初学者还没有建立文件,可以先跳过该页。
  新建项目向导第四页,根据器件的封装形式、引脚数目和速度级别,选择目标器件。读者可以根据具备的实验条件进行选择,这里选择的芯片是Cyclone V系列中5CSEMA5F31C6芯片,如图34所示。
  图34New Project Wizard对话框第三页
  新建项目向导第五页,添加第三方EDA综合、仿真、定时等分析工具,系统默认选择Quartus Prime的分析工具,对开发工具不熟悉的读者,建议采用系统默认选项。
  在新建项目向导对话框的最后一页,给出前面输入内容的总览。单击Finish按钮,myexam项目出现在项目导航窗口,myexam表示顶层实体文件,如图35所示。在任务窗口出现设计项目过程中的全部操作,执行操作命令的方法可以在菜单栏下选择命令、单击工具栏中对应的工具按钮或者在任务窗口双击命令。
  图35建立项目myexam
  新建项目向导中的各个选项,在新建项目结束后,仍然可以修改或重新进行设置,通过选择菜单命令Assignments→Settings…→General实现。
  2. 输入文本文件
  Quartus Prime支持AHDL、VHDL及Verilog HDL等硬件描述语言描述的文本文件,关于如何用VHDL描述硬件电路请参考本书中的第2章。这里将结合实例说明如何使用文本编辑器模板输入VHDL文本文件。
  新建VHDL文本文件,在Quartus Prime管理器界面中选择菜单File→New...,或单击新建文件按钮,出现New对话框,如图36所示。在对话框Design Files中选择VHDL File,单击OK按钮,打开文本编辑器。在文本编辑器窗口下,按照VHDL语言规则输入设计文件,并将其保存,VHDL文件的扩展名为.vhd。
  图36新建文本文件对话框
  Quartus Prime支持多种硬件描述语言,不同的硬件描述语言编写的文件,其文件扩展名不同,如AHDL文件扩展名为.tdf,Verilog HDL文件扩展名为.v。
  Quartus Prime提供了文本文件的编辑模板,使用这些模板可以快速准确地创建VHDL文本文件,避免语法错误,提高编辑效率。例如,用VHDL模板设计一个6位二进制计数器的VHDL文本文件。
  (1) 选择菜单Edit→Insert Template…,打开Insert Template对话框,单击左侧LanguageTemplate栏目打开VHDL,VHDL栏目下显示出所有VHDL的程序模板,如图37所示。
  图37程序模板对话框
  (2) 在VHDL模板中选择Full Design→Arithmetic→Counters→Binary Counter,Insert Template对话框的右侧会出现计数器模板程序的预览。这是一个带清零和使能端的计数器模板。单击Insert,模板程序出现在文本编辑器中,其中蓝色的字母是关键字,绿色部分为注释语句。
  (3) 根据设计要求,对模板中的文件名、信号名、变量名等黑色部分的内容进行修改。将实体名binary_counter修改为myexam; 将程序中的变量表示改为常数形式; 删掉enable输入信号等。修改后的VHDL代码如下:
  --Quartus Prime VHDL Template
  --Binary Counter
  library ieee;
  use ieee.std_logic_1164.all;
  use ieee.numeric_std.all;
  entity myexam is--实体名为myexam
  port
  (clk: in std_logic; --时钟信号clk定义
  reset: in std_logic; --复位信号reset定义
  q: out integer range 0 to 63); --输出信号q定义
  end entity;
  architecture rtl of myexam is
  begin
  process (clk)
  variable cnt: integer range 0 to 63;
  ……

前言/序言

  现场可编程门阵列(Field Programmable Gate Array,FPGA)的出现是超大规模集成电路(VLSI)技术和计算机辅助设计(CAD)技术发展的结果,基于FPGA的设计方法是电子设计领域的一大变革。不同于传统的电子设计方法,基于FPGA的现代电子设计方法采用自顶向下的设计方法,使设计师们可以把更多的精力和时间放在电路方案的设计上,很大程度上提高了电子产品的上市时间; FPGA的可编程性,使得在不改变硬件电路设计的前提下,产品性能的提升成为可能; 硬件软件化,以及不断增长的可编程门阵列的规模,使得产品在小型化的同时,可靠性也得以不断提升。近年来,IP核的广泛使用,特别是嵌入式处理器IP核的使用,使FPGA的市场占有量大大增加。因此对于广大的电子设计人员,以及电子工程专业的学生来说,掌握基于FPGA的开发技术是非常必要的。
  参与本书编写的教师多年从事EDA课程的教学和相关科研工作,作者总结了许多教学和科研经验,成就了本书的编写与问世。全书系统地介绍了FPGA的开发技术,内容涵盖FPGA可编程逻辑器件的基本知识及相关软件的使用方法,可编程逻辑器件的硬件描述语言,以及基于FPGA的电路设计,着重讲述了FPGA电路设计的方法和技巧,并给出了设计实例。
  全书共9章。第1章分析了FPGA开发的基本设计方法和设计流程,并以Altera公司的FPGA芯片为例,介绍了可编程逻辑器件的结构特点。第2章介绍了目前流行的两种可编程逻辑器件的硬件描述语言: VHDL和Verilog。第3章以Quartus最新版本Prime 16.0为例,介绍了可编程逻辑器件开发软件的安装和使用方法。第4章介绍了基本电路的FPGA设计,讲解了FPGA设计时需要注意的基本问题。第5章介绍了基于IP核的设计方法。第6章以键盘扫描和液晶驱动设计为例,介绍了人机交互接口设计。第7章介绍了几种基本的数字信号处理电路的FPGA设计。密码算法的设计实现是FPGA在信息安全设计领域的一个重要应用,因此本书的第8章以分组密码、流密码及Hash算法为例,给出了三个较新的密码算法的FPGA实现的实例。第9章涉及FPGA高端开发技术,介绍了基于Nios Ⅱ的Qsys系统开发的流程和设计方法。
  书中第6章至第8章的设计程序可以在www.besti.edu.cn/EDA精品课程网站下载。有关FPGA的新器件、新技术等不断更新的知识,读者可以从EDA厂商的网站上获取更新的资料,也可以从销售商或可编程逻辑器件中文网站(http://www.fpga.com.cn)上获取相关的信息和技术支持。
  全书由李莉组织编写并统稿。本书第1章、第3章、第6章以及附录部分由李莉编写,第8章由李雪梅和张磊共同编写,第5章、第7章、第9章由李莉和董秀则共同编写,第2章、第4章由李莉和李雪梅共同编写。北京电子科技学院路而红教授不辞辛苦地认真审阅了全部书稿,并为本书提出了许多宝贵的建议和意见。硕士研究生杨凤、胡尧、李稹宇参与了本书相关程序的调试工作。借此机会也向所有关心、支持和帮助过本书编写、修改、出版、发行的老师和朋友们致以诚挚的谢意。
  由于作者水平有限,书中难免有不妥之处,欢迎各位读者提出批评和指正。
  作者2017年4月于北京