4.3.正弦波发生器——modelsim仿真验证.pdf

4.3.正弦波发生器——modelsim仿真验证.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
正弦信号发生器 ——Modelsim仿真验证 本节主要内容 组成结构 正弦信号发 工作原理 生器的原理 改变频率的方法 硬件描述语 片上ROM 的IP核 言实现方法 配置与使用 测试代码编写 验证方法 Modelsim 仿真验证 软件具体操作 正弦波发生器程序代码 module singt(iCLK_50, dataout,f_set,rst) ; 定义顶层模块 input iCLK_50,rst; singt input[1:0] f_set; 定义电路的输入输出 output[7:0] dataout; 端口,其中f_set为相 reg[7:0] addr; ROM表中的正弦数据地址 位累加字,用于设置 输出信号的频率。 always @ (posedge iCLK_50 or negedge rst) begin always模块实现地 if (!rst) addr = 0; 址累加功能 else addr=addr+ f_set; ROM表中的正弦数表相位累加 end DATAROM U1(.address(addr),.q(dataout),.clock(iCLK_50)); endmodule 例化ROM,ROM是采用IP核的方式实现的, 端口引用方式连接相应端口。 测试代码TestBench `timescale 10ns/10ns 定义仿真时间单位/时间精度 module singt_tb; 例如: reg[1:0] f_set; `timescale 10ns/1ns reg iCLK_50; reg rst; `timescale 100ps/1ns wire [7:0] dataout; initial 如果定义: `timescale 10ns/100ps begin 则: iCLK_50 =0; #2.1 表示延时210*100ps=21ns f_set = 1; #2.11表示延时211*100ps= 21.1ns rst = 0; 测试代码TestBench `timescale 10ns/10ns module singt_tb;

文档评论(0)

恬淡虚无 + 关注
实名认证
内容提供者

学高为师,身正为范.师者,传道授业解惑也。做一个有理想,有道德,有思想,有文化,有信念的人。 学无止境:活到老,学到老!有缘学习更多关注桃报:奉献教育,点店铺。

1亿VIP精品文档

相关文档