电子科学与技术专业实验室毕业实习报告范本.pdf
《电子科学与技术专业实验室毕业实习报告范本.pdf》由会员分享,可在线阅读,更多相关《电子科学与技术专业实验室毕业实习报告范本.pdf(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 职业技术学院 实习报告 1.实习时间 3 月 1 日3 月 19 日 2.实习地点 电子科学与技术实验室 实习的目的和意义 掌握数字系统的设计方法,实现 VGA 显示控制电路。掌握上层系统的软硬件协同设计流程。通过高级编程语言或汇编语言实现基本的并口读写操作,在第三方微控制器 IP 核中的 FPGA 上实现流光控制。通过阅读存储器的数据手册,了解各种存储器设备的控制方法,在 FPGA 芯片上设置控制端口和配置相关参数。掌握基本的 MATLAB 编程方法,为数字系统的算法分析打下良好的基础。4.实习要求 1、精通 VHDL 语言。2.熟练使用 QuartusII 和 NiosII-EDS 软件
2、。3、通过 VHDL 语言在 FPGA 上实现块运动动画效果。4、使用 51 系列 MCU IP 核在 FPGA 上实现流水灯效果。5、通过 NiosII 处理器软硬件的协同设计和应用,可以实现流水灯效果或者电子表功能。6.了解不同的记忆是如何工作的以及它们是如何被驱动的。五、理论内容 5.1 FPGA 简介 FPGA(Field-Programmable Gate Array),即现场可编程门阵列,是在 PAL、GAL、CPLD 等可编程器件的基础上进一步发展的产物。它作为专用集成电路(ASIC)领域的半定制电路应运而生,不仅解决了定制电路的缺点,而且克服了原有可编程器件门电路数量有限的缺点
3、。5.1.1 FPGA 的特点 目前,通过硬件描述语言(Verilog 或 VHDL)完成的电路设计,经过简单的综合和版图,即可快速编程到 FPGA 中进行测试,是现代 IC 设计验证的主流技术。这些可编辑元素可用于实现一些基本的逻辑门电路(如 AND、OR、XOR、NOT)或更复杂的组合功能,如解码器或数学方程。在大多数 FPGA 中,这些可编辑元素还包含内存元素,例如触发器或其他更完整的内存块。系统设计人员可以根据需要通过可编辑的连接来连接 FPGA 部分中的逻辑块,就像在芯片内放置面包板一样。FPGA 成品出厂后,可以根据设计者的需要改变逻辑模块和布线,使 FPGA 完成所需的逻辑功能。
4、FPGA 通常比 ASIC(专用集成芯片)慢,不能完成复杂的设计,并且消耗更多的功率。但它们也有很多优点,比如生产速度更快,可以修改以纠正程序中的错误,以及成本更低。供应商也可能提供廉价但编辑不佳的 FPGA。由于这些芯片的可编辑性较差,因此这些设计的开发是在常规 FPGA 上完成的,然后将设计转移到类似 ASIC 的芯片上。另一种方法是使用 CPLD(复杂可编程逻辑器件)。早在 1980 年代中期,FPGA 就已经在 PLD 器件中扎根。CPLD 和 FPGA 包括相对大量的可编程逻辑单元。CPLD 逻辑门的密度在几千到几万个逻辑单元之间,而 FPGA 通常是几万到几百万。CPLD 和 FP
5、GA 之间的主要区别在于它们的系统架构。CPLD 是一种有些限制性的结构。该结构由一个或多个可编辑结果和的逻辑组列和数量相对较少的锁定寄存器组成。结果是缺乏编辑灵活性,但具有可预测的延迟时间和高逻辑单元与连接单元比率的优势。另一方面,FPGA 的连接单元很多,虽然可以更灵活地编辑,但结构要复杂得多。CPLD 和 FPGA 之间的另一个区别是大多数 FPGA 包含高级内置模块(例如加法器和乘法器)和内置存储器。因此相关的一个重要区别是许多新的 FPGA 支持全部或部分系统重新配置。允许他们的设计随着系统升级或动态重新配置而改变。一些 FPGA 允许对设备的某些部分进行重新编程,而其他部分则继续正
6、常工作。5.1.2 FPGA 的工作原理 FPGA 采用逻辑单元阵列(LCA)的概念,由三部分组成:可配置逻辑块(CLB)、输入输出块(IOB)和互连。FPGA 的基本特性如下:1)使用 FPGA 设计 ASIC 电路,用户无需贴膜即可获得合适的芯片。2)FPGA 可用作其他全定制或半定制 ASIC 电路的中型样品。3)FPGA 部门有丰富的触发器和 I/O 引脚。4)FPGA 是 ASIC 电路中设计周期最短、开发成本最低、风险最低的器件之一。5)FPGA 采用高速 CHMOS 技术,功耗低,兼容 CMOS 和 TTL 电平。可以说,FPGA 芯片是小批量系统提高系统集成度和可靠性的最佳选择
7、之一。FPGA 通过存储在芯片 RAM 中的程序设置其工作状态。因此,芯片的 RAM 需要在运行过程中进行编程。用户可以根据不同的配置模式使用不同的编程方法。上电时,FPGA 芯片将 EPROM 中的数据读入芯片编程 RAM。配置完成后,FPGA进入工作状态。断电后 FPGA 返回白膜,内部逻辑关系消失。因此,FPGA 可以重复使用。FPGA 编程不需要专门的 FPGA 编程器,只需要使用通用的 EPROM 和 PROM编程器即可。当需要修改 FPGA 功能时,只需更换一块 EPROM 即可。这样,同一个 FPGA,具有不同的编程数据,就可以产生不同的电路功能。因此,FPGA 的使用非常灵活。
8、5.1.3 FPGA 配置模式 FPGA 有多种配置模式:并行主模式是一个 FPGA 加一个 EPROM 模式;主从模式可以支持一个 PROM 对多个 FPGA 进行编程;串行模式可以使用串行 PROM 对 FPGA 进行编程;外围模式可以使用 FPGA 作为单片机。处理器的外围设备,由微处理器编程。如何实现快速时序收敛、降低功耗和成本、优化时钟管理、降低 FPGA 和 PCB 并行设计的复杂度等,一直是使用 FPGA 的系统设计工程师需要考虑的关键问题。如今,随着 FPGA 朝着更高密度、更高容量、更低功耗和更多 IP 集成的方向发展,系统设计人员必须面对 FPGA 前所未有的性能和复杂性,
9、同时从这些卓越的功能中受益。具有能力水平的新设计挑战。例如,领先的 FPGA 供应商 Xilinx 最近推出的 Virtex-5 系列基于 65nm 工艺,提供多达 330,000 个逻辑单元、1,200 个 I/O 和大量硬核 IP 块。大容量和高密度使复杂的布线更加不可预测,导致更严重的时序收敛问题。此外,针对不同应用集成了更多逻辑功能、DSP、嵌入式处理和接口块,使得时钟管理和电压分配问题变得更加困难。幸运的是,FPGA 供应商和 EDA 工具供应商正在合作解决 65nm FPGA 的独特设计挑战。不久前,Synplicity 和 Xilinx 宣布成立大批量时序收敛联合工作组,旨在帮助
10、系统设计工程师更快、更高效地应用 65nm FPGA 器件。设计软件供应商 Magma 的综合工具 Blast FPGA 可以帮助创建优化的布局并加快时序收敛。近来,FPGA 配置方法已经多样化。5.1.4 FPGA 主要厂商介绍 1.阿尔特拉 2.赛灵思 3.攻击 4.格子 其中 Altera 和 Xilinx 主要生产通用 FPGA,主要产品采用 RAM 技术。Actel 主要提供非易失性 FPGA,其产品主要基于反熔丝技术和FLASH 技术。5.1.5 FPGA 设计考虑 I/O 信号分配 提供最常见引脚、I/O 标准、端接方案和差分对的 FPGA 也有最复杂的信号分配设计指南。虽然 A
11、ltera 的 FPGA 器件没有设计指南(因为它更容易实现),但 Xilinx 的 FPGA 设计指南却很复杂。但无论哪种情况,在将信号分配给 I/O 引脚时都需要牢记一些常见步骤:1.使用电子表格列出所有计划的信号分配及其重要属性,例如 I/O 标准、电压、所需的端接方法和相关时钟。2.检查制造商的块/区域兼容性指南。3.考虑使用第二个电子表格来布置 FPGA 以确定哪些引脚是通用的,哪些是专用的,哪些支持差分信号对以及全局和本地时钟,哪些需要电压参考。4.使用上述两个电子表格中的信息和区域兼容性指南,首先将最受限制的信号分配给引脚,最后将限制最少的信号分配给引脚。例如,您可能需要先分配串
12、行总线和时钟信号,因为它们通常只分配给几个特定的引脚。5.根据限制程度重新分配信号总线。在这个阶段,可能需要仔细权衡诸如同时开关输出(SSO)和不兼容的 I/O 标准等设计问题,尤其是在您有许多高速输出或使用多个不同 I/O 标准的情况下。如果您的设计需要本地/区域时钟,您可能需要使用靠近高速总线的引脚,并且最好提前记住这一要求,这样您就不会获得可能的最佳引脚。如果为特定模块选择的 I/O 标准需要参考电压信号,请记住不要分配这些引脚。差分信号的分配总是先于单端信号。如果 FPGA 提供芯片端接,它也可能适用于其他兼容性规则。6.在适当的地方分配剩余的信号。在这个阶段,考虑编写一个只包含端口分
13、配的 HDL 文件。然后使用供应商提供的工具或使用文本编辑器手动创建约束文件,为 I/O 标准、SSO 等添加必要的支持信息。准备好这些基本文件后,您可以运行布局布线工具来查看如果某些准则被忽略或分配错误。这将允许您从设计的一开始就与布局工程师一起规划 PCB 布线、冗余规划、热问题和信号完整性。FPGA 工具或许能够在这些领域提供帮助并帮助您解决这些问题,因此您必须确保您了解该工具包的功能。基于 CMOS 的设计主要消耗三种类型的开关速率:部分(短路)、泄漏(静态)和开关(电容)。当栅极为瞬态时,VDD 和地之间的短路连接会消耗功率。漏电功耗是由 CMOS 工艺常见的寄生效应引起的。开关功耗
14、是由自负载电容、放电引起的。开关功耗和短路功耗统称为动态功耗。下面描述用于降低静态和动态功耗的设计技术。降低静态功耗 尽管与动态电流相比,静态电流可以忽略不计,但它对于电池供电的手持设备来说非常重要,尤其是在设备通电且未运行时。静态电流由多种因素引起,包括 I/O 处于未完全关闭或打开的状态、来自外部晶体管的工作电流、外部接线电阻、输入上的上拉或下拉电阻以及三态电驱动器。在易失性技术中,维护编程信息也需要一定的静态功耗。反熔丝是一种非易失性技术,因此信息存储不会消耗静态电流。以下是降低静态功耗的几种设计方法:驱动器输入应具有足够的电压电平,以便所有晶体管完全导通或截止。由于 I/O 线上的上拉
15、或下拉电阻会消耗一定量的电流,因此请尽量避免使用这些电阻。使用更少的驱动电阻器或双极晶体管,它们需要保持恒定电流,增加静态电流。按照参数表中的建议将时钟引脚连接到低电平。浮动时钟输入可以大大增加静态电流。在将设计划分为多个设备时减少设备间 I/O 的使用。eX 设备的 LP 模式引脚的使用 Actel eX 系列设计有特殊的低功耗“睡眠”模式。在该引脚被驱动为高电平 800ns 后,器件进入待机电流小于 100 A 的极低功耗待机模式。在低功耗模式下,所有 I/O(时钟输入除外)均为三态,内核完全断电。由于内核掉电,存储在触发器中的信息会丢失,用户需要在进入工作模式时(引脚拉低 200ms 后
16、)重新初始化设备。同样,用户也应关闭所有通过 CLKA、CLKB 和 HCLK 输入的时钟。但是,这些时钟不是三态的以允许时钟进入器件,从而增加了功耗,因此在低功耗模式下,时钟输入必须为逻辑 0 或逻辑 1。用户有时很难阻止时钟进入设备。在这种情况下,用户可以使用与 CLKA 或 CLKA 相邻的普通输入引脚,并在设计中包含 CLKINT。这样,时钟通过靠近时钟管脚的正常输入进入设备,然后通过 CLKINT 向设备提供时钟资源。有了这个输入电路,用户就不必担心输入设备的时钟,因为常规 I/O 是三态的。当然,多增加一个门会导致更大的时钟延迟(0.6ns),幸运的是,这在大多数低功耗设计中是可以
17、接受的。请注意,与 CLKINT 缓冲器相关的 CLKA 或 CLKB 引脚应接地。另请注意,CLKINT 只能用作线路时钟,HCLK 不具备将外部线网连接到 HCLK 的能力,因此无法通过常规输入驱动 HCLK 资源。即如果使用 LP 管脚,则不能使用 HCLK;当使用 HCLK 时,时钟信号应该被外部截断。降低动态功耗 动态功耗是时钟运行和输入切换时的功耗。对于 CMOS 电路,动态功耗基本上决定了总功耗。动态功率由几个组件组成,主要是电容负载(组件和 I/O)的充电和放电以及短路电流。大多数动态功率是通过外部或外部电容器对设备进行充电和放电来消耗的。如果器件驱动多个 I/O 负载,则大量
18、动态电流构成总功耗的主要部分。对于设计中的给定驱动器,动态功耗由下式计算 p=CLV 2 DDf 其中 CL 是容性负载,VDD 是电源电压,f 是开关频率。总功耗是每个驱动器的功耗之和。由于 VDD 是固定的,因此降低功耗需要降低平均逻辑开关频率,减少每个时钟沿的逻辑开关总数,以及降低布线网络的电容值,特别是对于高频信号布线网络。对于低功耗设计,从系统到工艺的每个设计级别都需要采取预防措施,越高越好。5.1.6 FPGA 和 CPLD 的区别和分类 FPGA 和 CPLD 的识别和分类主要是根据它们的结构特点和工作原理。常用的分类方法有:用积项结构构成逻辑行为的器件称为 CPLD,如莱迪思的
19、 ispLSI 系列、赛灵思的XC9500 系列、Altera 的 MAX7000S 系列和莱迪思(原 Vantis)的 Mach 系列。以查找表结构形式形成逻辑行为的器件称为 FPGA,如 Xilinx 的 SPARTAN 系列、Altera 的 FLEX10K 或 ACEX1K 系列等。虽然 FPGA 和 CPLD 都是可编程的 ASIC 器件,它们有很多共同的特点,但是由于 CPLD 和 FPGA 的结构不同,它们也有各自的特点:CPLD 更适合完成各种算法和组合逻辑,FPGA 更适合完成时序逻辑。也就是说,FPGA 更适合触发器丰富的结构,而 CPLD 更适合触发器有限和产品丰富的结构
20、。CPLD 的连续布线结构决定了其时序延迟的均匀性和可预测性,而 FPGA 的分段布线结构决定了其延迟的不可预测性。FPGA 在编程上比 CPLD 具有更大的灵活性。CPLD 通过修改固定连接电路的逻辑功能进行编程,FPGA 主要通过改变部分连接的布线进行编程;FPGA 可以在逻辑门下进行编程,而 CPLD 可以在逻辑块下进行编程。FPGA 比 CPLD 集成度更高,布线结构和逻辑实现更复杂。CPLD 比 FPGA 更方便使用。CPLD 的编程采用 E2PROM 或 FASTFLASH 技术,无需外接存储芯片,使用方便。FPGA 的编程信息需要存储在外部存储器中,使用方法复杂。CPLD 比 F
21、PGA 速度更快,具有更大的时间可预测性。这是因为 FPGA 是门级编程,CLB 之间采用分布式互连,而 CPLD 是逻辑块级编程,其逻辑块之间的互连是集总的。在编程方式上,CPLD 主要基于 E2PROM 或 FLASH 存储器编程,编程次数可达 10000 次。其优点是在系统断电时不会丢失编程信息。CPLD 可以分为两类:在编程器上编程和在系统上编程。大多数 FPGA 都是基于 SRAM 进行编程的,当系统掉电时,编程信息会丢失。每次系统上电时,都需要将编程数据从器件外部重新写入 SRAM。优点是可以任意多次编程,工作中可以快速编程,实现板级和系统级的动态配置。CPLD 好,FPGA 差。
22、一般情况下,CPLD 的功耗比 FPGA 大,集成度越高越明显。5.1.7 FPGA 应用 FPGA 的应用可以分为三个层次:电路设计、产品设计、系统设计 一、FPGA 在电路设计中的应用 连接逻辑和控制逻辑是早期 FPGA 发挥比较大的作用的领域,也是 FPGA 应用的基石。事实上,FPGA 在电路设计中的应用难度很大,需要开发者具备相应的硬件知识(电路知识)和软件应用能力(开发工具)。这方面的人才总是供不应求,而且经常致力于新技术。,新产品的成功产品开发将成为产品设计师应用的市场主流基础产品。在不久的将来,通用和专用 IP 的设计将是一个热门行业!从事电路设计的前提是具备一定的硬件知识。在
23、这个层次上,学习比学习更重要。当然,快速入门非常重要。座位越好,等待的人就越少。电路开发是一项黄金工作。2.产品设计 将相对成熟的技术应用到通信、视频、信息处理等一些特定领域,开发出符合行业需求、能够为行业客户所接受的产品。这方面主要是 FPGA 技术与专业技术的结合。此外,与专业客户有接口问题的产品设计还包括专业工具产品和民用产品。前者侧重于性能,而后者则专为价格敏感的产品而设计,其主要目的是实现产品功能。FPGA 技术是一种实现手段。在该领域,FPGA 凭借其接口、控制、功能IP、嵌入式 CPU 等特点,可以实现结构简单、固化度高、功能全面的系统产品设计。产品设计将是 FPGA 技术应用最
24、广泛的市场,对空间产品设计有着巨大的爆发性需求。对技术人员的要求比较高,距离比较远。但是,整个行业现在都处于组建“首发团队”的状态。只要你加入,未来就会一片光明。产品设计是一条职业道路,而不是简单的爱好。的!产品设计领域将造就一大批企业和创业者,是近期的发展热点和机遇 3.系统级应用 系统级应用是 FPGA 与传统计算机技术相结合,实现 FPGA 版本的计算机系统。一个基础环境,在这个平台上运行 LINIX 等系统,系统还支持各种标准外设和功能接口(如图像接口),对于快速搭建大规模 FPGA 系统很有帮助。这种“模仿”系统的早期优势并不一定很明显。类似于 ARM 系统的情况,如果 FPGA 的
25、优势能够慢慢发挥出来,逐步实现一些特色系统也是一个发展方向。如果在系统级的应用中,开发者不具备扩展系统的能力,那么仅仅从事编程是没有意义的。当然,设备驱动的开发是另一回事。看来系统级应用起点高,但不具备深度开发能力,很可能成为爱好者,就像很多人会做网页但不能称为编程一样。与上面类似的是一些个人的发展,希望对想学习 FPGA 但不知所措的人有所帮助。这是一个伟大的行业,拥有巨大的个人成功机会。但这绝对是一个竞争非常激烈的行业,关键是速度和深度,当然还有市场适应能力。.5.2 QuartusII 和 NiosII-EDS 软件介绍 5.2.1 Quartus II 简介 Quartus II 是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 科学 技术 专业 实验室 毕业 实习 报告 范本
限制150内