Verilog期末实验报告—波形发生器.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
. . . .......... 一、实验目的 使用Verilog软件编写四种波形任意发生器的源代码,用modelsim软件进行仿真测试,进一步强化Verilog,modelsim软件的编程能力为进一步的编程学习打下良好的基础。 二、实验原理 2.1该任意波形发生器要实现三个功能: (1)通过计数器并结合拼接操作产生四种波形正弦波,方波,三角波1,三角波形的5位数据地址。 (2).设定ROM中对应波形地址地址的8位数值,将所有波形数值存储到ROM中。 (3).设定2位的波形选择开关端口。 波形选择 波形选择 正弦波 方波 正弦波 方波 三角波1 三角波2 地址发生器(0-7) 00000~00111 地址发生器(0-7) clk clk 01000~01111 3bit data[7:0] reset reset 10000~10111 11000~11111 图 1整体设计方案 2.2 四种波形要在一个周期内等间隔取8个点,定义对应的数据,下图为示意图,由于编程序需要,数据会进行相应的修改。 8881 三角波1 三角波2xy00yyx1x1 方波 正弦波1-1 8 8 8 1 三角波1 三角波2 x y 0 0 y y x 1 x 1 方波 正弦波 1 -1 图2 四种波形一个周期内的取样示意图 2.3 四种波形数据地址对应的数据的存储器ROM 根据示意图,由于实际情况需要,将正弦波平移至x轴以上,并将所有波形的峰峰值取大100倍。 下表1是ROM存储器 正弦波波形选择地址 取样点的地址 ROM数据 正弦波 00 000 171 00 001 200 00 010 171 00 011 100 00 100 29 00 101 0 00 110 29 00 111 方波 01 000 0 01 001 0 01 010 0 01 011 0 01 100 100 01 101 100 01 110 100 01 111 100 10 000 三角波10 三角波1 10 001 0 10 010 33 10 011 67 10 100 100 10 101 67 10 110 33 10 111 三角波2 三角波2 11 000 0 11 001 50 11 010 100 11 011 150 11 100 200 11 101 133 11 110 67 11 111 0 表1 ROM存储器 实验内容 3.1 任意波形发生器verilog程序代码: module wave(data,clk,add1,reset);//顶层模块端口定义 output[7:0]data; input clk,reset; input[1:0] addr1; Wire[1:0] addr1; wire clk,reset;//输入输出变量定义 ADDR 4(addr,clk,addr1,reset);//地址发生器模块调用 rom 1(addr,data);//ROM存储器模块调用 endmodule module ADDR(addr,clk,addr1,reset); output[4:0] addr; input clk,reset; wire clk,reset; reg[2:0] addr2; wire[1:0] addr1; reg[4:0] addr; initial addr2=3b000; //定义计数初值 always @(p

文档评论(0)

zxiangd + 关注
实名认证
内容提供者

本人从事教育还有多年,在这和大家互相交流学习

1亿VIP精品文档

相关文档