多功能波形发生器的设计__毕业论文(编辑修改稿)内容摘要:

大批量产品开发。 半定制 ASIC 芯片的版图设计方法有所不同,分为门阵列设计法和标准单元设计法,这两种方法都是约 束性的设计方法,其主要目的就是简化设计,以牺牲芯片性能为代价来缩短开发时间。 可编程逻辑芯片与上述掩膜 ASIC 的不同之处在于:设计人员完成版图设计后,在实验室内就可以烧制出自己的芯片 ,无须 IC 厂家的参与,大大缩短了开发周期。 4 可编程逻辑器件自七十年代以来,经历了 PAL、 GAL、 CPLD、 FPGA 几个发展阶段,其中 CPLD/FPGA 属高密度可编程逻辑器件,目前集成度已高达 200万门 /片,它将掩膜 ASIC 集成度高的优点和可编程逻辑器件设计生产方便的特点结合在一起,特别适合于样品研制或小批量产品开发,使产 品能以最快的速度上市,而当市场扩大时,它可以很容易的转由掩膜 ASIC 实现,因此开发风险也大为降低。 上述 ASIC 芯片,尤其是 CPLD/FPGA 器件,已成为现代高层次电子设计方法的实现载体。 FPGA 介绍 FPGA( Field- Programmable Gate Array),即现场可编程门阵列,它是在 PAL、GAL、 CPLD 等可 编程器 件的基础上进一步发展的产物。 它是作为 专用集成电路( ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可 编程 器 件门电路数有限的缺点。 以硬件描述语言( Verilog 或 VHDL)所完成的 电路 设计,可以经过简单的综合与布局,快 速的 烧录 至 FPGA 上进行测试,是现代 IC 设计验证 的技术主流。 这些可编辑元件可以被用来实现一些基本的逻辑门 电路 (比如 AND、 OR、XOR、 NOT)或者更复杂一些的组合功能比如解码器或数学方程式。 在大多数的 FPGA 里面,这些可编辑的元件里也包含记忆元件例如 触发器 ( Flip- flop)或者其他更加完整的记忆块。 目前市场上开发 FPGA 的主要有两大供应商,一个就是 ALTERA 公司,另一个就是 Xilinx 公司。 Altera 的主流 FPGA 分为两大类,一种侧重 低成本 应用,容量中等,性能可以满足一般的 逻辑设计 要求,如 Cyclone, CycloneII;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如 Startix, StratixII 等,用户可以根据自己实际应用要求进行选择。 在性能可以满足的情况下,优先选择 低成本 器件。 MAX+PLUSII:普遍认为 MaxplusII 曾经是最优秀的 PLD 开发平台之一,适合开发早期的中小规模 PLD/FPGA 由 QuartusII 替代,不再推荐使用。 QuartusII: Altera 新一代 FPGA/PLD 开发 软件 ,适合新器件和大规模 FPGA的开发,已经取代 MaxplusII。 SOPC Builder: 配合 QuartusII,可以完成集成 CPU 的 FPGA 芯片的开发工作 DSP Builder: QuartusII 与 Matlab 的接口,利用 IP 核在 Matlab 中快速完成 数字信号处理 的仿真和最终 FPGA 实现。 Xilinx 的主流 FPGA 分为两大类,一种侧重低成本应用,容量中等,性能可 5 以满足一般的 逻辑设计 要求,如 Spartan 系列;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如 Virtex 系列,用户可以根据自己实际应用要求进行选择。 在性能可以满足的情况下,优先选择低成本器件。 ISE: Xilinx 公司集成开发的工具 Foundation: Xilinx 公司早期的开发工具,逐步被 ISE 取代 嵌入式开发 套件( EDK): 用于开发集成 PowerPC 硬核和 MicroBlaze 软核CPU 的工具 System Generator for DSP :配合 Matlab,在 FPGA 中完成 数字信 号处理 的工具 Modelsim 介绍 Mentor 公司的 ModelSim 是业界最优秀的 HDL 语言 仿真软件 ,它能提供友好的仿真环境,是业界唯一的 单内核 支持 VHDL 和 Verilog 混合仿真的 仿真器。 它采用直接优化的 编译技术 、 Tcl/Tk 技术、和单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护 IP 核,个性化的图形界面和 用户接口 ,为用户加快调错提供强有力的手段,是 FPGA/ASIC 设计 的首选 仿真软件。 ModelSim 分几种不同的版本: SE、 PE、 LE 和 OEM,其中 SE 是最高级的版本,而集成在 Actel、 Atmel、 Altera、 Xilinx 以及 Lattice 等 FPGA 厂商设计工具中的均是其 OEM 版本。 SE 版和 OEM 版在功能和性能方面有较大差别,比如对于大家都关心的仿真速度问题,以 Xilinx 公司提供的 OEM 版本 ModelSim XE为例,对于代码少于 40000 行的设计, ModelSim SE 比 ModelSim XE 要快 10 倍;对于代码超过 40000 行的设计, ModelSim SE 要比 ModelSim XE 快近 40 倍。 ModelSim SE 支持 PC、 UNIX 和 LINUX 混合平台;提供全面完善以及高性能的验证功能;全面支持业界广泛的标准; Mentor Graphics 公司提供业界最好的技术支持与服务。 Verilog 与 VHDL 语言介绍 Verilog HDL 语言 是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。 其 具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。 所有这些都使用同一种建模语言。 此外, Verilog HDL 语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。 VHDL 语言是一种用于电路设计的高级语言。 VHDL 主要用于描述 数字系统的结构,行为,功能和接口。 除了含有许多具有硬件特征的语句外, VHDL 的语 6 言形式、描述风格以及语法是十分类似于一般的 计算机高级语言。 VHDL 的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分 ,及端口 )和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。 在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。 测试激励文件介绍 测试激励也叫 testbench,它 是一种验证的手段。 首先,任何设计都是会有输入输出的。 但是在软环境中没有激励输入,也不会对你设计的输出正确性进行评估。 那么 此时便有一种,模拟实际环境的输入激励和输出校验的一种 ―虚拟平台 ‖的产生。 在这个平台上你可以对你的设计从软件层面上进行分析和校验。 用通俗的话来表示:测试激励就是启动模块的钥匙,它能够模拟模块的输入变量,使其能够按照工程师的要求进行工作。 软件使用入门 系统仿真软件 Modulsim 使用 Modulsim 是目前市场上最流行的 FPGA 仿真软件,以其卓越的性能和操作简单性著称。 下面以 Modelsim 来做个使用向导。 1) 软件安装好之后,打开软件 modulsim,点击 FILEnewproject,将出现如图 14 所示画面,起名为 test。 图 14 新建工程 2) 在如图 15 所示界面添加 verilog 文件与测试文件,然后进行编译,将出现图 16 所示画面 7 图 15 添加文件 图 16 编译结果 3) 双击测试文件, tb_sysgen 将出现图 17 所示现象,然后在测试文件tb_sysgen 上右击选中 start simulation ,会出现如图 18 所示现象。 图 17 点击仿真 8 图 18 添加波形 4) 运行仿真,将开始进行波形仿真,如图 19 所示: 图 19 波形仿 真图 9 Quartus II 软件使用 Quartus II 软件是目前市场上最流行的 FPGA 开发综合软件,它的开发者是altera 公司。 其容易操作,具有良好的可视化,开发简单,易于被初学这接受。 以下介绍 Quartus II 的简单使用。 1) 打开 Quartus II 软件,点击 File 选项,然后选择 new,选择 new Quartus II project, 选择好器件以及存放路径,就建立好工程文件了,如图 210。 图 110 新建工程 2) 点击 File,选择 new,新建 verilog HDL,比如文件名字叫 test。 编程完毕之后,可以编译下,看看有没有语法错误,如果没有语法错误,则进入测试文件建立模块。 3) 点击菜单栏中 processing,选择 start,选择 start testbench template write。 此时会自动生成 testbench 模板到项目文件夹 simulation 里面,后缀为 .vt ,这时候就可以通过 modulesim 进行仿真了。 10 2 系统总体设计 本系统是基于 FPGA 开发的多功能波形发生器,利用硬件描述语言 Verilog进行编程, Quartus II 上进行编译,并仿真验证结构,接着利用 Modelsim 进行再次仿真验证,以达到本系统的要求,产生增斜波、减斜波、方波、三角波、正弦波、阶梯波形。 但是确定该方案之前还是有很多方案: 方案一: 用分立元件组成的函数发生器:通常是单函数发生器且频率不高,其工作不很稳定,不易调试 方案二: 可以由 晶体管 、运放 IC 等通用器件制作,更多的则是用专门的函数信号发生器 IC 产生。 早期的函数 信号发生器 IC,如 L803 BA20XR2207/2209 等,它们的功能较少,精度不高,频率上限只有 300kHz,无法产生更高频率的信号,调节方式也不够灵活,频率和占空比不能独立调节,二者互相影响。 方案三: 利用单片集成芯片的函数发生器:能产生多种波形,达到较高的频率,且易于调试。 鉴于此, 美国 美信公司开发了新一代函数信号发生器ICMAX038,它克服了( 2)中芯片的缺点,可 以达到更高的技术指标,是上述芯片望尘莫及的。 MAX038 频率高、精度好,因此它被称为高频精密函数信号发生器 IC。 在锁相环、压控振荡器、频率合成器、脉宽调制器等电路的设计上,MAX038 都是优选的器件。 方案四: 利用专用直接数字合成 DDS 芯片的函数发生器:能产生任意波形并达到很高的频率。 但成本较高 相比以上四种方案,利用 FPGA 进行开发具有自己的优势性: 1) 可以根据自己的需求进行定制特定的电路; 2) 综合仿真容易实现,拥有 Quartus II、 Modelsim 和 ISE 等软件编程; 3) 可编程性强, Verilog 语言编 程语法比较类似与熟悉的 C 语言,学习简单易用 硬件总体框图 硬件设计主要包含三个模块,即时钟产生模块、 FPGA 信号产生模块、 D/A 数模转换模块。 总体框图如图 31 所示 图 31 11 时钟模块是用来给 FPGA 提供基准时钟,其稳定性决定了信号产生器的稳定;FPGA 信号产生模块是各种波形信号产生如:正弦波,方波,斜波,锯齿波,三角波,波形频率设定; D/A 数模转化模块是将 FPGA 输出的数据整合成模拟的波形。 图 32 软件总体框图 软件系统设计主要包含三个模块,即基于 altera 公司的 Quartus II 分频模块 ,波形产生模块,仿真软件 Modelsim 波形仿真模块。 总体设计如图 32 所示。 时钟分频模块是指将基准时钟进行分频,以达到变换频率的功能。 波形产生模块用来产生各种波形,如增斜波,减斜波,正弦波,阶梯波形,方波。 数字输出模块,将各种波形用数字进行输出。 软件与硬件设计总结 综上所述软硬件结构,利用时钟模块产生基准时钟传输到 FPGA 上, FPGA利用锁相环对时钟倍频产生更高的时钟频率,然后根据用户需要,对时钟进行分频,产生不同频率的波形。 通过 Verilog 语言进行编程来产生各种波形,输出到D\A 数模转换模块,产生模拟波形信号。 12 3 系统各模块设计 时钟模块设计 时钟模块的功能是分配系统时钟,使得 FPGA 输出不同的频率的波形。 根据这个功能,利用 Verilog 编写了分频时钟模块。 利用 ALTERA 公司开发的 Quartus II 软件进行综合,布线之后,得到如图 31 模块原理图 : 图 31 分频时钟模块 时钟模块 Verilog 代码如下: module clk_div( sysclk , reset , div , clk_out。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。