随机序列在fpga上的应用毕业论文(编辑修改稿)内容摘要:

结合,这种一体化的设计有利于获得前所未有的高性能系统; 软件模拟仿真后下载到 FPGA 制成了专用 IC,设计者可以很直观地测试其逻辑功能及性能指标。 利用 FPGA 这些优点,选择合适的 FPGA 芯片,用户就能轻而易举地设计自己的“计算机”和“数字系统”。 通过在 FPGA 上产生随机序列这个实验,可以深入的了解 FPGA 的开发原理以及随机序列的工作原理。 4 2 FPGA 简介 FPGA 器件的应用状况与发展趋势 随着半导体工艺及 EDA 技术的飞速发展, FPGA 的应用在通信、消费电子、汽车、存储、服务器、工业、航空和国防等领域日益渗透和拓宽。 几乎可以说已涉及到社会的各个方面,而数字信号处理是 FPGA应用的重要领域。 实现以 FPGA为核心的数字信号处理自动化和机电设备及科学仪器仪表的现代化,是我国信息产业技术进步的重要内容,是降低能源及原材料消耗、提高产品质量及性能、增强国际竞争能力缩短产品上市时间的重要技术进步手段。 EDA技术是以 Electronic Design Automation(电子设计自动化 )的缩写 EDA技术就是以计算机为工具,在 EDA 软件平台上,根据硬 件描述语言 HDL 完成的设计文件自动地完成逻辑编译、化简、分割、综合及优化、不局限、仿真,直至对于特定目标芯片的适配编译、逻辑映射和变成下载等工作。 EDA 主要包括 FPGA 器件、硬件描述语言 HDL 和 EDA 工具软件三大部分。 电子设计自动化技术是 21 世纪电子设计领域中最重要的技术之一。 EDA 技术是 20 世纪 90 年代初从 CAD(电子辅助设计 )、 CAM(计算机辅助制造 )/CAT(计算机辅助工程 )的概念发展而来的。 可编程逻辑器件自上世纪 70 年出现以来,已有了很普遍的应用,为数字系统的设计带来极大的灵活性。 20 世纪末世 界上最大的变化就是全球市场的形成。 全球市场导致竞争空前激烈,促使企业必须加快新产品投放市场时间( Time to Market)、改善质量( Quality)、降低成本 (cost)以及完善服务体系( Service)、这就是企业的。 由于可编程逻辑器可以通过软件编程对其硬件的结构和工作方式进行重构,使得硬件设计可以如同软件设计那样方便快捷。 这一切给数字系统的设计带来了革命性的变化。 纵观可编程逻辑器件的发展史,他在结构原理、集成规模、下载方式、逻辑设计手段等方面的每一次进步都为现代化电子设计技术革命与发 展提供了不可或缺的强大动力。 5 可编程逻辑器件的门类较多。 先后发展出 PLA、 LAL、 GAL、 EPLD、 FPGA和 CPLD 等类型。 事实上期中的 FPGA 和 CPLD 日益成为基本主导形式,这已成为半导体器件行业的共识。 与其他可编程逻辑器件相比, FPGA 和 CPLD 在结构工艺集成度、功能熟速度和灵活性方面都有很大的该机和提高。 CPLE 是指基于乘积项技术 FLASH 工艺的 PLD, FPGA 是指基于查找表技术、 SRAM 工艺的PLD。 CPLD 与 FPGA 由于各自的特点与优势,使得二者在可编程逻辑器件技术的竞争中并驾齐驱,成为两支领导可编程器件技术发展的主要力量。 对于用户而言, CPLD 与 FPGA 的内部结构确实不同,东随着技术的发展,一些厂家陆续推出了一些新的 CPLD 和 FPGA,这些产品逐渐模糊了 CPLD 和FPGA 的区别。 因此也很难准确定义没个型号到底属于这两种类型中的哪一种。 因此在实际应用中,用户无需深究两者的区别,习惯上都把他们叫做 FPGA。 FPGA 主要用于工业、农业、教学和科学研究中的实时信号处理和过程控制。 现在一些重要的消费电子产品(如移动通信设 备和数字电视)和科学仪器仪表(如示波器和生物医学仪器)将 FPGA 作为解决方案的越来越多。 综上所述, FPGA 技术是一类跨世纪的高新技术,应用广泛,发展前景良好,因此,相信以 FPGA 为基础的高新能数字系统将成为主流。 FPGA 概述 FPGA 是现场可编程门阵列( Field Programmable Gate Array)的简称,与之相应的 CPLD 是复杂可编程逻辑器件( Complex Programmable Logic Device)的简称,两者的功能基本相同,只是实现原理略有不同,所以有时可以忽 略这两者的区别,统称为可编程逻辑器件或 CPLD/PGFA。 CPLD/PGFA 几乎能完成任何数字器件的功能,上至高性能 CPU,下至简单的 74 电路。 它如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入或硬件描述语言自由的设计一个数字系统。 通过软件仿真可以事先验证设计的正确性,在 PCB 完成以后,利用CPLD/FPGA 的在线修改功能,随时修改设计而不必改动硬件电路。 使用CPLA/FPGA 开发数字电路,可以大大缩短设计时间,减少 PCB 面积,提高系统的可靠性。 这些优点使得 CPLA/FPGA 技术在 20 世纪 90 年代以后得到飞速的发 6 展,同时也大大推动了 EDA 软件和硬件描述语言 HDL 的进步。 FPGA 开发编程原理 硬件设计需要根据各种性能指标、成本、开发周期等因素,确定最佳的实现方案,画出系统框图,选择芯片,设计 PCB 并最终形成样机。 CPLD/FPGA 软件设计可分为两大块:编程语言和编程工具。 编程语言主要有 VHDL 和 Verilog两种硬件描述语言;编程工具主要是两大厂家 Altera 和 Xilinx 的集成综合 EDA软件(如 MAX+plusII、 QuartusII、 Foundation、 ISE)以及第三方 工具(如 FPGA Express、 Modelsim、 Synposys SVS 等)。 具体的设计输入方式有以下几种: 语言方式。 HDL 既可以描述底层设计,也可以描述顶层的设计,但它不容易做到较高的工作速度和芯片利用率。 用这种方式描述的项目最后所能达到的性能与设计人员的水平、经验以及综合软件有很大的关系。 可以分为电路原理图描述,状态机描述和波形描述 3 种形式。 有的软件 3 种输入方法都支持,如 ActiveHDL。 MAX+plusII 图形输入方式只支持电路原理图描述和波形描述两种。 电路原 理图方式描述比较直观和高效,对综合软件的要求不高。 一般大都使用成熟的 IP 核和中小规模集成电路所搭成的现成电路,整体放到一片可编程逻辑器件的内部去,所以硬件工作速度和芯片利用率很高,但是但项目很大的时候,该方法就显得有些繁琐;状态机描述主要用来设计基于状态机思想的时序电路。 在图形的方式下定义好各个工作状态,然后在各个状态上输入转换条件以及相应的输入输出,最后生成 HDL语言描述,送去综合软件综合到可编程逻辑器件的内部。 由于状态机到 HDL语言有一种标准的对应描述方式,所以这种输入方式最后所能达到的工作速度和芯片利 用率主要取决于综合软件;波形描述方式是基于真值表的一种图形输入方式,直接描述输入与输出的波形关系。 这种输入方式最后所能达到的工作速度和芯片利用率也是主要取决于综合软件。 FPGA 开发流程 HDL(Hardware Design Language)和原理图是两种常用的数字硬件电路描述 7 方法, HDL 设计法具有更好的可移植性、通用性和模块划分与重用性的特点,在目前的工程设计中被广泛使用。 所以,我们在使用 FPGA 设计数字电路时,器开发流程是基于 HDL 的。 FPGA 开发流程图: Register Transfer Level 寄存器传输级 Tools: HDL 编译器 , Text Editor Block amp。 Symbol (QuartusⅡ ) Presynthesis Simulation Tools: ModelSim Synopsys VCS , Active HDL Tools: Assignment Editor (QuartusⅡ ) Pin Planner (QuartusⅡ ) Settings Tools :Synplify Synplify Pro Synopsys DC Analysis amp。 Synthesis(QuartusⅡ ) Tools: Synopsys DC, PrimeTime ModelSim Simulation (QuartusⅡ ) Tools : Fitter (QuartusⅡ ) Tools: Timing Analyzer (Quartus II) 设计修改 Design Modification 需求定义(功能定义) Design Specification RTL 级 HDL 描述 RTL Design Lntry 功能仿真(前仿真) RTL Simulation 布局布线 Place amp。 Routc 综合 Synthesis 门级仿真(综合后仿真) Gate Level Simulation 管脚分配与设计约束 Assign Ping amp。 Scttings 时序 /时延分析 Timing Analysis 配置与下载 Configuration Download 8 Tools: ByteBlasterⅡ (QuartusⅡ ) 图 FPGA 开发流程图 1)定义 (功能定义 ) 设计和实现一个系统的第一步,是明确整个系统的性能指标,然后进一步将系统功能划分为可实现的具体功能模块,同时明确各模块的功能与基本时序,还可大致确定模块间的接口,如时钟、读写信号、数据流和控制信号等。 2) RTL 级 HDL 描述 RTL 级(寄存器传输级)指不关注寄存器和组合逻辑的细节(如使用了多少逻辑门、逻辑门的连接拓扑结构等),通过描述寄存器到寄存器之间的逻辑功能的HDL 设计方法。 RTL 级比门级更抽象,同时也更简单和高效。 RTL 级的最大特点是可以直接用综合工具将其综合为门级网表。 RTL 级设计直接决定着系统的功能和效率。 我们使用的 HDL 语言是 verilog。 3)功能仿真(前仿真) 功能仿真也称综合前仿真,器目的是验证 RTL 级描述是否与设计意图一致。 为了提高效率,功能仿真需要建立 testbench ,器测试激励一般使用行为级 HDL 语言描述。 4)管脚分配与设计约束 无论是 RTL级还是门级的 HDL设计方法,在实现该逻辑是都需要与实践的 FPGA芯片先匹配。 管脚分配是指设计文件的输入输出信号指定到器件的某个管脚,设计此管脚的电弧标准、电流强度等。 设计约束是指设计的时序约束和在综合、布线布局阶段附加的约束等。 5)综合 将 RTL 级 HDL 语言翻译成由与、或、非、门等基本逻辑单元组成的门级连接(网表),并根据设计目标与要求(约束条件)优化所生成的逻辑连接,输出门级网表文件。 6)门级仿真(综合后仿真) 在综合后通过仿真来检查综合结果是否与原设计 一致。 一般。 综合后仿真和功能仿真的测试激励相同。 由于综合工具日益完善,在目前的 FPGA 设计中,这一步骤被省略掉。 9 7)布线布局 布线布局就是使用综合后的网编文件,将工程的逻辑与时序要求与器件的可用资源匹配。 也可以简单地将布线布局理解为对 FPGA 内部查找表和寄存器资源的合理配置,那么‘布局’可以被理解挑选可实现设计网表的最优的资源组合‘布线’就是将这些查找表和寄存器资源以最优方式连接起来。 8)时序 /时延分析 通过时序 /分析获得布局布线后系统的延时信息,不仅包括延时,而且还有实际的布线延时。 时序 /时延分析的时序仿真是最标准的,能较好地反应芯片的实践工作情况,同时发现时序违规( Timing Violation),即不满足时序约束条件器件固有时序规则(建立时间、保持时间)的情况。 9)配置与下载 通过编程器( programmer)将布局布线后的配置文件下载文件至 FPGA 中,对其硬件进行编程。 配置文件一般为 .pof或 .sof 文件格式,下载方式包括 AS(主动)、PS(被动 )、 JTAG(边界扫描 )等方式。 硬件设计意识 RTL 设计其实就是用语言的方式去描述硬件电路行为的过程。 这同一般的软件设计 有很大的区别,因为对于很多的软件代码,硬件电路是无法实现的(即无法综合,从语言到硬件电路的解析过程称为综合)。 我们只能使用综合的代码结构来实现我们所需的行间电路。 首先,我们需要建立硬件设。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。