基于Verilog-HDL的信号发生器的设计.doc

基于Verilog-HDL的信号发生器的设计.doc

ID:61763586

大小:445.50 KB

页数:6页

时间:2021-03-19

基于Verilog-HDL的信号发生器的设计.doc_第1页
基于Verilog-HDL的信号发生器的设计.doc_第2页
基于Verilog-HDL的信号发生器的设计.doc_第3页
基于Verilog-HDL的信号发生器的设计.doc_第4页
基于Verilog-HDL的信号发生器的设计.doc_第5页
资源描述:

《基于Verilog-HDL的信号发生器的设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于VerilogHDL的信号发生器的设计一、实验目的应用Verilog进行编写四种波形发生的程序,并结合DE2板与DVCC实验板上的D/A转换器在示波器显示出波形。初步了解Verilog的编程及DE2板的应用,加强对其的实际应用操作能力。二、实验原理实验程序分为三部分:第一、通过计数器实现内置信号分频,并通过外置开关调节频率来控制输出波形的频率。第二、设定ROM中的数值,将波形数据存储到ROM中。第三、设定波形选择开关。总体设计方案及其原理说明:FPGA图1-1系统总体设计方案DDS是一种把数字信号通过数/模转换器

2、转换成模拟信号的合成技术。它由相位累加器、相幅转换函数表、D/A转换器以及内部时序控制产生器等电路组成。参考频率f_clk为整个合成器的工作频率,输入的频率字保存在频率寄存器中,经N位相位累加器,累加一次,相位步进增加,经过内部ROM波形表得到相应的幅度值,经过D/A转换和低通滤波器得到合成的波形。p为频率字,即相位增量;参考频率为f_clk;相位累加器的长度为N位,输出频率f_out为:f_out——输出信号的频率;N————相位累加器的位数;p———频率控制字(步长);f_clk——基准时钟频率。图1-2四种波形

3、单周期的取样示意图段地址基地址D7D6D5D4D3D2D1D000000100000117000101500011170010010001013001105001113010003010013010103010113011001011011011101011111100000100015100101010011151010020101012510110301011135110003511001301101025110112011100151110110111105111110图1-3函数查找表的设计三、实验内容程序编

4、码:moduledds(f_clk,p,choose,data);//端口设定input[5:0]p;//频率控制字input[1:0]choose;//波形选择inputf_clk;//内置晶振output[7:0]data;wire[7:0]data;reg[5:0]addr,address;reg[5:0]i;regf_out;initialbegini<=0;addr<=0;f_out<=0;endalways@(posedgef_clk)//利用计数器实现任意分频beginif(i==p)//设定频率控制字

5、pbegini=0;f_out=~f_out;endelsei=i+1;endfunction[7:0]romout;//ROM的设定input[5:0]address;case(address)//各波形初值的预装入0:romout=10;//正弦波初值1:romout=17;2:romout=15;3:romout=17;4:romout=10;5:romout=3;6:romout=5;7:romout=3;8:romout=3;//方波初值9:romout=3;10:romout=3;11:romout=3;

6、12:romout=1;13:romout=1;14:romout=1;15:romout=1;16:romout=0;//正三角波初值17:romout=5;18:romout=10;19:romout=15;20:romout=20;21:romout=25;22:romout=30;23:romout=35;24:romout=35;//反三角波初值25:romout=30;26:romout=25;27:romout=20;28:romout=15;29:romout=10;30:romout=5;31:ro

7、mout=0;default:romout=10'hxx;endcaseendfunctionalways@(posedgef_out)beginif(addr==8)//波形数据切换addr=0;elseaddr=addr+1;case(choose)//波形选择开关设定0:address=addr;1:address=addr+8;2:address=addr+16;3:address=addr+24;endcaseendassigndata=romout(address);//将ROM中对应数据传递输出端口da

8、ta输出endmodule四、实验截图1.正弦波示意图:(choose=0时的波形数值)2.方波示意图:(choose=1时的波形数值)3.正三角波示意图:(choose=2时的波形数值)4.反三角波示意图:(choose=3时的波形数值)五、实验总结通过这次期末实验,更进一步认识了Verilog语言的使用,详细了解了整个设计制作和仿真流程,独

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。