基于fpga的cdma扩频通信系统同步电路设计内容摘要:

都集成了专用乘法器;为了适用通信总线与接口标准,很多高端的 FPGA 内部都集成了串并收发器 (SERDES),可以达到数十 Gbps 的收发速度。 赛灵思公司的高端产品不仅集成了 Power PC 系列 CPU,还 内嵌了 DSP Core 模块,其相应的系统级设计工具是 EDK 和 Platform Studio,并依此提出了片上系统 (System on Chip) 的概念。 通过 PowerPC(TM)、 Miroblaze、 Picoblaze 等平台,能够开发标准的 DSP 处理器及其相关应用,达到 SOC 的开发目的。 此外,新推出赛灵思的 FPGA系列如 Virtex5 LXT 还内建了 PCI Express 和三态以太网 MA 硬核 (TEMAC),与软核实现方式相比,硬核可以把功耗降低 5 到 10 倍 ,节约将近 90%的逻辑资源。 Xilinx 三态以太网 MAC 核是一个可参数化的核,非常适合在网络设备中使用 , 例如开关和路由器等。 可定 Xilinx 三态以太网 MAC 核是一个可参数化的核,非常适合在网络设备中使用 , 例如开关和路由器等。 可定制的 TEMAC 核使系统设计者能够实现宽范围的集成式以太网设计,从低成本 10/100 以太网到性能更高的 1GB 端口。 TEMAC 核设计符合 IEEE 规范的要求,并且可以在 1000Mbps、 100 Mbps 和 10 Mbps 模式下运行。 另外,它还支持半双工和全双工操作。 TEMAC 核通过 Xilinx CORE Generator(TM) 工具提供,是 Xilinx 全套以太网解决方案的一部分。 湖南科技大学毕业设计(论文) FPGA 开发工具介绍 VHDL 语言简介 VHDL 的英文全名是 VeryHighSpeed Integrated Circuit Hardware Description Language,诞生于 1982 年 , 是一种用于电路设计的高级语言。 1987 年底, VHDL 被 IEEE和美国国防部确认为标准硬件描述语言。 自 IEEE 公布了 VHDL 的标准版本, IEEE1076(简称 87版 )之后,各 EDA 公司相继推出了自己的 VHDL 设计环境,或宣布自己的设计工具可以和 VHDL 接口。 此后 VHDL 在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。 1993 年, IEEE 对 VHDL 进行了修订,从更高的抽象层次和系统描述能力上扩展 VHDL 的内容,公布了新版本的 VHDL,即 IEEE 标准的10761993 版本,(简称 93 版)。 现在, VHDL 和 Verilog 作为 IEEE 的工业标准硬件描述语言,又得到众多 EDA 公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。 有专家认为,在新的世纪中, VHDL 于 Verilog 语言将承担起大部分的数字系统设计任务。 它的应用主要是应用在数字电路的设计中。 目前,它在中国的应用多数是用在 FPGA/CPLD/EPLD 的设计中。 当然在一些实力较为雄厚的单位,它也被用来设计 ASIC。 VHDL主要用于描述数字系统的结构,行为,功能和接口。 除了含有许多具有硬件特征的语句外, VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。 VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分 ,及端口 )和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。 在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。 这种将设计实体分成内外部分的概念是 VHDL系统设计的基本点。 硬件描述语言 VHDL 是硬件设计者和 EDA 工具之间的界面 , 设计者使用 VHDL 来描述自己的设计方案 (或设计要求、设计意图 ) , 并把这个描述告诉 EDA 工具 , 最后在 EDA 工具的帮助下进行详细设计及验证。 VHDL 能使各种复杂度 (系统级、 PCB 板级、芯片级、门级 ) 的网络都可以在不同的抽象程度上被描述 , 它支持系统级、寄存器级和门级三个不同层次的设计 ,正逐渐成为电子设计师们设计数字硬件所必须掌握的工具语言。 VHDL 主要有以下优点 :(1)可读性好 , 既可 以被计算机接受 , 也容易被人们理解。 用 VHDL 书写的源文件 , 既是程序又是文档。 既是技术人员之间交换信息的文件 , 又可作为合同签约者之间的文件。 (2) VHDL 本 身的生命期长 , 因为 VHDL 的硬件描述与工艺技术 无关 , 不会因工艺变化而使描述过时。 (3) 支持大规模设计的分解和已有设计的再利用。 一个大规模设计不可能一个人独立完成 , 它将由多个人甚至多个项目组共同完成 , VHDL 中实体的概念、程序包的概念、设计 库的概念为设计的分解和再利用提供了湖南科技大学毕业设计(论文) 有力的支持。 Max+ plusⅡ 功能简介 1) 原理图输入 ( Graphic Editor) MAX+PLUSII 软件具有图形输入能力 ,用户可以方便的使用图形编辑器输入电路图 ,图中的元器件可以调用元件库中元器件 ,除调用库中的元件以外 ,还可以调用该软件中的符号功能形 成的功能块。 2) 硬件描述语言输入( Text Editor) MAX+PLUSII 软件中有一个集成的文本编辑器 ,该编辑器支持 VHDL,AHDL 和Verilog 硬件描述语言的输入 ,同时还有一个语言模板使输入程序语言更加方便 ,该软件可以对这些程序语言进行编译并形成可以下载配置数据。 3) 波形编辑器 (W aveform Editor) 在进行逻辑电路的行为仿真时,需要在所设计电路的输入端加入一定的波形,波形编辑器可以生成和编辑仿真用的波形( *.SCF 文件),使用该编辑器的工具条可以容易方便的生成波形和编辑波形。 使 用时只要将欲输入波形的时间段用鼠标涂黑,然后选择工具条中的按钮,例如,如果要某一时间段为高电平,只需选择按钮 1。 还可以使用输入的波形 (*.WDF 文件 )经过编译生成逻辑功能块,相当于已知一个芯片的输入输出波形,但不知是何种芯片,使用该软件功能可以解决这个问题,设计出一个输入和输出波形相同 CPLD 电路。 4) 管脚(底层)编辑窗口 (Floorplan Editor) 该窗口用于将已设计好逻辑电路的输入输出节点赋予实际芯片的引脚 ,通过鼠标的拖拉,方便的定义管脚的功能。 5) 自动错误定位 在编译源文件的过程中,若源文 件有错误, Max+PlusⅡ 软件可以自动指出错误类型和错误所在的位置。 6) 逻辑综合与适配 该软件在编译过程中,通过逻辑综合 (Logic Synthesizer)和适配 (Fitter) 模块 ,可以把最简单的逻辑表达式自动的吻合在合适的器件中。 7) 设计规则检查 选取 Compile\Processing\Design Doctor 菜单,将调出规则检查医生,该医生可以按照三种规则中的一个规则检查各个设计文件,以保证设计的可靠性。 一旦选择该菜单,在编译窗口将显示出医生,用鼠标点击医生,该医生可以告诉你程序文件 的健康情况。 8) 多器件划分 (Partitioner) 如果设计不能完全装入一个器件,编译器中的多器件划分模块,可自动的将一个设计分成几个部分并分别装入几个器件中,并保证器件之间的连线最少。 湖南科技大学毕业设计(论文) 9) 编程文件的产生 编译器中的装配程序 (Assembler)将编译好的程序创建一个或多个编程目标文件: EPROM 配置文件( *.POF)例如 ,MAX7000S 系列 SRAM 文件( *.SCF)例如 ,FLEX8000 系列的配置芯片 EPROM JEDEC 文件 (*.JED) 十六进制文件 (*.HEX) 文本文件 (*.TTF) 串行 BIT 流文件 (*.SBF) 10) 仿真 当设计文件被编译好 ,并在波形编辑器中将输入波形编辑完毕后 ,就可以进行行为仿真了 ,通过仿真可以检验设计的逻辑关系是否准确 . 11) 分析时间 (Analyze Timing) 该功能可以分析各个信号到输出端的时间延迟 ,可以给出延迟矩阵和最高工作频率。 12) 器件编程 当设计全部完成后 ,就可以将形成的目标文件下载到芯片中 ,实际验证设计的准确性 . Max+ plusⅡ设计过程 使用 Max+plusⅡ 软件设计流程由以下几部分组成。 如图 所示。 1) 设计输入:可以采用原理图输入、 HDL 语言描述、 EDIF 网表输入及波形输入等几种方式。 2) 编译 : 先根据设计要求设定编译参数和编译策略,如器件的选择、逻辑综合方式的选择等。 然后根据设定的参数和策略对设计项目进行网表提取、逻辑综合和器件适配,并产生报告文件、延时信息文件及编程文件,供分析仿真和编程使用。 3) 仿真:仿真包括功能仿真、时序仿真和定时分析,可以利用软件的仿真功能来验证设计项目的逻辑功能是否正确。 4) 编程与验证:用经过仿真确认后的编程文件通过编程器 ( Programmer) 将设计下载到实际芯片中 ,最后测试芯片在系统中的实际运行性能。 在设计过程中,如果出现错误,则需重新回到设计输入阶段,改正错误或调整电路后重设计输入 编 译 在系统测试 编 程 修改设计 仿真与定时分析 图 开发流程图 湖南科技大学毕业设计(论文) 复上述过程。 图 是 Max+plusⅡ编译设计主控界面,它显示了 Max+plusⅡ自动设计的各主要处理环节和设计流程,包括设计输入编辑、编译网表提取、数据库建立、逻辑综合、逻辑分割、适配、延时网表提取、编程文件汇编(装配)以及编程下载。 二 .设计步骤 1) 输入项目文件名 (File/Project/Name) 2) 输入源文件 (图形、 VHDL、 AHDL、 Verlog 和波形输入方式 ) (Max+ plusⅡ /graphic Editor; Max+ plusⅡ /Text Editor; Max+ plusⅡ /Waveform Editor) 3) 指定 FPGA 型号 (Assign/Device) 4) 设置管脚、下载方式和逻辑综合的方式 (Assign/Global Project Device Option, Assign/Global Logic Synthesis) 5) 保存并检查源文件 (File/project/Save amp。 Check) 6) 指定管脚 (Max+ plusⅡ / Floor plan Editor) 7) 保存和编译源文件 (File/project/Save amp。 Compile) 8) 生成波形文件 (Max+ plusⅡ /Waveform Editor) 9) 仿真 (Max+ plusⅡ /Simulator) 10) 下载配置 (Max+ plusⅡ /Programmer) FPGA 开发基本流程 FPGA 是可编程芯片,因此 FPGA 的设计方法包括硬件设计和软件设计两部分。 硬件包括 FPGA 芯片电路、存储器、输入输出接口电路以及其他设备,软件即是相应的 HDL程序以及最新才流行的嵌入式 C 程序。 目前微电子技术已经发展到 SOC 阶段,即集成系统 (Integrated System)阶段,相对于集成电路 (IC)的设计思想有着革命性的变化。 SOC是一个复杂的系统,它将一个完整产品的功能集成在一个芯片上,包括核心处理器、存储单元、硬件加速单元以及众多的外部设备接口等,具有设计周期长、实现成本高等特点,因此其设计方法必然是自顶向下的从系统级到功能模块的软、硬件协同设计,达到软、硬件的无缝结合。 这么庞大的工作量显然超出了单个工程师的能力,因此需要按照层次化、结构化的设计方法来实施。 首先由总设计师将整个软件开发任 务划分为若干个图 编译主控界面 湖南科技大学毕业设计(论文) 可操作的模块,并对其接口和资源进行评估,编制出相应的行为或结构模型,再将其分配给下一层的设计师。 这就允许多个设计者同时设计一个硬件系统中的不同模块,并为自己所设计的模块负责;然后由上层设计师对下层模块进行功能验证。 自顶向下的设计流程从系统级设计开始,划分为若干个二级单元,然后再把各个二级单元划分为下一层次的基本单元,一直下去,直到能够使用基本模块或者 IP核直接实现为止,流行的 FPGA开发工具都提供了层次化管理,可以有效地梳理错综复杂的层次,能够方便地查看某一层次模块的源代码以修改错误。 在工程 实践中,还存在软件编译时长的问题。 由于大型设计包含多个复杂的功能模块,其时序收敛与仿真验证复杂度很高,为了满足时序指标的要求,往往需要反复修改源文件,再对所修改的新版本进行重新编译,直到满足要求为止。 这里面存在两个问题:首先,软件编译一次需要长达数小时甚至数周的时间,这是开发所不能容忍的;其次,重新编译和布局布线后结果差异很大,会将已满足时序的电路破坏。 因此必须提出一种有效提高设计性能,继承已有结果、便于团队化设计的软件工具。 FPGA 厂商意识到这类需求。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。