EDA课程设计——函数信号发生器--精.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
EDA课程设计——函数信号发生器 实验报告 学院(系) 专业、班级 学生姓名 学 号 小组其他队员: 指导教师 (1)实验要求 (2)总体设计思路 (3)程序仿真 (4)实验结果 (5)心得体会 实验要求 利用VHDL语言设计一个多功能信号发生器,可以产生三角波 分频 分频器是数字电路中最常用的电路之一,在FPGA的设计中也是使用效率非常高的基本设计。实现的分频电路一般有两种方法:一是使用FPGA芯片内部提供的锁相环电路,如ALTERA提供的PLL(Phase Locked Loop),Xilinx提供的DLL(Delay Locked Loop);二是使用硬件描述语言,如VHDL、Verilog HDL等本使用VHDL进行分频器设计,将奇数分频,和偶数分频结合起来,可以实现50%占空比任意正整数的分频 在我们本次试验中的实现即为当按下按键时,频率自动减半。如当输入为100MHZ,输出为50MHZ。 信号的产生。 根据查找资料,我们最终确定了在QUARTUS中波形数据产生的方法,即利用地址信号发生器和LPM_ROM模块。ROM的地址信号发生器,有七位计数器担任。LPM_ROM底层是FPGA中的M4K等模块。然后在VHDL顶层程序设计中将两部分调用从而实现信号的发生。ROM中存放不同的初始化MIF文件(存放不同波形的数据)从而产生不同的波形。 信号产生模块: 信号产生RTL图: 此环节最重要的还有MIF文件的建立,经过查找资料,下载了MIFMAKER 2010软件,从而较为简单的产生了MIF文件。 MIF文件制作图: 四选一多路选择。 多路选择器模块是实验模块之中最简单的模块,因为在上一学期的EDA学习中曾经做过四路选择器模块。此模块的基本四路是通过一个两位的输入信号s来决定输出的信号数据,例:s=00时,输出a;s=01输出b ;s=10时,输出c; s=11时,输出d。 多路选择器原理图: 调幅。 调幅的思路基本上是运用乘法器来完成数据的翻倍从而达到幅度的变化。因此此模块的完成最主要的任务是乘法器的实现。本实验我们开始采用的乘法器是两个矢量类型的数据作为输入,一个是波形数据,另一个则为幅度的变化倍数(变化范围为1,2,3倍)。 如下图: 但后来在硬件上实现时倍数高时容易波形顶部容易产生失真,因此我们对此进行了改进,即将输入的两个八位矢量类型数据通过conv_integer函数产生整数数据,对整数数据进行小幅度乘除(如c=a*b/16) D/A转换。 D/A转换是把数字信号转换为信息基本相同的模拟信号而设计的处理过程大多数DA转换器由电阻阵列和构成 根据公式 u0=Rf(ui1/R1+ui2/R2+ui3/R3+…) 计算出 R43=2*R44=4*R45=8*R46=16*R47=32*R48=64*R49=128*R50 R50=2*R42 因此可以选取 R40= R41= R42= 1kΩ R43= 256kΩ R44= 128kΩ R45=64Ω R46= 32kΩ R47= 16kΩ R48= 8kΩ R49= 4kΩ R50=2kΩ 三.程序仿真 正弦波仿真: 三角波仿真: 锯齿波仿真: 方波仿真: 分频器仿真: 多路选择仿真: 乘法器仿真: 总电路仿真: 四.实验结果 正弦波输出: 调频后: 调幅后: 三角波输出: 锯齿波输出: 方波输出: 实物图: 五.心得体会 本设计基于VHDL语言进行设计,利用FPGA芯片为主要芯片,在编程过程中分体现了进程的并行性,利用了五个基本的模块实现了上述的功能。其实本实验的关键还是EDA软件QUARTUS II 的使用,在一开始的接触中,完全不知道本软件的使用方法,在经过一天的视频学习后,对此软件的使用有了较为初步的认识。然后就是vhdl语言的编写,由于本人的编程语言以前学的不是很好,因此只能一边参照课本一边进行语言的编写。让我印象最深刻的就是分频器和乘法器的编写,分频器是我第一次编写的比较复杂的模块,实现的不理想,因此借用了网上查阅的资料。乘法器的编写最初的思路有些偏差,在和组员的讨论中编写了更为理想的程序,这件事情让我感触很深,深刻的认识到了合作的重要性以及程序语言的乐趣,最终当波形通过配置在示波器上显示出来的时候,心里的感觉是无法言语的。虽然自己完成的结果不是最好的,但

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档