通信类毕业论文(编辑修改稿)内容摘要:

本单元,一直这样做下去,直到可以直接使用 EDA 元件库为止。 2. 设计输入 设计输入是将所设计的 系统或电路以开发软件要求的某种形式表示出来,并输入给 EDA工具的过程。 常用的方法有硬件描述语言( HDL)和原理图输入方法等。 原理图输入方式是一种最直接的描述方式,在可编程芯片发展的早期应用比较广泛,它将所需的器件从元件库中调出来,画出原理图。 这种方法虽然直观并易于仿真,但效率很低,且不易维护,不利于模块构造和重用。 更主要的缺点是可移植性差,当芯片升级后,所有的原理图都需要作一定的改动。 目前,在实际开发中应用最广的就是 HDL 语言输入法,利用文本描述设计,可以分为普通 HDL 和行为 HDL。 普通 HDL有 ABEL、 CUR 等,支持逻辑方程、真值表和状态机等表达方式,主要用于简单的小型设计。 而在中大型工程中,主要使用行为 HDL,其主流语言是Verilog HDL 和 VHDL。 这两种语言都是美国电气与电子工程师协会( IEEE)的标准,其共同的突出特点有:语言与芯片工艺无关,利于自顶向下设计,便于模块的划分与移植,可移植性好,具有很强的逻辑描述和仿真功能,而且输入效率很高。 3. 功能仿真 功能仿真,也称为前仿真,是在编译之前对用户所设计的电路进行逻辑功能验证,此时的仿真没有延迟信息,仅对初步的功能进行检测。 仿真前,要先利 用波形编辑器和 HDL等建立波形文件和测试向量(即将所关心的输入信号组合成序列),仿真结果将会生成报告文件和输出信号波形,从中便可以观察各个节点信号的变化。 如果发现错误,则返回设计修改逻辑设计。 常用的工具有 Model Tech 公司的 ModelSim、 Sysnopsys 公司的 VCS 和 Cadence公司的 NCVerilog 以及 NCVHDL 等软件。 虽然功能仿真不是 FPGA 开发过程中的必需步骤,但却是系统设计中最关键的一步。 4. 综合 所谓综合就是将较高级抽象层次的描述转化成较低层次的描述。 综合优化根据目 标与要求优化所生成的逻辑连接,使层次设计平面化,供 FPGA 布局布线软件进行实现。 就目前的层次来看,综合优化( Synthesis)是指将设计输入编译成由与门、或门、非门、 RAM、触发器等基本逻辑单元组成的逻辑连接网表,而并非真实的门级电路。 真实具体的门级电路需要利用 FPGA 制造商的布局布线功能,根据综合后生成的标准门级结构网表来产生。 为了能转换成标准的门级结构网表, HDL 程序的编写必须符合特定综合器所要求的风格。 由于门级结构、 RTL 级的 HDL 程序的综合是很成熟的技术,所有的综合器都可以支持到这一级别的综合。 常 用的综合工具有 Synplicity公司的 Synplify/Synplify Pro软件以及各个 FPGA厂家自己推出的综合开发工具。 通信技术毕业论文 7 5. 综合后仿真 综合后仿真检查综合结果是否和原设计一致。 在仿真时,把综合生成的标准延时文件反标注到综合仿真模型中去,可估计门延时带来的影响。 但这一步骤不能估计线延时,因此和布线后的实际情况还有一定的差距,并不十分准确。 目前的综合工具较为成熟,对于一般的设计可以省略这一步,但如果在布局布线后发现电路结构和设计意图不符,则需要回溯到综合后仿真来确认问题之所在。 在功能仿真中介 绍的软件工具一般都支持综合后仿真。 6. 实现与布局布线 实现是将综合生成的逻辑网表配置到具体的 FPGA 芯片上,布局布线是其中最重要的过程。 布局将逻辑网表中的硬件原语和底层单元合理地配置到芯片内部的固有硬件结构上,并且往往需要在速度最优和面积最优之间作出选择。 布线根据布局的拓扑结构,利用芯片内部的各种连线资源,合理正确地连接各个元件。 目前, FPGA 的结构非常复杂,特别是在有时序约束条件时,需要利用时序驱动的引擎进行布局布线。 布线结束后,软件工具会自动生成报告,提供有关设计中各部分资源的使用情况。 由于只有 FPGA 芯片生产商对芯片结构最为了解,所以布局布线必须选择芯片开发商提供的工具。 7. 时序仿真与验证 时序仿真,也称为后仿真,是指将布局布线的延时信息反标注到设计网表中来检测有无时序违规(即不满足时序约束条件或器件固有的时序规则,如建立时间、保持时间等)现象。 时序仿真包含的延迟信息最全,也最精确,能较好地反映芯片的实际工作情况。 由于不同芯片的内部延时不一样,不同的布局布线方案也给延时带来不同的影响。 因此在布局布线后,通过对系统和各个模块进行时序仿真,分析其时序关系,估计系统性能,以及检查和消除竞争 冒险是非常有必要的。 在功能仿真中介绍的软件工具一般都支持综合后仿真。 8. 板级仿真与验证 板级仿真主要应用于高速电路设计中,对高速系统的信号完整性、电磁干扰等特征进行分析,一般都以第三方工具进行仿真和验证。 9. 芯片编程与调试 设计的最后一步就是芯片编程与调试。 芯片编程是指产生使用的数据文件(位数据流文件, Bitstream Generation),然后将编程数据下载到 FPGA 芯片中。 其中,芯片编程需要满足一定的条件,如编程电压、编程时序和编程算法等方面。 逻辑分析仪( Logic Analyzer,LA)是 FPGA 设计的主要调试工具,但需要引出大量的测试管脚,且 LA 价格昂贵。 目前,主流的 FPGA 芯片生产商都提供了内嵌的在线逻辑分析仪(如 Xilinx ISE 中的 ChipScope、Altera QuartusII 中的 SignalTapII 以及 SignalProb)来解决上述矛盾,它们只需要占用芯片少量的逻辑资源,具有很高的实用价值。 通信技术毕业论文 8 quartus II 软件及 NiosII 软件介绍 quartus Ⅱ软件介绍 Quartus II 是 Altera 公司 的综合性 PLD开发 软件 ,支持原理图、 VHDL、VerilogHDL 以及 AHDL( Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整 PLD 设计流程。 Quartus II 可以在 XP、 Linux 以及 Unix 上使用,除了可以使用 Tcl 脚本 完成设计流程外,提供了完善的用户图形界面设计方式。 具有运行速度快,界面统一,功能集中,易学易用等特点。 Quartus II 支持 Altera 的 IP核,包含了 LPM/MegaFunction 宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。 对第三方 EDA 工具的良好支持也使用户可 以在设计流程的各个阶段使用熟悉的第三方 EDA 工具。 此外, Quartus II 通过和 DSP Builder 工具与 Matlab/Simulink相结合,可以方便地实现各种 DSP应用系统;支持 Altera 的片上可编程系统( SOPC)开发,集系统级设计、 嵌入式软件开发 、可编程逻辑设计于一体,是一种综合性的开发平台。 NiosⅡ软件介绍 Nios II 系列软核 处理器是 Altera 的第二代 FPGA 嵌入式处理器,其性能超过 200DMIPS,在 Altera FPGA 中实现仅需 35 美分。 Altera 的 Stratix 、 Stratix GX、 Stratix II 和 Cyclone 系列 FPGA 全面支持 Nios II 处理器,以后推出的FPGA 器件也将支持 Nios II。 Nios II 系列包括 3 种产品,分别是: Nios II/f(快速) —— 最高的系统性能,中等 FPGA 使用量; Nios II/s(标准) —— 高性能,低 FPGA 使用量; Nios II/e(经济 )—— 低性能,最低的 FPGA 使用量。 这 3种产品具有 32位处理器的基本结构单元 —— 32 位指令大小, 32 位数据和地址路径, 32位通用寄存器和 32个外部中断源;使用同样的指令集架构( ISA), 100%二进制代码兼容,设计者可以根据系统需求的变化更改 CPU,选择满足性能和成本的最佳方案,而不会影响已有的软件投入。 特别是, Nios II 系列支持使用专用指令。 专用指令是用户增加的硬件模块,它增加了算术逻辑单元( ALU)。 用户能为系统中使用的每个 Nios II 处理器创建多达 256 个专用指令,这使得设计者能够细致地调整系统硬件以满足性能目标。 专用指令逻辑和本身 Nios II指令相同,能够从多达两个源寄存器取值,可选择将结果写回目标寄存器。 同时,Nios II 系列支持 60 多个外设选项,开发者能够选择合适的外设,获得最合适的处理器、外设和接口组合,而不必支付根本不使用的硅片功能。 Nios II 系列能够满足任何应用 32 位嵌入式微处理器的需要,客户可以将第一代 Nios 处理器设计移植到某种 Nios II 处理器上, Altera 将长期支持现有FPGA 系列上的第一代 Nios 处理器。 另外, Altera 提供了一键式移植选项,可以升级至 Nios II 系列。 Nios II 处理器也能够在 HardCopy 器件中实现, Altera还为基于 Nios II 处理器的系统提供 ASIC 的移植方式。 通信技术毕业论文 9 Nios II 处理器具有完善的软件开发套件,包括编译器、集成开发环境( IDE)、JTAG 调试器、实时操作系统( RTOS)和 TCP/IP 协议栈。 设计者能够用 Altera Quartus II 开发软件中的 SOPC Builder 系统开发工具很容易地创建专用的处理器系统,并能够根据系统的需求添加 Nios II 处理器核的数量。 使用 Nios II 软件开发工具能够为 Nios II 系统构建软件, 即一键式自动生成适用于系统硬件的专用 C/C++运行环境。 Nios II 集成开发环境( IDE)提供了许多软件模板,简化了项目设置。 此外, Nios II 开发套件包括两个第三方实时操作系统( RTOS) —— MicroC/OSII(Micrium), Nucleus Plus(ATI/Mentor)以及供网络应用使用的 TCP/IP 协议栈。 在 FPGA 中使用软核处理器比硬核的优势在于,硬核实现没有灵活性,通常无法使用最新的技术。 随着系统日益先进,基于标准处理器的方案会被淘汰,而基于 Nios II 处理器的方案是基于 HDL 源码构建的,能够修改以满足新的系统需求,避免了被淘汰的命运。 将处理器实现为 HDL 的 IP核,开发者能够完全定制CPU 和外设,获得恰好满足需求的处理器。 Altera 公司推出的 Nios 嵌入式处理器软核,通过软件编程的方法可灵活地实现嵌入式处理器的功能,并且针对 FPGA 进行性能优化,可大大提高系统性能。 它还具有片上调试功能,便于系统的设计和调试。 Nios 嵌入处理器软核在国外已广泛应用于通信、家电和控制等众多领域。 以数码管闪烁控制为例介绍 quartus II 软件及 NiosII 软件 II 新建一个工程名,工程名 DE2_SEG7。 2.Tool → SOPC Builder 打开 SOPC Builder。 3.System Name: nios2_system 选 VHDL。 一个包含 “ 数码管控制器 ” 的最小系统至少由 3部分组成: CPU 必不可少, RAM 存储代码,还有刚才设计的seg7_avalon。 4. 加入 Nios II Processor,选 Nios II/e,精简型够用了。 5. 加入 OnChip Memory,类型选 RAM,位宽默认 32 bits, Total Memory选 48Kbytes,等会儿软件要占用四十多 K 空间。 seg7_avalon。 7. 将这三个组件的名称改好看点,然后设定 RAM 的基地址为 0x00000000,再右键锁定基地址,如图: 通信技术毕业论文 10 ,弄乱了,让系统自动 再分配一次,当然被锁定的 RAM 基地址是不会变的。 System → AutoAssign Base Addresses。 最终系统组件列表如下: Generate生成 nios 系统,回到 Quartus II。 File→ New→ Block Diagram/Schematic File,引入nios II 系统,增加输入输出引脚。 然后, Assignment→ Import Assignment,添加引脚分配文件 ,查看编译报告 ,关掉 Quartus II,打开 Nios II IDE,切换到工作目录下。 13.File→ New→ C/C++ Application, SOPC Builder System选择” ,代码的功能为:先初始化数码 管,等待 2秒钟,再进行 09的循环,循环过程中穿插 2秒钟的清屏。 SEG7_BASE 的宏定义在 中,实际上就是在 SOPC Builder 中的 seg7_avalon 的基地址 0x00010800。 15.Project→ Build Project,得到编译报告 . DE2 板上,运行,数码管不停地闪啊闪。 3 语音信号处理。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。