verilog硬件描述语言课程设计.doc

上传人:h**** 文档编号:100916 上传时间:2018-07-06 格式:DOC 页数:15 大小:686.50KB
下载 相关 举报
verilog硬件描述语言课程设计.doc_第1页
第1页 / 共15页
verilog硬件描述语言课程设计.doc_第2页
第2页 / 共15页
verilog硬件描述语言课程设计.doc_第3页
第3页 / 共15页
verilog硬件描述语言课程设计.doc_第4页
第4页 / 共15页
verilog硬件描述语言课程设计.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、 1 Verilog 课程 设 计 题 目 函数发生器(方波和阶梯波) 学生姓名 : 专 业 : 班 级 : 指导教师 : 完成日期 : 2 目录 1 、 概述 . 1 2、 功能 . 2 3 设计方案(设计的技术方案、工作原理、 设计框图 ) . 3 4 设计与仿真 . 11 5、 结束语 . 14 6 附录 . 15 3 1.概述 ( 1) 实验 目的: 在基于 QUARTUS2 软件平台下,运用 Verilog 硬件描 述语言来进行编写两种波形(方波和阶梯波)发生的程序,并结合 DE2 板与 DVCC实验板上的 D/A转换器在示波器显示出波形。初步了解 Verilog的编程及 DE2 板

2、的应用,加强对其的实际应用操作能力。 ( 2) 实验 要求: 运用 DE2 上的 DAC 实现方波、阶梯信号发生器功能。方波频率、占空比可设置。阶梯波信号频率、幅度可调。 在完成基本要求的基础上,可进一步增加功能、提高性能。 4 2.功能 实验内容: 5 . 利用 简易函数发生器 基本要求:运用 DE2 上的 DAC 实现方波、阶梯信号发生器功能 。方波频率、占空比可设置。阶梯波信号频率、幅度可调。 在完成基本要求的基础上,可进一步增加功能、提高性能。 5 3 设计方案 ( 1)设计流程图 时钟信号累加器 设置时钟信号 f_clk 设置频率控制字 p 利用存储器存储 32 个采样点: 16 个

3、梯形波采样点, 16个方波采样点 设置选择端口 choose 16 个阶梯波采样点 015 16个方波采样点1631 Choose=0 Choose=1 送至输出端口 data 输出 程序结束 6 ( 2) 波形产生的基本原理 1. 先利用时钟信号 f_clk产生一个工作频率 ,输入的频率字保存在频率寄存器中 ,经位相位累加器 ,累加一次 ,相位步进增加 ,经过内部 ROM波形表得到相应的幅度值 ,经过 D/A转换和低通滤波器得到合成的波形。 2. 利用存储器,先把定点值存入存储器中,再通过 choose 选择所需要的那段地址的值,在通过 data读出值。 3. 最后利用波形仿真,通过转换把数

4、字量转换为波形图。 ( 3) 产生波形频率可调的方法 采用设置频率控制字的方法 ,设置一个输入端口【 5:0】 q,并且下载时将其绑定在 6 个控制开关上,可以实现频率的调整,采用 2 进制, q 的值就是频率的缩小(扩大)倍数。 7 ( 4) 源程序 module sq(f_clk,p,choose,data);/端口设定 input 5:0 p; /频率控制字 input choose; /波形选择 input f_clk; /内置晶振 output 7:0 data; wire 7:0data; reg 5:0 addr,address; reg 5:0 i; reg f_out; in

5、itial begin i=0; addr=0; f_out=0; end always (posedge f_clk) /利用计数器实现任意 分频 begin if(i=p) /设定频率控制字 p begin 8 i=0; f_out=f_out; end else i=i+1; end function 7:0 romout; /ROM 的设定 input5:0 address; case(address) /各波形初值的预装入 0 : romout = 255; /阶梯波初值 1 : romout = 255; 2 : romout = 255; 3 : romout = 255; 4

6、: romout = 128; 5 : romout = 128; 6 : romout = 128; 7 : romout = 128; 8 : romout = 64; 9 : romout = 64; 10: romout = 64; 11: romout = 64; 9 12: romout = 0; 13: romout = 0; 14: romout = 0; 15: romout = 0; 16 : romout = 255; /方波初值 17 : romout = 255; 18 : romout = 255; 19 : romout = 255; 20 : romout =

7、255; 21 : romout = 255; 22 : romout = 255; 23 : romout = 255; 24 : romout = 0; 25 : romout = 0; 26: romout = 0; 27: romout = 0; 28: romout = 0; 29: romout = 0; 30: romout = 0; 31: romout = 0; default : romout = 10hxx; 10 endcase endfunction always(posedge f_out) begin if(addr=16) /波形数据切换 addr=0; else addr=addr+1; case(choose) /波形选择开关设定 0: address=addr; 1: address=addr+16; endcase end assign data = romout(address);/将 ROM 中对应数据传递输出端口 data输出 endmodule

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。