版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、实验目的使用Verilog软件编写四种波形任意发生器的源代码,用modelsim软件进行仿真测试,进一步强化Verilog,modelsim软件的编程能力为进一步的编程学习打下良好的基础。二、实验原理2.1该任意波形发生器要实现三个功能:(1)通过计数器并结合拼接操作产生四种波形正弦波,方波,三角波1,三角波形的5位数据地址。(2).设定ROM中对应波形地址地址的8位数值,将所有波形数值存储到ROM中。(3).设定2位的波形选择开关端口。波形选择 正弦波 方波三角波1三角波2 2bit地址发生器(0-7) 0000000111clk 01000011113bit data7:0reset
2、1000010111 1100011111图 1整体设计方案2.2 四种波形要在一个周期内等间隔取8个点,定义对应的数据,下图为示意图,由于编程序需要,数据会进行相应的修改。8881 三角波1 三角波2xy00yyx1x1 方波 正弦波1-1 图2 四种波形一个周期内的取样示意图2.3 四种波形数据地址对应的数据的存储器ROM根据示意图,由于实际情况需要,将正弦波平移至x轴以上,并将所有波形的峰峰值取大100倍。下表1是ROM存储器 正弦波波形选择地址 取样点的地址 ROM数据 000001710000120000010171000111000010029001010001102900111
3、方波1000100000100100101000101100110010001101100011101000111110010000 三角波1010001010010331001167101001001010167101103310111 三角波201100001100150110101001101115011100200111011331111067111110 表1 ROM存储器3、 实验内容3.1 任意波形发生器verilog程序代码:module wave(data,clk,add1,reset);/顶层模块端口定义output7:0data;input clk,reset;input
4、1:0 addr1;Wire1:0 addr1;wire clk,reset;/输入输出变量定义ADDR 4(addr,clk,addr1,reset);/地址发生器模块调用rom 1(addr,data);/ROM存储器模块调用endmodulemodule ADDR(addr,clk,addr1,reset);output4:0 addr;input clk,reset;wire clk,reset;reg2:0 addr2;wire1:0 addr1;reg4:0 addr;initial addr2=3b000; /定义计数初值always (posedge clk or posedg
5、e reset)/每当有clk,或reset信号开启程序beginif(reset) beginaddr2=0;/同步复位addr=7)/addr2计数至7时,addr2复位beginaddr2=0;endelse beginaddr2=addr2+1;/addr2由0至7计数addr=addr1,addr2;/addr1与addr2地址拼接为addr的最终地址endendendmodulemodule rom(addr,data);/数据存储器模块input4:0 addr;output7:0 data;function6:0 romout;/定义函数,存储32个波形取样点地址的数据inpu
6、t4:0 addr;reg4:0 addr;wire7:0 data;case(addr)/根据不同地址,得到不同数据。0 : romout =171 ;1 : romout =200 ;2 : romout =171 ;3 : romout =100 ;4 : romout =29 ;5 : romout =0 ;6 : romout =29 ;7 : romout =100 ;8 : romout =0 ;9 : romout =0 ;10 : romout =0 ;11 : romout =0 ;12 : romout =100 ;13 : romout =100 ;14 : romou
7、t =100 ;15 : romout =100 ;16 : romout =0 ;17 : romout =0 ;18 : romout =33 ;19 : romout =67 ;20 : romout =100 ;21 : romout =67 ;22 : romout =33 ;23 : romout =0 ;24 : romout =0 ;25 : romout =50 ;26 : romout =100 ;27 : romout =150 ;28 : romout =200 ;29 : romout =133 ;30 : romout =67 ;31 : romout =0 ;de
8、fault : romout = 8hxx;endcaseendfunctionassign data = romout(addr);endmodule3.2 verilog在quartus软件仿真截图将代码输入后,建立波形文件,定义输入输出端口后进行仿真。3.2.1正弦波示意图:将两位波形选择端设置为00,得出正弦波示意图2图23.2.2.方波示意图:将两位波形选择端设置为01,得出方波示意图3图33.2.3 三角波1示意图:将两位波形选择端设置为10,得出三角波1示意图4图43.2.4.三角波2示意图:将两位波形选择端设置为11,得出三角波2示意图5图53.2.5结论:由上面的四个波形截图
9、可知,在一个周期内,通过不同的波形选择端控制,该程序实现了基本的任意波形产生的功能,产生了正确的波形数据,说明代码编写正确。3.3 modelsim任意波形发生器测试程序仿真3.3.1 任意波形发生器测试程序代码。timescale 1ns/1nsinclude wave.vmodule wave_tp; /测试模块的名字reg reset,clk;reg1:0 addr1; /测试输入信号addr1定义为reg 型wire7:0 data; /测试输出信号data定义为wire 型parameter dely=100;wave fourwave(data,clk,reset,addr1);
10、/调用测试对象always #(dely/2) clk=clk;initial beginreset=1;clk=0;addr1=0;#(dely*200) reset=0;/延迟200dely后先进行复位#(dely*200) addr1=2b00;/延迟200dely后测试出正弦波#(dely*200) addr1=2b01;/延迟200dely后测试出方波#(dely*200) addr1=2b10;/延迟200dely后测试出三角波1#(dely*200) addr1=2b11;/延迟200dely后测试出三角波2#(dely*200) $finish;/endendmodule 3.
11、3.2 modelsim测试程序仿真截图将测试程序代码与源程序代码一起输入后进行编译,显示波形如下:3.3.2.1正弦波测试图6:将波形输出格式设为模拟形式,可以看出正弦波的测试图图63.3.2.2方波测试图7:将波形输出格式设为离散输出形式,可以看出方波的测试图7图73.2.2.3三角波1测试图8:将波形输出格式设为模拟形式,可以看出三角波1的测试图8图83.2.2.4三角波2测试图9:将波形输出格式设为模拟形式,可以看出三角波2的测试图9图93.3.3.总结由上面的四个测试波形截图可知,在一个周期内,通过不同的波形选择端控制,该程序实现了基本的任意波形产生的功能,产生了正确的实验波形,说明
12、代码编写正确。4、 实验总结4.1遇到的问题和对应的解决措施:(1)编程过程中没有注意端口定义过程,没有正确理解wire与reg类型的区别。导致出错(解决办法:输出端口应设为可变的wire类型)。(2)一开始拼接操作用错了地方,用在了ROM内部,导致错误。(解决办法:应用在加法计数操作后)。(3)波形数据初值有负数,无法正确显示数字。(解决办法:将波形数据平移至x轴以上即可显示正确的波形数据)(4)一开始我是用拼接操作,有错误,无法正确显示波形数据(解决办法:通过case语句输入波形选择addr1端口,成功显示了波形)。4.2收获: 通过这次期末实验,虽然花了较多时间,遇到了许多的难题,但让我进一步认识了Verilog语言的使用,详细了解了整个程序的设计和仿真过程,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高端住宅第四代近零能耗建筑设计报告
- 2026云南玉溪市人民医院第二批就业见习岗位招募52人笔试模拟试题及答案详解
- 赣州市客家薪源供应链有限公司2026年第2批劳务派遣人员招聘考试模拟试题及答案详解
- 北电检测2027届校园招聘考试备考试题及答案详解
- 2025年贵州省遵义市工会人员招聘笔试试题及答案详解
- 2026年广东省茂名市工会人员招聘笔试参考试题及答案详解
- 杭州胡庆余堂集团有限公司公开招聘6人笔试备考试题及答案详解
- 2026中卫市本级机关事业单位助理岗位见习考试参考题库及答案详解
- 2026年郴州市苏仙区工会人员招聘笔试备考题库及答案详解
- 2026年化工原理(化工热力学基础)试题及答案
- 2025-2030含氟废水深度处理技术经济性与零排放实践
- 小儿感染性发热护理查房
- 2025年中考数学复习:无刻度直尺作图
- (高清版)DG∕TJ 08-2433A-2023 外墙保温一体化系统应用技术标准(预制混凝土反打保温外墙)
- 护理查房特发性突聋
- 2023年西双版纳州景洪市教育体育局选调教师考试真题
- DB43-T 262-2024 住宅室内装饰装修工程质量验收规范
- 2023年内蒙古自治区招聘事业单位人员考试真题及答案
- 盘扣式钢管模板支撑架验收表
- 关于会计的英文词汇
- 智慧城市智慧社区网格化管理平台解决方案
评论
0/150
提交评论