使用FPGA产生sin波.doc_第1页
使用FPGA产生sin波.doc_第2页
使用FPGA产生sin波.doc_第3页
使用FPGA产生sin波.doc_第4页
使用FPGA产生sin波.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

使用FPGA产生正弦波看不懂可以加QQ1371947821 使用matlab产生正弦波的.mif的rom表工程中,经常要用到正弦表数据。把正弦表数据存入mif文件中,供LPM_ROM初始化用,那么如何得到正弦表数据呢?可以用matlab实现这里介绍两种方式:(一)这个方法只在matlab中生成数据表,需要自己手动的 往mif文件中添加数据1.假设用到的DA芯片为14为,则214=163842.一个完整的正弦波为0-2pi3.正弦波ROM的深度为4096(地址总数)4.由于FPGA中不识别负数,加入一个直流分量,加8192则用matlab产生正弦表的函数为:Y=ceil(16384/2-1)*sin(0:pi*2/4096:2*pi)+8192)其中ceil函数描述如下:ceil(x) : 大于x 的最小整数 ceil( 3.12 -3.12)ans = 4 -3(二)可以直接生成mif文件直接生成mif文件depth = 4096;width =14;x=ceil(16384/2*sin(0:pi*2/4096:2*pi)+8192)fid = fopen(d:romdata1.mif,w);%路径fprintf(fid,depth= %d ;n,depth);fprintf(fid,width= %d ;n,width);fprintf(fid,address_radix=uns;n);fprintf(fid,data_radix = uns;n);fprintf(fid,Content Begin n);for(k=1:depth)fprintf(fid,%d: %d ;n,k-1,x(k);endfprintf(fid,end;);用上面这段程序最大值会出现16384,在Quartus II中会认为是超出数据范围,所以需要手动的改写为16383把x=ceil(16384/2*sin(0:pi*2/4096:2*pi)+8192) 改写为下面语句x=ceil(16384/2-1)*sin(0:pi*2/4096:2*pi)+8192) 就不存在上述问题了数据量小的话,可以用第一种方法,要是数据量大的话,介意用第二种方法。2 使用modelsim仿真FPGA产生正玄波。最简易的sin波发生器Verilog代码:module sin_top ( input clk_50m, input rst_n, output13:0 q ); reg 11:0 cnt;wire 11:0 addr;always (posedge clk_50m or negedge rst_n) begin if(!rst_n) cnt = 12d0; else if(cnt = 12d4095) cnt = 12d0; else cnt = cnt + 12d1;endassign addr = cnt; sin_rom sin_rom_inst( .address(addr),/4096 .clock(clk_50m), .q(q) /14bit);Endmodule测试模块:module sin_tb();reg clk_50m;reg rst_n;wire 13:0 q;sin_top sin_inst( .clk_50m(clk_50m), .rst_n(rst_n), .q(q) ); initial beginclk_50m = 0;rst_n = 0;#100;rst_n = 1;#80000;$stop;enda

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论