教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 政务民生 >

基于FPGA的DDS波形发生器的设计论文(5)

来源:网络收集 时间:2025-09-24
导读: 哈尔滨工业大学华德应用技术学院毕业设计(论文) 行的设计,ModelSim SE 比ModelSim XE要快10倍;对于代码超过40000行的设计,ModelSim SE要比ModelSim XE快近40倍。ModelSim SE支持PC、UNIX和LINUX混合平台;提供

哈尔滨工业大学华德应用技术学院毕业设计(论文)

行的设计,ModelSim SE 比ModelSim XE要快10倍;对于代码超过40000行的设计,ModelSim SE要比ModelSim XE快近40倍。ModelSim SE支持PC、UNIX和LINUX混合平台;提供全面完善以及高性能的验证功能;全面支持业界广泛的标准;Mentor Graphics公司提供业界最好的技术支持与服务。

ModelSim的使用方法:

1. 在D盘建立一个目录DDS。用任何文本编辑器编辑一个简单的例子程序,比如计数器counter.v。有clk、ena、reset输入,cnt作为输出。

2. 打开Modelsim,首先create project,工程名随意取了,比如命名为test,目录设在modelsimStudy下,默认的库work不变(这样就不用管什么建立库之类的东西了)。然后add existing file,把counter.v加入当前工程。

3. 编译这个文件,通过之后,work下面会出现counter这个实体。然后选中它,右键,simulate(左键双击也可)。

4. ModelSim有很多窗口,一开始只要选择view下面的 objects 和 wave窗口就行了。旧版的signal窗口在6.0的版本改名为Objects。wave窗口刚打开时是空的,需要在objects窗口的 add -> wave -> signals in region。这时,wave上就有clk\\ ena \\ reset等信号了。

5. 我们给clk来个输入激励,在object窗口中选中clk,右键选clock,给它定义个时钟。

3.4 Verilog-HDL语言简介

硬件描述语言HDL是一种用形式化方法来描述数字电路和设计数字逻辑系统的语言。它可以使数字逻辑电路设计者利用这种语言来描述自己的设计思想,然后利用电子设计自动化(EDA)工具进行仿真,自动综合到门级电路,再利用ASIC或FPGA实现其具体功能。在硬件描述语言出现之前,已经有很多成功的软件设计语言,比如 :Fortran、Pascal和C等,为什么不用这些语言描述硬件?因为这些软件设计语言较合适描述顺序执行的程序,却难以描述硬件的并发行为;软件设计语言中没有时序概念,难以描述信号间的时序关系。硬件描述语言自出现起,发展非常迅速,已经成功应用在数字

-17-

哈尔滨工业大学华德应用技术学院毕业设计(论文)

逻辑设计的各个阶段,包括设计、仿真、验证、综合等,它们对设计自动化起到了极大的推动作用。 Verilog-HDL语言是硬件描述语言中的一种,它是在 1983年由Gat way Design Automation公司的 philMoothy首创。在 1984年一 1985年,Moorby设计出第一个关于Verilog一XL的仿真器, 1986年,他对 VerilogHDL的发展又做出了另一个巨大的贡献,即提出了用于快速门级仿真的XL算法,使仿真速度有了很大提高。随着这种仿真器的流行, verilog-HDL语言得到迅速发展。 1989年,Cadence公司收够了Gate Way公司, Verilog-HDL语一言成为Cadenee公司的私有财产。由于Verilog私有性,妨碍了使用者之间的交流与共享,为与vHDL语言竞争,1990年,Cadenee公司决定公开 verilog-HDL语一言。基于 verilog-HDL的优越性,IEEE于 1995年制定了 VerilogHDL的IEEE标准,即verilog-HDL1364一1995。采用Verilog语言设计的优点有以下几点:

(l)作为一种通用的硬件描述语言,Verilog易学易用,因为在语法上它与C语一言非常类似,有C语言编程经验的人很容易发现这一点。

(2)同一个设计,Verilog语一言允许设计者在不同层次上进行抽象。verilog语言中提供开关级、门级、RTL级和行为级支持,一个设计可以先用行为级语法描述它的算法,仿真通过后,再用RTL级描述,得到可综合的代码。

(3)Verilog语言支持广泛,基本上所有流行的综合器、仿真器都支持Verilog。

(4)所有的后端生产厂商都提供verilog的库支持,这样在制造芯片时,可以有更多的选择。

(5)能够描述层次设计,可使用模块实例结构描述任何层次,模块的规模可以是任意的,语言对此没有任何限制。

(6)Verilog-HDL语言的描述能力可以通过使用编程语言接口(PLI)机制进一步扩展。PLI允许外部函数访问verilog模块内部信息、允许设计者通过软件程序与仿真器进行交互。

(7)Verilog语言对仿真提供强大的支持,虽然现在出现了专门的用于验证的语言,但用verilog语言直接对设计进行测试任然是大部分工程师的首选。

-18-

哈尔滨工业大学华德应用技术学院毕业设计(论文)

3.5 FPGA开发流程

FPGA开发一般流程:

1、电路的设计与输入(HDL描述和原理如图输入方法)

2、功能仿真(前仿真:检查所设计的电路是否满足预先设想的功能需求)

3、综合优化(把RTL级描述和原理图描述变成门级网表描述) 4、综合后仿真(检查综合后的结果是否和预想的设计一致) 5、布局布线 (布局:把门级网表中各个基本硬件单元适配到FPGA具体的硬件电路上 ;根据布局的拓扑结构和FPGA的连线资源,把这些基本硬件单元合理的连接起来)

6、时序仿真与验证(后仿真:包含门延迟和传输线的延迟,能真是反应FPGA的实际工作情况,确保设计的稳定性和可靠性)

7、调试与加载配置

以上的任何一步出现问题,都要回到相应的步骤进行重新设计,知道满足要求为止。下图所示为FPGA开发流程图。

本章小结

本章首先介绍了现场可编程门阵列FPGA的发展史,接着介绍了FPGA开发环境Quartus II 8.1以及HDL语言仿真软件ModelSim的使用和优点,紧接着介绍了Verilog-HDL硬件描述语言的发展和优点,最后在此基础上介绍了FPGA的设计开发流程。

-19-

哈尔滨工业大学华德应用技术学院毕业设计(论文)

第4章 DDS波形发生器的FPGA实现

早期的DDS系统使用分离的数字器件搭接,随着整个电路系统运行频率的升高,采用分离器件构建的DDS电路有其自身无法克服的缺点,主要表现在电磁兼容和系统工作频率上。后来出现的专用DDS芯片极大的推动了DDS技术的发展,但专用DDS芯片价格昂贵,且无法实现任意波形输出,近来,CPLD及FPGA的发展为实现DDS提供了更好的技术手段。FPGA的应用不仅使得数字电路系统的设计非常方便,并且还大大缩短了系统研制的周期,缩小了数字电路系统的体积和所用芯片的品种。而且它的时钟频率已可达到几百兆赫兹,加上它的灵活性和高可靠性,非常适合用于实现波形发生器的数字电路部分。用FPGA设计DDs电路比采用专用DDS芯片更为灵活。因为,只要改变FPGA中的ROM数据,DDs就可以产生任意波形,因而具有相当大的灵活性。相比之下FPGA的功能完全取决于设计需求,可以复杂也可以简单,而且FPGA芯片还支持在系统现场升级,虽然在精度和速度上略有不足,但也能基本满足绝大多数系统的使用要求。另外,将DDS设计嵌入到FPGA芯片所构成的系统中,其系统成本并不会增加多少,而购买专用芯片的价格则是前者的很多倍。因此,采用FPGA来设计DDS系统具有很高的性价比。

4.1 DDS波形发生器的FPGA设计流程

用FPGA可以非常方便的实现DDS系统的数字电路环节,且可现场编程进行电路的修改。在DDS系统中,FPGA的主要完成:(l)保存频率字;(2)保存相位字;(3)构成相位累加器,产生波形ROM的地址;(4)形成波形ROM。

下图3—1为利用FPGA设计DDS波形发生器的结构框图。该系统可实现标准的方波、三角波和正弦波输出。其中相位累加器是一个带有累加功能的加法器,它以设定的频率控制字作为步长来进行加法运算 …… 此处隐藏:2191字,全部文档内容请下载后查看。喜欢就下载吧 ……

基于FPGA的DDS波形发生器的设计论文(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/447007.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)